includes[$eventname][] = $include; } $this->functions[$eventname][] = $function; } function trigger($eventname, &$data) { if (isset($this -> includes[$eventname])) { foreach($this->includes[$eventname] as $evt_inc) { if (file_exists($evt_inc)) { include_once($evt_inc); } } } if (isset($this -> functions[$eventname])) { foreach($this->functions[$eventname] as $evt_func) { if (function_exists($evt_func)) { $ret = $evt_func($data); if ($ret!='') { break; } } } } return (isset($ret) ? $ret : false); } function triggerAdminEvent($type, $parms=array()) { global $pref; if(!is_array($parms)) { $_tmp = parse_str($parms, $parms); } if(isset($pref['e_admin_events_list']) && is_array($pref['e_admin_events_list'])) { $called = getcachedvars('admin_events_called'); if(!is_array($called)) { $called = array(); } foreach($pref['e_admin_events_list'] as $plugin) { if(plugInstalled($plugin)) { $func = 'plugin_'.$plugin.'_admin_events'; if(!function_exists($func)) { $fname = e_PLUGIN.$plugin.'/e_admin_events.php'; if(is_readable($fname)) { include_once($fname); } } if(function_exists($func)) { $event_func = call_user_func($func, $type, $parms); if ($event_func && function_exists($event_func) && !in_array($event_func, $called)) { $called[] = $event_func; cachevars('admin_events_called', $called); call_user_func($event_func); } } } } } } } ?>