public function __construct($view, $title_page)
 {
     parent::__construct($view);
     $lang = LangLoader::get('admin-langs-common');
     $this->set_title($lang['langs.langs_management']);
     $this->add_link($lang['langs.installed_langs'], AdminLangsUrlBuilder::list_installed_langs());
     $this->add_link($lang['langs.add_lang'], AdminLangsUrlBuilder::install());
     $env = $this->get_graphical_environment();
     $env->set_page_title($title_page);
 }
 public function execute(HTTPRequestCustom $request)
 {
     $this->init();
     $this->id = $request->get_value('id', null);
     if ($this->exists()) {
         $this->build_form();
         if ($this->submit_button->has_been_submited() && $this->form->validate()) {
             $this->uninstall($this->form->get_value('drop_files')->get_raw_value());
             AppContext::get_response()->redirect(AdminLangsUrlBuilder::list_installed_langs());
         }
         $this->tpl->put('FORM', $this->form->display());
         return new AdminLangsDisplayResponse($this->tpl, $this->lang['langs.delete_lang']);
     } else {
         $error_controller = PHPBoostErrors::unexisting_page();
         DispatchManager::redirect($error_controller);
     }
 }
 public function save(HTTPRequestCustom $request)
 {
     $installed_langs = LangsManager::get_installed_langs_map();
     foreach ($installed_langs as $lang) {
         if ($request->get_string('delete-' . $lang->get_id(), '')) {
             AppContext::get_response()->redirect(AdminLangsUrlBuilder::uninstall($lang->get_id()));
         }
     }
     if ($request->get_bool('update', false)) {
         foreach ($installed_langs as $lang) {
             if ($lang->get_id() !== LangsManager::get_default_lang()) {
                 $id = $lang->get_id();
                 $activated = $request->get_bool('activated-' . $id, false);
                 $authorizations = Authorizations::auth_array_simple(Lang::ACCES_LANG, $id);
                 LangsManager::change_informations($id, $activated, $authorizations);
             }
         }
         AppContext::get_response()->redirect(AdminLangsUrlBuilder::list_installed_langs());
     }
 }