Пример #1
0
require_once '../kernel/header.php';
$Template->set_filenames(array('wiki_properties' => 'wiki/property.tpl'));
$Template->assign_vars(array('WIKI_PATH' => $Template->get_module_data_path('wiki')));
if ($random) {
    $page = $Sql->query("SELECT encoded_title FROM " . PREFIX . "wiki_articles WHERE redirect = 0 ORDER BY rand() " . $Sql->limit(0, 1), __LINE__, __FILE__);
    if (!empty($page)) {
        redirect(HOST . DIR . '/wiki/' . url('wiki.php?title=' . $page, $page));
    } else {
        redirect(HOST . DIR . '/wiki/' . url('wiki.php'));
    }
} elseif ($id_auth > 0) {
    $array_auth = !empty($article_infos['auth']) ? unserialize($article_infos['auth']) : $_WIKI_CONFIG['auth'];
    $Template->assign_block_vars('auth', array('L_TITLE' => sprintf($LANG['wiki_auth_management_article'], $article_infos['title']), 'ID' => $id_auth));
    $Template->assign_vars(array('SELECT_RESTORE_ARCHIVE' => Authorizations::generate_select(WIKI_RESTORE_ARCHIVE, $array_auth), 'SELECT_DELETE_ARCHIVE' => Authorizations::generate_select(WIKI_DELETE_ARCHIVE, $array_auth), 'SELECT_EDIT' => Authorizations::generate_select(WIKI_EDIT, $array_auth), 'SELECT_DELETE' => Authorizations::generate_select(WIKI_DELETE, $array_auth), 'SELECT_RENAME' => Authorizations::generate_select(WIKI_RENAME, $array_auth), 'SELECT_REDIRECT' => Authorizations::generate_select(WIKI_REDIRECT, $array_auth), 'SELECT_MOVE' => Authorizations::generate_select(WIKI_MOVE, $array_auth), 'SELECT_STATUS' => Authorizations::generate_select(WIKI_STATUS, $array_auth), 'SELECT_COM' => Authorizations::generate_select(WIKI_COM, $array_auth), 'L_DEFAULT' => $LANG['wiki_restore_default_auth'], 'L_EXPLAIN_DEFAULT' => $LANG['wiki_explain_restore_default_auth']));
} elseif ($wiki_status > 0) {
    $Template->assign_block_vars('status', array('L_TITLE' => sprintf($LANG['wiki_status_management_article'], $article_infos['title']), 'UNDEFINED_STATUS' => $article_infos['defined_status'] < 0 ? wiki_unparse($article_infos['undefined_status']) : '', 'ID_ARTICLE' => $wiki_status, 'NO_STATUS' => str_replace('"', '\\"', $LANG['wiki_no_status']), 'CURRENT_STATUS' => $article_infos['defined_status'] == -1 ? $LANG['wiki_undefined_status'] : ($article_infos['defined_status'] > 0 ? $LANG['wiki_status_list'][$article_infos['defined_status'] - 1][1] : $LANG['wiki_no_status']), 'SELECTED_TEXTAREA' => $article_infos['defined_status'] >= 0 ? 'disabled="disabled" style="color:grey"' : '', 'SELECTED_SELECT' => $article_infos['defined_status'] < 0 ? 'disabled="disabled"' : '', 'UNDEFINED' => $article_infos['defined_status'] < 0 ? 'checked="checked"' : '', 'DEFINED' => $article_infos['defined_status'] >= 0 ? 'checked="checked"' : ''));
    $Template->assign_block_vars('status.list', array('L_STATUS' => $LANG['wiki_no_status'], 'ID_STATUS' => 0, 'SELECTED' => $article_infos['defined_status'] == 0 ? 'selected = "selected"' : ''));
    foreach ($LANG['wiki_status_list'] as $key => $value) {
        $Template->assign_block_vars('status.list', array('L_STATUS' => $value[0], 'ID_STATUS' => $key + 1, 'SELECTED' => $article_infos['defined_status'] == $key + 1 ? 'selected = "selected"' : ''));
        $Template->assign_block_vars('status.status_array', array('ID' => $key + 1, 'TEXT' => str_replace('"', '\\"', $value[1])));
    }
} elseif ($move > 0) {
    $cats = array();
    $cat_list = display_cat_explorer($article_infos['id_cat'], $cats, 1);
    $cats = array_reverse($cats);
    if (array_key_exists(0, $cats)) {
        unset($cats[0]);
    }
    $current_cat = '';
    $nbr_cats = count($cats);
    $i = 1;
Пример #2
0
        }
        $current_cat .= ($nbr_cats > 0 ? ' / ' : '') . $_WIKI_CATS[$id_cat]['name'];
        $Template->assign_vars(array('SELECTED_CAT' => $id_cat, 'CAT_0' => '', 'CAT_LIST' => $cat_list, 'CURRENT_CAT' => $current_cat));
    } else {
        $Template->assign_block_vars('create', array());
        $contents = '';
        $result = $Sql->query_while("SELECT c.id, a.title, a.encoded_title\n\t\tFROM " . PREFIX . "wiki_cats c\n\t\tLEFT JOIN " . PREFIX . "wiki_articles a ON a.id = c.article_id\n\t\tWHERE c.id_parent = 0\n\t\tORDER BY title ASC", __LINE__, __FILE__);
        while ($row = $Sql->fetch_assoc($result)) {
            $sub_cats_number = $Sql->query("SELECT COUNT(*) FROM " . PREFIX . "wiki_cats WHERE id_parent = '" . $row['id'] . "'", __LINE__, __FILE__);
            if ($sub_cats_number > 0) {
                $Template->assign_block_vars('create.list', array('DIRECTORY' => '<li><a href="javascript:show_cat_contents(' . $row['id'] . ', 1);"><img src="' . $Template->get_module_data_path('wiki') . '/images/plus.png" alt="" id="img2_' . $row['id'] . '"  style="vertical-align:middle" /></a> 
					<a href="javascript:show_cat_contents(' . $row['id'] . ', 1);"><img src="' . $Template->get_module_data_path('wiki') . '/images/closed_cat.png" id ="img_' . $row['id'] . '" alt="" style="vertical-align:middle" /></a>&nbsp;<span id="class_' . $row['id'] . '" class=""><a href="javascript:select_cat(' . $row['id'] . ');">' . $row['title'] . '</a></span><span id="cat_' . $row['id'] . '"></span></li>'));
            } else {
                $Template->assign_block_vars('create.list', array('DIRECTORY' => '<li style="padding-left:17px;"><img src="' . $Template->get_module_data_path('wiki') . '/images/closed_cat.png" alt=""  style="vertical-align:middle" />&nbsp;<span id="class_' . $row['id'] . '" class=""><a href="javascript:select_cat(' . $row['id'] . ');">' . $row['title'] . '</a></span><span id="cat_' . $row['id'] . '"></span></li>'));
            }
        }
        $Sql->query_close($result);
        $Template->assign_vars(array('SELECTED_CAT' => 0, 'CAT_0' => 'wiki_selected_cat', 'CAT_LIST' => '', 'CURRENT_CAT' => $LANG['wiki_no_selected_cat']));
    }
    $l_action_submit = $LANG['submit'];
}
$content_editor = new ContentFormattingFactory(BBCODE_LANGUAGE);
$editor = $content_editor->get_editor();
$editor->set_identifier('contents');
$Template->assign_vars(array('TITLE' => $is_cat == 1 ? $id_edit == 0 ? $LANG['wiki_create_cat'] : sprintf($LANG['wiki_edit_cat'], $article_infos['title']) : ($id_edit == 0 ? $LANG['wiki_create_article'] : sprintf($LANG['wiki_edit_article'], $article_infos['title'])), 'KERNEL_EDITOR' => $editor->display(), 'ID_CAT' => $id_edit > 0 ? $article_infos['id_cat'] : '', 'CONTENTS' => !empty($contents_preview) ? $contents_preview : ($id_edit > 0 ? wiki_unparse(trim($contents)) : ''), 'ID_EDIT' => $id_edit, 'IS_CAT' => $is_cat, 'ID_CAT' => $id_cat, 'ARTICLE_TITLE' => !empty($encoded_title) ? $encoded_title : stripslashes($title), 'L_TITLE_FIELD' => $LANG['title'], 'TARGET' => url('post.php' . ($is_cat == 1 ? '?type=cat&amp;token=' . $Session->get_token() : '?token=' . $Session->get_token())), 'L_CONTENTS' => $LANG['wiki_contents'], 'L_ALERT_CONTENTS' => $LANG['require_text'], 'L_ALERT_TITLE' => $LANG['require_title'], 'L_RESET' => $LANG['reset'], 'L_PREVIEW' => $LANG['preview'], 'L_SUBMIT' => $l_action_submit, 'L_CAT' => $LANG['wiki_article_cat'], 'L_CURRENT_CAT' => $LANG['wiki_current_cat'], 'L_DO_NOT_SELECT_ANY_CAT' => $LANG['wiki_do_not_select_any_cat'], 'L_PREVIEWING' => $LANG['wiki_previewing'], 'L_TABLE_OF_CONTENTS' => $LANG['wiki_table_of_contents']));
include_once '../wiki/post_js_tools.php';
if (!empty($errstr)) {
    $Errorh->handler($errstr, E_USER_WARNING);
}
$Template->pparse('wiki_edit');
require_once '../kernel/footer.php';
Пример #3
0
        $tpl->assign_block_vars('create', array());
        $contents = '';
        $result = PersistenceContext::get_querier()->select("SELECT c.id, a.title, a.encoded_title\n\t\tFROM " . PREFIX . "wiki_cats c\n\t\tLEFT JOIN " . PREFIX . "wiki_articles a ON a.id = c.article_id\n\t\tWHERE c.id_parent = 0\n\t\tORDER BY title ASC");
        while ($row = $result->fetch()) {
            $module_data_path = PATH_TO_ROOT . '/wiki/templates';
            $sub_cats_number = PersistenceContext::get_querier()->count(PREFIX . "wiki_cats", 'WHERE id_parent = :id', array('id' => $row['id']));
            if ($sub_cats_number > 0) {
                $tpl->assign_block_vars('create.list', array('DIRECTORY' => '<li class="sub"><a class="parent" href="javascript:show_wiki_cat_contents(' . $row['id'] . ', 1);"><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:select_cat(' . $row['id'] . ');">' . stripslashes($row['title']) . '</a><span id="cat_' . $row['id'] . '"></span></li>'));
            } else {
                $tpl->assign_block_vars('create.list', array('DIRECTORY' => '<li class="sub"><a id="class_' . $row['id'] . '" href="javascript:select_cat(' . $row['id'] . ');"><i class="fa fa-folder"></i>' . stripslashes($row['title']) . '</a><span id="cat_' . $row['id'] . '"></span></li>'));
            }
        }
        $result->dispose();
        $tpl->put_all(array('SELECTED_CAT' => 0, 'CAT_0' => 'selected', 'CAT_LIST' => '', 'CURRENT_CAT' => $LANG['wiki_no_selected_cat']));
    }
    $l_action_submit = $LANG['submit'];
}
//On travaille uniquement en BBCode, on force le langage de l'éditeur
$content_editor = AppContext::get_content_formatting_service()->get_default_factory();
$editor = $content_editor->get_editor();
$editor->set_identifier('contents');
$tpl->put_all(array('C_VERIF_CODE' => !AppContext::get_current_user()->check_level(User::MEMBER_LEVEL), 'TITLE' => $is_cat == 1 ? $id_edit == 0 ? $LANG['wiki_create_cat'] : sprintf($LANG['wiki_edit_cat'], stripslashes($article_infos['title'])) : ($id_edit == 0 ? $LANG['wiki_create_article'] : sprintf($LANG['wiki_edit_article'], stripslashes($article_infos['title']))), 'KERNEL_EDITOR' => $editor->display(), 'ID_CAT' => $id_edit > 0 ? $article_infos['id_cat'] : '', 'CONTENTS' => !empty($contents_preview) ? $contents_preview : ($id_edit > 0 ? wiki_unparse(trim($contents)) : ''), 'ID_EDIT' => $id_edit, 'IS_CAT' => $is_cat, 'ID_CAT' => $id_cat, 'VERIF_CODE' => $captcha->display(), 'ARTICLE_TITLE' => $id_edit == 0 ? !empty($encoded_title) ? $encoded_title : stripslashes($title) : stripslashes($article_infos['title']), 'L_TITLE_FIELD' => $LANG['title'], 'TARGET' => url('post.php' . ($is_cat == 1 ? '?type=cat' : '')), 'L_CONTENTS' => $LANG['wiki_contents'], 'L_ALERT_CONTENTS' => $LANG['require_text'], 'L_ALERT_TITLE' => $LANG['require_title'], 'L_REQUIRE' => LangLoader::get_message('form.explain_required_fields', 'status-messages-common'), 'L_RESET' => $LANG['reset'], 'L_PREVIEW' => $LANG['preview'], 'L_SUBMIT' => $l_action_submit, 'L_CAT' => $LANG['wiki_article_cat'], 'L_CURRENT_CAT' => $LANG['wiki_current_cat'], 'L_DO_NOT_SELECT_ANY_CAT' => $LANG['wiki_do_not_select_any_cat'], 'L_PREVIEWING' => $LANG['wiki_previewing'], 'L_TABLE_OF_CONTENTS' => $LANG['wiki_table_of_contents']));
//outils BBcode en javascript
include_once '../wiki/post_js_tools.php';
$tpl->put('post_js_tools', $jstools_tpl);
//Eventuelles erreurs
if (!empty($errstr)) {
    $tpl->put('message_helper', MessageHelper::display($errstr, MessageHelper::WARNING));
}
$tpl->display();
require_once '../kernel/footer.php';
Пример #4
0
$request = AppContext::get_request();
$update = $request->get_postvalue('update', false);
$display_categories_on_index = $request->get_postvalue('display_categories_on_index', false);
$hits_counter = $request->get_postvalue('hits_counter', false);
$index_text = stripslashes(wiki_parse(retrieve(POST, 'contents', '', TSTRING_AS_RECEIVED)));
if ($update) {
    $config->set_wiki_name(TextHelper::strprotect(retrieve(POST, 'wiki_name', $LANG['wiki'], TSTRING_AS_RECEIVED), TextHelper::HTML_PROTECT, TextHelper::ADDSLASHES_NONE));
    $config->set_number_articles_on_index(retrieve(POST, 'number_articles_on_index', 0));
    if ($display_categories_on_index) {
        $config->display_categories_on_index();
    } else {
        $config->hide_categories_on_index();
    }
    if ($hits_counter) {
        $config->enable_hits_counter();
    } else {
        $config->disable_hits_counter();
    }
    $config->set_index_text(stripslashes(wiki_parse(retrieve(POST, 'contents', '', TSTRING_AS_RECEIVED))));
    WikiConfig::save();
    //Régénération du cache
    WikiCategoriesCache::invalidate();
}
$tpl = new FileTemplate('wiki/admin_wiki.tpl');
//On travaille uniquement en BBCode, on force le langage de l'éditeur
$content_editor = AppContext::get_content_formatting_service()->get_default_factory();
$editor = $content_editor->get_editor();
$editor->set_identifier('contents');
$tpl->put_all(array('KERNEL_EDITOR' => $editor->display(), 'HITS_SELECTED' => $config->is_hits_counter_enabled() ? 'checked="checked"' : '', 'WIKI_NAME' => $config->get_wiki_name(), 'HIDE_CATEGORIES_ON_INDEX' => !$config->are_categories_displayed_on_index() ? 'checked="checked"' : '', 'DISPLAY_CATEGORIES_ON_INDEX' => $config->are_categories_displayed_on_index() ? 'checked="checked"' : '', 'NUMBER_ARTICLES_ON_INDEX' => $config->get_number_articles_on_index(), 'DESCRIPTION' => wiki_unparse($config->get_index_text()), 'L_UPDATE' => $LANG['update'], 'L_RESET' => $LANG['reset'], 'L_PREVIEW' => $LANG['preview'], 'L_WIKI_MANAGEMENT' => $LANG['wiki_management'], 'L_WIKI_GROUPS' => $LANG['wiki_groups_config'], 'L_CONFIG_WIKI' => $LANG['wiki_config'], 'L_WHOLE_WIKI' => $LANG['wiki_config_whole'], 'L_INDEX_WIKI' => $LANG['wiki_index'], 'L_HITS_COUNTER' => $LANG['wiki_count_hits'], 'L_WIKI_NAME' => $LANG['wiki_name'], 'L_DISPLAY_CATEGORIES_ON_INDEX' => $LANG['wiki_display_cats'], 'L_NOT_DISPLAY' => $LANG['wiki_no_display'], 'L_DISPLAY' => $LANG['wiki_display'], 'L_NUMBER_ARTICLES_ON_INDEX' => $LANG['wiki_last_articles'], 'L_NUMBER_ARTICLES_ON_INDEX_EXPLAIN' => $LANG['wiki_last_articles_explain'], 'L_DESCRIPTION' => $LANG['wiki_desc']));
$tpl->display();
require_once '../admin/admin_footer.php';
Пример #5
0
<?php

