Index: trunk/core/kernel/application.php =================================================================== diff -u -r2591 -r2592 --- trunk/core/kernel/application.php (.../application.php) (revision 2591) +++ trunk/core/kernel/application.php (.../application.php) (revision 2592) @@ -241,20 +241,19 @@ */ function RegisterDefaultClasses() { - //$this->registerClass('Utilites',KERNEL_PATH.'/utility/utilities.php'); - $this->registerClass('HTTPQuery',KERNEL_PATH.'/utility/http_query.php'); - $this->Factory->registerDependency('HTTPQuery', 'Params'); + $this->registerClass('kArray',KERNEL_PATH.'/utility/params.php'); + $this->registerClass('Params',KERNEL_PATH.'/utility/params.php'); - $this->registerClass('Session',KERNEL_PATH.'/session/session.php'); - $this->registerClass('SessionStorage',KERNEL_PATH.'/session/session.php'); - $this->registerClass('LoginEventHandler',KERNEL_PATH.'/session/login_event_handler.php','login_EventHandler'); - $this->registerClass('kEventManager',KERNEL_PATH.'/event_manager.php','EventManager'); + $this->registerClass('HTTPQuery', KERNEL_PATH.'/utility/http_query.php', 'HTTPQuery', Array('Params') ); - $this->registerClass('kUnitConfigReader',KERNEL_PATH.'/utility/unit_config_reader.php'); + $this->registerClass('Session', KERNEL_PATH.'/session/session.php'); + $this->registerClass('SessionStorage', KERNEL_PATH.'/session/session.php'); + $this->registerClass('kEventManager', KERNEL_PATH.'/event_manager.php', 'EventManager'); + $this->registerClass('kUnitConfigReader', KERNEL_PATH.'/utility/unit_config_reader.php'); - $this->registerClass('Params',KERNEL_PATH.'/utility/params.php','kActions'); - $this->registerClass('kArray',KERNEL_PATH.'/utility/params.php','kArray'); + $this->registerClass('Params', KERNEL_PATH.'/utility/params.php', 'kActions'); + $this->registerClass('kFormatter', KERNEL_PATH.'/utility/formatters.php'); $this->registerClass('kOptionsFormatter', KERNEL_PATH.'/utility/formatters.php'); $this->registerClass('kUploadFormatter', KERNEL_PATH.'/utility/formatters.php'); @@ -270,8 +269,7 @@ $this->registerClass('kTempTablesHandler', KERNEL_PATH.'/utility/temp_handler.php'); $event_manager =& $this->recallObject('EventManager'); - $event_manager->registerBuildEvent('kTempTablesHandler','OnTempHandlerBuild'); - //$this->registerClass('Configuration',KERNEL_PATH.'/utility/configuration.php'); + $event_manager->registerBuildEvent('kTempTablesHandler', 'OnTempHandlerBuild'); $this->registerClass('TemplatesCache',KERNEL_PATH.'/parser/template.php'); $this->registerClass('Template',KERNEL_PATH.'/parser/template.php'); @@ -294,16 +292,12 @@ } $this->registerClass('FCKeditor', DOC_ROOT.BASE_PATH.'/admin/editor/cmseditor/fckeditor.php'); // need this? - /*$this->RegisterClass('LoginController', KERNEL_PATH.'/users/login_controller.php');*/ } /** * Defines default constants if it's not defined before - in config.php * - * Called automatically while initializing Application and defines: - * LOGIN_CONTROLLER, XML_FACTORY etc. * @access private - * @return void */ function SetDefaultConstants() { @@ -902,18 +896,32 @@ /** * Registers new class in the factory * - * @param string $real_class - * @param string $file - * @param string $pseudo_class + * @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 $dependecies List of classes required for this class functioning * @access public * @author Alex */ - function registerClass($real_class,$file,$pseudo_class=null) + function registerClass($real_class, $file, $pseudo_class = null, $dependecies = Array() ) { - $this->Factory->registerClass($real_class,$file,$pseudo_class); + $this->Factory->registerClass($real_class, $file, $pseudo_class, $dependecies); } /** + * 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 + * @author Alex + */ + function registerDependency($depended_class, $class_name) + { + $this->Factory->registerDependency($depended_class, $class_name); + } + + /** * Registers Hook from subprefix event to master prefix event * * @param string $hookto_prefix @@ -958,16 +966,9 @@ */ function &recallObject($name,$pseudo_class=null,$event_params=Array()) { - $o1 =& $this->Factory->getObject($name,$pseudo_class,$event_params); - - //$o1->param1 = 'one'; - - /*$func_args = func_get_args(); - $factory =& $this->Factory; - $o2 =& call_user_func_array( Array(&$factory, 'getObject'), $func_args );*/ - - //$o2->param1 = 'two'; - return $o1; + $func_args =& func_get_args(); + $result =& ref_call_user_func_array( Array(&$this->Factory, 'getObject'), $func_args ); + return $result; } /** @@ -1005,8 +1006,10 @@ */ function &makeClass($pseudo_class) { - $func_args = func_get_args(); - return call_user_func_array( Array(&$this->Factory, 'makeClass'), $func_args); + $func_args =& func_get_args(); + $result =& ref_call_user_func_array( Array(&$this->Factory, 'makeClass'), $func_args); + + return $result; } /**