fix several warnings reported by phpstan
This commit is contained in:
parent
ce2335deaf
commit
b6e1a5c91a
|
@ -115,10 +115,9 @@ class Feeds extends Handler_Protected {
|
|||
|
||||
$this->mark_timestamp("init");
|
||||
|
||||
$reply = array();
|
||||
|
||||
$rgba_cache = array();
|
||||
$topmost_article_ids = array();
|
||||
$reply = [];
|
||||
$rgba_cache = [];
|
||||
$topmost_article_ids = [];
|
||||
|
||||
if (!$offset) $offset = 0;
|
||||
if ($method == "undefined") $method = "";
|
||||
|
@ -154,6 +153,8 @@ class Feeds extends Handler_Protected {
|
|||
$disable_cache = true;
|
||||
}
|
||||
|
||||
$qfh_ret = [];
|
||||
|
||||
if (!$cat_view && is_numeric($feed) && $feed < PLUGIN_FEED_BASE_INDEX && $feed > LABEL_BASE_INDEX) {
|
||||
$handler = PluginHost::getInstance()->get_feed_handler(
|
||||
PluginHost::feed_to_pfeed_id($feed));
|
||||
|
@ -220,19 +221,19 @@ class Feeds extends Handler_Protected {
|
|||
$feed, $cat_view, $search,
|
||||
$last_error, $last_updated);
|
||||
|
||||
$reply['content'] = [];
|
||||
|
||||
if ($offset == 0) {
|
||||
foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_HEADLINES_BEFORE) as $p) {
|
||||
$reply['content'] .= $p->hook_headlines_before($feed, $cat_view, $qfh_ret);
|
||||
}
|
||||
}
|
||||
|
||||
$reply['content'] = [];
|
||||
|
||||
$this->mark_timestamp("object header");
|
||||
|
||||
$headlines_count = 0;
|
||||
|
||||
if (is_object($result)) {
|
||||
if ($result instanceof PDOStatement) {
|
||||
while ($line = $result->fetch(PDO::FETCH_ASSOC)) {
|
||||
$this->mark_timestamp("article start: " . $line["id"] . " " . $line["title"]);
|
||||
|
||||
|
@ -363,7 +364,7 @@ class Feeds extends Handler_Protected {
|
|||
else
|
||||
$tags = false;
|
||||
|
||||
$line["tags_str"] = Article::format_tags_string($tags, $id);
|
||||
$line["tags_str"] = Article::format_tags_string($tags);
|
||||
|
||||
$this->mark_timestamp(" tags");
|
||||
|
||||
|
@ -410,7 +411,7 @@ class Feeds extends Handler_Protected {
|
|||
|
||||
if (!$headlines_count) {
|
||||
|
||||
if (is_object($result)) {
|
||||
if ($result instanceof PDOStatement) {
|
||||
|
||||
if ($query_error_override) {
|
||||
$message = $query_error_override;
|
||||
|
@ -1087,7 +1088,7 @@ class Feeds extends Handler_Protected {
|
|||
} else if ($n_feed >= 0) {
|
||||
|
||||
if ($n_feed != 0) {
|
||||
$match_part = "feed_id = " . (int)$n_feed;
|
||||
$match_part = sprintf("feed_id = %d", $n_feed);
|
||||
} else {
|
||||
$match_part = "feed_id IS NULL";
|
||||
}
|
||||
|
|
|
@ -244,7 +244,7 @@ class RPC extends Handler_Protected {
|
|||
function setpanelmode() {
|
||||
$wide = (int) clean($_REQUEST["wide"]);
|
||||
|
||||
setcookie("ttrss_widescreen", $wide,
|
||||
setcookie("ttrss_widescreen", (string)$wide,
|
||||
time() + COOKIE_LIFETIME_LONG);
|
||||
|
||||
print json_encode(array("wide" => $wide));
|
||||
|
@ -462,7 +462,7 @@ class RPC extends Handler_Protected {
|
|||
$params["default_view_order_by"] = get_pref("_DEFAULT_VIEW_ORDER_BY");
|
||||
$params["bw_limit"] = (int) $_SESSION["bw_limit"];
|
||||
$params["is_default_pw"] = Pref_Prefs::isdefaultpassword();
|
||||
$params["label_base_index"] = (int) LABEL_BASE_INDEX;
|
||||
$params["label_base_index"] = LABEL_BASE_INDEX;
|
||||
|
||||
$theme = get_pref( "USER_CSS_THEME", false, false);
|
||||
$params["theme"] = theme_exists($theme) ? $theme : "";
|
||||
|
@ -490,7 +490,7 @@ class RPC extends Handler_Protected {
|
|||
|
||||
$params["widescreen"] = (int) ($_COOKIE["ttrss_widescreen"] ?? 0);
|
||||
|
||||
$params['simple_update'] = defined('SIMPLE_UPDATE_MODE') && SIMPLE_UPDATE_MODE;
|
||||
$params['simple_update'] = SIMPLE_UPDATE_MODE;
|
||||
|
||||
$params["icon_indicator_white"] = $this->image_to_base64("images/indicator_white.gif");
|
||||
|
||||
|
@ -503,7 +503,7 @@ class RPC extends Handler_Protected {
|
|||
if (file_exists($filename)) {
|
||||
$ext = pathinfo($filename, PATHINFO_EXTENSION);
|
||||
|
||||
return "data:image/$ext;base64," . base64_encode(file_get_contents($filename));
|
||||
return "data:image/$ext;base64," . base64_encode((string)file_get_contents($filename));
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
|
@ -719,7 +719,7 @@ class RPC extends Handler_Protected {
|
|||
$prefixes = array();
|
||||
|
||||
foreach (array_keys($hotkeys) as $hotkey) {
|
||||
$pair = explode(" ", $hotkey, 2);
|
||||
$pair = explode(" ", (string)$hotkey, 2);
|
||||
|
||||
if (count($pair) > 1 && !in_array($pair[0], $prefixes)) {
|
||||
array_push($prefixes, $pair[0]);
|
||||
|
|
|
@ -1415,7 +1415,7 @@ class RSSUtils {
|
|||
* @param string query
|
||||
* @return array params
|
||||
*/
|
||||
static function convertUrlQuery($query) {
|
||||
/* static function convertUrlQuery($query) {
|
||||
$queryParts = explode('&', $query);
|
||||
|
||||
$params = array();
|
||||
|
@ -1426,7 +1426,7 @@ class RSSUtils {
|
|||
}
|
||||
|
||||
return $params;
|
||||
}
|
||||
} */
|
||||
|
||||
static function get_article_filters($filters, $title, $content, $link, $author, $tags, &$matched_rules = false, &$matched_filters = false) {
|
||||
$matches = array();
|
||||
|
@ -1435,14 +1435,16 @@ class RSSUtils {
|
|||
$match_any_rule = $filter["match_any_rule"];
|
||||
$inverse = $filter["inverse"];
|
||||
$filter_match = false;
|
||||
$last_processed_rule = false;
|
||||
|
||||
foreach ($filter["rules"] as $rule) {
|
||||
$match = false;
|
||||
$reg_exp = str_replace('/', '\/', $rule["reg_exp"]);
|
||||
$reg_exp = str_replace('/', '\/', (string)$rule["reg_exp"]);
|
||||
$reg_exp = str_replace("\n", "", $reg_exp); // reg_exp may be formatted with CRs now because of textarea, we need to strip those
|
||||
$rule_inverse = $rule["inverse"];
|
||||
$last_processed_rule = $rule;
|
||||
|
||||
if (!$reg_exp)
|
||||
if (empty($reg_exp))
|
||||
continue;
|
||||
|
||||
switch ($rule["type"]) {
|
||||
|
@ -1451,13 +1453,13 @@ class RSSUtils {
|
|||
break;
|
||||
case "content":
|
||||
// we don't need to deal with multiline regexps
|
||||
$content = preg_replace("/[\r\n\t]/", "", $content);
|
||||
$content = (string)preg_replace("/[\r\n\t]/", "", $content);
|
||||
|
||||
$match = @preg_match("/$reg_exp/iu", $content);
|
||||
break;
|
||||
case "both":
|
||||
// we don't need to deal with multiline regexps
|
||||
$content = preg_replace("/[\r\n\t]/", "", $content);
|
||||
$content = (string)preg_replace("/[\r\n\t]/", "", $content);
|
||||
|
||||
$match = (@preg_match("/$reg_exp/iu", $title) || @preg_match("/$reg_exp/iu", $content));
|
||||
break;
|
||||
|
@ -1495,7 +1497,7 @@ class RSSUtils {
|
|||
if ($inverse) $filter_match = !$filter_match;
|
||||
|
||||
if ($filter_match) {
|
||||
if (is_array($matched_rules)) array_push($matched_rules, $rule);
|
||||
if (is_array($matched_rules)) array_push($matched_rules, $last_processed_rule);
|
||||
if (is_array($matched_filters)) array_push($matched_filters, $filter);
|
||||
|
||||
foreach ($filter["actions"] AS $action) {
|
||||
|
@ -1581,11 +1583,11 @@ class RSSUtils {
|
|||
|
||||
$pdo->beginTransaction();
|
||||
|
||||
$days = (int) DAEMON_UNSUCCESSFUL_DAYS_LIMIT;
|
||||
$days = DAEMON_UNSUCCESSFUL_DAYS_LIMIT;
|
||||
|
||||
if (DB_TYPE == "pgsql") {
|
||||
$interval_query = "last_successful_update < NOW() - INTERVAL '$days days' AND last_updated > NOW() - INTERVAL '1 days'";
|
||||
} else if (DB_TYPE == "mysql") {
|
||||
} else /* if (DB_TYPE == "mysql") */ {
|
||||
$interval_query = "last_successful_update < DATE_SUB(NOW(), INTERVAL $days DAY) AND last_updated > DATE_SUB(NOW(), INTERVAL 1 DAY)";
|
||||
}
|
||||
|
||||
|
|
|
@ -188,16 +188,16 @@ class Sanitizer {
|
|||
$text = $child->textContent;
|
||||
|
||||
while (($pos = mb_stripos($text, $word)) !== false) {
|
||||
$fragment->appendChild(new DomText(mb_substr($text, 0, $pos)));
|
||||
$word = mb_substr($text, $pos, mb_strlen($word));
|
||||
$fragment->appendChild(new DOMText(mb_substr($text, 0, (int)$pos)));
|
||||
$word = mb_substr($text, (int)$pos, mb_strlen($word));
|
||||
$highlight = $doc->createElement('span');
|
||||
$highlight->appendChild(new DomText($word));
|
||||
$highlight->appendChild(new DOMText($word));
|
||||
$highlight->setAttribute('class', 'highlight');
|
||||
$fragment->appendChild($highlight);
|
||||
$text = mb_substr($text, $pos + mb_strlen($word));
|
||||
}
|
||||
|
||||
if (!empty($text)) $fragment->appendChild(new DomText($text));
|
||||
if (!empty($text)) $fragment->appendChild(new DOMText($text));
|
||||
|
||||
$child->parentNode->replaceChild($fragment, $child);
|
||||
}
|
||||
|
|
|
@ -82,7 +82,8 @@ class TimeHelper {
|
|||
}
|
||||
|
||||
$dt = new DateTime(date('Y-m-d H:i:s', $timestamp), $source_tz);
|
||||
return $dt->format('U') + $dest_tz->getOffset($dt);
|
||||
|
||||
return (int)$dt->format('U') + $dest_tz->getOffset($dt);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -237,6 +237,8 @@ class UrlHelper {
|
|||
|
||||
$ch = curl_init($url);
|
||||
|
||||
if (!$ch) return false;
|
||||
|
||||
$curl_http_headers = [];
|
||||
|
||||
if ($last_modified && !$post_query)
|
||||
|
@ -361,7 +363,7 @@ class UrlHelper {
|
|||
|
||||
$is_gzipped = RSSUtils::is_gzipped($contents);
|
||||
|
||||
if ($is_gzipped) {
|
||||
if ($is_gzipped && is_string($contents)) {
|
||||
$tmp = @gzdecode($contents);
|
||||
|
||||
if ($tmp) $contents = $tmp;
|
||||
|
@ -433,28 +435,26 @@ class UrlHelper {
|
|||
|
||||
$data = @file_get_contents($url, false, $context);
|
||||
|
||||
if (isset($http_response_header) && is_array($http_response_header)) {
|
||||
foreach ($http_response_header as $header) {
|
||||
if (strstr($header, ": ") !== false) {
|
||||
list ($key, $value) = explode(": ", $header);
|
||||
foreach ($http_response_header as $header) {
|
||||
if (strstr($header, ": ") !== false) {
|
||||
list ($key, $value) = explode(": ", $header);
|
||||
|
||||
$key = strtolower($key);
|
||||
$key = strtolower($key);
|
||||
|
||||
if ($key == 'content-type') {
|
||||
$fetch_last_content_type = $value;
|
||||
// don't abort here b/c there might be more than one
|
||||
// e.g. if we were being redirected -- last one is the right one
|
||||
} else if ($key == 'last-modified') {
|
||||
$fetch_last_modified = $value;
|
||||
} else if ($key == 'location') {
|
||||
$fetch_effective_url = $value;
|
||||
}
|
||||
if ($key == 'content-type') {
|
||||
$fetch_last_content_type = $value;
|
||||
// don't abort here b/c there might be more than one
|
||||
// e.g. if we were being redirected -- last one is the right one
|
||||
} else if ($key == 'last-modified') {
|
||||
$fetch_last_modified = $value;
|
||||
} else if ($key == 'location') {
|
||||
$fetch_effective_url = $value;
|
||||
}
|
||||
}
|
||||
|
||||
if (substr(strtolower($header), 0, 7) == 'http/1.') {
|
||||
$fetch_last_error_code = (int) substr($header, 9, 3);
|
||||
$fetch_last_error = $header;
|
||||
}
|
||||
if (substr(strtolower($header), 0, 7) == 'http/1.') {
|
||||
$fetch_last_error_code = (int) substr($header, 9, 3);
|
||||
$fetch_last_error = $header;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -472,7 +472,7 @@ class UrlHelper {
|
|||
|
||||
$is_gzipped = RSSUtils::is_gzipped($data);
|
||||
|
||||
if ($is_gzipped) {
|
||||
if ($is_gzipped && $data) {
|
||||
$tmp = @gzdecode($data);
|
||||
|
||||
if ($tmp) $data = $tmp;
|
||||
|
|
|
@ -81,7 +81,7 @@
|
|||
}
|
||||
|
||||
|
||||
function sanity_check($db_type) {
|
||||
function installer_sanity_check($db_type) {
|
||||
$errors = array();
|
||||
|
||||
if (version_compare(PHP_VERSION, '7.0.0', '<')) {
|
||||
|
@ -278,7 +278,7 @@
|
|||
<h2>Checking configuration</h2>
|
||||
|
||||
<?php
|
||||
$errors = sanity_check($DB_TYPE);
|
||||
$errors = installer_sanity_check($DB_TYPE);
|
||||
|
||||
if (count($errors) > 0) {
|
||||
print "<p>Some configuration tests failed. Please correct them before continuing.</p>";
|
||||
|
|
Loading…
Reference in New Issue