本文整理汇总了PHP中System::user方法的典型用法代码示例。如果您正苦于以下问题:PHP System::user方法的具体用法?PHP System::user怎么用?PHP System::user使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System
的用法示例。
在下文中一共展示了System::user方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: IndexForumEditTopic
function IndexForumEditTopic()
{
global $forum_lang;
if (!System::user()->Auth) {
System::site()->AddTextBox($forum_lang['forum'], '<p align="center">' . $forum_lang['error_auth'] . '</p>');
return;
}
$topic = SafeEnv($_GET['topic'], 11, int);
$post = System::database()->Select('forum_posts', "`object`='{$topic}' and `delete`='0'");
SortArray($post, 'id', false);
System::database()->Select('forum_topics', "`id`='{$topic}'");
$topic = System::database()->FetchRow();
if ($topic['delete'] == 0 || System::config('forum/basket') == false) {
$title = '';
if (SafeDB($topic['starter_id'], 11, str) == System::user()->Get('u_id') or System::user()->IsAdmin()) {
$title = SafeDB($topic['title'], 0, str);
}
if (System::user()->Get('u_id') == $post[0]['user_id'] || System::user()->isAdmin()) {
ForumRenderPostForm(true, 0, SafeEnv($_GET['topic'], 11, int), SafeDB($post[0]['id'], 11, int), SafeDB($post[0]['message'], 0, str, false, true), $title);
} else {
System::site()->AddTextBox($forum_lang['forum'], '<p align="center">' . $forum_lang['no_right_comment_edit'] . '</p>');
return;
}
} else {
System::site()->AddTextBox($forum_lang['topic_basket_current_post'], '<p align="center">' . $forum_lang['topic_basket_post'] . '<br><input type="button" value="' . $forum_lang['back'] . '"onclick="history.back();"></p>');
}
}
示例2: Process
/**
* Функция обновляет статус онлайн пользователя на форуме.
* Перед вызовом всех остальных функций, нужно вызвать Process вначале.
* @param type $cat
* @param type $topic
* @return type
*/
public function Process($cat = '0', $topic = '0')
{
if (!$this->online_process) {
$time = time();
$time2 = $time - $this->AliveStatusTime;
System::database()->Delete('forum_online', "`time` < {$time2}");
$user_ip = getip();
if (System::user()->Auth === true) {
$user_id = System::user()->Get('u_id');
} else {
$user_id = 0;
}
$user_name = System::user()->Get('u_name');
if (!$user_name) {
$user_name = '';
}
$user_level = System::user()->Get('u_level');
$where = "`user_ip`='{$user_ip}'";
System::database()->Select('forum_online', $where);
if (System::database()->NumRows() > 0) {
System::database()->Update('forum_online', "`time`='{$time}',`user_id`='{$user_id}',`user_name`='{$user_name}',`user_level`='{$user_level}',`user_ip`='{$user_ip}',`forum_cat`='{$cat}',`forum_topic`='{$topic}'", $where);
} else {
System::database()->Insert('forum_online', "'{$time}','{$user_id}','{$user_name}','{$user_level}','{$user_ip}','{$cat}','{$topic}'");
}
$this->online_process = true;
}
}
示例3: IndexForumLogin
function IndexForumLogin()
{
if (!System::user()->Auth) {
System::site()->Login('');
System::user()->Def('forum_referrer', $_SERVER['HTTP_REFERER']);
} else {
GO(System::user()->Get('forum_referrer'), 202);
}
}
示例4: HistoryGetUrl
function HistoryGetUrl($BackSteps)
{
$history = System::user()->Get('HISTORY');
if (isset($history[10 - $BackSteps])) {
return $history[10 - $BackSteps];
} else {
return '';
}
}
示例5: IndexForumMarkRead
function IndexForumMarkRead()
{
$mark_forums = array();
// Форумы на которых устанавливать метки
$forums_tree = ForumTree::Instance();
if (isset($_GET['forum'])) {
// Только внутри определённого форума
$forum = SafeDB($_GET['forum'], 11, int);
$mark_forums = $forums_tree->GetAllAccessForumId($forum);
} else {
// На всех форумах
$mark_forums = $forums_tree->GetAllAccessForumId();
}
$user_id = System::user()->Get('u_id');
if (System::user()->Auth) {
// Загружаем данные о прочтении тем пользователем
$read_data = Forum_Marker_GetReadData();
// Загружаем топики (агрегированы по forum_id)
$topics = ForumCacheGetTopics();
$del_where = '';
$insert_values = array();
$time = time();
foreach ($mark_forums as $forum_id) {
if (!isset($topics[$forum_id])) {
continue;
}
foreach ($topics[$forum_id] as $topic) {
$tid = SafeEnv($topic['id'], 11, int);
// Не прочитана или метка устарела
if (!isset($read_data[$topic['id']])) {
$insert_values[] = "'{$user_id}','{$tid}','{$time}'";
// Добавить новую метку
} elseif ($read_data[$topic['id']]['date'] < $topic['last_post']) {
$del_where .= "(`tid`='{$tid}' and `mid`= '{$user_id}') or ";
// Удалить текущую метку
$insert_values[] = "'{$user_id}','{$tid}','{$time}'";
// Добавить новую метку
}
}
}
// Удаляем устаревшие метки
if ($del_where != '') {
$del_where = substr($del_where, 0, -4);
// Удаляем .or.
System::database()->Delete('forum_topics_read', $del_where);
}
// Добавляем новые метки
// TODO: В будущем нужно перейти на InnoDB и использовать транзакции как в MySQL так и в FilesDB.
if (count($insert_values) > 0) {
foreach ($insert_values as $vals) {
System::database()->Insert('forum_topics_read', $vals);
}
}
}
GO(GetSiteUrl() . Ufu('index.php?name=forum' . (isset($forum) ? '&op=showforum&forum=' . $forum : ''), 'forum/' . (isset($forum) ? '{forum}/' : '')));
}
示例6: init
/**
* Initialises the system
* @static
*/
public static function init()
{
self::redirectHTTPS();
Router::getInstance()->init(HOST_PATH, MOD_REWRITE);
self::$database = new Database('mysql:dbname=' . DATABASE_NAME . ';host=' . DATABASE_HOST, DATABASE_USER, DATABASE_PASS);
self::$session = new Session();
self::$user = System::getSession()->getUID() != NULL ? User::find('_id', System::getSession()->getUID()) : NULL;
self::$language = new L10N(System::getUser() != NULL ? System::getUser()->lang : LANGUAGE);
self::buildNavigation();
}
示例7: Audit
/**
* Добавляет новую запись в лог действий администраторов.
* @param $Action
* @return bool
*/
function Audit($Action)
{
if (System::user()->Auth == false) {
return false;
}
$user_ip = getip();
$user_id = System::user()->Get('u_id');
$date = time();
$Action = SafeEnv($Action, 255, str);
System::database()->Insert('audit', Values('', $user_id, $date, $Action, $user_ip));
return true;
}
示例8: IndexForumRestoreBasketTopic
function IndexForumRestoreBasketTopic($topic_id = 0, $go_back = true)
{
global $forum_lang;
if (!System::user()->isAdmin()) {
HackOff();
return;
}
$topic = System::database()->Select('forum_topics', "`id`='{$topic_id}' and `delete`='1'");
if (count($topic) > 0) {
$topic = $topic[0];
$forum_id = SafeEnv($topic['forum_id'], 11, int);
// Восстанавливаем количество сообщений и тем для форума
System::database()->Select('forums', "`id`='{$forum_id}'");
if (System::database()->NumRows() == 0) {
// Форум не найден
System::site()->AddTextBox($forum_lang['error'], $forum_lang['error_no_forum']);
return;
}
$forum = System::database()->FetchRow();
$forum_topics = SafeEnv($forum['topics'], 11, int) + 1;
if ($forum_topics < 0) {
$forum_topics = 0;
}
$forum_posts = SafeEnv($forum['posts'], 11, int) + SafeEnv($topic['posts'], 11, int);
if ($forum_posts < 0) {
$forum_posts = 0;
}
$forum_set = "`topics`='{$forum_topics}',`posts`='{$forum_posts}'";
System::database()->Update('forums', $forum_set, "`id`='{$forum_id}'");
// Восстанавливаем тему
System::database()->Update('forum_topics', "`delete`='0'", "`id`='{$topic_id}'");
// Удаляем метку в корзине
System::database()->Delete('forum_basket_topics', "`obj_id`='{$topic_id}'");
// Устанавливаем инф-ю о последнем сообщении для темы и форума
ForumSetLastPost($topic_id);
ForumSetLastTopic($forum_id);
// Очищаем кэш форума
ForumCacheClear();
if ($go_back) {
if (isset($_GET['back'])) {
GoRefererUrl($_GET['back']);
} else {
GoBack();
}
}
} else {
System::site()->AddTextBox($forum_lang['error'], $forum_lang['error_no_topic']);
return;
}
}
示例9: IndexForumCloseTopic
function IndexForumCloseTopic()
{
if (!System::user()->isAdmin()) {
HackOff();
return;
}
if (CheckGet('topic')) {
$topic_id = SafeEnv($_GET['topic'], 11, int);
} else {
System::site()->AddTextBox($forum_lang['error'], $forum_lang['error_data']);
return;
}
System::database()->Select('forum_topics', "`id`='{$topic_id}'");
$topic = System::database()->FetchRow();
$forum_id = SafeDB($topic['forum_id'], 11, int);
System::database()->Update('forum_topics', "`close_topics`='1'", "`id`='{$topic_id}'");
GO(Ufu('index.php?name=forum&op=showforum&forum=' . $forum_id, 'forum/{forum}/'));
}
示例10: IndexForumEditPosts
function IndexForumEditPosts()
{
global $forum_lang;
if (!System::user()->isAdmin()) {
System::site()->AddTextBox($forum_lang['forum'], '<p align="center">' . $forum_lang['error_no_right_edit'] . '.</p>');
return;
}
if (!isset($_POST['posts'])) {
System::site()->AddTextBox($forum_lang['forum'], '<p align="center">' . $forum_lang['error_no_messages'] . '</p><br><a href="javascript:history.go(-1)">' . System::site()->Button($forum_lang['back']) . '</a>');
return;
}
if (isset($_GET['ok']) && $_GET['ok'] == '1') {
$posts_ids = SafeEnv(explode(',', $_POST['posts']), 11, int);
$moderation_result = ForumModerationPosts($_GET['edit'], $posts_ids, true);
if ($moderation_result) {
if (isset($_GET['back'])) {
GoRefererUrl($_GET['back']);
} else {
GO($_POST['backurl']);
}
}
} else {
$posts_ids = array();
foreach (array_keys($_POST['posts']) as $post_id) {
$posts_ids[] = SafeEnv($post_id, 11, int);
}
$do = SafeDB($_POST['do'], 255, str);
$form_url = 'index.php?name=forum&op=edit_posts&edit=' . $do . '&ok=1';
if (isset($_GET['back'])) {
$form_url .= '&back=' . SafeDB($_GET['back'], 10, str);
}
$vars['lang_premoderation'] = $forum_lang['moderation_messages'];
$vars['posts_count'] = count($posts_ids);
$vars['form_action'] = $form_url;
$vars['form_name'] = 'forum_delete';
$vars['posts'] = implode(',', $posts_ids);
$vars['backurl'] = $_SERVER['HTTP_REFERER'];
$vars['reason'] = System::config('forum/basket') && $do == 'deleteposts';
$vars['lang_do'] = ForumModerationPosts($do, $posts_ids, false);
System::site()->AddTemplatedBox($vars['lang_do'], 'module/forum_moderation.html');
System::site()->AddBlock('forum_moderation', true, false, 'mod');
System::site()->SetVars('forum_moderation', $vars);
}
}
示例11: UrlRender
function UrlRender($url)
{
static $out = null;
if (!isset($out)) {
$out = System::config('general/specialoutlinks');
if ($out == 0) {
$out = false;
} elseif ($out == 1) {
$out = true;
} elseif ($out == 2 && !System::user()->Auth) {
$out = true;
} else {
$out = false;
}
}
if ($out && !IsMainHost($url)) {
return 'index.php?name=plugins&p=out&url=' . urlencode(Url($url));
} else {
return 'http://' . Url($url);
}
}
示例12: IndexForumEditTopics
function IndexForumEditTopics()
{
global $forum_lang;
if (!System::user()->isAdmin()) {
System::site()->AddTextBox($forum_lang['forum'], '<p align="center">' . $forum_lang['error_no_right_edit'] . '.</p>');
return;
}
if (!isset($_POST['topics'])) {
System::site()->AddTextBox($forum_lang['forum'], '<p align="center">' . $forum_lang['error_no_topics'] . '</p><br><a href="javascript:history.go(-1)">' . System::site()->Button('Назад') . '</a>');
return;
}
if (isset($_GET['ok']) && $_GET['ok'] == '1') {
$topics_ids = SafeEnv(explode(',', $_POST['topics']), 11, int);
$back_url = $_POST['backurl'];
if (isset($_GET['back'])) {
$back_url = GetRefererUrl($_GET['back']);
}
$moderation_result = ForumModerationTopics($_GET['edit'], $topics_ids, true);
if ($moderation_result !== false) {
$text = $moderation_result . '<br><br><b><a href="' . $back_url . '">' . $forum_lang['return_read'] . '</a></b>';
System::site()->AddTextBox($forum_lang['executed'], $text);
}
} else {
$topics_ids = array();
foreach (array_keys($_POST['topics']) as $topic_id) {
$topics_ids[] = SafeEnv($topic_id, 11, int);
}
$form_url = 'index.php?name=forum&op=edit_topics&edit=' . SafeDB($_POST['do'], 255, str) . '&ok=1';
if (isset($_GET['back'])) {
$form_url .= '&back=' . SafeDB($_GET['back'], 10, str);
}
$moderation_content = ForumModerationTopics($_POST['do'], $topics_ids, false);
if ($moderation_content !== false) {
$text = System::site()->FormOpen($form_url) . System::site()->Hidden('topics', implode(',', $topics_ids)) . System::site()->Hidden('backurl', $_SERVER['HTTP_REFERER']) . $moderation_content . System::site()->Button($forum_lang['back'], 'onclick="history.go(-1);"') . System::site()->Submit($forum_lang['execute']);
System::site()->AddTextBox('Модерация тем', $text);
}
}
}
示例13: floor
$frsy = $sy - floor($sy);
$frsx1 = 1 - $frsx;
$frsy1 = 1 - $frsy;
// вычисление цвета нового пикселя как пропорции от цвета основного пикселя и его соседей
$newcolor = floor($color * $frsx1 * $frsy1 + $color_x * $frsx * $frsy1 + $color_y * $frsx1 * $frsy + $color_xy * $frsx * $frsy);
}
imagesetpixel($result_MultiWave->gd, $x, $y, imagecolorallocate($result_MultiWave->gd, $newcolor, $newcolor, $newcolor));
}
}
// Сглаживание
if (function_exists('imageconvolution')) {
$matrix = array(array(1, 2, 1), array(2, 4, 2), array(1, 2, 1));
imageconvolution($result_MultiWave->gd, $matrix, 16, 0);
}
// Добавляем рамку
//if($border > 0){
// imagerectangle($result_MultiWave->gd, 0, 0, $result_MultiWave->Width-1, $result_MultiWave->Height-1, $border_color);
//}
// -----------------------------------------------------------------------
header('Expires: Mon, 1 Jan 2006 00:00:00 GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', FALSE);
header('Pragma: no-cache');
$result_MultiWave->SendToHTTPClient();
$captcha->Destruct();
$result_image->Destruct();
$result_MultiWave->Destruct();
System::user()->Def('captcha_keystring', $code);
// Восстанавливаем Referer
System::user()->Def('REFERER', $_SERVER['HTTP_REFERER']);
exit;
示例14: IndexForumMain
/**
* Главная страница форума, список форумов в категории или подфорумов в форуме.
* @param int $cat_id Идентификатор просматриваемого каталога
* @global type $forum_lang
* @return type
*/
function IndexForumMain($cat_id = null, &$topics_data = null)
{
global $forum_lang;
$forums_tree = ForumTree::Instance();
if (isset($cat_id)) {
$parent = $forums_tree->IdCats[$cat_id]['parent_id'];
// Чтобы сделать просмотр категории нужно её выводить как подкатегорию родительской категории
$cat = $parent == 0;
// Просмотр категории или главной страницы форума
$main = false;
// Не главная страница (просмотр категории или форума)
} else {
$cat = true;
// Однозначно просматриваем категрию или главную страницу форума (выводим блоки онлайн и статистики)
$cat_id = 0;
$parent = 0;
// Корневой раздел в качестве родительской категории
$main = true;
// Главная страница
}
// Нет категорий, выводим сообщение
if (!isset($forums_tree->Cats[$parent]) && $cat) {
System::site()->AddTextBox($forum_lang['forum'], $forum_lang['no_category']);
return;
}
if ($cat) {
// Выводим категорию или главная страница форума (без топиков)
// Устанавливаем заголовок страницы
if (!$main) {
System::site()->SetTitle(SafeDB($forums_tree->IdCats[$cat_id]['title'], 255, str) . ' - ' . $forum_lang['forum']);
}
// Объекты статистини и онлайн
$statistics = ForumStatistics::Instance();
$online = ForumOnline::Instance($cat_id, '0', true);
// Инициализируем статистику
$statistics->Initialize($forum_lang['statistics']);
// Загружаем информацию по топикам в $topics_data и считаем статистику (кэшировать статистику)
$topics_data = ForumCacheGetTopics();
// Запрашиваем данные тем (агрегированы по форумам)
$resolve_cats = array_keys($topics_data);
foreach ($resolve_cats as $resolve_cat) {
if (!isset($topics_data[$resolve_cat])) {
continue;
}
foreach ($topics_data[$resolve_cat] as $topic) {
$statistics->hits += $topic['hits'];
$statistics->AddTopicAuthor($topic['starter_id'], $topic['starter_name']);
}
}
// Подсчитываем количество тем и постов
$counters = $forums_tree->GetCountersRecursive($cat_id);
$statistics->topics_count = $counters['files'];
$statistics->reply_count = $counters['cats'];
// Выводим хлебные крошки
$forums_tree->BreadCrumbsF($cat_id);
System::site()->BreadCrumbsLastUrl = true;
// Ссылки, Отметить все как прочитанные и показать все не прочитанные темы.
System::site()->AddBlock('is_forum_member', AccessIsResolved(2), false, 'mark');
$vars_is_forum_member = array();
$vars_is_forum_member['url'] = '<a href="' . Ufu('index.php?name=forum&op=markread', 'forum/markread/') . '">' . $forum_lang['mark_all_read'] . '</a>';
$vars_is_forum_member['viewnoreadurl'] = '<a href="' . Ufu('index.php?name=forum&op=viewnoread', 'forum/viewnoread/') . '">' . $forum_lang['viewnoread'] . '</a>';
System::site()->Blocks['is_forum_member']['vars'] = $vars_is_forum_member;
// Последние темы форума
System::site()->AddBlock('old', true, false, 'mark');
$vars_old = array();
$vars_old['lasttopics'] = '<a href="' . Ufu('index.php?name=forum&op=lasttopics', 'forum/lasttopics/') . '">' . $forum_lang['lasttopics'] . '</a>';
System::site()->Blocks['old']['vars'] = $vars_old;
}
// Загружаем данные о прочтении тем
$read_data = Forum_Marker_GetReadData();
$auth = System::user()->Auth;
// Блоки форума
System::site()->AddBlock('forums', true, true, 'forum');
System::site()->AddBlock('is_no_sub_forum', $cat, false);
// Блок со статистикой и онлайн (отключается в категории)
$visable_cats = false;
// Выведена хотябы одна категория с форумом - если нет то показываем ошибку
foreach ($forums_tree->Cats[$parent] as $category) {
// Категории
if (!$main && ($category['id'] != $cat_id || !isset($forums_tree->Cats[$category['id']]))) {
// Если просматриваем только одну категорию
continue;
}
// Рекурсивно определяем настройки
$forum_config = $forums_tree->GetForumConfigRecursive($category['id']);
// Нет доступа или форум не виден или отключён
if (!$forum_config['access']) {
continue;
}
$visable_cats = true;
$category = IndexForumDataFilter($category, $forum_config);
// Выводим категорию
IndexForumCatOpen($category);
IndexForumRender($category);
//.........这里部分代码省略.........
示例15: header
<?php
/*
* LinkorCMS 1.4
* © 2012 LinkorCMS Development Group
*/
if (!defined('VALID_RUN')) {
header("HTTP/1.1 404 Not Found");
exit;
}
System::admin()->AddSubTitle('Блоки');
if (!System::user()->CheckAccess2('blocks', 'blocks')) {
System::admin()->AccessDenied();
}
/**
* Возвращает имена шаблонов блоков, которые имеет текущий шаблон сайта
* @return Array
*/
function GetBlockTemplates()
{
$TemplateDir = System::config('tpl_dir') . System::config('general/site_template') . '/block/';
return GetFiles($TemplateDir, false, true, '.html.htm.tpl', true);
}
if (isset($_GET['a'])) {
$action = $_GET['a'];
} else {
$action = 'main';
}
switch ($action) {
case 'main':
// SideBar