From 8459238f6ce8122dd2ceb85f39a58bb87593531e Mon Sep 17 00:00:00 2001 From: JustAMacUser Date: Sun, 6 Oct 2019 16:17:58 -0400 Subject: [PATCH] af_comics: Use a fixed time of day when generating fake feed for GoComics. Without this the timestamp is always updated to be the time the feed is fetched, which causes the comics to keep moving to the top/bottom of the article list depending on the sort order. (Using 11:00 a.m. UTC as that should keep the date the same across the majority of time zones.) Try to get the actual title for GoComics comics. Also a little code clean up. --- plugins/af_comics/init.php | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/plugins/af_comics/init.php b/plugins/af_comics/init.php index d24287c74..c0e97297d 100755 --- a/plugins/af_comics/init.php +++ b/plugins/af_comics/init.php @@ -114,9 +114,6 @@ class Af_Comics extends Plugin { $tpl->setVariable('FEED_URL', htmlspecialchars($fetch_url), true); $tpl->setVariable('SELF_URL', $site_url, true); - $tpl->setVariable('ARTICLE_UPDATED_ATOM', date('c'), true); - $tpl->setVariable('ARTICLE_UPDATED_RFC822', date(DATE_RFC822), true); - if ($body) { $doc = new DOMDocument(); @@ -126,13 +123,22 @@ class Af_Comics extends Plugin { $node = $xpath->query('//picture[contains(@class, "item-comic-image")]/img')->item(0); if ($node) { - $node->removeAttribute("width"); - $node->removeAttribute("data-srcset"); - $node->removeAttribute("srcset"); + $title = $xpath->query('//h1')->item(0); + + if ($title) { + $title = clean(trim($title->nodeValue)); + } else { + $title = date('l, F d, Y'); + } + + foreach (['srcset', 'sizes', 'data-srcset', 'width'] as $attr ) { + $node->removeAttribute($attr); + } $tpl->setVariable('ARTICLE_ID', $article_link, true); $tpl->setVariable('ARTICLE_LINK', $article_link, true); - $tpl->setVariable('ARTICLE_TITLE', date('l, F d, Y'), true); + $tpl->setVariable('ARTICLE_UPDATED_ATOM', date('c', mktime(11, 0, 0)), true); + $tpl->setVariable('ARTICLE_TITLE', htmlspecialchars($title), true); $tpl->setVariable('ARTICLE_EXCERPT', '', true); $tpl->setVariable('ARTICLE_CONTENT', $doc->saveHTML($node), true); @@ -141,15 +147,12 @@ class Af_Comics extends Plugin { $tpl->setVariable('ARTICLE_SOURCE_TITLE', $feed_title, true); $tpl->addBlock('entry'); - } } } $tpl->addBlock('feed'); - $tmp_data = ''; - if ($tpl->generateOutputToString($tmp_data)) $feed_data = $tmp_data; }