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
{
const VERSION = '2.0';
const VERSION = '2.2';
const REALNAME = 'Auto Inscription';
const DELETE = true;
const UPDATE = '0.0';
@ -249,13 +249,26 @@ class suscribe extends common
) {
// Contrôler la validité du domaine saisi parmi les domaines valides
$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'])
: explode(';', $this->getData(['module', $this->getUrl(0), 'config', 'filter']));
if (in_array(explode('@', $email_to_check)[1], $valid_domains) === false) {
// Récupérer la liste des domaines valides depuis la configuration et supprimer les espaces autour
$filter = trim($this->getData(['module', $this->getUrl(0), 'config', 'filter']));
// 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é';
}
}
// Email valide, on continue le traitement
if (self::$inputNotices === []) {
// Drapeau de contrôle des données saisies.
$check = true;
$sentMailtoUser = false;
@ -351,6 +364,7 @@ class suscribe extends common
'state' => $sentMailtoUser ? true : false
]);
}
}
// Valeurs en sortie
$this->addOutput([
'title' => 'Inscription',