continue; // следующая итерация } 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, ' -> ', '<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; // подключаем кастомный вывод
function mso_page_other_pages($page_id = 0, $page_categories = array()) { if ($bl_title = mso_get_option('page_other_pages', 'templates', tf('Еще записи по теме'))) { // алгоритм получения записей $algoritm = mso_get_option('page_other_pages_algoritm', 'templates', 'all'); if ($algoritm == 'lowlewel') { $all_cat = mso_cat_array_single(); // все рубрики $bl_page_categories = array(); // обработаный массив id-level foreach ($page_categories as $cat_id) { $bl_page_categories[$cat_id] = $all_cat[$cat_id]['level']; } arsort($bl_page_categories); // сортируем в обратном порядке $bl_page_categories = array_keys($bl_page_categories); // оставляем только ключи (id) // если что-то есть, то оставляем только первую рубрику, иначе $page_categories if (isset($bl_page_categories[0])) { $bl_page_categories = array($bl_page_categories[0]); } else { $bl_page_categories = $page_categories; } } else { // обычный вывод по всем рубрикам $bl_page_categories = $page_categories; } $bl_pages = mso_get_pages(array('type' => false, 'content' => false, 'pagination' => false, 'custom_type' => 'category', 'categories' => $bl_page_categories, 'exclude_page_id' => array($page_id), 'limit' => mso_get_option('page_other_pages_limit', 'templates', 7), 'order' => mso_get_option('page_other_pages_order', 'templates', 'page_date_publish'), 'order_asc' => mso_get_option('page_other_pages_order_asc', 'templates', 'random')), $_temp); if ($bl_pages) { if ($f = mso_page_foreach('page-other-pages-out')) { require $f; } else { echo '<div class="mso-page-other-pages">' . mso_get_val('page_other_pages_start', '<h4>') . $bl_title . mso_get_val('page_other_pages_end', '</h4>') . '<ul>'; foreach ($bl_pages as $bl_page) { mso_page_title($bl_page['page_slug'], $bl_page['page_title'], '<li>', '</li>', true); } echo '</ul></div>'; } } } }
<?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, ' -> ', '<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>'; }
<?php if (!defined('BASEPATH')) { exit('No direct script access allowed'); } echo '<div class="info info-top">'; mso_page_title($page_slug, $page_title, '<h1>', '</h1>', !is_type('page')); mso_page_date($page_date_publish, array('format' => 'D, j F Y г.', 'days' => tf('Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье'), 'month' => tf('января февраля марта апреля мая июня июля августа сентября октября ноября декабря')), '<span>', '</span>'); //mso_page_author_link($users_nik, $page_id_autor, '<br><span>Автор:</span> ', ''); echo '</div>';
$max_word_count_do = 3; // колво слов до $max_word_count_posle = 7; // колво слов после echo '<h2>' . tf('Записи:') . '</h2>'; // вывод найденных страниц echo '<ul class="mso-search-res">'; foreach ($pages as $page) { if ($f = mso_page_foreach('search')) { require $f; // подключаем кастомный вывод continue; // следующая итерация } extract($page); mso_page_title($page_slug, $page_title, '<li><h3>', '</h3>', true); $page_content = strip_tags($page_content); // удалим переносы и табуляторы $page_content = str_replace("\n", ' ', $page_content); $page_content = str_replace("\t", ' ', $page_content); // разобъем текст в массив по словам $arr = explode(' ', trim($page_content)); // получим ключи всех вхождений $all_key = array(); foreach ($arr as $key => $val) { if (mb_stripos(mb_strtolower($val, 'UTF8'), $searh_to_text, 0, 'UTF8') !== false) { $all_key[] = $key; } } $out = ''; // результат
<?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>';
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; }
} elseif (file_exists($fn2)) { require $fn2; } // нет, значит дефолтный continue; // следующая итерация } extract($page); # pr($page); 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>', false); 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, ' -> ', '<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')) { require $f; // подключаем кастомный вывод
function title($do = '<h1>', $posle = '</h1>', $link = true, $echo = 0) { $out = mso_page_title($this->val('page_slug'), $this->val('page_title'), $do, $posle, $link, false); if ($out) { if ($echo === 0) { return $this->out($out); } elseif ($echo === true) { echo $out; return $this; } elseif ($echo === false) { return $out; } } }
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; } }