Compare commits

..

2 Commits

View File

@ -32,6 +32,16 @@
* 9 - Private messages
*/
if (!extension_loaded('gettext')) {
prepare_stylesheets('fatal_error');
send_headers();
echo '<!DOCTYPE html><html lang="en" dir="ltr"><head>'.meta_html();
echo '<title>Fatal error</title>';
echo "<style>$styles[fatal_error]</style>";
echo '</head><body>';
echo '<h2>Fatal error: The gettext extension of PHP is required, please install it first.</h2>';
print_end();
}
// initialize and load variables/configuration
const LANGUAGES = [
'ar' => ['name' => 'العربية', 'locale' => 'ar', 'dir' => 'rtl'],
@ -54,6 +64,9 @@ const LANGUAGES = [
'zh-Hans' => ['name' => '简体中文', 'locale' => 'zh_CN', 'dir' => 'ltr'],
'zh-Hant' => ['name' => '正體中文', 'locale' => 'zh_TW', 'dir' => 'ltr'],
];
if(!extension_loaded('mbstring')){
send_fatal_error(sprintf(_('The %s extension of PHP is required, please install it first.'), 'mbstring'));
}
load_config();
$U=[];// This user data
$db = null;// Database connection
@ -69,17 +82,6 @@ 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 '<!DOCTYPE html><html lang="en" dir="ltr"><head>'.meta_html();
echo '<title>Fatal error</title>';
echo "<style>$styles[fatal_error]</style>";
echo '</head><body>';
echo '<h2>Fatal error: The gettext extension of PHP is required, please install it first</h2>';
print_end();
}
load_lang();
check_db();
cron();
@ -4422,7 +4424,7 @@ function update_db(): void
$db->exec('INSERT INTO ' . PREFIX . "settings (setting, value) VALUES ('css', ''), ('memberexpire', '60'), ('guestexpire', '15'), ('kickpenalty', '10'), ('entrywait', '120'), ('messageexpire', '14400'), ('messagelimit', '150'), ('maxmessage', 2000), ('captchatime', '600');");
}
if($dbversion<11){
$db->exec('ALTER TABLE ' , PREFIX . 'captcha CHARACTER SET utf8 COLLATE utf8_bin;');
$db->exec('ALTER TABLE ' . PREFIX . 'captcha CHARACTER SET utf8 COLLATE utf8_bin;');
$db->exec('ALTER TABLE ' . PREFIX . 'filter CHARACTER SET utf8 COLLATE utf8_bin;');
$db->exec('ALTER TABLE ' . PREFIX . 'ignored CHARACTER SET utf8 COLLATE utf8_bin;');
$db->exec('ALTER TABLE ' . PREFIX . 'messages CHARACTER SET utf8 COLLATE utf8_bin;');
@ -4458,7 +4460,7 @@ function update_db(): void
$db->exec('ALTER TABLE ' . PREFIX . 'notes MODIFY type char(5) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, MODIFY editedby varchar(50) NOT NULL, MODIFY text varchar(20000) NOT NULL;');
$db->exec('ALTER TABLE ' . PREFIX . 'settings MODIFY id integer unsigned NOT NULL, MODIFY setting varchar(50) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, MODIFY value varchar(20000) NOT NULL;');
$db->exec('ALTER TABLE ' . PREFIX . 'settings DROP PRIMARY KEY, DROP id, ADD PRIMARY KEY(setting);');
$stmt = $db->exec('INSERT INTO ' . PREFIX . "settings (setting, value) VALUES ('chatname', 'My Chat'), ('topic', ''), ('msgsendall', ?), ('msgsendmem', ?), ('msgsendmod', ?), ('msgsendadm', ?), ('msgsendprv', ?), ('numnotes', '3');");
$stmt = $db->prepare('INSERT INTO ' . PREFIX . "settings (setting, value) VALUES ('chatname', 'My Chat'), ('topic', ''), ('msgsendall', ?), ('msgsendmem', ?), ('msgsendmod', ?), ('msgsendadm', ?), ('msgsendprv', ?), ('numnotes', '3');");
$stmt->execute([_('%s - '), _('[M] %s - '), _('[Staff] %s - '), _('[Admin] %s - '), _('[%1$s to %2$s] - ')]);
}
if($dbversion<13){