private function upgrade_module($module_id) { if (!empty($module_id)) { switch (ModulesManager::upgrade_module($module_id)) { case ModulesManager::UPGRADE_FAILED: $this->view->put('MSG', MessageHelper::display(LangLoader::get_message('process.error', 'status-messages-common'), MessageHelper::WARNING, 10)); break; case ModulesManager::MODULE_NOT_UPGRADABLE: $this->view->put('MSG', MessageHelper::display($this->lang['modules.module_not_upgradable'], MessageHelper::WARNING, 10)); break; case ModulesManager::NOT_INSTALLED_MODULE: $this->view->put('MSG', MessageHelper::display($this->lang['modules.not_installed_module'], MessageHelper::WARNING, 10)); break; case ModulesManager::UNEXISTING_MODULE: $this->view->put('MSG', MessageHelper::display(LangLoader::get_message('element.unexist', 'status-messages-common'), MessageHelper::WARNING, 10)); break; case ModulesManager::MODULE_UPDATED: $this->view->put('MSG', MessageHelper::display(LangLoader::get_message('process.success', 'status-messages-common'), MessageHelper::SUCCESS, 10)); break; } } }
public function update_modules() { $modules_config = ModulesConfig::load(); foreach ($modules_config->get_modules() as $id => $module) { if (ModulesManager::module_is_upgradable($id)) { ModulesManager::upgrade_module($id); $module->set_installed_version($module->get_configuration()->get_version()); } else { if ($module->get_configuration()->get_compatibility() != self::NEW_KERNEL_VERSION) { $module->set_activated(false); $this->add_information_to_file('module ' . $id, 'has been disabled because : incompatible with new version'); } } $modules_config->update($module); } ModulesConfig::save(); $configs_module_class = $this->get_class(PATH_TO_ROOT . self::$directory . '/modules/config/', self::$configuration_pattern, 'config'); $update_module_class = $this->get_class(PATH_TO_ROOT . self::$directory . '/modules/', self::$module_pattern, 'module'); $classes_list = array_merge($configs_module_class, $update_module_class); foreach ($classes_list as $class) { try { $object = new $class['name'](); $object->execute(); $success = true; $message = ''; } catch (Exception $e) { $success = false; $message = $e->getMessage(); } $this->add_error_to_file($class['type'] . ' ' . $object->get_module_id(), $success, $message); } }