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;
 }
    function get_feed_data_struct($idcat = 0, $name = '')
    {
        global $LANG;
        $querier = PersistenceContext::get_querier();
        $pages_config = PagesConfig::load();
        if (!defined('READ_PAGE')) {
            require_once PATH_TO_ROOT . '/pages/pages_defines.php';
        }
        load_module_lang('pages');
        $data = new FeedData();
        $data->set_title($LANG['pages_rss_desc']);
        $data->set_date(new Date());
        $data->set_link(SyndicationUrlBuilder::rss('pages', $idcat));
        $data->set_host(HOST);
        $data->set_desc($LANG['pages_rss_desc']);
        $data->set_lang($LANG['xml_lang']);
        $data->set_auth_bit(READ_PAGE);
        $where_clause = !empty($idcat) ? ' WHERE p.id_cat = :idcat' : '';
        $results = $querier->select('SELECT p.*
			FROM ' . PREFIX . 'pages p ' . $where_clause . '
			ORDER BY p.timestamp DESC LIMIT :limit OFFSET 0', array('idcat' => $idcat, 'limit' => 10));
        // Generation of the feed's items
        foreach ($results as $row) {
            $item = new FeedItem();
            $link = new Url(PagesUrlBuilder::get_link_item($row['encoded_title']));
            $item->set_title(stripslashes($row['title']));
            $item->set_link($link);
            $item->set_guid($link);
            $item->set_desc(preg_replace('`\\[page\\](.+)\\[/page\\]`U', '<br /><strong>$1</strong><hr />', FormatingHelper::second_parse($row['contents'])));
            $item->set_date(new Date($row['timestamp'], Timezone::SERVER_TIMEZONE));
            $item->set_auth(empty($row['auth']) ? $pages_config->get_authorizations() : unserialize($row['auth']));
            $data->add_item($item);
        }
        $results->dispose();
        return $data;
    }
Exemplo n.º 3
0
    $tpl->put_all(array('ID' => $page_infos['id'], 'TITLE' => stripslashes(stripslashes($page_infos['title'])), 'CONTENTS' => pages_second_parse($page_infos['contents']), 'COUNT_HITS' => $page_infos['count_hits'] ? sprintf($LANG['page_hits'], $page_infos['hits'] + 1) : '&nbsp;', 'L_LINKS' => $LANG['pages_links_list'], 'L_PAGE_OUTILS' => $LANG['pages_links_list']));
    $tpl->display();
} elseif ((!empty($encoded_title) || $id_com > 0) && $num_rows == 0) {
    $error_controller = PHPBoostErrors::unexisting_page();
    DispatchManager::redirect($error_controller);
} elseif ($id_com > 0) {
    //Commentaires activés pour cette page ?
    if ($page_infos['activ_com'] == 0) {
        DispatchManager::redirect(PHPBoostErrors::unexisting_page());
    }
    //Autorisation particulière ?
    $special_auth = !empty($page_infos['auth']);
    $array_auth = unserialize($page_infos['auth']);
    //Vérification de l'autorisation de voir 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) && ($special_auth && !AppContext::get_current_user()->check_auth($array_auth, READ_COM)) || !$special_auth && !AppContext::get_current_user()->check_auth($config_authorizations, READ_COM)) {
        DispatchManager::redirect(PHPBoostErrors::user_not_authorized());
    }
    $tpl = new FileTemplate('pages/com.tpl');
    $comments_topic = new PagesCommentsTopic();
    $comments_topic->set_id_in_module($id_com);
    $comments_topic->set_url(new Url(PagesUrlBuilder::get_link_item_com($id_com, '%s')));
    $tpl->put_all(array('COMMENTS' => CommentsService::display($comments_topic)->render()));
    $tpl->display();
} else {
    $modulesLoader = AppContext::get_extension_provider_service();
    $module = $modulesLoader->get_provider('pages');
    if ($module->has_extension_point(HomePageExtensionPoint::EXTENSION_POINT)) {
        echo $module->get_extension_point(HomePageExtensionPoint::EXTENSION_POINT)->get_home_page()->get_view()->display();
    }
}
require_once '../kernel/footer.php';