Сегодня: 16:12:2025 Доброго вам вечера!

I live ExBB and CMS Limbo!  I live ExBB and CMS Limbo!
Логин :
Пароль :
Регистрация?  Забыли пароль? 
 


 Страниц (1): [1]   

> Описание: Не везде скрыты, обычные пользователи видят названия этих разделов

  Супермодератор
Отправлено: 9 апреля 2017 — 13:09
Post Id


 Покинул NordWest
Профессионал
Сообщений: 1842
Регистрация: 12.2011

Пытаюсь решить проблему такого плана.
В нескольких местах форум выдает ссылки на скрытые разделы пользователям, которые этой инфы видеть не должны.

В профиле...


На главной...
 
 Top

  Супермодератор
Отправлено: 12 апреля 2017 — 14:53
Post Id


 Покинул NordWest
Профессионал
Сообщений: 1842
Регистрация: 12.2011

Инструкция для дистрибутива ExBB_FM_1.0_Final
Устраняет проблемы с видимостью некоторых ссылок на скрытые форумы.


Открываем файл index.php
в котором ищем строку
code:
$LastPosterName = ($forum['last_poster_id'] !== 0) ? $fm->LANG['Author'].': <a href="profile.php?action=show&member='.$forum['last_poster_id'].'">'.$forum['last_poster'].'</a>' : $fm->LANG['Author'].': '.$fm->LANG['Guest'];

после которой вставляем
code:
if (!isset($allforums[$id])) // если последние изменения пришлись на скрытый подфорум - формируем новые данные
{
$ftopics = $fm->_Read('forum'.$id.'/list.php');
usort($ftopics,"sort_by_postdate");
$topic = $ftopics[0];
$thread_keys = array_keys($fm->_Read('data/forum'.$forum['id'].'/'.$topic['id'].'-thd.php'));
$lt_name = (strlen($topic['name'])>36) ? substr($topic['name'],0,35).'...' : $topic['name'];
$LastTopicName = '<img src="./templates/'.DEF_SKIN.'/im/lastpost.gif"><span'.($fm->exbb['show_hints'] ? '<span class="hint">' : '').'><a href="topic.php?forum='.$topic['fid'].'&topic='.$topic['id'].'&v=l#'.end($thread_keys).'" title="'.$topic['name'].'">'.$lt_name.'</a></span>';
$LastPosterName = ($topic['a_id'] !== 0) ? $fm->LANG['Author'].': <a href="profile.php?action=show&member='.$topic['a_id'].'">'.$topic['author'].'</a>' : $fm->LANG['Author'].': '.$fm->LANG['Guest'];
$LastTopicDate = ($topic['postdate'] > 0) ? date("d.m.Y - H:i", $topic['postdate'] + $fm->user['timedif']*3600) : $fm->LANG['NA'];
}


Далее открываем файл profile.php
в котором ищем строку
code:
$allforums = $fm->_Read(FM_ALLFORUMS);

которую заменяем на строку
code:
$allforums = array_filter($fm->_Read(FM_ALLFORUMS),"Filter_Cat");


затем далее в этом же файле ищем код
code:
if (isset($user['lastpost']['date'])) {
$postdate = $fm->_DateFormat($user['lastpost']['date'] + $fm->user['timedif']['usertime']*3600);
$topicTitle = preg_replace("#([^\s]{32})(.+)#is","$1&shy;$2",$user['lastpost']['name']);
$lastpostdetails = $fm->LANG['LastPost'].': <a href="'.$user['lastpost']['link'].'">'.$topicTitle.'</a> - '.$postdate;
} else {
$lastpostdetails = $fm->LANG['NoPosts'];
}

который заменяем кодом
code:
if (isset($user['last_visit'])) // время последней активности
{$lastvisit = $fm->LANG['LastVisit'].': '.$fm->_DateFormat($user['last_visit'] + $fm->user['timedif']*3600);}
else {$lastvisit = $fm->LANG['NoVisit'];}


