Пример #1
0
$query = $CI->db->get();
if ($query->num_rows() > 0) {
    $books = $query->result_array();
    $out = '';
    foreach ($books as $book) {
        if (is_login()) {
            $tl = '<p><a href="' . getinfo('siteurl') . 'admin/guestbook/editone/' . $book['guestbook_id'] . '">' . t('Редактировать') . '</a></p>';
        } else {
            $tl = '';
        }
        // pr($book);
        $out .= '<a id="guestbook-' . $book['guestbook_id'] . '"></a>';
        $guestbook_text = htmlspecialchars($book['guestbook_text']) . "\n";
        $guestbook_text = str_replace(array("\r\n", "\r"), "\n", $guestbook_text);
        $guestbook_text = preg_replace('!(.*)\\n!', "<p>\$1</p>", $guestbook_text);
        $guestbook_text = str_replace('<p></p>', "", $guestbook_text);
        // pr($guestbook_text, 1);
        $out .= str_replace(array('[id]', '[ip]', '[browser]', '[date]', '[name]', '[text]', '[title]', '[email]', '[icq]', '[site]', '[phone]', '[custom1]', '[custom2]', '[custom3]', '[custom4]', '[custom5]', '[url]'), array($book['guestbook_id'], $book['guestbook_ip'], $book['guestbook_browser'], mso_date_convert('Y-m-d H:i:s', $book['guestbook_date']), htmlspecialchars($book['guestbook_name']), $guestbook_text, htmlspecialchars($book['guestbook_title']) . '&nbsp;', htmlspecialchars($book['guestbook_email']) . '&nbsp;', htmlspecialchars($book['guestbook_icq']) . '&nbsp;', htmlspecialchars($book['guestbook_site']) . '&nbsp;', htmlspecialchars($book['guestbook_phone']) . '&nbsp;', htmlspecialchars($book['guestbook_custom1']) . '&nbsp;', htmlspecialchars($book['guestbook_custom2']) . '&nbsp;', htmlspecialchars($book['guestbook_custom3']) . '&nbsp;', htmlspecialchars($book['guestbook_custom4']) . '&nbsp;', htmlspecialchars($book['guestbook_custom5']) . '&nbsp;', getinfo('siteurl') . 'guestbook#guestbook-' . $book['guestbook_id']), $options['format']);
    }
    if ($out) {
        echo $options['start'] . $out . $options['end'];
    }
}
// здесь пагинация
mso_hook('pagination', $pag);
echo '</div></div>';
# конечная часть шаблона
if ($fn = mso_find_ts_file('main/main-end.php')) {
    require $fn;
}
# end file
Пример #2
0
function mso_page_date($date = 0, $format = 'Y-m-d H:i:s', $do = '', $posle = '', $echo = true)
{
    if (!$date) {
        return '';
    }
    if (is_array($format)) {
        if (isset($format['format'])) {
            $df = $format['format'];
        } else {
            $df = 'D, j F Y г.';
        }
        if (isset($format['days'])) {
            $dd = $format['days'];
        } else {
            $dd = tf('Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье');
        }
        if (isset($format['month'])) {
            $dm = $format['month'];
        } else {
            $dm = tf('января февраля марта апреля мая июня июля августа сентября октября ноября декабря');
        }
    } else {
        $df = $format;
        $dd = false;
        $dm = false;
    }
    // учитываем смещение времени time_zone
    $out = mso_date_convert($df, $date, true, $dd, $dm);
    if ($echo) {
        echo $do . $out . $posle;
    } else {
        return $do . $out . $posle;
    }
}
Пример #3
0
function calendar_widget_custom($arg = array(), $num = 1)
{
    # массив названий месяцев
    if (!isset($arg['months'])) {
        $arg['months'] = array(t('Январь'), t('Февраль'), t('Март'), t('Апрель'), t('Май'), t('Июнь'), t('Июль'), t('Август'), t('Сентябрь'), t('Октябрь'), t('Ноябрь'), t('Декабрь'));
    }
    # массив названий дней недели
    if (!isset($arg['days'])) {
        $arg['days'] = array(t('Пн'), t('Вт'), t('Ср'), t('Чт'), t('Пт'), t('Сб'), t('Вс'));
    }
    # оформление виджета
    if (!isset($arg['header'])) {
        $arg['header'] = '<h2 class="box"><span>' . t('Календарь') . '</span></h2>';
    }
    if (!isset($arg['block_start'])) {
        $arg['block_start'] = '<div class="calendar">';
    }
    if (!isset($arg['block_end'])) {
        $arg['block_end'] = '</div>';
    }
    if (!isset($arg['elem_previous'])) {
        $arg['elem_previous'] = '««';
    }
    if (!isset($arg['elem_next'])) {
        $arg['elem_next'] = '»»';
    }
    $prefs = array('start_day' => 'monday', 'month_type' => 'long', 'day_type' => 'long', 'show_next_prev' => TRUE, 'local_time' => time(), 'next_prev_url' => getinfo('site_url') . 'archive/');
    $prefs['template'] = '
	   {table_open}<table border="0" cellpadding="0" cellspacing="0">{/table_open}

	   {heading_row_start}<tr>{/heading_row_start}

	   {heading_previous_cell}<th><a href="{previous_url}">' . $arg['elem_previous'] . '</a></th>{/heading_previous_cell}
	   {heading_title_cell}<th colspan="{colspan}">{heading}</th>{/heading_title_cell}
	   {heading_next_cell}<th><a href="{next_url}">' . $arg['elem_next'] . '</a></th>{/heading_next_cell}

	   {heading_row_end}</tr>{/heading_row_end}

	   {week_row_start}<tr class="week">{/week_row_start}
	   {week_day_cell}<td>{week_day}</td>{/week_day_cell}
	   {week_row_end}</tr>{/week_row_end}

	   {cal_row_start}<tr>{/cal_row_start}
	   {cal_cell_start}<td>{/cal_cell_start}

	   {cal_cell_content}<a href="{content}">{day}</a>{/cal_cell_content}
	   {cal_cell_content_today}<div class="today-content"><a href="{content}">{day}</a></div>{/cal_cell_content_today}

	   {cal_cell_no_content}{day}{/cal_cell_no_content}
	   {cal_cell_no_content_today}<div class="today">{day}</div>{/cal_cell_no_content_today}

	   {cal_cell_blank}&nbsp;{/cal_cell_blank}

	   {cal_cell_end}</td>{/cal_cell_end}
	   {cal_row_end}</tr>{/cal_row_end}

	   {table_close}</table>{/table_close}';
    $CI =& get_instance();
    $CI->load->library('calendar', $prefs);
    $mktime = mktime() + getinfo('time_zone') * 60 * 60;
    // с учетом часового пояса ?
    # если это архив, то нужно показать календарь на этот год и месяц
    if (is_type('archive')) {
        $year = (int) mso_segment(2);
        if ($year > date('Y', $mktime) or $year < 2000) {
            $year = date('Y', $mktime);
        }
        $month = (int) mso_segment(3);
        if ($month > 12 or $month < 1) {
            $month = date('m', $mktime);
        }
    } else {
        $year = date('Y', $mktime);
        $month = date('m', $mktime);
    }
    # для выделения дат нужно смотреть записи, которые в этом месяце
    $CI->db->select('page_date_publish');
    $CI->db->from('page');
    $CI->db->join('page_type', 'page_type.page_type_id = page.page_type_id');
    $CI->db->where('page_status', 'publish');
    $CI->db->where('page_type_name', 'blog');
    $CI->db->where('page_date_publish >= ', mso_date_convert_to_mysql($year, $month));
    $CI->db->where('page_date_publish < ', mso_date_convert_to_mysql($year, $month + 1));
    # не выводить неопубликованные
    $CI->db->where('page_date_publish < ', mso_date_convert('Y-m-d H:i:s', date('Y-m-d H:i:s')));
    $query = $CI->db->get();
    $data = array();
    if ($query->num_rows() > 0) {
        $pages = $query->result_array();
        foreach ($pages as $key => $page) {
            $d = (int) mso_date_convert('d', $page['page_date_publish']);
            $data[$d] = getinfo('site_url') . 'archive/' . $year . '/' . $month . '/' . $d;
        }
        /*	$data = array(
        			   3  => 'http://your-site.com/news/article/2006/03/',
        			   7  => 'http://your-site.com/news/article/2006/07/" title="123',
        			   26 => 'http://your-site.com/news/article/2006/26/'
        			); */
    }
    $out = $CI->calendar->generate($year, $month, $data);
    $month_en = array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
    $day_en = array('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday');
    $out = str_replace($month_en, $arg['months'], $out);
    $out = str_replace($day_en, $arg['days'], $out);
    # если используется английский, то заменим большие названия на маленькие
    $out = str_replace(array('monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'), array('Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'), $out);
    $out = $arg['header'] . $arg['block_start'] . $out . $arg['block_end'];
    return $out;
}
Пример #4
0
function mso_remote_f_getpost($post)
{
    if (!isset($post['remote_page_id']) or !$post['remote_page_id']) {
        return 'ERROR: missing arguments';
    }
    require_once getinfo('common_dir') . 'page.php';
    require_once getinfo('common_dir') . 'inifile.php';
    // функции для работы с ini-файлом
    // удалим хуки для текста - должно отдаваться как в базе
    mso_remove_hook('content');
    mso_remove_hook('content_auto_tag');
    mso_remove_hook('content_balance_tags');
    mso_remove_hook('content_out');
    mso_remove_hook('content_complete');
    $par = array('custom_type' => 'home', 'pagination' => false, 'content' => true, 'work_cut' => false, 'type' => false, 'page_id' => $post['remote_page_id'], 'date_now' => false, 'page_status' => false, 'page_id_autor' => $post['remote_users_id'], 'all_fields' => true);
    // если юзеру разрешено редактировать чужие страницы, то 'page_id_autor' сбрасываем
    // иначе только свои страницы можно загружать
    if (mso_check_user_password($post['remote_users_login'], $post['remote_users_password'], 'admin_page_edit_other')) {
        $par['page_id_autor'] = false;
    }
    $pages = mso_get_pages($par, $pagination);
    // получим странички
    $out = '';
    if ($pages) {
        foreach ($pages as $page) {
            foreach ($page as $p_name => $p_val) {
                if ($p_name == 'page_categories_detail') {
                    continue;
                } elseif ($p_name == 'users_description') {
                    continue;
                } elseif ($p_name == 'users_avatar_url') {
                    continue;
                } elseif ($p_name == 'users_login') {
                    continue;
                } elseif ($p_name == 'page_content') {
                    $p_val = str_replace("\n", '!RMTNR!', $p_val);
                } elseif ($p_name == 'page_categories') {
                    // это массив, где хранятся id рубрик
                    $p_val = implode(" ", $p_val);
                } elseif ($p_name == 'page_tags') {
                    // это массив, где хранятся имена меток
                    $p_val = implode('!RMTNR!', $p_val);
                } elseif ($p_name == 'page_meta') {
                    //  это массивы в массиве
                    $pm = '';
                    foreach ($p_val as $page_meta_key => $page_meta_val) {
                        $pm .= '!RMTMETA!' . $page_meta_key . '=' . implode('!RMTNR!', $page_meta_val);
                    }
                    $p_val = $pm;
                } elseif ($p_name == 'page_date_publish') {
                    //page_date_publish=2009-01-05 22:27:22
                    $out .= NR . 'page_date_publish_year=' . mso_date_convert('Y', $p_val, false);
                    $out .= NR . 'page_date_publish_mon=' . mso_date_convert('m', $p_val, false);
                    $out .= NR . 'page_date_publish_day=' . mso_date_convert('d', $p_val, false);
                    $out .= NR . 'page_date_publish_hour=' . mso_date_convert('H', $p_val, false);
                    $out .= NR . 'page_date_publish_min=' . mso_date_convert('i', $p_val, false);
                    $out .= NR . 'page_date_publish_sec=' . mso_date_convert('s', $p_val, false);
                } elseif (is_array($p_val)) {
                    continue;
                }
                $out .= NR . $p_name . '=' . $p_val;
            }
        }
        # нужно передать и все метаполя, которые в шаблоне и admin_page/meta.ini.
        # Они могут быть пустыми, поэтому их нет в page_meta
        $all = mso_get_ini_file(getinfo('admin_plugins_dir') . 'admin_page/meta.ini');
        if (file_exists(getinfo('template_dir') . 'meta.ini')) {
            $meta_templ = mso_get_ini_file(getinfo('template_dir') . 'meta.ini');
            if ($meta_templ) {
                $all = array_merge($all, $meta_templ);
            }
        }
        $pm = '';
        foreach ($all as $key => $val) {
            $pm .= '!RMTMETA!' . $key . '=' . _mso_implode($val);
        }
        $out .= NR . 'page_meta_template=' . $pm;
    } else {
        return 'ERROR: no page';
    }
    return trim($out);
}
Пример #5
0
        ?>
		<item>
			<title><![CDATA[<?php 
        echo xml_convert(strip_tags($page_title));
        ?>
]]></title>
			<link><?php 
        echo getinfo('siteurl') . 'page/' . mso_slug($page_slug);
        ?>
