Messages de redirection

This commit is contained in:
Fred Tempez 2024-12-23 15:21:30 +01:00
parent 71bc687ad6
commit dfc0ff7cd0
5 changed files with 24 additions and 14 deletions

View File

@ -700,5 +700,7 @@
"Connexion réussie": "Login successful",
"Erreur de mot de passe": "Password error",
"Erreur de captcha": "Captcha error",
"Clé envoyée par message": "Key sent via message"
"Clé envoyée par message": "Key sent via message",
"Message de test": "Test message",
"Clé d'authentification envoyée à votre adresse mail %s": "Authentication key sent to your email address %s"
}

View File

@ -700,5 +700,7 @@
"Connexion réussie": "Conexión exitosa",
"Erreur de mot de passe": "Error de contraseña",
"Erreur de captcha": "Error de captcha",
"Clé envoyée par message": "Clave enviada por mensaje"
"Clé envoyée par message": "Clave enviada por mensaje",
"Message de test": "Mensaje de prueba",
"Clé d'authentification envoyée à votre adresse mail %s": "Clave de autenticación enviada a su dirección de correo electrónico %s"
}

View File

@ -700,5 +700,7 @@
"Connexion réussie": "",
"Erreur de mot de passe": "",
"Erreur de captcha": "",
"Clé envoyée par message": ""
"Clé envoyée par message": "",
"Message de test": "",
"Clé d'authentification envoyée à votre adresse mail %s": ""
}

View File

@ -980,6 +980,7 @@ class user extends common
) {
// Lire Id du compte
$userId = $this->getInput('userLoginId', helper::FILTER_ID, true);
$notification = '';
// Check le captcha
if (
$this->getData(['config', 'connect', 'captcha'])
@ -1093,11 +1094,13 @@ class user extends common
// L'email a été envoyé avec succès, redirection vers la page de double authentification
if ($sent === true) {
// Journalisation
$logStatus = helper::translate('Envoi du message d\'authentification');
// Redirection vers la page d'authentification
$authRedirect = 'user/auth/';
// Stocker la clé envoyée par email
$this->setData(['user', $userId, 'authKey', $keyByMail]);
$notification = sprintf('Clé d\'authentification envoyée à votre adresse mail %s', $this->getData(['user', $userId, 'mail']));
} else {
// Impossible d'envoyer le message
// Double authentification désactivée
@ -1105,9 +1108,11 @@ class user extends common
$this->setData(['user', $userId, 'authKey', $authKey]);
// Journalisation
$this->saveLog($sent);
$notification = sprintf(helper::translate('Bienvenue %s %s'), $this->getData(['user', $userId, 'firstname']), $this->getData(['user', $userId, 'lastname']));
}
} else {
$logStatus = helper::translate('Connexion réussie');
$notification = sprintf(helper::translate('Bienvenue %s %s'), $this->getData(['user', $userId, 'firstname']), $this->getData(['user', $userId, 'lastname']));
$this->setData(['user', $userId, 'authKey', $authKey]);
}
@ -1142,7 +1147,7 @@ class user extends common
$redirect = ($pageId && strpos($pageId, 'user_reset') !== 0) ? helper::baseUrl() . $authRedirect . str_replace('_', '/', str_replace('__', '#', $pageId)) : helper::baseUrl() . $authRedirect;
// Valeurs en sortie
$this->addOutput([
'notification' => sprintf(helper::translate('Bienvenue %s %s'), $this->getData(['user', $userId, 'firstname']), $this->getData(['user', $userId, 'lastname'])),
'notification' => $notification,
'redirect' => $redirect,
'state' => true
]);
@ -1202,24 +1207,24 @@ class user extends common
// Vérifier la clé saisie
$targetKey = $this->getData(['user', $this->getUser('id'), 'authKey']);
$inputKey = $this->getInput('userAuthKey', helper::FILTER_INT);
// Redirection
$pageId = $this->getUrl(2);
$redirect = $pageId? helper::baseUrl() . $pageId : helper::baseUrl() ;
if (
// La clé est valide ou le message n'ayant pas été expédié, la double authentification est désactivée
$targetKey === $inputKey || $this->getData(['config', 'connect', 'mailAuth', 0]) === 0
) {
// Redirection
$pageId = $this->getUrl(2);
// La fiche de l'utilisateur contient la clé d'authentification
$this->setData(['user', $this->getUser('id'), 'authKey', $this->getInput('ZWII_AUTH_KEY')]);
$redirect = ($pageId && strpos($pageId, 'user_reset') !== 0) ? helper::baseUrl() . str_replace('_', '/', str_replace('__', '#', $pageId)) : helper::baseUrl();
// Journalisation
$this->saveLog('Connexion réussie');
// Réinitialiser le compteur de temps
$this->setData(['user', $this->getUser('id'), 'connectTimeout', 0]);
// Utilisateur connecté
$userId = $this->getUser('id');
// Valeurs en sortie
$this->addOutput([
'redirect' => $redirect,
'notification' => helper::translate('Connexion réussie'),
'notification' => sprintf(helper::translate('Bienvenue %s %s'), $this->getData(['user', $userId, 'firstname']), $this->getData(['user', $userId, 'lastname'])),
'state' => true
]);
} else {
@ -1238,10 +1243,9 @@ class user extends common
// Journalisation
$this->saveLog('Erreur de vérification de la clé envoyée par email ' . $this->getUser('id'));
// Valeurs en sortie
$this->addOutput([
'redirect' => helper::baseUrl() . 'user/auth',
'redirect' => $redirect,
'notification' => helper::translate('La clé est incorrecte'),
'state' => false
]);

View File

@ -9,7 +9,7 @@
<div class="row" id="buttonsContainer">
<div class="col2" id="backContainer">
<?php echo template::button('userAuthBack', [
'href' => $this->getUrl(2) ? helper::baseUrl() . ' user/login' . str_replace('_', '/', str_replace('__', '#', $this->getUrl(2))) : helper::baseUrl() . ' user/login',
'href' => $this->getUrl(2) ? helper::baseUrl() . 'user/login/' . str_replace('_', '/', str_replace('__', '#', $this->getUrl(2))) : helper::baseUrl() . 'user/login',
'value' => template::ico('left')
]); ?>
</div>