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


PHP mso_slug函数代码示例

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


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

示例1: captcha_go

function captcha_go($args = array())
{
    global $MSO;
    # сама картинка формируется в img.php
    # в ней мы передаем сессию, текущую страницу и время (против кэширования)
    echo '
			<div class="captcha"><label for="comments_captha">' . tf('Введите нижние символы') . '</label>
			<input type="text" name="comments_captha" id="comments_captha" value="" maxlength="4" class="comments_captha"> <img src="' . getinfo('plugins_url') . 'captcha/img.php?image=' . $MSO->data['session']['session_id'] . '&amp;page=' . mso_slug(mso_current_url()) . '&amp;code=' . time() . '" alt="" title="' . tf('Защита от спама: введите только нижние символы') . '"> <span>' . t('(обязательно)') . '</span><br><br></div>
		';
}
开发者ID:rb2,项目名称:MaxSite-CMS,代码行数:10,代码来源:index.php

示例2: global_cache_key

function global_cache_key($dir = true)
{
    $cache_key = $_SERVER['REQUEST_URI'];
    $cache_key = str_replace('/', '-', $cache_key);
    $cache_key = mso_slug(' ' . $cache_key);
    if ($dir) {
        $cache_key = 'html/' . $cache_key . '.html';
    } else {
        $cache_key = $cache_key . '.html';
    }
    return $cache_key;
}
开发者ID:Kmartynov,项目名称:cms,代码行数:12,代码来源:index.php

示例3: admin_menu_menu

function admin_menu_menu($args = array())
{
    global $admin_menu, $MSO;
    $admin_url = getinfo('site_admin_url');
    $nr = "\n";
    $out = '';
    if (count($MSO->data['uri_segment']) > 1) {
        $cur_url2 = $MSO->data['uri_segment'][2];
        // второй сегмент
        # текущий урл строится из сегментов от второго до последнего
        $cur_url = $MSO->data['uri_segment'];
        $cur_url = array_slice($cur_url, 1);
        $cur_url = implode('/', $cur_url);
        if (!$cur_url) {
            $cur_url = 'home';
        }
    } else {
        $cur_url = 'home';
        $cur_url2 = 'home';
    }
    // если меню не содержит подменю, то не выводим его
    $admin_menu1 = $admin_menu;
    foreach ($admin_menu1 as $key => $value) {
        if (count($admin_menu1[$key]) < 2) {
            unset($admin_menu1[$key]);
        }
    }
    // pr($admin_menu1);
    foreach ($admin_menu1 as $key => $value) {
        $out .= $nr . '<ul class="admin-menu admin-menu-' . ($key ? $key : 'beginning') . '">';
        $out .= $nr . '<li class="admin-menu-top"><a href="#" class="admin-menu-section">' . _mso_del_menu_pod($value['']) . '</a>';
        if (count($value) > 1) {
            $out .= $nr . '    <ul class="admin-submenu">';
            foreach ($value as $url => $name) {
                if ($value[''] == $name) {
                    continue;
                }
                if ($url == $cur_url or $url == $cur_url2) {
                    $selected = ' class="admin-menu-selected admin-menu-' . mso_slug($url) . '"';
                } else {
                    $selected = ' class="admin-menu-' . mso_slug($url) . '"';
                }
                $out .= $nr . '      <li' . $selected . ' title="' . _mso_del_menu_pod($name) . '"><a href="' . $admin_url . $url . '">' . _mso_del_menu_pod($name) . '</a></li>';
            }
            $out .= $nr . '    </ul>';
        }
        $out .= $nr . '  </li>' . $nr . '</ul>' . $nr;
    }
    return $out;
}
开发者ID:rb2,项目名称:MaxSite-CMS,代码行数:50,代码来源:index.php

示例4: last_pages_widget_custom


