private function init() { $this->lang = LangLoader::get('admin-contents-common'); $this->content_formatting_config = ContentFormattingConfig::load(); $this->content_management_config = ContentManagementConfig::load(); $this->user_accounts_config = UserAccountsConfig::load(); }
/** * @param string $last_posted_timestamp Timestamp * @param string $anti_flood_duration seconde * @param string $error_message */ public function __construct($last_posted_timestamp, $anti_flood_duration = '', $error_message = '') { $this->content_management_config = ContentManagementConfig::load(); $this->last_posted_timestamp = $last_posted_timestamp; if (empty($anti_flood_duration)) { $anti_flood_duration = $this->content_management_config->get_anti_flood_duration(); } $this->anti_flood_duration = $anti_flood_duration; if (empty($error_message)) { $error_message = LangLoader::get_message('e_flood', 'errors'); } $this->set_validation_error_message($error_message); }
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)); }
/** * @param string $id_module */ public function uninstall_captcha($id_module) { $captchas = $this->get_available_captchas(); if (count($captchas) > 1) { $default_captcha = $this->get_default_captcha(); if ($default_captcha !== $id_module) { $config = ContentManagementConfig::load(); $config->set_used_captcha_module($default_captcha); ContentManagementConfig::save(); return null; } else { return LangLoader::get_message('captcha.is_default', 'status-messages-common'); } } return LangLoader::get_message('captcha.last_installed', 'status-messages-common'); }