当前位置: 首页>>代码示例>>PHP>>正文


PHP mso_get_cache函数代码示例

本文整理汇总了PHP中mso_get_cache函数的典型用法代码示例。如果您正苦于以下问题:PHP mso_get_cache函数的具体用法?PHP mso_get_cache怎么用?PHP mso_get_cache使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了mso_get_cache函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: parents_out_way_to

function parents_out_way_to($page_id = 0)
{
    $cache_key = 'parents_out_way_to' . $page_id;
    $k = mso_get_cache($cache_key);
    if ($k) {
        return $k;
    }
    // да есть в кэше
    $r = '';
    $CI =& get_instance();
    $CI->db->select('page_id, page_id_parent, page_title, page_slug');
    $CI->db->where('page_id', $page_id);
    $CI->db->order_by('page_menu_order');
    $query = $CI->db->get('page');
    $result = $query->result_array();
    if ($result) {
        foreach ($result as $key => $page2) {
            extract($page2);
            $r = $page_title;
            if ($page_id_parent > 0) {
                $parents = parents_out_way_parents($page_id_parent);
                if ($parents) {
                    $r = $parents . ' <span class="arr">→</span> ' . $page_title;
                }
            }
        }
    }
    mso_add_cache($cache_key, $r);
    // в кэш
    return $r;
}
开发者ID:nicothin,项目名称:nicothin_ru,代码行数:31,代码来源:functions.php

示例2: authors_widget_custom

function authors_widget_custom($options = array(), $num = 1)
{
    // кэш
    $cache_key = 'authors_widget_custom' . serialize($options) . $num;
    $k = mso_get_cache($cache_key);
    if ($k) {
        return $k;
    }
    // да есть в кэше
    $out = '';
    if (!isset($options['header'])) {
        $options['header'] = t('Авторы');
    }
    // получаем всех авторов
    $CI =& get_instance();
    $CI->db->select('users_nik, users_id');
    $CI->db->order_by('users_nik');
    $query = $CI->db->get('users');
    if ($query->num_rows() > 0) {
        $users = $query->result_array();
        $out = '';
        foreach ($users as $user) {
            $out .= NR . '<li><a href="' . getinfo('siteurl') . 'author/' . $user['users_id'] . '">' . $user['users_nik'] . '</a></li>';
        }
        if ($out) {
            $out = $options['header'] . '<ul class="mso-widget-list">' . $out . '</ul>' . NR;
        }
    }
    mso_add_cache($cache_key, $out);
    // сразу в кэш добавим
    return $out;
}
开发者ID:Kmartynov,项目名称:cms,代码行数:32,代码来源:index.php

示例3: links_widget_custom

function links_widget_custom($options = array(), $num = 1)
{
    // кэш
    $cache_key = 'links_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['links'])) {
        $links = explode("\n", $options['links']);
        // разбиваем по строкам
        foreach ($links as $row) {
            $ar_link = explode('|', $row);
            // разбиваем по |
            // всего должно быть 5 элементов
            if (isset($ar_link[0]) and trim($ar_link[0])) {
                $href = trim($ar_link[0]);
                // адрес
                if ($href and isset($ar_link[1]) and trim($ar_link[1])) {
                    $title = trim($ar_link[1]);
                    // название
                    if (isset($ar_link[2]) and trim($ar_link[2])) {
                        $descr = '<div>' . trim($ar_link[2]) . '</div>';
                    } else {
                        $descr = '';
                    }
                    if (isset($ar_link[3]) and trim($ar_link[3])) {
                        $noindex1 = '';
                        $noindex2 = '';
                        $nofollow = ' rel="nofollow"';
                    } else {
                        $noindex1 = $noindex2 = $nofollow = '';
                    }
                    if (isset($ar_link[4]) and trim($ar_link[4])) {
                        $blank = ' target="_blank"';
                    } else {
                        $blank = '';
                    }
                    // обычный вывод списком
                    $out .= NR . '<li>' . $noindex1 . '<a href="' . $href . '" title="' . htmlspecialchars($title) . '"' . $nofollow . $blank . '>' . $title . '</a>' . $descr . $noindex2 . '</li>';
                }
            }
        }
    }
    if ($out) {
        $out = $options['header'] . NR . '<ul class="mso-widget-list">' . $out . NR . '</ul>' . NR;
    }
    mso_add_cache($cache_key, $out);
    // сразу в кэш добавим
    return $out;
}
开发者ID:LeonisX,项目名称:cms,代码行数:56,代码来源:index.php

