Index: trunk/core/kernel/startup.php =================================================================== diff -u -N -r4770 -r4771 --- trunk/core/kernel/startup.php (.../startup.php) (revision 4770) +++ trunk/core/kernel/startup.php (.../startup.php) (revision 4771) @@ -68,7 +68,7 @@ $debugger_start = getmicrotime(); include_once(KERNEL_PATH.'/utility/debugger.php'); $debugger_end = getmicrotime(); - if (isset($debugger)) { + if (isset($debugger) && dbg_ConstOn('DBG_PROFILE_INCLUDES')) { $debugger->profileStart('inc_globals', KERNEL_PATH.'/globals.php', $globals_start); $debugger->profileFinish('inc_globals', KERNEL_PATH.'/globals.php', $globals_end); $debugger->profilerAddTotal('includes', 'inc_globals'); Index: trunk/core/kernel/application.php =================================================================== diff -u -N -r4758 -r4771 --- trunk/core/kernel/application.php (.../application.php) (revision 4758) +++ trunk/core/kernel/application.php (.../application.php) (revision 4771) @@ -264,6 +264,8 @@ $this->Session =& $this->recallObject('Session'); $this->HttpQuery->AfterInit(); + + $this->UnitConfigReader->AfterConfigRead(); $this->LoadCache(); $this->InitConfig(); Index: trunk/core/kernel/utility/unit_config_reader.php =================================================================== diff -u -N -r4770 -r4771 --- trunk/core/kernel/utility/unit_config_reader.php (.../unit_config_reader.php) (revision 4770) +++ trunk/core/kernel/utility/unit_config_reader.php (.../unit_config_reader.php) (revision 4771) @@ -14,6 +14,8 @@ var $CacheExpired = false; var $prefixFiles = array(); + + var $ProcessAllConfigs = false; /** * Scan kernel and user classes @@ -119,6 +121,8 @@ { $restored = $this->RestoreParsedData(); if ($restored) return; + + $this->ProcessAllConfigs = true; $this->includeConfigFiles(); $this->ParseConfigs(); @@ -218,6 +222,11 @@ foreach ($this->configData as $prefix => $config) { $this->parseConfig($prefix); } + } + + function AfterConfigRead() + { + if (!$this->ProcessAllConfigs) return ; foreach ($this->configData as $prefix => $config) { $this->Application->HandleEvent( new kEvent($prefix.':OnAfterConfigRead') ); } Index: trunk/core/kernel/event_manager.php =================================================================== diff -u -N -r4765 -r4771 --- trunk/core/kernel/event_manager.php (.../event_manager.php) (revision 4765) +++ trunk/core/kernel/event_manager.php (.../event_manager.php) (revision 4771) @@ -249,24 +249,23 @@ } $passed = explode(',', $this->Application->GetVar('passed')); - foreach($events as $prefix_special => $event_name) - { - if(!$event_name) continue; - if( is_array($event_name) ) - { + + foreach ($events as $prefix_special => $event_name) { + if (!$event_name) continue; + if (is_array($event_name)) { $event_name = key($event_name); $events[$prefix_special] = $event_name; $this->Application->SetVar($prefix_special.'_event', $event_name); } $event = new kEvent(); - $event->Name=$event_name; - $event->Prefix_Special=$prefix_special; + $event->Name = $event_name; + $event->Prefix_Special = $prefix_special; - $prefix_special=explode('.',$prefix_special); - $event->Prefix=$prefix_special[0]; + $prefix_special = explode('.',$prefix_special); + $event->Prefix = $prefix_special[0]; array_push($passed, $prefix_special[0]); - $event->Special=isset($prefix_special[1])?$prefix_special[1]:''; + $event->Special = isset($prefix_special[1]) ? $prefix_special[1] : ''; $event->redirect_params = Array('opener'=>'s', 'pass'=>'all'); $event->redirect = true;