// Improve dispatcher routes

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@14324 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
rMalie
2012-03-28 10:06:03 +00:00
parent 0d22f3ad08
commit be519fbee6
+9 -2
View File
@@ -406,10 +406,17 @@ class DispatcherCore
'append' => stripslashes($append),
);
$prepend_regexp = $append_regexp = '';
if ($prepend || $append)
{
$prepend_regexp = '('.preg_quote($prepend);
$append_regexp = preg_quote($append).')?';
}
if (isset($keywords[$keyword]['param']))
$regexp = str_replace($m[0][$i], (($prepend) ? '('.$prepend.')?' : '').'(?P<'.$keywords[$keyword]['param'].'>'.$keywords[$keyword]['regexp'].')'.(($append) ? '('.$append.')?' : ''), $regexp);
$regexp = str_replace($m[0][$i], $prepend_regexp.'(?P<'.$keywords[$keyword]['param'].'>'.$keywords[$keyword]['regexp'].')'.$append_regexp, $regexp);
else
$regexp = str_replace($m[0][$i], (($prepend) ? '('.$prepend.')?' : '').'('.$keywords[$keyword]['regexp'].')'.(($append) ? '('.$append.')?' : ''), $regexp);
$regexp = str_replace($m[0][$i], $prepend_regexp.'('.$keywords[$keyword]['regexp'].')'.$append_regexp, $regexp);
}
$keywords = $transform_keywords;