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);
     }
 }