Обработка подписи

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
FladeX
Former team member
Сообщения: 1935
Стаж: 19 лет 3 месяца
Откуда: Саранск
Благодарил (а): 7 раз
Поблагодарили: 59 раз

Обработка подписи

Сообщение FladeX »

Нужно вытащить подпись сторонним скриптом (а именно в cms). Сам текст подписи проблем не вызвал, но я так и не понял как верно обработать BB-коды в ней.
Помогите с этим пожалуйста.
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 9 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Сообщение nissin »

Кусок из posting.php отвечающий за обработку BB-кодов из подписи:

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

		$parse_sig = new parse_message($preview_signature);
		$parse_sig->bbcode_uid = $preview_signature_uid;
		$parse_sig->bbcode_bitfield = $preview_signature_bitfield;

		// Not sure about parameters for bbcode/smilies/urls... in signatures
		$parse_sig->format_display($config['allow_sig_bbcode'], true, $config['allow_sig_smilies']);
		$preview_signature = $parse_sig->message;
		unset($parse_sig);
Аватара пользователя
FladeX
Former team member
Сообщения: 1935
Стаж: 19 лет 3 месяца
Откуда: Саранск
Благодарил (а): 7 раз
Поблагодарили: 59 раз

Сообщение FladeX »

То бишь все что нужно, это перед выводом подписи поставить эти строчки?
Мне почему-то кажется, что bbcode_uid и bbcode_bitfield это из API форума... Если так, то как это вытащить оттуда?
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 9 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Сообщение nissin »

Нет конечно, это информация для анализа и размышления.
Нужно использовать/переписать class parse_message из includes/message_parser.php
Ltd
phpBB 1.2.0
Сообщения: 14
Стаж: 19 лет

Сообщение Ltd »

Делал примерно так:

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

$result3	=	$db->sql_query("SELECT * FROM {$table_prefix}posts WHERE post_id=$topic_last_id");
$row3		=	$db->sql_fetchrow($result3);
$text_last = 	censor_text($row3['post_text']);
include_once($phpbb_root_path . 'includes/bbcode.' . $phpEx);
$bbcode = new bbcode(base64_encode('152'));
$bbcode->bbcode_second_pass($text_last, $row3['bbcode_uid'], $row3['bbcode_bitfield']);
$text_last = bbcode_nl2br($text_last);
$last_message = smiley_text($text_last);
$text_last = strip_tags($text_last);
Последняя строка по желанию — как раз убирает все html-теги, которые сформировал парсер ббкода.
Аватара пользователя
FladeX
Former team member
Сообщения: 1935
Стаж: 19 лет 3 месяца
Откуда: Саранск
Благодарил (а): 7 раз
Поблагодарили: 59 раз

Сообщение FladeX »

Ltd
а где найти класс 'bbcode' и указанные выше функции?
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
Ltd
phpBB 1.2.0
Сообщения: 14
Стаж: 19 лет

Сообщение Ltd »

FladeX, четвертая строка.
Аватара пользователя
FladeX
Former team member
Сообщения: 1935
Стаж: 19 лет 3 месяца
Откуда: Саранск
Благодарил (а): 7 раз
Поблагодарили: 59 раз

Сообщение FladeX »

Ltd
туплю)) спасибо ;)
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы

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