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