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; }
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; }
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; }
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; }
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>'; }
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); },
<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;
// вывод подготовленной таблицы # добавим строчку для дополнительного действия $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
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; }
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_', '"', $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_', '"', $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('&', '&', $mr); $mr = str_replace('"', '"', $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('<', '<', $mr2); $mr2 = str_replace('>', '>', $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; }
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; }
* (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); }
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; }
<?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>
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; }
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(); } }
[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">
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: "<", nextText: ">"}); }); </script> '; // вывод блока слайдера echo '<div id="slider-header" class="nivoSlider">'; foreach ($imgs as $img) { echo NR . '<img src="' . $img . '" alt="" title="">'; } echo '</div>'; /* все настройки слайдера
<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>
} 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=" + ' . 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>';
?> " 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
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; }
function forms_content_callback($matches) { $text = $matches[1]; $text = str_replace("\r", "", $text); $text = str_replace(' ', ' ', $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; }
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; }
function random_gal_head($args = array()) { echo mso_load_jquery('jquery.nivo.slider.js', getinfo('plugins_url') . 'random_gal/'); return $args; }