public static function add_filter_fieldset(Menu $menu, Template $tpl) { $tpl_filter = new FileTemplate('admin/menus/filters.tpl'); $tpl_filter->assign_block_vars('modules', array('ID' => '')); foreach (ModulesManager::get_activated_modules_map_sorted_by_localized_name() as $module) { $configuration = $module->get_configuration(); $home_page = $configuration->get_home_page(); if (!empty($home_page)) { $tpl_filter->assign_block_vars('modules', array('ID' => $module->get_id())); } } //Ajout du menu if ($menu->get_id() == '') { $menu->set_filters(array(new MenuStringFilter('/'))); } // Installed modules foreach ($menu->get_filters() as $key => $filter) { $filter_pattern = $filter->get_pattern(); $filter_infos = explode('/', $filter_pattern); $module_name = $filter_infos[0]; $regex = substr(strstr($filter_pattern, '/'), 1); $tpl_filter->assign_block_vars('filters', array('ID' => $key, 'FILTER' => $regex)); $tpl_filter->assign_block_vars('filters.modules', array('ID' => '', 'SELECTED' => $filter_pattern == '/' ? ' selected="selected"' : '')); foreach (ModulesManager::get_activated_modules_map_sorted_by_localized_name() as $module) { $configuration = $module->get_configuration(); $home_page = $configuration->get_home_page(); if (!empty($home_page)) { $tpl_filter->assign_block_vars('filters.modules', array('ID' => $module->get_id(), 'SELECTED' => $module_name == $module->get_id() ? ' selected="selected"' : '')); } } } $tpl_filter->add_lang(LangLoader::get('admin-menus-common')); $tpl_filter->put_all(array('NBR_FILTER' => $menu->get_id() == '' ? 0 : count($menu->get_filters()) - 1)); $tpl->put('filters', $tpl_filter); }
private function get_view() { global $Bread_crumb, $LANG, $pages; $pages_config = PagesConfig::load(); //Configuration des authorisations $config_authorizations = $pages_config->get_authorizations(); require_once PATH_TO_ROOT . '/pages/pages_begin.php'; $tpl = new FileTemplate('pages/index.tpl'); $num_pages = PersistenceContext::get_querier()->count(PREFIX . "pages", 'WHERE redirect = 0'); $num_coms = CommentsService::get_number_and_lang_comments('pages', $pages['id']); $tpl->put_all(array('NUM_PAGES' => sprintf($LANG['pages_num_pages'], $num_pages), 'NUM_COMS' => sprintf($LANG['pages_num_coms'], $num_coms, $num_pages > 0 ? $num_coms / $num_pages : 0), 'L_EXPLAIN_PAGES' => $LANG['pages_explain'], 'L_STATS' => $LANG['pages_stats'])); //Liste des dossiers de la racine $root = ''; foreach (PagesCategoriesCache::load()->get_categories() as $key => $cat) { if ($cat['id_parent'] == 0) { //Autorisation particulière ? $special_auth = !empty($cat['auth']); //Vérification de l'autorisation d'éditer la page if ($special_auth && AppContext::get_current_user()->check_auth($cat['auth'], READ_PAGE) || !$special_auth && AppContext::get_current_user()->check_auth($config_authorizations, READ_PAGE)) { $root .= '<li><a href="javascript:open_cat(' . $key . '); show_pages_cat_contents(' . $cat['id_parent'] . ', 0);"><i class="fa fa-folder"></i>' . stripslashes($cat['title']) . '</a></li>'; } } } //Liste des fichiers de la racine $result = PersistenceContext::get_querier()->select("SELECT title, id, encoded_title, auth\r\n\t\t\tFROM " . PREFIX . "pages\r\n\t\t\tWHERE id_cat = 0 AND is_cat = 0\r\n\t\t\tORDER BY is_cat DESC, title ASC"); while ($row = $result->fetch()) { //Autorisation particulière ? $special_auth = !empty($row['auth']); $array_auth = unserialize($row['auth']); //Vérification de l'autorisation d'éditer la page if ($special_auth && AppContext::get_current_user()->check_auth($array_auth, READ_PAGE) || !$special_auth && AppContext::get_current_user()->check_auth($config_authorizations, READ_PAGE)) { $root .= '<li><a href="' . PagesUrlBuilder::get_link_item($row['encoded_title']) . '"><i class="fa fa-file"></i>' . stripslashes($row['title']) . '</a></li>'; } } $result->dispose(); $tpl->put_all(array('TITLE' => $LANG['pages'], 'L_ROOT' => $LANG['pages_root'], 'ROOT_CONTENTS' => $root, 'L_CATS' => $LANG['pages_cats_tree'], 'L_EXPLORER' => $LANG['pages_explorer'], 'SELECTED_CAT' => 0, 'CAT_0' => 'selected', 'CAT_LIST' => '')); $contents = ''; $result = PersistenceContext::get_querier()->select("SELECT c.id, p.title, p.encoded_title\r\n\t\tFROM " . PREFIX . "pages_cats c\r\n\t\tLEFT JOIN " . PREFIX . "pages p ON p.id = c.id_page\r\n\t\tWHERE c.id_parent = 0\r\n\t\tORDER BY p.title ASC"); while ($row = $result->fetch()) { $sub_cats_number = PersistenceContext::get_querier()->count(PREFIX . "pages_cats", 'WHERE id_parent=:id_parent', array('id_parent' => $row['id'])); if ($sub_cats_number > 0) { $tpl->assign_block_vars('list', array('DIRECTORY' => '<li class="sub"><a class="parent" href="javascript:show_pages_cat_contents(' . $row['id'] . ', 0);"><i class="fa fa-plus-square-o" id="img2_' . $row['id'] . '"></i><i class="fa fa-folder" id ="img_' . $row['id'] . '"></i></a><a id="class_' . $row['id'] . '" href="javascript:open_cat(' . $row['id'] . ');">' . stripslashes($row['title']) . '</a><span id="cat_' . $row['id'] . '"></li>')); } else { $tpl->assign_block_vars('list', array('DIRECTORY' => '<li class="sub"><a id="class_' . $row['id'] . '" href="javascript:open_cat(' . $row['id'] . ');"><i class="fa fa-folder"></i>' . stripslashes($row['title']) . '</a><span id="cat_' . $row['id'] . '"></span></li>')); } } $result->dispose(); return $tpl; }
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(); }
function display() { $template = $this->get_template_to_use(); $tpl = new FileTemplate('news/NewsFormFieldSelectSources.tpl'); $tpl->add_lang(LangLoader::get('common')); $tpl->put_all(array('NAME' => $this->get_html_id(), 'ID' => $this->get_html_id(), 'C_DISABLED' => $this->is_disabled())); $this->assign_common_template_variables($template); $i = 0; foreach ($this->get_value() as $name => $value) { $tpl->assign_block_vars('fieldelements', array('ID' => $i, 'VALUE' => $value, 'NAME' => $name)); $i++; } if ($i == 0) { $tpl->assign_block_vars('fieldelements', array('ID' => $i, 'VALUE' => '', 'NAME' => '')); } $tpl->put_all(array('NAME' => $this->get_html_id(), 'ID' => $this->get_html_id(), 'C_DISABLED' => $this->is_disabled(), 'MAX_INPUT' => $this->max_input, 'NBR_FIELDS' => $i == 0 ? 1 : $i)); $template->assign_block_vars('fieldelements', array('ELEMENT' => $tpl->render())); return $template; }
private function get_view() { global $Bread_crumb, $LANG, $encoded_title, $id_article, $article_infos, $id_cat; load_module_lang('wiki'); include_once PATH_TO_ROOT . '/wiki/wiki_functions.php'; $bread_crumb_key = 'wiki'; require_once PATH_TO_ROOT . '/wiki/wiki_bread_crumb.php'; $config = WikiConfig::load(); $tpl = new FileTemplate('wiki/index.tpl'); if ($config->get_number_articles_on_index() > 1) { $result = PersistenceContext::get_querier()->select("SELECT a.title, a.encoded_title, a.id\r\n\t\t\tFROM " . PREFIX . "wiki_articles a\r\n\t\t\tLEFT JOIN " . PREFIX . "wiki_contents c ON c.id_contents = a.id_contents\r\n\t\t\tWHERE a.redirect = 0\r\n\t\t\tORDER BY c.timestamp DESC\r\n\t\t\tLIMIT :number_articles_on_index OFFSET 0", array('number_articles_on_index' => $config->get_number_articles_on_index())); $tpl->assign_block_vars('last_articles', array('C_ARTICLES' => $result->get_rows_count(), 'L_ARTICLES' => $LANG['wiki_last_articles_list'])); $i = 0; while ($row = $result->fetch()) { $tpl->assign_block_vars('last_articles.list', array('ARTICLE' => $row['title'], 'TR' => $i > 0 && $i % 2 == 0 ? '</tr><tr>' : '', 'U_ARTICLE' => url('wiki.php?title=' . $row['encoded_title'], $row['encoded_title']))); $i++; } $result->dispose(); if ($i == 0) { $tpl->put_all(array('L_NO_ARTICLE' => '<td class="center" colspan="2">' . $LANG['wiki_no_article'] . '</td>')); } } //Affichage de toutes les catégories si c'est activé if ($config->are_categories_displayed_on_index()) { $tpl->assign_block_vars('cat_list', array('L_CATS' => $LANG['wiki_cats_list'])); $i = 0; foreach (WikiCategoriesCache::load()->get_categories() as $id => $cat) { //Si c'est une catégorie mère if ($cat['id_parent'] == 0) { $tpl->assign_block_vars('cat_list.list', array('CAT' => stripslashes($cat['title']), 'U_CAT' => url('wiki.php?title=' . $cat['encoded_title'], $cat['encoded_title']))); $i++; } } if ($i == 0) { $tpl->put_all(array('L_NO_CAT' => $LANG['wiki_no_cat'])); } } $tpl->put_all(array('TITLE' => $config->get_wiki_name() ? $config->get_wiki_name() : $LANG['wiki'], 'INDEX_TEXT' => $config->get_index_text() ? FormatingHelper::second_parse(wiki_no_rewrite($config->get_index_text())) : $LANG['wiki_empty_index'], 'L_EXPLORER' => $LANG['wiki_explorer'], 'U_EXPLORER' => url('explorer.php'))); $page_type = 'index'; include PATH_TO_ROOT . '/wiki/wiki_tools.php'; $tpl->put('wiki_tools', $tools_tpl); return new StringTemplate($tpl->render()); }
function display() { $template = $this->get_template_to_use(); $lang = LangLoader::get('common', 'contact'); $config = ContactConfig::load(); $tpl = new FileTemplate('contact/ContactFormFieldObjectPossibleValues.tpl'); $tpl->add_lang($lang); $this->assign_common_template_variables($template); $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]); foreach ($recipients_field->get_possible_values() as $id => $options) { if (!empty($options)) { $tpl->assign_block_vars('recipients_list', array('ID' => $id, 'NAME' => stripslashes($options['title']))); } } $i = 0; foreach ($this->get_value() as $name => $options) { if (!empty($options)) { $tpl->assign_block_vars('fieldelements', array('ID' => $i, 'NAME' => stripslashes($options['title']), 'IS_DEFAULT' => (int) $options['is_default'])); foreach ($recipients_field->get_possible_values() as $id => $recipient_options) { if (!empty($recipient_options)) { $tpl->assign_block_vars('fieldelements.recipients_list', array('C_RECIPIENT_SELECTED' => $options['recipient'] == $id, 'ID' => $id, 'NAME' => stripslashes($recipient_options['title']))); } } $i++; } } if ($i == 0) { $tpl->assign_block_vars('fieldelements', array('ID' => $i, 'NAME' => '', 'IS_DEFAULT' => 0)); foreach ($recipients_field->get_possible_values() as $id => $options) { if (!empty($options)) { $tpl->assign_block_vars('fieldelements.recipients_list', array('ID' => $id, 'NAME' => stripslashes($options['title']))); } } $i++; } $tpl->put_all(array('NAME' => $this->get_html_id(), 'HTML_ID' => $this->get_html_id(), 'C_DISABLED' => $this->is_disabled(), 'MAX_INPUT' => $this->max_input, 'NBR_FIELDS' => $i)); $template->assign_block_vars('fieldelements', array('ELEMENT' => $tpl->render())); return $template; }
public function display() { $template = $this->get_template_to_use(); $tpl = new FileTemplate('framework/builder/form/FormFieldMultipleAutocompleter.tpl'); $this->assign_common_template_variables($template); if (empty($this->file)) { throw new Exception('Add file options containing file url'); } $i = 0; foreach ($this->get_value() as $value) { $tpl->assign_block_vars('fieldelements', array('ID' => $i, 'VALUE' => $value)); $i++; } if ($i == 0) { $tpl->assign_block_vars('fieldelements', array('ID' => $i, 'VALUE' => '')); } $tpl->put_all(array('NAME' => $this->get_html_id(), 'ID' => $this->get_id(), 'HTML_ID' => $this->get_html_id(), 'C_DISABLED' => $this->is_disabled(), 'MAX_INPUT' => $this->max_input, 'NBR_FIELDS' => $i == 0 ? 1 : $i, 'SIZE' => $this->size, 'METHOD' => $this->method, 'NAME_PARAMETER' => $this->name_parameter, 'FILE' => $this->file)); $template->assign_block_vars('fieldelements', array('ELEMENT' => $tpl->render())); return $template; }
function display() { $template = $this->get_template_to_use(); $lang = LangLoader::get('admin-user-common'); $tpl = new FileTemplate('framework/builder/form/FormFieldPossibleValues.tpl'); $tpl->add_lang($lang); $this->assign_common_template_variables($template); $i = 0; foreach ($this->get_value() as $name => $options) { if (!empty($options)) { $tpl->assign_block_vars('fieldelements', array('ID' => $i, 'NAME' => $name, 'IS_DEFAULT' => (int) $options['is_default'], 'TITLE' => stripslashes($options['title']))); $i++; } } if ($i == 0) { $tpl->assign_block_vars('fieldelements', array('ID' => $i, 'NAME' => '', 'IS_DEFAULT' => 0, 'TITLE' => '')); $i++; } $tpl->put_all(array('NAME' => $this->get_html_id(), 'ID' => $this->get_id(), 'HTML_ID' => $this->get_html_id(), 'C_DISABLED' => $this->is_disabled(), 'MAX_INPUT' => $this->max_input, 'NBR_FIELDS' => $i)); $template->assign_block_vars('fieldelements', array('ELEMENT' => $tpl->render())); return $template; }
function display() { $template = $this->get_template_to_use(); $tpl = new FileTemplate('QuestionCaptcha/QuestionCaptchaFormFieldQuestions.tpl'); $tpl->add_lang(LangLoader::get('common', 'QuestionCaptcha')); $this->assign_common_template_variables($template); $i = 1; foreach ($this->get_value() as $id => $options) { $tpl->assign_block_vars('fieldelements', array('ID' => $i, 'LABEL' => $options['label'], 'ANSWERS' => $options['answers'], 'C_DELETE' => $i > 1)); $i++; } $tpl->put_all(array('NAME' => $this->get_html_id(), 'HTML_ID' => $this->get_html_id(), 'C_DISABLED' => $this->is_disabled(), 'MAX_INPUT' => $this->max_input, 'NBR_QUESTIONS' => $i)); $template->assign_block_vars('fieldelements', array('ELEMENT' => $tpl->render())); return $template; }
public function get_menu_content() { //Create file template $tpl = new FileTemplate('web/WebModuleMiniMenu.tpl'); //Assign the lang file to the tpl $tpl->add_lang(LangLoader::get('common', 'web')); //Load module cache $web_cache = WebCache::load(); $partners_weblinks = $web_cache->get_partners_weblinks(); $tpl->put('C_PARTNERS', !empty($partners_weblinks)); foreach ($partners_weblinks as $partner) { $partner_picture = new Url($partner['partner_picture']); $picture = $partner_picture->rel(); $tpl->assign_block_vars('partners', array('C_HAS_PARTNER_PICTURE' => !empty($picture), 'NAME' => $partner['name'], 'U_PARTNER_PICTURE' => $picture, 'U_VISIT' => WebUrlBuilder::visit($partner['id'])->rel())); } return $tpl->render(); }
function display() { $template = $this->get_template_to_use(); $lang = LangLoader::get('admin-user-common'); $tpl = new FileTemplate('contact/ContactFormFieldRecipientsPossibleValues.tpl'); $tpl->add_lang($lang); $this->assign_common_template_variables($template); $i = 0; foreach ($this->get_value() as $name => $options) { if (!empty($options)) { $tpl->assign_block_vars('fieldelements', array('C_DELETABLE' => $i > 0, 'ID' => $i, 'NAME' => stripslashes($options['title']), 'IS_DEFAULT' => (int) $options['is_default'], 'EMAIL' => $i > 0 ? stripslashes($options['email']) : implode(',', MailServiceConfig::load()->get_administrators_mails()))); $i++; } } $tpl->put_all(array('NAME' => $this->get_html_id(), 'HTML_ID' => $this->get_html_id(), 'C_DISABLED' => $this->is_disabled(), 'MAX_INPUT' => $this->max_input, 'NBR_FIELDS' => $i)); $template->assign_block_vars('fieldelements', array('ELEMENT' => $tpl->render())); return $template; }
public static function display_admin_actions_menu(Module $module) { $id_module = $module->get_id(); $configuration = $module->get_configuration(); $admin_main_page = $configuration->get_admin_main_page(); $tpl = new FileTemplate('framework/module/admin_module_actions_links_menu.tpl'); $tpl->put_all(array('U_LINK' => TPL_PATH_TO_ROOT . '/' . $id_module . '/' . $configuration->get_admin_main_page(), 'NAME' => $configuration->get_name(), 'IMG' => TPL_PATH_TO_ROOT . '/' . $id_module . '/' . $id_module . '_mini.png', 'C_HAS_SUB_LINK' => false, 'C_DISPLAY' => !empty($admin_main_page))); $tree_links = self::get_tree_links($id_module); if ($tree_links !== null) { $actions_tree_links = $tree_links->get_actions_tree_links(); $tpl->put_all(array('C_HAS_SUB_LINK' => $actions_tree_links->has_links(), 'C_DISPLAY' => $actions_tree_links->has_links() || !empty($admin_main_page))); $home_page = $configuration->get_home_page(); if (!empty($home_page)) { $module_home = new ModuleLink(LangLoader::get_message('home', 'main'), new Url('/' . $id_module . '/' . $home_page)); $tpl->assign_block_vars('element', array(), array('ELEMENT' => $module_home->export())); } return self::display($actions_tree_links, $tpl); } return $tpl; }
public function get_menu_content() { //Create file template $tpl = new FileTemplate('shoutbox/ShoutboxModuleMiniMenu.tpl'); //Assign the lang file to the tpl $tpl->add_lang(LangLoader::get('common', 'shoutbox')); $config = ShoutboxConfig::load(); $forbidden_tags = array_flip($config->get_forbidden_formatting_tags()); if ($config->is_shout_bbcode_enabled()) { $smileys_cache = SmileysCache::load(); $smileys_per_line = 5; //Smileys par ligne. $smileys_displayed_number = 0; foreach ($smileys_cache->get_smileys() as $code_smile => $infos) { $smileys_displayed_number++; $tpl->assign_block_vars('smileys', array('C_END_LINE' => $smileys_displayed_number % $smileys_per_line == 0, 'URL' => TPL_PATH_TO_ROOT . '/images/smileys/' . $infos['url_smiley'], 'CODE' => addslashes($code_smile))); } } $tpl->put_all(array('C_MEMBER' => AppContext::get_current_user()->check_level(User::MEMBER_LEVEL), 'C_DISPLAY_FORM' => ShoutboxAuthorizationsService::check_authorizations()->write() && !AppContext::get_current_user()->is_readonly(), 'C_VALIDATE_ONKEYPRESS_ENTER' => $config->is_validation_onkeypress_enter_enabled(), 'C_DISPLAY_SHOUT_BBCODE' => ModulesManager::is_module_installed('BBCode') && $config->is_shout_bbcode_enabled(), 'C_BOLD_DISABLED' => isset($forbidden_tags['b']), 'C_ITALIC_DISABLED' => isset($forbidden_tags['i']), 'C_UNDERLINE_DISABLED' => isset($forbidden_tags['u']), 'C_STRIKE_DISABLED' => isset($forbidden_tags['s']), 'C_AUTOMATIC_REFRESH_ENABLED' => $config->is_automatic_refresh_enabled(), 'SHOUTBOX_PSEUDO' => AppContext::get_current_user()->get_display_name(), 'SHOUT_REFRESH_DELAY' => $config->get_refresh_delay(), 'L_ALERT_LINK_FLOOD' => sprintf(LangLoader::get_message('e_l_flood', 'errors'), $config->get_max_links_number_per_message()), 'SHOUTBOX_MESSAGES' => ShoutboxAjaxRefreshMessagesController::get_view())); return $tpl->render(); }
private function get_view() { $this->check_authorizations(); global $Bread_crumb, $LANG; require_once PATH_TO_ROOT . '/poll/poll_begin.php'; $tpl = new FileTemplate('poll/poll.tpl'); $now = new Date(); $show_archives = PersistenceContext::get_querier()->count(PREFIX . "poll", 'WHERE archive = 1 AND visible = 1 AND start <= :timestamp AND (end >= :timestamp OR end = 0)', array('timestamp' => $now->get_timestamp())); $show_archives = !empty($show_archives) ? '<a href="poll' . url('.php?archives=1', '.php?archives=1') . '">' . $LANG['archives'] . '</a>' : ''; $edit = ''; if (AppContext::get_current_user()->check_level(User::ADMIN_LEVEL)) { $edit = '<a href="' . PATH_TO_ROOT . '/poll/admin_poll.php" title="' . LangLoader::get_message('edit', 'common') . '" class="fa fa-edit"></a>'; } $tpl->put_all(array('C_POLL_MAIN' => true, 'EDIT' => $edit, 'U_ARCHIVE' => $show_archives, 'L_POLL' => $LANG['poll'], 'L_POLL_MAIN' => $LANG['poll_main'])); $result = PersistenceContext::get_querier()->select("SELECT id, question \r\n\t\tFROM " . PREFIX . "poll \r\n\t\tWHERE archive = 0 AND visible = 1 AND start <= :timestamp AND (end >= :timestamp OR end = 0)\r\n\t\tORDER BY id DESC", array('timestamp' => $now->get_timestamp())); while ($row = $result->fetch()) { $tpl->assign_block_vars('list', array('U_POLL_ID' => url('.php?id=' . $row['id'], '-' . $row['id'] . '.php'), 'QUESTION' => stripslashes($row['question']))); } $result->dispose(); return $tpl; }
public function get_menu_content() { $tpl = new FileTemplate('online/OnlineModuleMiniMenu.tpl'); $lang = LangLoader::get('common', 'online'); $tpl->add_lang($lang); $online_config = OnlineConfig::load(); $condition = 'WHERE s.timestamp > :time ORDER BY ' . $online_config->get_display_order_request(); $parameters = array('time' => time() - SessionsConfig::load()->get_active_session_duration()); $users = OnlineService::get_online_users($condition, $parameters); foreach ($users as $user) { $this->incremente_level($user); if ($this->total_users <= $online_config->get_number_member_displayed()) { $group_color = User::get_group_color($user->get_groups(), $user->get_level(), true); if ($user->get_level() != User::VISITOR_LEVEL) { $tpl->assign_block_vars('users', array('U_PROFILE' => UserUrlBuilder::profile($user->get_id())->rel(), 'PSEUDO' => TextHelper::wordwrap_html($user->get_display_name(), 19), 'LEVEL_CLASS' => UserService::get_level_class($user->get_level()), 'C_GROUP_COLOR' => !empty($group_color), 'GROUP_COLOR' => $group_color)); } } } $main_lang = LangLoader::get('main'); $tpl->put_all(array('C_MORE_USERS' => $this->total_users > $online_config->get_number_member_displayed(), 'L_VISITOR' => $this->number_visitor > 1 ? $main_lang['guest_s'] : $main_lang['guest'], 'L_MEMBER' => $this->number_member > 1 ? $main_lang['member_s'] : $main_lang['member'], 'L_MODO' => $this->number_moderator > 1 ? $main_lang['modo_s'] : $main_lang['modo'], 'L_ADMIN' => $this->number_administrator > 1 ? $main_lang['admin_s'] : $main_lang['admin'], 'L_USERS_ONLINE' => $this->total_users > 1 ? $lang['online_users'] : $lang['online_user'], 'L_TOTAL' => $main_lang['total'], 'TOTAL_USERS_CONNECTED' => $this->total_users, 'TOTAL_VISITOR_CONNECTED' => $this->number_visitor, 'TOTAL_MEMBER_CONNECTED' => $this->number_member, 'TOTAL_MODERATOR_CONNECTED' => $this->number_moderator, 'TOTAL_ADMINISTRATOR_CONNECTED' => $this->number_administrator)); return $tpl->render(); }
public function get_menu_content() { //Create file template $tpl = new FileTemplate('download/DownloadModuleMiniMenu.tpl'); //Assign the lang file to the tpl $tpl->add_lang(LangLoader::get('common', 'download')); //Load module config $config = DownloadConfig::load(); //Load module cache $download_cache = DownloadCache::load(); //Load categories cache $categories_cache = DownloadService::get_categories_manager()->get_categories_cache(); $downloadfiles = $download_cache->get_downloadfiles(); $tpl->put_all(array('C_FILES' => !empty($downloadfiles), 'C_SORT_BY_DATE' => $config->is_sort_type_date(), 'C_SORT_BY_NOTATION' => $config->is_sort_type_notation(), 'C_SORT_BY_NUMBER_DOWNLOADS' => $config->is_sort_type_number_downloads())); $displayed_position = 1; foreach ($downloadfiles as $file) { $downloadfile = new DownloadFile(); $downloadfile->set_properties($file); $tpl->assign_block_vars('downloadfiles', array_merge($downloadfile->get_array_tpl_vars(), array('DISPLAYED_POSITION' => $displayed_position))); $displayed_position++; } return $tpl->render(); }
public function get_content() { $user = AppContext::get_current_user(); $theme_id = AppContext::get_request()->get_string('switchtheme', ''); if (!empty($theme_id)) { $theme = ThemesManager::get_theme($theme_id); if ($theme !== null) { if ($theme->is_activated() && $theme->check_auth()) { $user->update_theme($theme->get_id()); } } $query_string = preg_replace('`switchtheme=[^&]+`', '', QUERY_STRING); AppContext::get_response()->redirect(trim(HOST . SCRIPT . (!empty($query_string) ? '?' . $query_string : ''))); } $tpl = new FileTemplate('ThemesSwitcher/themeswitcher.tpl'); $tpl->add_lang(LangLoader::get('themeswitcher_common', 'ThemesSwitcher')); foreach (ThemesManager::get_activated_and_authorized_themes_map() as $id => $theme) { $selected = $user->get_theme() == $id ? ' selected="selected"' : ''; $tpl->assign_block_vars('themes', array('NAME' => $theme->get_configuration()->get_name(), 'IDNAME' => $id, 'SELECTED' => $selected)); } $tpl->put('DEFAULT_THEME', UserAccountsConfig::load()->get_default_theme()); return $tpl; }
public function get_content() { $user = AppContext::get_current_user(); $lang_id = AppContext::get_request()->get_string('switchlang', ''); if (!empty($lang_id)) { $lang = LangsManager::get_lang($lang_id); if ($lang !== null) { if ($lang->is_activated() && $lang->check_auth()) { $user->update_lang($lang->get_id()); } } $query_string = preg_replace('`switchlang=[^&]+`', '', QUERY_STRING); AppContext::get_response()->redirect(trim(HOST . SCRIPT . (!empty($query_string) ? '?' . $query_string : ''))); } $tpl = new FileTemplate('LangsSwitcher/langswitcher.tpl'); $tpl->add_lang(LangLoader::get('langswitcher_common', 'LangsSwitcher')); foreach (LangsManager::get_activated_and_authorized_langs_map() as $id => $lang) { $selected = $user->get_locale() == $id ? ' selected="selected"' : ''; $tpl->assign_block_vars('langs', array('NAME' => $lang->get_configuration()->get_name(), 'IDNAME' => $id, 'SELECTED' => $selected)); } $lang_identifier = str_replace('en', 'uk', LangLoader::get_message('xml_lang', 'main')); $tpl->put_all(array('DEFAULT_LANG' => UserAccountsConfig::load()->get_default_lang(), 'IMG_LANG_IDENTIFIER' => TPL_PATH_TO_ROOT . '/images/stats/countries/' . $lang_identifier . '.png')); return $tpl; }
AppContext::get_response()->redirect('/forum/index' . url('.php')); } if (!AppContext::get_current_user()->check_level(User::MEMBER_LEVEL)) { $error_controller = PHPBoostErrors::user_not_authorized(); DispatchManager::redirect($error_controller); } $tpl = new FileTemplate('forum/forum_alert.tpl'); //On fait un formulaire d'alerte if (!empty($alert) && empty($alert_post)) { //On vérifie qu'une alerte sur le même sujet n'ait pas été postée $nbr_alert = PersistenceContext::get_querier()->count(PREFIX . 'forum_alerts', 'WHERE idtopic=:idtopic AND status = 0', array('idtopic' => $alert)); if (empty($nbr_alert)) { $editor = AppContext::get_content_formatting_service()->get_default_editor(); $editor->set_identifier('contents'); $tpl->put_all(array('KERNEL_EDITOR' => $editor->display(), 'L_ALERT' => $LANG['alert_topic'], 'L_ALERT_EXPLAIN' => $LANG['alert_modo_explain'], 'L_ALERT_TITLE' => $LANG['alert_title'], 'L_ALERT_CONTENTS' => $LANG['alert_contents'], 'L_REQUIRE' => LangLoader::get_message('form.explain_required_fields', 'status-messages-common'), 'L_REQUIRE_TEXT' => $LANG['require_text'], 'L_REQUIRE_TITLE' => $LANG['require_title'])); $tpl->assign_block_vars('alert_form', array('TITLE' => $topic_name, 'U_TOPIC' => 'topic' . url('.php?id=' . $alert, '-' . $alert . '-' . Url::encode_rewrite($topic_name) . '.php'), 'ID_ALERT' => $alert)); } else { $tpl->put_all(array('L_ALERT' => $LANG['alert_topic'], 'L_BACK_TOPIC' => $LANG['alert_back'], 'URL_TOPIC' => 'topic' . url('.php?id=' . $alert, '-' . $alert . '-' . Url::encode_rewrite($topic_name) . '.php'))); $tpl->assign_block_vars('alert_confirm', array('MSG' => $LANG['alert_topic_already_done'])); } } //Si on enregistre une alerte if (!empty($alert_post)) { $tpl->put_all(array('L_ALERT' => $LANG['alert_topic'], 'L_BACK_TOPIC' => $LANG['alert_back'], 'URL_TOPIC' => 'topic' . url('.php?id=' . $alert_post, '-' . $alert_post . '-' . Url::encode_rewrite($topic_name) . '.php'))); //On vérifie qu'une alerte sur le même sujet n'ait pas été postée $nbr_alert = PersistenceContext::get_querier()->count(PREFIX . 'forum_alerts', 'WHERE idtopic=:idtopic AND status = 0', array('idtopic' => $alert_post)); if (empty($nbr_alert)) { $alert_title = retrieve(POST, 'title', ''); $alert_contents = retrieve(POST, 'contents', '', TSTRING_PARSE); //Instanciation de la class du forum. $Forumfct = new Forum();
$timestamp_today = @mktime(0, 0, 1, Date::to_format(Date::DATE_NOW, 'm'), Date::to_format(Date::DATE_NOW, 'd'), Date::to_format(Date::DATE_NOW, 'y')); $total_topics = PersistenceContext::get_querier()->count(ForumSetup::$forum_topics_table); $total_messages = PersistenceContext::get_querier()->count(ForumSetup::$forum_message_table); $total_day = max(1, $total_day); $nbr_topics_day = NumberHelper::round($total_topics / $total_day, 1); $nbr_msg_day = NumberHelper::round($total_messages / $total_day, 1); $row = PersistenceContext::get_querier()->select_single_row_query("SELECT COUNT(*) as nbr_topics_today\nFROM " . ForumSetup::$forum_topics_table . " t\nJOIN " . ForumSetup::$forum_message_table . " m ON m.id = t.first_msg_id\nWHERE m.timestamp > :timestamp", array('timestamp' => $timestamp_today)); $nbr_topics_today = $row['nbr_topics_today']; $nbr_msg_today = PersistenceContext::get_querier()->count(ForumSetup::$forum_message_table, 'WHERE timestamp > :timestamp', array('timestamp' => $timestamp_today)); $vars_tpl = array('FORUM_NAME' => $config->get_forum_name(), 'NBR_TOPICS' => $total_topics, 'NBR_MSG' => $total_messages, 'NBR_TOPICS_DAY' => $nbr_topics_day, 'NBR_MSG_DAY' => $nbr_msg_day, 'NBR_TOPICS_TODAY' => $nbr_topics_today, 'NBR_MSG_TODAY' => $nbr_msg_today, 'L_FORUM_INDEX' => $LANG['forum_index'], 'L_FORUM' => $LANG['forum'], 'L_STATS' => $LANG['stats'], 'L_NBR_TOPICS' => $total_topics > 1 ? $LANG['topic_s'] : $LANG['topic'], 'L_NBR_MSG' => $total_messages > 1 ? $LANG['message_s'] : $LANG['message'], 'L_NBR_TOPICS_DAY' => $LANG['nbr_topics_day'], 'L_NBR_MSG_DAY' => $LANG['nbr_msg_day'], 'L_NBR_TOPICS_TODAY' => $LANG['nbr_topics_today'], 'L_NBR_MSG_TODAY' => $LANG['nbr_msg_today'], 'L_LAST_MSG' => $LANG['forum_last_msg'], 'L_POPULAR' => $LANG['forum_popular'], 'L_ANSWERS' => $LANG['forum_nbr_answers']); //Vérification des autorisations. $authorized_categories = ForumService::get_authorized_categories(Category::ROOT_CATEGORY); //Dernières réponses $result = PersistenceContext::get_querier()->select("SELECT t.id, t.title, c.id as cid, c.auth\nFROM " . PREFIX . "forum_topics t\nLEFT JOIN " . PREFIX . "forum_cats c ON c.id = t.idcat\nWHERE c.id_parent != 0 AND c.id IN :authorized_categories\nORDER BY t.last_timestamp DESC\nLIMIT 10", array('authorized_categories' => $authorized_categories)); while ($row = $result->fetch()) { $tpl->assign_block_vars('last_msg', array('U_TOPIC_ID' => url('.php?id=' . $row['id'], '-' . $row['id'] . '.php'), 'TITLE' => stripslashes($row['title']))); } $result->dispose(); //Les plus vus $result = PersistenceContext::get_querier()->select("SELECT t.id, t.title, c.id as cid, c.auth\nFROM " . PREFIX . "forum_topics t\nLEFT JOIN " . PREFIX . "forum_cats c ON c.id = t.idcat\nWHERE c.id_parent != 0 AND c.id IN :authorized_categories\nORDER BY t.nbr_views DESC\nLIMIT 10", array('authorized_categories' => $authorized_categories)); while ($row = $result->fetch()) { $tpl->assign_block_vars('popular', array('U_TOPIC_ID' => url('.php?id=' . $row['id'], '-' . $row['id'] . '.php'), 'TITLE' => stripslashes($row['title']))); } $result->dispose(); //Les plus répondus $result = PersistenceContext::get_querier()->select("SELECT t.id, t.title, c.id as cid, c.auth\nFROM " . PREFIX . "forum_topics t\nLEFT JOIN " . PREFIX . "forum_cats c ON c.id = t.idcat\nWHERE c.id_parent != 0 AND c.id IN :authorized_categories\nORDER BY t.nbr_msg DESC\nLIMIT 10", array('authorized_categories' => $authorized_categories)); while ($row = $result->fetch()) { $tpl->assign_block_vars('answers', array('U_TOPIC_ID' => url('.php?id=' . $row['id'], '-' . $row['id'] . '.php'), 'TITLE' => stripslashes($row['title']))); } $result->dispose(); //Listes les utilisateurs en lignes.
$selected = explode('/', $input_date); $selected_day = NumberHelper::numeric($selected[0]); $selected_month = NumberHelper::numeric($selected[1]); $selected_year = NumberHelper::numeric($selected[2]); if (!checkdate($month, $day, $year)) { list($year, $month, $day) = array(date('Y'), date('n'), date('j')); } $bissextile = date("L", mktime(0, 0, 0, 1, 1, $year)) == 1 ? 29 : 28; $array_month = array(31, $bissextile, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); $array_l_month = array($date_lang['january'], $date_lang['february'], $date_lang['march'], $date_lang['april'], $date_lang['may'], $date_lang['june'], $date_lang['july'], $date_lang['august'], $date_lang['september'], $date_lang['october'], $date_lang['november'], $date_lang['december']); $month_day = $array_month[$month - 1]; $tpl->put_all(array('FIELD' => $field, 'INPUT_FIELD' => $input_field, 'CALENDAR_NUMBER' => $calendar_number, 'MONTH' => $month, 'YEAR' => $year, 'PREVIOUS_YEAR' => $month == 1 ? $year - 1 : $year, 'PREVIOUS_MONTH' => $month == 1 ? 12 : $month - 1, 'NEXT_YEAR' => $month == 12 ? $year + 1 : $year, 'NEXT_MONTH' => $month == 12 ? 1 : $month + 1)); //Génération des select. for ($i = 1; $i <= 12; $i++) { $selected = $month == $i ? 'selected="selected"' : ''; $tpl->assign_block_vars('month', array('MONTH' => '<option value="' . $i . '" ' . $selected . '>' . TextHelper::htmlentities($array_l_month[$i - 1]) . '</option>')); } for ($i = 1900; $i <= 2037; $i++) { $selected = $year == $i ? 'selected="selected"' : ''; $tpl->assign_block_vars('year', array('YEAR' => '<option value="' . $i . '" ' . $selected . '>' . $i . '</option>')); } //Premier jour du mois. $first_day = date('w', @mktime(1, 0, 0, $month, 1, $year)); if ($first_day == 0) { $first_day = 7; } //Génération du calendrier. $month = $month < 10 && substr($month, 0, 1) != 0 ? '0' . $month : $month; $j = 1; $last_day = $month_day + $first_day; for ($i = 1; $i <= 42; $i++) {
if (!in_array($criteria, array('entitled', 'module', 'status', 'creation_date', 'fixing_date', 'poster_id', 'fixer_id'))) { $criteria = 'current_status'; } $order = $order == 'desc' ? 'desc' : 'asc'; //On liste les contributions foreach (ContributionService::get_all_contributions($criteria, $order) as $this_contribution) { //Obligé de faire une variable temp à cause de php4. $creation_date = $this_contribution->get_creation_date(); $fixing_date = $this_contribution->get_fixing_date(); //Affichage des contributions du membre if (AppContext::get_current_user()->check_auth($this_contribution->get_auth(), Contribution::CONTRIBUTION_AUTH_BIT) || AppContext::get_current_user()->get_id() == $this_contribution->get_poster_id()) { //On affiche seulement si on est dans le bon cadre d'affichage if ($num_contributions > CONTRIBUTIONS_PER_PAGE * ($page - 1) && $num_contributions <= CONTRIBUTIONS_PER_PAGE * $page) { $poster_group_color = User::get_group_color($this_contribution->get_poster_groups(), $this_contribution->get_poster_level()); $fixer_group_color = User::get_group_color($this_contribution->get_fixer_groups(), $this_contribution->get_fixer_level()); $template->assign_block_vars('contributions', array('C_POSTER_GROUP_COLOR' => !empty($poster_group_color), 'C_FIXER_GROUP_COLOR' => !empty($fixer_group_color), 'ENTITLED' => $this_contribution->get_entitled(), 'MODULE' => $this_contribution->get_module_name(), 'STATUS' => $this_contribution->get_status_name(), 'CREATION_DATE' => $creation_date->format(Date::FORMAT_DAY_MONTH_YEAR), 'FIXING_DATE' => $fixing_date->format(Date::FORMAT_DAY_MONTH_YEAR), 'POSTER' => $this_contribution->get_poster_login(), 'POSTER_LEVEL_CLASS' => UserService::get_level_class($this_contribution->get_poster_level()), 'POSTER_GROUP_COLOR' => $poster_group_color, 'FIXER' => $this_contribution->get_fixer_login(), 'FIXER_LEVEL_CLASS' => UserService::get_level_class($this_contribution->get_fixer_level()), 'FIXER_GROUP_COLOR' => $fixer_group_color, 'ACTIONS' => '', 'U_FIXER_PROFILE' => UserUrlBuilder::profile($this_contribution->get_fixer_id())->rel(), 'U_POSTER_PROFILE' => UserUrlBuilder::profile($this_contribution->get_poster_id())->rel(), 'U_CONSULT' => PATH_TO_ROOT . '/user/' . url('contribution_panel.php?id=' . $this_contribution->get_id()), 'C_FIXED' => $this_contribution->get_status() == Event::EVENT_STATUS_PROCESSED, 'C_PROCESSING' => $this_contribution->get_status() == Event::EVENT_STATUS_BEING_PROCESSED)); } $num_contributions++; } } $pagination = new ModulePagination($page, $num_contributions, CONTRIBUTIONS_PER_PAGE); $pagination->set_url(new Url('/user/contribution_panel.php?p=%d&criteria=' . $criteria . '&order=' . $order)); if ($pagination->current_page_is_empty() && $page > 1) { $error_controller = PHPBoostErrors::unexisting_page(); DispatchManager::redirect($error_controller); } if ($num_contributions > 1) { $template->put_all(array('C_PAGINATION' => $pagination->has_several_pages(), 'PAGINATION' => $pagination->display())); } else { $template->put_all(array('C_NO_CONTRIBUTION' => true, 'L_NO_CONTRIBUTION_TO_DISPLAY' => LangLoader::get_message('no_item_now', 'common'))); }
private function get_html_code() { $tpl = new FileTemplate('framework/builder/form/FormFieldMultipleSelectChoice.tpl'); $lang = LangLoader::get('main'); $tpl->put_all(array('NAME' => $this->get_html_id(), 'ID' => $this->get_id(), 'HTML_ID' => $this->get_html_id(), 'FORM_ID' => $this->get_form_id(), 'SIZE' => $this->size, 'CSS_CLASS' => $this->get_css_class(), 'C_DISABLED' => $this->is_disabled(), 'C_REQUIRED' => $this->is_required(), 'L_SELECT_ALL' => $lang['select_all'], 'L_UNSELECT_ALL' => $lang['select_none'], 'L_SELECT_EXPLAIN' => $lang['explain_select_multiple'])); foreach ($this->get_options() as $multiple_select_option) { if ($multiple_select_option instanceof FormFieldSelectChoiceGroupOption) { foreach ($multiple_select_option->get_options() as $option) { $select = $this->is_selected($option); if ($select) { $option->set_active(); } } } else { $select = $this->is_selected($multiple_select_option); if ($select) { $multiple_select_option->set_active(); } } $tpl->assign_block_vars('options', array('OPTION' => $multiple_select_option->display())); } return $tpl; }
} $tpl->put_all(array('L_SITE' => $LANG['site'], 'L_STATS' => $LANG['stats'], 'L_USERS' => $LANG['member_s'], 'L_VISITS' => $LANG['guest_s'], 'L_PAGES' => $LANG['page_s'], 'L_BROWSERS' => $LANG['browser_s'], 'L_OS' => $LANG['os'], 'L_LANG' => $LANG['stat_lang'], 'L_KEYWORD' => $LANG['keyword_s'], 'L_REFERER' => $LANG['referer_s'], 'L_ROBOTS' => $LANG['robots'], 'L_UPDATE' => $LANG['update'], 'L_RESET' => $LANG['reset'], 'L_AUTHORIZATIONS' => $LANG['admin.authorizations'], 'L_READ_AUTHORIZATION' => $LANG['admin.authorizations.read'], 'READ_AUTHORIZATION' => Authorizations::generate_select(StatsAuthorizationsService::READ_AUTHORIZATIONS, StatsConfig::load()->get_authorizations()))); $date_lang = LangLoader::get('date-common'); if (!empty($members)) { $stats_cache = StatsCache::load(); $last_user_group_color = User::get_group_color($stats_cache->get_stats_properties('last_member_groups'), $stats_cache->get_stats_properties('last_member_level')); $tpl->put_all(array('C_STATS_USERS' => true, 'C_LAST_USER_GROUP_COLOR' => !empty($last_user_group_color), 'LAST_USER' => $stats_cache->get_stats_properties('last_member_login'), 'LAST_USER_LEVEL_CLASS' => UserService::get_level_class($stats_cache->get_stats_properties('last_member_level')), 'LAST_USER_GROUP_COLOR' => $last_user_group_color, 'U_LAST_USER_PROFILE' => UserUrlBuilder::profile($stats_cache->get_stats_properties('last_member_id'))->rel(), 'USERS' => $stats_cache->get_stats_properties('nbr_members'), 'GRAPH_RESULT_THEME' => !file_exists('../cache/theme.png') ? '<img src="display_stats.php?theme=1" alt="' . $LANG['theme_s'] . '" />' : '<img src="../cache/theme.png" alt="' . $LANG['theme_s'] . '" />', 'GRAPH_RESULT_SEX' => !file_exists('../cache/sex.png') ? '<img src="display_stats.php?sex=1" alt="' . $LANG['sex'] . '" />' : '<img src="../cache/sex.png" alt="' . $LANG['sex'] . '" />', 'L_LAST_USER' => $LANG['last_member'], 'L_TEMPLATES' => $LANG['theme_s'], 'L_PSEUDO' => LangLoader::get_message('display_name', 'user-common'), 'L_MSG' => $LANG['message_s'], 'L_TOP_TEN_POSTERS' => $LANG['top_10_posters'], 'L_COLORS' => $LANG['colors'], 'L_USERS' => $LANG['member_s'], 'L_SEX' => $LANG['sex'])); $stats_array = array(); foreach (ThemesManager::get_activated_themes_map() as $theme) { $stats_array[$theme->get_id()] = $db_querier->count(DB_TABLE_MEMBER, "WHERE theme = '" . $theme->get_id() . "'"); } $Stats = new ImagesStats(); $Stats->load_data($stats_array, 'ellipse'); foreach ($Stats->data_stats as $name => $angle_value) { $array_color = $Stats->array_allocated_color[$Stats->image_color_allocate_dark(false, NO_ALLOCATE_COLOR)]; $tpl->assign_block_vars('templates', array('NBR_THEME' => NumberHelper::round($angle_value * $Stats->nbr_entry / 360, 0), 'COLOR' => 'RGB(' . $array_color[0] . ', ' . $array_color[1] . ', ' . $array_color[2] . ')', 'THEME' => $name == 'Other' ? $LANG['other'] : $name, 'PERCENT' => NumberHelper::round($angle_value / 3.6, 1))); } $stats_array = array(); $result = $db_querier->select("SELECT member.user_id, count(ext_field.user_sex) as compt, ext_field.user_sex\n\t\tFROM " . PREFIX . "member member\n\t\tLEFT JOIN " . DB_TABLE_MEMBER_EXTENDED_FIELDS . " ext_field ON ext_field.user_id = member.user_id\n\t\tGROUP BY ext_field.user_sex\n\t\tORDER BY compt"); while ($row = $result->fetch()) { switch ($row['user_sex']) { case 0: $name = $LANG['unknown']; break; case 1: $name = $LANG['male']; break; case 2: $name = $LANG['female']; break; }
} $user_accounts_config = UserAccountsConfig::load(); //Avatar if (empty($row['user_avatar'])) { $user_avatar = $user_accounts_config->is_default_avatar_enabled() == '1' ? '<img src="../templates/' . AppContext::get_current_user()->get_theme() . '/images/' . $user_accounts_config->get_default_avatar_name() . '" alt="' . LangLoader::get_message('avatar', 'user-common') . '" />' : ''; } else { $user_avatar = '<img src="' . Url::to_rel($row['user_avatar']) . '" alt="' . LangLoader::get_message('avatar', 'user-common') . '" />'; } //Affichage du nombre de message. if ($row['posted_msg'] >= 1) { $posted_msg = '<a href="' . UserUrlBuilder::messages($row['user_id'])->rel() . '" class="small">' . $LANG['message_s'] . '</a>: ' . $row['posted_msg']; } else { $posted_msg = !$is_guest ? '<a href="' . PATH_TO_ROOT . '/forum/membermsg' . url('.php?id=' . $row['user_id'], '') . '" class="small">' . $LANG['message'] . '</a>: 0' : $LANG['message'] . ': 0'; } $user_sign_field = $extended_fields_cache->get_extended_field_by_field_name('user_sign'); $tpl->assign_block_vars('list', array('C_GROUP_COLOR' => !empty($group_color), 'C_GUEST' => empty($row['display_name']), 'CONTENTS' => FormatingHelper::second_parse($row['contents']), 'DATE' => $LANG['on'] . ' ' . Date::to_format($row['timestamp'], Date::FORMAT_DAY_MONTH_YEAR_HOUR_MINUTE), 'ID' => $row['id'], 'USER_RANK' => $row['warning_percentage'] < '100' || time() - $row['delay_banned'] < 0 ? $user_rank : LangLoader::get_message('banned', 'user-common'), 'USER_IMG_ASSOC' => $user_assoc_img, 'USER_AVATAR' => $user_avatar, 'USER_GROUP' => $user_groups, 'USER_DATE' => !$is_guest ? $LANG['registered_on'] . ': ' . Date::to_format($row['registered'], Date::FORMAT_DAY_MONTH_YEAR) : '', 'USER_MSG' => !$is_guest ? $posted_msg : '', 'USER_MAIL' => !empty($row['email']) && $row['show_email'] == '1' ? '<a href="mailto:' . $row['email'] . '" class="basic-button smaller">Mail</a>' : '', 'USER_SIGN' => !empty($row['user_sign']) && !empty($user_sign_field) && $user_sign_field['display'] ? '____________________<br />' . FormatingHelper::second_parse($row['user_sign']) : '', 'USER_WARNING' => $row['warning_percentage'], 'USER_PM' => !$is_guest && AppContext::get_current_user()->check_level(User::MEMBER_LEVEL) ? '<a href="' . UserUrlBuilder::personnal_message($row['user_id'])->rel() . '" class="basic-button smaller">MP</a>' : '', 'USER_ONLINE' => '<i class="fa ' . (!empty($row['connect']) ? 'fa-online' : 'fa-offline') . '"></i>', 'USER_PSEUDO' => !empty($row['display_name']) ? wordwrap(TextHelper::html_entity_decode($row['display_name']), 13, '<br />', 1) : $LANG['guest'], 'LEVEL_CLASS' => UserService::get_level_class($row['level']), 'GROUP_COLOR' => $group_color, 'U_USER_PROFILE' => UserUrlBuilder::profile($row['user_id'])->rel(), 'U_VARS_ANCRE' => url('.php?id=' . $row['idtopic'], '-' . $row['idtopic'] . $rewrited_title . '.php'), 'U_FORUM_CAT' => '<a class="forum-mbrmsg-links" href="' . PATH_TO_ROOT . '/forum/forum' . url('.php?id=' . $row['idcat'], '-' . $row['idcat'] . $rewrited_cat_title . '.php') . '">' . $row['name'] . '</a>', 'U_TITLE_T' => '<a class="forum-mbrmsg-links" href="' . PATH_TO_ROOT . '/forum/topic' . url('.php?id=' . $row['idtopic'], '-' . $row['idtopic'] . $rewrited_title . '.php') . '">' . stripslashes($row['title']) . '</a>')); foreach ($displayed_extended_fields as $field_type) { $field = $extended_fields_cache->get_extended_field_by_field_name($field_type); if (!empty($row[$field_type]) && !empty($field) && $field['display']) { $button = ''; if ($field['regex'] == 4) { foreach (MemberShortTextExtendedField::$brands_pictures_list as $id => $parameters) { if (strstr($row[$field_type], $id)) { $button = '<a href="mailto:' . $row[$field_type] . '" class="basic-button smaller"><i class="fa ' . $parameters['picture'] . '"></i> ' . $parameters['title'] . '</a>'; } } } else { if ($field['regex'] == 5) { $button = '<a href="' . $row[$field_type] . '" class="basic-button smaller">' . LangLoader::get_message('regex.website', 'admin-user-common') . '</a>'; foreach (MemberShortTextExtendedField::$brands_pictures_list as $id => $parameters) { if (strstr($row[$field_type], $id)) {
protected function assign_common_template_variables(Template $template) { $has_js_validations = false; $js_tpl = new FileTemplate('framework/builder/form/AddFieldJS.tpl'); foreach ($this->get_related_fields() as $field) { $js_tpl->assign_block_vars('related_field', array('ID' => $field)); $has_js_validations = true; } foreach ($this->events as $event => $handler) { $js_tpl->assign_block_vars('event_handler', array('EVENT' => $event, 'HANDLER' => $handler)); $has_js_validations = true; } foreach ($this->get_js_validations() as $constraint) { $js_tpl->assign_block_vars('constraint', array('CONSTRAINT' => $constraint)); $has_js_validations = true; } $js_tpl->put_all(array('C_DISABLED' => $this->is_disabled(), 'C_HAS_CONSTRAINTS' => $this->has_constraints(), 'ID' => $this->get_id(), 'HTML_ID' => $this->get_html_id(), 'JS_SPECIALIZATION_CODE' => $this->get_js_specialization_code(), 'FORM_ID' => $this->form_id, 'FIELDSET_ID' => $this->fieldset_id)); $template->put('ADD_FIELD_JS', $js_tpl); $description = $this->get_description(); $template->put_all(array('ID' => $this->get_id(), 'HTML_ID' => $this->get_html_id(), 'NAME' => $this->get_html_id(), 'LABEL' => $this->get_label(), 'DESCRIPTION' => $description, 'C_DESCRIPTION' => !empty($description), 'C_REQUIRED' => $this->is_required(), 'C_REQUIRED_AND_HAS_VALUE' => $this->is_required() && (!empty($this->value) || $this->value == '0'), 'VALUE' => $this->get_value(), 'C_HAS_CONSTRAINTS' => $this->has_constraints(), 'CLASS' => $this->get_css_class(), 'FIELD_CLASS' => $this->get_css_field_class(), 'C_HAS_FIELD_CLASS' => $this->get_css_field_class() != '', 'FORM_FIELD_CLASS' => $this->get_css_form_field_class(), 'C_HAS_FORM_FIELD_CLASS' => $this->get_css_form_field_class() != '', 'FORM_ID' => $this->form_id, 'FIELDSET_ID' => $this->fieldset_id, 'C_HAS_LABEL' => !empty($description) || $this->get_label() != '', 'C_DISABLED' => $this->is_disabled(), 'C_READONLY' => $this->is_readonly(), 'C_HIDDEN' => $this->is_hidden(), 'C_PATTERN' => $this->has_pattern(), 'PATTERN' => $this->pattern, 'C_PLACEHOLDER' => $this->has_placeholder(), 'PLACEHOLDER' => $this->placeholder)); }
public function export() { $tpl = new FileTemplate('framework/module/module_actions_link.tpl'); $tpl->put_all(array('C_HAS_SUB_LINK' => $this->has_sub_link(), 'C_IS_ACTIVE' => $this->is_active(), 'NAME' => $this->get_name(), 'U_LINK' => $this->get_url()->rel())); foreach ($this->get_sub_link() as $element) { if ($element->is_visible()) { $tpl->assign_block_vars('element', array(), array('ELEMENT' => $element->export())); } } return $tpl; }
$error = ''; $tpl = new FileTemplate('wiki/post.tpl'); $captcha = AppContext::get_captcha_service()->get_default_factory(); if (!empty($contents)) { include_once '../wiki/wiki_functions.php'; //On crée le menu des paragraphes et on enregistre le menu $menu = ''; //Si on détecte la syntaxe des menus alors on lance les fonctions, sinon le menu sera vide et non affiché if (preg_match('`[\\-]{2,6}`isU', $contents)) { $menu_list = wiki_explode_menu($contents); //On éclate le menu en tableaux $menu = wiki_display_menu($menu_list); //On affiche le menu } if ($preview) { $tpl->assign_block_vars('preview', array('CONTENTS' => FormatingHelper::second_parse(wiki_no_rewrite(stripslashes($contents))), 'TITLE' => stripslashes($title))); if (!empty($menu)) { $tpl->assign_block_vars('preview.menu', array('MENU' => $menu)); } } else { if ($id_edit > 0) { try { $article_infos = PersistenceContext::get_querier()->select_single_row(PREFIX . "wiki_articles", array('encoded_title', 'auth'), 'WHERE id = :id', array('id' => $id_edit)); } catch (RowNotFoundException $e) { $error_controller = PHPBoostErrors::unexisting_page(); DispatchManager::redirect($error_controller); } //Autorisations $general_auth = empty($article_infos['auth']) ? true : false; $article_auth = !empty($article_infos['auth']) ? unserialize($article_infos['auth']) : array(); if (!((!$general_auth || AppContext::get_current_user()->check_auth($config->get_authorizations(), WIKI_EDIT)) && ($general_auth || AppContext::get_current_user()->check_auth($article_auth, WIKI_EDIT)))) {
$urls[] = array('name' => $feed_cat->get_category_name(), 'url' => $url, 'level' => $level, 'feed_name' => $feed_type, 'selected' => $feed_url_edit == $url); } return array_merge($urls, get_feeds_children($feed_cat->get_children(), $module_id, $feed_type, $feed_url_edit, $level + 1)); } return array(); } $feeds_modules = AppContext::get_extension_provider_service()->get_providers(FeedProvider::EXTENSION_POINT); foreach (ModulesManager::get_installed_modules_map_sorted_by_localized_name() as $id => $module) { if (array_key_exists($module->get_id(), $feeds_modules)) { $list = $feeds_modules[$module->get_id()]->get_extension_point(FeedProvider::EXTENSION_POINT); $list = $list->get_feeds_list(); foreach ($list->get_feeds_list() as $feed_type => $object) { $urls = get_feeds($object, $module->get_id(), $feed_type, $feed_url); $root[0] = array('name' => $object->get_category_name(), 'url' => $object->get_url($feed_type), 'level' => 0, 'feed_name' => null, 'selected' => $feed_url == $object->get_url($feed_type)); } $urls = array_merge($root, $urls); $tpl->assign_block_vars('modules', array('NAME' => ucfirst($module->get_configuration()->get_name()))); foreach ($urls as $url) { $tpl->assign_block_vars('modules.feeds_urls', array('URL' => $url['url'], 'NAME' => $url['name'], 'SPACE' => str_repeat('--', $url['level']), 'FEED_NAME' => $url['feed_name'] != 'master' ? $url['feed_name'] : null, 'SELECTED' => $url['selected'] ? ' selected="selected"' : '')); } } } $locations = ''; foreach ($array_location as $key => $name) { $locations .= '<option value="' . $key . '" ' . ($block == $key ? 'selected="selected"' : '') . '>' . $name . '</option>'; } //Filtres MenuAdminService::add_filter_fieldset($menu, $tpl); $tpl->put_all(array('LOCATIONS' => $locations)); $tpl->display(); require_once PATH_TO_ROOT . '/admin/admin_footer.php';
PersistenceContext::get_querier()->delete(PREFIX . 'forum_ranks', 'WHERE id=:id', array('id' => $get_id)); ###### Régénération du cache des rangs ####### ForumRanksCache::invalidate(); AppContext::get_response()->redirect(HOST . SCRIPT); } else { $template = new FileTemplate('forum/admin_ranks.tpl'); $template->put_all(array('L_REQUIRE_RANK_NAME' => $LANG['require_rank_name'], 'L_REQUIRE_NBR_MSG_RANK' => $LANG['require_nbr_msg_rank'], 'L_CONFIRM_DEL_RANK' => LangLoader::get_message('confirm.delete', 'status-messages-common'), 'L_FORUM_MANAGEMENT' => $LANG['forum_management'], 'L_CAT_MANAGEMENT' => $LANG['cat_management'], 'L_ADD_CAT' => $LANG['cat_add'], 'L_FORUM_RANKS_MANAGEMENT' => LangLoader::get_message('forum.ranks_management', 'common', 'forum'), 'L_FORUM_ADD_RANKS' => LangLoader::get_message('forum.actions.add_rank', 'common', 'forum'), 'L_RANK_NAME' => $LANG['rank_name'], 'L_NBR_MSG' => $LANG['nbr_msg'], 'L_IMG_ASSOC' => $LANG['img_assoc'], 'L_DELETE' => LangLoader::get_message('delete', 'common'), 'L_UPDATE' => $LANG['update'], 'L_RESET' => $LANG['reset'], 'L_ADD' => LangLoader::get_message('add', 'common'))); //On recupère les images des groupes $rank_options_array = array(); $image_folder_path = new Folder(PATH_TO_ROOT . '/forum/templates/images/ranks'); foreach ($image_folder_path->get_files('`\\.(png|jpg|bmp|gif)$`i') as $image) { $file = $image->get_name(); $rank_options_array[] = $file; } $ranks_cache = ForumRanksCache::load()->get_ranks(); foreach ($ranks_cache as $msg => $row) { if ($row['special'] == 0) { $del = '<a href="admin_ranks.php?del=1&id=' . $row['id'] . '" class="fa fa-delete" data-confirmation="delete-element"></a>'; } else { $del = $LANG['special_rank']; } $rank_options = '<option value="">--</option>'; foreach ($rank_options_array as $icon) { $selected = $icon == $row['icon'] ? ' selected="selected"' : ''; $rank_options .= '<option value="' . $icon . '"' . $selected . '>' . $icon . '</option>'; } $template->assign_block_vars('rank', array('ID' => $row['id'], 'RANK' => $row['name'], 'MSG' => $row['special'] == 0 ? '<input type="number" min="0" name="' . $row['id'] . 'msg" value="' . $msg . '">' : $LANG['special_rank'], 'RANK_OPTIONS' => $rank_options, 'IMG_RANK' => $row['icon'], 'DELETE' => $del)); } $template->display(); } require_once '../admin/admin_footer.php';