diff --git a/index.php b/index.php
index dd3f2673..3ee8b942 100644
--- a/index.php
+++ b/index.php
@@ -84,7 +84,8 @@ if ($action == '2fa_entercode') {
// verify code set to user's data_2fa field
$sel_stmt = Database::prepare("SELECT `data_2fa` FROM " . $table . " WHERE `" . $field . "` = :uid");
$userinfo_code = Database::pexecute_first($sel_stmt, ['uid' => $uid]);
- $result = $tfa->verifyCode($userinfo_code['data_2fa'], $code);
+ // 60sec discrepancy (possible slow email delivery)
+ $result = $tfa->verifyCode($userinfo_code['data_2fa'], $code, 60);
} else {
$result = $tfa->verifyCode($_SESSION['secret_2fa'], $code, 3);
}
diff --git a/lib/Froxlor/Database/Manager/DbManagerMySQL.php b/lib/Froxlor/Database/Manager/DbManagerMySQL.php
index a73a1be4..7ba1a43d 100644
--- a/lib/Froxlor/Database/Manager/DbManagerMySQL.php
+++ b/lib/Froxlor/Database/Manager/DbManagerMySQL.php
@@ -187,7 +187,7 @@ class DbManagerMySQL
*/
public function deleteUser(string $username, string $host)
{
- if (Database::getAttribute(PDO::ATTR_SERVER_VERSION) < '5.0.2') {
+ if (version_compare(Database::getAttribute(PDO::ATTR_SERVER_VERSION), '5.0.2', '<')) {
// Revoke privileges (only required for MySQL 4.1.2 - 5.0.1)
$stmt = Database::prepare("REVOKE ALL PRIVILEGES ON * . * FROM `" . $username . "`@`" . $host . "`");
Database::pexecute($stmt);
diff --git a/lib/configfiles/bookworm.xml b/lib/configfiles/bookworm.xml
index d0d2697b..153ddd2d 100644
--- a/lib/configfiles/bookworm.xml
+++ b/lib/configfiles/bookworm.xml
@@ -3174,7 +3174,7 @@ no
+ chmod="0640" backup="true">
+ chmod="0640" backup="true">
+ chmod="0640" backup="true">
+ chmod="0640" backup="true">
+ chmod="0640" backup="true">
'Váš účet je nastaven tak, aby používal jednorázová hesla založená na čase prostřednictvím autentizační aplikace. Naskenujte níže uvedený QR kód pomocí požadované autentizační aplikace pro vygenerování kódů. Chcete-li deaktivovat, klikněte na "Deaktivovat 2FA"',
'2fa_not_activated' => 'Dvoufázové ověřování není povoleno',
'2fa_not_activated_for_user' => 'Dvoufaktorové ověření není pro aktuálního uživatele povoleno',
+ 'type_2fa' => 'Stav 2FA',
],
'admin' => [
'overview' => 'Přehled',
@@ -681,6 +682,8 @@ return [
'title' => 'Použít greylisting',
'description' => 'Příchozí e-maily budou chráněny greylisting.
Výchozí: ano'
],
+ 'required_spf_dns' => 'Požadovaný SPF DNS záznam',
+ 'required_dmarc_dns' => 'Požadovaný DMARC DNS záznam',
'required_dkim_dns' => 'Požadovaný DKIM DNS záznam',
],
'dns' => [
@@ -782,6 +785,7 @@ return [
'hsts' => 'HSTS povoleno',
'aliasdomainid' => 'ID aliasové domény',
'nodomainsassignedbyadmin' => 'Váš účet nemá v současné době přiřazeny žádné (aktivní) domény. Pokud si myslíte, že je to špatné, kontaktujte svého správce.',
+ 'email_only' => 'Jen emaily',
],
'emails' => [
'description' => 'Zde můžete vytvářet a měnit své e-mailové adresy.
Účet je jako poštovní schránka před vaším domem. Pokud vám někdo pošle e-mail, bude vypuštěn na účet.
Chcete-li stáhnout své e-maily, použijte následující nastavení ve vašem poštovním programu: (Data v kurzívě musí být změněna na ekvivalenty, které jste zadali!
Hostitelské jméno: doménové jméno
Uživatelské jméno: jméno účtu / e-mailová adresa
heslo: heslo, které jste zvolili',
@@ -1101,6 +1105,7 @@ return [
'combination_not_found' => 'Kombinace uživatele a e-mailové adresy nenalezena.',
'2fa' => 'Dvoufázové ověření (2FA)',
'2facode' => 'Zadejte prosím 2FA kód',
+ '2faremember' => 'Důvěřovat prohlížeči',
],
'mails' => [
'pop_success' => [
@@ -1227,7 +1232,7 @@ Ach upřímně, váš správce',
],
'opcacheinfo' => [
'generaltitle' => 'Obecné informace',
- 'resetcache' => 'Resetövat OPcache',
+ 'resetcache' => 'Resetovat OPcache',
'version' => 'Verze OPCache',
'phpversion' => 'Verze PHP',
'runtimeconf' => 'Spustitelná konfigurace',
@@ -1941,7 +1946,7 @@ Ach upřímně, váš správce',
],
'documentroot_use_default_value' => [
'title' => 'Použít název domény jako výchozí hodnotu pro cestu kořenového adresáře dokumentu',
- 'description' => 'Pokud je povoleno a cesta DocumentRoot je prázdná, výchozí hodnotou bude název (sub)domény.
Příklady:
/var/customers/customer_name/example.com/
/var /customers/customer_name/subdomain.example.com/',
+ 'description' => 'Pokud je povoleno a cesta DocumentRoot je prázdná, výchozí hodnotou bude název (sub)domény.
Příklady:
/var/customers/webs/customer_name/example.com/
/var/customers/webs/customer_name/subdomain.example.com/',
],
'panel_phpconfigs_hidesubdomains' => [
'title' => 'Skrýt subdomény v PHP-konfiguračním přehledu',