示例4: page_comments_widget_custom

function page_comments_widget_custom($options = array(), $num = 1)
{
    // кэш
    $cache_key = 'page_comments_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['format'])) {
        $options['format'] = '[A][TITLE][/A] <sup>[COUNT]</sup>';
    }
    $CI =& get_instance();
    $CI->db->select('page_slug, page_title, COUNT(comments_id) AS page_count_comments', false);
    $CI->db->from('page');
    $CI->db->where('page_date_publish <', date('Y-m-d H:i:s'));
    // $CI->db->where('page_date_publish < ', 'NOW()', false);
    $CI->db->where('page_status', 'publish');
    $CI->db->join('comments', 'comments.comments_page_id = page.page_id AND comments_approved = 1', 'left');
    $CI->db->order_by('page_count_comments', 'desc');
    $CI->db->limit($options['limit']);
    $CI->db->group_by('page.page_id');
    $CI->db->group_by('comments_page_id');
    $query = $CI->db->get();
    if ($query->num_rows() > 0) {
        $pages = $query->result_array();
        $link = '<a href="' . getinfo('siteurl') . 'page/';
        $out .= '<ul class="mso-widget-list">' . NR;
        foreach ($pages as $page) {
            if ($page['page_count_comments'] > 0) {
                $out1 = $options['format'];
                $out1 = str_replace('[TITLE]', $page['page_title'], $out1);
                $out1 = str_replace('[COUNT]', $page['page_count_comments'], $out1);
                $out1 = str_replace('[A]', $link . $page['page_slug'] . '" title="' . tf('Комментариев: ') . $page['page_count_comments'] . '">', $out1);
                $out1 = str_replace('[/A]', '</a>', $out1);
                $out .= '<li>' . $out1 . '</li>' . NR;
            }
        }
        $out .= '</ul>' . NR;
        if ($options['header']) {
            $out = $options['header'] . $out;
        }
    }
    mso_add_cache($cache_key, $out);
    // сразу в кэш добавим
    return $out;
}
开发者ID:Kmartynov,项目名称:cms,代码行数:54,代码来源:index.php

示例5: global_cache_start

function global_cache_start($arg = array())
{
    if ($k = mso_get_cache(global_cache_key(), true)) {
        // да есть в кэше
        $CI =& get_instance();
        $mq = $CI->db->query_count;
        // колво sql-запросов
        $k = str_replace('<!--global_cache_footer-->', ' | Cache ON (' . $mq . 'sql)', $k);
        echo $k;
        return true;
    }
    ob_start();
    return false;
}
开发者ID:Kmartynov,项目名称:cms,代码行数:14,代码来源:index.php

示例6: catclouds_widget_custom