затем далее в этом же файле ищем код
code:
$fm->_BOARDSTATS();
$days_reged = max(1, round((time() - $user['joined'])/86400));
$posts_per_day = sprintf($fm->LANG['PostsPerDay'], $user['posts']/$days_reged);
$percentage = ($fm->_Stats['totalposts'] > 0) ? min(100, ($user['posts'] / $fm->_Stats['totalposts']) * 100) : 0;
$percentage = sprintf($fm->LANG['ProcTotal'], $percentage);


который удаляем

затем далее в этом же файле ищем строку
code:
$countposts = array_sum($user['posted']);

которую заменяем на код
code:
foreach ($user['posted'] as $inforum=>$posts)
{
if (isset($allforums[$inforum]))
{
$infposts[$inforum] = $posts;
$countposts += $posts;
}
}


затем далее в этом же файле ищем строку
code:
foreach ($user['posted'] as $inforum=>$posts){


которую заменяем на строку
code:
foreach ($infposts as $inforum=>$posts){


затем далее в этом же файле ищем строку
code:
$fm->_Title = ' :: '.$fm->LANG['UserInfo'];

перед которой вставляем код
code:
$fm->_BOARDSTATS();
$days_reged = max(1, round((time() - $user['joined'])/86400));
$posts_per_day = sprintf($fm->LANG['PostsPerDay'], $countposts/$days_reged);
$percentage = ($fm->_Stats['totalposts'] > 0) ? min(100, ($countposts / $fm->_Stats['totalposts']) * 100) : 0;
$percentage = sprintf($fm->LANG['ProcTotal'], $percentage);
$usertotalposts = $countposts.' ['.$percentage.' / '.$posts_per_day.']';


затем далее в этом же файле ищем строку
code:
function validate_items(){

перед которой вставляем код
code:
function Filter_Cat($var) {
global $fm;
$_access = TRUE;
if (!defined('IS_ADMIN') && $var['private'] === TRUE) {
$_access = (isset($fm->user['private'][$var['id']]) && $fm->user['private'][$var['id']] === TRUE) ? TRUE:FALSE;
}
return ($_access === TRUE) ?1:0;
}


Далее открываем файл lang_front_register.php
в котором ищем строки
code:
$this->LANG['LastPost'] = 'Последняя запись';
$this->LANG['NoPosts'] = 'Нет записей';

которые заменяем строками
code:
$this->LANG['Activity'] = 'Активность';
$this->LANG['LastVisit'] = 'Последнее посещение';
$this->LANG['NoVisit'] = 'Нет информации';


Затем открываем в своем шаблоне файл profile_show.tpl
в котором ищем строки
code:
<tr>
<td class="pformleft" valign="top"><b>{$fm->LANG['Updates']}</b></td>
<td class="pformright">$lastpostdetails</td>
</tr>
<tr>
<td class="pformleft" valign="top"><b>{$fm->LANG['UserTotalPosts']}</b></td>
<td class="pformright">{$user['posts']} [$percentage / $posts_per_day]</td>
</tr>

которые заменяем строками
code:
<tr>
<td class="pformleft" valign="top"><b>{$fm->LANG['Activity']}</b></td>
<td class="pformright">$lastvisit</td>
</tr>
<tr>
<td class="pformleft" valign="top"><b>{$fm->LANG['UserTotalPosts']}</b></td>
<td class="pformright">$usertotalposts</td>
</tr>


На этом устранение проблемы завершено.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« ExBB Community »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 

> Темы, похожие на тему "Проблема с скрытыми разделами"
Темы Форум Информация о теме Обновление
Не корректное отображение ссылок в уведомлениях
Проблема с шаблонами для формирования писем
Ошибки и их устранение Ответов: 2
Автор темы: Yamaliya
18 марта 2018 — 12:10
Автор: Yamaliya
Проблема с выводом символов < и >
Записная книжка PHP Ответов: 0
Автор темы: технарь
29 апреля 2012 — 19:26
Автор: технарь
Проблема... Поисковики видят скрытый контент на форуме
Ошибка в коде, которая позволяет поисковикам видеть больше нужного
ExBB Community Ответов: 0
Автор темы: технарь
17 ноября 2016 — 21:06
Автор: технарь
 


Powered by ExBB v1.1.180311