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

[BETA] antimat: цензор русского мата

Здесь авторы могут постить бета-версии своих расширений для phpBB. Внимание! Не устанавливайте бета-версии расширений на работающие форумы!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.2.x | FAQ | Внимание! Прежде чем создать тему - прочти! | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).

Внимание! Не устанавливайте бета-версии расширений на работающие форумы!
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 11 лет 4 месяца
Благодарил (а): 20 раз
Поблагодарили: 81 раз

[BETA] antimat: цензор русского мата

Сообщение c61 »

antimat
phpBB 3.1 extension

copyright (c) 2014 c61 c61@yandex.ru http://c61.su
license http://opensource.org/licenses/gpl-license.php GNU Public License


antimat: Цензор мата

Цензор русского мата предназначен для выявления ненормативной лексики на этапе размещения любых сообщений (в том числе личных).

Если Вы считаете цензора слишком жёстким, некоторые слова могут быть исключены из проверки на "ненормативность" (см. файл class.Censure.php).

Справка: согласно статье 20.1 КоАП РФ нецензурная брань в общественных местах (интернет — место общественное) расценивается как мелкое хулиганство.

Примечание: поле subject не анализируется.


Установка

Копировать содержимое каталога root в корневую папку конференции с сохранением структуры каталогов (расширения phpBB 3.1 располагаются в /ext).


Тема на моей тествой площадке тынц
Последний раз редактировалось c61 15.11.2015 11:26, всего редактировалось 7 раз.
Shredder
Former team member
Сообщения: 2224
Стаж: 15 лет 4 месяца
Благодарил (а): 124 раза
Поблагодарили: 138 раз

Re: [BETA] antimat: цензор русского мата

Сообщение Shredder »

c61 писал(а):Справка: согласно статье 20.1 КоАП РФ нецензурная брань в общественных местах (интернет — место общественное) расценивается как мелкое хулиганство.
Кого-то уже арестовали?
Аватара пользователя
Romnik
phpBB 2.0.2
Сообщения: 338
Стаж: 13 лет 3 месяца
Откуда: Москва/Выдропужск
Благодарил (а): 26 раз
Поблагодарили: 39 раз

Re: [BETA] antimat: цензор русского мата

Сообщение Romnik »

c61 писал(а):Последняя строка для поиска - перед ней и вставляем код.
Если можно поподробнее...
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 11 лет 4 месяца
Благодарил (а): 20 раз
Поблагодарили: 81 раз

Re: [BETA] antimat: цензор русского мата

Сообщение c61 »

Romnik писал(а):поподробнее...
Файл includes/message_parser.php
Найти:

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

      // Prepare BBcode (just prepares some tags for better parsing)
и добавить ПЕРЕД

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

      /**
      * This event allows you to analyze post message
      *
      * @event core.message_parser_parse_message_before
      * @var   string   message   Post message
      * @var   string   error   Error string; a non-empty string aborts posting
      *            NOTE: Should be actual language strings, NOT language keys.
      * @since 3.1.1
      */

      $message = $this->message;
      $error = '';
      $vars = array('message', 'error');

      global $phpbb_dispatcher;

      extract($phpbb_dispatcher->trigger_event('core.message_parser_parse_message_before', compact($vars)));

      if (!empty($error)) {
         $this->warn_msg[] = $error;
         return (!$update_this_message) ? $return_message : $this->warn_msg;
      }
Shredder писал(а):Кого-то уже арестовали?
За мат сайты закрывали, известные делишки, гуглятся...
Аватара пользователя
Romnik
phpBB 2.0.2
Сообщения: 338
Стаж: 13 лет 3 месяца
Откуда: Москва/Выдропужск
Благодарил (а): 26 раз
Поблагодарили: 39 раз

Re: [BETA] antimat: цензор русского мата

Сообщение Romnik »

c61 Спасибо! Работает...
stamper
phpBB 1.2.0
Сообщения: 10
Стаж: 9 лет 5 месяцев

Re: [BETA] antimat: цензор русского мата

Сообщение stamper »

Не работает..... При добавлении кода в includes/message_parser.php вместо форума пустая страница. Чего-то не доделали.....
Аватара пользователя
Romnik
phpBB 2.0.2
Сообщения: 338
Стаж: 13 лет 3 месяца
Откуда: Москва/Выдропужск
Благодарил (а): 26 раз
Поблагодарили: 39 раз

Re: [BETA] antimat: цензор русского мата

Сообщение Romnik »

stamper писал(а):Чего-то не доделали.....
Это Вы не туда вставили...
Всё работает!
Аватара пользователя
Romnik
phpBB 2.0.2
Сообщения: 338
Стаж: 13 лет 3 месяца
Откуда: Москва/Выдропужск
Благодарил (а): 26 раз
Поблагодарили: 39 раз

