2.2 register

This commit is contained in:
Fred Tempez 2024-09-19 10:41:32 +02:00
parent c38bd7d12f
commit 6128d0778d
20 changed files with 1097 additions and 1076 deletions

View File

@ -0,0 +1,7 @@
# Version 2.2
- Ajoute la gestion des profils
# Version 2.1
- N'envoie pas d'email lorsque le domaine est invalide.
- Corrige la validation de domaines multiples séparés par des points virgules.
# Version 2.0
- trop de corrections.

View File

@ -1 +1 @@
{"name":"suscribe","realName":"Auto inscription","version":"2.00","update":"0.0","delete":true,"dataDirectory":""} {"name":"suscribe","realName":"Auto Inscription","version":"2.1","update":"0.0","delete":true,"dataDirectory":""}

View File

@ -15,7 +15,7 @@
class suscribe extends common class suscribe extends common
{ {
const VERSION = '2.0'; const VERSION = '2.2';
const REALNAME = 'Auto Inscription'; const REALNAME = 'Auto Inscription';
const DELETE = true; const DELETE = true;
const UPDATE = '0.0'; const UPDATE = '0.0';
@ -249,13 +249,26 @@ class suscribe extends common
) { ) {
// Contrôler la validité du domaine saisi parmi les domaines valides // Contrôler la validité du domaine saisi parmi les domaines valides
$email_to_check = $this->getInput('registrationAddMail', helper::FILTER_MAIL, true); $email_to_check = $this->getInput('registrationAddMail', helper::FILTER_MAIL, true);
$valid_domains[] = strpos($this->getData(['module', $this->getUrl(0), 'config', 'filter']), ';') === false
? $this->getData(['module', $this->getUrl(0), 'config', 'filter']) // Récupérer la liste des domaines valides depuis la configuration et supprimer les espaces autour
: explode(';', $this->getData(['module', $this->getUrl(0), 'config', 'filter'])); $filter = trim($this->getData(['module', $this->getUrl(0), 'config', 'filter']));
if (in_array(explode('@', $email_to_check)[1], $valid_domains) === false) {
// Vérifier si la liste contient plusieurs domaines ou un seul, puis supprimer les espaces pour chaque domaine
$valid_domains = strpos($filter, ';') === false
? [trim($filter)] // Si un seul domaine, on supprime les espaces et on le met dans un tableau
: array_map('trim', explode(';', $filter)); // Si plusieurs domaines, on les explose en tableau et supprime les espaces
// Extraire le domaine de l'adresse email à vérifier
$email_domain = explode('@', $email_to_check)[1];
// Vérifier si le domaine de l'email est dans la liste des domaines valides
if (!in_array($email_domain, $valid_domains)) {
self::$inputNotices['registrationAddMail'] = 'Ce domaine n\'est pas autorisé'; self::$inputNotices['registrationAddMail'] = 'Ce domaine n\'est pas autorisé';
} }
} }
// Email valide, on continue le traitement
if (self::$inputNotices === []) {
// Drapeau de contrôle des données saisies. // Drapeau de contrôle des données saisies.
$check = true; $check = true;
$sentMailtoUser = false; $sentMailtoUser = false;
@ -351,6 +364,7 @@ class suscribe extends common
'state' => $sentMailtoUser ? true : false 'state' => $sentMailtoUser ? true : false
]); ]);
} }
}
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'title' => 'Inscription', 'title' => 'Inscription',