#992376 by larowlan: Fixed Paths containing a hyphen aren't compatible with page theme_hook_suggestions
parent
c5da457f28
commit
8a6c97a1ce
|
@ -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)) {
|
||||
|
|
Loading…
Reference in New Issue