private function save(HTTPRequestCustom $request) { $installed_modules = ModulesManager::get_installed_modules_map(); foreach ($installed_modules as $module) { if ($request->get_string('delete-' . $module->get_id(), '')) { AppContext::get_response()->redirect(AdminModulesUrlBuilder::delete_module($module->get_id())); } } if ($request->get_bool('update', false)) { $errors = array(); foreach ($installed_modules as $module) { $module_id = $module->get_id(); $activated = $request->get_bool('activated-' . $module_id, false); $error = ModulesManager::update_module($module_id, $activated); if (!empty($error)) { $errors[$module->get_configuration()->get_name()] = $error; } } if (empty($errors)) { AppContext::get_response()->redirect(AdminModulesUrlBuilder::list_installed_modules()); } else { foreach ($errors as $module_name => $error) { $this->view->assign_block_vars('errors', array('MSG' => MessageHelper::display($module_name . ' : ' . $error, MessageHelper::WARNING, 10))); } } } }