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