remember me ok

This commit is contained in:
Fred Tempez 2020-08-10 09:10:20 +02:00
parent 83b5234efb
commit 5a8420bd3d
2 changed files with 13 additions and 2 deletions

View File

@ -29,6 +29,8 @@ class user extends common {
public static $userId = ''; public static $userId = '';
public static $userLongtime = false;
/** /**
* Ajout * Ajout
*/ */
@ -393,6 +395,7 @@ class user extends common {
$expire = $this->getInput('userLoginLongTime') ? strtotime("+1 year") : 0; $expire = $this->getInput('userLoginLongTime') ? strtotime("+1 year") : 0;
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);
setcookie('ZWII_USER_LONGTIME', $this->getInput('userLoginLongTime', helper::FILTER_BOOLEAN), $expire, helper::baseUrl(false, false), '', helper::isHttps(), true);
// 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
@ -448,6 +451,9 @@ class user extends common {
if (!empty($_COOKIE['ZWII_USER_ID'])) { if (!empty($_COOKIE['ZWII_USER_ID'])) {
self::$userId = $_COOKIE['ZWII_USER_ID']; self::$userId = $_COOKIE['ZWII_USER_ID'];
} }
if (!empty($_COOKIE['ZWII_USER_LONGTIME'])) {
self::$userLongtime = $_COOKIE['ZWII_USER_LONGTIME'] == '1' ? true : false;
}
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'display' => self::DISPLAY_LAYOUT_LIGHT, 'display' => self::DISPLAY_LAYOUT_LIGHT,
@ -461,6 +467,10 @@ class user extends common {
*/ */
public function logout() { public function logout() {
// Ne pas effacer l'identifiant mais seulement le mot de passe // Ne pas effacer l'identifiant mais seulement le mot de passe
if ($_COOKIE['ZWII_USER_LONGTIME'] !== '1' ) {
helper::deleteCookie('ZWII_USER_ID');
helper::deleteCookie('ZWII_USER_LONGTIME');
}
helper::deleteCookie('ZWII_USER_PASSWORD'); helper::deleteCookie('ZWII_USER_PASSWORD');
session_destroy(); session_destroy();
// Valeurs en sortie // Valeurs en sortie

View File

@ -14,8 +14,9 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col6"> <div class="col6">
<?php echo template::checkbox('userLoginLongTime', true, 'Se souvenir de moi'); ?> <?php echo template::checkbox('userLoginLongTime', true, 'Se souvenir de moi', [
'checked' => $module::$userLongtime
]); ?>
</div> </div>
<div class="col6 textAlignRight"> <div class="col6 textAlignRight">
<a href="<?php echo helper::baseUrl(); ?>user/forgot/<?php echo $this->getUrl(2); ?>">Mot de passe perdu ?</a> <a href="<?php echo helper::baseUrl(); ?>user/forgot/<?php echo $this->getUrl(2); ?>">Mot de passe perdu ?</a>