public function execute(HTTPRequestCustom $request)
 {
     AppContext::get_session()->csrf_get_protect();
     $config = BugtrackerConfig::load();
     $parameter = $request->get_string('parameter', '');
     if (in_array($parameter, array('type', 'category', 'severity', 'priority', 'version'))) {
         switch ($parameter) {
             case 'type':
                 $config->set_default_type(0);
                 break;
             case 'category':
                 $config->set_default_category(0);
                 break;
             case 'severity':
                 $config->set_default_severity(0);
                 break;
             case 'priority':
                 $config->set_default_priority(0);
                 break;
             case 'version':
                 $config->set_default_version(0);
                 break;
         }
         BugtrackerConfig::save();
         AppContext::get_response()->redirect(BugtrackerUrlBuilder::configuration());
     } else {
         $controller = new UserErrorController(LangLoader::get_message('error', 'status-messages-common'), LangLoader::get_message('error.e_unexist_parameter', 'common', 'bugtracker'));
         $controller->set_response_classname(UserErrorController::ADMIN_RESPONSE);
         DispatchManager::redirect($controller);
     }
 }
 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)));
             }
         }
     }
 }
예제 #3
0
 protected function load_lang(HTTPRequestCustom $request)
 {
     $locale = TextHelper::htmlspecialchars($request->get_string('lang', UpdateController::DEFAULT_LOCALE));
     LangLoader::set_locale($locale);
     UpdateUrlBuilder::set_locale($locale);
     $this->lang = LangLoader::get('update', 'update');
 }
 protected function load_lang(HTTPRequestCustom $request)
 {
     $locale = TextHelper::htmlspecialchars($request->get_string('lang', self::DEFAULT_LOCALE));
     $locale = in_array($locale, InstallationServices::get_available_langs()) ? $locale : self::DEFAULT_LOCALE;
     LangLoader::set_locale($locale);
     InstallUrlBuilder::set_locale($locale);
     $this->lang = LangLoader::get('install', 'install');
 }
 public function execute(HTTPRequestCustom $request)
 {
     $this->init();
     $this->upload_form();
     $this->upgrade_module($request->get_string('module_id', ''));
     if ($this->submit_button->has_been_submited() && $this->form->validate()) {
         $this->upload_module();
     }
     $this->build_view();
     $this->view->put('UPLOAD_FORM', $this->form->display());
     return new AdminModulesDisplayResponse($this->view, $this->lang['modules.update_module']);
 }
 public function execute(HTTPRequestCustom $request)
 {
     if ($this->check_authorizations()) {
         $pseudo = TextHelper::strprotect(utf8_decode($request->get_string('pseudo', '')));
         $contents = TextHelper::htmlentities($request->get_string('contents', ''), ENT_COMPAT, 'UTF-8');
         $contents = TextHelper::htmlspecialchars_decode(TextHelper::html_entity_decode($contents, ENT_COMPAT, 'windows-1252'));
         if ($pseudo && $contents) {
             //Mod anti-flood, autorisé aux membres qui bénificie de l'autorisation de flooder.
             $check_time = AppContext::get_current_user()->get_id() !== -1 && ContentManagementConfig::load()->is_anti_flood_enabled() ? PersistenceContext::get_querier()->get_column_value(PREFIX . "shoutbox", 'MAX(timestamp)', 'WHERE user_id = :id', array('id' => AppContext::get_current_user()->get_id())) : '';
             if (!empty($check_time) && !AppContext::get_current_user()->check_max_value(AUTH_FLOOD)) {
                 if ($check_time >= time() - ContentManagementConfig::load()->get_anti_flood_duration()) {
                     $code = -1;
                 }
             }
             //Vérifie que le message ne contient pas du flood de lien.
             $config_shoutbox = ShoutboxConfig::load();
             $contents = FormatingHelper::strparse($contents, $config_shoutbox->get_forbidden_formatting_tags());
             if (!TextHelper::check_nbr_links($contents, $config_shoutbox->get_max_links_number_per_message(), true)) {
                 //Nombre de liens max dans le message.
                 $code = -2;
             }
             $shoutbox_message = new ShoutboxMessage();
             $shoutbox_message->init_default_properties();
             $shoutbox_message->set_login($pseudo);
             $shoutbox_message->set_user_id(AppContext::get_current_user()->get_id());
             $shoutbox_message->set_contents($contents);
             $shoutbox_message->set_creation_date(new Date());
             $code = ShoutboxService::add($shoutbox_message);
         } else {
             $code = -3;
         }
     } else {
         $code = -4;
     }
     return new JSONResponse(array('code' => $code));
 }
 public function execute(HTTPRequestCustom $request)
 {
     $this->init();
     $this->module_id = $request->get_string('id_module', null);
     if ($this->module_installed()) {
         $this->build_form();
         if ($this->submit_button->has_been_submited() && $this->form->validate()) {
             $drop_files = $this->form->get_value('drop_files')->get_raw_value();
             $this->delete_module($drop_files);
         }
         $this->tpl->put('FORM', $this->form->display());
         return new AdminModulesDisplayResponse($this->tpl, $this->lang['modules.delete_module']);
     } else {
         $error_controller = PHPBoostErrors::module_not_installed();
         DispatchManager::redirect($error_controller);
     }
 }
 public function execute(HTTPRequestCustom $request)
 {
     $status = 200;
     $url = '';
     $image_to_check = $request->get_string('image', '');
     $image = new Url($image_to_check);
     if ($image_to_check) {
         $file_headers = get_headers($image->absolute(), true);
         if (is_array($file_headers)) {
             if (preg_match('/^HTTP\\/[12]\\.[01] (\\d\\d\\d)/', $file_headers[0], $matches)) {
                 $status = (int) $matches[1];
             }
         }
     }
     if ($status == 200) {
         $url = $image->absolute();
     }
     return new JSONResponse(array('url' => $url));
 }
 private function init(HTTPRequestCustom $request)
 {
     $this->lang = LangLoader::get('common', 'bugtracker');
     $this->config = BugtrackerConfig::load();
     //Get the parameter to delete
     $this->parameter = $request->get_string('parameter', '');
     //Get the id of the parameter to delete
     $this->id = $request->get_int('id', '');
     if (!in_array($this->parameter, array('type', 'category', 'version')) || empty($this->id)) {
         $controller = new UserErrorController(LangLoader::get_message('error', 'status-messages-common'), $this->lang['error.e_unexist_parameter']);
         $controller->set_response_classname(UserErrorController::ADMIN_RESPONSE);
         DispatchManager::redirect($controller);
     }
     $types = $this->config->get_types();
     $categories = $this->config->get_categories();
     $versions = $this->config->get_versions();
     switch ($this->parameter) {
         case 'type':
             if (!isset($types[$this->id])) {
                 //Error : unexist type
                 $controller = new UserErrorController(LangLoader::get_message('error', 'status-messages-common'), $this->lang['error.e_unexist_type']);
                 $controller->set_response_classname(UserErrorController::ADMIN_RESPONSE);
                 DispatchManager::redirect($controller);
             }
             break;
         case 'category':
             if (!isset($categories[$this->id])) {
                 //Error : unexist category
                 $controller = new UserErrorController(LangLoader::get_message('error', 'status-messages-common'), $this->lang['error.e_unexist_category']);
                 $controller->set_response_classname(UserErrorController::ADMIN_RESPONSE);
                 DispatchManager::redirect($controller);
             }
             break;
         case 'version':
             if (!isset($versions[$this->id])) {
                 //Error : unexist version
                 $controller = new UserErrorController(LangLoader::get_message('error', 'status-messages-common'), $this->lang['error.e_unexist_version']);
                 $controller->set_response_classname(UserErrorController::ADMIN_RESPONSE);
                 DispatchManager::redirect($controller);
             }
             break;
     }
 }
 private function save(HTTPRequestCustom $request)
 {
     foreach ($this->get_not_installed_langs() as $id) {
         try {
             if ($request->get_string('add-' . $id)) {
                 $activated = $request->get_bool('activated-' . $id, false);
                 $authorizations = Authorizations::auth_array_simple(Lang::ACCES_LANG, $id);
                 LangsManager::install($id, $authorizations, $activated);
                 $error = LangsManager::get_error();
                 if ($error !== null) {
                     $this->view->put('MSG', MessageHelper::display($error, MessageHelper::NOTICE, 10));
                 } else {
                     $this->view->put('MSG', MessageHelper::display(LangLoader::get_message('process.success', 'status-messages-common'), MessageHelper::SUCCESS, 10));
                 }
             }
         } catch (Exception $e) {
         }
     }
 }
 public function save(HTTPRequestCustom $request)
 {
     $installed_themes = ThemesManager::get_installed_themes_map();
     foreach ($installed_themes as $theme) {
         if ($request->get_string('delete-' . $theme->get_id(), '')) {
             AppContext::get_response()->redirect(AdminThemeUrlBuilder::delete_theme($theme->get_id()));
         }
     }
     if ($request->get_bool('update', false)) {
         foreach ($installed_themes as $theme) {
             if ($theme->get_id() !== ThemesManager::get_default_theme()) {
                 $id_theme = $theme->get_id();
                 $activated = $request->get_bool('activated-' . $id_theme, false);
                 $authorizations = Authorizations::auth_array_simple(Theme::ACCES_THEME, $id_theme);
                 ThemesManager::change_informations($id_theme, $activated, $authorizations);
             }
         }
         AppContext::get_response()->redirect(AdminThemeUrlBuilder::list_installed_theme());
     }
 }
 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());
     }
 }
 public function execute(HTTPRequestCustom $request)
 {
     $this->init();
     foreach ($this->get_modules_not_installed() as $name => $module) {
         try {
             if ($request->get_string('add-' . $module->get_id())) {
                 $activate = $request->get_bool('activated-' . $module->get_id(), false);
                 $this->install_module($module->get_id(), $activate);
             }
         } catch (UnexistingHTTPParameterException $e) {
         }
     }
     $this->upload_form();
     if ($this->submit_button->has_been_submited() && $this->form->validate()) {
         $this->upload_module();
     }
     $this->build_view();
     $this->view->put('UPLOAD_FORM', $this->form->display());
     return new AdminModulesDisplayResponse($this->view, $this->lang['modules.add_module']);
 }
 public function execute(HTTPRequestCustom $request)
 {
     $this->init();
     foreach ($this->get_not_installed_themes() as $id_theme) {
         try {
             if ($request->get_string('add-' . $id_theme)) {
                 $activated = $request->get_bool('activated-' . $id_theme, false);
                 $authorizations = Authorizations::auth_array_simple(Theme::ACCES_THEME, $id_theme);
                 $this->install_theme($id_theme, $authorizations, $activated);
             }
         } catch (UnexistingHTTPParameterException $e) {
         }
     }
     $this->upload_form();
     if ($this->submit_button->has_been_submited() && $this->form->validate()) {
         $this->upload_theme();
     }
     $this->build_view();
     $this->view->put('UPLOAD_FORM', $this->form->display());
     return new AdminThemesDisplayResponse($this->view, $this->lang['themes.add_theme']);
 }