Index: branches/5.3.x/core/kernel/application.php =================================================================== diff -u -N -r16124 -r16156 --- branches/5.3.x/core/kernel/application.php (.../application.php) (revision 16124) +++ branches/5.3.x/core/kernel/application.php (.../application.php) (revision 16156) @@ -1,6 +1,6 @@ ConfigValue('UseModRewrite') && !$this->isAdmin ? 1 : 0); // start processing request - $this->HttpQuery = $this->recallObject('HTTPQuery'); + $this->HttpQuery = $this->recallObject('kHTTPQuery'); $this->HttpQuery->process(); if ( defined('DEBUG_MODE') && $this->isDebugMode() ) { @@ -401,7 +401,7 @@ } $this->UrlManager = $this->makeClass('kUrlManager'); - $this->EventManager = $this->makeClass('EventManager'); + $this->EventManager = $this->makeClass('kEventManager'); $this->Phrases = $this->makeClass('kPhraseCache'); $this->RegisterDefaultBuildEvents(); @@ -443,11 +443,13 @@ { if ( defined('IS_INSTALL') && IS_INSTALL && !$this->TableFound('Modules', true) ) { $this->registerModuleConstants(); + $this->Factory->configureAutoloader(); + return; } // use makeClass over recallObject, since used before kApplication initialization during installation - $modules_helper = $this->makeClass('ModulesHelper'); + $modules_helper = $this->makeClass('kModulesHelper'); /* @var $modules_helper kModulesHelper */ $this->Conn->nextQueryCachable = true; @@ -458,6 +460,7 @@ $this->ModuleInfo = $this->Conn->Query($sql, 'Name'); $this->registerModuleConstants(); + $this->Factory->configureAutoloader(); } /** @@ -679,82 +682,49 @@ } /** - * Registers default classes such as kDBEventHandler, kUrlManager + * Registers classes, that are used before unit configs (where class registration usually is done) are read. * - * Called automatically while initializing kApplication + * Called automatically while initializing kApplication. * * @return void * @access public */ public function RegisterDefaultClasses() { - $this->registerClass('kHelper', KERNEL_PATH . '/kbase.php'); - $this->registerClass('kMultipleFilter', KERNEL_PATH . '/utility/filters.php'); - $this->registerClass('kiCacheable', KERNEL_PATH . '/interfaces/cacheable.php'); + // Database. + $this->registerClass('IDBConnection', KERNEL_PATH . '/db/i_db_connection.php'); + $this->registerClass('kDBConnection', KERNEL_PATH . '/db/db_connection.php'); + $this->registerClass('kDBConnectionDebug', KERNEL_PATH . '/db/db_connection.php'); + $this->registerClass('kDBLoadBalancer', KERNEL_PATH . '/db/db_load_balancer.php'); - $this->registerClass('kEventManager', KERNEL_PATH . '/event_manager.php', 'EventManager'); - $this->registerClass('kHookManager', KERNEL_PATH . '/managers/hook_manager.php'); - $this->registerClass('kScheduledTaskManager', KERNEL_PATH . '/managers/scheduled_task_manager.php'); - $this->registerClass('kRequestManager', KERNEL_PATH . '/managers/request_manager.php'); - $this->registerClass('kSubscriptionManager', KERNEL_PATH . '/managers/subscription_manager.php'); + // Cache. + $this->registerClass('kCacheManager', KERNEL_PATH . '/managers/cache_manager.php'); + $this->registerClass('kCache', KERNEL_PATH . '/utility/cache.php'); + // Unit configs. + $this->registerClass('kUnitConfigReader', KERNEL_PATH . '/utility/unit_config_reader.php'); + $this->registerClass('kUnitConfigCloner', KERNEL_PATH . '/utility/unit_config_cloner.php'); + + // Urls. $this->registerClass('kUrlManager', KERNEL_PATH . '/managers/url_manager.php'); $this->registerClass('kUrlProcessor', KERNEL_PATH . '/managers/url_processor.php'); $this->registerClass('kPlainUrlProcessor', KERNEL_PATH . '/managers/plain_url_processor.php'); - $this->registerClass('kRewriteUrlProcessor', KERNEL_PATH . '/managers/rewrite_url_processor.php'); + // $this->registerClass('kRewriteUrlProcessor', KERNEL_PATH . '/managers/rewrite_url_processor.php'); - $this->registerClass('kCacheManager', KERNEL_PATH . '/managers/cache_manager.php'); - $this->registerClass('PhrasesCache', KERNEL_PATH . '/languages/phrases_cache.php', 'kPhraseCache'); - $this->registerClass('kTempTablesHandler', KERNEL_PATH . '/utility/temp_handler.php'); - $this->registerClass('kValidator', KERNEL_PATH . '/utility/validator.php'); - $this->registerClass('kOpenerStack', KERNEL_PATH . '/utility/opener_stack.php'); - $this->registerClass('kLogger', KERNEL_PATH . '/utility/logger.php'); + // Events. + $this->registerClass('kEventManager', KERNEL_PATH . '/event_manager.php'); + $this->registerClass('kHookManager', KERNEL_PATH . '/managers/hook_manager.php'); + $this->registerClass('kScheduledTaskManager', KERNEL_PATH . '/managers/scheduled_task_manager.php'); + $this->registerClass('kRequestManager', KERNEL_PATH . '/managers/request_manager.php'); - $this->registerClass('kUnitConfig', KERNEL_PATH . '/utility/unit_config.php'); - $this->registerClass('kUnitConfigReader', KERNEL_PATH . '/utility/unit_config_reader.php'); - $this->registerClass('kUnitConfigCloner', KERNEL_PATH . '/utility/unit_config_cloner.php'); - $this->registerClass('PasswordHash', KERNEL_PATH . '/utility/php_pass.php'); + // Misc. + $this->registerClass('kPhraseCache', KERNEL_PATH . '/languages/phrases_cache.php'); + $this->registerClass('kModulesHelper', KERNEL_PATH . self::MODULE_HELPER_PATH); - // Params class descendants - $this->registerClass('kArray', KERNEL_PATH . '/utility/params.php'); - $this->registerClass('Params', KERNEL_PATH . '/utility/params.php'); + // Aliased. $this->registerClass('Params', KERNEL_PATH . '/utility/params.php', 'kActions'); - $this->registerClass('kCache', KERNEL_PATH . '/utility/cache.php', 'kCache', 'Params'); - $this->registerClass('kHTTPQuery', KERNEL_PATH . '/utility/http_query.php', 'HTTPQuery'); - - // session - $this->registerClass('kCookieHasher', KERNEL_PATH . '/utility/cookie_hasher.php'); - $this->registerClass('Session', KERNEL_PATH . '/session/session.php'); - $this->registerClass('SessionStorage', KERNEL_PATH . '/session/session_storage.php'); - $this->registerClass('InpSession', KERNEL_PATH . '/session/inp_session.php', 'Session'); - $this->registerClass('InpSessionStorage', KERNEL_PATH . '/session/inp_session_storage.php', 'SessionStorage'); - - // template parser - $this->registerClass('kTagProcessor', KERNEL_PATH . '/processors/tag_processor.php'); $this->registerClass('kMainTagProcessor', KERNEL_PATH . '/processors/main_processor.php', 'm_TagProcessor'); - $this->registerClass('kDBTagProcessor', KERNEL_PATH . '/db/db_tag_processor.php'); - $this->registerClass('kCatDBTagProcessor', KERNEL_PATH . '/db/cat_tag_processor.php'); - $this->registerClass('NParser', KERNEL_PATH . '/nparser/nparser.php'); - $this->registerClass('TemplatesCache', KERNEL_PATH . '/nparser/template_cache.php'); - - // database - $this->registerClass('kDBConnection', KERNEL_PATH . '/db/db_connection.php'); - $this->registerClass('kDBConnectionDebug', KERNEL_PATH . '/db/db_connection.php'); - $this->registerClass('kDBLoadBalancer', KERNEL_PATH . '/db/db_load_balancer.php'); - $this->registerClass('kDBItem', KERNEL_PATH . '/db/dbitem.php'); - $this->registerClass('kCatDBItem', KERNEL_PATH . '/db/cat_dbitem.php'); - $this->registerClass('kDBList', KERNEL_PATH . '/db/dblist.php'); - $this->registerClass('kCatDBList', KERNEL_PATH . '/db/cat_dblist.php'); - $this->registerClass('kDBEventHandler', KERNEL_PATH . '/db/db_event_handler.php'); - $this->registerClass('kCatDBEventHandler', KERNEL_PATH . '/db/cat_event_handler.php'); - - // email sending - $this->registerClass('kEmail', KERNEL_PATH . '/utility/email.php'); $this->registerClass('kEmailSendingHelper', KERNEL_PATH . '/utility/email_send.php', 'EmailSender'); - $this->registerClass('kSocket', KERNEL_PATH . '/utility/socket.php', 'Socket'); - - // do not move to config - this helper is used before configs are read - $this->registerClass('kModulesHelper', KERNEL_PATH . self::MODULE_HELPER_PATH, 'ModulesHelper'); } /**