</link>
			<guid><?php 
        echo getinfo('siteurl') . 'page/' . mso_slug($page_slug);
        ?>
</guid>
			<pubDate><?php 
        echo date('D, d M Y H:i:s ' . $time_zone, strtotime(mso_date_convert('Y-m-d H:i:s', $page_date_publish)));
        ?>
</pubDate>
			<?php 
        echo mso_page_cat_link($page_categories, ", ", '<category><![CDATA[', ']]></category>' . "\n", false, 'category', false);
        ?>
			<description><![CDATA[<?php 
        echo mso_page_content($page_content) . mso_page_comments_link($page_comment_allow, $page_slug, ' ' . tf('Обсудить'), '', '', false);
        ?>
]]></description>
		</item>
		<?php 
    }
    ?>
	</channel>
</rss>
Пример #6
0
function _time_zone_current_time()
{
    return '<br>' . t('Время сервера:') . ' <strong>' . date('H:i:s Y-m-d') . '</strong>' . '<br>' . t('С учётом поправки:') . ' <strong>' . mso_date_convert('H:i:s Y-m-d', date('Y-m-d H:i:s')) . '</strong>';
}
Пример #7
0
// теперь получаем сами записи
$CI->db->from('guestbook');
$CI->db->where('guestbook_approved', '1');
$CI->db->order_by('guestbook_date', 'desc');
if ($pag and $offset) {
    $CI->db->limit($pag['limit'], $offset);
} else {
    $CI->db->limit($pag['limit']);
}
$query = $CI->db->get();
if ($query->num_rows() > 0) {
    $books = $query->result_array();
    $out = '';
    foreach ($books as $book) {
        if (is_login()) {
            $tl = '<br><a href="' . getinfo('siteurl') . 'admin/guestbook/editone/' . $book['guestbook_id'] . '">' . t('Редактировать') . '</a>';
        } else {
            $tl = '';
        }
        // pr($book);
        $out .= '<a id="guestbook-' . $book['guestbook_id'] . '"></a>';
        $out .= str_replace(array('[id]', '[ip]', '[browser]', '[date]', '[name]', '[text]', '[title]', '[email]', '[icq]', '[site]', '[phone]', '[custom1]', '[custom2]', '[custom3]', '[custom4]', '[custom5]'), array($book['guestbook_id'], $book['guestbook_ip'], $book['guestbook_browser'], mso_date_convert('Y-m-d H:i:s', $book['guestbook_date']), htmlspecialchars($book['guestbook_name']), str_replace("\n", "<br>", htmlspecialchars($book['guestbook_text']) . $tl), htmlspecialchars($book['guestbook_title']), htmlspecialchars($book['guestbook_email']), htmlspecialchars($book['guestbook_icq']), htmlspecialchars($book['guestbook_site']), htmlspecialchars($book['guestbook_phone']), htmlspecialchars($book['guestbook_custom1']), htmlspecialchars($book['guestbook_custom2']), htmlspecialchars($book['guestbook_custom3']), htmlspecialchars($book['guestbook_custom4']), htmlspecialchars($book['guestbook_custom5'])), $options['format']);
    }
    if ($out) {
        echo $options['start'] . $out . $options['end'];
    }
}
// здесь пагинация
mso_hook('pagination', $pag);
# конечная часть шаблона
require getinfo('template_dir') . 'main-end.php';
Пример #8
0
    }
    $offset = $current_paged * $pag['limit'] - $pag['limit'];
} else {
    $pag = false;
}
// теперь получаем сами записи
$CI->db->from('guestbook');
$CI->db->order_by('guestbook_date', 'desc');
if ($pag and $offset) {
    $CI->db->limit($pag['limit'], $offset);
} else {
    $CI->db->limit($pag['limit']);
}
$query = $CI->db->get();
if ($query->num_rows() > 0) {
    $books = $query->result_array();
    foreach ($books as $book) {
        if ($book['guestbook_approved']) {
            $approved = '';
        } else {
            $approved = '<a title="' . t('Редактировать') . '" style="color: red" href="' . getinfo('site_admin_url') . 'guestbook/editone/' . $book['guestbook_id'] . '">' . t('Ожидает одобрения!') . '</a><br><br>';
        }
        $CI->table->add_row('<a title="' . t('Редактировать') . '" href="' . getinfo('site_admin_url') . 'guestbook/editone/' . $book['guestbook_id'] . '">' . $book['guestbook_id'] . '</a>', $approved . mso_date_convert('Y-m-d H:i:s', $book['guestbook_date']) . '<br><br>' . $book['guestbook_ip'] . '<br><br>' . $book['guestbook_browser'], htmlspecialchars($book['guestbook_name']), mso_str_word(str_replace("\n", "<br>", htmlspecialchars($book['guestbook_text'])), 30), htmlspecialchars($book['guestbook_title']), htmlspecialchars($book['guestbook_email']), htmlspecialchars($book['guestbook_icq']), htmlspecialchars($book['guestbook_site']), htmlspecialchars($book['guestbook_phone']), htmlspecialchars($book['guestbook_custom1']), htmlspecialchars($book['guestbook_custom2']), htmlspecialchars($book['guestbook_custom3']), htmlspecialchars($book['guestbook_custom4']), htmlspecialchars($book['guestbook_custom5']));
    }
    echo '<br>';
    mso_hook('pagination', $pag);
    echo $CI->table->generate();
    // вывод подготовленной таблицы
    echo '<br>';
    mso_hook('pagination', $pag);
}
Пример #9
0
    exit('No direct script access allowed');
}
/*
	Файл: date-menu2.php

	Название: «Дата и меню2»
	
	Расположение: header
	
	Схематичный вид: 
		дата | Меню 2
		

	PHP-связи: 
			>	if ($fn = mso_fe('components/date-menu2/date-menu2.php')) require($fn);
*/
$pt = new Page_out();
// подготавливаем объект для вывода
// вывод
$pt->div_start('date-menu2', 'wrap');
$pt->div_start('r1');
echo mso_date_convert('D, j F Y г.', date('Y-m-d H:i:s'), true, 'Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье', 'января февраля марта апреля мая июня июля августа сентября октября ноября декабря');
$pt->div_end('r1');
$pt->div_start('r2');
if ($fn = mso_fe('components/menu2/menu2.php')) {
    require $fn;
}
$pt->div_end('r2');
$pt->clearfix();
$pt->div_end('date-menu2', 'wrap');
# end file
Пример #10
0
 $f_status_draft = $f_status_private = $f_status_publish = '';
 if ($f_status == 'draft') {
     $f_status_draft = 'checked';
 } elseif ($f_status == 'private') {
     $f_status_private = 'checked';
 } else {
     $f_status_publish = 'checked';
 }
 // ($f_status == 'publish')
 $name_submit = 'f_submit[' . $id . ']';
 // дата публикации
 $f_date_change = '';
 // сменить дату не нужно - будет время автоматом поставлено текущее
 $date_cur = strtotime($page_date_publish);
 $date_time = t('Сохранено:') . ' ' . $page_date_publish;
 $date_time .= '<br>' . t('На блоге как:') . ' ' . mso_date_convert('Y-m-d H:i:s', $page_date_publish);
 $date_time .= '<br>' . t('Тек. время:') . ' ' . date('Y-m-d H:i:s');
 $date_cur_y = date('Y', $date_cur);
 $date_cur_m = date('m', $date_cur);
 $date_cur_d = date('d', $date_cur);
 $tyme_cur_h = date('H', $date_cur);
 $tyme_cur_m = date('i', $date_cur);
 $tyme_cur_s = date('s', $date_cur);
 $date_all_y = array();
 for ($i = 2005; $i < 2021; $i++) {
     $date_all_y[$i] = $i;
 }
 $date_all_m = array();
 for ($i = 1; $i < 13; $i++) {
     $date_all_m[$i] = $i;
 }
