本文整理汇总了PHP中System::cache方法的典型用法代码示例。如果您正苦于以下问题:PHP System::cache方法的具体用法?PHP System::cache怎么用?PHP System::cache使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System
的用法示例。
在下文中一共展示了System::cache方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: PluginsGetInstalled
/**
* Загружает информацию об установленных подключаемых плагинах из базы данных и возвращает результат.
* Кэшируется.
* @return array
*/
function PluginsGetInstalled()
{
static $plugins = null;
if (System::cache()->HasCache(system_cache, 'plugins')) {
$plugins = System::cache()->Get(system_cache, 'plugins');
}
if (!isset($plugins)) {
$plugins = System::database()->Select('plugins', "(`type`='5' or `type`='7') and `enabled`='1'");
System::cache()->Write(system_cache, 'plugins', $plugins, Day2Sec);
}
return $plugins;
}
示例2: array
/**
* Возвращает правило замены.
* @param string $Ufu
* @param bool $Clear
* @return array
*/
function &UfuGetRules($Ufu = null, $Clear = false)
{
static $UfuRewriteRules = null;
if ($Clear) {
$UfuRewriteRules = null;
System::cache()->Delete(system_cache, 'rewrite_rules');
return $UfuRewriteRules;
}
if ($UfuRewriteRules == null) {
if (System::cache()->HasCache(system_cache, 'rewrite_rules')) {
$UfuRewriteRules = System::cache()->Get(system_cache, 'rewrite_rules');
} else {
$UfuRewriteRules = array();
$_rules = System::database()->Select('rewrite_rules');
SortArray($_rules, 'order');
foreach ($_rules as $_rule) {
$rule = array('ufu' => $_rule['ufu'], 'pattern' => $_rule['pattern'], 'params' => $_rule['params']);
if ($_rule['module'] != '' && $_rule['name'] != '') {
$UfuRewriteRules[$_rule['module'] . ':' . $_rule['name']] = $rule;
} else {
$UfuRewriteRules[$_rule['ufu']] = $rule;
}
}
System::cache()->Write(system_cache, 'rewrite_rules', $UfuRewriteRules, Day2Sec);
}
}
if (isset($Ufu)) {
if (isset($UfuRewriteRules[$Ufu])) {
return $UfuRewriteRules[$Ufu];
} else {
$null = null;
return $null;
}
}
return $UfuRewriteRules;
}
示例3: AdminPagesClearCache
/**
* Очистка кэша страниц и меню
* @return void
*/
function AdminPagesClearCache()
{
System::cache()->Delete('block', array('menu1', 'menu2', 'menu3', 'menu4'));
System::cache()->Delete('tree', 'pages');
// Нестандартное дерево, используем апи при построении но не используем его при редактировании
}
示例4: AdminExtensionsUninstall
function AdminExtensionsUninstall()
{
global $db, $config, $user;
// Для старых модулей
$ext_type = $_GET['type'];
$folder = $_GET['name'];
if (isset($_GET['group'])) {
$group = $_GET['group'];
}
switch ($ext_type) {
case EXT_MODULE:
$mod_path = RealPath2(System::config('mod_dir') . $folder);
$info = ExtLoadInfo($mod_path);
if (isset($_POST['ok']) || isset($info['1.3'])) {
$uninstall = $mod_path . '/uninstall.php';
if (file_exists($uninstall)) {
$delete_tables = isset($_POST['delete_tables']);
// Могут быть использованы в uninstall.php
$delete_files = isset($_POST['delete_files']);
include $uninstall;
System::cache()->Clear('config');
if (isset($info['1.3'])) {
// Удаляем пункт меню
$folder = SafeEnv($folder, 255, str);
AdminMenuDeleteModule($folder);
}
}
Audit('Расширения: Удаление модуля "' . $folder . '"');
GO(ADMIN_FILE . '?exe=extensions#tabs-1');
} else {
$folder = SafeEnv($folder, 255, str);
System::database()->Select('modules', "`folder`='{$folder}'");
if (System::database()->NumRows() == 0) {
AddTextBox('Ошибка', 'Модуль не установлен.');
return;
}
$mod = System::database()->FetchRow();
$name = SafeDB($mod['name'], 255, str);
$text = '';
$text .= '<form method="post">';
$text .= '<div style="padding: 10px 0 10px 25px;">';
$text .= '<div style="padding-bottom: 10px">';
$text .= '<label><input type="checkbox" name="delete_tables"> Удалить таблицы БД</label><br>';
$text .= '<label><input type="checkbox" name="delete_files"> Удалить файлы модуля</label>';
$text .= '</div>';
$text .= System::admin()->Hidden('ok', '1');
$text .= '<div>' . System::admin()->Button('Отмена', 'onclick="history.go(-1)"') . System::admin()->Submit('Удалить') . '</div>';
$text .= '</div></form>';
AddTextBox('Удаление модуля "' . $name . '"', $text);
}
break;
case EXT_BLOCK:
$mod_path = RealPath2(System::config('blocks_dir') . $folder);
if (isset($_POST['ok'])) {
$uninstall = $mod_path . '/uninstall.php';
if (file_exists($uninstall)) {
$delete_tables = isset($_POST['delete_tables']);
$delete_files = isset($_POST['delete_files']);
include $uninstall;
System::cache()->Clear('config');
}
Audit('Удаление блока "' . $folder . '"');
GO(ADMIN_FILE . '?exe=extensions#tabs-2');
} else {
$folder = SafeEnv($folder, 255, str);
System::database()->Select('block_types', "`folder`='{$folder}'");
if (System::database()->NumRows() == 0) {
AddTextBox('Ошибка', 'Блок не установлен.');
return;
}
$mod = System::database()->FetchRow();
$name = SafeDB($mod['name'], 255, str);
$text = '';
$text .= '<form method="post">';
$text .= '<div style="padding: 10px 0 10px 25px;">';
$text .= '<div style="padding-bottom: 10px">';
$text .= '<label><input type="checkbox" name="delete_tables"> Удалить таблицы БД</label><br>';
$text .= '<label><input type="checkbox" name="delete_files"> Удалить файлы</label>';
$text .= '</div>';
$text .= System::admin()->Hidden('ok', '1');
$text .= '<div>' . System::admin()->Button('Отмена', 'onclick="history.go(-1)"') . System::admin()->Submit('Удалить') . '</div>';
$text .= '</div></form>';
AddTextBox('Удаление блока "' . $name . '"', $text);
}
break;
case EXT_PLUGIN:
if (isset($_GET['group'])) {
$group = $_GET['group'] . '/';
$groupenv = SafeEnv($_GET['group'], 255, str);
} else {
$group = '';
$groupenv = '';
}
$mod_path = RealPath2(System::config('plug_dir') . $group . $folder);
$info = ExtLoadInfo($mod_path);
if (isset($_POST['ok']) || isset($info['1.3'])) {
$uninstall = $mod_path . '/uninstall.php';
if (file_exists($uninstall)) {
$delete_tables = isset($_POST['delete_tables']);
$delete_files = isset($_POST['delete_files']);
//.........这里部分代码省略.........
示例5: header
<?php
/*
* LinkorCMS 1.4
* © 2012 LinkorCMS Development Group
*/
if (!defined('VALID_RUN')) {
header("HTTP/1.1 404 Not Found");
exit;
}
$bconf['count'] = SafeEnv($_POST['count'], 11, int);
$bconf['cats'] = SafeEnv($_POST['cats'], 11, int);
$block_config = serialize($bconf);
System::cache()->Delete('block', array('random_images1', 'random_images2', 'random_images3', 'random_images4'));
示例6: AdminsDeleteGroup
function AdminsDeleteGroup()
{
if (!isset($_GET['id'])) {
GO(ADMIN_FILE . '?exe=admins&a=groups');
exit;
}
$id = SafeEnv($_GET['id'], 11, int);
if (isset($_GET['ok']) && SafeEnv($_GET['ok'], 1, int) == '1') {
// Очищаем кэш
if (System::cache()->HasCache(system_cache, 'usertypes')) {
System::cache()->Delete(system_cache, 'usertypes');
}
System::database()->Select('users', "`access`='" . $id . "'");
$num_users = System::database()->NumRows();
System::database()->Select('usertypes', "`id`='{$id}'");
$group = System::database()->FetchRow();
if ($num_users > 0) {
if (!isset($_GET['users'])) {
$text = 'К этой группе принадлежат ' . $num_users . ' пользователей. Вы можете:<br />' . '<a href="' . ADMIN_FILE . '?exe=admins&a=delgroup&id=' . $id . '&ok=1&users=del">Удалить их...</a> <br />' . '<a href="' . ADMIN_FILE . '?exe=admins&a=delgroup&id=' . SafeEnv($_GET['id'], 11, int) . '&ok=1&users=move">Переместить их в другую группу.</a>';
AddTextBox('Внимание!', $text);
} else {
if ($_GET['users'] == 'del') {
System::database()->Delete('users', "`access`='" . $id . "'");
} elseif ($_GET['users'] == 'move' && !isset($_POST['to'])) {
$text = 'Выберите группу, в которую Вы желаете переместить пользователей:<br />' . '<form action="' . ADMIN_FILE . '?exe=admins&a=delgroup&id=' . $id . '&ok=1&users=move" method="post">';
System::database()->Select('usertypes', "`id`<>'" . $id . "'");
System::site()->DataAdd($group_data, '-1', 'Пользователи');
while ($tp = System::database()->FetchRow()) {
System::site()->DataAdd($group_data, $tp['id'], $tp['name']);
}
$text .= System::site()->Select('to', $group_data) . '<br />';
$text .= System::site()->Submit('Продолжить') . '<br />';
$text .= '</form>';
AddTextBox('Внимание!', $text);
return;
} elseif ($_GET['users'] == 'move' && isset($_POST['to'])) {
$to = SafeEnv($_POST['to'], 11, int);
if ($to == '-1') {
$set = "type='2',access='" . $to . "'";
} else {
$set = "access='" . $to . "'";
}
System::database()->Update('users', $set, "`access`='" . $id . "'");
}
}
}
System::database()->Delete('usertypes', "`id`='" . $id . "'");
Audit('Администраторы: Удаление группы администраторов "' . $group['name'] . '"');
GO(ADMIN_FILE . '?exe=admins&a=groups');
} else {
System::database()->Select('usertypes', "`id`='" . $id . "'");
$group = System::database()->FetchRow();
$text = 'Вы действительно хотите удалить группу "' . SafeDB($group['name'], 255, str) . '"?<br />' . '<a href="' . ADMIN_FILE . '?exe=admins&a=delgroup&id=' . $id . '&ok=1">Да</a> <a href="javascript:history.go(-1)">Нет</a>';
AddTextBox("Предупреждение", $text);
}
}
示例7: AdminGalleryMove
function AdminGalleryMove()
{
global $edit_images;
if (!$edit_images) {
System::admin()->AccessDenied();
}
$move = SafeEnv($_GET['to'], 4, str);
// up, down
$id = SafeEnv($_GET['id'], 11, int);
System::database()->Select('gallery', "`id`='{$id}'");
if (System::database()->NumRows() > 0) {
$img = System::database()->FetchRow();
$pid = SafeDB($img['cat_id'], 11, int);
$images = System::database()->Select('gallery', "`cat_id`='{$pid}'");
SortArray($images, 'order');
$c = count($images);
//Исходный индекс
$cur_order = 0;
for ($i = 0; $i < $c; $i++) {
$images[$i]['order'] = $i;
if ($images[$i]['id'] == $id) {
$cur_order = $i;
}
}
//Индекс перемещения
if ($move == 'up') {
$rep_order = $cur_order - 1;
} elseif ($move == 'down') {
$rep_order = $cur_order + 1;
} else {
$rep_order = $cur_order;
}
if ($rep_order < 0 || $rep_order >= $c) {
$rep_order = $cur_order;
}
$temp = intval($images[$cur_order]['order']);
$images[$cur_order]['order'] = intval($images[$rep_order]['order']);
$images[$rep_order]['order'] = intval($temp);
for ($i = 0; $i < $c; $i++) {
$order = $images[$i]['order'];
$id = $images[$i]['id'];
System::database()->Update('gallery', "`order`='{$order}'", "`id`='{$id}'");
}
Audit('Фотогалерея: Перемещение изображения "' . $img['title'] . '" (id: ' . $img['id'] . ')');
}
System::cache()->Delete('tree', 'gallery');
$cat = isset($_GET['cat']) ? '&cat=' . SafeEnv($_GET['cat'], 11, int) : '';
$page = isset($_GET['page']) ? '&page=' . SafeEnv($_GET['cat'], 11, int) : '';
GO(ADMIN_FILE . '?exe=gallery' . $cat . $page);
}
示例8: AdminUserDeleteRank
function AdminUserDeleteRank()
{
$rank_id = SafeEnv($_GET['id'], 11, int);
System::database()->Select('userranks', "`id`='{$rank_id}'");
$rank = System::database()->FetchRow();
System::database()->Delete('userranks', "`id`='{$rank_id}'");
System::cache()->Delete(system_cache, 'userranks');
Audit('Пользователи: Удаление ранга "' . $rank['title'] . '"');
GO(ADMIN_FILE . '?exe=user&a=ranks');
}
示例9: AdminMailDeleteTopic
function AdminMailDeleteTopic()
{
$id = SafeEnv($_GET['id'], 11, int);
System::database()->Select('mail_topics', "`id`='{$id}'");
$topic = System::database()->FetchRow();
System::database()->Delete('mail_topics', "`id`='{$id}'");
System::database()->Delete('mail_list', "`topic_id`='{$id}'");
System::database()->Delete('mail_history', "`topic_id`='{$id}'");
Audit('Рассылки: Удаление рассылки "' . $topic['title'] . '"');
System::cache()->Delete('block', 'mail');
GO(ADMIN_FILE . '?exe=mail');
}
示例10: header
header("HTTP/1.1 404 Not Found");
exit;
}
if (System::cache()->HasCache('block', 'mail')) {
$tempvars['content'] = 'block/content/mail.html';
$vars = System::cache()->Get('block', 'mail');
} else {
$topic_id = SafeDB($block_config, 11, int);
System::database()->Select('mail_topics', "`id`='{$topic_id}'");
if (System::database()->NumRows() > 0) {
$topic = System::database()->FetchRow();
$tempvars['content'] = 'block/content/mail.html';
$vars['title'] = $title;
$vars['form_action'] = Ufu('index.php?name=mail&op=subscribe', 'mail/{op}/');
$vars['topic_id'] = $topic['id'];
$vars['lmail_title'] = 'Подписаться на рассылку ';
$vars['mail_title'] = $topic['title'];
$vars['lemail'] = 'Ваш e-mail';
$vars['lsubmit'] = 'Подписаться';
$vars['lother'] = 'Другие рассылки';
$vars['lformat'] = 'Формат';
$vars['lhtml'] = 'HTML';
$vars['ltext'] = 'Текст';
System::cache()->Write('block', 'mail', $vars);
} elseif (System::user()->Auth && System::user()->isAdmin()) {
$vars['title'] = $title;
$vars['content'] = '<p align="center"><span style="color: #FF0000">Тема рассылки для блока не найдена. Пожалуйста выберите новую тему для блока.</span></p>';
} else {
$enabled = false;
}
}
示例11: elseif
} elseif ($page['type'] == 'link') {
$link = SafeDB($page['text'], 255, str);
if (substr($link, 0, 6) == 'mod://') {
$link = Ufu('index.php?name=' . substr($link, 6), 'system:mod');
}
}
$link = str_replace('&', '&', $link);
$item_vars = array('title' => $page['title'], 'link' => $link, 'selected' => false, 'subitems' => false);
if (isset($catsPid[$page['id']])) {
foreach ($catsPid[$page['id']] as $subpage) {
if ($subpage['type'] == 'page') {
$link = Ufu('index.php?name=pages&file=' . SafeDB($subpage['link'], 255, str), 'pages:page');
} elseif ($subpage['type'] == 'link') {
$link = SafeDB($subpage['text'], 255, str);
if (substr($link, 0, 6) == 'mod://') {
$link = Ufu('index.php?name=' . substr($link, 6), 'system:mod');
}
} else {
continue;
}
$link = str_replace('&', '&', $link);
$subitem_vars = array('title' => $subpage['title'], 'link' => $link, 'selected' => false);
$subitems['sub'][] = Starkyt::CreateSubBlock(true, $subitem_vars);
}
}
$item_vars['subitems'] = count($subitems['sub']) > 0;
$items['sub'][] = Starkyt::CreateSubBlock(true, $item_vars, array(), '', '', array('block_menu_subitems' => $subitems));
}
System::cache()->Write('block', $bcache_name, $items);
BlockMenuSelectItem($items, $uri);
$childs['block_menu_items'] = $items;
示例12: AddConfig
/**
* Добавляет новую настройку.
* @param string $Group Идентификатор группы настроек.
* @param string $Name Имя (для доступа из кода).
* @param string $Title Заголовок.
* @param string $Value Начальное значение.
* @param string $Description Описание.
* @param bool $Visible Видимая.
* @param string $KindControl Элемент управления для изменения значения.
* @param string $Type Тип данных (длина(255),тип(string - PHP Type),вырезать теги(true, false)).
* @param string $Values Заполнение значений для элементов выбора. (optval:title,optval:title) или функция (function:Callback), см. плагины форм.
* @param string $SaveHandler Имя функции вызываемой при сохранении параметра. См. плагины форм.
* @param bool $Autoload Загружать в $config.
* @param string $Table
* @param string $GroupsTable
*/
function AddConfig($Group, $Name, $Title, $Value, $Description = '', $Visible = false, $KindControl = '', $Type = '255,string,false', $Values = '', $SaveHandler = '', $Autoload = true, $Table = 'config', $GroupsTable = 'config_groups')
{
if (!is_numeric($Group)) {
$groups = GetConfigGroups($GroupsTable);
$Group = SafeEnv($groups[$Group]['id'], 11, int);
}
if ($Visible) {
$Visible = '1';
} else {
$Visible = '0';
}
if ($Autoload) {
$Autoload = '1';
} else {
$Autoload = '0';
}
$Name = SafeEnv($Name, 255, str);
$Value = SafeEnv($Value, 0, str);
$Title = SafeEnv($Title, 255, str);
$Description = SafeEnv($Description, 255, str);
$Values = SafeEnv($Values, 255, str);
System::database()->Insert($Table, "'','{$Group}','{$Name}','{$Value}','{$Visible}','{$Title}','{$Description}','{$KindControl}','{$Values}','{$SaveHandler}','{$Type}','{$Autoload}'");
System::cache()->Clear('config');
}
示例13: CalcCatCounter
/**
* Увеличивает индекс количества субкаталогов в каталоге
* используя параметры и указанные настройки класса
*
* @param int $id Идентификатор объекта
* @param int $inc Значение инкремента
* @return void
*/
public function CalcCatCounter($id, $inc)
{
$cat = System::database()->SelectOne($this->Table, "`" . $this->IdKey . "`='{$id}'");
if ($cat) {
if ($inc === true) {
$counter_val = $cat[$this->CatCounterKey] + 1;
} elseif ($inc === false) {
$counter_val = $cat[$this->CatCounterKey] - 1;
} else {
$counter_val = $cat[$this->CatCounterKey] + intval($inc);
}
System::database()->Update($this->Table, $this->CatCounterKey . "='{$counter_val}'", "`" . $this->IdKey . "`='{$id}'");
// Очищаем кеш
System::cache()->Delete('tree', $this->Table);
}
}
示例14: saveconf_Clear_Cache
function saveconf_Clear_Cache($Value)
{
System::cache()->ClearAll();
return $Value;
}
示例15: AdminCacheCleanup
function AdminCacheCleanup()
{
System::cache()->ClearAll();
Audit('Управление кэшем: Полная очистка кэша');
AdminCacheMain();
}