示例#1
0
 /**
  * Auto load module from database
  */
 public function _initModule()
 {
     //Create new cache
     $cache = ZCache::getInstance(ZCMS_APPLICATION);
     CoreOptions::initOrUpdateCacheOptions();
     //Load module
     $registerModules = $cache->get(self::ZCMS_APPLICATION_CACHE_MODULES);
     if ($registerModules === null) {
         /**
          * @var \Phalcon\Db\Adapter\Pdo\Postgresql $db
          */
         $db = $this->getDI()->get('db');
         $query = 'SELECT base_name, class_name, path FROM core_modules WHERE published = 1';
         $modules = $db->fetchAll($query);
         $registerModules = [];
         foreach ($modules as $module) {
             $registerModules[$module['base_name']] = ['className' => $module['class_name'], 'path' => APP_DIR . $module['path']];
         }
         $cache->save(self::ZCMS_APPLICATION_CACHE_MODULES, $registerModules);
     }
     $this->registerModules($registerModules);
 }