|
|
@@ -148,7 +148,10 @@ class CakeRoute {
|
|
|
}
|
|
|
$names[] = $name;
|
|
|
}
|
|
|
- if (preg_match('#\/\*$#', $route)) {
|
|
|
+ if (preg_match('#\/\*\*$#', $route)) {
|
|
|
+ $parsed = preg_replace('#/\\\\\*\\\\\*$#', '(?:/(?P<_trailing_>.*))?', $parsed);
|
|
|
+ $this->_greedy = true;
|
|
|
+ } elseif (preg_match('#\/\*$#', $route)) {
|
|
|
$parsed = preg_replace('#/\\\\\*$#', '(?:/(?P<_args_>.*))?', $parsed);
|
|
|
$this->_greedy = true;
|
|
|
}
|
|
|
@@ -226,6 +229,11 @@ class CakeRoute {
|
|
|
unset($route['_args_']);
|
|
|
}
|
|
|
|
|
|
+ if (isset($route['_trailing_'])) {
|
|
|
+ $route['pass'][] = $route['_trailing_'];
|
|
|
+ unset($route['_trailing_']);
|
|
|
+ }
|
|
|
+
|
|
|
// restructure 'pass' key route params
|
|
|
if (isset($this->options['pass'])) {
|
|
|
$j = count($this->options['pass']);
|