Ejemplo n.º 1
0
 /**
  * @return bool
  */
 function register_modules()
 {
     $all_modules = $this->_get_all_modules_from_path();
     $registered_modules = $this->get_registered_modules();
     foreach ($registered_modules as $_k => $_m) {
         $registered_modules[$_m['indentify']] = $_m;
         unset($registered_modules[$_k]);
     }
     $new_modules = [];
     $id_gen = new Model_IdGen();
     foreach ($all_modules as $_i => $_m) {
         if (isset($registered_modules[$_i])) {
             $_r_module = $registered_modules[$_i];
             if (Lib_Helper::str_equal($_r_module[Const_Module::META_VERSION], $_m[Const_Module::META_VERSION]) === false) {
                 $_m[Model_ModulesInfo::FIELD_MODULE_ID] = $_r_module[Model_ModulesInfo::FIELD_MODULE_ID];
                 $_m[Model_ModulesInfo::FIELD_MODULE_REG_TIME] = time();
                 $new_modules[] = $_m;
             }
             unset($registered_modules[$_i]);
         } else {
             $_id = $id_gen->gen_inc_id_by_key(Const_DataAccess::ID_MODULE);
             if ($_id['errno'] != Const_Err_Base::ERR_OK) {
                 Lib_Log::error("get moduel id failed, result: %s", json_encode($_id));
                 return false;
             }
             $_id = $_id['data'];
             if (empty($_id)) {
                 Lib_Log::error('module id gen failed!');
                 continue;
             }
             $_m[Model_ModulesInfo::FIELD_MODULE_ID] = $_id;
             $_m[Model_ModulesInfo::FIELD_MODULE_REG_TIME] = time();
             $new_modules[] = $_m;
         }
     }
     $insert = false;
     if (!empty($new_modules)) {
         $modules_info = new Model_ModulesInfo();
         foreach ($new_modules as $_m) {
             $modules_info->save($_m);
         }
         $insert = true;
     }
     return $insert;
 }
Ejemplo n.º 2
0
 /**
  * @param string $path
  * @return bool
  */
 static function is_current_url_path($path = '/')
 {
     if (is_null($path)) {
         return false;
     }
     $url = self::current_url_path();
     if (is_array($path)) {
         foreach ($path as $_p) {
             $_p = rtrim($_p, '/');
             if (Lib_Helper::str_equal($_p, $url)) {
                 return true;
             }
         }
         return false;
     }
     Lib_Helper::str_equal($path, '/') || ($path = rtrim($path, '/'));
     return Lib_Helper::str_equal($path, $url);
 }