//.........这里部分代码省略.........
    if ($arg['page_type']) {
        $CI->db->where('page_type_name', $arg['page_type']);
    }
    $CI->db->join('page_type', 'page_type.page_type_id = page.page_type_id');
    $CI->db->join('comments', 'comments.comments_page_id = page.page_id AND comments_approved = 1', 'left');
    if ($arg['exclude_cat']) {
        $CI->db->join('cat2obj', 'cat2obj.page_id = page.page_id', 'left');
        $CI->db->where_not_in('cat2obj.category_id', $arg['exclude_cat']);
    }
    if ($arg['include_cat']) {
        $CI->db->join('cat2obj', 'cat2obj.page_id = page.page_id', 'left');
        $CI->db->where_in('cat2obj.category_id', $arg['include_cat']);
    }
    $CI->db->order_by($arg['sort'], $arg['sort_order']);
    $CI->db->group_by('page.page_id');
    $CI->db->group_by('comments_page_id');
    $CI->db->limit($arg['count']);
    $query = $CI->db->get();
    if ($query->num_rows() > 0) {
        $pages = $query->result_array();
        require_once getinfo('common_dir') . 'category.php';
        require_once getinfo('common_dir') . 'meta.php';
        $all_cat = mso_cat_array_single();
        // все рубрики
        $out = '';
        foreach ($pages as $key => $page) {
            // метаполе превьюшки
            if (strpos($arg['format'], '%IMG_PREV%') !== false) {
                if ($img_prev = mso_get_meta($arg['img_prev'], 'page', $page['page_id'])) {
                    if (isset($img_prev[0]['meta_value']) and $img_prev[0]['meta_value']) {
                        $img_prev = '<img src="' . $img_prev[0]['meta_value'] . '" alt="" ' . $arg['img_prev_attr'] . '> ';
                    } else {
                        $img_prev = '<img src="' . $arg['img_prev_def'] . '" alt="" ' . $arg['img_prev_attr'] . '> ';
                    }
                } else {
                    if ($arg['img_prev_def']) {
                        $img_prev = '<img src="' . $arg['img_prev_def'] . '" alt="" ' . $arg['img_prev_attr'] . '> ';
                    } else {
                        $img_prev = '';
                    }
                }
            } else {
                $img_prev = '';
            }
            $out .= $arg['format'];
            $out = str_replace('%TITLE%', mso_page_title(mso_slug($page['page_slug']), $page['page_title'], '', '', true, false), $out);
            $out = str_replace('%URL%', getinfo('site_url') . 'page/' . mso_slug($page['page_slug']), $out);
            $out = str_replace('%DATE%', mso_page_date($page['page_date_publish'], $arg['date_format'], '', '', false), $out);
            if ($page['page_count_comments']) {
                $comments_format = str_replace('%COUNT%', $page['page_count_comments'], $arg['comments_format']);
            } else {
                $comments_format = '';
            }
            $out = str_replace('%COMMENTS%', $comments_format, $out);
            $page_content = $page['page_content'];
            $page_content = mso_hook('content', $page_content);
            $page_content = mso_hook('content_auto_tag', $page_content);
            $page_content = mso_hook('content_balance_tags', $page_content);
            $page_content = mso_hook('content_out', $page_content);
            $out = str_replace('%TEXT%', mso_balance_tags(mso_auto_tag(mso_hook('content_complete', $page['page_content']))), $out);
            if (strpos($arg['format'], '%TEXT_PREV%') !== false) {
                $page_content = $page['page_content'];
                $page_content = mso_hook('content', $page_content);
                $page_content = mso_hook('content_auto_tag', $page_content);
                $page_content = mso_hook('content_complete', $page_content);
                $page_content = mso_str_word(strip_tags($page_content), $arg['max_words']) . ' ...';
                $out = str_replace('%TEXT_PREV%', $page_content, $out);
            }
            # если есть cut, то обрабатываем и его
            $page_content = str_replace('[xcut', '[cut', $page_content);
            if (preg_match('/\\[cut(.*?)?\\]/', $page_content, $matches)) {
                $page_content = explode($matches[0], $page_content, 2);
                $page_content = $page_content[0];
                $page_content = mso_hook('content_complete', $page_content);
            }
            $out = str_replace('%TEXT_CUT%', mso_balance_tags(mso_auto_tag($page_content)), $out);
            $out = str_replace('%IMG_PREV%', $img_prev, $out);
            if (is_type_slug('page', mso_slug($page['page_slug']))) {
                $out = str_replace('<li>', '<li class="current_url_page">', $out);
            }
            if (isset($arg['include_cat'][0]) and is_page_cat($arg['include_cat'][0])) {
                $out = str_replace('<li>', '<li class="current_url_cat">', $out);
            }
            if (isset($arg['include_cat'][0]) and is_type_slug('category', $all_cat[$arg['include_cat'][0]]['category_slug']) and in_array($page['page_id'], $all_cat[$arg['include_cat'][0]]['pages'])) {
                $out = str_replace('<li>', '<li class="current_url_allcat">', $out);
            }
        }
        $out = $arg['header'] . $arg['block_start'] . NR . $out . $arg['block_end'];
        $out = str_replace('</li>', '<div class="clearfix"></div></li>', $out);
        $out .= $arg['text_posle'];
        mso_add_cache($cache_key, $out);
        // сразу в кэш добавим
        // отметим текущую рубрику. Поскольку у нас к кэше должен быть весь список и не делать кэш для каждого url
        // то мы просто перед отдачей заменяем текущий url на url с li.current_url
        $current_url = getinfo('siteurl') . mso_current_url();
        // текущий урл
        $out = str_replace('<a href="' . $current_url . '">', '<a href="' . $current_url . '" class="current_url">', $out);
        return $out;
    }
}
开发者ID:rb2,项目名称:MaxSite-CMS,代码行数:101,代码来源:index.php

