From f1f991ae6cd8d568c6425f171f4ab4552a9c0e66 Mon Sep 17 00:00:00 2001 From: Daniel Winzen Date: Thu, 3 Apr 2025 11:15:53 +0300 Subject: [PATCH] Check if intl and gettext extensins are loaded before using them --- chat.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/chat.php b/chat.php index 73685cf..49864c8 100644 --- a/chat.php +++ b/chat.php @@ -69,6 +69,17 @@ if(!isset($_REQUEST['session']) && isset($_COOKIE[COOKIENAME])){ $session = $_COOKIE[COOKIENAME]; } $session = preg_replace('/[^0-9a-zA-Z]/', '', $session); +if (!extension_loaded('gettext')) { + prepare_stylesheets('fatal_error'); + send_headers(); + echo ''.meta_html(); + echo 'Fatal error'; + echo ""; + echo ''; + echo '

Fatal error: The gettext extension of PHP is required, please install it first

'; + print_end(); +} + load_lang(); check_db(); cron(); @@ -4861,7 +4872,7 @@ function load_lang(): void $locale = LANGUAGES[$_COOKIE['language']]['locale']; $language = $_COOKIE['language']; $dir = LANGUAGES[$_COOKIE['language']]['dir']; - }elseif(!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])){ + }elseif(!empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && extension_loaded('intl')){ $prefLocales = array_reduce( explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']), function (array $res, string $el) {