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()); }
$new_id_cat = retrieve(POST, 'id_cat', 0); $id_cat = $id_cat > 0 ? $id_cat : $new_id_cat; $preview = !empty($_POST['preview']) ? true : false; $id_edit_get = retrieve(GET, 'id', 0); $id_edit = $id_edit > 0 ? $id_edit : $id_edit_get; require_once '../kernel/header.php'; $error = ''; if (!empty($contents)) { include_once '../wiki/wiki_functions.php'; $menu = ''; if (preg_match('`[\\-]{2,6}`isU', $contents)) { $menu_list = wiki_explode_menu($contents); $menu = wiki_display_menu($menu_list); } if ($preview) { $Template->assign_block_vars('preview', array('CONTENTS' => second_parse(wiki_no_rewrite(stripslashes($contents))), 'TITLE' => stripslashes($title))); if (!empty($menu)) { $Template->assign_block_vars('preview.menu', array('MENU' => $menu)); } } else { if ($id_edit > 0) { $article_infos = $Sql->query_array(PREFIX . "wiki_articles", "encoded_title", "auth", "WHERE id = '" . $id_edit . "'", __LINE__, __FILE__); $general_auth = empty($article_infos['auth']) ? true : false; $article_auth = !empty($article_infos['auth']) ? unserialize($article_infos['auth']) : array(); if (!((!$general_auth || $User->check_auth($_WIKI_CONFIG['auth'], WIKI_EDIT)) && ($general_auth || $User->check_auth($article_auth, WIKI_EDIT)))) { $Errorh->handler('e_auth', E_USER_REDIRECT); } $previous_id_contents = $Sql->query("SELECT id_contents FROM " . PREFIX . "wiki_articles WHERE id = '" . $id_edit . "'", __LINE__, __FILE__); $Sql->query_inject("UPDATE " . PREFIX . "wiki_contents SET activ = 0 WHERE id_contents = '" . $previous_id_contents . "'", __LINE__, __FILE__); $Sql->query_inject("INSERT INTO " . PREFIX . "wiki_contents (id_article, menu, content, activ, user_id, user_ip, timestamp) VALUES ('" . $id_edit . "', '" . addslashes($menu) . "', '" . $contents . "', 1, " . $User->get_attribute('user_id') . ", '" . USER_IP . "', " . time() . ")", __LINE__, __FILE__); $id_contents = $Sql->insert_id("SELECT MAX(id_contents) FROM " . PREFIX . "wiki_contents");
function get_home_page() { global $Sql, $User, $Template, $Cache, $Bread_crumb, $_WIKI_CONFIG, $_WIKI_CATS, $LANG; load_module_lang('wiki'); include_once '../wiki/wiki_functions.php'; $bread_crumb_key = 'wiki'; require_once '../wiki/wiki_bread_crumb.php'; unset($Template); $Template = new Template(); $Template->set_filenames(array('wiki' => 'wiki/wiki.tpl', 'index' => 'wiki/index.tpl')); $Template->assign_vars(array('WIKI_PATH' => $Template->get_module_data_path('wiki'))); if ($_WIKI_CONFIG['last_articles'] > 1) { $result = $Sql->query_while("SELECT a.title, a.encoded_title, a.id\n\t\t\tFROM " . PREFIX . "wiki_articles a\n\t\t\tLEFT JOIN " . PREFIX . "wiki_contents c ON c.id_contents = a.id_contents\n\t\t\tWHERE a.redirect = 0\n\t\t\tORDER BY c.timestamp DESC\n\t\t\tLIMIT 0, " . $_WIKI_CONFIG['last_articles'], __LINE__, __FILE__); $articles_number = $Sql->num_rows($result, "SELECT COUNT(*) FROM " . PREFIX . "wiki_articles WHERE encoded_title = '" . $encoded_title . "'", __LINE__, __FILE__); $Template->assign_block_vars('last_articles', array('L_ARTICLES' => $LANG['wiki_last_articles_list'], 'RSS' => $articles_number > 0 ? '<a href="{PATH_TO_ROOT}/syndication.php?m=wiki"><img src="../templates/' . get_utheme() . '/images/rss.png" alt="RSS" /></a>' : '')); $i = 0; while ($row = $Sql->fetch_assoc($result)) { $Template->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++; } if ($articles_number == 0) { $Template->assign_vars(array('L_NO_ARTICLE' => '<td style="text-align:center;" class="row2">' . $LANG['wiki_no_article'] . '</td>')); } } if ($_WIKI_CONFIG['display_cats'] != 0) { $Template->assign_block_vars('cat_list', array('L_CATS' => $LANG['wiki_cats_list'])); $i = 0; foreach ($_WIKI_CATS as $id => $infos) { if ($infos['id_parent'] == 0) { $Template->assign_block_vars('cat_list.list', array('CAT' => $infos['name'], 'U_CAT' => url('wiki.php?title=' . url_encode_rewrite($infos['name']), url_encode_rewrite($infos['name'])))); $i++; } } if ($i == 0) { $Template->assign_vars(array('L_NO_CAT' => $LANG['wiki_no_cat'])); } } $Template->assign_vars(array('TITLE' => !empty($_WIKI_CONFIG['wiki_name']) ? $_WIKI_CONFIG['wiki_name'] : $LANG['wiki'], 'INDEX_TEXT' => !empty($_WIKI_CONFIG['index_text']) ? second_parse(wiki_no_rewrite($_WIKI_CONFIG['index_text'])) : $LANG['wiki_empty_index'], 'L_EXPLORER' => $LANG['wiki_explorer'], 'U_EXPLORER' => url('explorer.php'), 'WIKI_PATH' => $Template->get_module_data_path('wiki'))); $page_type = 'index'; include '../wiki/wiki_tools.php'; $tmp = $Template->pparse('wiki', TRUE); return $tmp; }
$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)))) {
} } */ //Cet article comporte un type if ($article_infos['defined_status'] != 0) { if ($article_infos['defined_status'] < 0 && !empty($article_infos['undefined_status'])) { $tpl->assign_block_vars('status', array('ARTICLE_STATUS' => FormatingHelper::second_parse(wiki_no_rewrite($article_infos['undefined_status'])))); } elseif ($article_infos['defined_status'] > 0 && is_array($LANG['wiki_status_list'][$article_infos['defined_status'] - 1])) { $tpl->assign_block_vars('status', array('ARTICLE_STATUS' => $LANG['wiki_status_list'][$article_infos['defined_status'] - 1][1])); } } } if (!empty($article_infos['menu'])) { $tpl->assign_block_vars('menu', array('MENU' => $article_infos['menu'])); } $tpl->put_all(array('ID' => $article_infos['id'], 'ID_CAT' => $article_infos['id_cat'], 'TITLE' => stripslashes($article_infos['title']), 'CONTENTS' => FormatingHelper::second_parse(wiki_no_rewrite($article_infos['content'])), 'HITS' => $config->is_hits_counter_enabled() && $id_contents == 0 ? sprintf($LANG['wiki_article_hits'], (int) $article_infos['hits']) : '', 'L_SUB_CATS' => $LANG['wiki_subcats'], 'L_SUB_ARTICLES' => $LANG['wiki_subarticles'], 'L_TABLE_OF_CONTENTS' => $LANG['wiki_table_of_contents'])); if ($article_infos['is_cat'] == 1 && $id_contents == 0) { //On liste les articles de la catégorie et ses sous catégories $result = PersistenceContext::get_querier()->select("SELECT a.title, a.encoded_title, a.id\n\t\tFROM " . PREFIX . "wiki_articles a\n\t\tLEFT JOIN " . PREFIX . "wiki_contents c ON c.id_contents = a.id_contents\n\t\tWHERE a.id_cat = :id_cat AND a.id != :id AND a.redirect = 0\n\t\tORDER BY a.title", array('id_cat' => $article_infos['id_cat'], 'id' => $id_article)); $num_articles = $result->get_rows_count(); $tpl->assign_block_vars('cat', array()); while ($row = $result->fetch()) { $tpl->assign_block_vars('cat.list_art', array('TITLE' => stripslashes($row['title']), 'U_ARTICLE' => url('wiki.php?title=' . $row['encoded_title'], $row['encoded_title']))); } $result->dispose(); if ($num_articles == 0) { $tpl->assign_block_vars('cat.no_sub_article', array('NO_SUB_ARTICLE' => $LANG['wiki_no_sub_article'])); } $i = 0; foreach (WikiCategoriesCache::load()->get_categories() as $key => $cat) { if ($cat['id_parent'] == $id_cat) {