示例5: mso_view_ini


//.........这里部分代码省略.........
                // служебные замены
                $mr = str_replace('&amp;', '&', $mr);
                $mr = str_replace('&quot;', '"', $mr);
                if (preg_match('|_serialize_|A', $mr)) {
                    $mr = preg_replace('|_serialize_|A', '', $mr, 1);
                    $mr = @unserialize($mr);
                }
                if (!is_array($mr)) {
                    $mr = array($mr);
                }
            } else {
                $mr = array();
            }
            // $mr теперь массив!
            $values = explode('#', $values);
            if ($values) {
                foreach ($values as $val) {
                    $ar = explode('||', $val);
                    if (isset($ar[0])) {
                        $mr1 = trim($ar[0]);
                    }
                    // ключ чекбокса
                    if (isset($ar[1])) {
                        $mr2 = trim($ar[1]);
                    } else {
                        $mr2 = $mr1;
                    }
                    if (in_array($mr1, $mr)) {
                        $checked = 'checked="checked"';
                    } else {
                        $checked = '';
                    }
                    //для каждого чекбокса свой ключ!
                    $mkey = $options_key . '_' . mso_slug($mr1) . '_m_s_o_' . $options_type;
                    $name_f1 = 'f_options[' . $mkey . ']';
                    $f .= '<label><input type="checkbox" name="' . $name_f . '[]" value="' . $mr1 . '" ' . $checked . '> ' . t($mr2) . '</label>' . $delimer . NR;
                }
                $f .= '<input type="hidden" name="f_all_checkbox[' . $options_key . '_m_s_o_' . $options_type . ']">' . NR;
            }
        } elseif ($type == 'radio') {
            $values = explode('#', $values);
            // все значения разделены #
            if ($values) {
                foreach ($values as $val) {
                    $ar = explode('||', $val);
                    if (isset($ar[0])) {
                        $mr1 = trim($ar[0]);
                    }
                    // ключ
                    if (isset($ar[1])) {
                        $mr2 = trim($ar[1]);
                    } else {
                        $mr2 = $mr1;
                    }
                    if ($value == trim($mr1)) {
                        $checked = 'checked="checked"';
                    } else {
                        $checked = '';
                    }
                    // преобразование в html
                    $mr2 = str_replace('_QUOT_', '"', $mr2);
                    $mr2 = str_replace('&lt;', '<', $mr2);
                    $mr2 = str_replace('&gt;', '>', $mr2);
                    $f .= '<label><input type="radio" name="' . $name_f . '" value="' . $mr1 . '" ' . $checked . '> ' . t($mr2) . '</label>' . $delimer . NR;
                }
            }
开发者ID:rettebinu,项目名称:cms,代码行数:67,代码来源:inifile.php

示例6: last_comments_widget_custom

function last_comments_widget_custom($options = array(), $num = 1)
{
    if (!isset($options['count'])) {
        $options['count'] = 5;
    }
    if (!isset($options['words'])) {
        $options['words'] = 20;
    }
    if (!isset($options['maxchars'])) {
        $options['maxchars'] = 20;
    }
    if (!isset($options['header'])) {
        $options['header'] = '';
    }
    $options['count'] = (int) $options['count'];
    if ($options['count'] < 1) {
        $options['count'] = 5;
    }
    $options['words'] = (int) $options['words'];
    if ($options['words'] < 1) {
        $options['words'] = 20;
    }
    $options['maxchars'] = (int) $options['maxchars'];
    if ($options['maxchars'] < 1) {
        $options['maxchars'] = 20;
    }
    $cache_key = 'last_comments_widget_' . $num . mso_md5(serialize($options));
    $k = mso_get_cache($cache_key, true);
    if ($k) {
        return $k;
    }
    // да есть в кэше
    require_once getinfo('common_dir') . 'comments.php';
    // функции комментариев
    $comments = mso_get_comments(false, array('limit' => $options['count'], 'order' => 'desc'));
    $out = '';
    if ($comments) {
        // сгруппируем все комментарии по записям
        $arr_com_page = array();
        $arr_com_page_title = array();
        foreach ($comments as $comment) {
            $arr_com_page[$comment['page_id']][$comment['comments_id']] = $comment;
            $arr_com_page_title[$comment['page_id']] = $comment['page_title'];
        }
        // выводим по странично
        foreach ($arr_com_page as $key => $comments) {
            $out .= '<h5>' . $arr_com_page_title[$key] . '</h5>';
            $comments = array_reverse($comments);
            // чтобы комментарии были в привычном порядке сверху вниз
            $out .= '<ul class="mso-widget-list">';
            foreach ($comments as $comment) {
                extract($comment);
                if ($comment['comments_users_id']) {
                    $css_style_add = 'last_comment_users ' . ' mso-last-comment-users-' . $comment['comments_users_id'];
                } elseif ($comment['comments_comusers_id']) {
                    $css_style_add = 'last_comment_comusers ' . ' mso-last-comment-comusers-' . $comment['comments_comusers_id'];
                } else {
                    $css_style_add = 'last_comment_anonim';
                }
                $out .= '<li class="' . $css_style_add . '"><a href="' . getinfo('siteurl') . 'page/' . mso_slug($page_slug) . '#comment-' . $comments_id . '"><b>';
                if ($comments_users_id) {
                    $out .= $users_nik;
                } elseif ($comments_comusers_id) {
                    if ($comusers_nik) {
                        $out .= $comusers_nik;
                    } else {
                        $out .= t('Комментатор') . ' ' . $comusers_id;
                    }
                } elseif ($comments_author_name) {
                    $out .= $comments_author_name;
                } else {
                    $out .= ' ' . t('Аноним');
                }
                $comments_content_1 = strip_tags($comments_content);
                // удалим тэги
                $comments_content = mso_str_word($comments_content_1, $options['words']);
                // ограничение на количество слов
                // если старый и новый текст после обрезки разные, значит добавим в конце ...
                if ($comments_content_1 != $comments_content) {
                    $comments_content .= '...';
                }
                // каждое слово нужно проверить на длину и если оно больше maxchars, то добавить пробел в wordwrap
                $words = explode(' ', $comments_content);
                foreach ($words as $key => $word) {
                    $words[$key] = mso_wordwrap($word, $options['maxchars'], ' ');
                }
                $comments_content = implode(' ', $words);
                $out .= ' »</b>  ' . strip_tags($comments_content) . '</a>';
                $out .= '</li>' . NR;
            }
            $out .= '</ul>';
        }
        if ($options['header']) {
            $out = $options['header'] . $out;
        }
    }
    mso_add_cache($cache_key, $out, false, true);
    // сразу в кэш добавим
    return trim($out);
}
开发者ID:Kmartynov,项目名称:cms,代码行数:100,代码来源:index.php

示例7: mso_slug

 */
 $f_header = $post['f_header'];
 if (isset($post['f_tags']) and $post['f_tags']) {
     $f_tags = $post['f_tags'];
 } else {
     $f_tags = '';
 }
 if (isset($post['f_menu_order'])) {
     $page_menu_order = (int) $post['f_menu_order'];
 } else {
     $page_menu_order = '';
 }
 if (isset($post['f_slug']) and $post['f_slug']) {
     $f_slug = $post['f_slug'];
 } else {
     $f_slug = mso_slug($f_header);
 }
 if (isset($post['f_password']) and $post['f_password']) {
     $f_password = $post['f_password'];
 } else {
     $f_password = '';
 }
 if (isset($post['f_cat'])) {
     $f_cat = $post['f_cat'];
 } else {
     $f_cat = array();
 }
 // все мета
 $f_options = '';
 if (isset($post['f_options'])) {
     foreach ($post['f_options'] as $key => $val) {
开发者ID:Kmartynov,项目名称:cms,代码行数:31,代码来源:new.php

示例8: mso_slug

     $old_link = '';
 }
 if (!isset($item['wp']['post_name'])) {
     $slug = mso_slug($item['title']);
 } else {
     $slug = urldecode($item['wp']['post_name']);
 }
 $slug_new = mso_slug($slug);
 // если $slug = числу, то нужно его заменить на заголовок
 $i = (int) $slug;
 if ((string) $slug != (string) $i) {
     $i = false;
 }
 // slug не число
 if ($i) {
     $slug_new = mso_slug($item['title']);
 }
 $comment_allow = $item['wp']['comment_status'] == 'open' ? '1' : '0';
 if (!isset($item['content'])) {
     $content = '';
 } else {
     $content = $item['content'];
 }
 $content = str_replace(chr(10), "<br>", $content);
 $content = str_replace(chr(13), "", $content);
 $content = str_replace('<!--more-->', '[cut]', $content);
 $post_date = $item['wp']['post_date'];
 if ($post_date == '0000-00-00 00:00:00') {
     $post_date = date('Y-m-d H:i:s');
 }
 $data = array('page_id_autor' => $MSO->data['session']['users_id'], 'page_title' => $item['title'], 'page_content' => $content, 'page_status' => $status, 'page_type_id' => $page_type_id, 'page_slug' => $slug_new, 'page_comment_allow' => $comment_allow, 'page_tags' => $tag, 'page_date_publish' => $post_date, 'page_id_cat' => implode(',', $cat1));
开发者ID:Kmartynov,项目名称:cms,代码行数:31,代码来源:admin.php

示例9: tf

    if ($f = mso_page_foreach('comments-do')) {
        require $f;
    } else {
        echo '<h1 class="comments">' . tf('Последние комментарии') . '</h1>';
        echo '<p class="info"><a href="' . getinfo('siteurl') . 'comments/feed">' . tf('Подписаться по RSS') . '</a>';
        echo '<br><a href="' . getinfo('siteurl') . 'users">' . tf('Список комментаторов') . '</a></p>';
    }
    echo '<div class="comments">';
    if ($comments) {
        echo '<ul>';
        foreach ($comments as $comment) {
            if ($f = mso_page_foreach('comments')) {
                require $f;
                // подключаем кастомный вывод
                continue;
                // следующая итерация
            }
            extract($comment);
            echo '<li><span><a href="' . getinfo('siteurl') . 'page/' . mso_slug($page_slug) . '#comment-' . $comments_id . '" name="comment-' . $comments_id . '">' . $page_title . '</a>';
            echo ' | ' . $comments_url;
            echo '</span><br>' . $comments_date;
            echo '</span><br>' . $comments_content;
            echo '</li>';
            //	pr($comment);
        }
        echo '</ul>';
    }
    echo '</div>';
}
echo NR . '</div><!-- class="type type_comments" -->' . NR;
require getinfo('template_dir') . 'main-end.php';
开发者ID:rb2,项目名称:MaxSite-CMS,代码行数:31,代码来源:comments.php

示例10: mso_segment

 */
# подготовка данных
$min_search_chars = 2;
// минимальное кол-во симоволов при поиске
$search = mso_segment(2);
$search = mso_strip(strip_tags($search));
$searh_to_text = mb_strtolower($search, 'UTF8');
if ($f = mso_page_foreach('search-head-meta')) {
    require $f;
} else {
    mso_head_meta('title', $search);
}
$search_len = true;
// поисковая фраза более 2 символов
// параметры для получения страниц
if (!$search or $search_len = strlen(mso_slug($search)) < $min_search_chars) {
    $search = tf('Поиск');
    $pages = false;
    // нет страниц
    $categories = false;
    // нет рубрик
    $tags = false;
    // нет меток
} else {
    $par = array('limit' => 7, 'cut' => false, 'type' => false);
    // подключаем кастомный вывод, где можно изменить массив параметров $par для своих задач
    if ($f = mso_page_foreach('search-mso-get-pages')) {
        require $f;
    }
    $pages = mso_get_pages($par, $pagination);
    // получим все - второй параметр нужен для сформированной пагинации
开发者ID:Kmartynov,项目名称:cms,代码行数:31,代码来源:search.php

示例11: mso_get_comuser

function mso_get_comuser($id = 0, $args = array())
{
    global $MSO;
    if (!$id) {
        // не указан id, получаем его из сессии
        if (isset($MSO->data['session']['comuser']) and $MSO->data['session']['comuser']) {
            $id = $MSO->data['session']['comuser']['comusers_id'];
        } else {
            $id = mso_segment(2);
        }
        // или сегмент в url
    }
    if (!$id) {
        return array();
    }
    // нет номера, выходим
    if (!is_numeric($id)) {
        return array();
    }
    // если id указан не номером, выходим
    if (!isset($args['limit'])) {
        $args['limit'] = 20;
    }
    if (!isset($args['tags'])) {
        $args['tags'] = '<p><img><strong><em><i><b><u><s><font><pre><code><blockquote>';
    }
    if (!isset($args['order'])) {
        $args['order'] = 'comments_date';
    }
    if (!isset($args['asc'])) {
        $args['asc'] = 'desc';
    }
    $CI =& get_instance();
    $CI->db->select('comusers.*, COUNT(comments_comusers_id) as comusers_count_comment_real');
    $CI->db->from('comusers');
    $CI->db->where('comusers_id', $id);
    $CI->db->limit(1);
    // отдавать все комменты, включая и неотмодерированные
    //$CI->db->where('comments.comments_approved', '1');
    $CI->db->join('comments', 'comusers.comusers_id = comments.comments_comusers_id', 'left');
    $CI->db->group_by('comments_comusers_id');
    $query = $CI->db->get();
    if ($query->num_rows() > 0) {
        $comuser = $query->result_array();
        // данные комюзера
        // pr($comuser);
        $comuser_count_comment_first = $comuser[0]['comusers_count_comments'];
        // первоначальное значание колво комментариев
        // подсоединим к нему [comments] - все его комментарии
        $CI->db->select('comments.*, page.page_id, page.page_title, page.page_slug');
        $CI->db->from('comments');
        $CI->db->where('comments_comusers_id', $id);
        // $CI->db->where('page.page_status', 'publish');
        // $CI->db->where('page_date_publish <', date('Y-m-d H:i:s'));
        $CI->db->where('comments.comments_approved', '1');
        $CI->db->join('page', 'page.page_id = comments.comments_page_id');
        $CI->db->order_by('comments_date', $args['asc']);
        if ($args['limit']) {
            $CI->db->limit($args['limit']);
        }
        $query = $CI->db->get();
        $comments = array();
        // все комменты
        if ($query->num_rows() > 0) {
            // нужно обработать тексты комментариев на предмет всяких хуков и лишних тэгов
            $comments = $query->result_array();
            foreach ($comments as $key => $comment) {
                $comments[$key]['comments_content'] = mso_comments_content($comment['comments_content']);
            }
            $comuser[0]['comments'] = $comments;
            // $comuser[0]['comments'] = $query->result_array();
            $comuser[0]['comusers_count_comments'] = count($comments);
        } else {
            $comuser[0]['comments'] = array();
        }
        if ($comuser_count_comment_first != count($comments)) {
            mso_comuser_set_count_comment($id, count($comments));
        }
        // в секцию meta добавим все метаполя данного юзера
        $CI->db->select('meta_key, meta_value');
        $CI->db->from('meta');
        $CI->db->where('meta_table', 'comusers');
        $CI->db->where('meta_id_obj', $id);
        $query = $CI->db->get();
        if ($query->num_rows() > 0) {
            // переделаем полученный массив в key = value
            foreach ($query->result_array() as $val) {
                $comuser[0]['comusers_meta'][$val['meta_key']] = $val['meta_value'];
            }
        } else {
            $comuser[0]['comusers_meta'] = array();
        }
        // от вских гадостей
        $comuser[0]['comusers_url'] = mso_xss_clean($comuser[0]['comusers_url']);
        if ($comuser[0]['comusers_url'] and strpos($comuser[0]['comusers_url'], 'http://') === false) {
            $comuser[0]['comusers_url'] = 'http://' . $comuser[0]['comusers_url'];
        }
        $comuser[0]['comusers_msn'] = mso_xss_clean($comuser[0]['comusers_msn']);
        // twitter
        $comuser[0]['comusers_msn'] = mso_slug(str_replace('@', '', $comuser[0]['comusers_msn']));
//.........这里部分代码省略.........
开发者ID:Kmartynov,项目名称:cms,代码行数:101,代码来源:comments.php

示例12: mso_upload

function mso_upload($config_library = array(), $field_userfile = 'f_userfile', $r = array())
{
    $CI =& get_instance();
    $CI->load->library('upload', $config_library);
    $CI->upload->initialize($config_library);
    // если была отправка файла, то нужно заменить поле имени с русского на что-то другое
    // это ошибка при копировании на сервере - он не понимает русские буквы
    if (isset($_FILES[$field_userfile]['name'])) {
        $f_temp = $_FILES[$field_userfile]['name'];
        // оставим только точку
        $f_temp = str_replace('.', '__mso_t__', $f_temp);
        $f_temp = mso_slug($f_temp);
        // остальное как обычно mso_slug
        $f_temp = str_replace('__mso_t__', '.', $f_temp);
        $ext = str_replace('.', '', strrchr($f_temp, '.'));
        // расширение файла
        if ($f_temp == '.' . $ext) {
            // имя файла состоит только из расширения «.jpg»
            $f_temp = '1' . $f_temp;
        }
        // добавляем к нему единицу
        $_FILES[$field_userfile]['name'] = $f_temp;
    }
    $res = $CI->upload->do_upload($field_userfile);
    if (!isset($r['message1'])) {
        $r['message1'] = '<div class="update">' . t('Загрузка выполнена') . '</div>';
    }
    if (!isset($r['message2'])) {
        $r['message2'] = '<div class="error">' . t('Не удалось перименовать файл в нижний регистр') . '</div>';
    }
    // описание файла
    if (!isset($r['userfile_title'])) {
        $r['userfile_title'] = false;
    }
    // файл, где хранится описание
    if (!isset($r['fn_mso_descritions'])) {
        $r['fn_mso_descritions'] = false;
    }
    // нужно ли менять размер
    if (!isset($r['userfile_resize'])) {
        $r['userfile_resize'] = true;
    }
    if (!isset($r['userfile_resize_size'])) {
        $r['userfile_resize_size'] = false;
    }
    // какой размер
    // водяной знак
    if (!isset($r['userfile_water'])) {
        $r['userfile_water'] = false;
    }
    // нужен ли водяной знак
    if (!isset($r['userfile_water_file'])) {
        $r['userfile_water_file'] = false;
    }
    // файл водяного знака
    if (!isset($r['water_type'])) {
        $r['water_type'] = 1;
    }
    // тип водяного знака
    // миниатюры всегда хранятся в подкаталоге mini
    if (!isset($r['userfile_mini'])) {
        $r['userfile_mini'] = true;
    }
    // делать миниатюру?
    if (!isset($r['userfile_mini_size'])) {
        $r['userfile_mini_size'] = false;
    }
    // размер миниатюры
    if (!isset($r['mini_type'])) {
        $r['mini_type'] = 1;
    }
    // тип миниатюры
    // превьюхи всегда хранятся в подкаталоге _mso_i
    if (!isset($r['prev_size'])) {
        $r['prev_size'] = 100;
    }
    // размер превьюхи
    if ($res) {
        echo $r['message1'];
        // если это файл картинки, то нужно сразу сделать скриншот маленький в _mso_i 100px, который будет выводиться в
        // списке файлов
        $up_data = $CI->upload->data();
        // файл нужно поменять к нижнему регистру
        if ($up_data['file_name'] != strtolower($up_data['file_name'])) {
            // переименуем один раз
            if (rename($up_data['full_path'], $up_data['file_path'] . strtolower('__' . $up_data['file_name']))) {
                // потом второй в уже нужный - это из-за бага винды
                rename($up_data['file_path'] . strtolower('__' . $up_data['file_name']), $up_data['file_path'] . strtolower($up_data['file_name']));
                $up_data['file_name'] = strtolower($up_data['file_name']);
                $up_data['full_path'] = $up_data['file_path'] . $up_data['file_name'];
                // echo '<div class="update">' . $up_data['full_path'] . $up_data['file_name'] . '</div>';
            } else {
                echo $r['message2'];
            }
        }
        // если указано описание файла и файл, где это описание хранится
        if ($r['userfile_title'] and $r['fn_mso_descritions']) {
            $fn_descr = trim(strip_tags($r['userfile_title']));
            // описание файла
            $fn_descr = str_replace('"', '', $fn_descr);
//.........这里部分代码省略.........
开发者ID:rb2,项目名称:MaxSite-CMS,代码行数:101,代码来源:uploads.php

示例13: sitemap

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;
}
开发者ID:rb2,项目名称:MaxSite-CMS,代码行数:70,代码来源:index.php

示例14: mso_show_sidebar

function mso_show_sidebar($sidebar = '1', $block_start = '<div class="widget widget_[NUMW] widget_[SB]_[NUMW] [FN] [FN]_[NUMF]"><div class="w0"><div class="w1">', $block_end = '</div><div class="w2"></div></div></div>', $echo = true)
{
    global $MSO, $page;
    // чтобы был доступ к параметрам страниц в условиях виджетов
    static $num_widget = array();
    // номер виджета по порядку в одном сайдбаре
    $widgets = mso_get_option('sidebars-' . $sidebar, 'sidebars', array());
    $out = '';
    if ($widgets) {
        foreach ($widgets as $widget) {
            $usl_res = 1;
            // предполагаем, что нет условий, то есть всегда true
            // имя виджета может содержать номер через пробел
            $arr_w = explode(' ', $widget);
            // в массив
            if (sizeof($arr_w) > 1) {
                $widget = trim($arr_w[0]);
                // первый - функция
                $num = trim($arr_w[1]);
                // второй - номер виджета
                if (isset($arr_w[2])) {
                    $u = $arr_w;
                    // поскольку у нас разделитель пробел, то нужно до конца все подбить в одну строчку
                    $u[0] = $u[1] = '';
                    $usl = trim(implode(' ', $u));
                    // текст условия, is_type('home') or is_type('category')
                    $usl = 'return ( ' . $usl . ' ) ? 1 : 0;';
                    $usl_res = eval($usl);
                    // выполяем
                    if ($usl_res === false) {
                        $usl_res = 1;
                    }
                    // возможно произошла ошибка
                }
            } else {
                $num = 0;
                // номер виджета не указан, значит 0
            }
            // номер функции виджета может быть не только числом, но и текстом
            // если текст, то нужно его преобразовать в slug, чтобы исключить
            // некоректную замену [NUMF] для стилей
            $num = mso_slug($num);
            // двойной - заменим на один - защита id в форме админки
            $num = str_replace('--', '-', $num);
            if (function_exists($widget) and $usl_res === 1) {
                if ($temp = $widget($num)) {
                    if (isset($num_widget[$sidebar]['numw'])) {
                        $numw = ++$num_widget[$sidebar]['numw'];
                        $num_widget[$sidebar]['numw'] = $numw;
                    } else {
                        $numw = $num_widget[$sidebar]['numw'] = 1;
                    }
                    $st = str_replace('[FN]', $widget, $block_start);
                    // название функции виджета
                    $st = str_replace('[NUMF]', $num, $st);
                    // номер функции
                    $st = str_replace('[NUMW]', $numw, $st);
                    //
                    $st = str_replace('[SB]', $sidebar, $st);
                    // номер сайдбара
                    $en = str_replace('[FN]', $widget, $block_end);
                    $en = str_replace('[NUMF]', $num, $en);
                    $en = str_replace('[NUMW]', $numw, $en);
                    $en = str_replace('[SB]', $sidebar, $en);
                    // обрамим содержимое виджета в div.widget-content
                    /*
                    if (stripos($temp, mso_get_val('widget_header_end', '</span></h2>')) !== false)
                    {
                    	// есть вхождение заголовка виджета <h2>
                    	$temp = str_replace(mso_get_val('widget_header_end', '</span></h2>'), mso_get_val('widget_header_end', '</span></h2>') . '<div class="widget-content">', $temp);
                    	$en = '</div>' . $en;
                    }
                    else
                    {
                    	$temp = '<div class="widget-content">' . $temp . '</div>';
                    }
                    */
                    $out .= $st . $temp . $en;
                }
            }
        }
        if ($echo) {
            echo $out;
        } else {
            return $out;
        }
    }
}
开发者ID:rb2,项目名称:MaxSite-CMS,代码行数:88,代码来源:common.php

示例15: array



<?php 
// mso_hook('widgets_show_form');
// pr($MSO->sidebars);
$error = '';
$all_name_sidebars = array();
// все сайдбары
$form = '';
if ($MSO->sidebars) {
    // есть сайдбары
    foreach ($MSO->sidebars as $name => $sidebar) {
        // у сайддара уже может быть определены виджеты - считываем их из опций
        // потому что мы их будем там хранить
        // это простой массив с именами виджетов
        $options = mso_get_option('sidebars-' . mso_slug($name), 'sidebars', array());
        $count_rows = count($options) + 1;
        if ($count_rows < 5) {
            $count_rows = 5;
        }
        $options = implode("\n", $options);
        // разделим по строкам
        $form .= '<h2>' . $sidebar['title'] . ':</h2>';
        $form .= '<textarea class="admin_sidebars" id="f_sidebars[' . $name . ']" name="f_sidebars[' . $name . ']" rows="' . $count_rows . '">';
        $form .= htmlspecialchars($options);
        $form .= '</textarea>';
        $all_name_sidebars[$name] = $sidebar['title'];
    }
} else {
    $error .= '<div class="error">' . t('Сайдбары не определены. Обычно они регистрируются в файле <b>functions.php</b> вашего шаблона. Например:') . ' <br><b>mso_register_sidebar(\'1\', \'' . t('Первый сайдбар') . '\');</b></div>';
}
开发者ID:rb2,项目名称:MaxSite-CMS,代码行数:29,代码来源:sidebars.php


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