function catclouds_widget_custom($options = array(), $num = 1)
{
    // кэш
    $cache_key = 'catclouds_widget_custom' . serialize($options) . $num;
    $k = mso_get_cache($cache_key);
    if ($k) {
        return $k;
    }
    // да есть в кэше
    // формат вывода  %SIZE% %URL% %TAG% %COUNT%
    // параметры $min_size $max_size $block_start $block_end
    // сортировка
    $out = '';
    if (!isset($options['header'])) {
        $options['header'] = '';
    }
    if (!isset($options['block_start'])) {
        $options['block_start'] = '<div class="catclouds">';
    }
    if (!isset($options['block_end'])) {
        $options['block_end'] = '</div>';
    }
    if (!isset($options['min_size'])) {
        $min_size = 90;
    } else {
        $min_size = (int) $options['min_size'];
    }
    if (!isset($options['max_size'])) {
        $max_size = 230;
    } else {
        $max_size = (int) $options['max_size'];
    }
    if (!isset($options['cat_id'])) {
        $cat_id = 0;
    } else {
        $cat_id = (int) $options['cat_id'];
    }
    if (!isset($options['format'])) {
        $options['format'] = '<span style="font-size: %SIZE%%"><a href="%URL%">%CAT%</a><sub style="font-size: 7pt;">%COUNT%</sub></span>';
    }
    if (!isset($options['sort'])) {
        $sort = 0;
    } else {
        $sort = (int) $options['sort'];
    }
    $url = getinfo('siteurl') . 'category/';
    require_once getinfo('common_dir') . 'category.php';
    // функции мета
    $all_cat = mso_cat_array_single('page', 'category_name', 'ASC', 'blog');
    $catcloud = array();
    foreach ($all_cat as $key => $val) {
        if ($cat_id) {
            // выводим саму рубрику и всех её детей
            if ($val['category_id'] == $cat_id or $val['category_id_parent'] == $cat_id) {
                if (count($val['pages']) > 0) {
                    // кол-во страниц в этой рубрике > 0
                    $catcloud[$val['category_name']] = array('count' => count($val['pages']), 'slug' => $val['category_slug']);
                }
            }
        } else {
            if (count($val['pages']) > 0) {
                // кол-во страниц в этой рубрике > 0
                $catcloud[$val['category_name']] = array('count' => count($val['pages']), 'slug' => $val['category_slug']);
            }
        }
    }
    asort($catcloud);
    $min = reset($catcloud);
    $min = $min['count'];
    $max = end($catcloud);
    $max = $max['count'];
    if ($max == $min) {
        $max++;
    }
    // сортировка перед выводом
    if ($sort == 0) {
        arsort($catcloud);
    } elseif ($sort == 1) {
        asort($catcloud);
    } elseif ($sort == 2) {
        ksort($catcloud);
    } elseif ($sort == 3) {
        krsort($catcloud);
    } else {
        arsort($catcloud);
    }
    // по умолчанию
    foreach ($catcloud as $cat => $ar) {
        $count = $ar['count'];
        $slug = $ar['slug'];
        $font_size = round(($count - $min) / ($max - $min) * ($max_size - $min_size) + $min_size);
        $af = str_replace(array('%SIZE%', '%URL%', '%CAT%', '%COUNT%'), array($font_size, $url . $slug, $cat, $count), $options['format']);
        $out .= $af . ' ';
    }
    if ($out) {
        $out = $options['header'] . $options['block_start'] . $out . $options['block_end'];
    }
    mso_add_cache($cache_key, $out);
    // сразу в кэш добавим
    return $out;
//.........这里部分代码省略.........
开发者ID:rb2,项目名称:MaxSite-CMS,代码行数:101,代码来源:index.php

示例7: last_pages_unit_widget_custom

function last_pages_unit_widget_custom($arg = array(), $num = 1)
{
    if (!isset($arg['header'])) {
        $arg['header'] = mso_get_val('widget_header_start', '<div class="mso-widget-header"><span>') . t('Последние записи') . mso_get_val('widget_header_end', '</span></div>');
    }
    if (!isset($arg['cache_time'])) {
        $arg['cache_time'] = 0;
    }
    if (!isset($arg['prefs'])) {
        $arg['prefs'] = '';
    }
    $out = '';
    $cache_key = 'last_pages_unit_widget-' . serialize($arg) . '-' . $num;
    if ($arg['cache_time'] > 0 and $out = mso_get_cache($cache_key)) {
        return $out;
        # да есть в кэше
    }
    $units = mso_section_to_array('[unit]' . $arg['prefs'] . '[/unit]', '!\\[unit\\](.*?)\\[\\/unit\\]!is');
    ob_start();
    if ($units and isset($units[0]) and $units[0]) {
        $UNIT = $units[0];
        require dirname(realpath(__FILE__)) . '/last-pages.php';
    }
    $out = $arg['header'] . ob_get_clean();
    if ($arg['cache_time'] > 0) {
        mso_add_cache($cache_key, $out, $arg['cache_time'] * 60);
    }
    return $out;
}
开发者ID:Kmartynov,项目名称:cms,代码行数:29,代码来源:index.php

示例8: page_views_widget_custom

function page_views_widget_custom($options = array(), $num = 1)
{
    // кэш
    $cache_key = 'page_views_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['page_type'])) {
        $options['page_type'] = 0;
    }
    if (!isset($options['format'])) {
        $options['format'] = '[A][TITLE][/A] <sup>[COUNT]</sup>';
    }
    # получаем все записи как есть
    # в полученном массиве меняем общее кол-во прочтений на кол-во прочтений в сутки
    # сортируем массив по новомк значению
    $curdate = time();
    $CI =& get_instance();
    $CI->db->select('page_slug, page_title, page_id, page_view_count, page_date_publish');
    $CI->db->where('page_status', 'publish');
    $CI->db->where('page_view_count > ', '0');
    if ($options['page_type']) {
        $CI->db->where('page_type_id', $options['page_type']);
    }
    $CI->db->where('page_date_publish <', date('Y-m-d H:i:s'));
    $CI->db->order_by('page_id', 'desc');
    $query = $CI->db->get('page');
    if ($query->num_rows() > 0) {
        $pages = $query->result_array();
        foreach ($pages as $key => $val) {
            // если еще сутки не прошли, то ставим общее колво прочтений
            if ($curdate - strtotime($val['page_date_publish']) > 86400) {
                $pages[$key]['sutki'] = round($val['page_view_count'] / ($curdate - strtotime($val['page_date_publish'])) * 86400);
            } else {
                $pages[$key]['sutki'] = $val['page_view_count'];
            }
        }
        usort($pages, 'page_views_cmp');
        // отсортируем по ['sutki']
        // сам вывод
        $link = '<a href="' . getinfo('siteurl') . 'page/';
        $i = 1;
        foreach ($pages as $page) {
            if ($page['sutki'] > 0) {
                if ($i > $options['limit']) {
                    break;
                }
                // лимит
                $out1 = $options['format'];
                $out1 = str_replace('[TITLE]', $page['page_title'], $out1);
                $out1 = str_replace('[COUNT]', $page['sutki'], $out1);
                $out1 = str_replace('[ALLCOUNT]', $page['page_view_count'], $out1);
                $out1 = str_replace('[A]', $link . $page['page_slug'] . '" title="' . tf('Просмотров в сутки: ') . $page['sutki'] . '">', $out1);
                $out1 = str_replace('[/A]', '</a>', $out1);
                $out .= '<li>' . $out1 . '</li>' . NR;
                $i++;
            } else {
                break;
            }
            // всё
        }
        if ($out) {
            $out = '<ul class="mso-widget-list">' . NR . $out . '</ul>' . NR;
            if ($options['header']) {
                $out = $options['header'] . $out;
            }
        }
    }
    mso_add_cache($cache_key, $out);
    // сразу в кэш добавим
    return $out;
}
开发者ID:Kmartynov,项目名称:cms,代码行数:81,代码来源:index.php

