diff options
author | Andrew Dolgov <[email protected]> | 2021-11-20 16:11:44 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2021-11-20 16:11:44 +0300 |
commit | 3323ae78ce4e021b4ffc00b96770fc23bbbc8e47 (patch) | |
tree | 13addfd70484febeddfa2325b32af4370c1a4835 | |
parent | e7111e4f1422095afcafc92703c4d10dc3358014 (diff) |
* sql_bool_to_bool: make parameter nullable
* errorhandler: don't try to truncate null strings
* UrlHelper::rewrite_relative: fix undefined offset warnings for URLs
that lack schema/host (data: etc)
-rw-r--r-- | classes/urlhelper.php | 4 | ||||
-rw-r--r-- | include/errorhandler.php | 2 | ||||
-rw-r--r-- | include/functions.php | 7 |
3 files changed, 9 insertions, 4 deletions
diff --git a/classes/urlhelper.php b/classes/urlhelper.php index 91e1d4822..9bb4da962 100644 --- a/classes/urlhelper.php +++ b/classes/urlhelper.php @@ -89,8 +89,8 @@ class UrlHelper { } else { $base_parts = parse_url($base_url); - $rel_parts['host'] = $base_parts['host']; - $rel_parts['scheme'] = $base_parts['scheme']; + $rel_parts['host'] = $base_parts['host'] ?? ""; + $rel_parts['scheme'] = $base_parts['scheme'] ?? ""; if (isset($rel_parts['path'])) { diff --git a/include/errorhandler.php b/include/errorhandler.php index 09d6bd7bc..ff2af8cd0 100644 --- a/include/errorhandler.php +++ b/include/errorhandler.php @@ -19,7 +19,7 @@ function format_backtrace($trace): string { array_push($fmt_args, "[" . truncate_string(json_encode($a), 256, "...")) . "]"; } else if (is_resource($a)) { array_push($fmt_args, truncate_string(get_resource_type($a), 256, "...")); - } else { + } else if ($a) { array_push($fmt_args, truncate_string($a, 256, "...")); } } diff --git a/include/functions.php b/include/functions.php index af4819f00..14de32e95 100644 --- a/include/functions.php +++ b/include/functions.php @@ -341,7 +341,12 @@ } } - function sql_bool_to_bool(string $s): bool { + /** Convert values accepted by tt-rss as true/false to PHP booleans + * @see https://tt-rss.org/wiki/ApiReference#boolean-values + * @param null|string $s null values are considered false + * @return bool + */ + function sql_bool_to_bool(?string $s): bool { return $s && ($s !== "f" && $s !== "false"); //no-op for PDO, backwards compat for legacy layer } |