diff options
author | Andrew Dolgov <[email protected]> | 2021-02-05 23:41:32 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2021-02-05 23:41:32 +0300 |
commit | 403dca154c6b539de221f9e16174a0fdd0a1e896 (patch) | |
tree | 8187096f0e04ecb60440c8551514d990d0e85b2d /classes | |
parent | b4cbc792cc5fbbd5356f91038bf6cf5e67a19e42 (diff) |
initial WIP for php8; bump php version requirement to 7.0
Diffstat (limited to 'classes')
-rwxr-xr-x | classes/api.php | 6 | ||||
-rwxr-xr-x | classes/article.php | 2 | ||||
-rw-r--r-- | classes/db/prefs.php | 12 | ||||
-rwxr-xr-x | classes/feeds.php | 35 | ||||
-rwxr-xr-x | classes/handler/public.php | 2 | ||||
-rwxr-xr-x | classes/logger/sql.php | 2 | ||||
-rwxr-xr-x | classes/pluginhost.php | 16 | ||||
-rwxr-xr-x | classes/pref/feeds.php | 50 | ||||
-rwxr-xr-x | classes/pref/filters.php | 8 | ||||
-rw-r--r-- | classes/pref/labels.php | 2 | ||||
-rw-r--r-- | classes/pref/prefs.php | 12 | ||||
-rw-r--r-- | classes/pref/users.php | 10 | ||||
-rwxr-xr-x | classes/rpc.php | 10 | ||||
-rwxr-xr-x | classes/rssutils.php | 3 | ||||
-rw-r--r-- | classes/urlhelper.php | 19 | ||||
-rw-r--r-- | classes/userhelper.php | 2 |
16 files changed, 88 insertions, 103 deletions
diff --git a/classes/api.php b/classes/api.php index aa39171bf..802a7ae96 100755 --- a/classes/api.php +++ b/classes/api.php @@ -718,8 +718,8 @@ class API extends Handler { $label_cache = json_decode($label_cache, true); if ($label_cache) { - if ($label_cache["no-labels"] == 1) - $labels = array(); + if (($label_cache["no-labels"] ?? 0) == 1) + $labels = []; else $labels = $label_cache; } @@ -762,7 +762,7 @@ class API extends Handler { } // unify label output to ease parsing - if ($labels["no-labels"] == 1) $labels = array(); + if (($labels["no-labels"] ?? 0) == 1) $labels = []; $headline_row["labels"] = $labels; diff --git a/classes/article.php b/classes/article.php index 3a58f4576..ff8778096 100755 --- a/classes/article.php +++ b/classes/article.php @@ -687,7 +687,7 @@ class Article extends Handler_Protected { if ($label_cache) { $tmp = json_decode($label_cache, true); - if (!$tmp || $tmp["no-labels"] == 1) + if (empty($tmp) || ($tmp["no-labels"] ?? 0) == 1) return $rv; else return $tmp; diff --git a/classes/db/prefs.php b/classes/db/prefs.php index fbe7e0eea..24153b19a 100644 --- a/classes/db/prefs.php +++ b/classes/db/prefs.php @@ -8,7 +8,7 @@ class Db_Prefs { $this->pdo = Db::pdo(); $this->cache = array(); - if ($_SESSION["uid"]) $this->cache(); + if (!empty($_SESSION["uid"])) $this->cache(); } private function __clone() { @@ -24,7 +24,7 @@ class Db_Prefs { function cache() { $user_id = $_SESSION["uid"]; - @$profile = $_SESSION["profile"]; + $profile = $_SESSION["profile"] ?? false; if (!is_numeric($profile) || !$profile || get_schema_version() < 63) $profile = null; @@ -55,12 +55,12 @@ class Db_Prefs { if (!$user_id) { $user_id = $_SESSION["uid"]; - @$profile = $_SESSION["profile"]; + $profile = $_SESSION["profile"] ?? false; } else { $profile = false; } - if ($user_id == $_SESSION['uid'] && isset($this->cache[$pref_name])) { + if ($user_id == ($_SESSION['uid'] ?? false) && isset($this->cache[$pref_name])) { $tuple = $this->cache[$pref_name]; return $this->convert($tuple["value"], $tuple["type"]); } @@ -83,7 +83,7 @@ class Db_Prefs { $value = $row["value"]; $type_name = $row["type_name"]; - if ($user_id == $_SESSION["uid"]) { + if ($user_id == ($_SESSION["uid"] ?? false)) { $this->cache[$pref_name]["type"] = $type_name; $this->cache[$pref_name]["value"] = $value; } @@ -113,7 +113,7 @@ class Db_Prefs { if (!$user_id) { $user_id = $_SESSION["uid"]; - @$profile = $_SESSION["profile"]; + @$profile = $_SESSION["profile"] ?? false; } else { $profile = null; } diff --git a/classes/feeds.php b/classes/feeds.php index 2015f2435..1b87fe6c7 100755 --- a/classes/feeds.php +++ b/classes/feeds.php @@ -20,7 +20,7 @@ class Feeds extends Handler_Protected { $feed_id, $is_cat, $search, $error, $feed_last_updated) { - if ($is_cat) $cat_q = "&is_cat=$is_cat"; + $cat_q = $is_cat ? "&is_cat=$is_cat" : ""; if ($search) { $search_q = "&q=$search"; @@ -31,7 +31,7 @@ class Feeds extends Handler_Protected { $reply = ""; $rss_link = htmlspecialchars(get_self_url_prefix() . - "/public.php?op=rss&id=$feed_id$cat_q$search_q"); + "/public.php?op=rss&id=${feed_id}${cat_q}${search_q}"); $reply .= "<span class='left'>"; @@ -147,8 +147,8 @@ class Feeds extends Handler_Protected { } } - @$search = $_REQUEST["query"]; - @$search_language = $_REQUEST["search_language"]; // PGSQL only + $search = $_REQUEST["query"] ?? ""; + $search_language = $_REQUEST["search_language"] ?? ""; // PGSQL only if ($search) { $disable_cache = true; @@ -274,7 +274,7 @@ class Feeds extends Handler_Protected { $label_cache = json_decode($label_cache, true); if ($label_cache) { - if ($label_cache["no-labels"] == 1) + if ($label_cache["no-labels"] ?? false == 1) $labels = array(); else $labels = $label_cache; @@ -295,7 +295,7 @@ class Feeds extends Handler_Protected { $this->mark_timestamp(" labels"); - if (!$line["feed_title"]) $line["feed_title"] = ""; + $line["feed_title"] = $line["feed_title"] ?? ""; $line["buttons_left"] = ""; foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_ARTICLE_LEFT_BUTTON) as $p) { @@ -374,7 +374,7 @@ class Feeds extends Handler_Protected { } //setting feed headline background color, needs to change text color based on dark/light - $fav_color = $line['favicon_avg_color']; + $fav_color = $line['favicon_avg_color'] ?? false; $this->mark_timestamp(" pre-color"); @@ -483,14 +483,14 @@ class Feeds extends Handler_Protected { $reply = array(); $feed = $_REQUEST["feed"]; - $method = $_REQUEST["m"]; + $method = $_REQUEST["m"] ?? ""; $view_mode = $_REQUEST["view_mode"]; $limit = 30; - @$cat_view = $_REQUEST["cat"] == "true"; - @$next_unread_feed = $_REQUEST["nuf"]; - @$offset = $_REQUEST["skip"]; + $cat_view = $_REQUEST["cat"] == "true"; + $next_unread_feed = $_REQUEST["nuf"] ?? 0; + $offset = $_REQUEST["skip"] ?? 0; $order_by = $_REQUEST["order_by"]; - $check_first_id = $_REQUEST["fid"]; + $check_first_id = $_REQUEST["fid"] ?? 0; if (is_numeric($feed)) $feed = (int) $feed; @@ -564,7 +564,7 @@ class Feeds extends Handler_Protected { else $reply['headlines']['id'] = $next_unread_feed; - $reply['headlines']['is_cat'] = (bool) $cat_view; + $reply['headlines']['is_cat'] = $cat_view; $reply['headlines-info'] = ["count" => (int) $headlines_count, "disable_cache" => (bool) $disable_cache]; @@ -1794,7 +1794,7 @@ class Feeds extends Handler_Protected { $sanity_interval_qpart $first_id_query_strategy_part ORDER BY $order_by LIMIT 1"; - if ($_REQUEST["debug"]) { + if (!empty($_REQUEST["debug"])) { print "\n*** FIRST ID QUERY ***\n$query\n"; } @@ -1846,7 +1846,7 @@ class Feeds extends Handler_Protected { //if ($_REQUEST["debug"]) print $query; - if ($_REQUEST["debug"]) { + if (!empty($_REQUEST["debug"])) { print "\n*** HEADLINES QUERY ***\n$query\n"; } @@ -1902,7 +1902,7 @@ class Feeds extends Handler_Protected { //if ($_REQUEST["debug"]) print $query; - if ($_REQUEST["debug"]) { + if (!empty($_REQUEST["debug"])) { print "\n*** TAGS QUERY ***\n$query\n"; } @@ -2370,10 +2370,9 @@ class Feeds extends Handler_Protected { function mark_timestamp($label) { - if (!$_REQUEST['timestamps']) + if (empty($_REQUEST['timestamps'])) return; - if (!$this->viewfeed_timestamp) $this->viewfeed_timestamp = hrtime(true); if (!$this->viewfeed_timestamp_last) $this->viewfeed_timestamp_last = hrtime(true); diff --git a/classes/handler/public.php b/classes/handler/public.php index fdf55b1d2..86262326b 100755 --- a/classes/handler/public.php +++ b/classes/handler/public.php @@ -731,7 +731,7 @@ class Handler_Public extends Handler { if ($_SESSION["uid"]) { - $feed_url = trim(clean($_REQUEST["feed_url"])); + $feed_url = clean($_REQUEST["feed_url"]); $csrf_token = clean($_POST["csrf_token"]); header('Content-Type: text/html; charset=utf-8'); diff --git a/classes/logger/sql.php b/classes/logger/sql.php index c1ea16ef9..ad7fdecb2 100755 --- a/classes/logger/sql.php +++ b/classes/logger/sql.php @@ -10,7 +10,7 @@ class Logger_SQL { if ($this->pdo && get_schema_version() > 117) { - $owner_uid = $_SESSION["uid"] ? $_SESSION["uid"] : null; + $owner_uid = $_SESSION["uid"] ?? null; // limit context length, DOMDocument dumps entire XML in here sometimes, which may be huge $context = mb_substr($context, 0, 8192); diff --git a/classes/pluginhost.php b/classes/pluginhost.php index 08871af51..e56a237fc 100755 --- a/classes/pluginhost.php +++ b/classes/pluginhost.php @@ -128,7 +128,7 @@ class PluginHost { } function get_plugin($name) { - return $this->plugins[strtolower($name)]; + return $this->plugins[strtolower($name)] ?? null; } function run_hooks($type, $method, $args) { @@ -140,11 +140,11 @@ class PluginHost { function add_hook($type, $sender, $priority = 50) { $priority = (int) $priority; - if (!is_array($this->hooks[$type])) { + if (empty($this->hooks[$type])) { $this->hooks[$type] = []; } - if (!is_array($this->hooks[$type][$priority])) { + if (empty($this->hooks[$type][$priority])) { $this->hooks[$type][$priority] = []; } @@ -277,7 +277,7 @@ class PluginHost { function is_system($plugin) { $about = $plugin->about(); - return @$about[3]; + return $about[3] ?? false; } // only system plugins are allowed to modify routing @@ -307,7 +307,7 @@ class PluginHost { $handler = str_replace("-", "_", strtolower($handler)); $method = strtolower($method); - if (is_array($this->handlers[$handler])) { + if (isset($this->handlers[$handler])) { if (isset($this->handlers[$handler]["*"])) { return $this->handlers[$handler]["*"]; } else { @@ -429,9 +429,7 @@ class PluginHost { function get_all($sender) { $idx = get_class($sender); - $data = $this->storage[$idx]; - - return $data ? $data : []; + return $this->storage[$idx] ?? []; } function clear_data($sender) { @@ -461,7 +459,7 @@ class PluginHost { } function get_feeds($cat_id) { - return $this->feeds[$cat_id]; + return $this->feeds[$cat_id] ?? []; } // convert feed_id (e.g. -129) to pfeed_id first diff --git a/classes/pref/feeds.php b/classes/pref/feeds.php index 88c5b7f0e..474f1e1db 100755 --- a/classes/pref/feeds.php +++ b/classes/pref/feeds.php @@ -42,14 +42,14 @@ class Pref_Feeds extends Handler_Protected { private function get_category_items($cat_id) { - if (clean($_REQUEST['mode']) != 2) - $search = $_SESSION["prefs_feed_search"]; + if (clean($_REQUEST['mode'] ?? 0) != 2) + $search = $_SESSION["prefs_feed_search"] ?? ""; else $search = ""; // first one is set by API - $show_empty_cats = clean($_REQUEST['force_show_empty']) || - (clean($_REQUEST['mode']) != 2 && !$search); + $show_empty_cats = clean($_REQUEST['force_show_empty'] ?? false) || + (clean($_REQUEST['mode'] ?? 0) != 2 && !$search); $items = array(); @@ -117,8 +117,8 @@ class Pref_Feeds extends Handler_Protected { function makefeedtree() { - if (clean($_REQUEST['mode']) != 2) - $search = $_SESSION["prefs_feed_search"]; + if (clean($_REQUEST['mode'] ?? 0) != 2) + $search = $_SESSION["prefs_feed_search"] ?? ""; else $search = ""; @@ -131,7 +131,7 @@ class Pref_Feeds extends Handler_Protected { $enable_cats = get_pref('ENABLE_FEED_CATS'); - if (clean($_REQUEST['mode']) == 2) { + if (clean($_REQUEST['mode'] ?? 0) == 2) { if ($enable_cats) { $cat = $this->feedlist_init_cat(-1); @@ -208,8 +208,8 @@ class Pref_Feeds extends Handler_Protected { } if ($enable_cats) { - $show_empty_cats = clean($_REQUEST['force_show_empty']) || - (clean($_REQUEST['mode']) != 2 && !$search); + $show_empty_cats = clean($_REQUEST['force_show_empty'] ?? false) || + (clean($_REQUEST['mode'] ?? 0) != 2 && !$search); $sth = $this->pdo->prepare("SELECT id, title FROM ttrss_feed_categories WHERE owner_uid = ? AND parent_cat IS NULL ORDER BY order_id, title"); @@ -320,7 +320,7 @@ class Pref_Feeds extends Handler_Protected { $fl['identifier'] = 'id'; $fl['label'] = 'name'; - if (clean($_REQUEST['mode']) != 2) { + if (clean($_REQUEST['mode'] ?? 0) != 2) { $fl['items'] = array($root); } else { $fl['items'] = $root['items']; @@ -551,11 +551,9 @@ class Pref_Feeds extends Handler_Protected { regExp='^(http|https)://.*' style='width : 300px' name='feed_url' value=\"$feed_url\">"; - $last_error = $row["last_error"]; - - if ($last_error) { + if (!empty($row["last_error"])) { print " <i class=\"material-icons\" - title=\"".htmlspecialchars($last_error)."\">error</i>"; + title=\"".htmlspecialchars($row["last_error"])."\">error</i>"; } print "</fieldset>"; @@ -996,16 +994,16 @@ class Pref_Feeds extends Handler_Protected { function editsaveops($batch) { - $feed_title = trim(clean($_POST["title"])); - $feed_url = trim(clean($_POST["feed_url"])); - $site_url = trim(clean($_POST["site_url"])); + $feed_title = clean($_POST["title"]); + $feed_url = clean($_POST["feed_url"]); + $site_url = clean($_POST["site_url"]); $upd_intl = (int) clean($_POST["update_interval"]); $purge_intl = (int) clean($_POST["purge_interval"]); $feed_id = (int) clean($_POST["id"]); /* editSave */ $feed_ids = explode(",", clean($_POST["ids"])); /* batchEditSave */ $cat_id = (int) clean($_POST["cat_id"]); - $auth_login = trim(clean($_POST["auth_login"])); - $auth_pass = trim(clean($_POST["auth_pass"])); + $auth_login = clean($_POST["auth_login"]); + $auth_pass = clean($_POST["auth_pass"]); $private = checkbox_to_sql_bool(clean($_POST["private"])); $include_in_digest = checkbox_to_sql_bool( clean($_POST["include_in_digest"])); @@ -1019,7 +1017,7 @@ class Pref_Feeds extends Handler_Protected { $mark_unread_on_update = checkbox_to_sql_bool( clean($_POST["mark_unread_on_update"])); - $feed_language = trim(clean($_POST["feed_language"])); + $feed_language = clean($_POST["feed_language"]); if (!$batch) { if (clean($_POST["need_auth"]) !== 'on') { @@ -1193,7 +1191,7 @@ class Pref_Feeds extends Handler_Protected { } function addCat() { - $feed_cat = trim(clean($_REQUEST["cat"])); + $feed_cat = clean($_REQUEST["cat"]); Feeds::add_feed_category($feed_cat); } @@ -1228,12 +1226,12 @@ class Pref_Feeds extends Handler_Protected { onclick=\"dijit.byId('feedTree').showInactiveFeeds()\">" . __("Inactive feeds") . "</button>"; - $feed_search = clean($_REQUEST["search"]); + $feed_search = clean($_REQUEST["search"] ?? ""); if (array_key_exists("search", $_REQUEST)) { $_SESSION["prefs_feed_search"] = $feed_search; } else { - $feed_search = $_SESSION["prefs_feed_search"]; + $feed_search = $_SESSION["prefs_feed_search"] ?? ""; } print '<div dojoType="dijit.layout.BorderContainer" gutters="false">'; @@ -1689,7 +1687,7 @@ class Pref_Feeds extends Handler_Protected { $cat_id = clean($_REQUEST['cat']); $feeds = explode("\n", clean($_REQUEST['feeds'])); $login = clean($_REQUEST['login']); - $pass = trim(clean($_REQUEST['pass'])); + $pass = clean($_REQUEST['pass']); $csth = $this->pdo->prepare("SELECT id FROM ttrss_feeds WHERE feed_url = ? AND owner_uid = ?"); @@ -1756,8 +1754,8 @@ class Pref_Feeds extends Handler_Protected { private function calculate_children_count($cat) { $c = 0; - foreach ($cat['items'] as $child) { - if ($child['type'] == 'category') { + foreach ($cat['items'] ?? [] as $child) { + if ($child['type'] ?? '' == 'category') { $c += $this->calculate_children_count($child); } else { $c += 1; diff --git a/classes/pref/filters.php b/classes/pref/filters.php index 70b7d0326..d733ad9da 100755 --- a/classes/pref/filters.php +++ b/classes/pref/filters.php @@ -599,9 +599,9 @@ class Pref_Filters extends Handler_Protected { function editSave() { $filter_id = clean($_REQUEST["id"]); - $enabled = checkbox_to_sql_bool(clean($_REQUEST["enabled"])); + $enabled = checkbox_to_sql_bool(clean($_REQUEST["enabled"] ?? false)); $match_any_rule = checkbox_to_sql_bool(clean($_REQUEST["match_any_rule"])); - $inverse = checkbox_to_sql_bool(clean($_REQUEST["inverse"])); + $inverse = checkbox_to_sql_bool(clean($_REQUEST["inverse"] ?? false)); $title = clean($_REQUEST["title"]); $this->pdo->beginTransaction(); @@ -638,8 +638,8 @@ class Pref_Filters extends Handler_Protected { $sth = $this->pdo->prepare("DELETE FROM ttrss_filters2_actions WHERE filter_id = ?"); $sth->execute([$filter_id]); - if (!is_array(clean($_REQUEST["rule"]))) $_REQUEST["rule"] = []; - if (!is_array(clean($_REQUEST["action"]))) $_REQUEST["action"] = []; + if (!is_array(clean($_REQUEST["rule"] ?? ""))) $_REQUEST["rule"] = []; + if (!is_array(clean($_REQUEST["action"] ?? ""))) $_REQUEST["action"] = []; if ($filter_id) { /* create rules */ diff --git a/classes/pref/labels.php b/classes/pref/labels.php index ec9667441..b4d1236b2 100644 --- a/classes/pref/labels.php +++ b/classes/pref/labels.php @@ -166,7 +166,7 @@ class Pref_Labels extends Handler_Protected { function save() { $id = clean($_REQUEST["id"]); - $caption = trim(clean($_REQUEST["caption"])); + $caption = clean($_REQUEST["caption"]); $this->pdo->beginTransaction(); diff --git a/classes/pref/prefs.php b/classes/pref/prefs.php index 55a15efb8..a77c1abaa 100644 --- a/classes/pref/prefs.php +++ b/classes/pref/prefs.php @@ -321,7 +321,7 @@ class Pref_Prefs extends Handler_Protected { print "<input dojoType='dijit.form.ValidationTextBox' name='email' required='1' value='$email'>"; print "</fieldset>"; - if (!SINGLE_USER_MODE && !$_SESSION["hide_hello"]) { + if (!SINGLE_USER_MODE && !empty($_SESSION["hide_hello"])) { $access_level = $row["access_level"]; print "<fieldset>"; @@ -595,7 +595,7 @@ class Pref_Prefs extends Handler_Protected { print '<div dojoType="dijit.layout.ContentPane" region="center" style="overflow-y : auto">'; - $profile = $_SESSION["profile"]; + $profile = $_SESSION["profile"] ?? null; if ($profile) { print_notice(__("Some preferences are only available in default profile.")); @@ -916,7 +916,7 @@ class Pref_Prefs extends Handler_Protected { foreach ($tmppluginhost->get_plugins() as $name => $plugin) { $about = $plugin->about(); - if ($about[3]) { + if ($about[3] ?? false) { if (in_array($name, $system_enabled)) { $checked = "checked='1'"; } else { @@ -930,7 +930,7 @@ class Pref_Prefs extends Handler_Protected { dojoType='dijit.form.CheckBox' $checked type='checkbox'> ".htmlspecialchars($about[1]). "</label>"; - if (@$about[4]) { + if ($about[4] ?? false) { print "<button dojoType='dijit.form.Button' class='alt-info' onclick='window.open(\"".htmlspecialchars($about[4])."\")'> <i class='material-icons'>open_in_new</i> ".__("More info...")."</button>"; @@ -950,7 +950,7 @@ class Pref_Prefs extends Handler_Protected { foreach ($tmppluginhost->get_plugins() as $name => $plugin) { $about = $plugin->about(); - if (!$about[3]) { + if ($about[3] ?? false) { $checked = ""; $disabled = ""; @@ -976,7 +976,7 @@ class Pref_Prefs extends Handler_Protected { } } - if (@$about[4]) { + if ($about[4] ?? false) { print " <button dojoType='dijit.form.Button' class='alt-info' onclick='window.open(\"".htmlspecialchars($about[4])."\")'> <i class='material-icons'>open_in_new</i> ".__("More info...")."</button>"; diff --git a/classes/pref/users.php b/classes/pref/users.php index 5ec7aa2e6..187a7c525 100644 --- a/classes/pref/users.php +++ b/classes/pref/users.php @@ -191,10 +191,10 @@ class Pref_Users extends Handler_Protected { } function editSave() { - $login = trim(clean($_REQUEST["login"])); + $login = clean($_REQUEST["login"]); $uid = clean($_REQUEST["id"]); $access_level = (int) clean($_REQUEST["access_level"]); - $email = trim(clean($_REQUEST["email"])); + $email = clean($_REQUEST["email"]); $password = clean($_REQUEST["password"]); if ($password) { @@ -230,7 +230,7 @@ class Pref_Users extends Handler_Protected { } function add() { - $login = trim(clean($_REQUEST["login"])); + $login = clean($_REQUEST["login"]); $tmp_user_pwd = make_password(); $salt = substr(bin2hex(get_random_bytes(125)), 0, 250); $pwd_hash = encrypt_password($tmp_user_pwd, $salt, true); @@ -315,7 +315,7 @@ class Pref_Users extends Handler_Protected { print "<div style='padding : 0px' dojoType='dijit.layout.ContentPane' region='top'>"; print "<div dojoType='fox.Toolbar'>"; - $user_search = trim(clean($_REQUEST["search"])); + $user_search = clean($_REQUEST["search"] ?? ""); if (array_key_exists("search", $_REQUEST)) { $_SESSION["prefs_user_search"] = $user_search; @@ -330,7 +330,7 @@ class Pref_Users extends Handler_Protected { __('Search')."</button> </div>"; - $sort = clean($_REQUEST["sort"]); + $sort = clean($_REQUEST["sort"] ?? ""); if (!$sort || $sort == "undefined") { $sort = "login"; diff --git a/classes/rpc.php b/classes/rpc.php index 0e881b3ce..fc108478f 100755 --- a/classes/rpc.php +++ b/classes/rpc.php @@ -15,7 +15,7 @@ class RPC extends Handler_Protected { } function remprofiles() { - $ids = explode(",", trim(clean($_REQUEST["ids"]))); + $ids = explode(",", clean($_REQUEST["ids"])); foreach ($ids as $id) { if ($_SESSION["profile"] != $id) { @@ -28,7 +28,7 @@ class RPC extends Handler_Protected { // Silent function addprofile() { - $title = trim(clean($_REQUEST["title"])); + $title = clean($_REQUEST["title"]); if ($title) { $this->pdo->beginTransaction(); @@ -63,7 +63,7 @@ class RPC extends Handler_Protected { function saveprofile() { $id = clean($_REQUEST["id"]); - $title = trim(clean($_REQUEST["value"])); + $title = clean($_REQUEST["value"]); if ($id == 0) { print __("Default profile"); @@ -85,7 +85,7 @@ class RPC extends Handler_Protected { $cat = clean($_REQUEST['cat']); $need_auth = isset($_REQUEST['need_auth']); $login = $need_auth ? clean($_REQUEST['login']) : ''; - $pass = $need_auth ? trim(clean($_REQUEST['pass'])) : ''; + $pass = $need_auth ? clean($_REQUEST['pass']) : ''; $rc = Feeds::subscribe_to_feed($feed, $cat, $login, $pass); @@ -546,7 +546,7 @@ class RPC extends Handler_Protected { $data['daemon_is_running'] = (int) file_is_locked("update_daemon.lock"); - if (time() - $_SESSION["daemon_stamp_check"] > 30) { + if (time() - ($_SESSION["daemon_stamp_check"] ?? 0) > 30) { $stamp = (int) @file_get_contents(LOCK_DIRECTORY . "/update_daemon.stamp"); diff --git a/classes/rssutils.php b/classes/rssutils.php index 96f7b7c36..4040450d5 100755 --- a/classes/rssutils.php +++ b/classes/rssutils.php @@ -10,7 +10,8 @@ class RSSUtils { continue; if ($k != "feed" && isset($v)) { - $x = strip_tags(is_array($v) ? implode(",", $v) : $v); + $x = strip_tags( + is_array($v) ? implode(",", array_keys($v)) : $v); $tmp .= sha1("$k:" . sha1($x)); } diff --git a/classes/urlhelper.php b/classes/urlhelper.php index fec36de51..ecb7ed67c 100644 --- a/classes/urlhelper.php +++ b/classes/urlhelper.php @@ -22,7 +22,7 @@ class UrlHelper { $rel_parts = parse_url($rel_url); - if ($rel_parts['host'] && $rel_parts['scheme']) { + if (!empty($rel_parts['host']) && !empty($rel_parts['scheme'])) { return self::validate($rel_url); } else if (strpos($rel_url, "//") === 0) { # protocol-relative URL (rare but they exist) @@ -61,7 +61,7 @@ class UrlHelper { // this isn't really necessary because filter_var(... FILTER_VALIDATE_URL) requires host and scheme // as per https://php.watch/versions/7.3/filter-var-flag-deprecation but it might save time - if (!$tokens['host']) + if (empty($tokens['host'])) return false; if (!in_array(strtolower($tokens['scheme']), ['http', 'https'])) @@ -82,7 +82,7 @@ class UrlHelper { // (used for validation only, we actually request the original URL, in case of urlencode breaking it) $tokens_filter_var = $tokens; - if ($tokens['path']) { + if ($tokens['path'] ?? false) { $tokens_filter_var['path'] = implode("/", array_map("rawurlencode", array_map("rawurldecode", @@ -96,7 +96,7 @@ class UrlHelper { return false; if ($extended_filtering) { - if (!in_array($tokens['port'], [80, 443, ''])) + if (!in_array($tokens['port'] ?? '', [80, 443, ''])) return false; if (strtolower($tokens['host']) == 'localhost' || $tokens['host'] == '::1' || strpos($tokens['host'], '127.') === 0) @@ -166,7 +166,6 @@ class UrlHelper { global $fetch_effective_url; global $fetch_effective_ip_addr; global $fetch_curl_used; - global $fetch_domain_hits; $fetch_last_error = false; $fetch_last_error_code = -1; @@ -177,9 +176,6 @@ class UrlHelper { $fetch_effective_url = ""; $fetch_effective_ip_addr = ""; - if (!is_array($fetch_domain_hits)) - $fetch_domain_hits = []; - if (!is_array($options)) { // falling back on compatibility shim @@ -235,13 +231,6 @@ class UrlHelper { return false; } - $fetch_domain_hits[$url_host] += 1; - - /*if ($fetch_domain_hits[$url_host] > MAX_FETCH_REQUESTS_PER_HOST) { - user_error("Exceeded fetch request quota for $url_host: " . $fetch_domain_hits[$url_host], E_USER_WARNING); - #return false; - }*/ - if (!defined('NO_CURL') && function_exists('curl_init') && !ini_get("open_basedir")) { $fetch_curl_used = true; diff --git a/classes/userhelper.php b/classes/userhelper.php index 76bb338d4..b81ae87c8 100644 --- a/classes/userhelper.php +++ b/classes/userhelper.php @@ -75,7 +75,7 @@ class UserHelper { if (!$pluginhost) $pluginhost = PluginHost::getInstance(); - if ($owner_uid && SCHEMA_VERSION >= 100 && !$_SESSION["safe_mode"]) { + if ($owner_uid && SCHEMA_VERSION >= 100 && empty($_SESSION["safe_mode"])) { $plugins = get_pref("_ENABLED_PLUGINS", $owner_uid); $pluginhost->load($plugins, PluginHost::KIND_USER, $owner_uid); |