13.3.06 Login, connexion persistante

This commit is contained in:
Fred Tempez 2024-08-24 17:29:17 +02:00
parent 5326b94c04
commit 0f1bd2377e
3 changed files with 26 additions and 12 deletions

View File

@ -5,6 +5,7 @@
- Répare le bouton d'effacement en mode édition d'une page. - Répare le bouton d'effacement en mode édition d'une page.
- Corrige la feuille de style du slider les balises H1, H3 et A. - Corrige la feuille de style du slider les balises H1, H3 et A.
- Corrige l'absence de contenu de page lorsque le module est en position libre et que le mot clé [MODULE] n'a pas été inséré. - Corrige l'absence de contenu de page lorsque le module est en position libre et que le mot clé [MODULE] n'a pas été inséré.
- Corrige l'option "REster connecter sur ce navigateur' dont la connexion est désormais réellement persistente.
## Versions 13.3.05 ## Versions 13.3.05
** Corrections : ** ** Corrections : **

View File

@ -408,8 +408,8 @@ class helper
*/ */
public static function deleteCookie($cookieKey) public static function deleteCookie($cookieKey)
{ {
unset($_COOKIE[$cookieKey]);
setcookie($cookieKey, '', time() - 3600, helper::baseUrl(false, false), '', false, true); setcookie($cookieKey, '', time() - 3600, helper::baseUrl(false, false), '', false, true);
unset($_COOKIE[$cookieKey]);
} }
/** /**

View File

@ -1045,10 +1045,22 @@ class user extends common
// RAZ // RAZ
$this->setData(['user', $userId, 'connectFail', 0]); $this->setData(['user', $userId, 'connectFail', 0]);
$this->setData(['user', $userId, 'connectTimeout', 0]); $this->setData(['user', $userId, 'connectTimeout', 0]);
// Expiration
// Validité du cookie
$expire = $this->getInput('userLoginLongTime', helper::FILTER_BOOLEAN) === true ? strtotime("+1 year") : 0; $expire = $this->getInput('userLoginLongTime', helper::FILTER_BOOLEAN) === true ? strtotime("+1 year") : 0;
switch ($this->getInput('userLoginLongTime', helper::FILTER_BOOLEAN)) {
case false:
// Cookie de session
setcookie('ZWII_USER_ID', $userId, $expire, helper::baseUrl(false, false), '', helper::isHttps(), true); setcookie('ZWII_USER_ID', $userId, $expire, helper::baseUrl(false, false), '', helper::isHttps(), true);
setcookie('ZWII_USER_PASSWORD', $this->getData(['user', $userId, 'password']), $expire, helper::baseUrl(false, false), '', helper::isHttps(), true); setcookie('ZWII_USER_PASSWORD', $this->getData(['user', $userId, 'password']), $expire, helper::baseUrl(false, false), '', helper::isHttps(), true);
break;
default:
// Cookie persistant
setcookie('ZWII_USER_ID', $userId, $expire, helper::baseUrl(false, false));
setcookie('ZWII_USER_PASSWORD', $this->getData(['user', $userId, 'password']), $expire, helper::baseUrl(false, false));
break;
}
// Accès multiples avec le même compte // Accès multiples avec le même compte
$this->setData(['user', $userId, 'accessCsrf', $_SESSION['csrf']]); $this->setData(['user', $userId, 'accessCsrf', $_SESSION['csrf']]);
// Valeurs en sortie lorsque le site est en maintenance et que l'utilisateur n'est pas administrateur // Valeurs en sortie lorsque le site est en maintenance et que l'utilisateur n'est pas administrateur
@ -1064,7 +1076,8 @@ class user extends common
} else { } else {
$logStatus = 'Connexion réussie'; $logStatus = 'Connexion réussie';
$pageId = $this->getUrl(2); $pageId = $this->getUrl(2);
if ($this->getData(['config', 'page404']) === $pageId if (
$this->getData(['config', 'page404']) === $pageId
|| $this->getData(['config', 'page403']) === $pageId || $this->getData(['config', 'page403']) === $pageId
) { ) {
$pageId = ''; $pageId = '';