/** * @desc This function required object Notation containing the module_name, id_in_module, user_id, note and notation_scale. * @param object $notation Notation */ public static function display_active_image(Notation $notation) { $note_post = AppContext::get_request()->get_int('note', 0); $id_post = AppContext::get_request()->get_int('id', 0); if (!empty($note_post) && !empty($id_post)) { $notation->set_id_in_module($id_post); $notation->set_note($note_post); self::register_notation($notation); } else { $template = new FileTemplate('framework/content/notation/notation.tpl'); $average_notes = $notation->get_average_notes(); $int = intval($average_notes); $decimal = floatval('0.' . substr($average_notes, strpos($average_notes, '.') + 1)); for ($i = 1; $i <= $notation->get_notation_scale(); $i++) { $star_full = false; $star_half = false; $star_empty = false; if ($int >= $i || $int + 1 == $i && $decimal >= 0.75) { $star_full = true; } else { if ($int + 1 == $i && $decimal > 0.25 && $decimal < 0.75) { $star_half = true; } else { $star_empty = true; } } $template->assign_block_vars('star', array('I' => $i, 'STAR_EMPTY' => $star_empty, 'STAR_HALF' => $star_half, 'STAR_FULL' => $star_full)); } $count_notes = $notation->get_number_notes(); $template->put_all(array('C_JS_NOT_ALREADY_INCLUDED' => !self::$js_already_included, 'C_NOTES' => $count_notes > 0 ? true : false, 'C_MORE_1_NOTES' => $count_notes > 1 ? true : false, 'CURRENT_URL' => REWRITED_SCRIPT, 'ID_IN_MODULE' => $notation->get_id_in_module(), 'NOTATION_SCALE' => $notation->get_notation_scale(), 'NUMBER_NOTES' => $count_notes, 'AVERAGE_NOTES' => $average_notes, 'ALREADY_NOTE' => $notation->user_already_noted(), 'L_NO_NOTE' => LangLoader::get_message('no_note', 'common'), 'L_AUTH_ERROR' => LangLoader::get_message('error.auth', 'status-messages-common'), 'L_ALREADY_NOTE' => self::$lang['already_vote'], 'L_NOTES' => LangLoader::get_message('notes', 'common'), 'L_NOTE' => LangLoader::get_message('note', 'common'), 'L_VALID_NOTE' => LangLoader::get_message('add_note', 'common'))); self::$js_already_included = true; return $template->render(); } }
public function retrieve_value() { $request = AppContext::get_request(); $config = ContactConfig::load(); $fields = $config->get_fields(); $recipients_field_id = $config->get_field_id_by_name('f_recipients'); $recipients_field = new ContactField(); $recipients_field->set_properties($fields[$recipients_field_id]); $recipients = $recipients_field->get_possible_values(); $nb_recipients = count($recipients); $recipients_keys = array_keys($recipients); $values = array(); for ($i = 0; $i <= $this->max_input; $i++) { $field_name = 'field_name_' . $this->get_html_id() . '_' . $i; if ($request->has_postparameter($field_name)) { $field_is_default = 'field_is_default_' . $this->get_html_id() . '_' . $i; $field_title = 'field_name_' . $this->get_html_id() . '_' . $i; $field_email = 'field_email_' . $this->get_html_id() . '_' . $i; $email = $i > 0 ? $request->get_poststring($field_email) : true; if ($request->get_poststring($field_title) && $email) { $id = $i < $nb_recipients ? $recipients_keys[$i] : preg_replace('/\\s+/', '', $request->get_poststring($field_name)); $values[$id] = array('is_default' => $request->get_postint($field_is_default, 0), 'title' => addslashes($request->get_poststring($field_title)), 'email' => $request->get_poststring($field_email, '')); } } } $this->set_value($values); }
private function build_form() { $mail_request = AppContext::get_request()->get_string('mail_newsletter', ''); if (AppContext::get_current_user()->check_level(User::MEMBER_LEVEL) && empty($mail_request)) { $email = AppContext::get_current_user()->get_email(); } else { $email = $mail_request; } $form = new HTMLForm(__CLASS__); $fieldset = new FormFieldsetHTML('unsubscribe.newsletter', $this->lang['unsubscribe.newsletter']); $form->add_fieldset($fieldset); $fieldset->add_field(new FormFieldMailEditor('mail', $this->lang['subscribe.mail'], $email, array('required' => true))); $fieldset->add_field(new FormFieldCheckbox('delete_all_streams', $this->lang['newsletter.delete_all_streams'], FormFieldCheckbox::UNCHECKED, array('events' => array('click' => ' if (HTMLForms.getField("delete_all_streams").getValue()) { HTMLForms.getField("choice").disable(); } else { HTMLForms.getField("choice").enable(); }')))); $newsletter_subscribe = AppContext::get_current_user()->check_level(User::MEMBER_LEVEL) ? NewsletterService::get_member_id_streams(AppContext::get_current_user()->get_id()) : array(); $fieldset->add_field(new FormFieldMultipleCheckbox('choice', $this->lang['unsubscribe.newsletter_choice'], $newsletter_subscribe, $this->get_streams(), array('required' => true))); $this->submit_button = new FormButtonDefaultSubmit(); $form->add_button($this->submit_button); $form->add_button(new FormButtonReset()); $this->form = $form; }
private function try_execute() { $this->load_env(); $this->object_id = AppContext::get_request()->get_getint('menu_config_id'); $menu_config = MenuConfigurationDAO::instance()->find_by_id($this->object_id); $this->view->put_all(array('NAME' => $menu_config->get_name(), 'MATCH_REGEX' => $menu_config->get_match_regex(), 'U_CONFIGURE' => MenuUrlBuilder::menu_configuration_configure($menu_config->get_id())->rel(), 'U_LIST' => MenuUrlBuilder::menu_configuration_list()->rel())); }
public static function __static() { $config = SessionsConfig::load(); self::$DATA_COOKIE_NAME = $config->get_cookie_name() . '_data'; self::$AUTOCONNECT_COOKIE_NAME = $config->get_cookie_name() . '_autoconnect'; self::$request = AppContext::get_request(); self::$response = AppContext::get_response(); }
public static function get_last_comment_added($user_id) { if ($user_id !== '-1') { return self::$db_querier->get_column_value(DB_TABLE_COMMENTS, 'MAX(timestamp)', 'WHERE user_id=:user_id', array('user_id' => $user_id)); } else { return self::$db_querier->get_column_value(DB_TABLE_COMMENTS, 'MAX(timestamp)', 'WHERE user_ip=:user_ip', array('user_ip' => AppContext::get_request()->get_ip_address())); } }
function Add_msg($idtopic, $idcat, $contents, $title, $last_page, $last_page_rewrite, $new_topic = false) { global $LANG; ##### Insertion message ##### $last_timestamp = time(); $result = PersistenceContext::get_querier()->insert(PREFIX . 'forum_msg', array('idtopic' => $idtopic, 'user_id' => AppContext::get_current_user()->get_id(), 'contents' => FormatingHelper::strparse($contents), 'timestamp' => $last_timestamp, 'timestamp_edit' => 0, 'user_id_edit' => 0, 'user_ip' => AppContext::get_request()->get_ip_address())); $last_msg_id = $result->get_last_inserted_id(); //Topic PersistenceContext::get_querier()->inject("UPDATE " . PREFIX . "forum_topics SET " . ($new_topic ? '' : 'nbr_msg = nbr_msg + 1, ') . "last_user_id = '" . AppContext::get_current_user()->get_id() . "', last_msg_id = '" . $last_msg_id . "', last_timestamp = '" . $last_timestamp . "' WHERE id = '" . $idtopic . "'"); //On met à jour le last_topic_id dans la catégorie dans le lequel le message a été posté PersistenceContext::get_querier()->update(ForumSetup::$forum_cats_table, array('last_topic_id' => $idtopic), 'WHERE id = :id', array('id' => $idcat)); //Mise à jour du nombre de messages du membre. PersistenceContext::get_querier()->inject("UPDATE " . DB_TABLE_MEMBER . " SET posted_msg = posted_msg + 1 WHERE user_id = '" . AppContext::get_current_user()->get_id() . "'"); //On marque le topic comme lu. mark_topic_as_read($idtopic, $last_msg_id, $last_timestamp); ##### Gestion suivi du sujet mp/mail ##### if (!$new_topic) { //Message précédent ce nouveau message. $previous_msg_id = 0; try { $previous_msg_id = PersistenceContext::get_querier()->get_column_value(PREFIX . "forum_msg", 'MAX(id)', 'WHERE idtopic = :idtopic AND id < :id', array('idtopic' => $idtopic, 'id' => $last_msg_id)); } catch (RowNotFoundException $e) { } $title_subject = TextHelper::html_entity_decode($title); $title_subject_pm = $title_subject; if (AppContext::get_current_user()->get_id() > 0) { $pseudo = ''; try { $pseudo = PersistenceContext::get_querier()->get_column_value(DB_TABLE_MEMBER, 'display_name', 'WHERE user_id = :id', array('id' => AppContext::get_current_user()->get_id())); } catch (RowNotFoundException $e) { } $pseudo_pm = '<a href="' . UserUrlBuilder::profile(AppContext::get_current_user()->get_id())->rel() . '">' . $pseudo . '</a>'; } else { $pseudo = $LANG['guest']; $pseudo_pm = $LANG['guest']; } $next_msg_link = '/forum/topic' . url('.php?id=' . $idtopic . $last_page, '-' . $idtopic . $last_page_rewrite . '.php') . ($previous_msg_id ? '#m' . $previous_msg_id : ''); $preview_contents = substr($contents, 0, 300); //Récupération des membres suivant le sujet. $max_time = time() - SessionsConfig::load()->get_active_session_duration(); $result = PersistenceContext::get_querier()->select("SELECT m.user_id, m.display_name, m.email, tr.pm, tr.mail, v.last_view_id\n\t\t\tFROM " . PREFIX . "forum_track tr\n\t\t\tLEFT JOIN " . DB_TABLE_MEMBER . " m ON m.user_id = tr.user_id\n\t\t\tLEFT JOIN " . PREFIX . "forum_view v ON v.idtopic = :idtopic AND v.user_id = tr.user_id\n\t\t\tWHERE tr.idtopic = :idtopic AND v.last_view_id IS NOT NULL AND m.user_id != :user_id", array('idtopic' => $idtopic, 'user_id' => AppContext::get_current_user()->get_id())); while ($row = $result->fetch()) { //Envoi un Mail à ceux dont le last_view_id est le message précedent. if ($row['last_view_id'] == $previous_msg_id && $row['mail'] == '1') { AppContext::get_mail_service()->send_from_properties($row['email'], $LANG['forum_mail_title_new_post'], sprintf($LANG['forum_mail_new_post'], $row['display_name'], $title_subject, AppContext::get_current_user()->get_display_name(), $preview_contents, HOST . DIR . $next_msg_link, HOST . DIR . '/forum/action.php?ut=' . $idtopic . '&trt=1', 1)); } //Envoi un MP à ceux dont le last_view_id est le message précedent. if ($row['last_view_id'] == $previous_msg_id && $row['pm'] == '1') { $content = sprintf($LANG['forum_mail_new_post'], $row['display_name'], $title_subject_pm, AppContext::get_current_user()->get_display_name(), $preview_contents, '<a href="' . $next_msg_link . '">' . $next_msg_link . '</a>', '<a href="/forum/action.php?ut=' . $idtopic . '&trt=2">/forum/action.php?ut=' . $idtopic . '&trt=2</a>'); PrivateMsg::start_conversation($row['user_id'], $LANG['forum_mail_title_new_post'], nl2br($content), '-1', PrivateMsg::SYSTEM_PM); } } $result->dispose(); forum_generate_feeds(); //Regénération du flux rss. } return $last_msg_id; }
/** * {@inheritdoc} */ public function retrieve_value() { $request = AppContext::get_request(); if ($request->has_parameter($this->get_html_id())) { $this->set_value($request->get_value($this->get_html_id()) == 'on'); } else { $this->set_value(false); } }
/** * @desc This function display the comments * @param class CommentsTopic $topic * @return Template is a template object */ public static function display(CommentsTopic $topic) { $module_id = $topic->get_module_id(); $id_in_module = $topic->get_id_in_module(); $topic_identifier = $topic->get_topic_identifier(); $authorizations = $topic->get_authorizations(); if (!$authorizations->is_authorized_read()) { self::$template->put('KEEP_MESSAGE', MessageHelper::display(self::$comments_lang['comments.not-authorized.read'], MessageHelper::NOTICE)); } else { $edit_comment_id = AppContext::get_request()->get_getint('edit_comment', 0); $delete_comment_id = AppContext::get_request()->get_getint('delete_comment', 0); try { $lock = AppContext::get_request()->get_getbool('lock'); if ($authorizations->is_authorized_moderation()) { if ($lock) { if (!CommentsTopicDAO::topic_exists($module_id, $id_in_module, $topic_identifier)) { CommentsTopicDAO::create_topic($module_id, $id_in_module, $topic_identifier, $topic->get_path()); } CommentsManager::lock_topic($module_id, $id_in_module, $topic_identifier); } else { CommentsManager::unlock_topic($module_id, $id_in_module, $topic_identifier); } } AppContext::get_response()->redirect($topic->get_path()); } catch (UnexistingHTTPParameterException $e) { } if (!empty($delete_comment_id)) { self::verificate_authorized_edit_or_delete_comment($authorizations, $delete_comment_id); CommentsManager::delete_comment($delete_comment_id); AppContext::get_response()->redirect($topic->get_path()); } elseif (!empty($edit_comment_id)) { self::verificate_authorized_edit_or_delete_comment($authorizations, $edit_comment_id); $edit_comment_form = EditCommentBuildForm::create($edit_comment_id, $topic->get_path()); self::$template->put_all(array('C_DISPLAY_FORM' => true, 'COMMENT_FORM' => $edit_comment_form->display())); } else { if ($authorizations->is_authorized_post() && $authorizations->is_authorized_access_module()) { $comments_topic_locked = CommentsManager::comment_topic_locked($module_id, $id_in_module, $topic_identifier); $user_read_only = self::$user->get_delay_readonly(); if (!$authorizations->is_authorized_moderation() && $comments_topic_locked) { self::$template->put('KEEP_MESSAGE', MessageHelper::display(self::$comments_lang['comment.locked'], MessageHelper::NOTICE)); } elseif (!empty($user_read_only) && $user_read_only > time()) { self::$template->put('KEEP_MESSAGE', MessageHelper::display(self::$comments_lang['comments.user.read-only'], MessageHelper::NOTICE)); } else { $add_comment_form = AddCommentBuildForm::create($topic); self::$template->put_all(array('C_DISPLAY_FORM' => true, 'COMMENT_FORM' => $add_comment_form->display())); } } else { self::$template->put('KEEP_MESSAGE', MessageHelper::display(self::$comments_lang['comments.not-authorized.post'], MessageHelper::NOTICE)); } } $number_comments_display = $topic->get_number_comments_display(); $number_comments = self::$comments_cache->get_count_comments_by_module($module_id, $id_in_module, $topic_identifier); self::$template->put_all(array('COMMENTS_LIST' => self::display_comments($module_id, $id_in_module, $topic_identifier, $number_comments_display, $authorizations), 'MODULE_ID' => $module_id, 'ID_IN_MODULE' => $id_in_module, 'TOPIC_IDENTIFIER' => $topic_identifier, 'C_DISPLAY_VIEW_ALL_COMMENTS' => $number_comments > $number_comments_display, 'C_MODERATE' => $authorizations->is_authorized_moderation(), 'C_IS_LOCKED' => CommentsManager::comment_topic_locked($module_id, $id_in_module, $topic_identifier), 'U_LOCK' => CommentsUrlBuilder::lock_and_unlock($topic->get_path(), true)->rel(), 'U_UNLOCK' => CommentsUrlBuilder::lock_and_unlock($topic->get_path(), false)->rel())); } return self::$template; }
private function do_call() { $controller = new $this->classname(); if (!$controller instanceof Controller) { throw new NoSuchControllerException($this->classname); } $controller_to_execute = $controller->get_right_controller_regarding_authorizations(); $response = $controller_to_execute->execute(AppContext::get_request()); $response->send(); }
/** * {@inheritdoc} */ public function retrieve_value() { parent::retrieve_value(); $request = AppContext::get_request(); $date = $this->get_value(); $date->set_minutes($request->get_int($this->get_html_id() . '_minutes', 0)); $date->set_hours($request->get_int($this->get_html_id() . '_hours', 0)); // TODO Add a range constraint for the hours and minutes $this->set_value($date); }
/** * @desc Cleans the output buffer and execute the given controller before exiting * @param Controller $controller the controller to execute */ public static function redirect(Controller $controller) { AppContext::get_response()->clean_output(); Environment::init_output_bufferization(); $request = AppContext::get_request(); $response = $controller->execute($request); $response->send(); Environment::destroy(); exit; }
public function retrieve_value() { $request = AppContext::get_request(); $values = array(); for ($i = 0; $i < $this->max_input; $i++) { $id = 'field_' . $this->get_html_id() . '_' . $i; if ($request->has_postparameter($id)) { $values[] = $request->get_poststring($id); } } $this->set_value($values); }
/** * @desc dispatch the current url argument to the first method matching * in the <code>UrlControllerMapper</code> list of the controller object * @throws NoUrlMatchException */ public function dispatch() { $url = AppContext::get_request()->get_getstring('url', ''); foreach ($this->url_controller_mappers as $url_controller_mapper) { if ($url_controller_mapper->match($url)) { $url_controller_mapper->call(); Environment::destroy(); return; } } throw new NoUrlMatchException($url); Environment::destroy(); }
public function is_valid() { if (!$this->is_available() || AppContext::get_current_user()->check_level(User::MEMBER_LEVEL)) { return true; } $answer = AppContext::get_request()->get_value($this->get_html_id(), ''); $question_id = AppContext::get_request()->get_int($this->get_html_id() . '_question_id', 0); if (!empty($question_id)) { $question = new QuestionCaptchaQuestion(); $question->set_properties(self::$questions[$question_id]); return in_array(trim(strtolower($answer)), $question->get_formated_answers()); } return false; }
/** * @desc Compute Stats of Site Referers */ public static function compute_referer() { $referer = parse_url(AppContext::get_request()->get_url_referrer()); if (!empty($referer)) { ########### Détection des mots clés ########### $is_search_engine = false; $search_engine = $query_param = ''; if (!empty($referer['host'])) { $engines = array('dmoz' => 'q', 'aol' => 'q', 'ask' => 'q', 'google' => 'q', 'bing' => 'q', 'hotbot' => 'q', 'teoma' => 'q', 'exalead' => 'q', 'yahoo' => 'p', 'lycos' => 'query', 'kanoodle' => 'query', 'voila' => 'kw', 'baidu' => 'wd', 'yandex' => 'text'); foreach ($engines as $engine => $param) { if (strpos($referer['host'], $engine) !== false) { $is_search_engine = true; $search_engine = $engine; $query_param = $param; break; } } } if ($is_search_engine) { $query = !empty($referer['query']) ? $referer['query'] . '&' : ''; if (strpos($query, $query_param . '=') !== false) { $pattern = '/' . $query_param . '=(.*?)&/si'; preg_match($pattern, $query, $matches); $keyword = TextHelper::strprotect(utf8_decode(urldecode(strtolower($matches[1])))); $check_search_engine = PersistenceContext::get_querier()->count(StatsSetup::$stats_referer_table, 'WHERE url = :url AND relative_url = :keyword', array('url' => $search_engine, 'keyword' => $keyword)); if (!empty($keyword)) { if (!empty($check_search_engine)) { PersistenceContext::get_querier()->inject("UPDATE " . StatsSetup::$stats_referer_table . " SET total_visit = total_visit + 1, today_visit = today_visit + 1, last_update = '" . time() . "' WHERE url = '" . $search_engine . "' AND relative_url = '" . $keyword . "'"); } else { PersistenceContext::get_querier()->insert(StatsSetup::$stats_referer_table, array('url' => $search_engine, 'relative_url' => $keyword, 'total_visit' => 1, 'today_visit' => 1, 'yesterday_visit' => 0, 'nbr_day' => 1, 'last_update' => time(), 'type' => 1)); } } } } elseif (!empty($referer['host'])) { $referer['scheme'] = !empty($referer['scheme']) ? $referer['scheme'] : 'http'; ########### Détection du site de provenance ########### $url = addslashes($referer['scheme'] . '://' . $referer['host']); if (strpos($url, HOST) === false) { $referer['path'] = !empty($referer['path']) ? $referer['path'] : ''; $relative_url = addslashes((substr($referer['path'], 0, 1) == '/' ? $referer['path'] : '/' . $referer['path']) . (!empty($referer['query']) ? '?' . $referer['query'] : '') . (!empty($referer['fragment']) ? '#' . $referer['fragment'] : '')); $check_url = PersistenceContext::get_querier()->count(StatsSetup::$stats_referer_table, 'WHERE url = :url AND relative_url = :relative_url', array('url' => $url, 'relative_url' => $relative_url)); if (!empty($check_url)) { PersistenceContext::get_querier()->inject("UPDATE " . StatsSetup::$stats_referer_table . " SET total_visit = total_visit + 1, today_visit = today_visit + 1, last_update = '" . time() . "' WHERE url = '" . $url . "' AND relative_url = '" . $relative_url . "'"); } else { PersistenceContext::get_querier()->insert(StatsSetup::$stats_referer_table, array('url' => $url, 'relative_url' => $relative_url, 'total_visit' => 1, 'today_visit' => 1, 'yesterday_visit' => 0, 'nbr_day' => 1, 'last_update' => time(), 'type' => 0)); } } } } }
private function init() { $this->current_user = AppContext::get_current_user(); $request = AppContext::get_request(); $id = $request->get_int('id', 0); $this->lang = LangLoader::get('common', 'bugtracker'); try { $this->bug = BugtrackerService::get_bug('WHERE id=:id', array('id' => $id)); } catch (RowNotFoundException $e) { $error_controller = new UserErrorController(LangLoader::get_message('error', 'status-messages-common'), $this->lang['error.e_unexist_bug']); DispatchManager::redirect($error_controller); } $this->view = new FileTemplate('bugtracker/BugtrackerDetailController.tpl'); $this->view->add_lang($this->lang); }
public static function add_comment($module_id, $id_in_module, $topic_identifier, $topic_path, $message, $pseudo = '') { if (!CommentsTopicDAO::topic_exists($module_id, $id_in_module, $topic_identifier)) { $id_topic = CommentsTopicDAO::create_topic($module_id, $id_in_module, $topic_identifier, $topic_path); } else { $id_topic = CommentsTopicDAO::get_id_topic_module($module_id, $id_in_module, $topic_identifier); } if (self::$user->check_level(User::MEMBER_LEVEL)) { $id_comment = CommentsDAO::add_comment($id_topic, $message, self::$user->get_id(), self::$user->get_display_name(), AppContext::get_request()->get_ip_address()); } else { $id_comment = CommentsDAO::add_comment($id_topic, $message, self::$user->get_id(), $pseudo, AppContext::get_request()->get_ip_address()); } CommentsTopicDAO::incremente_number_comments_topic($id_topic); self::regenerate_cache(); return $id_comment; }
public function retrieve_value() { $request = AppContext::get_request(); $values = array(); $field_is_default = 'field_is_default_' . $this->get_html_id(); $default_field = $request->get_postint($field_is_default, 0); for ($i = 0; $i <= $this->max_input; $i++) { $field_name = 'field_name_' . $this->get_html_id() . '_' . $i; if ($request->has_postparameter($field_name)) { if ($request->get_poststring($field_name)) { $values[preg_replace('/\\s+/', '', $request->get_poststring($field_name))] = array('is_default' => $default_field == $i, 'title' => addslashes($request->get_poststring($field_name))); } } } $this->set_value($values); }
public static function register_404() { if (!empty($_SERVER['REQUEST_URI'])) { $requested_url = substr($_SERVER['REQUEST_URI'], 0, 255); $from_url = (string) substr(AppContext::get_request()->get_url_referrer(), 0, 255); $error_404 = null; $result = AdminError404DAO::instance()->find_by_criteria('WHERE requested_url=:requested_url AND from_url=:from_url', array('requested_url' => $requested_url, 'from_url' => $from_url)); if ($result->get_rows_count() > 0 && $result->has_next()) { $error_404 = $result->fetch(); $error_404->increment(); } else { $error_404 = new AdminError404($requested_url, $from_url); } AdminError404DAO::instance()->save($error_404); } }
public function retrieve_value() { $request = AppContext::get_request(); if ($request->has_parameter($this->get_html_id())) { $selected_options = $request->get_array($this->get_html_id()); $value = array(); foreach ($this->get_options() as $option) { if (in_array($option->get_raw_value(), $selected_options)) { $value[] = $option; } } $this->set_value($value); } else { $this->set_value(array()); } }
private function add_language_bar() { $lang = AppContext::get_request()->get_string('lang', self::UPDATE_DEFAULT_LANGUAGE); $lang_dir = new Folder(PATH_TO_ROOT . '/lang'); $langs = array(); foreach ($lang_dir->get_folders('`^[a-z_-]+$`i') as $folder) { $info_lang = load_ini_file(PATH_TO_ROOT . '/lang/', $folder->get_name()); if (!empty($info_lang['name'])) { $langs[] = array('LANG' => $folder->get_name(), 'LANG_NAME' => $info_lang['name'], 'SELECTED' => $folder->get_name() == $lang ? 'selected="selected"' : ''); if ($folder->get_name() == $lang) { $this->full_view->put('LANG_IDENTIFIER', $info_lang['identifier']); } } } $this->full_view->put('lang', $langs); }
private function get_event() { if ($this->event === null) { $id = AppContext::get_request()->get_getint('id', 0); if (!empty($id)) { try { $this->event = CalendarService::get_event('WHERE id_event = :id', array('id' => $id)); } catch (RowNotFoundException $e) { $error_controller = PHPBoostErrors::unexisting_page(); DispatchManager::redirect($error_controller); } } else { $this->event = new CalendarEvent(); } } return $this->event; }
private function get_weblink() { if ($this->weblink === null) { $id = AppContext::get_request()->get_getint('id', 0); if (!empty($id)) { try { $this->weblink = WebService::get_weblink('WHERE web.id = :id', array('id' => $id)); } catch (RowNotFoundException $e) { $error_controller = PHPBoostErrors::unexisting_page(); DispatchManager::redirect($error_controller); } } else { $this->weblink = new WebLink(); } } return $this->weblink; }
private function add_language_bar() { $lang = TextHelper::htmlspecialchars(AppContext::get_request()->get_string('lang', InstallController::DEFAULT_LOCALE)); $lang = in_array($lang, InstallationServices::get_available_langs()) ? $lang : InstallController::DEFAULT_LOCALE; $lang_dir = new Folder(PATH_TO_ROOT . '/lang'); $langs = array(); foreach ($lang_dir->get_folders('`^[a-z_-]+$`i') as $folder) { $info_lang = load_ini_file(PATH_TO_ROOT . '/lang/', $folder->get_name()); if (!empty($info_lang['name'])) { $langs[] = array('LANG' => $folder->get_name(), 'LANG_NAME' => $info_lang['name'], 'SELECTED' => $folder->get_name() == $lang ? 'selected="selected"' : ''); if ($folder->get_name() == $lang) { $this->full_view->put('LANG_IDENTIFIER', $info_lang['identifier']); } } } $this->full_view->put('lang', $langs); }
public function get_menu_content() { global $LANG; $poll_config = PollConfig::load(); $config_cookie_name = $poll_config->get_cookie_name(); $polls = PollMiniMenuCache::load()->get_polls(); //Chargement de la langue du module. load_module_lang('poll'); $rand = array_rand($polls); $poll_mini = $polls[$rand]; //Sondage aléatoire. $tpl = new FileTemplate('poll/poll_mini.tpl'); #####################Résultats###################### //Si le cookie existe, on redirige vers les resulats, sinon on prend en compte le vote (vérification par ip plus tard). $array_cookie = array(); if (AppContext::get_request()->has_cookieparameter($config_cookie_name)) { $array_cookie = explode('/', AppContext::get_request()->get_cookie($config_cookie_name)); } if (in_array($poll_mini['id'], $array_cookie)) { $tpl->put_all(array('L_VOTE' => $poll_mini['total'] > 1 ? $LANG['poll_vote_s'] : $LANG['poll_vote'])); $tpl->assign_block_vars('result', array('QUESTION' => $poll_mini['question'], 'VOTES' => $poll_mini['total'])); foreach ($poll_mini['votes'] as $answer => $width) { $tpl->assign_block_vars('result.answers', array('ANSWERS' => $answer, 'WIDTH' => NumberHelper::round($width, 0), 'PERCENT' => $width)); } } else { #####################Questions###################### $tpl->put_all(array('L_MINI_POLL' => $LANG['mini_poll'], 'L_VOTE' => $LANG['poll_vote'], 'L_POLL_RESULT' => $LANG['poll_result'], 'U_POLL_RESULT' => url('.php?id=' . $poll_mini['id'] . '&r=1', '-' . $poll_mini['id'] . '-1.php'))); $tpl->assign_block_vars('question', array('ID' => url('.php?id=' . $poll_mini['id'], '-' . $poll_mini['id'] . '.php'), 'QUESTION' => $poll_mini['question'])); $z = 0; if ($poll_mini['type'] == '1') { if (is_array($poll_mini['votes'])) { // FIXME should always be an array, needs to patch cache generation foreach ($poll_mini['votes'] as $answer => $width) { $tpl->assign_block_vars('question.radio', array('NAME' => $z, 'ANSWERS' => $answer)); $z++; } } } elseif ($poll_mini['type'] == '0') { foreach ($poll_mini['votes'] as $answer => $width) { $tpl->assign_block_vars('question.checkbox', array('NAME' => $z, 'ANSWERS' => $answer)); $z++; } } } return $tpl->render(); }
private function get_downloadfile() { if ($this->downloadfile === null) { $id = AppContext::get_request()->get_getint('id', 0); if (!empty($id)) { try { $this->downloadfile = DownloadService::get_downloadfile('WHERE download.id = :id', array('id' => $id)); } catch (RowNotFoundException $e) { $error_controller = PHPBoostErrors::unexisting_page(); DispatchManager::redirect($error_controller); } } else { $this->downloadfile = new DownloadFile(); } } return $this->downloadfile; }
public function retrieve_value() { $request = AppContext::get_request(); $values = array(); for ($i = 1; $i <= $this->max_input; $i++) { $field_label_id = 'field_label_' . $this->get_html_id() . '_' . $i; if ($request->has_postparameter($field_label_id)) { $field_answers_id = 'field_answers_' . $this->get_html_id() . '_' . $i; $field_label = $request->get_poststring($field_label_id); $field_answers = $request->get_poststring($field_answers_id); if (!empty($field_label) && !empty($field_answers)) { $values[$i] = array('label' => TextHelper::htmlspecialchars($field_label), 'answers' => TextHelper::htmlspecialchars($field_answers)); } } } $this->set_value($values); }
public function get_actions_tree_links() { $lang = LangLoader::get('common', 'gallery'); $tree = new ModuleTreeLinks(); $manage_categories_link = new AdminModuleLink(LangLoader::get_message('categories.manage', 'categories-common'), GalleryUrlBuilder::manage_categories()); $manage_categories_link->add_sub_link(new AdminModuleLink(LangLoader::get_message('categories.manage', 'categories-common'), GalleryUrlBuilder::manage_categories())); $manage_categories_link->add_sub_link(new AdminModuleLink(LangLoader::get_message('category.add', 'categories-common'), GalleryUrlBuilder::add_category())); $tree->add_link($manage_categories_link); $manage_gallery_link = new AdminModuleLink($lang['gallery.manage'], GalleryUrlBuilder::manage()); $manage_gallery_link->add_sub_link(new AdminModuleLink($lang['gallery.manage'], GalleryUrlBuilder::manage())); $manage_gallery_link->add_sub_link(new AdminModuleLink($lang['gallery.actions.add'], GalleryUrlBuilder::admin_add(AppContext::get_request()->get_getstring('id_category', 0)))); $tree->add_link($manage_gallery_link); $tree->add_link(new AdminModuleLink(LangLoader::get_message('configuration', 'admin-common'), GalleryUrlBuilder::configuration())); if (!AppContext::get_current_user()->check_level(User::ADMIN_LEVEL)) { $tree->add_link(new ModuleLink($lang['gallery.actions.add'], GalleryUrlBuilder::add(AppContext::get_request()->get_getstring('id_category', 0)), GalleryAuthorizationsService::check_authorizations()->write())); } return $tree; }
public function __construct($name, $value, $timestamp = null) { $this->name = $name; $this->value = stripslashes($value); if (AppContext::get_request()->get_is_https()) { $this->set_secure(true); } $site_path = GeneralConfig::load()->get_site_path(); if (!empty($site_path)) { $this->path = $site_path; } if ($timestamp == null) { $this->expiration_date = time() + 3600 * 744; //1 month } else { $this->expiration_date = $timestamp; } }