require_once '../admin/admin_begin.php';
load_module_lang('wiki');
define('TITLE', $LANG['administration'] . ' : ' . $LANG['wiki']);
require_once '../admin/admin_header.php';
include_once '../wiki/wiki_functions.php';
$Cache->load('wiki');
$wiki_name = strprotect(retrieve(POST, 'wiki_name', $LANG['wiki'], TSTRING_AS_RECEIVED), HTML_PROTECT, ADDSLASHES_NONE);
$index_text = stripslashes(wiki_parse(retrieve(POST, 'contents', '', TSTRING_AS_RECEIVED)));
$last_articles = retrieve(POST, 'last_articles', 0);
$display_cats = !empty($_POST['display_cats']) ? 1 : 0;
$count_hits = !empty($_POST['count_hits']) ? 1 : 0;
if (!empty($_POST['update'])) {
    $_WIKI_CONFIG['wiki_name'] = $wiki_name;
    $_WIKI_CONFIG['last_articles'] = $last_articles;
    $_WIKI_CONFIG['display_cats'] = $display_cats;
    $_WIKI_CONFIG['index_text'] = $index_text;
    $_WIKI_CONFIG['count_hits'] = $count_hits;
    $_WIKI_CONFIG['auth'] = serialize($_WIKI_CONFIG['auth']);
    $Sql->query_inject("UPDATE " . DB_TABLE_CONFIGS . " SET value = '" . addslashes(serialize($_WIKI_CONFIG)) . "' WHERE name = 'wiki'", __LINE__, __FILE__);
    $Cache->Generate_module_file('wiki');
}
$Cache->load('wiki');
$Template->set_filenames(array('wiki_config' => 'wiki/admin_wiki.tpl'));
$content_editor = new ContentFormattingFactory(BBCODE_LANGUAGE);
$editor = $content_editor->get_editor();
$editor->set_identifier('contents');
$Template->assign_vars(array('KERNEL_EDITOR' => $editor->display(), 'HITS_SELECTED' => $_WIKI_CONFIG['count_hits'] > 0 ? 'checked="checked"' : '', 'WIKI_NAME' => $_WIKI_CONFIG['wiki_name'], 'NOT_DISPLAY_CATS' => $_WIKI_CONFIG['display_cats'] == 0 ? 'checked="checked"' : '', 'DISPLAY_CATS' => $_WIKI_CONFIG['display_cats'] != 0 ? 'checked="checked"' : '', 'LAST_ARTICLES' => $_WIKI_CONFIG['last_articles'], 'DESCRIPTION' => wiki_unparse($_WIKI_CONFIG['index_text']), 'L_UPDATE' => $LANG['update'], 'L_RESET' => $LANG['reset'], 'L_WIKI_MANAGEMENT' => $LANG['wiki_management'], 'L_WIKI_GROUPS' => $LANG['wiki_groups_config'], 'L_CONFIG_WIKI' => $LANG['wiki_config'], 'L_WHOLE_WIKI' => $LANG['wiki_config_whole'], 'L_INDEX_WIKI' => $LANG['wiki_index'], 'L_COUNT_HITS' => $LANG['wiki_count_hits'], 'L_WIKI_NAME' => $LANG['wiki_name'], 'L_DISPLAY_CATS' => $LANG['wiki_display_cats'], 'L_NOT_DISPLAY' => $LANG['wiki_no_display'], 'L_DISPLAY' => $LANG['wiki_display'], 'L_LAST_ARTICLES' => $LANG['wiki_last_articles'], 'L_LAST_ARTICLES_EXPLAIN' => $LANG['wiki_last_articles_explain'], 'L_DESCRIPTION' => $LANG['wiki_desc']));
$Template->pparse('wiki_config');
require_once '../admin/admin_footer.php';