Index: branches/5.2.x/core/kernel/managers/rewrite_url_processor.php =================================================================== --- branches/5.2.x/core/kernel/managers/rewrite_url_processor.php +++ branches/5.2.x/core/kernel/managers/rewrite_url_processor.php @@ -551,7 +551,11 @@ } // $listeners[1] - listener, used for parsing - $listener_result = $listeners[1][0]->$listeners[1][1](REWRITE_MODE_PARSE, $prefix, $vars, $url_parts); + $listener_result = call_user_func_array( + $listeners[1], + array(REWRITE_MODE_PARSE, $prefix, &$vars, &$url_parts) + ); + if ($listener_result === false) { // will not proceed to other methods return true; @@ -1083,7 +1087,10 @@ $url_parts = Array (); $listener = $this->rewriteListeners[$prefix][0]; - $ret = $listener[0]->$listener[1](REWRITE_MODE_BUILD, $prefix_special, $params, $url_parts, $pass_events); + $ret = call_user_func_array( + $listener, + array(REWRITE_MODE_BUILD, $prefix_special, &$params, &$url_parts, $pass_events) + ); return $ret; } Index: branches/5.2.x/core/kernel/utility/unit_config_reader.php =================================================================== --- branches/5.2.x/core/kernel/utility/unit_config_reader.php +++ branches/5.2.x/core/kernel/utility/unit_config_reader.php @@ -1034,7 +1034,10 @@ $this->AfterConfigRead(); foreach ($this->configData as $prefix => $config_data) { - $callback_function[0]->$callback_function[1]($prefix, $config_data, $params); + call_user_func_array( + $callback_function, + array($prefix, &$config_data, $params) + ); } }