示例9: category_widget_custom

function category_widget_custom($options = array(), $num = 1)
{
    if (!isset($options['include'])) {
        $options['include'] = array();
    }
    if (!isset($options['exclude'])) {
        $options['exclude'] = array();
    }
    if (!isset($options['format'])) {
        $options['format'] = '[LINK][TITLE]<sup>[COUNT]</sup>[/LINK]<br>[DESCR]';
    }
    if (!isset($options['format_current'])) {
        $options['format_current'] = '<span>[TITLE]<sup>[COUNT]</sup></span><br>[DESCR]';
    }
    if (!isset($options['header'])) {
        $options['header'] = '';
    }
    if (!isset($options['hide_empty'])) {
        $options['hide_empty'] = 0;
    }
    if (!isset($options['order'])) {
        $options['order'] = 'category_name';
    }
    if (!isset($options['order_asc'])) {
        $options['order_asc'] = 'ASC';
    }
    if (!isset($options['include_child'])) {
        $options['include_child'] = 0;
    }
    if (!isset($options['nofollow'])) {
        $options['nofollow'] = false;
    }
    if (!isset($options['group_header_no_link'])) {
        $options['group_header_no_link'] = false;
    }
    $cache_key = 'category_widget' . serialize($options) . $num;
    $k = mso_get_cache($cache_key);
    if ($k) {
        $all = $k;
    } else {
        /*
        	$type = 'page', 
        	$parent_id = 0, 
        	$order = 'category_menu_order', 
        	$asc = 'asc', 
        	$child_order = 'category_menu_order', 
        	$child_asc = 'asc', 
        	$in = false, 
        	$ex = false, 
        	$in_child = false, 
        	$hide_empty = false, 
        	$only_page_publish = false, 
        	$date_now = true, 
        	$get_pages = true
        */
        $all = mso_cat_array('page', 0, $options['order'], $options['order_asc'], $options['order'], $options['order_asc'], $options['include'], $options['exclude'], $options['include_child'], $options['hide_empty'], true, true, false);
        mso_add_cache($cache_key, $all);
        // сразу в кэш добавим
    }
    // pr($all);
    $out = mso_create_list($all, array('childs' => 'childs', 'format' => $options['format'], 'format_current' => $options['format_current'], 'class_ul' => 'mso-widget-list', 'title' => 'category_name', 'link' => 'category_slug', 'current_id' => false, 'prefix' => 'category/', 'count' => 'pages_count', 'slug' => 'category_slug', 'id' => 'category_id', 'menu_order' => 'category_menu_order', 'id_parent' => 'category_id_parent', 'nofollow' => $options['nofollow'], 'group_header_no_link' => $options['group_header_no_link']));
    if ($out and $options['header']) {
        $out = $options['header'] . $out;
    }
    return $out;
}
开发者ID:Kmartynov,项目名称:cms,代码行数:66,代码来源:index.php

