From 18b17cbc839026ecb99c2b044e401c2032626df7 Mon Sep 17 00:00:00 2001 From: wn_ Date: Sun, 15 Dec 2024 13:39:54 +0000 Subject: Revert some stuff based upon feedback --- classes/FeedEnclosure.php | 14 +++++------- classes/FeedItem_Atom.php | 9 ++++---- classes/FeedItem_Common.php | 53 ++++++++++++++++++++++++--------------------- classes/FeedItem_RSS.php | 15 +++++++------ classes/PluginHost.php | 3 ++- 5 files changed, 48 insertions(+), 46 deletions(-) (limited to 'classes') diff --git a/classes/FeedEnclosure.php b/classes/FeedEnclosure.php index 6ef9bca5e..1e53de2e8 100644 --- a/classes/FeedEnclosure.php +++ b/classes/FeedEnclosure.php @@ -1,11 +1,9 @@ xpath->evaluate("string(ancestor-or-self::*[@xml:base][1]/@xml:base)", $link); if ($link->getAttribute("rel") == "enclosure") { - $enc = new FeedEnclosure( - type: clean($link->getAttribute('type')), - length: clean($link->getAttribute('length')), - link: clean($link->getAttribute('href')), - ); + $enc = new FeedEnclosure(); + $enc->type = clean($link->getAttribute('type')); + $enc->length = clean($link->getAttribute('length')); + $enc->link = clean($link->getAttribute('href')); if (!empty($base)) { $enc->link = UrlHelper::rewrite_relative($base, $enc->link); diff --git a/classes/FeedItem_Common.php b/classes/FeedItem_Common.php index 5b30ab20c..5ec958699 100644 --- a/classes/FeedItem_Common.php +++ b/classes/FeedItem_Common.php @@ -1,10 +1,14 @@ elem = $elem; + $this->doc = $doc; + $this->xpath = $xpath; + try { $source = $elem->getElementsByTagName("source")->item(0); @@ -88,13 +92,12 @@ abstract class FeedItem_Common extends FeedItem { $enclosures = $this->xpath->query("media:content", $this->elem); foreach ($enclosures as $enclosure) { - $enc = new FeedEnclosure( - type: clean($enclosure->getAttribute('type')), - link: clean($enclosure->getAttribute('url')), - length: clean($enclosure->getAttribute('length')), - height: clean($enclosure->getAttribute('height')), - width: clean($enclosure->getAttribute('width')), - ); + $enc = new FeedEnclosure(); + $enc->type = clean($enclosure->getAttribute('type')); + $enc->link = clean($enclosure->getAttribute('url')); + $enc->length = clean($enclosure->getAttribute('length')); + $enc->height = clean($enclosure->getAttribute('height')); + $enc->width = clean($enclosure->getAttribute('width')); $medium = clean($enclosure->getAttribute("medium")); if (!$enc->type && $medium) { @@ -114,13 +117,12 @@ abstract class FeedItem_Common extends FeedItem { $content = $this->xpath->query("media:content", $enclosure)->item(0); if ($content) { - $enc = new FeedEnclosure( - type: clean($content->getAttribute('type')), - link: clean($content->getAttribute('url')), - length: clean($content->getAttribute('length')), - height: clean($content->getAttribute('height')), - width: clean($content->getAttribute('width')), - ); + $enc = new FeedEnclosure(); + $enc->type = clean($content->getAttribute('type')); + $enc->link = clean($content->getAttribute('url')); + $enc->length = clean($content->getAttribute('length')); + $enc->height = clean($content->getAttribute('height')); + $enc->width = clean($content->getAttribute('width')); $medium = clean($content->getAttribute("medium")); if (!$enc->type && $medium) { @@ -142,12 +144,13 @@ abstract class FeedItem_Common extends FeedItem { $enclosures = $this->xpath->query("media:thumbnail", $this->elem); foreach ($enclosures as $enclosure) { - $encs[] = new FeedEnclosure( - type: 'image/generic', - link: clean($enclosure->getAttribute('url')), - height: clean($enclosure->getAttribute('height')), - width: clean($enclosure->getAttribute('width')), - ); + $enc = new FeedEnclosure(); + $enc->type = 'image/generic'; + $enc->link = clean($enclosure->getAttribute('url')); + $enc->height = clean($enclosure->getAttribute('height')); + $enc->width = clean($enclosure->getAttribute('width')); + + array_push($encs, $enc); } return $encs; diff --git a/classes/FeedItem_RSS.php b/classes/FeedItem_RSS.php index 2970e43bd..6e1435310 100644 --- a/classes/FeedItem_RSS.php +++ b/classes/FeedItem_RSS.php @@ -141,13 +141,14 @@ class FeedItem_RSS extends FeedItem_Common { $encs = array(); foreach ($enclosures as $enclosure) { - $encs[] = new FeedEnclosure( - type: clean($enclosure->getAttribute('type')), - link: clean($enclosure->getAttribute('url')), - length: clean($enclosure->getAttribute('length')), - height: clean($enclosure->getAttribute('height')), - width: clean($enclosure->getAttribute('width')), - ); + $enc = new FeedEnclosure(); + $enc->type = clean($enclosure->getAttribute('type')); + $enc->link = clean($enclosure->getAttribute('url')); + $enc->length = clean($enclosure->getAttribute('length')); + $enc->height = clean($enclosure->getAttribute('height')); + $enc->width = clean($enclosure->getAttribute('width')); + + array_push($encs, $enc); } array_push($encs, ...parent::get_enclosures()); diff --git a/classes/PluginHost.php b/classes/PluginHost.php index e40cf86ad..97d0c45c7 100644 --- a/classes/PluginHost.php +++ b/classes/PluginHost.php @@ -784,8 +784,9 @@ class PluginHost { /** * convert feed_id (e.g. -129) to pfeed_id first + * @return (Plugin&IVirtualFeed)|null */ - function get_feed_handler(int $pfeed_id): (Plugin&IVirtualFeed)|null { + function get_feed_handler(int $pfeed_id): ?Plugin { foreach ($this->feeds as $cat) { foreach ($cat as $feed) { if ($feed['id'] == $pfeed_id) { -- cgit v1.2.3-54-g00ecf