示例#1
0
     // следующая итерация
 }
 extract($page);
 if (!$full_posts) {
     mso_page_title($page_slug, $page_title, '<li>', '', true);
     mso_page_date($page_date_publish, 'd/m/Y', ' - ', '');
     echo '</li>';
 } else {
     echo NR . '<div class="page_only"><div class="wrap">' . NR;
     if ($f = mso_page_foreach('info-top')) {
         require $f;
         // подключаем кастомный вывод
     } else {
         echo '<div class="info info-top">';
         mso_page_title($page_slug, $page_title, '<h1>', '</h1>');
         mso_page_date($page_date_publish, array('format' => tf('D, j F Y г.'), 'days' => tf('Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье'), 'month' => tf('января февраля марта апреля мая июня июля августа сентября октября ноября декабря')), '<span>', '</span>');
         mso_page_cat_link($page_categories, ' -&gt; ', '<br><span>' . tf('Рубрика') . ':</span> ', '');
         mso_page_tag_link($page_tags, ' | ', '<br><span>' . tf('Метки') . ':</span> ', '');
         mso_page_view_count($page_view_count, '<br><span>' . tf('Просмотров') . ':</span> ', '');
         mso_page_meta('nastr', $page_meta, '<br><span>' . tf('Настроение') . ':</span> ', '');
         mso_page_meta('music', $page_meta, '<br><span>' . tf('В колонках звучит') . ':</span> ', '');
         if ($page_comment_allow) {
             mso_page_feed($page_slug, tf('комментарии по RSS'), '<br><span>' . tf('Подписаться на') . '</span> ', '', true);
         }
         mso_page_edit_link($page_id, tf('Edit page'), '<br>[', ']');
         echo '</div>';
     }
     if ($f = mso_page_foreach('page-content-author')) {
         require $f;
         // подключаем кастомный вывод
     } else {
示例#2
0
$dirName = getinfo('template_dir') . 'type/export/';
if (!file_exists($dirName)) {
    die("Directory {$dirName} is not found in root folder");
}
// Плоский массив всех рубрик
$allCategories = mso_cat_array_single('page', 'category_name', 'ASC', '', true, false);
// pr($allCategories);
// Делаем запрос к БД штатными средствами
$par = array('type' => 'blog', 'get_page_count_comments' => false, 'cut' => '', 'custom_type' => 'home', 'no_limit' => true);
$pages = mso_get_pages($par, $pag);
// pr($pages);
// Обходим массив с результатами запроса и пишем файлы
foreach ($pages as $page) {
    // pr($page);
    // Имя создаваемого файла
    $fileName = mso_page_date($page['page_date_publish'], 'Y-m-d', '', '', false) . '-' . $page['page_slug'] . '.md';
    // pr($fileName);
    // Рубрики
    $categories = '';
    foreach ($page['page_categories'] as $catId) {
        $categories .= $allCategories[$catId]['category_slug'] . ', ';
    }
    // Метки
    $tags = '';
    foreach ($page['page_tags'] as $tag) {
        $tags .= $tag . ', ';
    }
    // Описание страницы
    if (isset($page['page_meta']['description'])) {
        $description = $page['page_meta']['description'][0];
    } else {
示例#3
0
文件: home.php 项目: rb2/MaxSite-CMS
<?php

if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}
extract($page);
// pr($page);
// выводим полные тексты или списком
if (mso_get_option('home_full_text', 'templates', '1')) {
    echo NR . '<div class="page_only">' . NR;
    mso_page_title($page_slug, $page_title, '<h1>', '</h1>', true);
    echo '<div class="info">';
    mso_page_date($page_date_publish, array('format' => 'D, j F Y г.', 'days' => tf('Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье'), 'month' => tf('января февраля марта апреля мая июня июля августа сентября октября ноября декабря')), '<span>', '</span><br>');
    mso_page_cat_link($page_categories, ' -&gt; ', '<span>' . tf('Рубрика') . ':</span> ', '<br>');
    mso_page_tag_link($page_tags, ' | ', '<span>' . tf('Метки') . ':</span> ', '');
    mso_page_edit_link($page_id, 'Edit page', ' [', ']');
    # mso_page_feed($page_slug, 'комментарии по RSS', '<br><span>Подписаться</span> на ', '', true);
    echo '</div>';
    echo '<div class="page_content type_home">';
    mso_page_content($page_content);
    mso_page_content_end();
    echo '<div class="break"></div>';
    mso_page_comments_link(array('page_comment_allow' => $page_comment_allow, 'page_slug' => $page_slug, 'title' => tf('Обсудить') . ' (' . $page_count_comments . ')', 'title_no_link' => tf('Читать комментарии') . ' (' . $page_count_comments . ')', 'do' => '<div class="comments-link"><span>', 'posle' => '</span></div>', 'page_count_comments' => $page_count_comments));
    // mso_page_comments_link($page_comment_allow, $page_slug, 'Обсудить (' . $page_count_comments . ')', '<div class="comments-link">', '</div>');
    echo '</div>';
    echo NR . '</div><!--div class="page_only"-->' . NR;
} else {
    mso_page_title($page_slug, $page_title, '<li>', '', true);
    mso_page_date($page_date_publish, 'd/m/Y', ' - ', '');
    echo '</li>';
}
示例#4
0
<?php

if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}
echo '<div class="info info-top">';
mso_page_title($page_slug, $page_title, '<h1>', mso_page_edit_link($page_id, '<img src="' . getinfo('template_url') . 'images/edit.png" width="16" height="16" alt="" title="Edit page" class="right">', '', '', false) . '</h1>', !is_type('page'));
echo '<div style="margin: 10px 0; padding: 5px 3px; line-height: 1.8em;">';
// отдельный блок для info
// только для page
if (is_type('page')) {
    mso_page_date($page_date_publish, array('format' => tf('j F Y г.')), '<span title="' . tf('Дата публикации') . '"><img src="' . getinfo('template_url') . 'images/date.png" width="16" height="16" alt="" style="vertical-align: text-top;"> ', '</span>');
    mso_page_author_link($users_nik, $page_id_autor, '<span style="margin-left: 15px;" title="' . tf('Автор') . '"><img src="' . getinfo('template_url') . 'images/user.png" width="16" height="16" alt="" style="vertical-align: text-top;"> ', '</span>');
    mso_page_view_count($page_view_count, '<span style="margin-left: 15px;" title="' . tf('Просмотры записи') . '"><img src="' . getinfo('template_url') . 'images/post-view.png" width="16" height="16" alt="" style="vertical-align: text-top;"> ' . tf('Просмотров') . ':</span> ', '');
    if ($page_comment_allow) {
        mso_page_feed($page_slug, tf('RSS'), '<span style="margin-left: 15px;" title="' . tf('Подписка на RSS') . '"><img src="' . getinfo('template_url') . 'images/rss.png" width="16" height="16" alt="" style="vertical-align: text-top;"> ', '</span>', true);
    }
    mso_page_comments_link(array('page_comment_allow' => $page_comment_allow, 'page_slug' => $page_slug, 'page_count_comments' => $page_count_comments, 'title' => '<img src="' . getinfo('template_url') . 'images/comments.png" width="16" height="16" alt=""> ', 'title_no_link' => '<img src="' . getinfo('template_url') . 'images/comments.png" width="16" height="16" alt=""> ', 'title_no_comments' => '<img src="' . getinfo('template_url') . 'images/comments.png" width="16" height="16" alt="">', 'do' => '<span style="margin-left: 15px;" title="' . tf('Комментарии') . '">', 'posle' => ($page_count_comments ? mso_page_title($page_slug . '#comments', $page_count_comments, ' ', '', true, false) : mso_page_title($page_slug . '#comments', tf('Обсудить'), ' ', '', true, false)) . '</span>'));
    mso_page_cat_link($page_categories, ' » ', '<br><span title="' . tf('Рубрики') . '"><img src="' . getinfo('template_url') . 'images/category.png" width="16" height="16" alt="" style="vertical-align: text-top;"> ', '</span>');
    mso_page_tag_link($page_tags, ', ', '<span style="margin-left: 15px;" title="' . tf('Метки') . '"><img src="' . getinfo('template_url') . 'images/tag.png" width="16" height="16" alt="" style="vertical-align: text-top;"> ', '</span>');
} else {
    mso_page_date($page_date_publish, array('format' => tf('j F Y г.')), '<span title="' . tf('Дата публикации') . '"><img src="' . getinfo('template_url') . 'images/date.png" width="16" height="16" alt="" style="vertical-align: text-top;"> ', '</span>');
    mso_page_author_link($users_nik, $page_id_autor, '<span style="margin-left: 15px;" title="' . tf('Автор') . '"><img src="' . getinfo('template_url') . 'images/user.png" width="16" height="16" alt="" style="vertical-align: text-top;"> ', '</span>');
    mso_page_cat_link($page_categories, ' » ', ' <span style="margin-left: 15px;" title="' . tf('Рубрики') . '"><img src="' . getinfo('template_url') . 'images/category.png" width="16" height="16" alt="" style="vertical-align: text-top;"> ', '</span>');
    mso_page_comments_link(array('page_comment_allow' => $page_comment_allow, 'page_slug' => $page_slug, 'page_count_comments' => $page_count_comments, 'title' => '<img src="' . getinfo('template_url') . 'images/comments.png" width="16" height="16" alt=""> ', 'title_no_link' => '<img src="' . getinfo('template_url') . 'images/comments.png" width="16" height="16" alt=""> ', 'title_no_comments' => '<img src="' . getinfo('template_url') . 'images/comments.png" width="16" height="16" alt="">', 'do' => '<span style="margin-left: 15px;" title="' . tf('Комментарии') . '">', 'posle' => ($page_count_comments ? mso_page_title($page_slug . '#comments', $page_count_comments, ' ', '', true, false) : mso_page_title($page_slug . '#comments', tf('Обсудить'), ' ', '', true, false)) . '</span>'));
}
echo '</div>';
echo '</div>';
示例#5
0
// определим метаданные
mso_head_meta('title', $pages, '%page_title%');
mso_head_meta('description', $pages);
mso_head_meta('keywords', $pages);
// если страницы были получены
if ($pages) {
    foreach ($pages as $page) {
        // pr($page);
        // определим подзаголовок, если есть
        $subtitle = '';
        if (isset($page['page_meta']['subtitle']) and $page['page_meta']['subtitle']) {
            $subtitle = $page['page_meta']['subtitle'][0];
        }
        // определим даты
        $page_date = mso_page_date($page['page_date_publish'], array('format' => 'Y-m-d', 'days' => t('Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье'), 'month' => t('января февраля марта апреля мая июня июля августа сентября октября ноября декабря')), '', '', false);
        $page_date_text = mso_page_date($page['page_date_publish'], array('format' => 'j F Y г.', 'days' => t('Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье'), 'month' => t('января февраля марта апреля мая июня июля августа сентября октября ноября декабря')), '', '', false);
        $category_text = '';
        if (isset($page['page_categories']) and count($page['page_categories']) >= 1) {
            // если рубрика одна
            if (count($page['page_categories']) == 1) {
                $category_id = $page['page_categories'][0];
                $category_text = ' <a href="' . getinfo('siteurl') . 'category/' . $page['page_categories_detail'][$category_id]['category_slug'] . '" title="' . $page['page_categories_detail'][$category_id]['category_desc'] . '">' . $page['page_categories_detail'][$category_id]['category_name'] . '</a>';
            } else {
                foreach ($page['page_categories'] as $key => $category_id) {
                    $category_text .= ' <a href="' . getinfo('siteurl') . 'category/' . $page['page_categories_detail'][$category_id]['category_slug'] . '" title="' . $page['page_categories_detail'][$category_id]['category_desc'] . '">' . $page['page_categories_detail'][$category_id]['category_name'] . '</a>';
                    if ($key + 1 < count($page['page_categories'])) {
                        $category_text .= ',';
                    }
                }
            }
        }
示例#6
0
文件: index.php 项目: Kmartynov/cms
function last_pages_widget_custom($arg = array(), $num = 1)
{
    if (!isset($arg['count'])) {
        $arg['count'] = 7;
    }
    if (!isset($arg['page_type'])) {
        $arg['page_type'] = 'blog';
    }
    if (!isset($arg['sort'])) {
        $arg['sort'] = 'page_date_publish';
    }
    if (!isset($arg['sort_order'])) {
        $arg['sort_order'] = 'desc';
    }
    if (!isset($arg['date_format'])) {
        $arg['date_format'] = 'd/m/Y';
    }
    if (!isset($arg['format'])) {
        $arg['format'] = '<h4>[TITLE]</h4><p>[DATE] [COMMENTS]</p>[IMG]<p>[TEXT]</p>';
    }
    if (!isset($arg['comments_format'])) {
        $arg['comments_format'] = ' | ' . t('Комментариев: ') . '[COUNT]';
    }
    if (!isset($arg['include_cat'])) {
        $arg['include_cat'] = '';
    }
    if (!isset($arg['img_prev_def'])) {
        $arg['img_prev_def'] = '';
    }
    if (!isset($arg['img_prev_attr'])) {
        $arg['img_prev_attr'] = 'class="b-left w100"';
    }
    if (!isset($arg['max_words'])) {
        $arg['max_words'] = 20;
    }
    if (!isset($arg['text_do'])) {
        $arg['text_do'] = '';
    }
    if (!isset($arg['text_posle'])) {
        $arg['text_posle'] = '';
    }
    if (!isset($arg['header'])) {
        $arg['header'] = mso_get_val('widget_header_start', '<div class="mso-widget-header"><span>') . t('Последние записи') . mso_get_val('widget_header_end', '</span></div>');
    }
    if (!isset($arg['block_start'])) {
        $arg['block_start'] = '';
    }
    if (!isset($arg['block_end'])) {
        $arg['block_end'] = '';
    }
    if ($arg['sort_order'] != 'random') {
        $cache_key = 'last_pages_widget' . serialize($arg) . $num;
        if ($k = mso_get_cache($cache_key)) {
            return $k;
        }
        // да есть в кэше
    }
    $par = array('limit' => $arg['count'], 'cut' => '', 'cat_order' => 'category_name', 'cat_order_asc' => 'asc', 'pagination' => false, 'cat_id' => $arg['include_cat'], 'order' => $arg['sort'], 'order_asc' => $arg['sort_order'], 'type' => $arg['page_type'], 'custom_type' => 'home');
    $pages = mso_get_pages($par, $temp);
    $out = '';
    if ($pages) {
        foreach ($pages as $page) {
            // [TITLE] [DATE] [TEXT] [IMG] [COMMENTS] [URL]
            $title = mso_page_title($page['page_slug'], $page['page_title'], '', '', true, false, 'page');
            $url = getinfo('site_url') . 'page/' . $page['page_slug'];
            $date = mso_page_date($page['page_date_publish'], $arg['date_format'], '', '', false);
            $img = isset($page['page_meta']['image_for_page'][0]) ? $page['page_meta']['image_for_page'][0] : '';
            if (!$img and $arg['img_prev_def']) {
                $img = $arg['img_prev_def'];
            }
            if ($img) {
                $img = '<a href="' . $url . '"><img src="' . $img . '" alt="' . $page['page_title'] . '" ' . $arg['img_prev_attr'] . '></a>';
            }
            if ($page['page_count_comments']) {
                $comments = str_replace('[COUNT]', $page['page_count_comments'], $arg['comments_format']);
            } else {
                $comments = '';
            }
            $text = mso_str_word(strip_tags($page['page_content']), $arg['max_words']) . ' ...';
            $out_page = $arg['format'];
            $out_page = str_replace('[TITLE]', $title, $out_page);
            $out_page = str_replace('[DATE]', $date, $out_page);
            $out_page = str_replace('[COMMENTS]', $comments, $out_page);
            $out_page = str_replace('[URL]', $url, $out_page);
            $out_page = str_replace('[TEXT]', $text, $out_page);
            $out_page = str_replace('[IMG]', $img, $out_page);
            $out .= $out_page;
        }
        $out = $arg['header'] . $arg['block_start'] . $arg['text_do'] . $out . $arg['text_posle'] . $arg['block_end'];
    }
    if ($arg['sort_order'] != 'random') {
        mso_add_cache($cache_key, $out);
    }
    // в кэш
    return $out;
}
示例#7
0
文件: index.php 项目: Kmartynov/cms
function _sitemap_cat_elem($elem)
{
    static $all_cat = false;
    static $all_page = array();
    $out = '';
    if ($all_cat === false) {
        $all_cat = mso_cat_array_single();
    }
    foreach ($elem['pages'] as $page) {
        // page_id page_title page_date_publish page_status page_slug
        if ($page['page_status'] == 'publish') {
            // все рубрики этой записи
            if (isset($all_page[$page['page_id']])) {
                $cur_cats = $all_page[$page['page_id']];
            } else {
                $cur_cats = mso_get_cat_page($page['page_id']);
                $all_page[$page['page_id']] = $cur_cats;
            }
            if ($cur_cats) {
                $max_level = 0;
                $cat_vybr = 0;
                foreach ($cur_cats as $cat) {
                    $level = $all_cat[$cat]['level'];
                    if ($level > $max_level) {
                        $max_level = $level;
                        $cat_vybr = $cat;
                    }
                }
                if ($cat_vybr == $elem['category_id'] or $cat_vybr == 0) {
                    $out .= '<li><a href="' . getinfo('siteurl') . 'page/' . $page['page_slug'] . '">' . htmlspecialchars($page['page_title']) . '</a> <span>&rarr; ' . mso_page_date($page['page_date_publish'], array('format' => 'j F Y г. H:i'), '', '', false) . '</span></li>';
                }
            } else {
                $out .= '<li><a href="' . getinfo('siteurl') . 'page/' . $page['page_slug'] . '">' . htmlspecialchars($page['page_title']) . '</a> <span>&rarr; ' . mso_page_date($page['page_date_publish'], array('format' => 'j F Y г. H:i'), '', '', false) . '</span></li>';
            }
        }
    }
    if ($out) {
        $out = '<ul>' . $out . '</ul>';
    }
    return $out;
}
示例#8
0
 function line($out = '', $do = '', $posle = '', $echo = 0)
 {
     if (!$out) {
         return;
     }
     $title = '';
     $autor = '';
     $author = '';
     // синоним autor
     $comments = '';
     $comments_count = '';
     // только колво комментариев числом
     $cat = '';
     $tag = '';
     $edit = '';
     $date = '';
     $date_last_modified = '';
     $read = '';
     $feed = '';
     $view_count = '';
     $meta_description = '';
     $meta_title = '';
     $page_url = '';
     // title
     if (strpos($out, '[title]') !== false) {
         $title = mso_page_title($this->val('page_slug'), $this->val('page_title'), $this->get_formats_args('title', 1), $this->get_formats_args('title', 2), $this->get_formats_args('title', 3), false);
     }
     // адрес страницы
     if (strpos($out, '[page_url]') !== false) {
         $page_url = $this->page_url(false);
     }
     // mso_page_author_link($users_nik = '', $page_id_autor = '', $do = '', $posle = '', $echo = true, $type = 'author', $link = true
     if (strpos($out, '[autor]') !== false) {
         $autor = mso_page_author_link($this->val('users_nik'), $this->val('page_id_autor'), $this->get_formats_args('autor', 1), $this->get_formats_args('autor', 2), false);
     }
     if (strpos($out, '[author]') !== false) {
         $author = mso_page_author_link($this->val('users_nik'), $this->val('page_id_autor'), $this->get_formats_args('author', 1), $this->get_formats_args('author', 2), false);
     }
     // mso_page_comments_link($page_comment_allow = true, $page_slug = '', $title = 'Обсудить', $do = '', $posle = '', $echo = true, $type = 'page'
     if (strpos($out, '[comments]') !== false) {
         $comments = mso_page_comments_link(array('page_comment_allow' => $this->val('page_comment_allow'), 'page_slug' => $this->val('page_slug'), 'title' => $this->get_formats_args('comments', 1) . ' (' . $this->val('page_count_comments') . ')', 'title_no_link' => $this->get_formats_args('comments', 2), 'title_no_comments' => $this->get_formats_args('comments', 1), 'do' => $this->get_formats_args('comments', 3), 'posle' => $this->get_formats_args('comments', 4), 'echo' => false, 'page_count_comments' => $this->val('page_count_comments')));
     }
     // только колво комментариев
     if (strpos($out, '[comments_count]') !== false) {
         $comments_count = $this->get_formats_args('comments_count', 1) . $this->val('page_count_comments') . $this->get_formats_args('comments_count', 2);
     }
     // mso_page_cat_link($cat = array(), $sep = ', ', $do = '', $posle = '', $echo = true, $type = 'category', $link = true
     if (strpos($out, '[cat]') !== false) {
         $cat = mso_page_cat_link($this->val('page_categories'), $this->get_formats_args('cat', 1), $this->get_formats_args('cat', 2), $this->get_formats_args('cat', 3), false);
     }
     // mso_page_tag_link($tags = array(), $sep = ', ', $do = '', $posle = '', $echo = true, $type = 'tag', $link = true
     if (strpos($out, '[tag]') !== false) {
         $tag = mso_page_tag_link($this->val('page_tags'), $this->get_formats_args('tag', 1), $this->get_formats_args('tag', 2), $this->get_formats_args('tag', 3), false);
     }
     // edit
     // mso_page_edit_link($id = 0, $title = 'Редактировать', $do = '', $posle = '', $echo = true
     if (strpos($out, '[edit]') !== false) {
         $edit = mso_page_edit_link($this->val('page_id'), $this->get_formats_args('edit', 1), $this->get_formats_args('edit', 2), $this->get_formats_args('edit', 3), false);
         //pr($this->page);
     }
     // date
     //mso_page_date($date = 0, $format = 'Y-m-d H:i:s', $do = '', $posle = '', $echo = true
     if (strpos($out, '[date]') !== false) {
         $date = mso_page_date($this->val('page_date_publish'), array('format' => tf($this->get_formats_args('date', 1)), 'days' => tf('Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье'), 'month' => tf('января февраля марта апреля мая июня июля августа сентября октября ноября декабря')), $this->get_formats_args('date', 2), $this->get_formats_args('date', 3), false);
     }
     if (strpos($out, '[date_last_modified]') !== false) {
         if ($this->val('page_last_modified')) {
             $date_last_modified = mso_page_date($this->val('page_last_modified'), array('format' => tf($this->get_formats_args('date_last_modified', 1)), 'days' => tf('Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье'), 'month' => tf('января февраля марта апреля мая июня июля августа сентября октября ноября декабря')), $this->get_formats_args('date_last_modified', 2), $this->get_formats_args('date_last_modified', 3), false);
         }
     }
     // read
     if (strpos($out, '[read]') !== false) {
         $read = $this->get_formats_args('read', 2) . $this->page_url(true) . $this->get_formats_args('read', 1) . '</a>' . $this->get_formats_args('read', 3);
         // $posle
         //pr($this->formats);
         // pr($read,1);
     }
     // feed
     // mso_page_feed($page_slug = '', $page_title = 'Подписаться', $do = '<p>', $posle = '</p>', $link = true, $echo = true, $type = 'page'
     if (strpos($out, '[feed]') !== false) {
         // подписку по rss ставим только если есть разрешение в page_comment_allow
         if ($this->val('page_comment_allow')) {
             $feed = mso_page_feed($this->val('page_slug'), $this->get_formats_args('feed', 1), $this->get_formats_args('feed', 2), $this->get_formats_args('feed', 3), true, false);
         }
     }
     // view_count
     // mso_page_view_count($page_view_count = 0, $do = '<span>Прочтений:</span> ', $posle = '', $echo = true)
     if (strpos($out, '[view_count]') !== false) {
         $view_count = mso_page_view_count($this->val('page_view_count'), $this->get_formats_args('view_count', 1), $this->get_formats_args('view_count', 2), false);
     }
     // мета description, если есть
     if (strpos($out, '[meta_description]') !== false) {
         if ($meta_description = $this->meta_val('description')) {
             $meta_description = $this->get_formats_args('meta_description', 1) . $meta_description . $this->get_formats_args('meta_description', 2);
             // $posle
         }
     }
     // мета title, если есть
     if (strpos($out, '[meta_title]') !== false) {
         if ($meta_title = $this->meta_val('meta_title')) {
             $meta_title = $this->get_formats_args('meta_title', 1) . $meta_description . $this->get_formats_args('meta_title', 2);
             // $posle
         }
     }
     // [meta@price]
     if (strpos($out, '[meta@') !== false) {
         //pr($out);
         $out = preg_replace_callback('!(\\[meta@)(.*?)(\\])!is', array('self', '_line_meta_set'), $out);
         //pr($out);
     }
     // [val@price] — произвольный val из page
     if (strpos($out, '[val@') !== false) {
         $out = preg_replace_callback('!(\\[val@)(.*?)(\\])!is', array('self', '_line_val_set'), $out);
     }
     $out = str_replace('[title]', $title, $out);
     $out = str_replace('[page_url]', $page_url, $out);
     $out = str_replace('[autor]', $autor, $out);
     $out = str_replace('[author]', $author, $out);
     $out = str_replace('[comments]', $comments, $out);
     $out = str_replace('[comments_count]', $comments_count, $out);
     $out = str_replace('[cat]', $cat, $out);
     $out = str_replace('[tag]', $tag, $out);
     $out = str_replace('[edit]', $edit, $out);
     $out = str_replace('[date]', $date, $out);
     $out = str_replace('[date_last_modified]', $date_last_modified, $out);
     $out = str_replace('[read]', $read, $out);
     $out = str_replace('[feed]', $feed, $out);
     $out = str_replace('[view_count]', $view_count, $out);
     $out = str_replace('[meta_description]', $meta_description, $out);
     $out = str_replace('[meta_title]', $meta_title, $out);
     $out = str_replace('[thumb]', $this->thumb, $out);
     if ($out) {
         if ($echo === 0) {
             return $this->out($do . $out . $posle);
         } elseif ($echo === true) {
             echo $do . $out . $posle;
             return $this;
         } elseif ($echo === false) {
             return $do . $out . $posle;
         }
     }
 }
示例#9
0
<?php

if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}
extract($page);
if (!$full_posts) {
    mso_page_title($page_slug, $page_title, '<li>', '', true);
    mso_page_date($page_date_publish, 'd/m/Y', ' - ', '');
    echo '</li>';
} else {
    echo NR . '<div class="page_only">' . NR;
    echo '<div class="info">';
    mso_page_title($page_slug, $page_title, '<h1>', '</h1>', true);
    mso_page_cat_link($page_categories, ' | ', '<span>' . tf('Рубрика') . ':</span> ', '<br>');
    mso_page_tag_link($page_tags, ' | ', '<span>' . tf('Метки') . ':</span> ', '<br>');
    mso_page_date($page_date_publish, 'd/m/Y H:i:s', '<span>' . tf('Дата') . ':</span> ', '');
    mso_page_edit_link($page_id, 'Edit page', ' -', '-');
    // mso_page_feed($page_slug, tf('комментарии по RSS'), '<br><span>'. tf('Подписаться на'). '</span> ', '', true);
    echo '</div>';
    echo '<div class="page_content">';
    mso_page_content($page_content);
    mso_page_content_end();
    echo '<div class="break"></div>';
    mso_page_comments_link(array('page_comment_allow' => $page_comment_allow, 'page_slug' => $page_slug, 'title' => tf('Обсудить') . ' (' . $page_count_comments . ')', 'title_no_link' => tf('Читать комментарии') . ' (' . $page_count_comments . ')', 'do' => '<div class="comments-link"><span>', 'posle' => '</span></div>', 'page_count_comments' => $page_count_comments));
    echo '</div>';
    echo NR . '</div><!--div class="page_only"-->' . NR;
}
<?php

if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}
mso_page_title($page_slug, $page_title, '<li>', '', true);
mso_page_date($page_date_publish, 'd/m/Y', ' (<small>', '</small>)');
if (mso_get_option('default_description_home', 'templates', 0)) {
    mso_page_meta('description', $page_meta, '<div class="description">', '</div>');
}
echo '</li>';
示例#11
0
文件: index.php 项目: rb2/MaxSite-CMS
function last_pages_widget_custom($arg = array(), $num = 1)
{
    if (!isset($arg['count'])) {
        $arg['count'] = 7;
    }
    if (!isset($arg['page_type'])) {
        $arg['page_type'] = 'blog';
    }
    if (!isset($arg['sort'])) {
        $arg['sort'] = 'page_date_publish';
    }
    if (!isset($arg['sort_order'])) {
        $arg['sort_order'] = 'desc';
    }
    if (!isset($arg['date_format'])) {
        $arg['date_format'] = 'd/m/Y';
    }
    if (!isset($arg['format'])) {
        $arg['format'] = '%TITLE%';
    }
    if (!isset($arg['comments_format'])) {
        $arg['comments_format'] = t(' - комментариев: ') . '%COUNT%';
    }
    if (!isset($arg['exclude_cat'])) {
        $arg['exclude_cat'] = '';
    }
    if (!isset($arg['include_cat'])) {
        $arg['include_cat'] = '';
    }
    if (!isset($arg['img_prev'])) {
        $arg['img_prev'] = '';
    }
    if (!isset($arg['img_prev_def'])) {
        $arg['img_prev_def'] = '';
    }
    if (!isset($arg['img_prev_attr'])) {
        $arg['img_prev_attr'] = 'class="left"';
    }
    if (!isset($arg['max_words'])) {
        $arg['max_words'] = 20;
    }
    if (!isset($arg['text_posle'])) {
        $arg['text_posle'] = '';
    }
    if (!isset($arg['header'])) {
        $arg['header'] = mso_get_val('widget_header_start', '<h2 class="box"><span>') . t('Последние записи') . mso_get_val('widget_header_end', '</span></h2>');
    }
    if (!isset($arg['block_start'])) {
        $arg['block_start'] = '<div class="last-pages"><ul class="is_link">';
    }
    if (!isset($arg['block_end'])) {
        $arg['block_end'] = '</ul></div>';
    }
    $cache_key = 'last_pages_widget' . serialize($arg) . $num;
    $k = mso_get_cache($cache_key);
    if ($k) {
        $current_url = getinfo('siteurl') . mso_current_url();
        // текущий урл
        $k = str_replace('<a href="' . $current_url . '">', '<a href="' . $current_url . '" class="current_url">', $k);
        return $k;
    }
    $arg['exclude_cat'] = mso_explode($arg['exclude_cat']);
    // рубрики из строки в массив
    $arg['include_cat'] = mso_explode($arg['include_cat']);
    // рубрики из строки в массив
    $CI =& get_instance();
    if (strpos($arg['format'], '%TEXT%') === false and strpos($arg['format'], '%TEXT_CUT%') === false and strpos($arg['format'], '%TEXT_PREV%') === false) {
        $CI->db->select('page.page_id, page_type_name, page_type_name AS page_content, page_slug, page_title, page_date_publish, page_status, COUNT(comments_id) AS page_count_comments', false);
    } else {
        $CI->db->select('page.page_id, page.page_content, page_type_name, page_slug, page_title, page_date_publish, page_status, COUNT(comments_id) AS page_count_comments');
    }
    $CI->db->from('page');
    $CI->db->where('page_status', 'publish');
    //$CI->db->where('page_date_publish <', date('Y-m-d H:i:s'));
    $time_zone = getinfo('time_zone');
    if ($time_zone < 10 and $time_zone > 0) {
        $time_zone = '0' . $time_zone;
    } elseif ($time_zone > -10 and $time_zone < 0) {
        $time_zone = '0' . $time_zone;
        $time_zone = str_replace('0-', '-0', $time_zone);
    } else {
        $time_zone = '00.00';
    }
    $time_zone = str_replace('.', ':', $time_zone);
    // $CI->db->where('page_date_publish < ', 'NOW()', false);
    $CI->db->where('page_date_publish < ', 'DATE_ADD(NOW(), INTERVAL "' . $time_zone . '" HOUR_MINUTE)', false);
    if ($arg['page_type']) {
        $CI->db->where('page_type_name', $arg['page_type']);
    }
    $CI->db->join('page_type', 'page_type.page_type_id = page.page_type_id');
    $CI->db->join('comments', 'comments.comments_page_id = page.page_id AND comments_approved = 1', 'left');
    if ($arg['exclude_cat']) {
        $CI->db->join('cat2obj', 'cat2obj.page_id = page.page_id', 'left');
        $CI->db->where_not_in('cat2obj.category_id', $arg['exclude_cat']);
    }
    if ($arg['include_cat']) {
        $CI->db->join('cat2obj', 'cat2obj.page_id = page.page_id', 'left');
        $CI->db->where_in('cat2obj.category_id', $arg['include_cat']);
    }
    $CI->db->order_by($arg['sort'], $arg['sort_order']);
    $CI->db->group_by('page.page_id');
    $CI->db->group_by('comments_page_id');
    $CI->db->limit($arg['count']);
    $query = $CI->db->get();
    if ($query->num_rows() > 0) {
        $pages = $query->result_array();
        require_once getinfo('common_dir') . 'category.php';
        require_once getinfo('common_dir') . 'meta.php';
        $all_cat = mso_cat_array_single();
        // все рубрики
        $out = '';
        foreach ($pages as $key => $page) {
            // метаполе превьюшки
            if (strpos($arg['format'], '%IMG_PREV%') !== false) {
                if ($img_prev = mso_get_meta($arg['img_prev'], 'page', $page['page_id'])) {
                    if (isset($img_prev[0]['meta_value']) and $img_prev[0]['meta_value']) {
                        $img_prev = '<img src="' . $img_prev[0]['meta_value'] . '" alt="" ' . $arg['img_prev_attr'] . '> ';
                    } else {
                        $img_prev = '<img src="' . $arg['img_prev_def'] . '" alt="" ' . $arg['img_prev_attr'] . '> ';
                    }
                } else {
                    if ($arg['img_prev_def']) {
                        $img_prev = '<img src="' . $arg['img_prev_def'] . '" alt="" ' . $arg['img_prev_attr'] . '> ';
                    } else {
                        $img_prev = '';
                    }
                }
            } else {
                $img_prev = '';
            }
            $out .= $arg['format'];
            $out = str_replace('%TITLE%', mso_page_title(mso_slug($page['page_slug']), $page['page_title'], '', '', true, false), $out);
            $out = str_replace('%URL%', getinfo('site_url') . 'page/' . mso_slug($page['page_slug']), $out);
            $out = str_replace('%DATE%', mso_page_date($page['page_date_publish'], $arg['date_format'], '', '', false), $out);
            if ($page['page_count_comments']) {
                $comments_format = str_replace('%COUNT%', $page['page_count_comments'], $arg['comments_format']);
            } else {
                $comments_format = '';
            }
            $out = str_replace('%COMMENTS%', $comments_format, $out);
            $page_content = $page['page_content'];
            $page_content = mso_hook('content', $page_content);
            $page_content = mso_hook('content_auto_tag', $page_content);
            $page_content = mso_hook('content_balance_tags', $page_content);
            $page_content = mso_hook('content_out', $page_content);
            $out = str_replace('%TEXT%', mso_balance_tags(mso_auto_tag(mso_hook('content_complete', $page['page_content']))), $out);
            if (strpos($arg['format'], '%TEXT_PREV%') !== false) {
                $page_content = $page['page_content'];
                $page_content = mso_hook('content', $page_content);
                $page_content = mso_hook('content_auto_tag', $page_content);
                $page_content = mso_hook('content_complete', $page_content);
                $page_content = mso_str_word(strip_tags($page_content), $arg['max_words']) . ' ...';
                $out = str_replace('%TEXT_PREV%', $page_content, $out);
            }
            # если есть cut, то обрабатываем и его
            $page_content = str_replace('[xcut', '[cut', $page_content);
            if (preg_match('/\\[cut(.*?)?\\]/', $page_content, $matches)) {
                $page_content = explode($matches[0], $page_content, 2);
                $page_content = $page_content[0];
                $page_content = mso_hook('content_complete', $page_content);
            }
            $out = str_replace('%TEXT_CUT%', mso_balance_tags(mso_auto_tag($page_content)), $out);
            $out = str_replace('%IMG_PREV%', $img_prev, $out);
            if (is_type_slug('page', mso_slug($page['page_slug']))) {
                $out = str_replace('<li>', '<li class="current_url_page">', $out);
            }
            if (isset($arg['include_cat'][0]) and is_page_cat($arg['include_cat'][0])) {
                $out = str_replace('<li>', '<li class="current_url_cat">', $out);
            }
            if (isset($arg['include_cat'][0]) and is_type_slug('category', $all_cat[$arg['include_cat'][0]]['category_slug']) and in_array($page['page_id'], $all_cat[$arg['include_cat'][0]]['pages'])) {
                $out = str_replace('<li>', '<li class="current_url_allcat">', $out);
            }
        }
        $out = $arg['header'] . $arg['block_start'] . NR . $out . $arg['block_end'];
        $out = str_replace('</li>', '<div class="clearfix"></div></li>', $out);
        $out .= $arg['text_posle'];
        mso_add_cache($cache_key, $out);
        // сразу в кэш добавим
        // отметим текущую рубрику. Поскольку у нас к кэше должен быть весь список и не делать кэш для каждого url
        // то мы просто перед отдачей заменяем текущий url на url с li.current_url
        $current_url = getinfo('siteurl') . mso_current_url();
        // текущий урл
        $out = str_replace('<a href="' . $current_url . '">', '<a href="' . $current_url . '" class="current_url">', $out);
        return $out;
    }
}
示例#12
0
 function line($out = '', $do = '', $posle = '', $echo = 0)
 {
     if (!$out) {
         return;
     }
     $title = '';
     $autor = '';
     $comments = '';
     $cat = '';
     $tag = '';
     $edit = '';
     $date = '';
     $read = '';
     $feed = '';
     // title
     if (strpos($out, '[title]') !== false) {
         $title = mso_page_title($this->val('page_slug'), $this->val('page_title'), $this->get_formats_args('title', 1), $this->get_formats_args('title', 2), $this->get_formats_args('title', 3), false);
     }
     // mso_page_author_link($users_nik = '', $page_id_autor = '', $do = '', $posle = '', $echo = true, $type = 'author', $link = true
     if (strpos($out, '[autor]') !== false) {
         $autor = mso_page_author_link($this->val('users_nik'), $this->val('page_id_autor'), $this->get_formats_args('autor', 1), $this->get_formats_args('autor', 2), false);
     }
     // mso_page_comments_link($page_comment_allow = true, $page_slug = '', $title = 'Обсудить', $do = '', $posle = '', $echo = true, $type = 'page'
     if (strpos($out, '[comments]') !== false) {
         $comments = mso_page_comments_link(array('page_comment_allow' => $this->val('page_comment_allow'), 'page_slug' => $this->val('page_slug'), 'title' => $this->get_formats_args('comments', 1) . ' (' . $this->val('page_count_comments') . ')', 'title_no_link' => $this->get_formats_args('comments', 2), 'title_no_comments' => $this->get_formats_args('comments', 1), 'do' => $this->get_formats_args('comments', 3), 'posle' => $this->get_formats_args('comments', 4), 'echo' => false, 'page_count_comments' => $this->val('page_count_comments')));
     }
     // mso_page_cat_link($cat = array(), $sep = ', ', $do = '', $posle = '', $echo = true, $type = 'category', $link = true
     if (strpos($out, '[cat]') !== false) {
         $cat = mso_page_cat_link($this->val('page_categories'), $this->get_formats_args('cat', 1), $this->get_formats_args('cat', 2), $this->get_formats_args('cat', 3), false);
     }
     // mso_page_tag_link($tags = array(), $sep = ', ', $do = '', $posle = '', $echo = true, $type = 'tag', $link = true
     if (strpos($out, '[tag]') !== false) {
         $tag = mso_page_tag_link($this->val('page_tags'), $this->get_formats_args('tag', 1), $this->get_formats_args('tag', 2), $this->get_formats_args('tag', 3), false);
     }
     // edit
     // mso_page_edit_link($id = 0, $title = 'Редактировать', $do = '', $posle = '', $echo = true
     if (strpos($out, '[edit]') !== false) {
         $edit = mso_page_edit_link($this->val('page_id'), $this->get_formats_args('edit', 1), $this->get_formats_args('edit', 2), $this->get_formats_args('edit', 3), false);
         //pr($this->page);
     }
     // date
     //mso_page_date($date = 0, $format = 'Y-m-d H:i:s', $do = '', $posle = '', $echo = true
     if (strpos($out, '[date]') !== false) {
         $date = mso_page_date($this->val('page_date_publish'), array('format' => tf($this->get_formats_args('date', 1)), 'days' => tf('Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье'), 'month' => tf('января февраля марта апреля мая июня июля августа сентября октября ноября декабря')), $this->get_formats_args('date', 2), $this->get_formats_args('date', 3), false);
     }
     // read
     // mso_page_title($page_slug = '', $page_title = 'no title', $do = '<h1>', $posle = '</h1>', $link = true, $echo = true, $type = 'page'
     if (strpos($out, '[read]') !== false) {
         $read = $this->get_formats_args('read', 2) . $this->page_url(true) . $this->get_formats_args('read', 1) . $this->get_formats_args('read', 3) . '</a>';
     }
     // feed
     // mso_page_feed($page_slug = '', $page_title = 'Подписаться', $do = '<p>', $posle = '</p>', $link = true, $echo = true, $type = 'page'
     if (strpos($out, '[feed]') !== false) {
         $feed = mso_page_feed($this->val('page_slug'), $this->get_formats_args('feed', 1), $this->get_formats_args('feed', 2), $this->get_formats_args('feed', 3), true, false);
     }
     $out = str_replace('[title]', $title, $out);
     $out = str_replace('[autor]', $autor, $out);
     $out = str_replace('[comments]', $comments, $out);
     $out = str_replace('[cat]', $cat, $out);
     $out = str_replace('[tag]', $tag, $out);
     $out = str_replace('[edit]', $edit, $out);
     $out = str_replace('[date]', $date, $out);
     $out = str_replace('[read]', $read, $out);
     $out = str_replace('[feed]', $feed, $out);
     if ($out) {
         if ($echo === 0) {
             return $this->out($do . $out . $posle);
         } elseif ($echo === true) {
             echo $do . $out . $posle;
         } elseif ($echo === false) {
             return $do . $out . $posle;
         }
     }
 }