示例#1
0
 protected function _extractModules()
 {
     $activeModules = $this->getTable('modules')->innerJoin($this->getTable('modules_type'), 'type_id')->get($this->getTable('modules')->alias() . '.*, ' . $this->getTable('modules_type')->alias() . '.label as type_name');
     if ($activeModules) {
         foreach ($activeModules as $m) {
             $code = $m['code'];
             $moduleLocationDir = CSP_MODULES_DIR;
             if (!empty($m['ex_plug_dir'])) {
                 $moduleLocationDir = utilsCsp::getExtModDir($m['ex_plug_dir']);
             }
             if (is_dir($moduleLocationDir . $code)) {
                 $this->_allModules[$m['code']] = 1;
                 if ((bool) $m['active']) {
                     importClassCsp($code . strFirstUp(CSP_CODE), $moduleLocationDir . $code . DS . 'mod.php');
                     $moduleClass = toeGetClassNameCsp($code);
                     if (class_exists($moduleClass)) {
                         $this->_modules[$code] = new $moduleClass($m);
                         $this->_modules[$code]->setParams((array) json_decode($m['params']));
                         if (is_dir($moduleLocationDir . $code . DS . 'tables')) {
                             $this->_extractTables($moduleLocationDir . $code . DS . 'tables' . DS);
                         }
                     }
                 }
             }
         }
     }
     //$operationTime = microtime(true) - $startTime;
 }
示例#2
0
 protected static function _runModuleInstall($module)
 {
     $moduleLocationDir = CSP_MODULES_DIR;
     if (!empty($module['ex_plug_dir'])) {
         $moduleLocationDir = utilsCsp::getPluginDir($module['ex_plug_dir']);
     }
     if (is_dir($moduleLocationDir . $module['code'])) {
         importClassCsp($module['code'], $moduleLocationDir . $module['code'] . DS . 'mod.php');
         $moduleClass = toeGetClassNameCsp($module['code']);
         $moduleObj = new $moduleClass($module);
         if ($moduleObj) {
             $moduleObj->install();
         }
     }
 }
示例#3
0
 protected function _createController()
 {
     if (!file_exists($this->getModDir() . 'controller.php')) {
         return false;
         // EXCEPTION!!!
     }
     if ($this->_controller) {
         return true;
     }
     if (file_exists($this->getModDir() . 'controller.php')) {
         $className = '';
         if (importCsp($this->getModDir() . 'controller.php')) {
             $className = toeGetClassNameCsp($this->getCode() . 'Controller');
         }
         if (!empty($className)) {
             $this->_controller = new $className($this->getCode());
             $this->_controller->init();
             return true;
         }
     }
     return false;
 }
示例#4
0
 function toeCreateObjCsp($class, $params)
 {
     $className = toeGetClassNameCsp($class);
     $obj = NULL;
     if (class_exists('ReflectionClass')) {
         $reflection = new ReflectionClass($className);
         try {
             $obj = $reflection->newInstanceArgs($params);
         } catch (ReflectionException $e) {
             // If class have no constructor
             $obj = $reflection->newInstanceArgs();
         }
     } else {
         $obj = new $className();
         call_user_func_array(array($obj, '__construct'), $params);
     }
     return $obj;
 }
示例#5
0
 protected function _createView($name = '')
 {
     if (empty($name)) {
         $name = $this->getCode();
     }
     $parentModule = frameCsp::_()->getModule($this->getCode());
     $className = '';
     if (importCsp($parentModule->getModDir() . 'views' . DS . $name . '.php')) {
         $className = toeGetClassNameCsp($name . 'View');
     }
     if ($className) {
         $view = new $className();
         $view->setCode($this->getCode());
         return $view;
     }
     return NULL;
 }