Grosses mises à jour de shipmembers.php et adminstration.php pour revoir le process d'invitation sur un bateau mais aussi les sécurités de base sur les fichiers index.php et les fonctions_html.php

This commit is contained in:
2026-10-05 13:48:45 +00:00
parent 7146bce248
commit b7cb39bbe6
10 changed files with 2752 additions and 2511 deletions
+2 -30
View File
@@ -162,7 +162,7 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
// Récupération des informations sur le ou les bateaux accessibles à ce ShipMember :
$nb_bateaux = 0;
$requete = 'SELECT * FROM TB_Lien_bateau_shipmember WHERE ID_SHIPMEMBER=? ';
$requete = "SELECT * FROM TB_Lien_bateau_shipmember WHERE ID_SHIPMEMBER=? AND Statut IN ('actif','suspendu')"; // Hors invitations et accès révoqués (synthèse §47)
$reponse = Requete_preparee_bdd($requete,
array(
array('i', $_SESSION['Administration']['id_shipmember'])),
@@ -187,36 +187,8 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
}
Liberation_jeu_de_resultat_bdd($reponse);
}
// Créer le lien bateau shipmember, affecter l'enregitrement a cet utilisateur
if (isset($_SESSION['code_acces']) && $_SESSION['code_acces']!=''){
$code = $_SESSION['code_acces'];
$requete = 'SELECT * FROM TB_Lien_bateau_shipmember WHERE Validite=1 AND Code=? AND ID_Shipmember=0';
$reponse = Requete_preparee_bdd($requete, array(array('s', $code)), __FILE__, __LINE__);
$donnees = Recherche_ligne_bdd($reponse);
// Vérifier si le code est tjrs valable
if ($donnees == NULL){
$message_erreur .= "Code invalide ou déjà utilisé \n";
$_SESSION['code_acces'] = '';
}
else {
$sous_req = 'UPDATE TB_Lien_bateau_shipmember SET ID_Shipmember=? WHERE Validite=1 AND Code=? AND ID_Shipmember=0';
$sous_rep = Requete_preparee_bdd($sous_req, array(array('i', $_SESSION['shipmember']['Cle_primaire']), array('s', $code)), __FILE__, __LINE__);
$_SESSION['code_acces'] = '';
// $_SESSION['droits_acces'] = $donnees['Niveau_acces'];
}
}
// Récupération des liaisons shipmember - bateau
$current_timestamp = date_format(date_create(), 'Y-m-d H:i:s');
$requete = 'SELECT ID_Bateau, ID_Type_acces_bateau_shipmember FROM TB_Lien_bateau_shipmember WHERE ID_Shipmember='.$_SESSION['shipmember']['Cle_primaire'].' AND Validite=1 AND Validite_acces=1 AND Fin_validite>="'.$current_timestamp.'"';
$reponse = Requete_bdd($requete, __FILE__, __LINE__);
$nb_acces = 0;
// $bateau_shipmember = []
while ($donnees = Recherche_ligne_bdd($reponse)) {
$_SESSION['bateau_shipmember'][$nb_acces++] = $donnees;
}
$_SESSION['acces'] = $nb_acces;
Rafraichir_acces_session($_SESSION['shipmember']['Cle_primaire']); // Accès actifs (synthèse §47)
// $_SESSION['acces_valide'] = true;
break;