[MODDB] RSS Feed 2.0.0
-
- phpBB 2.0.4
- Сообщения: 404
- Стаж: 20 лет 6 месяцев
- Откуда: оттуда
[MODDB] RSS Feed 2.0.0
RSS 2.0 для форума на phpBB
Поддерживает HTTP-заголовки: If-Modified-Since и If-None-Match
Использует расширение Dublin Core Metadata для корректного описания автора сообщения и заголовка.
Выдаёт только сообщении, после предыдущего запроса, используя дату в If-Modified-Since.
Описывает иерархию вида сообщение-ответы, использованием <annotate:reference> для NewzCrawler.
Позволяет просматривать приватные форумы с использование WWW-Authenticate. Корректно работает с привелегиями пользователей.
Можно получать ленту новостей только с выбранного форума и регулировать их количество.
Подробнее - здесь
Последняя версия доступна: здесь
Поддерживает HTTP-заголовки: If-Modified-Since и If-None-Match
Использует расширение Dublin Core Metadata для корректного описания автора сообщения и заголовка.
Выдаёт только сообщении, после предыдущего запроса, используя дату в If-Modified-Since.
Описывает иерархию вида сообщение-ответы, использованием <annotate:reference> для NewzCrawler.
Позволяет просматривать приватные форумы с использование WWW-Authenticate. Корректно работает с привелегиями пользователей.
Можно получать ленту новостей только с выбранного форума и регулировать их количество.
Подробнее - здесь
Последняя версия доступна: здесь
Последний раз редактировалось Егор Наклоняев 09.01.2005 0:19, всего редактировалось 3 раза.
-
- phpBB Guru
- Сообщения: 7522
- Стаж: 21 год 2 месяца
- Откуда: СССР
- Благодарил (а): 4 раза
- Поблагодарили: 94 раза
Егор Наклоняев
Давно ждал такого МОДа! Ура!!!
Сейчас скачаю, проверю и если работает - срочно в нашу коллекцию!!!
Давно ждал такого МОДа! Ура!!!
Сейчас скачаю, проверю и если работает - срочно в нашу коллекцию!!!
Правила конференции (30.05.2011) | Общие ошибки новичков (07.11.2005) | Шаблон запроса | FAQ (phpBB 3.0.x) / Мини [FAQ] по phpBB 3.1.x
Последние и единственно актуальные на сегодня версии - 3.1.12 и 3.2.2!
Небесплатно накачаю ваш VPS/VDS/DS стероидами и заставлю ваши CMS летать =)
phpBB Guru blog | Тестируем phpBB 3.3 здесь! |
Последние и единственно актуальные на сегодня версии - 3.1.12 и 3.2.2!
Небесплатно накачаю ваш VPS/VDS/DS стероидами и заставлю ваши CMS летать =)
phpBB Guru blog | Тестируем phpBB 3.3 здесь! |
-
- phpBB 2.0.4
- Сообщения: 404
- Стаж: 20 лет 6 месяцев
- Откуда: оттуда
Update
Небольшая косметика:
1) Добавлено поле <comments> в RSS
2) Добавлена gzip компрессия ленты новостей
3) Добавлен вывод в формате Atom 0.3
rss.php - иходники
1) Добавлено поле <comments> в RSS
2) Добавлена gzip компрессия ленты новостей
3) Добавлен вывод в формате Atom 0.3
rss.php - иходники
-
- phpBB 2.0.4
- Сообщения: 404
- Стаж: 20 лет 6 месяцев
- Откуда: оттуда
Еще небольшие косметические изменения. Теперь отображаются не только последние сообщения, но и измененные с последнего раза.
1. Корректно отображается <modified> в Atom 0.3
2. Добавлено <dcterms:issued> и <dcterms:modified> в RSS
Теперь внимание, вопрос к знатокам. Что нужно сделать для того, чтобы в административной панели видеть нечто типа:
"Вася Пупкин с АйПи такой-то на странице RSS"?
Судя по всему, кода добавить надо совсем немного. Косметика чистой воды и особо не нужна, но хочется, так сказать, забить последний гвоздь.
P.S. Ссылка на исходник в предыдущем посте.
У меня там есть волшебные слова, типа:
Чувствую, что где-то здесь собака порылась...
Добавлено спустя 14 минут 43 секунды:
Думаю, надо вставить строчку после успешной регистрации, а после этого код должен сработать правильно.
1. Корректно отображается <modified> в Atom 0.3
2. Добавлено <dcterms:issued> и <dcterms:modified> в RSS
Теперь внимание, вопрос к знатокам. Что нужно сделать для того, чтобы в административной панели видеть нечто типа:
"Вася Пупкин с АйПи такой-то на странице RSS"?
Судя по всему, кода добавить надо совсем немного. Косметика чистой воды и особо не нужна, но хочется, так сказать, забить последний гвоздь.
P.S. Ссылка на исходник в предыдущем посте.
У меня там есть волшебные слова, типа:
Код: Выделить всё
//
// BEGIN Session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
Добавлено спустя 14 минут 43 секунды:
Думаю, надо вставить строчку после успешной регистрации, а после этого код должен сработать правильно.
Код: Выделить всё
$session_id = session_begin($row['user_id'], $user_ip, PAGE_INDEX, FALSE, 0);
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 2 месяца
- Поблагодарили: 2 раза
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 2 месяца
- Поблагодарили: 2 раза
Егор Наклоняев
Я послал запрос на резервацию id с -1130 по -1134 включительно для нужд phpBB Guru Team.
Техническую часть вопроса прекрасно иллюстрирует соответствующий код из Photo Album Mod:
В includes/constants.php добавляется:
... а среди первых строк скриптов альбомов есть это:
Я послал запрос на резервацию id с -1130 по -1134 включительно для нужд phpBB Guru Team.
Техническую часть вопроса прекрасно иллюстрирует соответствующий код из Photo Album Mod:
Код: Выделить всё
#
#-----[ OPEN ]-------------------------------------------------------
#
viewonline.php
#
#-----[ FIND ]----------------------------------------
#
case PAGE_FAQ:
$location = $lang['Viewing_FAQ'];
$location_url = "faq.$phpEx";
break;
#
#-----[ AFTER, ADD ]----------------------------------
#
case PAGE_ALBUM:
$location = $lang['Album'];
$location_url = "album.$phpEx";
break;
#
#-----[ OPEN ]-------------------------------------------------------
#
admin/index.php
#
#-----[ FIND ]----------------------------------------
#
case PAGE_FAQ:
$location = $lang['Viewing_FAQ'];
$location_url = "index.$phpEx?pane=right";
break;
#
#-----[ AFTER, ADD ]----------------------------------
#
case PAGE_ALBUM:
$location = $lang['Album'];
$location_url = "index.$phpEx?pane=right";
break;
Код: Выделить всё
define('PAGE_ALBUM', -19); // for Session Handling
Код: Выделить всё
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_ALBUM);
init_userprefs($userdata);
//
// End session management
//
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
- phpBB 2.0.4
- Сообщения: 404
- Стаж: 20 лет 6 месяцев
- Откуда: оттуда
Спасибо.Техническую часть вопроса прекрасно иллюстрирует соответствующий код из Photo Album Mod
Приятно осознавать, что я копал именно в том же направлении, и даже всё это сделал. Один в один. Ну, с учётом кода -69, конечно.
Теперь пытаюсь оттестировать.
Добавлено спустя 9 минут 58 секунд:
Ан не работает, увы. Упорно пишет "Список форумов" вместо RSS. Хотя иногда слово RSS всё-таки проскакивает, что делает ситуацию еще более забавной.
Добавлено спустя 15 минут 1 секунду:
Скорее всего не работает из-за авторизации. У меня то редирект отсуствует после авторизации по WWW-Authenticate.
А насколько я посмотрел sessions.php нужны или куки, или GET.
Добавлено спустя 37 минут 30 секунд:
Итак, авторизация без куков или sid в GET не работает, регистрирует куки как для Гостя. Зато разобрался, почему для Гостя не показывалась страница "RSS". Оказывается, в admin/index.php целых 2 CASE и в оба надо ставить отображение страницы.
Да. Справочно. У меня выложена стабильная, работающая версия, а не этот полуфабрикат, который я сейчас курочу. Скорее всего дальнейшие изыскания в данном направлении прекращу. Ибо можно, конечно, принудительно прописать ссесию, но с точки зрения безопасности и совместимости - это контрпродуктивно.
-
- phpBB 2.0.4
- Сообщения: 404
- Стаж: 20 лет 6 месяцев
- Откуда: оттуда
Полезный довесок. Таблица стилей XSL, для отображения в браузерах RSS.
После первой строки в rss_body.tpl вставляем
<?xml-stylesheet type="text/xsl" href="rss.xsl"?>
В каталоге форума создаём фаил:
Фаил: rss.xsl
Секцию <style> правим по вкусу. Если есть такое желание.
Замеченые "тараканы" в отображении:
Mozilla Огненный Лисыц не понимает аттрибут "disable-output-escaping", как это предусмотрено спецификацией, в результате вместо HTML в описании и заголовках просто текст из RSS. Но результат всё равно симпатичнее, чем без таблицы стилей. В Опере не смотрел.
UPD: У себя временно отключил, т.к. некоторые агрегаторы в Mozilla перестают работать с RSS, при наличии таблицы стилей. Сделаю по отдельному ключу.
После первой строки в rss_body.tpl вставляем
<?xml-stylesheet type="text/xsl" href="rss.xsl"?>
В каталоге форума создаём фаил:
Фаил: rss.xsl
Код: Выделить всё
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<xsl:template match="/rss/channel">
<html>
<head>
<title><xsl:value-of select="title"/></title>
<style>
h1, h1 a {background:#001850;color:#FFFFFF;font:bold large/normal tahoma,arial,sans-serif;margin:0;padding:1ex;text-align:left}
dd {font:0.8em arial,sans-serif;margin:0.5ex 10px 0.5ex 50px;text-align:left}
dt {background:#EEEEEE;font:0.8em arial,sans-serif;margin:0 10px 0 10px;text-align:left;}
.gen { font-size : 12px; }
.genmed { font-size : 11px; }
.gensmall { font-size : 10px; }
.gen,.genmed,.gensmall { color : #000000; }
a.gen,a.genmed,a.gensmall { color: #006699; text-decoration: none; }
a.gen:hover,a.genmed:hover,a.gensmall:hover { color: #DD6900; text-decoration: underline; }
.code {
font-family: Courier, 'Courier New', sans-serif; font-size: 11px; color: #006600;
background-color: #FAFAFA; border: #D1D7DC; border-style: solid;
border-left-width: 1px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px
}
.quote {
font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; color: #444444; line-height: 125%;
background-color: #FAFAFA; border: #D1D7DC; border-style: solid;
border-left-width: 1px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px
}
.genmed {
font-size: 0.8em;
}
.off { font-size: 10px; color: #999999 }
</style>
</head>
<body>
<h1><a><xsl:attribute name="href"><xsl:value-of select="link"/></xsl:attribute>
<xsl:value-of select="title"/></a></h1>
<p><xsl:value-of select="description" disable-output-escaping = "yes"/></p>
<dl>
<xsl:for-each select="item">
<dt>
<a><xsl:attribute name="href"><xsl:value-of select="link"/></xsl:attribute>
<xsl:value-of select="title" disable-output-escaping = "yes"/></a>
</dt>
<dd>
<xsl:value-of select="description" disable-output-escaping = "yes"/><br /><span>
<xsl:attribute name="style">font-size:0.8em;color:#FF6600</xsl:attribute>
<xsl:value-of select="pubDate"/></span>
</dd>
</xsl:for-each></dl>
<hr /><p class="off"><xsl:text>This text generated by XSLT from RSS Feed</xsl:text><br /><xsl:value-of select="copyright"/></p>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Замеченые "тараканы" в отображении:
Mozilla Огненный Лисыц не понимает аттрибут "disable-output-escaping", как это предусмотрено спецификацией, в результате вместо HTML в описании и заголовках просто текст из RSS. Но результат всё равно симпатичнее, чем без таблицы стилей. В Опере не смотрел.
UPD: У себя временно отключил, т.к. некоторые агрегаторы в Mozilla перестают работать с RSS, при наличии таблицы стилей. Сделаю по отдельному ключу.
Последний раз редактировалось Егор Наклоняев 23.11.2004 8:31, всего редактировалось 1 раз.
-
- phpBB 2.0.4
- Сообщения: 404
- Стаж: 20 лет 6 месяцев
- Откуда: оттуда
В результате установки на сайты выявлены следующие неточности, которые были исправлены.
1. С наличием функции getallheader() повезло не всем, заменил на $_SERVER[]. Если RSS не вылетает по ошибке, жалуясь на недоступность этой функции, эти изменения вносить не обязательно.
2. Строка, где-то в районе 139.
$replypost = ( $script_name != '' ) ? $script_name . '/posting.' . $phpEx.'?mode=quote' : 'posting'. $phpEx.'&mode=quote';
должна звучать:
$replypost = ( $script_name != '' ) ? $script_name . '/posting.' . $phpEx.'?mode=quote' : 'posting.'. $phpEx.'?mode=quote';
Из-за этих опечаток RSS давал невалидный код в тэге <comments> для сайтов, у которых форум размещен в корне. Поскольку символа &mode - не существует, то в результате, при попытке отобразить в браузере, выдавалась ошибка вида: "A semi colon character was expected. Error processing resource". Плюс ссылка формировалась неверно, в виде postingphp, вместо posting.php
Для исправления достаточно заменить & на ?, как это показано выше, и добавить точку после posting. Скачивать обновление не обязательно. Актуально только для сайтов, у которых phpBB в корне.
В исходники на сайте исправления внесены. Приношу извинения за допущенные ошибки.
Добавлено спустя 22 минуты 20 секунд:
P.S. Кстати, граждане, вставляя в заголовок RSS картинку не забываем о стандарте:
http://blogs.law.harvard.edu/tech/rss#l ... tchannelgt, а именно:
Maximum value for width is 144, default value is 88.
Maximum value for height is 400, default value is 31.
А то в агрегаторах она занимает слишком много места. Хотя это не критично, но не эстетично.
Добавлено спустя 1 час 37 минут 24 секунды:
Еще нашёл, тяжкое наследие от предыдущих авторов. Строка 292 должна звучать:
$post_subject = htmlspecialchars($lang['Subject'].': '.$post_subject.'<br />');
вместо
$post_subject = $lang['Subject'].': '.htmlspecialchars($post_subject).'<br />';
Это приводило к невалидному RSS в отдельных случаях.
1. С наличием функции getallheader() повезло не всем, заменил на $_SERVER[]. Если RSS не вылетает по ошибке, жалуясь на недоступность этой функции, эти изменения вносить не обязательно.
2. Строка, где-то в районе 139.
$replypost = ( $script_name != '' ) ? $script_name . '/posting.' . $phpEx.'?mode=quote' : 'posting'. $phpEx.'&mode=quote';
должна звучать:
$replypost = ( $script_name != '' ) ? $script_name . '/posting.' . $phpEx.'?mode=quote' : 'posting.'. $phpEx.'?mode=quote';
Из-за этих опечаток RSS давал невалидный код в тэге <comments> для сайтов, у которых форум размещен в корне. Поскольку символа &mode - не существует, то в результате, при попытке отобразить в браузере, выдавалась ошибка вида: "A semi colon character was expected. Error processing resource". Плюс ссылка формировалась неверно, в виде postingphp, вместо posting.php
Для исправления достаточно заменить & на ?, как это показано выше, и добавить точку после posting. Скачивать обновление не обязательно. Актуально только для сайтов, у которых phpBB в корне.
В исходники на сайте исправления внесены. Приношу извинения за допущенные ошибки.
Добавлено спустя 22 минуты 20 секунд:
P.S. Кстати, граждане, вставляя в заголовок RSS картинку не забываем о стандарте:
http://blogs.law.harvard.edu/tech/rss#l ... tchannelgt, а именно:
Maximum value for width is 144, default value is 88.
Maximum value for height is 400, default value is 31.
А то в агрегаторах она занимает слишком много места. Хотя это не критично, но не эстетично.
Добавлено спустя 1 час 37 минут 24 секунды:
Еще нашёл, тяжкое наследие от предыдущих авторов. Строка 292 должна звучать:
$post_subject = htmlspecialchars($lang['Subject'].': '.$post_subject.'<br />');
вместо
$post_subject = $lang['Subject'].': '.htmlspecialchars($post_subject).'<br />';
Это приводило к невалидному RSS в отдельных случаях.
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 2 месяца
- Поблагодарили: 2 раза
По моему запросу команде сайта phpBB Guru были выделены id страниц с -1135 по -1139 включительно. Выбирай какой тебе больше по душе
Добавлено спустя 6 минут 44 секунды:
Попробовал посмотреть новости в формате RSS у тебя на сайте, смотрел Оперой. Обнаружил корявости с кодировкой.

Добавлено спустя 6 минут 44 секунды:
Попробовал посмотреть новости в формате RSS у тебя на сайте, смотрел Оперой. Обнаружил корявости с кодировкой.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
- phpBB 2.0.4
- Сообщения: 404
- Стаж: 20 лет 6 месяцев
- Откуда: оттуда
Уважаемый, глюки Оперы в отображении XML меня совершенно не трогают. У меня лично все заголовки прописаны корректно, что подверждается независимой экспертизой:Попробовал посмотреть новости в формате RSS у тебя на сайте, смотрел Оперой. Обнаружил корявости с кодировкой.
Допускаю, что Опера работает только в UTF-8 с RSS. (UPD: Как выяснилось прекрасно работает и в windows-1251) Мне не сложно добавить перекодировку, тем более что наработки уже есть.
Но тогда возникнут следующие проблемы:
1. iconv()- есть не у всех, хотя это решается моим личным перекодировщиком.
2. Главная беда будет у тех, у кого русский Апач. Он будет пытаться перекодировать на лету, и нужно будет выносить rss в отдельную папку и играть с .htaccess, иначе полезет кракозябра. Поэтому RSS будет выдаваться только в кодировке форума.
Рекомендую из агрегаторов Abilon
Бесплатный и работает корректно.
Последний раз редактировалось Егор Наклоняев 16.11.2004 9:05, всего редактировалось 1 раз.
-
- phpBB 2.0.4
- Сообщения: 404
- Стаж: 20 лет 6 месяцев
- Откуда: оттуда