Index: branches/5.1.x/core/units/helpers/mod_rewrite_helper.php =================================================================== diff -u -N -r13470 -r13473 --- branches/5.1.x/core/units/helpers/mod_rewrite_helper.php (.../mod_rewrite_helper.php) (revision 13470) +++ branches/5.1.x/core/units/helpers/mod_rewrite_helper.php (.../mod_rewrite_helper.php) (revision 13473) @@ -1,6 +1,6 @@ _partsFound[] = 'parsePage'; } - foreach ($this->Application->RewriteListeners as $prefix => $listener) { + foreach ($this->Application->RewriteListeners as $prefix => $listeners) { // set default page // $vars[$prefix . '_Page'] = 1; // will override page in session in case, when none is given in url @@ -298,7 +298,8 @@ $vars[$prefix . '_Page'] = $page_number; } - $listener_result = $listener[0]->$listener[1](REWRITE_MODE_PARSE, $prefix, $vars, $url_parts); + // $listeners[1] - listener, used for parsing + $listener_result = $listeners[1][0]->$listeners[1][1](REWRITE_MODE_PARSE, $prefix, $vars, $url_parts); if ($listener_result === false) { // will not proceed to other methods return true; @@ -1036,10 +1037,12 @@ } foreach ($this->Application->RewriteListeners as $prefix => $listener_data) { - list ($listener_prefix, $listener_method) = explode(':', $listener_data['listener']); - $listener =& $this->Application->recallObject($listener_prefix); + foreach ($listener_data['listener'] as $index => $rewrite_listener) { + list ($listener_prefix, $listener_method) = explode(':', $rewrite_listener); + $listener =& $this->Application->recallObject($listener_prefix); - $this->Application->RewriteListeners[$prefix] = Array (&$listener, $listener_method); + $this->Application->RewriteListeners[$prefix][$index] = Array (&$listener, $listener_method); + } } define('MOD_REWRITE_URL_ENDING', $this->Application->ConfigValue('ModRewriteUrlEnding'));