Commit 8a6c97a1 authored by webchick's avatar webchick

#992376 by larowlan: Fixed Paths containing a hyphen aren't compatible with...

#992376 by larowlan: Fixed Paths containing a hyphen aren't compatible with page theme_hook_suggestions
parent c5da457f
......@@ -2364,8 +2364,19 @@ function theme_get_suggestions($args, $base, $delimiter = '__') {
$suggestions = array();
$prefix = $base;
foreach ($args as $arg) {
// Remove slashes or null per SA-CORE-2009-003.
$arg = str_replace(array("/", "\\", "\0"), '', $arg);
// Remove slashes or null per SA-CORE-2009-003 and change - (hyphen) to _
// (underscore).
// When we discover templates in @see drupal_find_theme_templates,
// hyphens (-) are converted to underscores (_) before the theme hook
// is registered. We do this because the hyphens used for delimiters
// in hook suggestions cannot be used in the function names of the
// associated preprocess functions. Any page templates designed to be used
// on paths that contain a hyphen are also registered with these hyphens
// converted to underscores so here we must convert any hyphens in path
// arguments to underscores here before fetching theme hook suggestions
// to ensure the templates are appropriately recognized.
$arg = str_replace(array("/", "\\", "\0", '-'), array('', '', '', '_'), $arg);
// The percent acts as a wildcard for numeric arguments since
// asterisks are not valid filename characters on many filesystems.
if (is_numeric($arg)) {
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment