From dfc0ff7cd04bad93a4f7912a155dfb6b22201ec3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Tempez?= Date: Mon, 23 Dec 2024 15:21:30 +0100 Subject: [PATCH] Messages de redirection --- core/module/install/ressource/i18n/en_EN.json | 4 +++- core/module/install/ressource/i18n/es.json | 4 +++- core/module/install/ressource/i18n/fr_FR.json | 4 +++- core/module/user/user.php | 24 +++++++++++-------- core/module/user/view/auth/auth.php | 2 +- 5 files changed, 24 insertions(+), 14 deletions(-) diff --git a/core/module/install/ressource/i18n/en_EN.json b/core/module/install/ressource/i18n/en_EN.json index bfa75c6a..16be19ce 100644 --- a/core/module/install/ressource/i18n/en_EN.json +++ b/core/module/install/ressource/i18n/en_EN.json @@ -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" } \ No newline at end of file diff --git a/core/module/install/ressource/i18n/es.json b/core/module/install/ressource/i18n/es.json index 6284334d..b54826f6 100644 --- a/core/module/install/ressource/i18n/es.json +++ b/core/module/install/ressource/i18n/es.json @@ -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" } \ No newline at end of file diff --git a/core/module/install/ressource/i18n/fr_FR.json b/core/module/install/ressource/i18n/fr_FR.json index 0e55bf62..475820bc 100644 --- a/core/module/install/ressource/i18n/fr_FR.json +++ b/core/module/install/ressource/i18n/fr_FR.json @@ -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": "" } \ No newline at end of file diff --git a/core/module/user/user.php b/core/module/user/user.php index 8dca1255..e6422461 100644 --- a/core/module/user/user.php +++ b/core/module/user/user.php @@ -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 ]); diff --git a/core/module/user/view/auth/auth.php b/core/module/user/view/auth/auth.php index fdcc801c..07e92e3e 100644 --- a/core/module/user/view/auth/auth.php +++ b/core/module/user/view/auth/auth.php @@ -9,7 +9,7 @@
$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') ]); ?>