diff options
-rw-r--r-- | core/helpers/module.php | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/core/helpers/module.php b/core/helpers/module.php index 2b1921de..7e483fb9 100644 --- a/core/helpers/module.php +++ b/core/helpers/module.php @@ -167,14 +167,15 @@ class module_Core { * Run a specific event on all active modules. * @param string $name the event name * @param mixed $data data to pass to each event handler + * @param mixed $data2 data to pass to each event handler */ - static function event($name, &$data=null) { + static function event($name, &$data=null, &$data2=null) { + $args = empty($data2) ? array(&$data) : array(&$data, &$data2); + $function = str_replace(".", "_", $name); + foreach (self::installed() as $module) { $class = "{$module->name}_event"; - $function = str_replace(".", "_", $name); if (method_exists($class, $function)) { - $args = func_get_args(); - array_shift($args); call_user_func_array(array($class, $function), $args); } } |