[3.2][3.3] Как можно получить заголовок сообщения при его создании?

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Джим
phpBB 2.0.0
Сообщения: 208
Стаж: 16 лет
Благодарил (а): 133 раза
Поблагодарили: 64 раза

[3.2][3.3] Как можно получить заголовок сообщения при его создании?

Сообщение Джим »

Хочу доработать своё расширение по стоп-словам, чтобы оно и заголовок сообщения анализировало, но никак не пойму как его получить? Может, кто подскажет. Знаю, что в antibot42 это реализовано, но не могу там разобраться... ((
Последний раз редактировалось Джим 03.10.2025 20:51, всего редактировалось 1 раз.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12847
Стаж: 14 лет 1 месяц
Благодарил (а): 160 раз
Поблагодарили: 2326 раз

Re: [3.2][3.3] Как можно получить заголовок сообщения при его создании?

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

Общая инструкция: искать по файлам форума слово extract, особенно по более-менее подходящим под задачу, и смотреть нет ли где нужной переменной, переданной в событие

И конкретней:
posting.php
Строки 937-940

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

if ($submit || $preview || $refresh)
{
	$post_data['topic_cur_post_id']	= $request->variable('topic_cur_post_id', 0);
	$post_data['post_subject']		= $request->variable('subject', '', true);
То есть нужен $post_data ниже тех строк. И ближайшее событие попадается в районе 1086 строки

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

$vars = array(
		'post_data',
		'mode',
		'post_id',
		'topic_id',
		'forum_id',
		'submit',
		'preview',
		'save',
		'load',
		'cancel',
		'refresh',
		'message_parser',
		'error',
	);
	extract($phpbb_dispatcher->trigger_event('core.posting_modify_message_text', compact($vars)));
Всё, из core.posting_modify_message_text можно брать $post_data = $event['post_data']; и что-то делать с $post_data['post_subject']
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17039
Стаж: 19 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 564 раза
Поблагодарили: 1732 раза

Re: [3.2][3.3] Как можно получить заголовок сообщения при его создании?

Сообщение rxu »

Также можно взять из события core.posting_modify_post_data через $post_data['post_subject'].
Изображение
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12847
Стаж: 14 лет 1 месяц
Благодарил (а): 160 раз
Поблагодарили: 2326 раз

Re: [3.2][3.3] Как можно получить заголовок сообщения при его создании?

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

rxu, на той строке заголовок новой темы/сообщения ещё не получен

Вернуться в «Для разработчиков»