Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Отключение автоцензора для конкретного форума

Форум для авторов модов для phpBB 3.0.x. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
userAx
phpBB 1.4.4
Сообщения: 121
Стаж: 10 лет 3 месяца
Откуда: ZP
Благодарил (а): 13 раз
Поблагодарили: 10 раз
Контактная информация:

Отключение автоцензора для конкретного форума

Сообщение userAx »

Создал форум, на котором можно материться, для отдушины, так сказать. Но он попадает по действие автоцензора. Подумал, что нужно бы его выключить для всех юзеров. Именно для одного форума ф-цию автоцензора выключить.
Сделал так:
Скрытый текст
open viewtopic.php

find :

Код: Выделить всё

// Output the posts
$first_unread = $post_unread = false;
add after :

Код: Выделить всё

if ($forum_id != 141) //хардкод
{
	$uniqueForum= true;
}
find:

Код: Выделить всё

// Parse the message and subject
	//$message = censor_text($row['post_text']);
replace with:

Код: Выделить всё

$message = censor_text($row['post_text'], $uniqueForum);
open includes/functions_content.php
find:

Код: Выделить всё

function censor_text($text)
replace with:

Код: Выделить всё

function censor_text($text, $uniqueForm = false)
find:

Код: Выделить всё

   if (sizeof($censors))
   {
      return preg_replace($censors['match'], $censors['replace'], $text);
   }
replace with:

Код: Выделить всё

if (sizeof($censors))
	{	
		if ($uniqueForum)
		{
			return preg_replace($censors['match'], $censors['replace'], $text);
		}
		else
		{
			return $text;
		}		
	}
Итог - цензор не работает нигде. Убираю правки- работает везде.
Пробовал передавать $forum_id, но так как ф-ция censor_text в файле viewtopic вызывается в цикле, соответственно оно и передаёт столько раз id, сколько постов в теме :?

Прошу помощи или пинка в нужную сторону. Спасибо.
Аватара пользователя
userAx
phpBB 1.4.4
Сообщения: 121
Стаж: 10 лет 3 месяца
Откуда: ZP
Благодарил (а): 13 раз
Поблагодарили: 10 раз
Контактная информация:

Re: Отключение автоцензора для конкретного форума

Сообщение userAx »

Доброе утро.
Нет идей?
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: Отключение автоцензора для конкретного форума

Сообщение Татьяна5 »

userAx писал(а):Нет идей?
Правила, пункт: 3.5 (очень много идей среди ночи)

Добавлено спустя 2 часа 24 минуты 19 секунд:
Мод с настройкой в админке (в "функциях конференции" и "размещении сообщений")
2014-06-27_134101.jpg
2014-06-27_134219.gif
2014-06-27_134845.gif
2014-06-27_134845.gif (7.09 КБ) 11048 просмотров
Disabling_censor_in_some_forums.rar
(32.81 КБ) 265 скачиваний
Аватара пользователя
userAx
phpBB 1.4.4
Сообщения: 121
Стаж: 10 лет 3 месяца
Откуда: ZP
Благодарил (а): 13 раз
Поблагодарили: 10 раз
Контактная информация:

Re: Отключение автоцензора для конкретного форума

Сообщение userAx »

Татьяна5, сейчас потестирую, благодарю!

Извините за нарушение 3.5.

Добавлено спустя 46 минут 4 секунды:
Всё отлично.
Аватара пользователя
userAx
phpBB 1.4.4
Сообщения: 121
Стаж: 10 лет 3 месяца
Откуда: ZP
Благодарил (а): 13 раз
Поблагодарили: 10 раз
Контактная информация:

Re: Отключение автоцензора для конкретного форума

Сообщение userAx »

Заметил такую особенность: пользователь пишет сообщение с матом - мат запикивает, но если нажать правка - редактировать или подождать 5-10 минут - мат появляется.
Грешу на кеширование...
Аватара пользователя
userAx
phpBB 1.4.4
Сообщения: 121
Стаж: 10 лет 3 месяца
Откуда: ZP
Благодарил (а): 13 раз
Поблагодарили: 10 раз
Контактная информация:

Re: Отключение автоцензора для конкретного форума

Сообщение userAx »

Обнаруженные баги:
При создании темы в форуме-исключении в заголовке пишется мат. При заходе в сам форум заголовок корректно отображается.
При просмотре форума с списка форумов запикивается.
Если переходить в тему по ссылке viewtopic.php?p=xxxx - мат в посте тоже запикивается.
При цитировании - так же запикивается.
При создании темы в форуме исключение, если писать Описание темы - маты в нём запикиываются.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: Отключение автоцензора для конкретного форума

Сообщение Татьяна5 »

userAx писал(а):с списка форумов запикивается
Правильно. Каждый заходящий на главную форума не даёт согласия на то, чтобы читать маты.
userAx писал(а):если писать Описание темы
Описания темы в стандартном phpBB нет
Аватара пользователя
userAx
phpBB 1.4.4
Сообщения: 121
Стаж: 10 лет 3 месяца
Откуда: ZP
Благодарил (а): 13 раз
Поблагодарили: 10 раз
Контактная информация:

Re: Отключение автоцензора для конкретного форума

Сообщение userAx »

Татьяна5 писал(а): не даёт согласия на то, чтобы читать маты
Вы абсолютно правы, прошу прощения, не подумал об этом.

Татьяна5 писал(а):Описания темы в стандартном phpBB нет
То есть, форумное право - размещение сообщений - Может делать описание для тем - нестандартное ? хм.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: Отключение автоцензора для конкретного форума

Сообщение Татьяна5 »

userAx писал(а):делать описание
Точно нестандартное
Закрыто

Вернуться в «Для авторов (phpBB 3.0.x)»