Grosse évolution avec, entre autres, l'implémentation des alertes par SMS et email

This commit is contained in:
2026-10-07 10:06:20 +00:00
parent 0a2ec261ec
commit 2c1d1a51e4
17 changed files with 1551 additions and 11 deletions
+16 -4
View File
@@ -132,6 +132,10 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
$_SESSION['shipmember']['ID_Pays'] = $_POST['ID_Pays'];
$_SESSION['shipmember']['Telephone'] = trim($_POST['Telephone']);
$_SESSION['shipmember']['Email'] = strtolower(trim($_POST['Email']));
// Numéro normalisé au format international (synthèse §51) - un seul numéro par ShipMember, utilisé pour les SMS :
$telephone_normalise = Normaliser_telephone($_SESSION['shipmember']['Telephone'], $_SESSION['shipmember']['ID_Pays']);
if ($telephone_normalise === false) $message_erreur .= t("Numéro de téléphone invalide : saisissez-le au format international (par exemple +33 6 12 34 56 78).");
else $_SESSION['shipmember']['Telephone'] = $telephone_normalise;
// Vérifications :
$message_erreur .= check_longueur_champ('prenom_titre', $_SESSION['shipmember']['Prenom'], MIN_LONGUEUR_PRENOM, MAX_LONGUEUR_PRENOM);
@@ -171,7 +175,7 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
// Création du ShipMember :
$requete = 'INSERT INTO TB_Shipmembers(Nom, Prenom, Entreprise, Rue, Code_postal, Ville, ID_PAYS, Telephone, Email, ID_LANGUAGES, Commentaires, Mdp, Date_creation_compte) VALUES (?,?,?,?,?,?,?,?,?,(SELECT ID FROM TB_Langues WHERE Prefix=?),?,?,?)';
$requete = 'INSERT INTO TB_Shipmembers(Nom, Prenom, Entreprise, Rue, Code_postal, Ville, ID_PAYS, Telephone, Email, ID_LANGUAGES, Mdp, Date_creation_compte) VALUES (?,?,?,?,?,?,?,?,?,(SELECT ID FROM TB_Langues WHERE Prefix=?),?,?)';
Requete_preparee_bdd($requete,
array(
array('s', $_SESSION['shipmember']['Nom']),
@@ -184,7 +188,6 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
array('s', $_SESSION['shipmember']['Telephone']),
array('s', $_SESSION['shipmember']['Email']),
array('s', $_SESSION['langue']),
array('s', ""),
array('s', password_hash($password, PASSWORD_DEFAULT)),
array('s', date("Y-m-d H:i:s"))),
__FILE__, __LINE__);
@@ -608,6 +611,10 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
$_SESSION['shipmember']['ID_Pays'] = $_POST['ID_Pays'];
$_SESSION['shipmember']['Telephone'] = trim($_POST['Telephone']);
$_SESSION['shipmember']['Email'] = strtolower(trim($_POST['Email']));
// Numéro normalisé au format international (synthèse §51) - un seul numéro par ShipMember, utilisé pour les SMS :
$telephone_normalise = Normaliser_telephone($_SESSION['shipmember']['Telephone'], $_SESSION['shipmember']['ID_Pays']);
if ($telephone_normalise === false) $message_erreur .= t("Numéro de téléphone invalide : saisissez-le au format international (par exemple +33 6 12 34 56 78).");
else $_SESSION['shipmember']['Telephone'] = $telephone_normalise;
if ($old_email != $_SESSION['shipmember']['Email']) $flag_new_email = true;
else $flag_new_email = false;
@@ -658,7 +665,10 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
// Si les contrôles ne sont pas invalides, on met à jour le ShipMember :
if ($message_erreur == "")
{
$requete = 'UPDATE TB_Shipmembers SET Prenom=?, Nom=?, Entreprise=?, Rue=?, Code_postal=?, Ville=?, ID_Pays=?, Telephone=?, Email=? WHERE ID=?';
// Numéro MODIFIÉ : il n'est plus vérifié pour les SMS d'alerte (synthèse §51) - affectation évaluée avant celle du numéro :
$requete = 'UPDATE TB_Shipmembers SET Prenom=?, Nom=?, Entreprise=?, Rue=?, Code_postal=?, Ville=?, ID_Pays=?,
Telephone_verifie=IF(Telephone <=> ?, Telephone_verifie, 0), Code_telephone_empreinte=IF(Telephone <=> ?, Code_telephone_empreinte, NULL),
Telephone=?, Email=? WHERE ID=?';
Requete_preparee_bdd($requete,
array(
array('s', $_SESSION['shipmember']['Prenom']),
@@ -669,6 +679,8 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
array('s', $_SESSION['shipmember']['Ville']),
array('i', $_SESSION['shipmember']['ID_Pays']),
array('s', $_SESSION['shipmember']['Telephone']),
array('s', $_SESSION['shipmember']['Telephone']),
array('s', $_SESSION['shipmember']['Telephone']),
array('s', Protection_mysql($_SESSION['shipmember']['Email'])), // On protège l'Email contre les injections car c'est lui qui va servir aux requetes tant qu'on n'a pas la Clé_primaire.
array('i', $_SESSION['shipmember']['Cle_primaire'])),
__FILE__, __LINE__);
@@ -679,7 +691,7 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
$requete = 'UPDATE TB_Shipmembers SET Mdp=? WHERE ID=?';
Requete_preparee_bdd($requete,
array(
array('s', password_hash(Protection_mysql($_POST['Mot_de_passe_1']), PASSWORD_DEFAULT)),
array('s', password_hash($_POST['Mot_de_passe_1'], PASSWORD_DEFAULT)), // Haché tel quel (et non échappé : synthèse §47, §51)
array('i', $_SESSION['shipmember']['Cle_primaire'])),
__FILE__, __LINE__);