示例10: mso_pages_data

/**
*  возвращает массив структуры всех pages
*  включается title description keywords date dir url, а также массива $DATA в variables.php
*  date — время создания файла text.php (или явно заданное в $DATA['date'])
*  
*  @param $include — включить только указанные страницы
*  @param $exclude — исключить указанные страницы
*  @param $dir — основной каталог, если не указано то это PAGES_DIR
*  @param $url — основной http-путь, если не указано то это BASE_URL
*  
*  @return array
*  
*  [home] => Array (
*  		   // обязательные
*          [page] => home
*          [title] => Blog
*          [description] => Best page
*          [keywords] => 
*          [date] => 2014-10-22 12:56
*  		   [dir] => путь к странице
*  		   [url] => http-адрес страницы
*          
*          // все что задано в $DATA
*          [menu_name] => home
*          [menu_class] => icon star
*          [menu_order] => 23
*          [cat] => news, blog
*          [tag] => first, second
*   )
*/
function mso_pages_data($include = array(), $exclude = array(), $dir = false, $url = false, $cache_time = 3600)
{
    static $cache = array();
    // кеш хранится как массив с ключам = входящим параметрам
    $cache_key = md5(serialize($include) . serialize($exclude) . serialize($dir) . serialize($url));
    // уже получали данные, отдаем результат
    if (isset($cache[$cache_key])) {
        return $cache[$cache_key];
    } else {
        // возможно есть данные в файловом кеше
        if ($out = mso_get_cache('pages_data' . $cache_key, $cache_time)) {
            $cache[$cache_key] = $out;
            // статичный кеш
            return $out;
        }
    }
    $out = array();
    // путь на сервере
    if ($dir === false) {
        $dir = PAGES_DIR;
    }
    // url-путь
    if ($url === false) {
        $url = BASE_URL;
    }
    $pages = mso_get_dirs($dir, $exclude, 'variables.php');
    if ($pages) {
        if ($include) {
            $pages = array_intersect($include, $pages);
        }
        // для вложенных страниц добавляем префикс равный отличию от PAGES_DIR
        // pages/about => about
        // pages/blog/about => blog/about
        $prefix = str_replace(PAGES_DIR, '', $dir);
        foreach ($pages as $page) {
            if (!file_exists($dir . $page . '/text.php')) {
                continue;
            }
            // если нет text.php выходим
            $page_k = $prefix . $page;
            if ($page == HOME_PAGE) {
                $out[$page_k] = array('page' => '/');
            } else {
                $out[$page_k] = array('page' => $page_k);
            }
            // обнуляем данные
            $TITLE = '';
            $META = array();
            $DATA = array();
            // считываем данные
            require $dir . $page . '/variables.php';
            $out[$page_k]['title'] = $TITLE;
            $out[$page_k]['description'] = isset($META['description']) ? $META['description'] : '';
            $out[$page_k]['keywords'] = isset($META['keywords']) ? $META['keywords'] : '';
            // дата создания text.php
            $out[$page_k]['date'] = date('Y-m-d H:i', filemtime($dir . $page . '/text.php'));
            // путь на сервере
            $out[$page_k]['dir'] = $dir . $page;
            // url
            $out[$page_k]['url'] = $url . $page;
            if (isset($DATA)) {
                $out[$page_k] = array_merge($out[$page_k], $DATA);
            }
        }
    }
    $cache[$cache_key] = $out;
    // статичный кеш
    mso_add_cache('pages_data' . $cache_key, $out);
    // файловый
    return $out;
//.........这里部分代码省略.........
开发者ID:sheck87,项目名称:landing,代码行数:101,代码来源:engine.php

示例11: twitter_go

function twitter_go($url = false, $count = 5, $format = '<p><strong>%DATE%</strong><br>%TITLE% <a href="%LINK%">&gt;&gt;&gt;</a></p>', $format_date = 'd/m/Y H:i:s', $max_word_description = false, $show_nick = true)
{
    if (!$url) {
        return false;
    }
    # проверим кеш, может уже есть в нем все данные
    $cache_key = 'rss/' . 'twitter_go' . $url . $count . $format . $format_date . (int) $max_word_description;
    $k = mso_get_cache($cache_key, true);
    if ($k) {
        return $k;
    }
    // да есть в кэше
    if (!defined('MAGPIE_CACHE_AGE')) {
        define('MAGPIE_CACHE_AGE', 600);
    }
    // время кэширования MAGPIE
    require_once getinfo('common_dir') . 'magpierss/rss_fetch.inc';
    $rss = fetch_rss($url);
    $rss = array_slice($rss->items, 0, $count);
    $out = '';
    foreach ($rss as $item) {
        $out .= $format;
        if ($show_nick) {
            $item['title'] = preg_replace('|(\\S+): (.*)|si', '<strong>\\1:</strong> \\2', $item['title']);
        } else {
            $item['title'] = preg_replace('|(\\S+): (.*)|si', '\\2', $item['title']);
        }
        // подсветим ссылки
        $item['title'] = preg_replace('|(http:\\/\\/)(\\S+)|si', '<a rel="nofollow" href="http://\\2" target="_blank">\\2</a>', $item['title']);
        $out = str_replace('%TITLE%', $item['title'], $out);
        // [title] = [description] = [summary]
        if ($max_word_description) {
            $item['description'] = mso_str_word($item['description'], $max_word_description) . '...';
        }
        $item['description'] = preg_replace('|(\\S+): (.*)|si', '<strong>\\1:</strong> \\2', $item['description']);
        $item['description'] = preg_replace('|(http:\\/\\/)(\\S+)|si', '<a rel="nofollow" href="http://\\2" target="_blank">\\2</a>', $item['description']);
        $out = str_replace('%DESCRIPTION%', $item['description'], $out);
        // [title] = [description] = [summary]
        $out = str_replace('%DATE%', date($format_date, (int) $item['date_timestamp']), $out);
        // [pubdate]
        $out = str_replace('%LINK%', $item['link'], $out);
        // [link] = [guid]
    }
    mso_add_cache($cache_key, $out, 600, true);
    return $out;
}
开发者ID:rb2,项目名称:MaxSite-CMS,代码行数:46,代码来源:index.php

示例12: exit

<?php

if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}
/**
 * MaxSite CMS
 * (c) http://max-3000.com/
 */
