Index: trunk/core/kernel/event_manager.php =================================================================== diff -u -N -r3872 -r3905 --- trunk/core/kernel/event_manager.php (.../event_manager.php) (revision 3872) +++ trunk/core/kernel/event_manager.php (.../event_manager.php) (revision 3905) @@ -87,7 +87,7 @@ { $this->queryMaps = $new_query_maps; }*/ - + /** * Adds new query map to already parsed query maps * @@ -103,11 +103,11 @@ else { unset($this->queryMaps[$prefix]); } - + $this->Application->SetVar('passed', implode(',', array_keys($this->queryMaps)) ); return $query_map; } - + /** * Registers new regular event * @@ -318,21 +318,21 @@ function &getHooks(&$event, $mode, $special = null) { $event_key = !isset($special) ? $event->Prefix_Special : $event->Prefix.'.'.$special; - + if ($mode == hBEFORE) { $mode_hooks =& $this->beforeHooks; } else { $mode_hooks =& $this->afterHooks; } - + $hooks = getArrayValue($mode_hooks, strtolower($event_key.'.'.$event->Name)); if (!$hooks) { $hooks = Array(); } return $hooks; } - + /** * Enter description here... * @@ -343,14 +343,14 @@ { // * - get hooks that are valid with any special of given prefix $hooks = array_merge_recursive2($this->getHooks($event, $mode, '*'), $this->getHooks($event, $mode)); - + if ($hooks) { foreach ($hooks as $hook) { $prefix_special = rtrim($hook['DoPrefix'].'_'.$hook['DoSpecial'], '_'); if ( $hook['Conditional'] && !$this->Application->GetVar($prefix_special) ) { continue; } - + $hook_event = new kEvent( Array('name'=>$hook['DoEvent'],'prefix'=>$hook['DoPrefix'],'special'=>$hook['DoSpecial']) ); $hook_event->MasterEvent =& $event; $this->HandleEvent($hook_event); @@ -377,8 +377,10 @@ * * @param int $event_type */ - function RunRegularEvents($event_type = reBEFORE) + function RunRegularEvents($event_type = reBEFORE, $from_cron=false) { + // if RegularEvents are set to run from cron + if (!$from_cron && $this->Application->ConfigValue('UseCronForRegularEvent')) return ; $events_source = ($event_type == reBEFORE) ? $this->beforeRegularEvents : $this->afterRegularEvents; /*if(rand(0, 100) < 90)