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')); Index: branches/5.1.x/core/kernel/application.php =================================================================== diff -u -N -r13471 -r13473 --- branches/5.1.x/core/kernel/application.php (.../application.php) (revision 13471) +++ branches/5.1.x/core/kernel/application.php (.../application.php) (revision 13473) @@ -1,6 +1,6 @@ RewriteListeners[$prefix]; + $listener = $this->RewriteListeners[$prefix][0]; $ret = $listener[0]->$listener[1](REWRITE_MODE_BUILD, $prefix_special, $params, $url_parts, $keep_events); Index: branches/5.1.x/core/kernel/utility/unit_config_reader.php =================================================================== diff -u -N -r13454 -r13473 --- branches/5.1.x/core/kernel/utility/unit_config_reader.php (.../unit_config_reader.php) (revision 13454) +++ branches/5.1.x/core/kernel/utility/unit_config_reader.php (.../unit_config_reader.php) (revision 13473) @@ -1,6 +1,6 @@ $rewrite_listener) { + if (strpos($rewrite_listener, ':') === false) { + $rewrite_listeners[$index] = $prefix . '_EventHandler:' . $rewrite_listener; + } + } + $rewrite_priority = array_key_exists('RewritePriority', $config) ? $config['RewritePriority'] : false; - $this->Application->RewriteListeners[$prefix] = Array ('listener' => $rewrite_listener, 'priority' => $rewrite_priority); + $this->Application->RewriteListeners[$prefix] = Array ('listener' => $rewrite_listeners, 'priority' => $rewrite_priority); } } }