                       AND lang = '.protect($lang).'
                       AND subtype IN ('.implode(",", array_map(function($k){ return protect($k);}, $subtypes)).')'
                );

The software constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component.