aboutsummaryrefslogtreecommitdiff
path: root/app/Models/Feed.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Models/Feed.php')
-rw-r--r--app/Models/Feed.php18
1 files changed, 10 insertions, 8 deletions
diff --git a/app/Models/Feed.php b/app/Models/Feed.php
index e96323d04..a877786b4 100644
--- a/app/Models/Feed.php
+++ b/app/Models/Feed.php
@@ -278,7 +278,7 @@ class FreshRSS_Feed extends Minz_Model {
if ($validate) {
$url = checkUrl($url);
}
- if ($url == '') {
+ if ($url == false) {
throw new FreshRSS_BadUrl_Exception($value);
}
$this->url = $url;
@@ -306,7 +306,7 @@ class FreshRSS_Feed extends Minz_Model {
if ($validate) {
$value = checkUrl($value);
}
- if ($value == '') {
+ if ($value == false) {
$value = '';
}
$this->website = $value;
@@ -448,7 +448,8 @@ class FreshRSS_Feed extends Minz_Model {
$hasUniqueGuids = true;
$testGuids = [];
$guids = [];
- $hasBadGuids = $this->attributes('hasBadGuids');
+ $links = [];
+ $hadBadGuids = $this->attributes('hasBadGuids');
$items = $simplePie->get_items();
if (empty($items)) {
@@ -463,19 +464,20 @@ class FreshRSS_Feed extends Minz_Model {
$hasUniqueGuids &= empty($testGuids['_' . $guid]);
$testGuids['_' . $guid] = true;
$guids[] = $guid;
+ $links[] = $item->get_permalink();
}
- if ($hasBadGuids != !$hasUniqueGuids) {
- $hasBadGuids = !$hasUniqueGuids;
- if ($hasBadGuids) {
+ if ($hadBadGuids != !$hasUniqueGuids) {
+ if ($hadBadGuids) {
Minz_Log::warning('Feed has invalid GUIDs: ' . $this->url);
} else {
Minz_Log::warning('Feed has valid GUIDs again: ' . $this->url);
}
$feedDAO = FreshRSS_Factory::createFeedDao();
- $feedDAO->updateFeedAttribute($this, 'hasBadGuids', $hasBadGuids);
+ $feedDAO->updateFeedAttribute($this, 'hasBadGuids', !$hasUniqueGuids);
}
- return $guids;
+
+ return $hasUniqueGuids ? $guids : $links;
}
/** @return iterable<FreshRSS_Entry> */