Exemplo n.º 1
0
function show_toc()
{
    global $dir_html, $site_name, $allow_edit, $auto_link, $allid;
    $content = '';
    # Read.
    foreach ($allid as $id => $val) {
        $fil = FETCH($id);
        $caption = array_shift($fil);
        $caption = rtrim(htmlspecialchars($caption));
        $content .= "<a href='{$dir_html}/{$id}.html'>{$id} - {$caption}</a><br />";
    }
    echo get_header("TOC - {$site_name}", 'Table Of Contents', 'black', 'white', get_navi(null, 0), '');
    echo "<p>{$content}</p>";
    echo get_footer();
}
Exemplo n.º 2
0
    function sp_get_macros()
    {
        global $page, $mod_comments, $_CATEGORIES, $ver, $categories, $my_lang_profile, $ENGINE_URL, $SITE_URL;
        $tmpl_list = array();
        // staff
        $tmpl_list['index']['site_name'] = SITE_NAME;
        $tmpl_list['index']['main'] = my_lang('main');
        $tmpl_list['index']['url'] = SITE_URL;
        $tmpl_list['index']['crumbs'] = get_crumbs();
        $tmpl_list['index']['header'] = get_head();
        //Заголовки [модуль headers]
        $tmpl_list['index']['path'] = ENGINE_URL . '/themes/' . THEME;
        $tmpl_list['index']['site_description'] = SITE_DESC;
        //подзаголовок
        $tmpl_list['index']['Y'] = date("Y");
        $tmpl_list['index']['te_version'] = $ver;
        $tmpl_list['index']['rss'] = SITE_RSS;
        $tmpl_list['index']['auth_menu'] = bc_auth_menu();
        //<li> меню авторизации
        if (isset($_SESSION['name'])) {
            $tmpl_list['index']['user'] = $_SESSION['name'];
            /* $tmpl_list['index']['profile_link'] = <<<_MPF
                                                <a href="$SITE_URL/lib/window/profile.php" onclick="window.open(this.href, '', 'resizable=yes,status=no,location=no,toolbar=no,menubar=no,fullscreen=no,scrollbars=no,dependent=no,width=500,left=150,height=500,top=10'); return false;">$my_lang_profile</a>
            _MPF; */
        }
        //рубрики <li>
        foreach ($categories as $cat) {
            if ($cat['cat_count'] !== "0") {
                $tmpl_list['index']['cat_list'] .= '
                <li><a href="' . get_link('category', $cat['category_id']) . '">' . $cat['name'] . ' 
                <small>(' . $cat['cat_count'] . ')</small></a></li>
                ';
            }
        }
        //список страниц <li>
        $menu = get_static_list_rank();
        foreach ($menu as $link) {
            $tmpl_list['index']['menu'] .= '<li><a href="' . SITE_URL . '/' . $link['sef'] . '">' . $link['title'] . '</a></li>';
        }
        ## Cтраница
        if ($page == 'static' || isset($_REQUEST['s'])) {
            $tmpl_list['static']['title'] = print_static("title");
            $tmpl_list['static']['static'] = print_static("content");
            $f = TE_DIR . '/themes/' . THEME . '/static.html';
            if (is_file($f)) {
                $tmpl_list['index']['content'] .= sp_get_skin($f, $tmpl_list['static']);
            }
        } elseif (($page == 'article' || $page == 'main') && !isset($_REQUEST['id'])) {
            //список записей
            $DB = get_article_list();
            if (!empty($DB)) {
                if (isset($_REQUEST['category_id'])) {
                    $tmpl_list['index']['title'] = $_CATEGORIES[$_REQUEST['category_id']]['name'];
                }
                foreach ($DB as $p) {
                    if ($p['approve'] == 1) {
                        //формируем ссылку
                        if (!USE_SEF) {
                            $link = SITE_URL . '/?id=' . $p['id'];
                        } elseif (SEF_TYPE == 1) {
                            $link = SITE_URL . '/article/' . $_CATEGORIES[$p['category_id']]['sef'] . '/' . $p['sef'];
                        } elseif (SEF_TYPE == 2) {
                            $link = SITE_URL . '/' . $_CATEGORIES[$p['category_id']]['sef'] . '/' . $p['sef'];
                        }
                    }
                    if (@$_SESSION['status'] == 'admin') {
                        $tmpl_list['post_list']['post_edit_link'] = <<<_le
                    <a href="{$SITE_URL}/window/ca/?id={$p['id']}&action=edit" onclick="window.open(this.href, '', 'resizable=yes,status=no,location=no,toolbar=no,menubar=no,fullscreen=no,scrollbars=no,dependent=no,width=850,left=150,height=640,top=10'); return false;">Редактор</a>
_le;
                        $tmpl_list['post_list']['post_edit_url'] = "{$SITE_URL}/window/ca/?id={$p['id']}&action=edit";
                    }
                    $tmpl_list['post_list']['title'] = $p['title'];
                    if ($p['description'] !== '') {
                        $tmpl_list['post_list']['post'] = $p['description'] . ' <a href="' . $link . '">' . my_lang("article_more") . '</a>';
                    } else {
                        $tmpl_list['post_list']['post'] = $p['content'];
                    }
                    $tmpl_list['post_list']['post_url'] = $link;
                    $tmpl_list['post_list']['post_date'] = date(DATE_FORMAT, gm2local($p['stamp'], TZ));
                    $tmpl_list['post_list']['post_category_url'] = get_link('category', $p['category_id']);
                    $tmpl_list['post_list']['post_category'] = $_CATEGORIES[$p['category_id']]['name'];
                    $tmpl_list['post_list']['post_author'] = $p['author'];
                    $f = TE_DIR . '/themes/' . THEME . '/post_list.html';
                    if (is_file($f)) {
                        $tmpl_list['index']['content'] .= sp_get_skin($f, $tmpl_list['post_list']);
                    }
                }
                $tmpl_list['index']['navi'] = get_navi(get_artcl_sum(), ARTCLS_PER_PAGE);
            }
        } elseif (isset($_REQUEST['id'])) {
            //$tmpl_post = array_merge($tmpl_list, $tmpl_post);
            $profile = get_profile(print_article('author_id'));
            ## тело записи
            $tmpl_list['post']['title'] = print_article("title");
            $tmpl_list['post']['post'] = print_article("content");
            $tmpl_list['post']['post_category_url'] = get_link('category');
            $tmpl_list['post']['post_author'] = $profile['name'];
            $a_id = print_article("author_id");
            $tmpl_list['post']['post_author_link'] = <<<_APF
                                    <a href="{$SITE_URL}/window/profile/?author_id={$a_id}" onclick="window.open(this.href, '', 'resizable=yes,status=no,location=no,toolbar=no,menubar=no,fullscreen=no,scrollbars=no,dependent=no,width=500,left=150,height=250,top=10'); return false;">{$profile["name"]}</a>
_APF;
            if (@$_SESSION['status'] == 'admin') {
                $tmpl_list['post']['post_edit_link'] = <<<_APE
                                    <a href="{$SITE_URL}/window/ca/?id={$_REQUEST['id']}&action=edit" onclick="window.open(this.href, '', 'resizable=yes,status=no,location=no,toolbar=no,menubar=no,fullscreen=no,scrollbars=no,dependent=no,width=850,left=150,height=640,top=10'); return false;">Редактор</a>
_APE;
                $tmpl_list['post']['post_edit_url'] = "{$SITE_URL}/window/ca/?id={$_REQUEST['id']}&action=edit";
            }
            $tmpl_list['post']['post_date'] = date(DATE_FORMAT, gm2local(print_article('stamp'), TZ));
            $tmpl_list['post']['post_category'] = $_CATEGORIES[$_REQUEST['category_id']]['name'];
            $f = TE_DIR . '/themes/' . THEME . '/post.html';
            $tmpl_list['index']['content'] .= sp_get_skin($f, $tmpl_list['post']);
            ## комментарии
            if ($mod_comments) {
                //если модуль "вкл"
                function del_link($id)
                {
                    if ($_SESSION['status'] == 'admin') {
                        return '  <a href="' . SITE_URL . '/?id=' . $_REQUEST['id'] . '&cid=' . $id . '&com_act=del">X</a>';
                    } else {
                        return '';
                    }
                }
                $comm_data = get_comments();
                //получаем список комментов и начинаем обходить шаблон комментария
                if (isset($comm_data[0])) {
                    foreach ($comm_data as $p) {
                        $profile = get_profile($p['author_id']);
                        //комментатор не зарег-н
                        if (empty($p['author_id'])) {
                            $tmpl_list['comment']['name'] = $p['author'];
                            //if (!empty($p['email'])) {
                            $gra = get_gravatar($p['email'], $size = 35);
                            //}
                        } else {
                            $gra = get_gravatar($profile['email'], $size = 35);
                            $tmpl_list['comment']['name'] = <<<_PF
                        <a href="{$SITE_URL}/window/profile?author_id={$p["author_id"]}" onclick="window.open(this.href, '', 'resizable=yes,status=no,location=no,toolbar=no,menubar=no,fullscreen=no,scrollbars=no,dependent=no,width=500,left=150,height=250,top=10'); return false;">{$profile['name']}</a>
_PF;
                        }
                        $tmpl_list['comment']['name'] .= del_link($p['id']);
                        $tmpl_list['comment']['gravatar'] = $gra['img'];
                        $tmpl_list['comment']['gravatar_url'] = $gra['url'];
                        $tmpl_list['comment']['date'] = date(DATE_FORMAT, gm2local($p['date'], TZ));
                        //[lib.php, date = stamp]
                        $tmpl_list['comment']['comment'] = $p['content'];
                        $f = TE_DIR . '/themes/' . THEME . '/comment.html';
                        $tmpl_list['comment_list']['comments'] .= sp_get_skin($f, $tmpl_list['comment']);
                    }
                }
                $tmpl_list['comment_list']['comments_form'] = print_comments_form();
                //и вставляем полученный список комментариев в шаблон списка комментариев (вот неожиданность:)
                if (is_file(TE_DIR . '/themes/' . THEME . '/comment_list.html')) {
                    $tmpl_list['index']['content'] .= sp_get_skin(TE_DIR . '/themes/' . THEME . '/comment_list.html', $tmpl_list['comment_list']);
                }
            }
        } elseif ($page == "album") {
            if (is_file(TE_DIR . '/themes/' . THEME . '/album.html')) {
                $album = get_album();
                if (!empty($album)) {
                    foreach ($album as $img) {
                        $tmpl_list['album']['album'] .= '<a target="_blank" href="' . $img['url'] . '"> 
                <img src="' . $img['url'] . '" HSPACE="0" VSPACE="0" border="0"
                title="Добавлена ' . date("d.m.Y H:i:s", $img['time']) . '" style="max-height: 70px;">
                </a>';
                    }
                } else {
                    $tmpl_list['album']['album'] .= my_lang('album_empty');
                }
                $tmpl_list['index']['content'] .= sp_get_skin(TE_DIR . '/themes/' . THEME . '/album.html', $tmpl_list['album']);
            } else {
                $tmpl_list['index']['content'] .= 'Не обнаружено файла-шаблона для альбома(';
            }
        } elseif ($page == "feedback") {
            if (is_file(TE_DIR . '/themes/' . THEME . '/feedback.html')) {
                $tmpl_list['feedback']['sid'] = get_sid();
                $reg = Registry::instance();
                $tmpl_list['feedback']['feedback_msg'] = $reg->get('feedback_msg');
                $tmpl_list['index']['content'] .= sp_get_skin(TE_DIR . '/themes/' . THEME . '/feedback.html', $tmpl_list['feedback']);
            }
        }
        //список последних записей <li><a>link</a></li>
        $tmpl_list['index']['post_list'] = bc_postlist(7);
        $tmpl_list['index']['theme_list'] = bc_theme_list();
        $tmpl_list['index']['time'] = microtime(true) - ST;
        return $tmpl_list;
    }