header('Content-type: text/html; charset=utf-8');
header('Content-Type: application/rss+xml');
$cache_key = mso_md5('feed_' . mso_current_url());
$k = mso_get_cache($cache_key);
if ($k) {
    return print $k;
}
// да есть в кэше
ob_start();
require_once getinfo('common_dir') . 'page.php';
// основные функции страниц
require_once getinfo('common_dir') . 'category.php';
// функции рубрик
$this->load->helper('xml');
$time_zone = getinfo('time_zone');
// 2.00 -> 200
$time_zone_server = date('O') / 100;
// +0100 -> 1.00
$time_zone = $time_zone + $time_zone_server;
// 3
$time_zone = number_format($time_zone, 2, '.', '');
// 3.00
开发者ID:Kmartynov,项目名称:cms,代码行数:31,代码来源:home.php

示例13: links_widget_custom

function links_widget_custom($options = array(), $num = 1)
{
    // кэш
    $cache_key = 'links_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['screenshot'])) {
        $options['screenshot'] = 0;
    }
    if (isset($options['links'])) {
        $links = explode("\n", $options['links']);
        // разбиваем по строкам
        foreach ($links as $row) {
            $ar_link = explode('|', $row);
            // разбиваем по |
            // всего должно быть 5 элементов
            if (isset($ar_link[0]) and trim($ar_link[0])) {
                $href = trim($ar_link[0]);
                // адрес
                if ($href and isset($ar_link[1]) and trim($ar_link[1])) {
                    $title = trim($ar_link[1]);
                    // название
                    if (isset($ar_link[2]) and trim($ar_link[2])) {
                        $descr = '<div>' . trim($ar_link[2]) . '</div>';
                    } else {
                        $descr = '';
                    }
                    if (isset($ar_link[3]) and trim($ar_link[3])) {
                        //$noindex1 = '<noindex>';
                        //$noindex2 = '</noindex>';
                        $noindex1 = '';
                        $noindex2 = '';
                        $nofollow = ' rel="nofollow"';
                    } else {
                        $noindex1 = $noindex2 = $nofollow = '';
                    }
                    if (isset($ar_link[4]) and trim($ar_link[4])) {
                        $blank = ' target="_blank"';
                    } else {
                        $blank = '';
                    }
                    if (!$options['screenshot']) {
                        // обычный вывод списком
                        $out .= NR . '<li>' . $noindex1 . '<a href="' . $href . '" title="' . htmlspecialchars($title) . '"' . $nofollow . $blank . '>' . $title . '</a>' . $descr . $noindex2 . '</li>';
                    } else {
                        // скриншоты
                        $href_w = str_replace('http://', '', $href);
                        if ($options['screenshot'] == 1) {
                            $width = '120';
                            $height = '83';
                            $s = 'm';
                        } elseif ($options['screenshot'] == 2) {
                            $width = '202';
                            $height = '139';
                            $s = 's';
                        } elseif ($options['screenshot'] == 3) {
                            $width = '305';
                            $height = '210';
                            $s = 'n';
                        } else {
                            $width = '400';
                            $height = '275';
                            $s = 'b';
                        }
                        $out .= NR . '<p>' . $noindex1 . '<a href="' . $href . '" title="' . htmlspecialchars($title) . '"' . $nofollow . $blank . '>' . '<img src="http://webmorda.kz/site2img/?s=' . $s . '&u=' . $href_w . '" alt="' . htmlspecialchars($title) . '" title="' . $title . '" width="' . $width . '" height="' . $height . '"></a>' . $descr . '' . $noindex2 . '</p>';
                        /*
                        http://www.webmorda.kz/api.html
                        http://webmorda.kz/site2img/?u={1}&s={2}&q={3}&r={4}
                        */
                    }
                }
            }
        }
    }
    if ($out) {
        if (!$options['screenshot']) {
            // обычным списком
            $out = $options['header'] . NR . '<ul class="is_link links">' . $out . NR . '</ul>' . NR;
        } else {
            // скриншоты
            $out = $options['header'] . NR . '<div class="links">' . $out . '</div><div class="break"></div>' . NR;
        }
    }
    mso_add_cache($cache_key, $out);
    // сразу в кэш добавим
    return $out;
}
开发者ID:rb2,项目名称:MaxSite-CMS,代码行数:94,代码来源:index.php

