Example #1
0
function lightbox_head($args = array())
{
    echo mso_load_jquery();
    $url = getinfo('plugins_url') . 'lightbox/';
    $t_izob = t('Изображение');
    $t_iz = t('из');
    // http://leandrovieira.com/projects/jquery/lightbox/
    echo <<<EOF
<script src="{$url}js/jquery.lightbox.js"></script>
<script>
\$(function(){
lburl = '{$url}images/';
\$('div.gallery a').lightBox({
imageLoading: lburl+'lightbox-ico-loading.gif',
imageBtnClose: lburl+'lightbox-btn-close.gif',
imageBtnPrev: lburl+'lightbox-btn-prev.gif',
imageBtnNext: lburl+'lightbox-btn-next.gif',
imageBlank: lburl+'lightbox-blank.gif',
txtImage: '{$t_izob}',
txtOf: '{$t_iz}',
});

\$('a.lightbox').lightBox({
imageLoading: lburl+'lightbox-ico-loading.gif',
imageBtnClose: lburl+'lightbox-btn-close.gif',
imageBtnPrev: lburl+'lightbox-btn-prev.gif',
imageBtnNext: lburl+'lightbox-btn-next.gif',
imageBlank: lburl+'lightbox-blank.gif',
txtImage: '{$t_izob}',
txtOf: '{$t_iz}',
});
});
</script>
EOF;
}
Example #2
0
function rater_head($args = array())
{
    mso_load_jquery();
    $path = getinfo('plugins_url') . 'rater/';
    echo '<script src="' . $path . 'jquery.rater.js"></script>' . NR;
    echo '	<link rel="stylesheet" href="' . $path . 'rater.css">' . NR;
}
Example #3
0
function admin_files_admin_head($args = array())
{
    #echo mso_load_jquery('ui/ui.core.packed.js');
    #echo mso_load_jquery('ui/ui.draggable.packed.js');
    echo mso_load_jquery('alerts/jquery.alerts.js');
    //echo mso_load_jquery('cornerz.js');
    echo '	<link href="' . getinfo('common_url') . 'jquery/alerts/jquery.alerts.css" rel="stylesheet" type="text/css" media="screen">';
    return $args;
}
Example #4
0
function samborsky_polls_head($args = array())
{
    mso_load_jquery();
    $path = getinfo('plugins_url') . 'samborsky_polls/';
    echo <<<EOFS
\t\t
\t<script src="{$path}js/kernel.js"></script>
\t<link rel="stylesheet" href="{$path}css/style.css">
\t
EOFS;
}
Example #5
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>';
}
Example #6
0
function rater_body_end($args = array())
{
    mso_load_jquery();
    echo '<script src="' . getinfo('plugins_url') . 'rater/' . 'jquery.rater.js"></script>' . NR;
}
if (!$slides0) {
    return;
}
// слайды не определены - выходим
$slides0 = str_replace('TEMPLATE_URL/', getinfo('template_url'), $slides0);
// ищем вхождение [slide] ... [slide]
// указываем дефолтные атрибуты полей слайдера
$slides = mso_section_to_array($slides0, '!\\[slide\\](.*?)\\[\\/slide\\]!is', array('header' => '', 'text' => '', 'link' => '', 'img' => ''));
if (!$slides) {
    return;
}
// нет секций - выходим
$slidesjs_output = mso_get_option('slidesjs_pagination', 'templates', 1) ? 'true' : 'false';
$slidesjs_play = (int) mso_get_option('slidesjs_play', 'templates', 4000);
// http://slidesjs.com/
echo mso_load_jquery('slides.min.jquery.js');
echo '
	<script>
		$(document).ready(function(){
			$("div.slidesjs").slides({
				currentClass: "slides_current",
				play: ' . $slidesjs_play . ',
				effect: "fade",
				generatePagination: ' . $slidesjs_output . ',

				animationStart: function(current){
					$("div.slide div.r2").animate({
						bottom: -85
					}, 100);
				},
Example #8
0
<meta charset="UTF-8">
<title><?php 
echo $admin_title;
?>
</title>
<link rel="shortcut icon" href="<?php 
echo getinfo('template_url') . 'images/favicons/' . mso_get_option('default_favicon', 'templates', 'favicon1.png');
?>
" type="image/x-icon">
<link rel="stylesheet" href="<?php 
echo $admin_css;
?>
">
<?php 
echo $admin_css_profile;
echo mso_load_jquery();
mso_hook('admin_head');
?>
</head>
<body>
<div id="container">
	<div class="admin-header"><div class="r">
		<h1><a href="<?php 
echo getinfo('siteurl');
?>
"><?php 
echo mso_get_option('name_site', 'general');
?>
</a></h1>
		<?php 
echo $admin_header;
Example #9
0
    // вывод подготовленной таблицы
    # добавим строчку для дополнительного действия
    $table2 .= '<p><button type="submit" name="f_activate_submit" class="button i-chain">' . t('Включить') . '</button></p>';
} else {
    $table2 = '';
}
echo '<script>
		$(function() {
			$("table.tablesorter").tablesorter( {headers: { 0: {sorter: false}, 2: {sorter: false} }});
		});
		</script>';
// быстрые настройки плагинов
// echo '<p class="nav"><strong>' . t('Настройки') . '</strong> '
// 	. str_replace('  ', '<span class="sep"> </span>', trim(implode(' ', $opt_url)))
// 	.'</p>';
// echo '<p class="nav">' . trim(implode(' ', $opt_url)) .'</p>';
echo mso_load_jquery('jquery.cookie.js');
echo mso_load_script(getinfo('plugins_url') . 'tabs/tabs.js');
echo '
<form method="post">' . mso_form_session('f_session_id') . '
<div class="mso-tabs_widget mso-tabs_widget_000"><div class="mso-tabs">
<ul class="mso-tabs-nav">
<li class="mso-tabs-elem mso-tabs-current active-plugins"><span>' . t('Активные плагины') . '</span></li>
<li class="mso-tabs-elem inactive-plugins"><span>' . t('Неактивные плагины') . '</span></li>
<li class="mso-tabs-elem options-plugins"><span>' . t('Опции плагинов') . '</span></li>
</ul>
<div class="mso-tabs-box mso-tabs-visible">' . $table1 . '</div>
<div class="mso-tabs-box">' . $table2 . '</div>	
<div class="mso-tabs-box tab-options-plugins"><p class="nav">' . trim(implode(' ', $opt_url)) . '</p></div>	
</div></div></form>';
# end file
Example #10
0
function theme_switch_body_start($args = '')
{
    $opt = mso_get_option('theme_switch', 'plugins', array());
    if (!isset($opt['show_panel']) or !$opt['show_panel']) {
        return $args;
    }
    // не отмечена панель
    if (!isset($opt['templates'])) {
        return $args;
    }
    // нет выбранных шаблонов
    // $height_img = isset($opt['height_img']) ? $opt['height_img'] : 125;
    $current_template = getinfo('template');
    $imgs = '';
    // извраты со счетчиками, чтобы сделать красивый скролинг к выбранному элементу
    $i = 1;
    $i_cur = 1;
    foreach ($opt['templates'] as $key => $val) {
        if ($key == $current_template) {
            $class = 'current';
            $i_cur = $i;
        } else {
            $class = '';
        }
        $class = trim($class . ' img' . $i);
        if (file_exists(getinfo('templates_dir') . $key . '/screenshot.png')) {
            $fn = 'screenshot.png';
        } else {
            $fn = 'screenshot.jpg';
        }
        $imgs .= '<a href="' . getinfo('siteurl') . '?theme=' . $key . '" title="' . $val . '" class="' . $class . '"><img src=' . getinfo('templates_url') . $key . '/' . $fn . '></a>';
        $i++;
    }
    // куда скролируем = на 4 картинки назад
    $i_go = $i_cur - 4;
    if ($i_go < 1) {
        $i_go = 1;
    }
    $info_template = '';
    $fn_info = getinfo('templates_dir') . $current_template . '/info.php';
    if (file_exists($fn_info)) {
        require $fn_info;
        $info_template .= $info['name'] . ' ' . $info['version'];
    }
    $out = mso_load_jquery('jquery.scrollto.js') . '
	
	<div class="theme-switch-panel"><div class="wrap">' . $imgs . '</div></div><!-- div class=theme-switch-panel -->
	
	<script>
		$("div.theme-switch-panel").scrollTo("a.current img", 500);
		$("div.theme-switch-panel").scrollTo("a.img' . $i_go . ' img", 800);
	</script>
	
	';
    echo $out;
    return $args;
}
Example #11
0
function mso_view_ini($all = false)
{
    if (!$all) {
        return '';
    }
    //pr($all);
    $CI =& get_instance();
    $CI->load->library('table');
    $tmpl = array('table_open' => '<table class="page "><colgroup style="width: 25%;">', 'row_alt_start' => '<tr class="alt">', 'cell_alt_start' => '<td class="alt">');
    $CI->table->clear();
    // очистим, если были старые данные
    $CI->table->set_template($tmpl);
    // шаблон таблицы
    // заголовки
    //$CI->table->set_heading(t('Настройка'), t('Значение'));
    $table = '';
    $out = '';
    $nav = '';
    // блок навигации
    // сформируем массив всех опций - ключей
    $k_where = array();
    foreach ($all as $k => $v) {
        if (isset($v['options_key']) and $v['options_key']) {
            $k_where[] = $v['options_key'];
        }
    }
    // делаем одним запросов выборку всех опций по этим ключам
    $CI->db->where_in('options_key', $k_where);
    $query = $CI->db->get('options');
    if ($query->num_rows() > 0) {
        // есть запись
        $all_options = $query->result_array();
    } else {
        $all_options = array();
    }
    //pr($all_options);
    //pr($all);
    foreach ($all as $key => $row) {
        if (isset($row['options_key'])) {
            $options_key = stripslashes(trim($row['options_key']));
        } else {
            continue;
        }
        if (!isset($row['options_type'])) {
            $options_type = 'general';
        } else {
            $options_type = stripslashes(trim($row['options_type']));
        }
        if (!isset($row['type'])) {
            if ($options_key !== 'none') {
                $type = 'textfield';
            } else {
                $type = 'none';
            }
        } else {
            $type = stripslashes(trim($row['type']));
        }
        if (!isset($row['values'])) {
            $value = '';
        } else {
            $values = _mso_ini_check_php(stripslashes(htmlspecialchars(trim($row['values']))));
        }
        if (!isset($row['description'])) {
            $description = '';
        } else {
            $description = _mso_ini_check_php(stripslashes(trim(t($row['description']))));
        }
        if (!isset($row['delimer'])) {
            $delimer = '<br>';
        } else {
            $delimer = stripslashes($row['delimer']);
        }
        if (!isset($row['default'])) {
            $default = '';
        } else {
            $default = _mso_ini_check_php(stripslashes(htmlspecialchars(trim($row['default']))));
        }
        // получаем текущее значение опции из массива $all_options
        $options_present = false;
        $value = t($default);
        // нет значения, поэтому берем дефолт
        foreach ($all_options as $v) {
            if ($v['options_type'] == $options_type and $v['options_key'] == $options_key) {
                $value = htmlspecialchars($v['options_value']);
                $options_present = true;
                // признак, что опция есть в базе
                break;
            }
        }
        $f = NR;
        // тип none не создает поля - фиктивная опция
        if ($options_key != 'none') {
            $name_f = 'f_options[' . $options_key . '_m_s_o_' . $options_type . ']';
        } else {
            $name_f = '';
        }
        if ($type == 'textfield') {
            $value = str_replace('_QUOT_', '&quot;', $value);
            // в этом типе может быть свой type для input
            if (!isset($row['textfield_type'])) {
                $textfield_type = 'text';
            } else {
                $textfield_type = stripslashes($row['textfield_type']);
            }
            $f .= '<input type="' . $textfield_type . '" name="' . $name_f . '" value="' . $value . '">' . NR;
        } elseif ($type == 'color') {
            $f .= mso_load_jquery('jscolor.js', getinfo('common_url') . 'jquery/jscolor/');
            $f .= '<input type="text" name="' . $name_f . '" value="' . $value . '" class="color">' . NR;
        } elseif ($type == 'textarea') {
            $value = str_replace('_NR_', "\n", $value);
            $value = str_replace('_QUOT_', '&quot;', $value);
            if (!isset($row['rows'])) {
                $rr = 7;
            } else {
                $rr = (int) $row['rows'];
            }
            $f .= '<textarea rows="' . $rr . '" name="' . $name_f . '">' . $value . '</textarea>' . NR;
        } elseif ($type == 'checkbox') {
            if ($value) {
                $checked = 'checked="checked"';
            } else {
                $checked = '';
            }
            $f .= '<label><input type="checkbox" name="' . $name_f . '" ' . $checked . '> ' . t($key) . '</label>' . NR;
            $f .= '<input type="hidden" name="f_all_checkbox[' . $options_key . '_m_s_o_' . $options_type . ']">' . NR;
        } elseif ($type == 'multicheckbox') {
            $mr = $value;
            // отмеченные пункты - массив в виде стандартного option
            if ($mr) {
                // служебные замены
                $mr = str_replace('&amp;', '&', $mr);
                $mr = str_replace('&quot;', '"', $mr);
                if (preg_match('|_serialize_|A', $mr)) {
                    $mr = preg_replace('|_serialize_|A', '', $mr, 1);
                    $mr = @unserialize($mr);
                }
                if (!is_array($mr)) {
                    $mr = array($mr);
                }
            } else {
                $mr = array();
            }
            // $mr теперь массив!
            $values = explode('#', $values);
            if ($values) {
                foreach ($values as $val) {
                    $ar = explode('||', $val);
                    if (isset($ar[0])) {
                        $mr1 = trim($ar[0]);
                    }
                    // ключ чекбокса
                    if (isset($ar[1])) {
                        $mr2 = trim($ar[1]);
                    } else {
                        $mr2 = $mr1;
                    }
                    if (in_array($mr1, $mr)) {
                        $checked = 'checked="checked"';
                    } else {
                        $checked = '';
                    }
                    //для каждого чекбокса свой ключ!
                    $mkey = $options_key . '_' . mso_slug($mr1) . '_m_s_o_' . $options_type;
                    $name_f1 = 'f_options[' . $mkey . ']';
                    $f .= '<label><input type="checkbox" name="' . $name_f . '[]" value="' . $mr1 . '" ' . $checked . '> ' . t($mr2) . '</label>' . $delimer . NR;
                }
                $f .= '<input type="hidden" name="f_all_checkbox[' . $options_key . '_m_s_o_' . $options_type . ']">' . NR;
            }
        } elseif ($type == 'radio') {
            $values = explode('#', $values);
            // все значения разделены #
            if ($values) {
                foreach ($values as $val) {
                    $ar = explode('||', $val);
                    if (isset($ar[0])) {
                        $mr1 = trim($ar[0]);
                    }
                    // ключ
                    if (isset($ar[1])) {
                        $mr2 = trim($ar[1]);
                    } else {
                        $mr2 = $mr1;
                    }
                    if ($value == trim($mr1)) {
                        $checked = 'checked="checked"';
                    } else {
                        $checked = '';
                    }
                    // преобразование в html
                    $mr2 = str_replace('_QUOT_', '"', $mr2);
                    $mr2 = str_replace('&lt;', '<', $mr2);
                    $mr2 = str_replace('&gt;', '>', $mr2);
                    $f .= '<label><input type="radio" name="' . $name_f . '" value="' . $mr1 . '" ' . $checked . '> ' . t($mr2) . '</label>' . $delimer . NR;
                }
            }
        } elseif ($type == 'select') {
            $values = explode('#', $values);
            // все значения разделены #
            if ($values) {
                $f .= '<select name="' . $name_f . '">';
                foreach ($values as $val) {
                    // $val может быть с || val - текст
                    $val = trim($val);
                    $val_t = $val;
                    $ar = explode('||', $val);
                    if (isset($ar[0])) {
                        $val = trim($ar[0]);
                    }
                    if (isset($ar[1])) {
                        $val_t = trim($ar[1]);
                    }
                    if ($value == $val) {
                        $checked = 'selected="selected"';
                    } else {
                        $checked = '';
                    }
                    $f .= NR . '<option value="' . $val . '" ' . $checked . '>' . t($val_t) . '</option>';
                }
                $f .= NR . '</select>' . NR;
            }
        }
        if ($description) {
            $f .= '<p><em>' . t($description) . '</em></p>';
        }
        if ($options_key != 'none') {
            if (!$options_present) {
                $key = '<span title="' . $options_key . ' (' . $row['options_type'] . ')" class="mso-alert">* ' . t($key) . '</span>';
            } else {
                $key = '<strong title="' . $options_key . ' (' . $row['options_type'] . ')">' . t($key) . '</strong>';
            }
        } else {
            $key = '';
        }
        // если есть новая секция, то выводим пустую инфо-строчку
        if (isset($row['section'])) {
            if ($CI->table->rows) {
                $table .= $CI->table->generate();
            }
            $CI->table->clear();
            // очистим, если были старые данные
            $tmpl['table_open'] = NR . '<table class="page page-responsive section_' . mso_slug($row['section']) . '"><colgroup style="width: 25%;">';
            $CI->table->set_template($tmpl);
            // шаблон таблицы
            if (isset($row['section_description'])) {
                $CI->table->add_row(array('class' => 'section', 'colspan' => 2, 'data' => '<a id="a-' . mso_slug($row['section']) . '"></a><h2 class="section">' . t($row['section']) . '</h2><p>' . t($row['section_description']) . '</p>'));
            } else {
                $CI->table->add_row(array('class' => 'section', 'colspan' => 2, 'data' => '<a id="a-' . mso_slug($row['section']) . '"></a><div class="section"><h2>' . t($row['section']) . '</h2></div>'));
            }
            $nav .= '<a href="#a-' . mso_slug($row['section']) . '" id="' . mso_slug($row['section']) . '">' . t($row['section']) . '</a>    ';
        }
        if ($key) {
            $CI->table->add_row($key, $f);
        }
    }
    if ($CI->table->rows) {
        $table .= $CI->table->generate();
    }
    // последняя генерация
    $out .= '<form action="' . mso_current_url(true) . '" method="post">' . mso_form_session('f_session_id');
    $out .= '<a id="atop"></a><input type="hidden" value="1" name="f_ini">';
    // доп. поле - индикатор, что это ini-форма
    if ($nav) {
        $out .= '<p class="nav">' . str_replace('    ', '<span class="sep"></span>', trim($nav)) . '</p>';
    }
    $out .= $table;
    // вывод подготовленной таблицы
    $out .= NR . '<a id="abottom"></a><button type="submit" name="f_submit" class="mso-save-ini i-save">' . t('Сохранить') . '</button>';
    $out .= '</form>';
    $out .= mso_load_jquery('jquery.cookie.js') . "\r\n<script>\r\n\t\$(function()\r\n\t{\r\n\t\t\$('table.page').hide();\r\n\r\n\t\tvar NameCookie = 'curSection_" . mso_segment(2) . "',\r\n\t\tcookieIndex = \$.cookie(NameCookie);\r\n\r\n\t\tif (cookieIndex != null && \$('table').is('.section_'+cookieIndex)) // есть кука и есть соответсвующая ей таблица\r\n\t\t{\r\n\t\t\t\$('table.section_'+cookieIndex).show();\r\n\t\t\t\$('#'+cookieIndex).addClass('current');\r\n\t\t}\r\n\t\telse // если нет куки или соответвующей таблицы\r\n\t\t{\r\n\t\t\t\$('table.page:first').show(); // показывем только первую таблицу\r\n\t\t\t\$('p.nav a:first').addClass('current'); // к первому пункту навигации добавляем класс\r\n\t\t}\r\n\r\n\t\t\$('p.nav a').click(function(){\r\n\t\t\tvar id = \$(this).attr('id');\r\n\t\t\t\$('table.page').hide();\r\n\r\n\t\t\t\$(this).addClass('current').siblings().removeClass(); // добавляем класс на кликнутый пункт, а у всех соседних удаляем\r\n\t\t\t\$('table.section_'+id).show();\r\n\t\t\t\$.cookie(NameCookie, id, {expires: 30, path: '/'});\r\n\t\t\treturn false;\r\n\t\t});\r\n\t});\r\n</script>";
    return $out;
}
Example #12
0
function bbcode_show_callback($matches)
{
    static $js = false;
    $out = '';
    if (!$js) {
        $out .= mso_load_jquery('jquery.cookie.js');
        $out .= mso_load_jquery('jquery.showhide.js');
        $out .= ' <script>
$(function () {
$.cookie.json = true; $("div.show").showHide({time: 400, useID: false, clickElem: "a.link", foldElem: "dd.show-text", visible: false});
});
</script> ';
        $js = true;
    }
    $out .= '<div class="show"><dl>' . '<dt class="show-header"><a href="#" class="link">' . $matches[1] . '</a></dt>' . '<dd class="show-text">' . $matches[2] . '</dd>' . '</dl></div>' . NR;
    return $out;
}
Example #13
0
 * (c) http://max-3000.com/
 */
# коммментарии
$page_text_ok = true;
// разрешить вывод текста комментария в зависимости отпароля записи
if (isset($page['page_password']) and $page['page_password']) {
    $page_text_ok = isset($page['page_password_ok']);
    // нет отметки, что пароль пройден
}
echo '<span><a id="comments"></a></span>';
// получаем список комментариев текущей страницы
require_once getinfo('common_dir') . 'comments.php';
// функции комментариев
// если был отправлен новый коммент, то обрабатываем его и выводим сообщение в случае ошибки
if ($out = mso_get_new_comment(array('page_title' => $page_title))) {
    $out .= mso_load_jquery('jquery.scrollto.js');
    $out .= '<script>$(document).ready(function(){$.scrollTo("#comments", 500);})</script>';
    echo $out;
}
// получаем все разрешенные комментарии
$comments = mso_get_comments($page_id);
// в сессии проверяем может быть только что отправленный комментарий
if (isset($MSO->data['session']['comments']) and $MSO->data['session']['comments']) {
    $anon_comm = $MSO->data['session']['comments'];
    // массив: id-коммент
    // получаем комментарии для этого юзера
    $an_comments = mso_get_comments($page_id, array('anonim_comments' => $anon_comm));
    // добавляем в вывод
    if ($an_comments) {
        $comments = array_merge($comments, $an_comments);
    }
Example #14
0
function theme_switch_body_start($args = '')
{
    $opt = mso_get_option('theme_switch', 'plugins', array());
    if (!isset($opt['show_panel']) or !$opt['show_panel']) {
        return $args;
    }
    // не отмечена панель
    if (!isset($opt['templates'])) {
        return $args;
    }
    // нет выбранных шаблонов
    $height_img = isset($opt['height_img']) ? $opt['height_img'] : 125;
    $current_template = getinfo('template');
    $imgs = '';
    // извраты со счетчиками, чтобы сделать красивый скролинг к выбранному элементу
    $i = 1;
    $i_cur = 1;
    foreach ($opt['templates'] as $key => $val) {
        if ($key == $current_template) {
            $class = 'current';
            $i_cur = $i;
        } else {
            $class = '';
        }
        $class = trim($class . ' img' . $i);
        $imgs .= '<a href="' . getinfo('siteurl') . '?theme=' . $key . '" title="' . $val . '" class="' . $class . '"><img src=' . getinfo('templates_url') . $key . '/screenshot.jpg></a>';
        $i++;
    }
    // куда скролируем = на 4 картинки назад
    $i_go = $i_cur - 4;
    if ($i_go < 1) {
        $i_go = 1;
    }
    $info_template = '';
    $fn_info = getinfo('templates_dir') . $current_template . '/info.php';
    if (file_exists($fn_info)) {
        require $fn_info;
        $info_template .= '<p>' . t('Шаблон:') . ' <strong>' . $info['name'] . '</strong></p>';
        $info_template .= '<p>' . t('Версия:') . ' <strong>' . $info['version'] . '</strong></p>';
    }
    $out = mso_load_jquery('jquery.scrollto.js') . '
	
	<style>
		div.theme_switch_panel_main {width: 100%; height: ' . ($height_img + 35) . 'px;}
		
		div.theme_switch_panel_info {width: 15%; height: 100%; float: left; overflow: hidden; color: black; background: #DB3A3A; background: -moz-linear-gradient(180deg, white, #EEEEEE, gray); text-shadow: 0px 0px 2px white; box-shadow: -5px 0 3px gray;}
		div.theme_switch_panel_info p {margin: 3px 0 2px 10px;  font-size: 10pt; line-height: 1em;}
		
		div.theme_switch_panel {width: 85%; float: left; height: 100%; overflow: auto; white-space: nowrap; background: white;}
		div.theme_switch_panel_wrap {padding: 5px;}
		
		div.theme_switch_panel img {height: ' . $height_img . 'px; width: auto; margin: 2px 6px; vertical-align: middle; border: 1px solid gray; -webkit-box-shadow: 3px 3px 3px gray; box-shadow: 3px 3px 3px gray; }
		div.theme_switch_panel a.current img {border: 1px solid orange; -webkit-box-shadow: 0px 0px 12px orange; box-shadow: 0px 0px 12px orange; }
		div.theme_switch_panel a:hover img {border: 1px solid #DB3A3A; -webkit-box-shadow: 0px 0px 12px #DB3A3A; box-shadow: 0px 0px 12px #DB3A3A;}
	</style>
	
	<div class="theme_switch_panel_main">
		<div class="theme_switch_panel_info">
			<br>' . $info_template . '
		</div><!-- div class=theme_switch_panel_info -->
		<div class="theme_switch_panel"><div class="theme_switch_panel_wrap">
		' . $imgs . '
		</div></div><!-- div class=theme_switch_panel -->
	</div><!-- div class=theme_switch_panel_main -->
	
	<script>
		$("div.theme_switch_panel").scrollTo("a.current img", 500);
		$("div.theme_switch_panel").scrollTo("a.img' . $i_go . ' img", 800);
	</script>
	
	';
    echo $out;
    return $args;
}
Example #15
0
<?php

if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}
/*
	Файл: _login.php
	Описание: Форма логина. Подкомпонет.
		Если есть залогиненность, то выводим приветствие.
	
	PHP-связи:
		if ($fn = mso_fe('components/_login/_login.php')) require($fn);
*/
echo mso_load_jquery('jquery.dropdown.js');
if (is_login()) {
    $out = '
		
	<a href="#" data-dropdown="#dropdown-1" class="dropdown">' . t('Привет,') . ' ' . getinfo('users_nik') . '!</a>

	<div id="dropdown-1" class="dropdown-menu has-tip anchor-right">
	<ul>
		<li><a href="' . getinfo('siteurl') . 'admin">' . t('Админ-панель') . '</a></li>
		<li><a href="' . getinfo('site_admin_url') . 'page_new">' . t('Создать запись') . '</a></li>
		<li><a href="' . getinfo('site_admin_url') . 'page">' . t('Список записей') . '</a></li>
		<li><a href="' . getinfo('site_admin_url') . 'cat">' . t('Рубрики') . '</a></li>
		<li><a href="' . getinfo('site_admin_url') . 'plugins">' . t('Плагины') . '</a></li>
		<li><a href="' . getinfo('site_admin_url') . 'files">' . t('Загрузки') . '</a></li>
		<li><a href="' . getinfo('site_admin_url') . 'sidebars">' . t('Сайдбары') . '</a></li>
		<li><a href="' . getinfo('site_admin_url') . 'options">' . t('Основные настройки') . '</a></li>
		<li><a href="' . getinfo('site_admin_url') . 'template_options">' . t('Настройка шаблона') . '</a></li>
		<li class="divider"></li>
Example #16
0
function admin_files_admin_head($args = array())
{
    echo mso_load_jquery('alerts/jquery.alerts.js');
    echo '	<link href="' . getinfo('common_url') . 'jquery/alerts/jquery.alerts.css" rel="stylesheet" type="text/css" media="screen">';
    return $args;
}
Example #17
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();
        }
    }
Example #18
0
		[name] => 'ушка 1'
		[type] => 'html'
		[text] => ''
[1] => 
		[name] => 'ушка 2'
		[type] => 'php'
		[text] => ''				
...
*/
// pr($ushki);
echo '<form method="post">' . mso_form_session('f_session_id') . '
		<p><strong>' . t('Новая ушка:') . '</strong> ' . ' <input name="f_ushka_new" type="text" value="">
		<button type="submit" name="f_submit_new" class="button i-plus">' . t('Добавить новую ушку') . '</button></p>
		</form>';
$form = '';
$form .= mso_load_jquery('jquery.cookie.js') . mso_load_jquery('jquery.showhide.js') . '
<script>
$(function () {
$.cookie.json = true; $("div.show").showHide({time: 200, useID: false, clickElem: "a.link", foldElem: "dd.show-text", visible: true});
});
</script>
';
foreach ($ushki as $id => $us) {
    $sel_html = $sel_php = '';
    if ($us['type'] == 'php') {
        $sel_php = ' selected="selected" ';
    } else {
        $sel_html = ' selected="selected" ';
    }
    $form .= '<div class="ushka show"><dl>
					<dt class="show-header"><a href="#" class="link">' . $us['name'] . '</a></dt>' . '<dd class="show-text">' . '<p class="ushki_title"> 
Example #19
0
if ($subdir === false) {
    return;
}
// не определены опции
if ($subdir == '-template-') {
    // каталог шаблона
    $imgs = get_path_files(getinfo('template_dir') . 'images/headers/', getinfo('template_url') . 'images/headers/');
} else {
    $imgs = get_path_files(getinfo('uploads_dir') . $subdir . '/', getinfo('uploads_url') . $subdir . '/');
}
// каталог в uploads
shuffle($imgs);
// случайный порядок
// высота блока: height 250px
// <script type="text/javascript" src="' . getinfo('template_url') . 'components/js/jquery.nivo.slider.pack.js"></script>
echo mso_load_jquery('jquery.nivo.slider.js') . '
	<script type="text/javascript">
		$(window).load(function() {
			$("#slider-header").nivoSlider({controlNav:false, pauseTime:4000, prevText: "&lt;", nextText: "&gt;"});
		});
	</script>
	';
// вывод блока слайдера
echo '<div id="slider-header" class="nivoSlider">';
foreach ($imgs as $img) {
    echo NR . '<img src="' . $img . '" alt="" title="">';
}
echo '</div>';
/*
	все настройки слайдера
	
Example #20
0
		
		<div class="mainmenu">
			<?php 
echo $admin_menu;
?>
		</div>
	</div>
	
	<div class="flex-grow2 pad20-rl pad20-b w100-tablet">
		<?php 
echo $admin_content;
?>
	</div>
</div>
<?php 
echo mso_load_jquery('jquery.cookie.js');
echo mso_load_jquery('jquery.showhide.js');
?>
<script src="<?php 
echo $admin_template_url;
?>
assets/js/jquery.tablesorter.js"></script>
<script src="<?php 
echo $admin_template_url;
?>
assets/js/jquery.fullscreen.js"></script>
<script src="<?php 
echo $admin_template_url;
?>
assets/js/my.js"></script>
</body></html>
Example #21
0
} else {
    $table1 = '';
}
// вторая таблица
$tmpl = array('table_open' => '<table class="page tablesorter inactive-plugins" id="pagetable2">', 'row_alt_start' => '<tr class="alt">', 'cell_alt_start' => '<td class="alt">');
$CI->table->clear();
$CI->table->set_template($tmpl);
// шаблон таблицы
$CI->table->set_caption('<h2>' . t('Неактивные плагины') . '</h2>');
// заголовки
$CI->table->set_heading(' ', t('Каталог'), ' ', t('Название'), t('Версия'), t('Автор'), t('Описание'));
$flag_present_plugins = _create_table(false);
if ($flag_present_plugins) {
    $table2 = $CI->table->generate();
    // вывод подготовленной таблицы
    # добавим строчку для дополнительного действия
    $table2 .= '<p><input type="submit" name="f_activate_submit" value="&nbsp;+ &nbsp;&nbsp;' . t('Включить') . '"></p>';
} else {
    $table2 = '';
}
echo mso_load_jquery('jquery.tablesorter.js') . '
		<script>
		$(function() {
			$("table.tablesorter").tablesorter( {headers: { 0: {sorter: false}, 2: {sorter: false} }});
		});
		</script>';
// добавляем форму, а также текущую сессию
echo '<form method="post">' . mso_form_session('f_session_id');
echo $table1 . $table2;
// вывод таблиц
echo '</form>';
Example #22
0
?>
" type="text/css" media="screen">
		<link rel="stylesheet" href="<?php 
echo $admin_css_menu;
?>
" type="text/css" media="screen">
		<!--[if lte IE 7]>
			<style type="text/css">
				html .ddsmoothmenu{height: 1%;} /*Holly Hack for IE7 and below*/
			</style>
		<![endif]-->
		<?php 
echo mso_load_jquery();
?>
		<?php 
echo mso_load_jquery('ddsmoothmenu.js');
?>
		<script type="text/javascript" src="<?php 
echo $admin_scripts;
?>
"></script>
		<?php 
mso_hook('admin_head');
?>
	</head>
	<body>
		<div id="container">
			<div class="admin-header">
				
				<div class="navline">
					<h1><a href="<?php 
Example #23
0
function popup_head($args = array())
{
    $options = mso_get_option('plugin_popup', 'plugins', array());
    if (!isset($options['popup-bottom'])) {
        $options['popup-bottom'] = 500;
    }
    if (!isset($options['popup-cookie'])) {
        $options['popup-cookie'] = 30;
    }
    if (!isset($options['popup-fade'])) {
        $options['popup-fade'] = 600;
    }
    if (!isset($options['popup-position'])) {
        $options['popup-position'] = 'br';
    }
    if (!isset($options['popup-my-style-block'])) {
        $options['popup-my-style-block'] = '';
    }
    if (!isset($options['popup-my-style-header'])) {
        $options['popup-my-style-header'] = '';
    }
    if (!isset($options['popup-my-style-content'])) {
        $options['popup-my-style-content'] = '';
    }
    if ($options['popup-position'] == 'bl') {
        $style_pos = 'bottom:15px; left:15px; width:22%;';
    } elseif ($options['popup-position'] == 'tp') {
        $style_pos = 'top:15px; right:15px; width:22%;';
    } elseif ($options['popup-position'] == 'tl') {
        $style_pos = 'top:15px; left:15px; width:22%;';
    } elseif ($options['popup-position'] == 'wt') {
        $style_pos = 'top:15px; left:15px; right:15px;';
    } elseif ($options['popup-position'] == 'wb') {
        $style_pos = 'bottom:15px; left:15px; right:15px;';
    } elseif ($options['popup-position'] == 'cnb') {
        $style_pos = 'bottom:15px; left:35%; right:35%;';
    } elseif ($options['popup-position'] == 'cncn') {
        $style_pos = 'bottom:50%; left:35%; right:35%;';
    } else {
        $style_pos = 'bottom:15px; right:15px; width:22%;';
    }
    // br||Снизу справа
    if (!isset($options['popup-btn-close-color'])) {
        $options['popup-btn-close-color'] = 'gray';
    }
    if ($options['popup-btn-close-color'] == 'red') {
        $close_color = 'background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABOtJREFUeNqMVV1oHFUUPnNndvYnm92YuLT2T0NTbWujD0qDCtafBh8FoS++iAT7oFFBrCiVFEyLlCK1pZZW8cWCIEIpiCgUFWulrRD/qqIYumQTErub7O7s7M7Pzsy9fvdOsm2JrV043Ey455tzzvd9ZzQhBN3oZx987wEcgxRGd4kgyFK7XRXtdlG0nHM9h/ZfvFGu9l/g9oFDutad3Ulc7Baut1o4LcJJoh0QcY4sjQh5wvf/EnZzX+9Hx0/cFHjz8LFBSiROimZrICpXiM/Pk7ABHgI44vElxkgzdCIjQaQzIt+f4HXrqcJXn5WuC26/e3RYY+xkVJ7PRtMzxBeqsrrFm1qnYlU9x4lHFEKarqMzt8KtxpMrJs6cWwZu7z84SIZxgf9TTodTJcLF+IJhoEIDAOzKOGQHYUjgAGeEW/H/hGVVooY9tOrSr8UOuPXmuMmy2b95tbouvDRFvNFQ1VAySZqZiF8gn5cqjyKMKYw5QGcgOH5uNMlttSaE5w31l/6I2GJ1LwNwXTgz2wHW0imyooCmrTrN2g2yMQqtK6OijvnPWBbNtprUwMs004xzkiaJhHGfq7OnFTX1l14zMdddfH6BRN2Kq0PFHk6xZTPdc+oT2nDsEDn5LDVQYc11IczNtOXkx7TxxAfk5LIUYe5ydIQuGf72dTamwAXnw1BGgVfrqk05AjmKFtrse2I7MXSQXL2KBvbuISfbRdrdm6j/jVdJRwfmyhWUe3CIPIGuEvH4GIIzfeD82o2DBkyxlYMU4Tgx+xIc0YUWa999Tz0PP0RQECV6b6ENb+0GaFfMAX4hSLd//IUKmS4iz4slKrkB+W2NtjHh+QOQkSJEjkSpAhcyAKHJIpWOHCfBY30b+fwV4IZNk3v2UgaKMSTpMo8tBnBA9YAEz0vGlUGWtLwYvYVbif/+Jy2c/nqZ+6aPf0gpqKOnp+eaHIFDlgL9ZBnG4Qq/HRtDyuyqqFbmidb3U9/jjywDXzPyDLkpkyyo5uocKe02sAIhXAYyixJctY5QBoGOPXDA166mO14Z7YwictzOiCQHA+Nj1ISBIoxG5UlQmYsIOC8y3myeFZ4bO066TZ0h2SCrb/ujy2Z8NQeJvl7Kbb2fnFZL5UUIBy9qwgcR5z8wbLXTcFYTrlLLSVpaSjIDUmtnzlLUcsjDnpkcG6fkQo2iiZ9p6p3DSin+7BzZEz8RfKzyfOkD35PgJY3zc8r+0+vvfRuOfJ1lMmRk0tB2Wjm0LquAhnWNUS6fo+7ubjXXeq1GdczawCiyukHdUh0YYxnunrRq1HDdF5+dKx5RPQdBsI8zNqIzVpBSMnBZ7oU8nJpPGMp1EDvhA6HA8wDM5fKd3RJi11sAl+ug7vuTyYi/f81W/O32zY+JpPlFKpU2M6jeSKWIyZ2xaO3rbcUQ4BZeWrItmm41XR4EQ89dnrq4bJ9fWLdpRJiJo5lUyuxOpSmFynVla71jjqV9LsnzfLlrHJpBxXOu44ZBsOP5y1OfX/dL9M2aO7eFhvFp0kwUsmaSMqg+gcp1pqv1wHFfyq2FqhegsjKi1vaLWhjteKFcmvjfb+jp29bnm0zbxXV91ND1vAnlGEu2RtUOwKXcEJUoig6kuTiyszLt3tQHeul3amW/DgqHA00bDjXKouoCnFCBhqvI+3K0XPr2Rl//fwUYAIJqBdt5wPuYAAAAAElFTkSuQmCC) no-repeat;';
    } elseif ($options['popup-btn-close-color'] == 'orange') {
        $close_color = 'background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABNlJREFUeNqMVVtoXFUUXffcx8y9mWSsNbGQGqQG+yHxRzQoSKASRX+ESj/qR7VUBKFFUWqF+paiKFqUkg9FsNQ/pX9qwQdKg7FiKFj8KNWmpg9jJplkZu77nof7nJumhtjYOzk58zh77bXXfhxLKYW1nuzH9+6mbQhKbIYoakrkTYhsSuXRhP/QB6fWsrX+Czwbf9u2Kt1PQqn9iif9BATwBBA5fSVh0UvRCzw7rfLOgWDrkSPXBJ799P6QZXtHyWhQhbOQ8RyQd4h4ARBwacXozwH0ovfkdFKli1u7Hv9u+qrg2cTBUTp8VEWNmmxNQ8XzZJjRL/oMgVgWvVWlE730Z+bSsoEiaZCDh2tPnZxYBZ4df2uImJxQ4YwvF89BZa3yhDF2CIcArNKPUgKQnBwX5a5FImcETg7awz3PnptaBk+/3e9ZXu2MSpoDcuEsHWqVIdsVkES06/DtfzEncMFpy8vIdC4kOco6SOJoEjwd7t13XrCSnfO0ytoDsnWBgNslU8dHnCvMtyIstmOkRNByu2B5XYgzifk2fR+mSDg5JAImMtql5d4RcftRA5t8ucejrO9VlDgKqwydGBeKQfUNYePOo+h7ZAyZcx2SjCNKiGXf7eh/7HPcuP0wMruuAUv5CNx2XGTCftmAUzyjKg97Vdw04elDWoq0EKhtvp/YVuHU+9H34OvkoAfovQ033LcPzAvgdG+Af/M9KHQR2a6pIIskFGCDv764ccgBz+9SlBRVxCVro7WDalBFdHYcwaZ7TbnZwfXoe+AVsEpXWYb0SJIwvXgSPZWAiCUmL2XiGbG3RpgS6aBpEJN1tvSjDa8awFo4g/nxseX6tv36CuDZY6+igoz4uMugYBqDgQIfZJTZOmleVoCuBs3eMv9Qq6+HavyG8PQ3q7qvOfERXN5CUOtZYaeLSdDKSVWm8jgh9kuNocp+MbWvELYoD+tuQdetW1aBrxveidyiioo6K+wkrZxLFFwlBB5Oke6mCbQD0yC08jSB7B7A+pFnrkhRJFck0jmgJKecQVIzaTuNwQk4Idq5kFMMeTiuljTXiS07jyON26gR45Uav7YyB+TAH7iTiMTGTvACcVogpKYQQv7MqHm+VlknJO3L4aRZUElWHIb4j+OQeYxi8bxJnps1oP76BfPfHyRnLfD2JaQXJuEyGNssz9GkxgoTPk3xTJj2X3h305vK9V9grg+HyspyA9OhEYWXUgfazKLSrMGnpcWNOi0kpDVTHFVCrjoKBbGfbbZx5lIL7TDZs/3jmUMm5rzIDwjBdjmS9eoydFBOhcCtIKjqpnJNNagiMkkLPAuBHSzPFp4naIURLs5HWAiz36uW+HDFVJx6Y2CLZN5XVd/3Ap8i8KpUvxXTeVebiloKnmcG+M+/O5huRAkld3jHJ7OnVs3zUy/dtEsxbyzwK1534KNarZhZYV2+FJamoq4KqZOeZWi2E1yYI9bNJOFFsW3XkdkvrnoTnXi+f6SA81nF83q7A49k8eA6DmybmcbSdVxwQQOswFwnxcxCSlLkU5bi2574tDH5v3fo+HMb6mHO9grYux3HrnsO5WEJvBCSRrFAJ+G6KhpCiHcCVx7acXguuaYL+vJzbHefHRfWaCGsUS6tmlCqV0o0hJRNsjtGTH9Y6/b/R4ABADTN8lCwGX+dAAAAAElFTkSuQmCC) no-repeat;';
    } elseif ($options['popup-btn-close-color'] == 'green') {
        $close_color = 'background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABPtJREFUeNqMVVtsVFUUXfc5dx59RUoCJOpHQ4FQeUUIPzTBED+NRkw0SKIkGlADMSFBG/2C0ET9MBQE5AMsX6J8IC+DH5gYGh8YKf6AhZKSIjLTmbl35j7Pfbj3GWwklcqd7Dkz5569zj5r7b2PkmUZZnsOnT24loa+JE16RRKXRBxVozga90J/ZPfm3Vdn81X+C3z/6f1aySq9kWXpQCCCBV7ggUZEsUCapVChIKNPJKJrzaC5Z9/WoeFHAj/y7ed9hmacdAO3p+xUUHWmQL9BUUtgflRFgabp0FUdmqoiFNFlx7Nf+Grg64mHgh8+d2iDqqonK85U6c7UJKqNKkUbgZcwINjoD2/CptDH0A16p9HJ/LLjOc9d2PPdyAzwoW/29Wmq/mPZvpe/Xb4Nx2/IeUPj6DSoZAQNXp2mCUgDCKIpTmM5mdBmBF5ueM6anz/9ZVyekL8Gvxw0aZPTZbucn7g3AdtzKBoVedMiy6OQK6KYK6BotUb+z/P5XB6mnqMDtU5Ep+smsk6s3LZCmwbXNG17w288/mf1DmiUkVoELHyBeqUOp2ojiRICLUgTQSTnG7UG0iglakzpY9Koa/oqJVVfkeADxwbMSIQ7mV/bsyWvOcOEQtotWrAIwx8cx8dvfYKSUULoh/CaPs0vxrGBL/DZuwdR0oswSFgClfxLDTLlQwlOwmxwA6+73qwTh7HkmLIFIhRYv+oZeYJ5j83D+5sHUNAK6F2wEDte2oGCVcDcrrl4eslqpHEqQfX7mxClPctee6pPp6JYHVOa+ZEvBeTj6QTe1mZi5PcRrF26VvLf1daFXa++J0EZgB8SEKNjoygUigjjgERXW+LTeqToV0MR9gQiBG/A6cZZwblbIodb98Zx5NSR6fxuL7ZPAze8BgaHB5EoMUzDkH4MqpAvj+TSw+AdZJRaqeSb043VZ5szpxvXJq/h4q8XZ1Tf0bNH4QoXnZ2drfUysVsjZ3eWZCXVCz2fBKXoEjmbyZeZtEqlgifnPoF1y9fNAN/07CaYioG6bbfWo4WapVRkSUpj6qsk5nirCu9XniyQFK7vYX7XfGx9fts0FX7oT1PEGrDImchkMbEfv0sS8hcxbzBO4M0fgiiQnMsXtChOBBzHRv+K/gc5Pj74gAa8wcrelXBdt+VH2RaFkcw0Av9Jpa52gazJogoC5Sh41A0dl65eAnfEyfIk9g7vRd2vY/TWFRw4uR+O6+Du1F1c+eM3KJoi/UICDlzqnoGYIA5GZG9Zs331XsuwdllUzgUrT7mdl/kd+UQXVSA7t7d1oL29TdJXrdVgE9cEACOnQzFU+BSEXbNR+6sGz/XfuX7q+pA8cxRFe5RU2UJad8t0UqT2yFlUzkVDFhWnJ4kvwQ3LQKfRIU9I7RZBGMBtumjWmhz5GKl3+IGuuOLN5etNzTyXt6glFSjynCV7BVfebF0xjEIJbFccNKoNn4pyzdiZG1dn9PNlry/bQlEesCwipmBR5FarrLX7Vfevfs7iMcde00Oz2oBru74QYuPYuRtnHnoTLd20tF9XtBOmaXbn8jmYOVOKy6XNdHEex5RV3Bl9amKe4yP0gnE6ycYb529e/t87dMnLizuorndSIb+t61qHplPkWosWLpBYMLjglCsnSfxRpmHo5tmb/iNd0P88vS8u1BBjAxHNViLrpsjLaZpV6fI+T5F+P9vt/7cAAwAk0f+4Vea/LQAAAABJRU5ErkJggg==) no-repeat;';
    } elseif ($options['popup-btn-close-color'] == 'blue') {
        $close_color = 'background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABQNJREFUeNqMVWuIVVUU/s77Po5zzfGCmk1BA0E0EPQYQkiw7o8KCyVDi+iHWNGD/iQVPn6lZlaWjBbTjwIhKUsJjIqwGhyxpiTRfiRJk5PZzNy5d+7rnH3O2fuc09p7bjdl0tyXc/e956z1rbXX+r51tDRNcbn12icn76CtL06SG7hI3UjE1ZDHo14gjg08teTU5Xy1/wJ/5aMTxpyc9Tg92sBCcTUBgUUCEU8Q001d0yD9KMjphs+3fPDCsr1XBL7z4Kk+29QPtBjvnagxlOsBmoxDxASczNhKcNPQYZma+k1Bjte8aOXQq8vHLgn++oGTJUPXDkzWmDs26WGqEUhHpAqQjOmT0iehIDIO4cKiIIahgYVxueaFD5zc8+CxWeBbP/ypj7L5frzqZ3+faIEM5WOVnczSICQJJs1laeRJuEhoTzsBKfty3Yv6z+19ZFSdUH699P6ITfaHJqZZ9rfxJqYJmE6AnGMg71hwMxbyWbrau/pP93OOCcfS2z1Q5SpaWrx/4er3jA64qevPNfyo549yC7TTfw1Z20QceqhXxtGcnkTKGVwFbEIEZFcdh1crIxUM1CNVGrnbhnaLCf6wAn9691E74PF62Tg6liqFYxlUL46+a7twaPsaDK6/DwU7RsRaYF6D7hfw6bbV2Ld5Bd1PqO4ztbfph0WXnorNCjxJ05LHeLHaDBFRDWWNbdOAiALc09+LLB19cbEL254swSWgm3oK2PjYnapEC7pdLOm7BmnMyU+n3sj+GFTStHfhip19JrHhdtkUPxSqsTMU0+HMcTF04iyW3nwddCrTvK4sXl53F5XGVjZy1b0Ax0+fRz7ngvFUNV32SvZAS8RSncB7pUBk9yXdpIEEc/M5nPmrhV0ff6eYINdcN9MBblDTNw5+DcqZSmF1/PQ2OB2nVw+iuBBGsRKI5LGm+Cw5rKE4vxs/n63hy5Ezs9T39sERNIitc+de1baf0YFaaQIkwtVJ2owaqrJTH0pS5in5X65U0LvQRem262eBr7v/VmR0gVqt1rZH2z8hLEH4gumtgI/KRlJjVYC4vXs+Q093Bs+vWdIphR/wTolkD7Y+cTe0OADnouMXC4GEh0hiMarT3Bim4aSUJpJ/lVdvNFXGF9Z407uHL+pBdyGH/hsXUyJ+2y9WLBMRI5tkRG/60VdNn7cY1V0+lMA0VmFYDr4ltniU7dhEHRsGD2PKS/DjrxXs2HcU9VaAP6ea+OGX80Roc8YvChH6DfCQjVH8Y2q29Dy6dxsp8sUcqS+XsZWspUI5KRGkQE030NXVpS5pX52eRr1ep1IQt+0s8TcDj0Vo1qZQL58joTWfLX/zxoApj8c532KkYq2hWUVJI0UlWo6Th5Wfo0SlEcVoDKvmmY6LrnlZJTo5NVnI4XtNePUyIr9xJoE5eNFUXPTQO8scU/s8m8nY2VwOGcdWY2BGeZeeioECbqBVkbNmgiQT91eG3jo1a54vWvnmWho8e5xsjgLkKfMMgRsKXIrjwnku4hhhGIK16vBrk2CNKRZxsapyZOCzS76JFizfvtTUk/227RTtTA62k4VpWtApgNbmv6QbJ0YEXg1hs4qQNUcp1qrK8O7j//sOLd67pWAk4XpdS58xTbNgSHDdaIuP1MyJbiEjyvnlWMQ7Et0eqB7Zxa7oBf3Pml/aZGhJVNLSuESoLl1FUmCZAlTJ74vK8J6hy739/xZgAFP6BdRXBC5PAAAAAElFTkSuQmCC) no-repeat;';
    } else {
        $close_color = 'background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA8hJREFUeNqMVUtIG1EUfZnEaCR+EANCIatAQQguKg1dCQVxowSqgnYhihJctHQVKBS6KxW6cBMqVDcighiMuigtFMFIQVoRBFehgUBWSjT+ovEX7TmP3GGCNfXB5c28ufec+31ju729VeVWLBZ7hs1/c3Pz+Pr62g3JXl1dpS4uLtZHR0e3y9na/gUejUbt1dXVIXx7B5BHEEUBsAKJstlsWg8kibOzsw/hcHjmQeDLy8t+h8MRy+fzvsPDQ3V0dKTwrAqFggbWRgC32+1aDMMgyebp6emLsbGx9L3gi4uL7VCOAdSdyWTU8fExDU1ACvVJwt1KgsgyIAhGIpH1O+Dz8/N+KP06ODhw7e7uKijqc0Shja3gFEbCNHHnIiFsSBCYnp5OmeB4cbpcrj/w1Luzs6OQRx1uRUWFBqfwXRaBCExhZEJCO4Bv4iwwOztb0BYwfIND797engnsdDp1Eff391U2m1WXl5eqqqpKVVZWqvPzc33OmhBcyOkMonwCh1/qqCcmJpwwCJ+cnJipoBIj8nq9amhoSOce0WlQesnz/v5+7cj4+LgGZjQkoS0a4D1gZgwctsPIQ3AaShroaSAQ0J56PB4VCoW0IYEHBgZ0FA0NDcrv95t2UlzUxtfd3e134MNT5osp4OJHKtbU1KitrS3V0tKiPautrVUjIyMKtdE6XIw0kUgozIQmYMGpWyx8mwEPffSSBNIRVKABi7uwsGD2t9vtLgGemprSz6yP2Ak4bHwGClJHcJk8mT7ujY2NKp1Oq42NjTvTt7S0pKOtr68vmQOu4iy4DeQ7z4rLYEjfc2f3NDU1qdbW1jvgXV1d2ktOsOiLEAuSJ3iK+bJOHneOPD3v6+szU0FPJUWsAYssvS528o40pwyA/KSR3B0yeWw/emzN8eTkZEkNSNDc3Ky/iR1TXMT7baBXf4Agx0OZOgrbjt3C3uZ1wOKxr5PJpJqbm9OATBu7hQ4IMM8BzgtsXY//4ODgR1T8LXtappAdIEMjrcj2pD7uHzPX1GPrMo2cWF54IHi9srIScVABjB9gNIxHj7XqJGFLMgoSkIyLDhBQ8ss00GOCI7okVL6U3Ioo3HMYfIOhk4AElour3K0owMW7hp0XWF1d3b5zn/f09AwD6DOmsITAOhzSFTLVuVxOFX8qeZD1xuPxr/f+iYLBYBuAosilR/Iv3ks/W4EpSEUKhL1ra2ub//2HdnZ21kE5DE9fAbTOCk6vJc/8+4DoE5yJwOP8g37Qsjo6Ouy8NaFDcUM8kAzOsti/w9N4ub//XwEGAN8IKuohXMXvAAAAAElFTkSuQmCC) no-repeat;';
    }
    // точка отсчета top - верх  bottom - низ
    if (!isset($options['popup-xy'])) {
        $options['popup-xy'] = 'bottom';
    }
    if ($options['popup-xy'] == 'top') {
        $if_xy = '$(window).scrollTop() < ' . $options['popup-bottom'] . ' && !popupBlock.is(":animated")';
        $if_xy_top = 'true';
    } else {
        $if_xy = '$(window).scrollTop() + $(window).height() > $(document).height() - ' . $options['popup-bottom'] . ' && !popupBlock.is(":animated")';
        $if_xy_top = 'false';
    }
    if (!isset($options['popup-btn-close']) or $options['popup-btn-close']) {
        $popup_btn_close = 'false';
    } else {
        $popup_btn_close = 'true';
    }
    if (!isset($options['popup-allways-view'])) {
        $options['popup-allways-view'] = false;
    }
    $popup_allways_view = $options['popup-allways-view'] ? 'false' : 'true';
    echo mso_load_jquery() . mso_load_jquery('jquery.cookie.js') . '
<script>
if (document.querySelector)
{ 
	$(function() 
	{
		if (' . $popup_btn_close . ' || !$.cookie("mso-hidePopup")) 
		{
			var popupBlock = $("div.mso-popup-block"),
				close = $("span.mso-popup-close");
			
			if (' . $if_xy_top . ') {popupBlock.show();}
			
			if (' . $popup_allways_view . ')
			{
				$(window).scroll(function()
				{
					if (popupBlock.data("hide")) 
					{
						popupBlock.hide();
					}
					else if (' . $if_xy . ') 
					{
						popupBlock.fadeIn(' . $options['popup-fade'] . ');
					}
					else if (!popupBlock.is(":animated")) 
					{
						popupBlock.fadeOut(' . $options['popup-fade'] . ');
					}
				});
			}
			else
			{
				popupBlock.show();
			}
			
			close.click(function() 
			{
				popupBlock.hide().data("hide", 1);
				$.cookie("hidePopup", "true", {expires: ' . $options['popup-cookie'] . ', path: "/"});
			});
		}
	});
}
</script>

<style>
div.mso-popup-block {position:fixed; display:none; padding: 10px; border: 1px solid #ccc; background: #F8F8F8; z-index: 9999;' . $style_pos . $options['popup-my-style-block'] . '}
span.mso-popup-close {float:right; width:23px; height:23px; margin-bottom:8px; ' . $close_color . ' cursor:pointer;}
</style>
';
    return $args;
}
Example #24
0
function forms_content_callback($matches)
{
    $text = $matches[1];
    $text = str_replace("\r", "", $text);
    $text = str_replace('&nbsp;', ' ', $text);
    $text = str_replace("\t", ' ', $text);
    $text = str_replace('<br />', "<br>", $text);
    $text = str_replace('<br>', "\n", $text);
    $text = str_replace("\n\n", "\n", $text);
    $text = str_replace('     ', ' ', $text);
    $text = str_replace('    ', ' ', $text);
    $text = str_replace('   ', ' ', $text);
    $text = str_replace('  ', ' ', $text);
    $text = str_replace("\n ", "\n", $text);
    $text = str_replace("\n\n", "\n", $text);
    $text = trim($text);
    $out = '';
    // убиваем исходный текст формы
    //$r = preg_match_all('!\[email=(.*?)\]|\[redirect=(.*?)\]\[subject=(.*?)\]|\[field\](.*?)\[\/field\]|\[ushka=(.*?)\]!is', $text, $all);
    // на какой email отправляем
    $r = preg_match_all('!\\[email=(.*?)\\]!is', $text, $all);
    if ($r) {
        $email = trim(implode(' ', $all[1]));
    } else {
        $email = mso_get_option('admin_email', 'general', '*****@*****.**');
    }
    // тема письма
    $r = preg_match_all('!\\[subject=(.*?)\\]!is', $text, $all);
    if ($r) {
        $subject = trim(implode(' ', $all[1]));
    } else {
        $subject = tf('Обратная связь');
    }
    // куда редиректить после отправки
    $r = preg_match_all('!\\[redirect=(.*?)\\]!is', $text, $all);
    if ($r) {
        $redirect = trim(implode(' ', $all[1]));
    } else {
        $redirect = '';
    }
    // eirf к форме
    $r = preg_match_all('!\\[ushka=(.*?)\\]!is', $text, $all);
    if ($r) {
        $ushka = trim(implode(' ', $all[1]));
    } else {
        $ushka = '';
    }
    // отправить копию на ваш email
    $r = preg_match_all('!\\[nocopy\\]!is', $text, $all);
    if ($r) {
        $forms_subscribe = false;
    } else {
        $forms_subscribe = true;
    }
    // кнопка Сброс формы
    $r = preg_match_all('!\\[noreset\\]!is', $text, $all);
    if ($r) {
        $reset = false;
    } else {
        $reset = true;
    }
    // pr($all);
    // поля формы
    $r = preg_match_all('!\\[field\\](.*?)\\[\\/field\\]!is', $text, $all);
    $f = array();
    // массив для полей
    if ($r) {
        $fields = $all[1];
        /* 
        pr($fields);
        pr($email);
        pr($redirect);
        pr($subject);
        pr($ushka);
        */
        if ($subject) {
            // поле тема письма делаем в виде обязательнного поля select.
            // формируем массив для формы
            $subject_f['require'] = 1;
            //$subject_f['type'] = 'select';
            $subject_f['type'] = mb_strpos($subject, '#') === false ? 'text' : 'select';
            // если это одиночное поле, но при этом текст сабжа начинается
            // с _ то ставим тип hidden
            if ($subject_f['type'] == 'text' and mb_strpos($subject, '_') === 0) {
                $subject = mb_substr($subject . ' ', 1, -1, 'UTF-8');
                $subject_f['type'] = 'hidden';
            }
            $subject_f['description'] = tf('Тема письма');
            //$subject_f['tip'] = t('Выберите тему письма');
            $subject_f['values'] = $subject;
            $subject_f['value'] = $subject;
            $subject_f['default'] = '';
            // преобразования, чтобы сделать ключ для поля
            $f1['subject'] = $subject_f;
            // у поля тема будет ключ subject
            foreach ($f as $key => $val) {
                $f1[$key] = $val;
            }
            $f = $f1;
        }
        $i = 0;
        foreach ($fields as $val) {
            $val = trim($val);
            if (!$val) {
                continue;
            }
            $val = str_replace(' = ', '=', $val);
            $val = str_replace('= ', '=', $val);
            $val = str_replace(' =', '=', $val);
            $val = explode("\n", $val);
            // разделим на строки
            $ar_val = array();
            foreach ($val as $pole) {
                $pole = preg_replace('!=!', '_VAL_', $pole, 1);
                $ar_val = explode('_VAL_', $pole);
                // строки разделены = type = select
                if (isset($ar_val[0]) and isset($ar_val[1])) {
                    $f[$i][$ar_val[0]] = $ar_val[1];
                }
            }
            $i++;
        }
        if (!$f) {
            return '';
        }
        // нет полей - выходим
        // теперь по-идее у нас есть вся необходимая информация по полям и по форме
        // смотрим есть ли POST. Если есть, то проверяем введенные поля и если они корректные,
        // то выполняем отправку почты, выводим сообщение и редиректимся
        // если POST нет, то выводим обычную форму
        // pr($f);
        if ($_POST) {
            $_POST = mso_clean_post(array('forms_antispam1' => 'integer', 'forms_antispam2' => 'integer', 'forms_antispam' => 'integer', 'forms_name' => 'base', 'forms_email' => 'email', 'forms_session' => 'base'));
        }
        if ($post = mso_check_post(array('forms_session', 'forms_antispam1', 'forms_antispam2', 'forms_antispam', 'forms_name', 'forms_email', 'forms_submit'))) {
            mso_checkreferer();
            $out .= '<div class="forms-post">';
            // верный email?
            if (!($ok = mso_valid_email($post['forms_email']))) {
                $out .= '<div class="message error small">' . tf('Неверный email!') . '</div>';
            }
            // антиспам
            if ($ok) {
                $antispam1s = (int) $post['forms_antispam1'];
                $antispam2s = (int) $post['forms_antispam2'];
                $antispam3s = (int) $post['forms_antispam'];
                if ($antispam1s / 984 + $antispam2s / 765 != $antispam3s) {
                    // неверный код
                    $ok = false;
                    $out .= '<div class="message error small">' . tf('Неверная сумма антиспама') . '</div>';
                }
            }
            if ($ok) {
                foreach ($f as $key => $val) {
                    if ($ok and isset($val['require']) and $val['require'] == 1) {
                        if (!isset($post['forms_fields'][$key]) or !$post['forms_fields'][$key]) {
                            $ok = false;
                            $out .= '<div class="message error small">' . tf('Заполните все необходимые поля!') . '</div>';
                        }
                    }
                    if (!$ok) {
                        break;
                    }
                }
            }
            // всё ок
            if ($ok) {
                //pr($post);
                // pr($f);
                // pr($redirect);
                // pr($email);
                // pr($subject);
                // формируем письмо и отправляем его
                if (!mso_valid_email($email)) {
                    $email = mso_get_option('admin_email', 'general', '*****@*****.**');
                }
                // куда приходят письма
                $message = t('Имя: ') . $post['forms_name'] . "\n";
                $message .= t('Email: ') . $post['forms_email'] . "\n";
                foreach ($post['forms_fields'] as $key => $val) {
                    //pr($key);
                    if ($key === 'subject' and $val) {
                        $subject = $val;
                        //pr($subject);
                        continue;
                    }
                    $message .= $f[$key]['description'] . ': ' . $val . "\n\n";
                }
                if ($_SERVER['REMOTE_ADDR'] and $_SERVER['HTTP_REFERER'] and $_SERVER['HTTP_USER_AGENT']) {
                    $message .= "\n" . tf('IP-адрес: ') . $_SERVER['REMOTE_ADDR'] . "\n";
                    $message .= tf('Отправлено со страницы: ') . $_SERVER['HTTP_REFERER'] . "\n";
                    $message .= tf('Браузер: ') . $_SERVER['HTTP_USER_AGENT'] . "\n";
                }
                // pr($message);
                $form_hide = mso_mail($email, $subject, $message, $post['forms_email']);
                if ($forms_subscribe and isset($post['forms_subscribe'])) {
                    mso_mail($post['forms_email'], tf('Вами отправлено сообщение:') . ' ' . $subject, $message);
                }
                $out .= '<div class="message ok small">' . tf('Ваше сообщение отправлено!') . '</div><p>' . str_replace("\n", '<br>', htmlspecialchars($subject . "\n" . $message)) . '</p>';
                if ($redirect) {
                    mso_redirect($redirect, true);
                }
            } else {
                $out .= forms_show_form($f, $ushka, $forms_subscribe, $reset, $subject);
            }
            $out .= '</div>';
            $out .= mso_load_jquery('jquery.scrollto.js');
            $out .= '<script>$(document).ready(function(){$.scrollTo("div.forms-post", 500);})</script>';
        } else {
            $out .= forms_show_form($f, $ushka, $forms_subscribe, $reset, $subject);
        }
    }
    return $out;
}
Example #25
0
function tabs_head($args = array())
{
    /*
    	Идея и основа кода (c) Dimox, http://dimox.name/universal-jquery-tabs-script/
    	Переделка, адаптация (с) MAX (http://maxsite.org/), Cuprum (http://cuprum.name/)
    */
    echo mso_load_jquery() . mso_load_jquery('jquery.cookie.js') . mso_load_script(getinfo('plugins_url') . 'tabs/tabs.js');
    return $args;
}
Example #26
0
function random_gal_head($args = array())
{
    echo mso_load_jquery('jquery.nivo.slider.js', getinfo('plugins_url') . 'random_gal/');
    return $args;
}