/** * @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; }
/** * @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); }