Index: branches/5.2.x/core/kernel/application.php =================================================================== diff -u -N -r15129 -r15130 --- branches/5.2.x/core/kernel/application.php (.../application.php) (revision 15129) +++ branches/5.2.x/core/kernel/application.php (.../application.php) (revision 15130) @@ -1,6 +1,6 @@ Application =& $instance; } return $instance; @@ -272,13 +273,14 @@ /** * Initializes the Application * + * @param string $factory_class * @return bool Was Init actually made now or before * @access public * @see kHTTPQuery * @see Session * @see TemplatesCache */ - public function Init() + public function Init($factory_class = 'kFactory') { if ( $this->InitDone ) { return false; @@ -313,7 +315,7 @@ } } - $this->Factory = new kFactory(); + $this->Factory = new $factory_class(); $this->registerDefaultClasses(); $vars = kUtil::parseConfig(true); @@ -739,17 +741,17 @@ $this->registerClass('kMultipleFilter', KERNEL_PATH . '/utility/filters.php'); $this->registerClass('kiCacheable', KERNEL_PATH . '/interfaces/cacheable.php'); - $this->registerClass('kEventManager', KERNEL_PATH . '/event_manager.php', 'EventManager', 'kiCacheable'); - $this->registerClass('kHookManager', KERNEL_PATH . '/managers/hook_manager.php', null, 'kiCacheable'); - $this->registerClass('kScheduledTaskManager', KERNEL_PATH . '/managers/scheduled_task_manager.php', null, 'kiCacheable'); + $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('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', null, 'kUrlProcessor'); - $this->registerClass('kRewriteUrlProcessor', KERNEL_PATH . '/managers/rewrite_url_processor.php', null, 'kUrlProcessor'); + $this->registerClass('kPlainUrlProcessor', KERNEL_PATH . '/managers/plain_url_processor.php'); + $this->registerClass('kRewriteUrlProcessor', KERNEL_PATH . '/managers/rewrite_url_processor.php'); - $this->registerClass('kCacheManager', KERNEL_PATH . '/managers/cache_manager.php', null, 'kiCacheable'); + $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'); @@ -762,7 +764,7 @@ $this->registerClass('Params', KERNEL_PATH . '/utility/params.php'); $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', 'Params'); + $this->registerClass('kHTTPQuery', KERNEL_PATH . '/utility/http_query.php', 'HTTPQuery'); // session $this->registerClass('Session', KERNEL_PATH . '/session/session.php'); @@ -772,24 +774,24 @@ // template parser $this->registerClass('kTagProcessor', KERNEL_PATH . '/processors/tag_processor.php'); - $this->registerClass('kMainTagProcessor', KERNEL_PATH . '/processors/main_processor.php', 'm_TagProcessor', 'kTagProcessor'); - $this->registerClass('kDBTagProcessor', KERNEL_PATH . '/db/db_tag_processor.php', null, 'kTagProcessor'); - $this->registerClass('kCatDBTagProcessor', KERNEL_PATH . '/db/cat_tag_processor.php', null, 'kDBTagProcessor'); + $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', null, Array ('kHelper', 'kDBTagProcessor')); + $this->registerClass('TemplatesCache', KERNEL_PATH . '/nparser/template_cache.php'); // database $this->registerClass('kDBConnection', 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', null, 'kDBItem'); + $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', null, 'kDBList'); + $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', null, 'kDBEventHandler'); + $this->registerClass('kCatDBEventHandler', KERNEL_PATH . '/db/cat_event_handler.php'); // email sending - $this->registerClass('kEmailSendingHelper', KERNEL_PATH . '/utility/email_send.php', 'EmailSender', 'kHelper'); + $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 @@ -2013,7 +2015,7 @@ * @param Array $specific_params * @access public */ - public function HandleEvent(&$event, $params = null, $specific_params = null) + public function HandleEvent($event, $params = null, $specific_params = null) { if ( isset($params) ) { $event = new kEvent($params, $specific_params); @@ -2028,13 +2030,12 @@ * @param string $real_class Real name of class as in class declaration * @param string $file Filename in what $real_class is declared * @param string $pseudo_class Name under this class object will be accessed using getObject method - * @param Array $dependencies List of classes required for this class functioning * @return void * @access public */ - public function registerClass($real_class, $file, $pseudo_class = null, $dependencies = Array() ) + public function registerClass($real_class, $file, $pseudo_class = null) { - $this->Factory->registerClass($real_class, $file, $pseudo_class, $dependencies); + $this->Factory->registerClass($real_class, $file, $pseudo_class); } /** @@ -2051,20 +2052,6 @@ } /** - * Add $class_name to required classes list for $depended_class class. - * All required class files are included before $depended_class file is included - * - * @param string $depended_class - * @param string $class_name - * @return void - * @access public - */ - public function registerDependency($depended_class, $class_name) - { - $this->Factory->registerDependency($depended_class, $class_name); - } - - /** * Add new scheduled task * * @param string $short_name name to be used to store last maintenance run info @@ -2172,7 +2159,7 @@ */ public function hasObject($name) { - return isset($this->Factory->Storage[$name]); + return $this->Factory->hasObject($name); } /** @@ -2666,7 +2653,8 @@ $event_str = 'emailevents:OnEmailEvent'; } - $this->HandleEvent($event, $event_str, $params); + $event = new kEvent($event_str, $params); + $this->HandleEvent($event); return $event; }