diff options
| -rw-r--r-- | app/Controllers/subscriptionController.php | 5 | ||||
| -rw-r--r-- | app/Models/Feed.php | 7 | ||||
| -rw-r--r-- | lib/lib_rss.php | 2 |
3 files changed, 9 insertions, 5 deletions
diff --git a/app/Controllers/subscriptionController.php b/app/Controllers/subscriptionController.php index 315187aaa..c1acfd958 100644 --- a/app/Controllers/subscriptionController.php +++ b/app/Controllers/subscriptionController.php @@ -256,7 +256,7 @@ class FreshRSS_subscription_Controller extends FreshRSS_ActionController { $url_redirect = array('c' => 'subscription', 'params' => array('id' => $id)); } - if ($feedDAO->updateFeed($id, $values) !== false) { + if ($values['url'] != '' && $feedDAO->updateFeed($id, $values) !== false) { $feed->_categoryId($values['category']); // update url and website values for faviconPrepare $feed->_url($values['url'], false); @@ -265,6 +265,9 @@ class FreshRSS_subscription_Controller extends FreshRSS_ActionController { Minz_Request::good(_t('feedback.sub.feed.updated'), $url_redirect); } else { + if ($values['url'] == '') { + Minz_Log::warning('Invalid feed URL!'); + } Minz_Request::bad(_t('feedback.sub.feed.error'), $url_redirect); } } diff --git a/app/Models/Feed.php b/app/Models/Feed.php index a63c2b3ea..09cacbd61 100644 --- a/app/Models/Feed.php +++ b/app/Models/Feed.php @@ -259,13 +259,14 @@ class FreshRSS_Feed extends Minz_Model { } public function _url(string $value, bool $validate = true) { $this->hash = ''; + $url = $value; if ($validate) { - $value = checkUrl($value); + $url = checkUrl($url); } - if ($value == '') { + if ($url == '') { throw new FreshRSS_BadUrl_Exception($value); } - $this->url = $value; + $this->url = $url; } public function _kind(int $value) { $this->kind = $value; diff --git a/lib/lib_rss.php b/lib/lib_rss.php index e5362bc5c..d1821b639 100644 --- a/lib/lib_rss.php +++ b/lib/lib_rss.php @@ -845,7 +845,7 @@ function errorMessageInfo($errorTitle, $error = '') { $details = ''; // Prevent empty tags by checking if error isn not empty first if ($error) { - $error = htmlspecialchars($error, ENT_NOQUOTES, 'UTF-8'); + $error = htmlspecialchars($error, ENT_NOQUOTES, 'UTF-8') . "\n"; // First line is the main message, other lines are the details list($message, $details) = explode("\n", $error, 2); |
