本文整理汇总了PHP中Ufu函数的典型用法代码示例。如果您正苦于以下问题:PHP Ufu函数的具体用法?PHP Ufu怎么用?PHP Ufu使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Ufu函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: HackOff
/**
* Вызывается при запросе несуществующей
* страницы или ошибки и использования спецсимволов в параметрах
* @param bool $LowProtect
* @param bool $Redirect
* @return void
*/
function HackOff($LowProtect = false, $Redirect = true)
{
global $config;
if (System::user()->isAdmin() || $LowProtect) {
if (defined('MAIN_SCRIPT') || defined('PLUG_SCRIPT') || !defined('ADMIN_SCRIPT')) {
if ($Redirect) {
GO(Ufu('index.php'));
}
} elseif (defined('ADMIN_SCRIPT')) {
GO(ADMIN_FILE);
}
} else {
if (System::config('security/hack_event') == 'alert') {
die(System::config('security/hack_alert'));
} elseif (System::config('security/hack_event') == 'ban') {
die('Вам был запрещен доступ к сайту, возможно система обнаружила подозрительные
действия с Вашей стороны. Если Вы считаете, что это произошло по ошибке, - обратитесь
в службу поддержки по e-mail ' . System::config('general/site_email') . '.');
} else {
if ($Redirect) {
GO(Ufu('index.php'));
}
}
}
}
示例2: GoBack
function GoBack($exit = true, $response_code = 303)
{
if (isset($_SERVER['HTTP_REFERER'])) {
return GO($_SERVER['HTTP_REFERER'], $exit, $response_code);
} else {
return GO(Ufu('index.php'), $exit, $response_code);
}
}
示例3: ___SitemapPluginForum
function ___SitemapPluginForum($Forum, $Level, $i, $c)
{
global $forums_tree;
$forum_config = $forums_tree->GetForumConfigRecursive($Forum['id'], ACCESS_ALL);
if (!$forum_config['access']) {
return false;
}
SitemapAddObject($Level, $Forum['title'], Ufu('index.php?name=forum&op=showforum&forum=' . SafeDB($Forum['id'], 11, int), 'forum/{forum}/'));
}
示例4: 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}/' : '')));
}
示例5: BreadCrumbsF
/**
* Выводит путь в хлебных крошках в категории форума.
* @param type $CatId Текущая открытая категория.
*/
public function BreadCrumbsF($CatId)
{
if ($CatId == 0) {
return;
}
$parents = $this->GetAllParent($CatId);
foreach ($parents as $parent) {
$link = Ufu('index.php?name=' . $this->moduleName . '&op=showforum&forum=' . SafeDB($parent['id'], 11, int), $this->moduleName . '/{forum}/');
System::site()->BreadCrumbAdd(SafeDB($parent['title'], 255, str), $link);
}
}
示例6: IndexForumSubscription
function IndexForumSubscription()
{
global $forum_lang;
$forums_tree = ForumTree::Instance();
// Проверки на доступ
if (CheckGet('topic')) {
// Тема
$topic_id = SafeEnv($_GET['topic'], 11, int);
System::database()->Select('forum_topics', "`id`='{$topic_id}'");
if (System::database()->NumRows() > 0) {
$topic = System::database()->FetchRow();
} else {
System::site()->AddTextBox($forum_lang['error'], $forum_lang['error_access_category']);
return;
}
if ($topic['delete'] == '1') {
// Тема на удалении
System::site()->AddTextBox($forum_lang['error'], $forum_lang['topic_basket'] . '.' . $forum_lang['no_topic_basket_edit']);
return;
}
if ($topic['close_topics'] == '1') {
// Тема закрыта
System::site()->AddTextBox($forum_lang['error'], $forum_lang['topic_close_for_discussion'] . '.' . $forum_lang['no_create_new_message_current_topic_add']);
return;
}
// Форум
$forum_id = SafeEnv($topic['forum_id'], 11, int);
if (!isset($forums_tree->IdCats[$forum_id])) {
System::site()->AddTextBox($forum_lang['error'], $forum_lang['error_data']);
return;
}
$forum_config = $forums_tree->GetForumConfigRecursive($forum_id);
if (!$forum_config['access']) {
// Доступ
System::site()->AddTextBox($forum_lang['error'], $forum_config['access_reason']);
return;
} elseif (!$forum_config['new_message_email']) {
// Разрешено ли подписываться на новые сообщения (+ защита от гостей)
System::site()->AddTextBox($forum_lang['error'], $forum_config['add_post_reason']);
return;
}
} else {
System::site()->AddTextBox($forum_lang['error'], $forum_lang['error_data']);
return;
}
Forum_Subscription($topic_id);
// Подписка (обратное действие, если пользователь уже подписан)
GO(Ufu('index.php?name=forum&op=showtopic&topic=' . $topic_id . '&view=lastpost', 'forum/topic{topic}-new.html'));
}
示例7: 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}/'));
}
示例8: ShowCats
/**
* Выводит дерево в html-коде для отображения в админ-панели
* @param int $ParentId
* @return bool|string
*/
public function ShowCats($ParentId = 0)
{
UseScript('jquery_ui_treeview');
if ($ParentId == 0 && isset($_GET['_cat_parent'])) {
$ParentId = SafeEnv($_GET['_cat_parent'], 11, int);
}
$elements = array();
if ($ParentId == 0 && !isset($this->Cats[$ParentId])) {
return 'Нет категорий';
}
foreach ($this->Cats[$ParentId] as $cat) {
$id = SafeDB($cat['id'], 11, int);
$icon = trim(SafeDB($cat['icon'], 255, str));
$info = '';
if ($icon != '') {
$info .= '<img src="' . $icon . '">';
}
if ($this->index_id_par_name != '') {
$link_go = Ufu('index.php?name=' . $this->module . '&' . $this->index_id_par_name . '=' . $id, $this->module . '/{' . $this->index_id_par_name . '}/');
$info .= ($icon != '' ? '<br>' : '') . '<b>Адрес</b>: <a href="' . $link_go . '" target="_blank">/' . $link_go . '</a>';
}
$icon = 'images/folder.png';
$add_cat_link = ADMIN_FILE . '?exe=' . $this->module . '&' . $this->action_par_name . '=' . $this->edit_met . '&_cat_adto=' . $id;
$edit_cat_link = ADMIN_FILE . '?exe=' . $this->module . '&' . $this->action_par_name . '=' . $this->edit_met . '&' . $this->id_par_name . '=' . $id;
$func = '';
$func .= System::admin()->SpeedButton('Добавить дочернюю категорию', $add_cat_link, 'images/admin/folder_add.png');
$func .= System::admin()->SpeedButton('Редактировать', $edit_cat_link, 'images/admin/edit.png');
$func .= System::admin()->SpeedConfirmJs('Удалить категорию', '$(\'#cats_tree_container\').treeview(\'deleteNode\', ' . $id . ');', 'images/admin/delete.png', 'Уверены что хотите удалить? Все дочерние объекты так-же будут удалены.');
$obj_counts = $this->GetCountersRecursive($id);
$elements[] = array('id' => $id, 'icon' => $icon, 'title' => '<b>' . System::admin()->Link(SafeDB($cat['title'], 255, str) . ' (' . $obj_counts['files'] . ')', $edit_cat_link) . '</b>', 'info' => $info, 'func' => $func, 'isnode' => isset($this->Cats[$id]), 'child_url' => ADMIN_FILE . '?exe=' . $this->module . '&' . $this->action_par_name . '=' . $this->showcats_met . '&_cat_parent=' . $id);
}
if ($ParentId == 0) {
System::admin()->AddOnLoadJS('$("#cats_tree_container").treeview({del: \'' . ADMIN_FILE . '?exe=' . $this->module . '&' . $this->action_par_name . '=' . $this->del_met . '&ok=1\', delRequestType: \'GET\', tree: ' . JsonEncode($elements) . '});');
return '<div id="cats_tree_container"></div>';
} else {
echo JsonEncode($elements);
exit;
}
}
示例9: ActiveTopicAuthors
public function ActiveTopicAuthors()
{
$this->topic_authors_count = count(array_unique($this->_author_count));
$this->active_topic_authors = ' ';
if (count($this->_author_name) > 0) {
SortArray($this->_author_name, 'count', true);
$i = 0;
foreach ($this->_author_name as $author) {
$i++;
$author_link = Ufu('index.php?name=user&op=userinfo&user=' . $author['id'], 'user/{user}/info/');
$usertopics_link = Ufu('index.php?name=forum&op=usertopics&user=' . $author['id'], 'forum/usertopics/{user}/');
$this->active_topic_authors .= '<a href="' . $author_link . '">' . $author['name'] . '</a> <font size="1">[<a href="' . $usertopics_link . '">' . $author['count'] . '</a>]</font>';
if ($i == 20 || count($this->_author_name) == $i) {
$this->active_topic_authors .= '.';
} else {
$this->active_topic_authors .= ', ';
}
if ($i == 20) {
break;
}
}
}
return $this->active_topic_authors;
}
示例10: ___SitemapPluginArticles
function ___SitemapPluginArticles($Cat, $Level)
{
SitemapAddObject($Level, $Cat['title'], Ufu('index.php?name=articles&cat=' . SafeDB($Cat['id'], 11, int), 'articles/{cat}'));
}
示例11: define
/*
* LinkorCMS 1.4
* © 2012 LinkorCMS Development Group
*/
define('RSS_SCRIPT', true);
define('VALID_RUN', true);
require 'config/init.php';
// Конфигурация и инициализация
@header("Content-Type: text/xml");
@header("Cache-Control: no-cache");
@header("Pragma: no-cache");
$rss_title = 'Новости на ' . System::config('general/site_url');
$rss_link = System::config('general/site_url');
$rss_description = 'RSS канал сайта ' . System::config('general/site_url') . '.';
$rss = new RssChannel($rss_title, $rss_link, $rss_description);
$rss->pubDate = gmdate('D, d M Y H:i:s') . ' GMT';
$rss->generator = CMS_NAME . ' ' . CMS_VERSION;
$rss->managingEditor = 'support@linkorcms.ru';
$rss->webMaster = System::config('general/site_email');
$num = 10;
// Пока максимум 10 заголовков по умолчанию
$news = System::database()->Select('news', "`enabled`='1'", $num, 'date', true);
foreach ($news as $s) {
$title = SafeDB($s['title'], 255, str);
$description = SafeDB($s['start_text'], 4048, str);
$link = HtmlChars(GetSiteUrl() . Ufu('index.php?name=news&op=readfull&news=' . $s['id'] . '&topic=' . $s['topic_id'], 'news/{topic}/{news}/'));
$pubDate = gmdate('D, d M Y H:i:s', $s['date']) . ' GMT';
$rss->AddItem($title, $description, $link, $pubDate, $link);
}
echo $rss->Generate();
示例12: header
<?php
/*
* LinkorCMS 1.4
* © 2012 LinkorCMS Development Group
*/
// Ѕлок пользовател¤
if (!defined('VALID_RUN')) {
header("HTTP/1.1 404 Not Found");
exit;
}
$info = System::user()->Online();
$vars['title'] = $title;
$tempvars['content'] = 'block/content/online.html';
System::site()->AddBlock('block_online', true, false, 'online');
$block_vars['num_admins'] = count($info['admins']);
$block_vars['num_members'] = count($info['members']);
$block_vars['num_guests'] = count($info['guests']);
$block_vars['num_online'] = count($info['admins']) + count($info['members']) + count($info['guests']);
$block_vars['show_uselist'] = true;
$block_vars['userlist_link'] = Ufu('index.php?name=user', '{name}/');
System::site()->Blocks['block_online']['vars'] = $block_vars;
示例13: 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);
//.........这里部分代码省略.........
示例14: header
*/
/*
* Плагин вывода карты страниц
* Автор: Мартин
*/
if (!defined('VALID_RUN')) {
header("HTTP/1.1 404 Not Found");
exit;
}
global $pages, $pages_tree;
$pages = array();
$pages_db = System::database()->Select('pages', "`enabled` = '1' and `view` = '4'", null, 'order');
foreach ($pages_db as $p) {
$link = false;
if ($p['type'] == 'page') {
$link = Ufu('index.php?name=pages&file=' . SafeDB($p['link'], 255, str), 'pages:page');
}
// elseif($p['type'] == 'link'){
// $link = SafeDB($p['text'], 255, str);
// if(substr($link, 0, 6) == 'mod://'){
// $link = Ufu('index.php?name='.substr($link, 6), '{name}/');
// }
// }
$p['link'] = $link;
$pages[] = $p;
}
function ___SitemapPagesPlugin($Page, $Level)
{
global $pages_tree;
if ($Page['type'] != 'page') {
$child_ids = $pages_tree->GetAllChildId($Page['id']);
示例15: UserSendForgotPassword
/**
* Отправка письма с новым паролем
* @param $user_mail
* @param $name
* @param $login
* @param $pass
* @return void
*/
function UserSendForgotPassword($user_mail, $name, $login, $pass)
{
$ip = getip();
$text = Indent('
Здравствуйте, [' . $name . ']!
На сайте ' . GetSiteDomain() . '
было запрошено напоминание пароля.
Имя: ' . $name . '
Ваш логин и новый пароль:
логин: ' . $login . '
пароль: ' . $pass . '
Изменить данные аккаунта вы можете по адресу:
' . GetSiteUrl() . Ufu('index.php?name=user&op=editprofile', 'user/{op}/') . '
IP-адрес, с которого был запрошен пароль: ' . $ip . '
С уважением, администрация сайта ' . GetSiteDomain() . '.
');
SendMail($name, $user_mail, '[' . GetSiteDomain() . '] Напоминание пароля', $text);
}