Пример #11
0
function sitemap($arg = '')
{
    if (mso_segment(2) == 'cat') {
        return sitemap_cat($arg);
    }
    global $MSO;
    // кэш строим по url, потому что у он меняется от пагинации
    $cache_key = 'sitemap' . serialize($MSO->data['uri_segment']);
    $k = mso_get_cache($cache_key);
    if ($k) {
        return $k;
    }
    // да есть в кэше
    $options = mso_get_option('plugin_sitemap', 'plugins', array());
    // получаем опции
    if (!isset($options['limit'])) {
        $options['limit'] = 30;
    } else {
        $options['limit'] = (int) $options['limit'];
    }
    if ($options['limit'] < 2) {
        $options['limit'] = 30;
    }
    $out = '';
    // параметры для получения страниц
    $par = array('limit' => $options['limit'], 'custom_type' => 'home', 'content' => false, 'cat_order' => 'category_id_parent', 'cat_order_asc' => 'asc');
    if ($f = mso_page_foreach('sitemap-mso-get-pages')) {
        require $f;
    }
    $pages = mso_get_pages($par, $pagination);
    // получим все
    if ($pages) {
        $out .= '<div class="page_content"><div class="sitemap">' . NR . mso_hook('sitemap_do');
        $out .= '<div class="sitemap-link"><a href="' . getinfo('siteurl') . 'sitemap/cat">' . tf('Группировка по рубрикам') . '</a>' . NR . '</div>';
        $first = true;
        foreach ($pages as $page) {
            $date = mso_date_convert('m/Y', $page['page_date_publish']);
            if ($first) {
                $out .= '<h3>' . $date . '</h3>' . NR . '<ul>' . NR;
                $first = false;
            } elseif ($date1 != $date) {
                $out .= '</ul>' . NR . '<h3>' . $date . '</h3>' . NR . '<ul>' . NR;
            }
            $slug = mso_slug($page['page_slug']);
            $out .= '<li>' . mso_date_convert('d', $page['page_date_publish']) . ': <a href="' . getinfo('siteurl') . 'page/' . $slug . '" title="' . htmlspecialchars($page['page_title']) . '">' . htmlspecialchars($page['page_title']) . '</a>';
            if ($page['page_categories']) {
                $out .= ' <span>(' . mso_page_cat_link($page['page_categories'], ' &rarr; ', '', '', false) . ')</span>';
            }
            # синонимы ссылок
            /*
            . ' ('
            . '<a href="' . getinfo('siteurl') . $slug . '" title="slug: ' . $slug . '">slug</a>, '
            . '<a href="' . getinfo('siteurl') . 'page/' . $page['page_id'] . '" title="page: ' . $page['page_id'] . '">page: ' . $page['page_id'] . '</a>, '
            . '<a href="' . getinfo('siteurl') . $page['page_id'] . '" title="id: ' . $page['page_id'] . '">id: ' . $page['page_id'] . '</a>)'
            */
            # /синонимы ссылок
            $out .= '</li>' . NR;
            $date1 = $date;
        }
        $out .= '</ul>' . NR . mso_hook('sitemap_posle') . '</div></div>' . NR;
    }
    $pagination['type'] = '';
    ob_start();
    mso_hook('pagination', $pagination);
    $out .= ob_get_contents();
    ob_end_clean();
    mso_add_cache($cache_key, $out);
    // сразу в кэш добавим
    return $out;
}
Пример #12
0
        }
        $cats = str_replace('  ', ', ', trim($cats));
        foreach ($page['page_tags'] as $val) {
            $tags .= '<a href="' . $view_url_tag . $val . '">' . $val . '</a>  ';
        }
        $tags = str_replace('  ', ', ', trim($tags));
        $title = '<a class="title" href="' . $this_url . $page['page_id'] . '">' . $page['page_title'] . '</a>' . ' [<a href="' . $view_url . $page['page_slug'] . '" target="_blank">' . t('Просмотр') . '</a>]';
        if ($cats) {
            $title .= '<br>' . t('Рубрика:') . ' ' . $cats;
        }
        if ($tags) {
            $title .= '<br>' . t('Метки:') . ' ' . $tags;
        }
        $title .= '<p class="admin_page_qhint"><small>' . $qhint . '</small></p>';
        // $date_p = '<span title="Дата и время сохранения записи">' . $page['page_date_publish'] . '</span>'; // это время публикации как установлено на сервере
        $date_p = '<span title="' . t('Дата отображения на блоге с учетом временной поправки') . '">' . mso_date_convert('Y-m-d H:i:s', $page['page_date_publish']) . '</span>';
        $CI->table->add_row($page['page_id'], $title, $date_p, $page['page_type_name'], $page['page_status'], $page['users_nik']);
    }
    $pagination['type'] = '';
    $pagination['range'] = 10;
    mso_hook('pagination', $pagination);
    echo mso_load_jquery('jquery.tablesorter.js') . '
			<script>
			$(function() {
				$("table.tablesorter").tablesorter();
			});
			</script>';
    echo $CI->table->generate();
    // вывод подготовленной таблицы
    // добавляем форму для удаления записи
    $all_pages = form_dropdown('f_page_delete', $all_pages, -1, '');
