本文整理汇总了PHP中mso_segment函数的典型用法代码示例。如果您正苦于以下问题:PHP mso_segment函数的具体用法?PHP mso_segment怎么用?PHP mso_segment使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了mso_segment函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: ushki_to_hook_autoload
function ushki_to_hook_autoload()
{
// для админки плагин не работает
if (mso_segment(1) != 'admin') {
mso_hook_add('init', 'ushki_to_hook_custom');
}
}
示例2: admin_ip_admin_init
function admin_ip_admin_init($args = array())
{
// проверяем сегменты URL
// получаем из опций секретный сегмент
// если это секретный, то сбрасываем ip
// получаем список разрешенных IP из опций
// получаем текущий IP юзера
// если его нет в разрешенных, то die('no');
global $MSO;
$options_key = 'plugin_admin_ip';
$options = mso_get_option($options_key, 'plugins', array());
if (!isset($options['secret'])) {
$options['secret'] = '';
}
if (!isset($options['ip'])) {
$options['ip'] = '';
}
if ($options['secret'] and mso_segment(3) == $options['secret']) {
// сброс ip
// http://localhost/codeigniter/admin/plugin_admin_ip/secret_to_reset - secret_to_reset
$options['ip'] = '';
mso_add_option($options_key, $options, 'plugins');
mso_redirect('admin/plugin_admin_ip');
// редирект на страницу плагина
}
if ($options['ip']) {
// указаны IP
$ips = explode("\n", $options['ip']);
$curr_ip = $MSO->data['session']['ip_address'];
$ok = false;
// признак, что доступ разрешен
foreach ($ips as $ip) {
if (trim($ip) == $curr_ip) {
$ok = true;
break;
}
}
if (!$ok) {
die('Access denied');
}
// рубим
}
if (!mso_check_allow('admin_ip_admin_page')) {
return $args;
// 'Доступ запрещен';
}
$this_plugin_url = 'plugin_admin_ip';
// url и hook
# добавляем свой пункт в меню админки
# первый параметр - группа в меню
# второй - это действие/адрес в url - http://сайт/admin/demo
# можно использовать добавочный, например demo/edit = http://сайт/admin/demo/edit
# Третий - название ссылки
mso_admin_menu_add('plugins', $this_plugin_url, 'Admin IP');
# прописываем для указаного admin_url_ + $this_plugin_url - (он будет в url)
# связанную функцию именно она будет вызываться, когда
# будет идти обращение по адресу http://сайт/admin/_null
mso_admin_url_hook($this_plugin_url, 'admin_ip_admin_page');
return $args;
}
示例3: range_url_autoload
function range_url_autoload()
{
// в админке и rss не используем
if (mso_segment(1) != 'admin' and !is_feed()) {
mso_hook_add('init', 'range_url_init');
}
# хук на init
}
示例4: upload_editor_autoload
function upload_editor_autoload()
{
if (is_login() && mso_check_allow('admin_files')) {
mso_hook_add('new_page', 'upload_editor_new_page');
if (mso_segment(2) == 'page_new') {
mso_hook_add('admin_content', 'upload_editor_js');
}
}
}
示例5: cron_custom
function cron_custom($args = array())
{
$options = mso_get_option('plugin_cron', 'plugins', array());
if (!isset($options['slug'])) {
$options['slug'] = 'cron';
}
if (mso_segment(1) == $options['slug']) {
mso_hook('cron');
# это крон, выполняем его хук
die('Cron done');
# после крона всегда останавливаем выполнение
} else {
return $args;
}
}
示例6: feedburner_init
function feedburner_init($args = array())
{
if (!is_feed()) {
return $args;
}
$options = mso_get_option('plugin_feedburner', 'plugins', array());
if (!isset($options['key'])) {
return $args;
}
if (!preg_match("!feedburner|feedvalidator!i", $_SERVER['HTTP_USER_AGENT'])) {
if (mso_segment(1) == 'feed') {
header("Location: http://feeds2.feedburner.com/" . trim($options['key']));
header("HTTP/1.1 302 Temporary Redirect");
exit;
}
}
return $args;
}
示例7: admin_comments_admin
function admin_comments_admin($args = array())
{
# выносим админские функции отдельно в файл
global $MSO;
if (!mso_check_allow('admin_comments')) {
echo t('Доступ запрещен');
return $args;
}
$seg = mso_segment(3);
if ($seg == 'edit') {
mso_hook_add_dinamic('mso_admin_header', ' return $args . t("Редактирование комментария"); ');
mso_hook_add_dinamic('admin_title', ' return t("Редактирование комментария") . " - " . $args; ');
require $MSO->config['admin_plugins_dir'] . 'admin_comments/edit.php';
} else {
mso_hook_add_dinamic('mso_admin_header', ' return $args . t("Комментарии"); ');
mso_hook_add_dinamic('admin_title', ' return t("Комментарии") . " - " . $args; ');
require $MSO->config['admin_plugins_dir'] . 'admin_comments/admin.php';
}
}
示例8: admin_users_admin
function admin_users_admin($args = array())
{
# выносим админские функции отдельно в файл
global $MSO;
if (!mso_check_allow('admin_users_users')) {
echo t('Доступ запрещен');
return $args;
}
# если идет вызов с номером юзера, то подключаем страницу для редактирования
// Определим текущую страницу (на основе сегмента url)
// http://localhost/codeigniter/admin/users/edit/1
$seg = mso_segment(3);
// третий - edit
mso_hook_add_dinamic('mso_admin_header', ' return $args . "' . t('Пользователи') . '"; ');
mso_hook_add_dinamic('admin_title', ' return "' . t('Пользователи') . ' - " . $args; ');
// подключаем соответственно нужный файл
if ($seg == '') {
require $MSO->config['admin_plugins_dir'] . 'admin_users/users.php';
} elseif ($seg == 'edit') {
require $MSO->config['admin_plugins_dir'] . 'admin_users/edit.php';
}
}
示例9: global_cache_autoload
function global_cache_autoload($args = array())
{
// в админке кэш не работает
if (mso_segment(1) != 'admin') {
$options = mso_get_option('plugin_global_cache', 'plugins', array());
// кэш включен?
if (isset($options['on']) and $options['on']) {
// админам включить кэш?
if (!isset($options['onlogin']) or isset($options['onlogin']) and !$options['onlogin']) {
mso_hook_add('global_cache_start', 'global_cache_start');
mso_hook_add('global_cache_end', 'global_cache_end');
# дополнительные хуки, которые позволяют сбросить кэш - использовать в плагинах и т.п.
mso_hook_add('global_cache_key_flush', 'global_cache_key_flush');
// сброс кэша текущей страницы
mso_hook_add('global_cache_all_flush', 'global_cache_all_flush');
// сброс всего html-кэша
# сброс кэша если была отправка POST
if (isset($_POST) and $_POST) {
global_cache_all_flush();
}
}
}
}
}
示例10: admin_plugin_options_admin
function admin_plugin_options_admin($args = array())
{
if (!mso_check_allow('admin_plugin_options')) {
echo t('Доступ запрещен');
return $args;
}
mso_hook_add_dinamic('mso_admin_header', ' return $args . "' . t('Настройка плагина') . '"; ');
mso_hook_add_dinamic('admin_title', ' return "' . t('Настройка плагина') . ' - " . $args; ');
if ($plugin = mso_segment(3)) {
if (!file_exists(getinfo('plugins_dir') . $plugin . '/index.php')) {
echo t('Плагин не найден.');
return $args;
}
if (!function_exists($plugin . '_mso_options')) {
echo t('Для данного плагина настроек не предусмотрено.');
return $args;
} else {
$fn = $plugin . '_mso_options';
$fn();
}
} else {
echo t('Неверно указан плагин.');
}
}
示例11: exit
<?php
if (!defined('BASEPATH')) {
exit('No direct script access allowed');
}
// получим массив всех рубрик
$cats = mso_cat_array_single('page', 'category_menu_order', 'ASC', '', true, false);
// pr($cats);
// если массив рубрик получен
if ($cats) {
// найдем нужную рубрику и получим данные о ней
foreach ($cats as $cat) {
if (mso_segment(2) == $cat['category_slug']) {
$cat_id = $cat['category_id'];
$cat_descr = $cat['category_desc'];
$cat_name = $cat['category_name'];
$cat_url = $cat['category_slug'];
break;
}
}
// сделаем запрос за записями этой рубрики
$par = array('type' => false, 'cat_id' => $cat_id, 'limit' => mso_get_option('limit_post', 'templates', '10'), 'cut' => mso_get_option('more', 'templates', 'Читать полностью »'), 'type' => false, 'content' => false, 'get_page_count_comments' => false);
$pages = mso_get_pages($par, $pagination);
// pr($pages);
// определим метаданные
mso_head_meta('title', $cat_name . ' - ' . getinfo('name_site'));
mso_head_meta('description', $cat_descr);
mso_head_meta('keywords', $cat_descr);
$admin_link = '';
if (is_login()) {
$admin_link = ' <a href="' . getinfo('siteurl') . 'admin/page_edit/' . $page['page_id'] . '">Редактировать</a>';
示例12: t
echo '<div class="update">' . t('Обновлено!') . '</div>';
// . $result['description'];
mso_flush_cache();
// сбросим кэш
} else {
echo '<div class="error">' . t('Ошибка обновления') . ' (' . $result['description'] . ')</div>';
}
}
# вспомогательная функция
# имя поле значение
function _mso_add_row($title, $field, $val)
{
$CI =& get_instance();
$CI->table->add_row($title, form_input(array('name' => $field, 'style' => 'width: 99%', 'value' => $val)));
}
$id = (int) mso_segment(4);
// номер пользователя по сегменту url
if ($id) {
# подготавливаем выборку из базы
$CI->db->select('*');
$CI->db->from('comusers');
$CI->db->where('comusers_id', $id);
$query = $CI->db->get();
// если есть данные, то выводим
if ($query->num_rows() > 0) {
$CI->load->helper('form');
$CI->load->library('table');
$tmpl = array('table_open' => '<table class="page" border="0" width="99%">
<colgroup><colgroup>', 'row_alt_start' => '<tr class="alt">', 'cell_alt_start' => '<td class="alt">');
$CI->table->set_template($tmpl);
// шаблон таблицы
示例13: exit
<?php
if (!defined('BASEPATH')) {
exit('No direct script access allowed');
}
/**
* MaxSite CMS
* (c) http://max-3000.com/
*/
require_once getinfo('common_dir') . 'comments.php';
// получим всю информацию о комюзере - номер в сегменте url
$comuser_info = mso_get_comuser(mso_segment(2));
if ($f = mso_page_foreach('users-head-meta')) {
require $f;
} else {
mso_head_meta('title', tf('Комментаторы') . '. ' . getinfo('title'));
// meta title страницы
}
if (!$comuser_info and mso_get_option('page_404_http_not_found', 'templates', 1)) {
header('HTTP/1.0 404 Not Found');
}
// теперь сам вывод
# начальная часть шаблона
if ($fn = mso_find_ts_file('main/main-start.php')) {
require $fn;
}
echo NR . '<div class="mso-type-users"><div class="mso-page-only"><div class="mso-page-content mso-type-users-content">';
if ($comuser_info) {
extract($comuser_info[0]);
if ($f = mso_page_foreach('users')) {
require $f;
示例14: mso_page_view_count_first
function mso_page_view_count_first($unique = false, $name_cookies = 'maxsite-cms', $expire = 2592000)
{
global $_COOKIE, $_SESSION;
if (!mso_get_option('page_view_enable', 'templates', '1') and !$unique) {
return true;
}
//если нет такой опции или не пришло в функцию, то выходим
if (!$unique) {
$unique = mso_get_option('page_view_enable', 'templates', '1');
}
$slug = mso_segment(2);
$all_slug = array();
if ($unique == 0) {
return false;
} elseif ($unique == 1) {
if (isset($_COOKIE[$name_cookies])) {
$all_slug = explode('|', $_COOKIE[$name_cookies]);
}
// значения текущего кука
if (in_array($slug, $all_slug)) {
return false;
}
// уже есть текущий урл - не увеличиваем счетчик
} elseif ($unique == 2) {
session_start();
if (isset($_SESSION[$name_cookies])) {
$all_slug = explode('|', $_SESSION[$name_cookies]);
}
// значения текущей сессии
if (in_array($slug, $all_slug)) {
return false;
}
// уже есть текущий урл - не увеличиваем счетчик
}
// нужно увеличить счетчик
$all_slug[] = $slug;
// добавляем текущий slug
$all_slug = array_unique($all_slug);
// удалим дубли на всякий пожарный
$all_slug = implode('|', $all_slug);
// соединяем обратно в строку
$expire = time() + $expire;
if ($unique == 1) {
@setcookie($name_cookies, $all_slug, $expire);
} elseif ($unique == 2) {
$_SESSION[$name_cookies] = $all_slug;
}
// записали в сессию
// получим текущее значение page_view_count
// и увеличиваем значение на 1
$CI =& get_instance();
$CI->db->select('page_view_count');
if (is_numeric($slug)) {
// ссылка вида http://site.com/page/1
$CI->db->where('page_id', $slug);
} else {
$CI->db->where('page_slug', $slug);
}
$CI->db->limit(1);
$query = $CI->db->get('page');
if ($query->num_rows() > 0) {
$pages = $query->row_array();
$page_view_count = $pages['page_view_count'] + 1;
$CI->db->where('page_slug', $slug);
$CI->db->update('page', array('page_view_count' => $page_view_count));
$CI->db->cache_delete('page', $slug);
return true;
}
}
示例15: exit
<?php
if (!defined('BASEPATH')) {
exit('No direct script access allowed');
}
?>
<div class="admin-h-menu">
<?php
# сделаем меню горизонтальное в текущей закладке
// основной url этого плагина - жестко задается
$plugin_url = $MSO->config['site_admin_url'] . 'sidebars';
// само меню
$a = mso_admin_link_segment_build($plugin_url, '', t('Настройки сайдбаров'), 'select') . ' | ';
$a .= mso_admin_link_segment_build($plugin_url, 'widgets', t('Настройка виджетов'), 'select');
echo $a;
?>
</div>
<?php
// Определим текущую страницу (на основе сегмента url)
$seg = mso_segment(3);
// подключаем соответственно нужный файл
if ($seg == '') {
require $MSO->config['admin_plugins_dir'] . 'admin_sidebars/sidebars.php';
} elseif ($seg == 'widgets') {
require $MSO->config['admin_plugins_dir'] . 'admin_sidebars/widgets.php';
}