1

Тема: RSS-лента всех тем и сообщений

Недавно я открыл для себя RSS. Великая вещь!

Как я понял, на форуме punBB можно подписаться:

  • на все новые темы;

  • на все новые сообщения в какой-то одной теме;


Допустим, на форуме 100 тем. Чтобы быть в курсе всего, что публикуется на форуме, нужно оформить 101 подписку!? 100 подписок для сообщений в каждой теме и 1 подписку для новых созданных тем.

Я правильно понимаю?

Сайт Артур

Поделиться

2

Re: RSS-лента всех тем и сообщений

На официальном форуме punBB есть аналогичная тема "one RSS Feed for all forums and posts", которая осталась без ответа.

Похоже, мне придётся создавать php-файл RSS-ленты самостоятельно.

Сайт Артур

Поделиться

3

Re: RSS-лента всех тем и сообщений

В одной из версий форума "Invision Power" появилась интересная вкладка "Вся активность" и соответствующая ей RSS-лента, которая отображает именно то, что я хочу.
Примеры:
    страничка: http://forum.fsonline.ru/index.php?/discover/
    RSS: http://forum.fsonline.ru/index.php?/discover/all.xml/

Добавлено спустя 17 минут 26 секунд:

Пока мне пришлось создать свой файл "extern2.php", аналогичный "extern.php" который будет выдавать "всю активность" в RSS-ленту.

Сперва я удалил все условия по номеру темы ($tid). После этого RSS-лента стала отображать последние сообщения абсолютно во всех темах. Уже хорошо!


Я нашёл массив $cur_post, который содержит данные каждого сообщения (a post):

Array
(
    [id] => 840
    [poster] => Автор
    [message] => <p>Содержание сообщения</p>
    [hide_smilies] => 0
    [posted] => 1486770196
    [poster_id] => 1        
    [email_setting] => 1
    [email] => Guest
    [poster_email] => 
)

Видно, что из массива $cur_post можно получить id сообщения (в примере — 840), но нельзя получить никакие данные о теме: ни id темы, ни её название.

Добавлено спустя 19 минут:

Как по номеру сообщения (topic id или tid) узнать, в какой теме оно опубликовано?

Сайт Артур

Поделиться

4

Re: RSS-лента всех тем и сообщений

Я разобрался. Нужно делать запрос к базе данных.

$query = array(
    'SELECT'    => 'p.topic_id, p.posted',
    'FROM'        => 'posts AS p',
    'WHERE'        => 'p.id='.$cur_post[id]
);
$result_tid = $forum_db->query_build($query) or error(__FILE__, __LINE__);
$topic_info = $forum_db->fetch_assoc($result_tid);
$tid = $topic_info['topic_id'];

Сайт Артур

Поделиться

5

Re: RSS-лента всех тем и сообщений

Пришлось сделать новое расширение. Пока испытываю.

Сайт Артур

Поделиться

6

Re: RSS-лента всех тем и сообщений

Поискал по форуму темы, относящиеся к RSS. Посмотрел. Сложилось ощущение, что это какая-то запретная тема и о ней нельзя говорить. Или RSS никто не пользуется. В большинстве тем ответов нет, очень жаль.

Сайт Артур

Поделиться