示例14: tagclouds_widget_custom

function tagclouds_widget_custom($options = array(), $num = 1)
{
    // кэш
    $cache_key = 'tagclouds_widget_custom' . serialize($options) . $num;
    $k = mso_get_cache($cache_key);
    if ($k) {
        return $k;
    }
    // да есть в кэше
    // формат вывода  %SIZE% %URL% %TAG% %COUNT%
    // параметры $min_size $max_size $block_start $block_end
    // сортировка
    if (!isset($options['header'])) {
        $options['header'] = '';
    }
    if (!isset($options['block_start'])) {
        $options['block_start'] = '<div class="tagclouds">';
    }
    if (!isset($options['block_end'])) {
        $options['block_end'] = '</div>';
    }
    if (!isset($options['min_size'])) {
        $min_size = 90;
    } else {
        $min_size = (int) $options['min_size'];
    }
    if (!isset($options['max_size'])) {
        $max_size = 230;
    } else {
        $max_size = (int) $options['max_size'];
    }
    if (!isset($options['max_num'])) {
        $max_num = 50;
    } else {
        $max_num = (int) $options['max_num'];
    }
    if (!isset($options['min_count'])) {
        $min_count = 0;
    } else {
        $min_count = (int) $options['min_count'];
    }
    if (!isset($options['format'])) {
        $options['format'] = '<span style="font-size: %SIZE%%"><a href="%URL%">%TAG%</a><sub style="font-size: 7pt;">%COUNT%</sub></span>';
    }
    if (!isset($options['sort'])) {
        $sort = 0;
    } else {
        $sort = (int) $options['sort'];
    }
    require_once getinfo('common_dir') . 'meta.php';
    // функции мета
    $tagcloud = mso_get_all_tags_page();
    asort($tagcloud);
    $min = reset($tagcloud);
    $max = end($tagcloud);
    if ($max == $min) {
        $max++;
    }
    // сортировка перед выводом
    if ($sort == 0) {
        arsort($tagcloud);
    } elseif ($sort == 1) {
        asort($tagcloud);
    } elseif ($sort == 2) {
        ksort($tagcloud);
    } elseif ($sort == 3) {
        krsort($tagcloud);
    } else {
        arsort($tagcloud);
    }
    // по умолчанию
    $url = getinfo('siteurl') . 'tag/';
    $out = '';
    $i = 0;
    foreach ($tagcloud as $tag => $count) {
        if ($min_count) {
            if ($count < $min_count) {
                continue;
            }
        }
        $font_size = round(($count - $min) / ($max - $min) * ($max_size - $min_size) + $min_size);
        $af = str_replace(array('%SIZE%', '%URL%', '%TAG%', '%COUNT%'), array($font_size, $url . urlencode($tag), $tag, $count), $options['format']);
        // альтернативный синтаксис с []
        $af = str_replace(array('[SIZE]', '[URL]', '[TAG]', '[COUNT]'), array($font_size, $url . urlencode($tag), $tag, $count), $af);
        $out .= $af . ' ';
        $i++;
        if ($max_num != 0 and $i == $max_num) {
            break;
        }
    }
    if ($out) {
        $out = $options['header'] . $options['block_start'] . $out . $options['block_end'];
    }
    mso_add_cache($cache_key, $out);
    // сразу в кэш добавим
    return $out;
}
开发者ID:rb2,项目名称:MaxSite-CMS,代码行数:97,代码来源:index.php

