public function execute() { $this->get_update_token(); AppContext::get_cache_service()->clear_cache(); Environment::try_to_increase_max_execution_time(); // Mise en maintenance du site s'il ne l'est pas déjà $this->put_site_under_maintenance(); // Suppression des fichiers qui ne sont plus présent dans la nouvelle version pour éviter les conflits $this->delete_old_files(); // Suppression du captcha PHPBoostCaptcha $this->delete_phpboostcaptcha(); // Désinstallation des anciens menus (dans /menus) $this->delete_old_menus(); // Mise à jour des tables du noyau $this->update_kernel_tables(); // Mise à jour de la version du noyau $this->update_kernel_version(); // Mise à jour des modules $this->update_modules(); // Mise à jour des thèmes $this->update_themes(); // Mise à jour des langues $this->update_langs(); // installation du module UrlUpdater pour la réécriture des Url des modules mis à jour ModulesManager::install_module('UrlUpdater'); // Fin de la mise à jour : régénération du cache $this->delete_update_token(); $this->generate_cache(); HtaccessFileCache::regenerate(); }
private function install_modules(array $modules_to_install) { foreach ($modules_to_install as $module_name) { ModulesManager::install_module($module_name, true, false); } if (ServerEnvironmentConfig::load()->is_url_rewriting_enabled()) { HtaccessFileCache::regenerate(); } }
private function install_module($module_id, $activate) { switch (ModulesManager::install_module($module_id, $activate)) { case ModulesManager::CONFIG_CONFLICT: $this->view->put('MSG', MessageHelper::display($this->lang['modules.config_conflict'], 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_ALREADY_INSTALLED: $this->view->put('MSG', MessageHelper::display($this->lang['modules.already_installed'], MessageHelper::WARNING, 10)); break; case ModulesManager::PHP_VERSION_CONFLICT: $this->view->put('MSG', MessageHelper::display(LangLoader::get_message('misfit.php', 'status-messages-common'), MessageHelper::WARNING, 10)); break; case ModulesManager::PHPBOOST_VERSION_CONFLICT: $this->view->put('MSG', MessageHelper::display(LangLoader::get_message('misfit.phpboost', 'status-messages-common'), MessageHelper::WARNING, 10)); break; case ModulesManager::MODULE_INSTALLED: default: $this->view->put('MSG', MessageHelper::display(LangLoader::get_message('process.success', 'status-messages-common'), MessageHelper::SUCCESS, 10)); } }