Пример #13
0
 function get_formats_args($key, $numarg)
 {
     if (isset($this->formats[$key][$numarg - 1])) {
         // в форматировании могут встречаться специальные замены
         $f = $this->formats[$key][$numarg - 1];
         // пока указываем некоторые, потом нужно будет подумать как сделать замены по всем ключам val
         $f = str_replace('[page_count_comments]', $this->val('page_count_comments'), $f);
         $f = str_replace('[page_date_publish]', $this->val('page_date_publish'), $f);
         // [page_date_publish_iso] формирует дату согласно ISO8601
         $dp = mso_date_convert(DATE_ISO8601, $this->val('page_date_publish'), false, false, false);
         $f = str_replace('[page_date_publish_iso]', $dp, $f);
         if ($this->val('page_last_modified')) {
             $f = str_replace('[page_last_modified]', $this->val('page_last_modified'), $f);
             $dp = mso_date_convert(DATE_ISO8601, $this->val('page_last_modified'), false, false, false);
             $f = str_replace('[page_last_modified_iso]', $dp, $f);
         }
         return $f;
     } else {
         return '';
         // нет ключа
     }
 }
Пример #14
0
 $id = $row['comusers_id'];
 $CI->table->add_row('ID', $id);
 _mso_add_row(t('Ник'), 'f_nik', $row['comusers_nik']);
 _mso_add_row(t('E-mail'), 'f_email', $row['comusers_email']);
 _mso_add_row(t('ICQ'), 'f_icq', $row['comusers_icq']);
 _mso_add_row(t('Сайт'), 'f_url', $row['comusers_url']);
 _mso_add_row(t('Twitter'), 'f_msn', $row['comusers_msn']);
 _mso_add_row(t('Jabber'), 'f_jaber', $row['comusers_jaber']);
 _mso_add_row(t('Skype'), 'f_skype', $row['comusers_skype']);
 _mso_add_row(t('URL аватара'), 'f_avatar_url', $row['comusers_avatar_url']);
 $CI->table->add_row(t('Описание'), '<textarea name="f_description" cols="90" rows="3">' . htmlspecialchars($row['comusers_description']) . '</textarea>');
 $CI->table->add_row(t('Примечание админа'), '<textarea name="f_admin_note" cols="90" rows="3">' . htmlspecialchars($row['comusers_admin_note']) . '</textarea>');
 // ДР это три поля
 $y = mso_date_convert('Y', $row['comusers_date_birth']);
 $m = mso_date_convert('n', $row['comusers_date_birth']);
 $d = mso_date_convert('j', $row['comusers_date_birth']);
 $y_r = array_flip(range(1960, 2008));
 foreach ($y_r as $key => $val) {
     $y_r[$key] = $key;
 }
 $m_r = array_flip(range(1, 12));
 foreach ($m_r as $key => $val) {
     $m_r[$key] = $key;
 }
 $d_r = array_flip(range(1, 31));
 foreach ($d_r as $key => $val) {
     $d_r[$key] = $key;
 }
 $CI->table->add_row(t('Дата рождения'), t('Год:') . ' ' . form_dropdown('f_date_birth_y', $y_r, $y, ' style="width: 100px;" ') . ' ' . t('Месяц:') . ' ' . form_dropdown('f_date_birth_m', $m_r, $m, ' style="width: 100px;" ') . ' ' . t('День:') . ' ' . form_dropdown('f_date_birth_d', $d_r, $d, ' style="width: 100px;" '));
 ###!!! что за уведомления? для чего???
 $CI->table->add_row(t('Уведомления'), form_dropdown('f_notify', array('0' => t('Без уведомлений'), '1' => t('Подписаться')), $row['comusers_notify'], ' style="width: 300px;" '));
