Compare commits
4 Commits
2c1f6a0490
...
3b5f20aa96
Author | SHA1 | Date | |
---|---|---|---|
3b5f20aa96
|
|||
56f4fdc88a
|
|||
919ffdb1b5
|
|||
36bdb36986
|
@ -301,7 +301,7 @@ final class MD_STD {
|
|||||||
public static function runCurlMulti(array $urls, int $timeout = 1200):array {
|
public static function runCurlMulti(array $urls, int $timeout = 1200):array {
|
||||||
|
|
||||||
if (!($mh = curl_multi_init())) {
|
if (!($mh = curl_multi_init())) {
|
||||||
throw new exception("Failed to set up multi handle");
|
throw new Exception("Failed to set up multi handle");
|
||||||
}
|
}
|
||||||
|
|
||||||
$curl_array = [];
|
$curl_array = [];
|
||||||
@ -334,6 +334,45 @@ final class MD_STD {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets and returns user language based on a session cookie.
|
||||||
|
*
|
||||||
|
* @param array<string> $allowed_langs Allowed languages.
|
||||||
|
* @param string $default_lang Default language.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function get_user_lang(array $allowed_langs, string $default_lang):string {
|
||||||
|
|
||||||
|
$cookie_options = [
|
||||||
|
'expires' => self::strtotime("+1 month"),
|
||||||
|
'path' => '/',
|
||||||
|
'domain' => $_SERVER['SERVER_NAME'],
|
||||||
|
'secure' => true,
|
||||||
|
'httponly' => true,
|
||||||
|
'samesite' => 'Lax' // None || Lax || Strict
|
||||||
|
];
|
||||||
|
|
||||||
|
if (isset($_GET['navlang']) and in_array($_GET['navlang'], $allowed_langs, true)) {
|
||||||
|
if (!(setcookie('lang', $_GET['navlang'], $cookie_options))) {
|
||||||
|
throw new Exception("Failed to set language");
|
||||||
|
}
|
||||||
|
$lang = $_GET['navlang'];
|
||||||
|
}
|
||||||
|
else if (isset($_COOKIE['lang']) and in_array($_COOKIE['lang'], $allowed_langs, true)) {
|
||||||
|
$lang = $_COOKIE['lang'];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$lang = self::lang_getfrombrowser($allowed_langs, $default_lang, "", false);
|
||||||
|
if (!(setcookie('lang', $lang, $cookie_options))) {
|
||||||
|
throw new Exception("Failed to set language");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $lang;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function lang_getfrombrowser gets the browser language based on HTTP headers.
|
* Function lang_getfrombrowser gets the browser language based on HTTP headers.
|
||||||
*
|
*
|
||||||
|
@ -92,11 +92,11 @@ final class MD_STD_SEC {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Increase counters and update timers
|
// Increase counters and update timers
|
||||||
$loginLog['common']['count']++;
|
++$loginLog['common']['count'];
|
||||||
$loginLog['common']['time'] = \time();
|
$loginLog['common']['time'] = \time();
|
||||||
$loginLog['usr'][$hash_user]['count']++;
|
++$loginLog['usr'][$hash_user]['count'];
|
||||||
$loginLog['usr'][$hash_user]['time'] = \time();
|
$loginLog['usr'][$hash_user]['time'] = \time();
|
||||||
$loginLog['ip'][$hash_ip]['count']++;
|
++$loginLog['ip'][$hash_ip]['count'];
|
||||||
$loginLog['ip'][$hash_ip]['time'] = \time();
|
$loginLog['ip'][$hash_ip]['time'] = \time();
|
||||||
|
|
||||||
// Update the log file
|
// Update the log file
|
||||||
|
Reference in New Issue
Block a user