本文整理汇总了PHP中mso_get_pages函数的典型用法代码示例。如果您正苦于以下问题:PHP mso_get_pages函数的具体用法?PHP mso_get_pages怎么用?PHP mso_get_pages使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了mso_get_pages函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: exit
exit('No direct script access allowed');
}
/**
* MaxSite CMS
* (c) http://max-3000.com/
*/
# подготовка данных
$full_posts = mso_get_option('category_full_text', 'templates', '1');
// полные или короткие записи
// параметры для получения страниц
$par = array('limit' => mso_get_option('limit_post', 'templates', '7'), 'cut' => mso_get_option('more', 'templates', 'Читать полностью »'), 'cat_order' => 'category_name', 'cat_order_asc' => 'asc', 'type' => 'blog', 'content' => $full_posts);
// подключаем кастомный вывод, где можно изменить массив параметров $par для своих задач
if ($f = mso_page_foreach('author-mso-get-pages')) {
require $f;
}
$pages = mso_get_pages($par, $pagination);
// получим все - второй параметр нужен для сформированной пагинации
$title_page = mso_head_meta('title', $pages, '%users_nik%');
// заголовок для записи на основе титла
if ($f = mso_page_foreach('author-head-meta')) {
require $f;
} else {
mso_head_meta('title', $pages, '%users_nik%|%title%', ' » ');
// meta title страницы
mso_head_meta('description', $pages, '%users_nik%');
// meta description страницы
mso_head_meta('keywords', $pages, '%users_nik%');
// meta keywords страницы
}
if (!$pages and mso_get_option('page_404_http_not_found', 'templates', 1)) {
header('HTTP/1.0 404 Not Found');
示例2: ob_start
ob_start();
if ($home_cat_block) {
// перебираем рубрики
foreach ($home_cat_block as $cat_id) {
if ($f = mso_page_foreach('home-cat-block')) {
require $f;
// подключаем кастомный вывод
continue;
// следующая итерация
}
$par['cat_id'] = $cat_id;
// подключаем кастомный вывод, где можно изменить массив параметров $par для своих задач
if ($f = mso_page_foreach('home-cat-block-mso-get-pages')) {
require $f;
}
$pages = mso_get_pages($par, $temp);
if ($pages) {
$cat_info = mso_get_cat_from_id($cat_id);
// все данные рубрики
// название рубрики и ссылка
echo '<div class="mso-header-home-cat">' . '<a href="' . getinfo('site_url') . 'category/' . $cat_info['category_slug'] . '">' . htmlspecialchars($cat_info['category_name']) . '</a>' . '</div>';
// выводить описание рубрики
if (mso_get_option('default_description_home_cat', 'templates', '0') and $cat_info['category_desc']) {
echo '<div class="mso-description-cat">' . $cat_info['category_desc'] . '</div>';
}
if ($f = mso_page_foreach('home-cat-block-out-pages-do')) {
require $f;
}
mso_set_val('container_class', 'mso-type-home mso-type-home-cat-block mso-type-home-cat-block-list');
if (mso_get_option('default_description_home', 'templates', '0')) {
mso_set_val('list_line_format', '[title] - [date] [meta_description]');
示例3: mso_remote_f_getpost
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);
}
示例4: mso_next_prev_page
function mso_next_prev_page($r = array())
{
$out = array();
if (!isset($r['page_id']) or !isset($r['page_categories']) or !isset($r['page_date_publish'])) {
$out['next'] = false;
$out['prev'] = false;
return $out;
}
// передаем дату отдельно, она используется в function_add_custom_sql
mso_set_val('_sql_next_prev_pages_page_date_publish', $r['page_date_publish']);
// $r['use_category'] — если нужно учитывать рубрику
if (!isset($r['use_category'])) {
$r['use_category'] = true;
}
if ($r['use_category']) {
// рубрики
$cat = $r['page_categories'];
// если несколько рубрик, то ищем те, в которых
// category_id_parent не равен 0 — это подрубрики
// если такие есть, то по ним и делаем навигаци
if (count($r['page_categories']) > 1) {
$all_cat = mso_cat_array_single();
// все рубрики
foreach ($r['page_categories'] as $id) {
if ($all_cat[$id]['parents'] > 0) {
$cat = array($id);
break;
}
}
}
$cat = implode(',', $cat);
} else {
$cat = '';
// рубрика не учитывается
}
if (!isset($r['type'])) {
$r['type'] = 'blog';
}
// можно задать тип записей
// next
if ($pages = mso_get_pages(array('content' => false, 'cat_id' => $cat, 'order_asc' => 'asc', 'limit' => 1, 'pagination' => false, 'custom_type' => 'home', 'function_add_custom_sql' => '_sql_next_page', 'get_page_categories' => false, 'get_page_meta_tags' => false, 'get_page_count_comments' => false, 'type' => $r['type'], 'exclude_page_id' => $r['page_id']), $temp)) {
$out['next'] = $pages[0];
} else {
$out['next'] = false;
}
// prev
if ($pages = mso_get_pages(array('content' => false, 'cat_id' => $cat, 'order_asc' => 'desc', 'limit' => 1, 'pagination' => false, 'custom_type' => 'home', 'function_add_custom_sql' => '_sql_prev_page', 'get_page_categories' => false, 'get_page_meta_tags' => false, 'get_page_count_comments' => false, 'type' => $r['type'], 'exclude_page_id' => $r['page_id']), $temp)) {
$out['prev'] = $pages[0];
} else {
$out['prev'] = false;
}
// $r['reverse'] — меняем местами пункты
if (isset($r['reverse']) and $r['reverse']) {
$o = array();
$o['next'] = $out['prev'];
$o['prev'] = $out['next'];
$out = $o;
}
return $out;
}
示例5: exit
if (!defined('BASEPATH')) {
exit('No direct script access allowed');
}
// Использовать в type/ шаблона
// Директория должна быть уже создана, иначе смерть
$dirName = getinfo('template_dir') . 'type/export/';
if (!file_exists($dirName)) {
die("Directory {$dirName} is not found in root folder");
}
// Плоский массив всех рубрик
$allCategories = mso_cat_array_single('page', 'category_name', 'ASC', '', true, false);
// pr($allCategories);
// Делаем запрос к БД штатными средствами
$par = array('type' => 'blog', 'get_page_count_comments' => false, 'cut' => '', 'custom_type' => 'home', 'no_limit' => true);
$pages = mso_get_pages($par, $pag);
// pr($pages);
// Обходим массив с результатами запроса и пишем файлы
foreach ($pages as $page) {
// pr($page);
// Имя создаваемого файла
$fileName = mso_page_date($page['page_date_publish'], 'Y-m-d', '', '', false) . '-' . $page['page_slug'] . '.md';
// pr($fileName);
// Рубрики
$categories = '';
foreach ($page['page_categories'] as $catId) {
$categories .= $allCategories[$catId]['category_slug'] . ', ';
}
// Метки
$tags = '';
foreach ($page['page_tags'] as $tag) {
示例6: 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'], ' → ', '', '', 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;
}
示例7: mso_page_other_pages
function mso_page_other_pages($page_id = 0, $page_categories = array())
{
if ($bl_title = mso_get_option('page_other_pages', 'templates', tf('Еще записи по теме'))) {
// алгоритм получения записей
$algoritm = mso_get_option('page_other_pages_algoritm', 'templates', 'all');
if ($algoritm == 'lowlewel') {
$all_cat = mso_cat_array_single();
// все рубрики
$bl_page_categories = array();
// обработаный массив id-level
foreach ($page_categories as $cat_id) {
$bl_page_categories[$cat_id] = $all_cat[$cat_id]['level'];
}
arsort($bl_page_categories);
// сортируем в обратном порядке
$bl_page_categories = array_keys($bl_page_categories);
// оставляем только ключи (id)
// если что-то есть, то оставляем только первую рубрику, иначе $page_categories
if (isset($bl_page_categories[0])) {
$bl_page_categories = array($bl_page_categories[0]);
} else {
$bl_page_categories = $page_categories;
}
} else {
// обычный вывод по всем рубрикам
$bl_page_categories = $page_categories;
}
$bl_pages = mso_get_pages(array('type' => false, 'content' => false, 'pagination' => false, 'custom_type' => 'category', 'categories' => $bl_page_categories, 'exclude_page_id' => array($page_id), 'content' => false, 'limit' => mso_get_option('page_other_pages_limit', 'templates', 7), 'order' => mso_get_option('page_other_pages_order', 'templates', 'page_date_publish'), 'order_asc' => mso_get_option('page_other_pages_order_asc', 'templates', 'random')), $_temp);
if ($bl_pages) {
echo '<div class="page_other_pages">' . mso_get_val('page_other_pages_start', '<h3>') . $bl_title . mso_get_val('page_other_pages_end', '</h3>') . '<ul>';
foreach ($bl_pages as $bl_page) {
mso_page_title($bl_page['page_slug'], $bl_page['page_title'], '<li>', '</li>', true);
}
echo '</ul></div>';
}
}
}
示例8: last_pages_widget_custom
function last_pages_widget_custom($arg = array(), $num = 1)
{
if (!isset($arg['count'])) {
$arg['count'] = 7;
}
if (!isset($arg['page_type'])) {
$arg['page_type'] = 'blog';
}
if (!isset($arg['sort'])) {
$arg['sort'] = 'page_date_publish';
}
if (!isset($arg['sort_order'])) {
$arg['sort_order'] = 'desc';
}
if (!isset($arg['date_format'])) {
$arg['date_format'] = 'd/m/Y';
}
if (!isset($arg['format'])) {
$arg['format'] = '<h4>[TITLE]</h4><p>[DATE] [COMMENTS]</p>[IMG]<p>[TEXT]</p>';
}
if (!isset($arg['comments_format'])) {
$arg['comments_format'] = ' | ' . t('Комментариев: ') . '[COUNT]';
}
if (!isset($arg['include_cat'])) {
$arg['include_cat'] = '';
}
if (!isset($arg['img_prev_def'])) {
$arg['img_prev_def'] = '';
}
if (!isset($arg['img_prev_attr'])) {
$arg['img_prev_attr'] = 'class="b-left w100"';
}
if (!isset($arg['max_words'])) {
$arg['max_words'] = 20;
}
if (!isset($arg['text_do'])) {
$arg['text_do'] = '';
}
if (!isset($arg['text_posle'])) {
$arg['text_posle'] = '';
}
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['block_start'])) {
$arg['block_start'] = '';
}
if (!isset($arg['block_end'])) {
$arg['block_end'] = '';
}
if ($arg['sort_order'] != 'random') {
$cache_key = 'last_pages_widget' . serialize($arg) . $num;
if ($k = mso_get_cache($cache_key)) {
return $k;
}
// да есть в кэше
}
$par = array('limit' => $arg['count'], 'cut' => '', 'cat_order' => 'category_name', 'cat_order_asc' => 'asc', 'pagination' => false, 'cat_id' => $arg['include_cat'], 'order' => $arg['sort'], 'order_asc' => $arg['sort_order'], 'type' => $arg['page_type'], 'custom_type' => 'home');
$pages = mso_get_pages($par, $temp);
$out = '';
if ($pages) {
foreach ($pages as $page) {
// [TITLE] [DATE] [TEXT] [IMG] [COMMENTS] [URL]
$title = mso_page_title($page['page_slug'], $page['page_title'], '', '', true, false, 'page');
$url = getinfo('site_url') . 'page/' . $page['page_slug'];
$date = mso_page_date($page['page_date_publish'], $arg['date_format'], '', '', false);
$img = isset($page['page_meta']['image_for_page'][0]) ? $page['page_meta']['image_for_page'][0] : '';
if (!$img and $arg['img_prev_def']) {
$img = $arg['img_prev_def'];
}
if ($img) {
$img = '<a href="' . $url . '"><img src="' . $img . '" alt="' . $page['page_title'] . '" ' . $arg['img_prev_attr'] . '></a>';
}
if ($page['page_count_comments']) {
$comments = str_replace('[COUNT]', $page['page_count_comments'], $arg['comments_format']);
} else {
$comments = '';
}
$text = mso_str_word(strip_tags($page['page_content']), $arg['max_words']) . ' ...';
$out_page = $arg['format'];
$out_page = str_replace('[TITLE]', $title, $out_page);
$out_page = str_replace('[DATE]', $date, $out_page);
$out_page = str_replace('[COMMENTS]', $comments, $out_page);
$out_page = str_replace('[URL]', $url, $out_page);
$out_page = str_replace('[TEXT]', $text, $out_page);
$out_page = str_replace('[IMG]', $img, $out_page);
$out .= $out_page;
}
$out = $arg['header'] . $arg['block_start'] . $arg['text_do'] . $out . $arg['text_posle'] . $arg['block_end'];
}
if ($arg['sort_order'] != 'random') {
mso_add_cache($cache_key, $out);
}
// в кэш
return $out;
}
示例9: get_pages
protected function get_pages($r)
{
// дефолтные значения для получения записей
$default = array('limit' => 1, 'cut' => '»»»', 'pagination' => false, 'cat_id' => 0, 'page_id' => 0, 'page_id_autor' => false, 'type' => 'blog', 'order' => 'page_date_publish', 'order_asc' => 'desc', 'show_cut' => true, 'date_now' => true, 'exclude_page_allow' => true);
$this->param = array_merge($default, $r);
// объединяем с дефолтом
$exclude_page_id = $this->param['exclude_page_allow'] ? mso_get_val('exclude_page_id') : array();
$this->pages = mso_get_pages(array('limit' => $this->param['limit'], 'cut' => $this->param['cut'], 'pagination' => $this->param['pagination'], 'cat_id' => $this->param['cat_id'], 'page_id' => $this->param['page_id'], 'page_id_autor' => $this->param['page_id_autor'], 'type' => $this->param['type'], 'order' => $this->param['order'], 'order_asc' => $this->param['order_asc'], 'show_cut' => $this->param['show_cut'], 'show_xcut' => $this->param['show_cut'], 'date_now' => $this->param['date_now'], 'custom_type' => 'home', 'exclude_page_id' => $exclude_page_id), $this->pagination);
$this->go = $this->pages ? true : false;
}