Магазин
Правила Ответы на вопросы Конфиденциальность
Магазин
Правила Ответы на вопросы Конфиденциальность
  • Быстрые действия Ярлыки
    Общие действия
    Связаться с администрацией
    • Бот

       

Минимоды и хаки для phpBB3

  • Список форумов
  • phpBB 3.0
  • Другие моды для phpBB3
  • Минимоды и хаки для phpBB3

Автоцензор в phpBB3 - использование html кода

Небольшие моды и хаки для форума phpBB3
Правила форума
При размещении мода/статьи взятой с другого форума/сайта обязательно необходимо указывать первоисточник сообщения.

18 сообщений
  • Пред.
  • 1
  • 2
Просмотры: 3814 • 
Аватара пользователя
PPK
Администратор
Сообщения: 10513
Зарегистрирован: 21 мар 2009, 17:13
Сообщение 07 мар 2017, 11:11
Посмотрел - никаких событий нет для реализации этого :pardon:
PPK
Beer
Пользователь
Сообщения: 36
Зарегистрирован: 04 янв 2017, 17:38
Сообщение 07 мар 2017, 12:24
Смайл должен быть такой - :?
Все ведь идет по плану, кроме последней правки.

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

	$parse_flags = ($row['bbcode_bitfield'] ? OPTION_FLAG_BBCODE : 0) | OPTION_FLAG_SMILIES;
	$message = generate_text_for_display($row['post_text'], $row['bbcode_uid'], $row['bbcode_bitfield'], $parse_flags, true);
Заменить на это не совсем правильный результат имеем:

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

$message = censor_text($row['post_text'], true);
Beer
Аватара пользователя
Dotins
Новичок
Сообщения: 1
Зарегистрирован: 03 фев 2019, 00:09
Сообщение 03 фев 2019, 00:22
Очень требуется такая штука, никто не видел реализацию под 3.2 ??? Или вариант размещённый здесь будет работать под 3.Х?
Dotins
LCFSC
Пользователь
Сообщения: 3
Зарегистрирован: 19 ноя 2019, 06:37
Сообщение 19 ноя 2019, 06:56
Подскажите, а как заставить цензор заменять исходный HTML на нужный HTML ?

Точнее "на нужный" уже готово, а как заставить "исходный"?

То есть к примеру:

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

https://s6.dpic.me
:

заменять на:

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

http://s6.dpic.me
У депика "плохой" сертификат - и половина пользователей не видит картики (не отображаются через https).
Этих картинок пару десятков тысячь - не вариант вручную заменять...

Тем более, что это можно сделать цензором. Но как7
LCFSC
Аватара пользователя
PPK
Администратор
Сообщения: 10513
Зарегистрирован: 21 мар 2009, 17:13
Сообщение 19 ноя 2019, 09:21
Это проще сделать через phpmyadmin запросом к базе данных (бэкап phpbb_posts сделайте)

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

UPDATE `phpbb_posts` SET `post_text` = replace(post_text, 'https://s6.dpic.me', 'http://s6.dpic.me')
PPK
LCFSC
Пользователь
Сообщения: 3
Зарегистрирован: 19 ноя 2019, 06:37
Сообщение 20 ноя 2019, 11:03
PPK писал(а):Это проще сделать через phpmyadmin
Не - не проще, т.к. постоянно этим придётся заниматься и проблема "недоступности" не устраняется.

А так в цензор добавил проблемные https'ы и всё.

Постфактум - не решение. Нужно "на лету"...
LCFSC
Аватара пользователя
PPK
Администратор
Сообщения: 10513
Зарегистрирован: 21 мар 2009, 17:13
Сообщение 01 дек 2019, 09:52
Вообще самый простой способ это принудительно добавить код для замены этой ссылки, потому-что цензор меняет только отдельные слова, а не части текста в слове, а ссылка этим и является
/includes/functions_content.php после

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

		else
		{
			$censors = $cache->obtain_word_list();
		}
	}
добавить

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

	$str_from = array('<', '>', '[', ']', '.', ':');
	$str_to = array('&lt;', '&gt;', '&#91;', '&#93;', '&#46;', '&#58;');
	$str_replace_from=str_replace($str_from, $str_to, 'https://s6.dpic.me');
	$str_replace_to=str_replace($str_from, $str_to, 'http://s6.dpic.me');
	$text=str_replace($str_replace_from, $str_replace_to, $text);
PPK
LCFSC
Пользователь
Сообщения: 3
Зарегистрирован: 19 ноя 2019, 06:37
Сообщение 07 дек 2019, 11:42
  Вообще самый простой способ это принудительно добавить код для замены этой ссылки, потому-что цензор меняет только отдельные слова, а не части текста в слове, а ссылка этим и является
PPK, спасибо огромное!

Но всё равно это костыль получается: в каждом таком случае придётся скачивать файл и стрингреплейсом заменять каждый "случай", после чего обратно заливать...

Эффективней цензора "научить" любой "текст" заменять. Только я не знаю как...

Как я думаю (возможно ошибаюсь), чтобы "научить" цензора, нужно упростить его функцию - чтобы он тупо любой текст менял на любой текст (как в DLE к примеру). И возможно придётся поднять его в очереди выполнения (чтоб он был перед выполнением тегов и всяких манипуляций с ссылками).
LCFSC
18 сообщений
  • Пред.
  • 1
  • 2

Вернуться в «Минимоды и хаки для phpBB3»

Time: 0.000s | Queries: 0 | Peak Memory Usage: 0.00 МБ | GZIP: Unknown | SQL Explain
  • Список форумов
2018, made with by ThemeKita Создано на основе phpBB® Forum Software © phpBB Limited Русская поддержка phpBB (C) 2009-2025 @ PPK
  • Часовой пояс: UTC+04:00
Участники темы
Список форумов Участники темы
Перейти
Сайт ↳   Новости по сайту ↳   Новости обновлений ↳   Вопросы по сайту ↳   Non-russian speakers forum phpBB 3.1-3.3 ↳   Вопросы по phpBB 3.1-3.3 ↳   Расширения для phpBB 3.1-3.3 ↳   Условно-бесплатные расширения ↳   Платные расширения ↳   Расширения для подписчиков ↳   Расширения в разработке ↳   База расширений ↳   Стили для phpBB 3.1-3.3 ↳   Переводы расширений для phpBB3.1-3.3 ↳   Поиск и запросы расширений ↳   Запросы расширений, функционала и переводов для подписчиков ppkBB3cker ↳   Новости по трекеру и обновлениям ↳   Ошибки, проблемы, недочёты ↳   Предложения по новым функциям и возможностям ↳   Вопросы, ответы и примеры решений ↳   Моды и стили для трекера ↳   Готовые стили для трекера ↳   Запросы стилей для трекера ↳   Стили в разработке ↳   Готовые моды для трекера ↳   Запросы модов для трекера ↳   Моды в разработке ↳   Остальное ↳   F.A.Q. ↳   Ваши трекеры ↳   Оффтопик xbtBB3cker ↳   Новости по трекеру и обновлениям ↳   Вопросы, ответы, ошибки и обсуждение phpBB 3.0 ↳   Другие моды для phpBB3 ↳   Минимоды и хаки для phpBB3 ↳   Вопросы по phpBB3 ↳   phpBB3 ppkBB3cker Edition ↳   Платные услуги, моды, стили ↳   BB2Spoiler/BB3Spoiler ↳   BB3Topics ↳   BB3Sape ↳   BB3UserAgentInfo