summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/errorhandler.php8
-rw-r--r--include/functions.php9
-rwxr-xr-xinclude/sanity_check.php12
3 files changed, 22 insertions, 7 deletions
diff --git a/include/errorhandler.php b/include/errorhandler.php
index 95c9edc69..188c8c5ce 100644
--- a/include/errorhandler.php
+++ b/include/errorhandler.php
@@ -31,7 +31,13 @@ function format_backtrace($trace) {
return $rv;
}
-function ttrss_error_handler($errno, $errstr, $file, $line, $context) {
+function ttrss_error_handler($errno, $errstr, $file, $line) {
+ if (version_compare(PHP_VERSION, '8.0.0', '<')) {
+ if (error_reporting() == 0 || !$errno) return false;
+ } else {
+ if (!(error_reporting() & $errno)) return false;
+ }
+
if (error_reporting() == 0 || !$errno) return false;
$file = substr(str_replace(dirname(dirname(__FILE__)), "", $file), 1);
diff --git a/include/functions.php b/include/functions.php
index ceb7fbd9e..a70b4ac44 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -18,7 +18,10 @@
$fetch_effective_url = false;
$fetch_curl_used = false;
- libxml_disable_entity_loader(true);
+ if (version_compare(PHP_VERSION, '8.0.0', '<')) {
+ libxml_disable_entity_loader(true);
+ }
+
libxml_use_internal_errors(true);
// separate test because this is included before sanity checks
@@ -327,7 +330,7 @@
function sanity_check() {
require_once 'errors.php';
- global $ERRORS;
+ $ERRORS = get_error_types();
$error_code = 0;
$schema_version = get_schema_version(true);
@@ -540,7 +543,7 @@
*/
function error_json($code) {
require_once "errors.php";
- global $ERRORS;
+ $ERRORS = get_error_types();
@$message = $ERRORS[$code];
diff --git a/include/sanity_check.php b/include/sanity_check.php
index 86dc7a5f0..e6c0e5d4b 100755
--- a/include/sanity_check.php
+++ b/include/sanity_check.php
@@ -21,6 +21,8 @@
}
function make_self_url_path() {
+ if (!isset($_SERVER["HTTP_HOST"])) return false;
+
$proto = is_server_https() ? 'https' : 'http';
$url_path = $proto . '://' . $_SERVER["HTTP_HOST"] . parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH);
@@ -115,14 +117,18 @@
}
$ref_self_url_path = make_self_url_path();
- $ref_self_url_path = preg_replace("/\w+\.php$/", "", $ref_self_url_path);
+
+ if ($ref_self_url_path) {
+ $ref_self_url_path = preg_replace("/\w+\.php$/", "", $ref_self_url_path);
+ }
if (SELF_URL_PATH == "http://example.org/tt-rss/") {
+ $hint = $ref_self_url_path ? "(possible value: <b>$ref_self_url_path</b>)" : "";
array_push($errors,
- "Please set SELF_URL_PATH to the correct value for your server (possible value: <b>$ref_self_url_path</b>)");
+ "Please set SELF_URL_PATH to the correct value for your server $hint");
}
- if (isset($_SERVER["HTTP_HOST"]) &&
+ if ($ref_self_url_path &&
(!defined('_SKIP_SELF_URL_PATH_CHECKS') || !_SKIP_SELF_URL_PATH_CHECKS) &&
SELF_URL_PATH != $ref_self_url_path && SELF_URL_PATH != mb_substr($ref_self_url_path, 0, mb_strlen($ref_self_url_path)-1)) {
array_push($errors,