summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2021-02-05 23:41:32 +0300
committerAndrew Dolgov <[email protected]>2021-02-05 23:41:32 +0300
commit403dca154c6b539de221f9e16174a0fdd0a1e896 (patch)
tree8187096f0e04ecb60440c8551514d990d0e85b2d /classes
parentb4cbc792cc5fbbd5356f91038bf6cf5e67a19e42 (diff)
initial WIP for php8; bump php version requirement to 7.0
Diffstat (limited to 'classes')
-rwxr-xr-xclasses/api.php6
-rwxr-xr-xclasses/article.php2
-rw-r--r--classes/db/prefs.php12
-rwxr-xr-xclasses/feeds.php35
-rwxr-xr-xclasses/handler/public.php2
-rwxr-xr-xclasses/logger/sql.php2
-rwxr-xr-xclasses/pluginhost.php16
-rwxr-xr-xclasses/pref/feeds.php50
-rwxr-xr-xclasses/pref/filters.php8
-rw-r--r--classes/pref/labels.php2
-rw-r--r--classes/pref/prefs.php12
-rw-r--r--classes/pref/users.php10
-rwxr-xr-xclasses/rpc.php10
-rwxr-xr-xclasses/rssutils.php3
-rw-r--r--classes/urlhelper.php19
-rw-r--r--classes/userhelper.php2
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 "&nbsp;<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);