From 4b7391de7b941437abfa9a0bc71484868549fe7c Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sat, 28 Mar 2015 16:11:44 +0300 Subject: [PATCH] generated feed: use tag: instead of the public.php URL as an entry ID; set enclosure length to 1 if unknown --- classes/handler/public.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/classes/handler/public.php b/classes/handler/public.php index dafe2a8c5..954cbad47 100644 --- a/classes/handler/public.php +++ b/classes/handler/public.php @@ -101,8 +101,7 @@ class Handler_Public extends Handler { $tpl->setVariable('ARTICLE_ID', htmlspecialchars($orig_guid ? $line['link'] : - get_self_url_prefix() . - "/public.php?url=" . urlencode($line['link'])), true); + $this->url_to_tag_uri($line['id'], $line['date_entered'])), true); $tpl->setVariable('ARTICLE_LINK', htmlspecialchars($line['link']), true); $tpl->setVariable('ARTICLE_TITLE', htmlspecialchars($line['title']), true); $tpl->setVariable('ARTICLE_EXCERPT', $line["content_preview"], true); @@ -125,7 +124,7 @@ class Handler_Public extends Handler { $tpl->setVariable('ARTICLE_AUTHOR', htmlspecialchars($line['author']), true); - $tpl->setVariable('ARTICLE_SOURCE_LINK', htmlspecialchars($line['site_url']), true); + $tpl->setVariable('ARTICLE_SOURCE_LINK', htmlspecialchars($line['site_url'] ? $line["site_url"] : get_self_url_prefix()), true); $tpl->setVariable('ARTICLE_SOURCE_TITLE', htmlspecialchars($line['feed_title'] ? $line['feed_title'] : $feed_title), true); $tags = get_article_tags($line["id"], $owner_uid); @@ -140,7 +139,7 @@ class Handler_Public extends Handler { foreach ($enclosures as $e) { $type = htmlspecialchars($e['content_type']); $url = htmlspecialchars($e['content_url']); - $length = $e['duration']; + $length = $e['duration'] ? $e['duration'] : 1; $tpl->setVariable('ARTICLE_ENCLOSURE_URL', $url, true); $tpl->setVariable('ARTICLE_ENCLOSURE_TYPE', $type, true); @@ -1033,5 +1032,11 @@ class Handler_Public extends Handler { } } + private function url_to_tag_uri($id, $timestamp) { + + $timestamp = date("Y-m-d", strtotime($timestamp)); + + return "tag:" . parse_url(get_self_url_prefix(), PHP_URL_HOST) . ",$timestamp:/$id"; + } } ?>