Пример #15
0
			<link><?php 
        echo getinfo('siteurl') . 'page/' . mso_slug($page_slug);
        ?>
#comment-<?php 
        echo $comments_id;
        ?>
</link>
			<guid><?php 
        echo getinfo('siteurl') . 'page/' . mso_slug($page_slug);
        ?>
#comment-<?php 
        echo $comments_id;
        ?>
</guid>
			<pubDate><?php 
        echo date('D, d M Y H:i:s ' . $time_zone, strtotime(mso_date_convert('Y-m-d H:i:s', $comments_date)));
        ?>
</pubDate>
			<author>none@none.com (<?php 
        echo xml_convert(strip_tags($users_nik . $comments_author_name . $comusers_nik));
        ?>
)</author>
			<description><![CDATA[<?php 
        echo $comments_content;
        ?>
]]></description>
		</item>
		<?php 
    }
    ?>
	</channel>
Пример #16
0
 if ($f = mso_page_foreach('page-comments')) {
     require $f;
     // подключаем кастомный вывод
     continue;
     // следующая итерация
 }
 extract($comment);
 //pr($comment);
 if ($users_id) {
     $class = ' class="users"';
 } elseif ($comusers_id) {
     $class = ' class="comusers"';
 } else {
     $class = ' class="anonim"';
 }
 $comments_date = mso_date_convert('Y-m-d в H:i:s', $comments_date);
 $comment_info = '';
 echo NR . '<li' . $class . '>';
 $comment_info .= '<span class="url">' . $comments_url . '</span>';
 if ($comusers_url and mso_get_option('allow_comment_comuser_url', 'general', 0)) {
     $comment_info .= ' <a href="' . $comusers_url . '" rel="nofollow" class="outlink"><img src="' . getinfo('template_url') . 'images/outlink.png" width="16" height="16" alt="link" title="' . tf('Сайт комментатора') . '"></a>';
 }
 $comment_info .= ' | <span class="date"><a href="#comment-' . $comments_id . '" id="comment-' . $comments_id . '">' . $comments_date . '</a></span>';
 if ($edit_link) {
     $comment_info .= ' | <a href="' . $edit_link . $comments_id . '">edit</a>';
 }
 if (!$comments_approved) {
     $comment_info .= ' | ' . tf('Ожидает модерации');
 }
 if ($f = mso_page_foreach('page-comments-out')) {
     require $f;
Пример #17
0
function guestbook_widget_custom($options = array(), $num = 1)
{
    // кэш
    $cache_key = 'guestbook_widget_custom' . serialize($options) . $num;
    $k = mso_get_cache($cache_key);
    if ($k) {
        return $k;
    }
    // да есть в кэше
    $out = '';
    if (!isset($options['header'])) {
        $options['header'] = '';
    }
    if (!isset($options['limit'])) {
        $options['limit'] = 10;
    }
    if (!isset($options['max-word'])) {
        $options['max-word'] = 20;
    }
    if (!isset($options['text-do'])) {
        $options['text-do'] = '';
    }
    if (!isset($options['text-posle'])) {
        $options['text-posle'] = '';
    }
    if (!isset($options['format-date'])) {
        $options['format-date'] = 'Y-m-d H:i:s';
    }
    if (!isset($options['format'])) {
        $options['format'] = '<p><b><a href="[url]">[name]</a></b></p>
<p>[text]<br><i>[date]</i></p>
<hr>';
    }
    $options_guestbook = mso_get_option('plugin_guestbook', 'plugins', array());
    if (!isset($options_guestbook['slug'])) {
        $options_guestbook['slug'] = 'guestbook';
    }
    $CI =& get_instance();
    $CI->db->from('guestbook');
    $CI->db->where('guestbook_approved', '1');
    $CI->db->order_by('guestbook_date', 'desc');
    $CI->db->limit($options['limit']);
    $query = $CI->db->get();
    if ($query->num_rows() > 0) {
        $books = $query->result_array();
        foreach ($books as $book) {
            // pr($book);
            $text = str_replace("\n", "<br>", htmlspecialchars($book['guestbook_text']));
            if ($options['max-word']) {
                $text = mso_str_word($text, $options['max-word']);
            }
            $out .= str_replace(array('[id]', '[ip]', '[browser]', '[date]', '[name]', '[text]', '[title]', '[email]', '[icq]', '[site]', '[phone]', '[custom1]', '[custom2]', '[custom3]', '[custom4]', '[custom5]', '[url]'), array($book['guestbook_id'], $book['guestbook_ip'], $book['guestbook_browser'], mso_date_convert($options['format-date'], $book['guestbook_date']), htmlspecialchars($book['guestbook_name']), $text, htmlspecialchars($book['guestbook_title']), htmlspecialchars($book['guestbook_email']), htmlspecialchars($book['guestbook_icq']), htmlspecialchars($book['guestbook_site']), htmlspecialchars($book['guestbook_phone']), htmlspecialchars($book['guestbook_custom1']), htmlspecialchars($book['guestbook_custom2']), htmlspecialchars($book['guestbook_custom3']), htmlspecialchars($book['guestbook_custom4']), htmlspecialchars($book['guestbook_custom5']), getinfo('siteurl') . $options_guestbook['slug'] . '#guestbook-' . $book['guestbook_id']), $options['format']);
        }
    }
    if ($out) {
        $out = $options['header'] . $options['text-do'] . $out . $options['text-posle'];
    }
    mso_add_cache($cache_key, $out);
    // сразу в кэш добавим
    return $out;
}