Можно ли заблокировать определенную тему одному пользователю?

Автор Caruzo, 16 октября 2012, 12:27:27

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Caruzo

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

Можно просто чтобы он не видел тему, или просто не мог в ней писать.

Мож мод какой есть? Спасибо

GeorG

Мода нет.
Если только вариант с группой, либо костыль ставить в код, по определению ID пользователя и темы, и запрету на вход. Но это в том случае, если тема не доступна обычным группам или гостям (иначе пользователю ничего не мешает, завести бота или зайти под гостем).
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Caruzo

Мне нужно, чтобы он там не мог писать. Смотреть - пусть смотрит как угодно.

Bugo

Ещё можно не запрещать ему писать, а просто скрывать его сообщения, как будто он в списке игнора у всех.

Caruzo

А как сделать? Но именно в одной теме.
Там тема, а поцик в ней срет намеренно конкурентам своим.

Bugo

Поставьте мод Abnormal Users, создайте спецгруппу — например, Вафли — добавьте в эту группу нужного «поцика». Сделайте нужные вам настройки на страничке настроек мода.

Затем в Display.php найдите строчку
if (!empty($memberContext[$message['id_member']]['group_id']))
и замените на
if (!empty($memberContext[$message['id_member']]['group_id']) && $context['current_topic'] == 'xx')
где вместо 'xx' нужно подставить id нужной темы.

В Display.template.php найти блок

if ($context['can_psycho_link'])
echo '
<a href="', $scripturl, '?action=addpsycho;id=', $message['member']['id'], ';topic=', $context['current_topic'], ';msg=', $message['id'], ';', $context['session_var'], '=', $context['session_id'], '"><img src="', $settings['default_images_url'], '/psycho_lock.png" alt="', $txt['psycho_link'], '" title="', $txt['psycho_link'], '" /></a>';

// Delete user from Psycho group
if ($context['can_unlock_psycho'])
echo '
<a href="', $scripturl, '?action=delpsycho;id=', $message['member']['id'], ';topic=', $context['current_topic'], ';msg=', $message['id'], ';', $context['session_var'], '=', $context['session_id'], '"><img src="', $settings['default_images_url'], '/psycho_unlock.png" alt="', $txt['psycho_unlock'], '" title="', $txt['psycho_unlock'], '" /></a>';

и заменить на
if ($context['current_topic'] == 'xx')
{
if ($context['can_psycho_link'])
echo '
<a href="', $scripturl, '?action=addpsycho;id=', $message['member']['id'], ';topic=', $context['current_topic'], ';msg=', $message['id'], ';', $context['session_var'], '=', $context['session_id'], '"><img src="', $settings['default_images_url'], '/psycho_lock.png" alt="', $txt['psycho_link'], '" title="', $txt['psycho_link'], '" /></a>';

// Delete user from Psycho group
if ($context['can_unlock_psycho'])
echo '
<a href="', $scripturl, '?action=delpsycho;id=', $message['member']['id'], ';topic=', $context['current_topic'], ';msg=', $message['id'], ';', $context['session_var'], '=', $context['session_id'], '"><img src="', $settings['default_images_url'], '/psycho_unlock.png" alt="', $txt['psycho_unlock'], '" title="', $txt['psycho_unlock'], '" /></a>';
}

где опять же вместо 'xx' нужно подставить id нужной темы.

После этих замен мод будет работать только в указанной вами теме. Теоретически. На практике не проверял :)

GeorG

Цитата: Caruzo от 16 октября 2012, 13:05:54Там тема, а поцик в ней срет намеренно конкурентам своим.
Да забаньте его и дело с концом...
Как вариант, создайте ему группу с предмодерацией сообщений.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Caruzo

Да не. Не так все просто.

Сообщений он пишет много, а одна тема - обсуждение одной фирмы, он туда специально одно и тоже сообщение ставит, чтобы опорочить их честь.

Вот и хотел его от темы отлучить, а форум - форумом.

GeorG

И он себе другое развлечение найдет, не менее "приятное". Было уже, проходили... Лучше не жалеть и ставить палки ему в "колёса", а взять и наказать - так оно эффективнее. Но решать вам конечно. Воспользуйтесь предложением Буго.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru