From 9e8d69739f21e5ac85977d57a2a6c961e318c26e Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 10 Nov 2021 20:44:51 +0300 Subject: add two helper account access levels: - read only - can't subscribe to more feeds, feed updates are skipped - disabled - can't login define used access levels as UserHelper constants and refactor code to use them instead of hardcoded numbers --- classes/feeds.php | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'classes/feeds.php') diff --git a/classes/feeds.php b/classes/feeds.php index 987123a21..cd2633ffb 100755 --- a/classes/feeds.php +++ b/classes/feeds.php @@ -1027,10 +1027,17 @@ class Feeds extends Handler_Protected { * 5 - Couldn't download the URL content. * 6 - Content is an invalid XML. * 7 - Error while creating feed database entry. + * 8 - Permission denied (ACCESS_LEVEL_READONLY). */ static function _subscribe($url, $cat_id = 0, $auth_login = '', $auth_pass = '') : array { + $user = ORM::for_table("ttrss_users")->find_one($_SESSION['uid']); + + if ($user && $user->access_level == UserHelper::ACCESS_LEVEL_READONLY) { + return ["code" => 8]; + } + $pdo = Db::pdo(); $url = UrlHelper::validate($url); -- cgit v1.2.3