diff options
Diffstat (limited to 'app/Models/Feed.php')
| -rw-r--r-- | app/Models/Feed.php | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/app/Models/Feed.php b/app/Models/Feed.php index 934036845..baaf448f8 100644 --- a/app/Models/Feed.php +++ b/app/Models/Feed.php @@ -395,9 +395,12 @@ class FreshRSS_Feed extends Minz_Model { $guids = []; $hasBadGuids = $this->attributes('hasBadGuids'); - // TODO: Replace very slow $simplePie->get_item($i) by getting all items at once - for ($i = $simplePie->get_item_quantity() - 1; $i >= 0; $i--) { - $item = $simplePie->get_item($i); + $items = $simplePie->get_items(); + if (empty($items)) { + return $guids; + } + for ($i = count($items) - 1; $i >= 0; $i--) { + $item = $items[$i]; if ($item == null) { continue; } @@ -423,10 +426,13 @@ class FreshRSS_Feed extends Minz_Model { public function loadEntries(SimplePie $simplePie) { $hasBadGuids = $this->attributes('hasBadGuids'); + $items = $simplePie->get_items(); + if (empty($items)) { + return; + } // We want chronological order and SimplePie uses reverse order. - // TODO: Replace very slow $simplePie->get_item($i) by getting all items at once - for ($i = $simplePie->get_item_quantity() - 1; $i >= 0; $i--) { - $item = $simplePie->get_item($i); + for ($i = count($items) - 1; $i >= 0; $i--) { + $item = $items[$i]; if ($item == null) { continue; } |
