Beispiel #1
0
        require $f;
    } else {
        echo '<h1 class="comments">' . tf('Последние комментарии') . '</h1>';
        echo '<p class="info"><a href="' . getinfo('siteurl') . 'comments/feed">' . tf('Подписаться по RSS') . '</a>';
        echo '<br><a href="' . getinfo('siteurl') . 'users">' . tf('Список комментаторов') . '</a></p>';
        echo '<div class="comments">';
        echo last_comments_widget_custom(array('count' => 40), '999');
        echo '</div>';
    }
} else {
    // нет функции last_comments_widget_custom - выводим комменты как обычно
    require_once getinfo('common_dir') . 'comments.php';
    // функции комментариев
    // получаем список комментариев текущей страницы
    $comments = mso_get_comments(false, array('limit' => mso_get_option('comments_count', 'templates', '10'), 'order' => 'desc'));
    mso_head_meta('title', tf('Последние комментарии') . ' — ' . getinfo('title'));
    //  meta title страницы
    require getinfo('template_dir') . 'main-start.php';
    echo NR . '<div class="type type_comments">' . NR;
    if ($f = mso_page_foreach('comments-do')) {
        require $f;
    } else {
        echo '<h1 class="comments">' . tf('Последние комментарии') . '</h1>';
        echo '<p class="info"><a href="' . getinfo('siteurl') . 'comments/feed">' . tf('Подписаться по RSS') . '</a>';
        echo '<br><a href="' . getinfo('siteurl') . 'users">' . tf('Список комментаторов') . '</a></p>';
    }
    echo '<div class="comments">';
    if ($comments) {
        echo '<ul>';
        foreach ($comments as $comment) {
            if ($f = mso_page_foreach('comments')) {
<?php

if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}
mso_head_meta('title', tf('Восстановление пароля') . ' » ' . getinfo('title'));
// meta title страницы
<?php

if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}
mso_head_meta('title', tf('Форма редактирования комментатора') . ' » ' . getinfo('title'));
// meta title страницы
Beispiel #4
0
    function mso_default_head_section($options = array())
    {
        // ob_start(); # задел на будущее - буферизация
        // <!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=8"><![endif]-->
        echo '<!DOCTYPE HTML>
<html><head>' . mso_hook('head-start') . '
	<meta charset="UTF-8">
	<title>' . mso_head_meta('title') . '</title>
	<meta name="generator" content="MaxSite CMS">
	<meta name="description" content="' . mso_head_meta('description') . '">
	<meta name="keywords" content="' . mso_head_meta('keywords') . '">
	<link rel="shortcut icon" href="' . getinfo('template_url') . 'images/favicons/' . mso_get_option('default_favicon', 'templates', 'favicon1.png') . '" type="image/x-icon">
	';
        if (mso_get_option('default_canonical', 'templates', 0)) {
            echo mso_link_rel('canonical');
        }
        echo NT . '<!-- RSS -->' . NT . mso_rss();
        if (file_exists(getinfo('template_dir') . 'custom/head-start.php')) {
            require getinfo('template_dir') . 'custom/head-start.php';
        }
        echo NT . '<!-- CSS -->' . NT . '<link rel="stylesheet" href="';
        if (file_exists(getinfo('template_dir') . 'css/css.php')) {
            echo getinfo('template_url') . 'css/css.php';
        } else {
            if (file_exists(getinfo('template_dir') . 'css/my_style.css')) {
                echo getinfo('template_url') . 'css/my_style.css';
            } else {
                if (file_exists(getinfo('template_dir') . 'css/style-all-mini.css')) {
                    echo getinfo('template_url') . 'css/style-all-mini.css';
                } elseif (file_exists(getinfo('template_dir') . 'css/style-all.css')) {
                    echo getinfo('template_url') . 'css/style-all.css';
                } else {
                    echo getinfo('templates_url') . 'default/css/style-all-mini.css';
                }
            }
        }
        echo '">';
        // подключение var_style.css
        // если есть var_style.php, то используем только его
        if (file_exists(getinfo('template_dir') . 'css/var_style.php')) {
            require getinfo('template_dir') . 'css/var_style.php';
        } else {
            $var_file = '';
            if (file_exists(getinfo('template_dir') . 'css/var_style.css')) {
                $var_file = getinfo('template') . '/css/var_style.css';
            } elseif (file_exists(getinfo('templates_dir') . 'default/css/var_style.css')) {
                $var_file = 'default/css/var_style.css';
            }
            // если var_style.css нулевой длины, то не подключаем его
            if (filesize(getinfo('templates_dir') . $var_file)) {
                echo NT . '<link rel="stylesheet" href="' . getinfo('templates_url') . $var_file . '">';
            }
        }
        echo NT . '<link rel="stylesheet" href="' . getinfo('template_url') . 'css/print.css" media="print">';
        out_component_css();
        echo NT . mso_load_jquery();
        echo NT . '<!-- plugins -->' . NR;
        mso_hook('head');
        echo NT . '<!-- /plugins -->' . NR;
        mso_add_file('css/add_style.css');
        default_out_profiles();
        if (file_exists(getinfo('template_dir') . 'custom/head.php')) {
            require getinfo('template_dir') . 'custom/head.php';
        }
        if ($f = mso_page_foreach('head')) {
            require $f;
        }
        if (function_exists('ushka')) {
            echo ushka('head');
        }
        if (file_exists(getinfo('template_dir') . 'js/my.js')) {
            echo '	<script src="' . getinfo('template_url') . 'js/my.js"></script>';
        }
        if ($my_style = mso_get_option('my_style', 'templates', '')) {
            echo NR . '<!-- custom css-my_style -->' . NR . '<style>' . NR . $my_style . '</style>';
        }
        mso_hook('head-end');
        if (function_exists('ushka')) {
            echo ushka('google_analytics_top');
        }
        /*
        # буферизация на будущее
        $head = ob_get_contents();
        ob_end_clean();
        echo $head;
        */
        echo NR . '</head>';
        if (!$_POST) {
            flush();
        }
    }
Beispiel #5
0
<?php

if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}
mso_head_meta('title', tf('Комментаторы') . ' » ' . getinfo('title'));
// meta title страницы
Beispiel #6
0
<?php

if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}
// в титле следует указать формат вывода | заменяется на  » true - использовать только page_title
mso_head_meta('title', $pages, '%page_title%|%title%', ' » ', true);
// meta title страницы
mso_head_meta('description', $pages);
// meta description страницы
mso_head_meta('keywords', $pages);
// meta keywords страницы
Beispiel #7
0
// подключаем кастомный вывод, где можно изменить массив параметров $par для своих задач
if ($f = mso_page_foreach('author-mso-get-pages')) {
    require $f;
}
$pages = mso_get_pages($par, $pagination);
// получим все - второй параметр нужен для сформированной пагинации
$title_page = mso_head_meta('title', $pages, '%users_nik%');
// заголовок для записи на основе титла
if ($f = mso_page_foreach('author-head-meta')) {
    require $f;
} else {
    mso_head_meta('title', $pages, '%users_nik%|%title%', ' » ');
    //  meta title страницы
    mso_head_meta('description', $pages, '%users_nik%');
    // meta description страницы
    mso_head_meta('keywords', $pages, '%users_nik%');
    // meta keywords страницы
}
if (!$pages and mso_get_option('page_404_http_not_found', 'templates', 1)) {
    header('HTTP/1.0 404 Not Found');
}
# начальная часть шаблона
require getinfo('template_dir') . 'main-start.php';
echo NR . '<div class="type type_author">' . NR;
if ($f = mso_page_foreach('author-do')) {
    require $f;
} else {
    echo '<h1 class="category">' . $title_page . '</h1>';
}
if ($pages) {
    if (!$full_posts) {
Beispiel #8
0
function my_default_head_section()
{
    global $page;
    echo '<!DOCTYPE HTML>
<html' . mso_get_val('head_section_html_add') . '><head>' . mso_hook('head_start') . '
<meta charset="UTF-8">
<title>' . mso_head_meta('title') . '</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="MaxSite CMS">
<meta name="description" content="' . mso_head_meta('description') . '">
<meta name="keywords" content="' . mso_head_meta('keywords') . '">
<meta property="og:title" content="' . mso_head_meta('title') . '">
<meta property="og:description" content="' . mso_head_meta('description') . '">
<meta property="og:url" content="' . mso_link_rel('canonical', '', true) . '">
<link rel="shortcut icon" href="' . getinfo('template_url') . 'assets/images/favicons/' . mso_get_option('default_favicon', 'templates', 'favicon1.png') . '" type="image/x-icon">
';
    if (is_type('page') and isset($page['page_meta']['image_for_page'][0])) {
        echo '<meta property="og:image" content="' . $page['page_meta']['image_for_page'][0] . '">';
    }
    if (mso_get_option('default_canonical', 'templates', 0)) {
        echo mso_link_rel('canonical');
    }
    echo mso_rss();
    if ($fn = mso_fe('custom/head-start.php')) {
        require $fn;
    }
    // autoload файлов
    if ($autoload_css = mso_get_path_files(getinfo('template_dir') . 'assets/css/', getinfo('template_url') . 'assets/css/', true, array('css'))) {
        foreach ($autoload_css as $fn_css) {
            echo '<link rel="stylesheet" href="' . $fn_css . '">' . NR;
        }
    }
    my_out_component_css();
    mso_hook('head_css');
    my_default_out_profiles();
    // своя версия jQuery, если нужно
    if ($j = mso_get_val('jquery_url', false)) {
        echo '<script src="' . $j . '"></script>' . NR;
    } else {
        if (mso_fe('assets/js/jquery.min.js')) {
            echo mso_add_file('assets/js/jquery.min.js');
        } else {
            echo mso_load_jquery();
        }
    }
    mso_hook('head');
    // autoload js-файлов
    if ($autoload_js = mso_get_path_files(getinfo('template_dir') . 'assets/js/autoload/', getinfo('template_url') . 'assets/js/autoload/', true, array('js'))) {
        foreach ($autoload_js as $fn_js) {
            echo '<script src="' . $fn_js . '"></script>' . NR;
        }
    }
    if ($fn = mso_fe('custom/head.php')) {
        require $fn;
    }
    if ($fn = mso_page_foreach('head')) {
        require $fn;
    }
    if (function_exists('ushka')) {
        echo ushka('head');
    }
    if (mso_fe('assets/js/my.js')) {
        echo mso_add_file('assets/js/my.js');
    }
    if ($my_style = mso_get_option('my_style', 'templates', '')) {
        echo NR . '<!-- custom css-my_style -->' . NR . '<style>' . NR . $my_style . '</style>';
    }
    mso_hook('head_end');
    if (function_exists('ushka')) {
        echo ushka('google_analytics_top');
    }
    echo NR . '</head>';
}
Beispiel #9
0
$admin_menu_hook = mso_hook('mso_admin_menu', mso_admin_menu());
$admin_menu = ob_get_contents() . $admin_menu_hook;
ob_end_clean();
ob_start();
$admin_footer_hook = mso_hook('mso_admin_footer', mso_admin_footer());
$admin_footer = ob_get_contents() . $admin_footer_hook;
$admin_footer = $admin_footer . '<p>' . t('Оформление админ-интерфейса - <a href="http://dimox.name/">Dimox</a>') . '</p>';
ob_end_clean();
if (!$admin_header) {
    $admin_header = t('Админ-панель');
}
$admin_css = getinfo('admin_url') . 'template/' . mso_get_option('admin_template', 'general', 'default') . '/style.css';
$admin_css_menu = getinfo('admin_url') . 'template/' . mso_get_option('admin_template', 'general', 'default') . '/menu.css';
$admin_scripts = getinfo('admin_url') . 'template/' . mso_get_option('admin_template', 'general', 'default') . '/scripts.js';
$admin_css = mso_hook('admin_css', $admin_css);
$admin_title = t('Админ-панель') . ' - ' . mso_hook('admin_title', mso_head_meta('title'));
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
	<title><?php 
echo $admin_title;
?>
</title>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<link rel="shortcut icon" href="<?php 
echo getinfo('siteurl');
?>
favicon.ico" type="image/x-icon">
		<link rel="stylesheet" href="<?php 
echo $admin_css;
Beispiel #10
0
}
$time_zone = str_replace('.', '', $time_zone);
$description = mso_head_meta('description');
$feed_url = getinfo('siteurl');
$language = 'en-ru';
$generator = 'MaxSite CMS (http://max-3000.com/)';
$par = array('limit' => 1, 'cut' => tf('Читать полностью') . ' »', 'type' => false);
$pages = mso_get_pages($par, $pagination);
if ($pages) {
    $pubdate = date('D, d M Y H:i:s ' . $time_zone, strtotime(mso_date_convert('Y-m-d H:i:s', $pages[0]['page_date_publish'])));
    echo '<' . '?xml version="1.0" encoding="utf-8"?' . '>';
    # получаем комментарии к странице
    $page = $pages[0];
    extract($page);
    // $feed_name = mso_meta_title($page_title) . ' ('. tf('Комментарии к странице'). ')';
    $feed_name = mso_head_meta('title', $pages, '%page_title%', '', true) . ' (' . tf('комментарии к странице') . ')';
    $comments = mso_get_comments($page_id);
    ?>

<rss version="2.0">
	<channel>
		<title><?php 
    echo $feed_name;
    ?>
</title>
		<link><?php 
    echo $feed_url;
    ?>
</link>
		<description><?php 
    echo $description;
Beispiel #11
0
// 3.00
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);
$encoding = 'utf-8';
// $time_zone = str_replace('.', '', getinfo('time_zone')); // '+0300';
$limit = mso_get_option('limit_post_rss', 'templates', 7);
$cut = mso_get_option('full_rss', 'templates', 0) ? false : tf('Читать полностью') . ' »';
$feed_name = mso_head_meta('title');
$description = mso_head_meta('description');
$feed_url = getinfo('siteurl');
$language = 'en-ru';
$generator = 'MaxSite CMS (http://max-3000.com/)';
$par = array('limit' => $limit, 'cut' => $cut, 'type' => false, 'pagination' => false, 'only_feed' => true);
$pages = mso_get_pages($par, $pagination);
if ($pages) {
    $pubdate = date('D, d M Y H:i:s ' . $time_zone, strtotime(mso_date_convert('Y-m-d H:i:s', $pages[0]['page_date_publish'])));
    echo '<' . '?xml version="1.0" encoding="utf-8"?' . '>';
    ?>

<rss version="2.0">
	<channel>
		<title><?php 
    echo $feed_name;
    ?>
Beispiel #12
0
<?php

if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}
mso_head_meta('title', t('Галерея'));
// meta title страницы
# начальная часть шаблона
require getinfo('template_dir') . 'main-start.php';
if (isset($options['all'])) {
    $current_gal = mso_segment(2);
    // first | Моя галерея | / % test | name_file | 100
    $all = explode("\n", trim($options['all']));
    if ($current_gal) {
        foreach ($all as $gal) {
            $gal = explode('|', $gal);
            if (isset($gal[0]) and trim($gal[0]) == $current_gal) {
                echo '<h1>' . trim($gal[1]) . '</h1>';
                $arg = array('galother' => str_replace('%', '|', $gal[2]), 'sort' => trim($gal[3]), 'count' => (int) $gal[4], 'class' => 'gallery_page');
                if (isset($gal[5])) {
                    $arg['filter'] = $gal[5];
                }
                echo '<p><a href="' . getinfo('site_url') . $options['slug_gallery'] . '">' . t('Все галереи') . '</a>';
                echo random_gal_widget_custom($arg);
                break;
            }
        }
    } else {
        echo '<h1>' . t('Галереи') . '</h1>';
        echo '<div class="gallery_page"><ul class="gallery_page">';
        foreach ($all as $gal) {
Beispiel #13
0
 * MaxSite CMS
 * (c) http://max-3000.com/
 */
$full_posts = mso_get_option('archive_full_text', 'templates', true);
// полные или короткие записи
// параметры для получения страниц
$par = array('limit' => mso_get_option('limit_post', 'templates', '7'), 'cut' => mso_get_option('more', 'templates', tf('Читать полностью »')), 'cat_order' => 'category_name', 'cat_order_asc' => 'asc', 'type' => false, 'content' => $full_posts);
// подключаем кастомный вывод, где можно изменить массив параметров $par для своих задач
if ($f = mso_page_foreach('archive-mso-get-pages')) {
    require $f;
}
$pages = mso_get_pages($par, $pagination);
if ($f = mso_page_foreach('archive-head-meta')) {
    require $f;
} else {
    mso_head_meta('title', tf('Архивы') . '. ' . getinfo('title'));
    //  meta title страницы
}
if (!$pages and mso_get_option('page_404_http_not_found', 'templates', 1)) {
    header('HTTP/1.0 404 Not Found');
}
if ($fn = mso_find_ts_file('main/main-start.php')) {
    require $fn;
}
echo NR . '<div class="mso-type-archive">' . NR;
if ($f = mso_page_foreach('archive-do')) {
    require $f;
} else {
    echo '<h1 class="mso-archive">' . tf('Архивы') . '</h1>';
}
if ($pages) {
Beispiel #14
0
<?php

if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}
/**
 * MaxSite CMS
 * (c) http://max-3000.com/
 */
$title_contact = mso_get_option('title_contact', 'templates', tf('Обратная связь'));
mso_head_meta('title', $title_contact);
//  meta title страницы
if ($fn = mso_find_ts_file('main/main-start.php')) {
    require $fn;
}
echo NR . '<div class="mso-type-contact"><div class="mso-page-only">' . NR;
echo '<h1>' . $title_contact . '</h1>';
echo '<div class="mso-page-content">';
echo mso_get_option('prew_contact', 'templates', '');
if ($f = mso_page_foreach('contact-do')) {
    require $f;
}
// подключаем кастомный вывод
$form_def = '[form]

[options]
email = ' . mso_get_option('admin_email', 'general', '*****@*****.**') . '
[/options]

[field] 
require = 1
Beispiel #15
0
<?php

if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}
mso_head_meta('title', '{title}');
mso_head_meta('description', '{description}');
mso_head_meta('keywords', '{keywords}');
if ($fn = mso_find_ts_file('main/main-start.php')) {
    require $fn;
}
echo '<h1>{header}</h1>';
echo '{body}';
if ($fn = mso_find_ts_file('main/main-end.php')) {
    require $fn;
}
# end file
Beispiel #16
0
<?php

if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}
mso_head_meta('title', mso_segment(2) . ' » ' . getinfo('title'));
//  meta title страницы
Beispiel #17
0
<?php

if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}
global $MSO;
mso_head_meta('title', t('Гостевая книга'));
// meta title страницы
# начальная часть шаблона
if ($fn = mso_find_ts_file('main/main-start.php')) {
    require $fn;
}
echo '<div class="mso-page-only"><div class="mso-page-content mso-type-guestbook-content">';
$CI =& get_instance();
$options = mso_get_option('plugin_guestbook', 'plugins', array());
if (!isset($options['fields_arr'])) {
    $options['fields_arr'] = array('name' => t('Ваше имя:'), 'text' => t('Ваш отзыв:'));
}
if (isset($options['text'])) {
    echo $options['text'];
}
// из опций смотрим текст перед всем
if (!isset($options['limit'])) {
    $options['limit'] = 10;
}
// отзывов на страницу
if (!isset($options['email'])) {
    $options['email'] = false;
}
// отправка на email
if (!isset($options['moderation'])) {
Beispiel #18
0
 * MaxSite CMS
 * (c) http://max-3000.com/
 */
$full_posts = mso_get_option('tag_full_text', 'templates', true);
// полные или короткие записи
// параметры для получения страниц
$par = array('limit' => mso_get_option('limit_post', 'templates', '7'), 'cut' => mso_get_option('more', 'templates', tf('Читать полностью »')), 'cat_order' => 'category_name', 'cat_order_asc' => 'asc', 'type' => false, 'content' => $full_posts);
// подключаем кастомный вывод, где можно изменить массив параметров $par для своих задач
if ($f = mso_page_foreach('tag-mso-get-pages')) {
    require $f;
}
$pages = mso_get_pages($par, $pagination);
if ($f = mso_page_foreach('tag-head-meta')) {
    require $f;
} else {
    mso_head_meta('title', mso_segment(2));
    //  meta title страницы
}
if (!$pages and mso_get_option('page_404_http_not_found', 'templates', 1)) {
    header('HTTP/1.0 404 Not Found');
}
if ($fn = mso_find_ts_file('main/main-start.php')) {
    require $fn;
}
echo NR . '<div class="mso-type-tag"><section>' . NR;
if ($f = mso_page_foreach('tag-do')) {
    require $f;
} else {
    echo '<h1 class="mso-tag">' . htmlspecialchars(mso_segment(2)) . '</h1>';
}
if ($pages) {
Beispiel #19
0
     if (mso_segment(2) == $cat['category_slug']) {
         $cat_id = $cat['category_id'];
         $cat_descr = $cat['category_desc'];
         $cat_name = $cat['category_name'];
         $cat_url = $cat['category_slug'];
         break;
     }
 }
 // сделаем запрос за записями этой рубрики
 $par = array('type' => false, 'cat_id' => $cat_id, 'limit' => mso_get_option('limit_post', 'templates', '10'), 'cut' => mso_get_option('more', 'templates', 'Читать полностью »'), 'type' => false, 'content' => false, 'get_page_count_comments' => false);
 $pages = mso_get_pages($par, $pagination);
 // pr($pages);
 // определим метаданные
 mso_head_meta('title', $cat_name . ' - ' . getinfo('name_site'));
 mso_head_meta('description', $cat_descr);
 mso_head_meta('keywords', $cat_descr);
 $admin_link = '';
 if (is_login()) {
     $admin_link = ' <a href="' . getinfo('siteurl') . 'admin/page_edit/' . $page['page_id'] . '">Редактировать</a>';
 }
 // переменные, которые проверяются в шапке
 $header_title = $cat_name;
 $header_subtitle = $cat_descr;
 $breadcrumbs = '<a href="' . getinfo('siteurl') . '">' . getinfo('name_site') . '</a> → <a href="' . getinfo('siteurl') . 'category/' . $cat_url . '">' . $cat_name . '</a>';
 // подключим шапку
 require_once getinfo('template_dir') . 'page_header.php';
 echo '<div class="posts" role="main">';
 // pr($pages);
 // подключим выводящий файл
 require_once getinfo('template_dir') . 'type/echo_page.php';
 // место для пагинации
Beispiel #20
0
    exit('No direct script access allowed');
}
/**
 * MaxSite CMS
 * (c) http://max-3000.com/
 */
# подготовка данных
$min_search_chars = 2;
// минимальное кол-во симоволов при поиске
$search = mso_segment(2);
$search = mso_strip(strip_tags($search));
$searh_to_text = mb_strtolower($search, 'UTF8');
if ($f = mso_page_foreach('search-head-meta')) {
    require $f;
} else {
    mso_head_meta('title', $search);
}
$search_len = true;
// поисковая фраза более 2 символов
// параметры для получения страниц
if (!$search or $search_len = strlen(mso_slug($search)) < $min_search_chars) {
    $search = tf('Поиск');
    $pages = false;
    // нет страниц
    $categories = false;
    // нет рубрик
    $tags = false;
    // нет меток
} else {
    $par = array('limit' => 7, 'cut' => false, 'type' => false);
    // подключаем кастомный вывод, где можно изменить массив параметров $par для своих задач
Beispiel #21
0
<?php

if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}
mso_head_meta('title', $pages, '%category_name%|%title%', ' » ');
//  meta title страницы
mso_head_meta('description', $pages, '%category_desc%');
// meta description страницы
mso_head_meta('keywords', $pages, '%category_name%');
// meta keywords страницы
$css_file_template_path = 'assets/css/style.min.css';
$css_file_path = getinfo('template_dir') . $css_file_template_path;
if (file_exists($css_file_path)) {
    $css_mod_date = '?' . filemtime($css_file_path);
}
// выводим кодэ
echo '<!DOCTYPE HTML>
<html' . mso_get_val('head_section_html_add') . '>
<head>' . mso_hook('head-start') . '

<meta charset="UTF-8">
<title>' . mso_head_meta('title') . '</title>
<meta name="description" content="' . mso_head_meta('description') . '">
<meta name="keywords" content="' . mso_head_meta('keywords') . '">
<meta property="og:title" content="' . mso_head_meta('title') . '">
<meta property="og:description" content="' . mso_head_meta('description') . '">

<!-- <meta name="viewport" content="width=device-width, initial-scale=1"> -->
<link rel="stylesheet" href="' . getinfo('template_url') . $css_file_template_path . $css_mod_date . '">

<!--[if lt IE 9]><script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
';
// cтили заданные в админке
if ($my_style = mso_get_option('my_style', 'templates', '')) {
    echo NR . '<style>' . NR . $my_style . NR . '</style>' . NR;
}
echo NT . mso_rss();
mso_hook('head-end');
if (function_exists('ushka')) {
    echo ushka('google_analytics_top');
}