示例15: mso_get_comusers_all

function mso_get_comusers_all($args = array())
{
    $cache_key = mso_md5('mso_get_comusers_all');
    $k = mso_get_cache($cache_key);
    if ($k) {
        return $k;
    }
    // да есть в кэше
    $comusers = array();
    $CI =& get_instance();
    $CI->db->select('*');
    $CI->db->from('comusers');
    $query = $CI->db->get();
    if ($query->num_rows() > 0) {
        $comusers = $query->result_array();
        mso_add_cache($cache_key, $comusers);
    }
    // получим все мета одним запросом
    $CI->db->select('meta_id_obj, meta_key, meta_value');
    $CI->db->where('meta_table', 'comusers');
    $CI->db->order_by('meta_id_obj');
    $query = $CI->db->get('meta');
    if ($query->num_rows() > 0) {
        $all_meta = $query->result_array();
    } else {
        $all_meta = array();
    }
    // переделываем формат массива, чтобы индекс был равен номеру комюзера
    $r_array = array();
    foreach ($all_meta as $val) {
        $r_array[$val['meta_id_obj']][$val['meta_key']] = $val['meta_value'];
    }
    $all_meta = $r_array;
    // получить все номера страниц, где оставил комментарий комюзер
    $CI->db->select('comments_id, comments_page_id, comments_comusers_id');
    $CI->db->where('comments_comusers_id >', '0');
    $CI->db->order_by('comments_comusers_id, comments_page_id');
    $query = $CI->db->get('comments');
    if ($query->num_rows() > 0) {
        $all_comments = $query->result_array();
    } else {
        $all_comments = array();
    }
    // переделываем массив под удобный формат
    $r_array = array();
    $all_comments_page_id = array();
    // тут массив номеров страниц, где участвовал комюзер
    foreach ($all_comments as $val) {
        $r_array[$val['comments_comusers_id']][$val['comments_id']] = $val['comments_page_id'];
        $all_comments_page_id[$val['comments_comusers_id']][$val['comments_page_id']] = $val['comments_page_id'];
    }
    $all_comments = $r_array;
    // добавляем в каждого комюзера элемент массива meta, comments и comments_pages_id
    $r_array = array();
    foreach ($comusers as $key => $val) {
        $r_array[$key] = $val;
        if (isset($all_meta[$val['comusers_id']])) {
            $r_array[$key]['meta'] = $all_meta[$val['comusers_id']];
        } else {
            $r_array[$key]['meta'] = array();
        }
        if (isset($all_comments[$val['comusers_id']])) {
            $r_array[$key]['comments'] = $all_comments[$val['comusers_id']];
        } else {
            $r_array[$key]['comments'] = array();
        }
        if (isset($all_comments_page_id[$val['comusers_id']])) {
            $r_array[$key]['comments_pages_id'] = $all_comments_page_id[$val['comusers_id']];
        } else {
            $r_array[$key]['comments_pages_id'] = array();
        }
    }
    $comusers = $r_array;
    mso_add_cache($cache_key, $comusers);
    return $comusers;
}
开发者ID:Kmartynov,项目名称:cms,代码行数:76,代码来源:comments.php


注:本文中的mso_get_cache函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。