make generated_feed parameters optional, add specific date type for RSS feeds

This commit is contained in:
Andrew Dolgov 2012-02-27 14:39:15 +04:00
parent 2ab20c313c
commit 9c97041d55
2 changed files with 22 additions and 18 deletions

View File

@ -38,23 +38,23 @@ class Public_Handler extends Handler {
$tpl->readTemplateFromFile("templates/generated_feed.txt"); $tpl->readTemplateFromFile("templates/generated_feed.txt");
$tpl->setVariable('FEED_TITLE', $feed_title); $tpl->setVariable('FEED_TITLE', $feed_title, true);
$tpl->setVariable('VERSION', VERSION); $tpl->setVariable('VERSION', VERSION, true);
$tpl->setVariable('FEED_URL', htmlspecialchars($feed_self_url)); $tpl->setVariable('FEED_URL', htmlspecialchars($feed_self_url), true);
if (PUBSUBHUBBUB_HUB && $feed == -2) { if (PUBSUBHUBBUB_HUB && $feed == -2) {
$tpl->setVariable('HUB_URL', htmlspecialchars(PUBSUBHUBBUB_HUB)); $tpl->setVariable('HUB_URL', htmlspecialchars(PUBSUBHUBBUB_HUB), true);
$tpl->addBlock('feed_hub'); $tpl->addBlock('feed_hub');
} }
$tpl->setVariable('SELF_URL', htmlspecialchars(get_self_url_prefix())); $tpl->setVariable('SELF_URL', htmlspecialchars(get_self_url_prefix()), true);
while ($line = db_fetch_assoc($result)) { while ($line = db_fetch_assoc($result)) {
$tpl->setVariable('ARTICLE_ID', htmlspecialchars($line['link'])); $tpl->setVariable('ARTICLE_ID', htmlspecialchars($line['link']), true);
$tpl->setVariable('ARTICLE_LINK', htmlspecialchars($line['link'])); $tpl->setVariable('ARTICLE_LINK', htmlspecialchars($line['link']), true);
$tpl->setVariable('ARTICLE_TITLE', htmlspecialchars($line['title'])); $tpl->setVariable('ARTICLE_TITLE', htmlspecialchars($line['title']), true);
$tpl->setVariable('ARTICLE_EXCERPT', $tpl->setVariable('ARTICLE_EXCERPT',
truncate_string(strip_tags($line["content_preview"]), 100, '...')); truncate_string(strip_tags($line["content_preview"]), 100, '...'), true);
$content = sanitize($this->link, $line["content_preview"], false, $owner_uid); $content = sanitize($this->link, $line["content_preview"], false, $owner_uid);
@ -63,15 +63,19 @@ class Public_Handler extends Handler {
$content; $content;
} }
$tpl->setVariable('ARTICLE_CONTENT', $content); $tpl->setVariable('ARTICLE_CONTENT', $content, true);
$tpl->setVariable('ARTICLE_UPDATED', date('c', strtotime($line["updated"]))); $tpl->setVariable('ARTICLE_UPDATED_ATOM',
$tpl->setVariable('ARTICLE_AUTHOR', htmlspecialchars($line['author'])); date('c', strtotime($line["updated"])), true);
$tpl->setVariable('ARTICLE_UPDATED_RFC822',
date(DATE_RFC822, strtotime($line["updated"])), true);
$tpl->setVariable('ARTICLE_AUTHOR', htmlspecialchars($line['author']), true);
$tags = get_article_tags($this->link, $line["id"], $owner_uid); $tags = get_article_tags($this->link, $line["id"], $owner_uid);
foreach ($tags as $tag) { foreach ($tags as $tag) {
$tpl->setVariable('ARTICLE_CATEGORY', htmlspecialchars($tag)); $tpl->setVariable('ARTICLE_CATEGORY', htmlspecialchars($tag), true);
$tpl->addBlock('category'); $tpl->addBlock('category');
} }
@ -82,9 +86,9 @@ class Public_Handler extends Handler {
$url = htmlspecialchars($e['content_url']); $url = htmlspecialchars($e['content_url']);
$length = $e['duration']; $length = $e['duration'];
$tpl->setVariable('ARTICLE_ENCLOSURE_URL', $url); $tpl->setVariable('ARTICLE_ENCLOSURE_URL', $url, true);
$tpl->setVariable('ARTICLE_ENCLOSURE_TYPE', $type); $tpl->setVariable('ARTICLE_ENCLOSURE_TYPE', $type, true);
$tpl->setVariable('ARTICLE_ENCLOSURE_LENGTH', $length); $tpl->setVariable('ARTICLE_ENCLOSURE_LENGTH', $length, true);
$tpl->addBlock('enclosure'); $tpl->addBlock('enclosure');
} }

View File

@ -4,7 +4,7 @@
<feed xmlns="http://www.w3.org/2005/Atom"> <feed xmlns="http://www.w3.org/2005/Atom">
<title>${FEED_TITLE}</title> <title>${FEED_TITLE}</title>
<generator uri="http://tt-rss.org/">Tiny Tiny RSS/${VERSION}</generator> <generator uri="http://tt-rss.org/">Tiny Tiny RSS/${VERSION}</generator>
<updated>${ARTICLE_UPDATED}</updated> <updated>${ARTICLE_UPDATED_ATOM}</updated>
<id>${FEED_URL}</id> <id>${FEED_URL}</id>
<link href="${FEED_URL}" rel="self"/> <link href="${FEED_URL}" rel="self"/>
<!-- $BeginBlock feed_hub --> <!-- $BeginBlock feed_hub -->
@ -18,7 +18,7 @@
<title>${ARTICLE_TITLE}</title> <title>${ARTICLE_TITLE}</title>
<summary type="html"><![CDATA[${ARTICLE_EXCERPT}]]></summary> <summary type="html"><![CDATA[${ARTICLE_EXCERPT}]]></summary>
<content type="html"><![CDATA[${ARTICLE_CONTENT}]]></content> <content type="html"><![CDATA[${ARTICLE_CONTENT}]]></content>
<updated>${ARTICLE_UPDATED}</updated> <updated>${ARTICLE_UPDATED_ATOM}</updated>
<author><name>${ARTICLE_AUTHOR}</name></author> <author><name>${ARTICLE_AUTHOR}</name></author>
<!-- $BeginBlock category --> <!-- $BeginBlock category -->
<category term="${ARTICLE_CATEGORY}"/> <category term="${ARTICLE_CATEGORY}"/>