Re: [BETA] antimat: цензор русского мата

Сообщение Romnik »

При редактировании форумов в админке, выскакивает ошибка:

Fatal error: Cannot redeclare class c61\antimat\event\UTF8 in /home/u29186/electro-sila.ru/www/forum/ext/c61/antimat/event/class.UTF8.php on line 64
Error 64: Cannot redeclare class c61\antimat\event\UTF8 at file /home/u29186/electro-sila.ru/www/forum/ext/c61/antimat/event/class.UTF8.php line 64
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 11 лет 4 месяца
Благодарил (а): 20 раз
Поблагодарили: 81 раз

Re: [BETA] antimat: цензор русского мата

Сообщение c61 »

Ну очень странная ошибка... У меня на двух тестовых площадках не проявляется, и class_exists должен отрабатывать. Может, фокусы с autoload... Вы не могли бы попробовать заменить в ext/c61/antimat/event/listener.php код

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

			if (!class_exists('Censure')) {
				include(__DIR__ . '/class.UTF8.' . $this->php_ext);
				include(__DIR__ . '/class.ReflectionTypeHint.' . $this->php_ext);
				include(__DIR__ . '/class.Censure.' . $this->php_ext);
				assert_options(ASSERT_ACTIVE, false);
			}
на

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

			if (!class_exists('UTF8',false)) {
				include(__DIR__ . '/class.UTF8.' . $this->php_ext);
			}
			if (!class_exists('ReflectionTypeHint',false)) {
				include(__DIR__ . '/class.ReflectionTypeHint.' . $this->php_ext);
			}
			if (!class_exists('Censure',false)) {
				include(__DIR__ . '/class.Censure.' . $this->php_ext);
				assert_options(ASSERT_ACTIVE, false);
			}
и проверить ? Спасибо.

Дополнено в 16:23

Изменил код замены, если уже проверяете - перепроверьте, пожалуйста !
Аватара пользователя
Romnik
phpBB 2.0.2
Сообщения: 338
Стаж: 13 лет 3 месяца
Откуда: Москва/Выдропужск
Благодарил (а): 26 раз
Поблагодарили: 39 раз

Re: [BETA] antimat: цензор русского мата

Сообщение Romnik »

c61 Замена кода ничего не изменила. Та же ошибка!
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 11 лет 4 месяца
Благодарил (а): 20 раз
Поблагодарили: 81 раз

Re: [BETA] antimat: цензор русского мата

Сообщение c61 »

Romnik писал(а):Замена кода ничего не изменила
Мда... непонятно... Давайте тогда вообще отключим выполнение кода в админке. Надо найти в ext/c61/antimat/event/listener.php код

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

	public function event_antimat_post_message($event) {
и добавить ПОСЛЕ

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

		// NOT for adm ot install
		if ( defined('ADMIN_START') || defined('IN_INSTALL') ) return;
Но причина возникновения ошибки мне совершенно непонятна.
Аватара пользователя
Romnik
phpBB 2.0.2
Сообщения: 338
Стаж: 13 лет 3 месяца
Откуда: Москва/Выдропужск
Благодарил (а): 26 раз
Поблагодарили: 39 раз

Re: [BETA] antimat: цензор русского мата

Сообщение Romnik »

c61 Так лучше! Ошибка исчезла...
Аватара пользователя
Romnik
phpBB 2.0.2
Сообщения: 338
Стаж: 13 лет 3 месяца
Откуда: Москва/Выдропужск
Благодарил (а): 26 раз
Поблагодарили: 39 раз

Re: [BETA] antimat: цензор русского мата

Сообщение Romnik »

Увы, вылез ещё один косяк!
При склейке сообщений вылезает ошибка.
KOT-Pskov
phpBB 1.4.2
Сообщения: 50
Стаж: 9 лет 6 месяцев
Благодарил (а): 21 раз
Поблагодарили: 2 раза

Re: [BETA] antimat: цензор русского мата

Сообщение KOT-Pskov »

Пока такой ошибки не было..
Аватара пользователя
Romnik
phpBB 2.0.2
Сообщения: 338
Стаж: 13 лет 3 месяца
Откуда: Москва/Выдропужск
Благодарил (а): 26 раз
Поблагодарили: 39 раз

Re: [BETA] antimat: цензор русского мата

Сообщение Romnik »

KOT-Pskov Должно быть установлено расширение "Posts merging".
Если установлено, то отправьте подряд два сообщения.

Вернуться в «Бета-версии расширений для phpBB»