Mise à jour de travail sur le portage de la version 'Ovh' vers le VPS. Nombreuses modifs à tous niveaux (donc non tracées...)

This commit is contained in:
2026-10-02 15:20:14 +00:00
parent 94ae0d9b25
commit fcf5434ff8
15 changed files with 855 additions and 751 deletions
+267 -126
View File
@@ -2,7 +2,7 @@
include "../config/config.php";
Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session et vérifiant que les accès sont autorisés.
Entete_page_html();
//************************************************************************************************************************************
@@ -22,7 +22,7 @@ Entete_page_html();
// Variables de SESSION :
if (!isset($_SESSION['Administration']['page'])) $_SESSION['Administration']['page'] = 'Accueil';
if (!isset($_SESSION['Administration']['ancre'])) $_SESSION['Administration']['ancre'] = "#";
if (!isset($_SESSION['Administration']['questionnaire'])) $_SESSION['Administration']['questionnaire'] = 'Nautic2021';
if (!isset($_SESSION['Administration']['id_shipmember'])) $_SESSION['Administration']['id_shipmember'] = 0;
// Variables GET :
@@ -36,13 +36,13 @@ Entete_page_html();
if (isset($_GET['destination']))
{
$_SESSION['Administration']['page'] = $_GET['destination'];
$_SESSION['display_menu'] = false;
//$_SESSION['display_menu'] = false;
}
if (isset($_GET['ancre']))
{
$_SESSION['Administration']['ancre'] = $_GET['ancre'];
$_SESSION['display_menu'] = false;
//$_SESSION['display_menu'] = false;
}
break;
}
@@ -57,26 +57,29 @@ Entete_page_html();
}
break;
}
//===================================
case "details_shipmember":
{
if (isset($_GET['id_shipmember']))
{
$_SESSION['Administration']['id_shipmember'] = $_GET['id_shipmember'];
$_SESSION['Administration']['page'] = 'Details_shipmember';
}
break;
}
//===================================
case "changement_type":
{
if (isset($_GET['type']))
{
if (isset($_GET['type']))
{
$_SESSION['type_utilisateur'] = $_GET['type'];
chargement_langue();
}
break;
$_SESSION['type_utilisateur'] = $_GET['type'];
chargement_langue();
}
case "toggle_edit":
{
if ($_SESSION['modifier_texte'] == 0) $_SESSION['modifier_texte'] = 1;
else if ($_SESSION['modifier_texte'] == 1) $_SESSION['modifier_texte'] = 0;
break;
}
break;
}
}
if (!$flag_redirection) header('Location:administration.php');
@@ -94,7 +97,7 @@ Entete_page_html();
//************************************************************************************************************************************
// Protection contre les accès directs :
if ((!$_SESSION['acces_valide']) OR ($_SESSION['shipmember']['Niveau_acces'] < NIVEAU_MINI_ACCES_ADMINISTATEUR)) header('Location:shipmembers.php?action=navigation&destination=Login');
if ((!$_SESSION['acces_valide']) OR ($_SESSION['shipmember']['Niveau_acces'] < NIVEAU_ACCES_MINI_ADMINISTRATEUR)) header('Location:shipmembers.php?action=navigation&destination=Login');
switch ($_SESSION['Administration']['page'])
{
@@ -105,6 +108,122 @@ Entete_page_html();
break;
}
//****************************************************************************************************************************
case "Shipmembers":
{
// Récupération des informations sur les ShipMembers :
$nb_shipmembers = 0;
$requete = 'SELECT * FROM TB_Shipmembers WHERE Validite=1 ORDER BY ID ASC';
$reponse = Requete_preparee_bdd($requete,
array(),
__FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
$shipmembers[$nb_shipmembers ++] = $donnees;
}
Liberation_jeu_de_resultat_bdd($reponse);
break;
}
//****************************************************************************************************************************
case "Details_shipmember":
{
// Modifier les droits d'accès d'un utilisateur
if (isset($_POST['niveau_acces_shipmember']))
{
$na = $_POST['niveau_acces_shipmember'];
if (($na >=NIVEAU_ACCES_MINI) AND ($na <= NIVEAU_ACCES_MAXI))
{
$requete = 'UPDATE TB_Shipmembers SET Niveau_acces=? WHERE ID=?';
$reponse = Requete_preparee_bdd($requete,
array(
array('i', $na),
array('i', $_SESSION['Administration']['id_shipmember'])),
__FILE__, __LINE__);
}
}
// Récupération des informations sur le ShipMember :
$requete = 'SELECT *, (SELECT Texte FROM TB_Textes_traduction WHERE ID_TYPE = 1 AND ID_TEXTES=(SELECT ID_NOM FROM TB_Pays WHERE ID=TB_Shipmembers.ID_PAYS) AND ID_LANGUAGES=1) AS Libelle_pays FROM TB_Shipmembers WHERE ID='.$_SESSION['Administration']['id_shipmember'].' ';
$reponse = Requete_preparee_bdd($requete,
array(),
__FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
$shipmember = $donnees;
}
Liberation_jeu_de_resultat_bdd($reponse);
$requete = '';
// 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=? ';
$reponse = Requete_preparee_bdd($requete,
array(
array('i', $_SESSION['Administration']['id_shipmember'])),
__FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
$bateaux[$nb_bateaux ++]['Cle_primaire'] = $donnees['ID_Bateau'];
}
Liberation_jeu_de_resultat_bdd($reponse);
// Récupération des informations relatives à chacun des bateaux accessibles :
for ($i=0; $i<$nb_bateaux; $i ++)
{
$requete = 'SELECT * FROM TB_Bateaux WHERE Cle_primaire=? ';
$reponse = Requete_preparee_bdd($requete,
array(
array('i', $bateaux[$i]['Cle_primaire'])),
__FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
$bateaux[$i] = $donnees;
}
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;
// $_SESSION['acces_valide'] = true;
break;
}
//****************************************************************************************************************************
case "Purge_bdd":
{
@@ -257,58 +376,6 @@ Entete_page_html();
//****************************************************************************************************************************
case "Questionnaires":
{
switch($_SESSION['Administration']['questionnaire'])
{
default:
{
$message_erreur .= "Le questionnaire ".$_SESSION['Administration']['questionnaire']." est inconnu. Le questionnaire en cours est repassé à sa valeur par défaut.";
$_SESSION['Administration']['questionnaire'] = "Nautic2021";
}
case "Nautic2021" :
{
$table_questionnaire = "TB_Nautic2021";
break;
}
}
// Nombre de réponses :
$requete = 'SELECT COUNT(*) AS Nb FROM '.$table_questionnaire.' WHERE Validite=1';
$reponse = Requete_preparee_bdd($requete,
array(),
__FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
$reponses_questionnaire['Nb'] = $donnees['Nb'];
}
Liberation_jeu_de_resultat_bdd($reponse);
// Dernier enregistrement :
$requete = 'SELECT DATE_FORMAT(Date_creation,"%d/%m/%Y à %H:%i:%s") as Date_creation FROM '.$table_questionnaire.' WHERE Validite=1 ORDER BY Date_creation DESC LIMIT 1';
// echo 'Requête = '.$requete.'<br />';
$reponse = Requete_preparee_bdd($requete,
array(),
__FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
$reponses_questionnaire['Date_creation'] = $donnees['Date_creation'];
}
Liberation_jeu_de_resultat_bdd($reponse);
// Nombre d'enregistrements par jour :
$nb_jours = 0;
$requete = 'SELECT COUNT(*) as Nb_jours, DATE_FORMAT(Date_creation, "%d-%m-%Y") as Date_creations FROM '.$table_questionnaire.' WHERE Validite=1 GROUP BY DATE_FORMAT(Date_creation, "%Y-%m-%d")';
// echo 'Requête = '.$requete.'<br />';
$reponse = Requete_preparee_bdd($requete,
array(),
__FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
$reponses_questionnaire['Creations_par_jour'][$nb_jours ++] = $donnees;
}
Liberation_jeu_de_resultat_bdd($reponse);
break;
@@ -324,6 +391,7 @@ Entete_page_html();
// Affichage
//************************************************************************************************************************************
Entete_page_html();
//********************************************************************************************************************************
// Affichage principal :
@@ -347,32 +415,16 @@ Entete_page_html();
echo '<h2>ShipMembers et Bateaux</h2>';
echo '<div class="boutons_bas_de_page">';
echo '<a title="" href="shipmembers.php?action=navigation&destination=Administration">ShipMembers</a>';
echo '<a title="" href="administration.php?action=navigation&destination=Shipmembers">ShipMembers</a>';
echo '<a title="" href="bateaux.php?action=navigation&destination=Accueil">Gestion des bateaux</a>';
echo '</div>';
echo '<h2>Site web</h2>';
echo '<div class="boutons_bas_de_page">';
// echo '<a title="" href="administration.php?action=navigation&destination=Commandes">Commandes</a>';
echo '<a title="" href="faq.php?action=navigation&destination=Administration">Faq</a>';
echo '<a title="" href="actualites.php?action=navigation&destination=Administration">Actualités</a>';
echo '<a title="" href="produit_desc.php?action=navigation&destination=Administration">Produits</a>';
echo '<a title="" href="galerie.php?action=navigation&destination=Administration">Galerie photos</a>';
echo '<a title="" href="videos.php?action=navigation&destination=Administration">Videos</a>';
echo '<a title="" href="devis.php?action=navigation&destination=Administration">Devis</a>';
// echo '<a title="" href="administration.php?action=navigation&destination=Questionnaires">Questionnaires</a>';
echo '<a title="" href="textes.php?action=navigation&destination=Accueil">Gestion des textes</a>';
echo '</div>';
echo '<h2>Technique</h2>';
echo '<div class="boutons_bas_de_page">';
echo '<a title="" href="versions.php?action=navigation&destination=Accueil">Gestion des versions</a>';
echo '<a title="" href="cartes.php?action=navigation&destination=Accueil">Gestion des cartes</a>';
echo '<a title="" href="uploads.php?action=navigation&destination=Accueil" onclick="return confirm(\'Vous êtes sur vous voulez traiter les uploads ?\');">Traitement des uploads</a>';
//echo '<a title="" href="c_tech_api.php" onclick="return confirm(\'Etes-vous sûr de vouloir lancer le traitement de l\'API C-Technology ?\');">Traitement de l\'API C-Technology</a>';
//echo '<a title="" href="data_treatment.php" onclick="return confirm(\'Etes-vous sûr de vouloir lancer DATE_TREATMENT.PHP pour traiter les tables [old] ?\');">Traitement des tables OLD</a>';
//echo '<a title="" href="administration.php?action=navigation&destination=Purge_bdd" onclick="return confirm(\'Vous allez faire un purge de la BDD, avancer ?\');">Purge de la BDD</a>';
//echo '<a title="" href="check_payments.php?verbose">Test check factures</a>';
echo '</div>';
echo '<div class="boutons_bas_de_page">';
@@ -384,6 +436,132 @@ Entete_page_html();
break;
}
//************************************************************************************************************************
case "Shipmembers":
{
echo '<div id="shipmembers" class="page_principale">';
echo '<h1>Administration</h1>';
echo '<h2>ShipMembers</h2>';
echo '<table class="shipmember">
<thead>
<tr>
<th>Nom</th>
<th>Entreprise</th>
<th>Telephone</th>
<th>Email</th>
</tr>
</thead>
<tbody>';
for ($i = 0; $i < $nb_shipmembers; $i ++)
{
echo '<tr>
<td>
<a href="administration.php?action=details_shipmember&id_shipmember='.$shipmembers[$i]['ID'].'">
'.$shipmembers[$i]['Prenom'].' '.$shipmembers[$i]['Nom'].'
</a>
</td>
<td>'.$shipmembers[$i]['Entreprise'].'</td>
<td>'.$shipmembers[$i]['Telephone'].'</td>
<td>'.$shipmembers[$i]['Email'].'</td>
</tr>';
}
echo '</tbody>
</table>';
echo '<div class="boutons_bas_de_page">';
echo '<a title="" href="administration.php?action=navigation&destination=Accueil">Retour au menu Administration</a>';
echo '</div>';
echo '</div>';
break;
}
//************************************************************************************************************************
case "Details_shipmember":
{
echo '<div id="details_shipmember" class="page_principale">';
echo '<h1>Administration</h1>';
echo '<h2>ShipMember n° <span class="gras">'.$shipmember['ID'].'</span></h2>';
echo '<table class="shipmember">
<tbody>';
echo '<tr>
<td>Nom complet</td>
<td>'.$shipmember['Prenom'].' '.$shipmember['Nom'].'</td>
</tr>';
echo '<tr>
<td>Entreprise</td>
<td>'.$shipmember['Entreprise'].'</td>
</tr>';
echo '<tr>
<td>Adresse</td>
<td>'.$shipmember['Rue'].' - '.$shipmember['Code_postal'].' '.$shipmember['Ville'].' - '.$shipmember['Libelle_pays'].'</td>
</tr>';
echo '<tr>
<td>Téléphone</td>
<td>'.$shipmember['Telephone'].'</td>
</tr>';
echo '<tr>
<td>Email</td>
<td>'.$shipmember['Email'].'</td>
</tr>';
echo '<tr>
<td>Date création du compte</td>
<td>'.Formatage_date($shipmember['Date_creation_compte']).'</td>
</tr>';
echo '<tr>
<td>Niveau d\'accès</td>
<td> <form method="POST" action="administration.php">
<input name="niveau_acces_shipmember" type="number" max="99" min="0" value="'.$shipmember['Niveau_acces'].'" style="max-width:20%">
<button type="submit" style="font-size: 12px"> Valider </button>
</form>
</td>
</tr>';
echo '<tr>
<td>Bateaux accessibles</td>
<td>';
if ($nb_bateaux == 0) echo '<i>Aucun...</i>';
else
{
for ($i=0; $i<$nb_bateaux; $i ++)
{
echo $bateaux[$i]['Nom'].'<br />';
}
}
echo '</td>
</tr>';
echo '</tbody>
</table>';
echo '<div class="boutons_bas_de_page">';
echo '<a title="" href="administration.php?action=navigation&destination=Shipmembers">Retour à la liste des ShipMembers</a>';
echo '</div>';
echo '</div>';
break;
}
//************************************************************************************************************************
case "Purge_bdd":
{
@@ -414,43 +592,6 @@ Entete_page_html();
//****************************************************************************************************************************
case "Questionnaires":
{
echo '<div id="questionnaires" class="page_principale">';
echo '<h1>Administration</h1>';
echo '<h2>Questionnaire : '.$_SESSION['Administration']['questionnaire'].'</h2>';
// Nb de fiche réponse :
echo '<div class="indicateur">
<div class="libelle_indicateur">Le nombre total de questionnaires enregistrés est : </div>
<div class="valeur_indicateur">'.$reponses_questionnaire['Nb'].'</div>
</div>';
// Date dernière réponse :
echo '<div class="indicateur">
<div class="libelle_indicateur">La date du dernier formulaire rempli est : </div>
<div class="valeur_indicateur">'.$reponses_questionnaire['Date_creation'].'</div>
</div>';
// Nb créations par jour :
echo '<div class="indicateur">';
foreach($reponses_questionnaire['Creations_par_jour'] as $key => $creations)
{
echo '<div class="libelle_indicateur">Le nombre de formulaires saisis le '.$creations['Date_creations'].' est de : </div>
<div class="valeur_indicateur">'.$creations['Nb_jours'].'</div>';
}
echo '</div>';
echo '<div class="boutons_bas_de_page">';
echo '<a class=retour" title="" href="administration.php?action=navigation&destination=Accueil">Retour à l\'accueil</a>';
echo '</div>';
echo '</div>';
break;
}
+7 -6
View File
@@ -2,7 +2,7 @@
include "../config/config.php";
Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session et vérifiant que les accès sont autorisés.
Entete_page_html();
//SELECT TBV.Nom, TBMB.Valeur, TBMB.No_paquet FROM TB_BATEAUX_Mesures_batteries TBMB INNER JOIN TB_BATEAUX_Variables TBV ON TBMB.ID_Variable = TBV.Cle_primaire WHERE TBV.ID_Bateau = 1 AND TBMB.ID_Bateau = 1;
@@ -446,7 +446,7 @@ Entete_page_html();
{
if (!$_SESSION['acces_valide']) break; // Si on n'est pas identifié, on ne peut pas accéder quoi qu'il arrive...
if ($_SESSION['shipmember']['Niveau_acces'] >= NIVEAU_MINI_ACCES_ADMINISTATEUR)
if ($_SESSION['shipmember']['Niveau_acces'] >= NIVEAU_ACCES_MINI_ADMINISTRATEUR)
{
$flag_sortie = false; // Si on est administrateur, on a toujours accès....
break;
@@ -508,7 +508,7 @@ Entete_page_html();
$requete .= ' FROM `TB_Bateaux` ';
$requete .= ' WHERE Validite=1 ';
$requete .= $tri_liste;
// echo "Requête = [".$requete."]<br />";
echo "Requête = [ ".$requete."; ]<br />";
$reponse = Requete_preparee_bdd($requete,
array(),
@@ -595,7 +595,7 @@ Entete_page_html();
//---------------------------------------------
// Recherche des droits d'accès au bateau :
//---------------------------------------------
if ($_SESSION['shipmember']['Niveau_acces'] >= NIVEAU_MINI_ACCES_ADMINISTATEUR) // Dans le cas des administrateurs, on accorde tous les droits, indépendamment des paramètres du bateau
if ($_SESSION['shipmember']['Niveau_acces'] >= NIVEAU_ACCES_MINI_ADMINISTRATEUR) // Dans le cas des administrateurs, on accorde tous les droits, indépendamment des paramètres du bateau
{
$acces_profil['Creation_profils'] = 1;
$acces_profil['Devalidation_profils'] = 2;
@@ -2131,6 +2131,7 @@ Entete_page_html();
// Affichage
//************************************************************************************************************************************
Entete_page_html();
//********************************************************************************************************************************
// Affichage principal :
@@ -2200,7 +2201,7 @@ Entete_page_html();
echo '<h1>Bateau <span class="gras">'.$bateau['Nom'].'</span></h1>';
echo '<div class="entete_bateau">';
if ($_SESSION['shipmember']['Niveau_acces'] >= NIVEAU_MINI_ACCES_ADMINISTATEUR || $acces_profil['Consultation_donnees'] == 2)
if ($_SESSION['shipmember']['Niveau_acces'] >= NIVEAU_ACCES_MINI_ADMINISTRATEUR || $acces_profil['Consultation_donnees'] == 2)
{
echo '<div class="bouton_gestion_acces">';
echo Ajouter_lien_modif_buttons("bateau","details","boutons","acces");
@@ -2253,7 +2254,7 @@ Entete_page_html();
//--------------------------------
// Boutons de haut de page :
echo '<div class="boutons_haut_de_page">';
if ( ($_SESSION['shipmember']['Niveau_acces'] >= NIVEAU_MINI_ACCES_ADMINISTATEUR) ||
if ( ($_SESSION['shipmember']['Niveau_acces'] >= NIVEAU_ACCES_MINI_ADMINISTRATEUR) ||
(($acces_profil['Consultation_donnees'] == 1) ||
($acces_profil['Consultation_donnees'] == 2)) )
{
+31 -10
View File
@@ -33,19 +33,40 @@ Fichier administration.php
}
#Administration #questionnaires .indicateur {
margin: 20px 0px 30px 0px;
}
#Administration #questionnaires .libelle_indicateur {
/* display: inline-block; */
/*--------------------------------------------------*/
#Administration #shipmembers table {
width: 100%;
margin: 20px 0px 50px 0px;
}
#Administration #shipmembers table th {
text-align: center;
padding: 3px 10px;
}
#Administration #shipmembers table td {
border-top: 1px solid var(--gris_tres_tres_pale);
text-align: left;
padding: 3px 10px;
font-size: 0.9em;
}
#Administration #shipmembers table td:nth-child(3) {
text-align: center;
}
#Administration #questionnaires .valeur_indicateur {
/* display: inline-block; */
#Administration #shipmembers table td a {
margin: 0px;
padding: 0px;
}
/*--------------------------------------------------*/
#Administration #details_shipmember table {
width: 100%;
text-align: center;
font-weight: bold;
font-size: 2em;
margin: 20px 0px 50px 0px;
}
#Administration #details_shipmember table td {
border-top: 1px solid var(--gris_tres_tres_pale);
text-align: left;
padding: 3px 10px;
font-size: 0.9em;
}
-37
View File
@@ -131,43 +131,6 @@ Fichier shipmembers.php
text-align: justify;
}
/*--------------------------------------------------*/
#Shipmembers #administration table {
width: 100%;
margin: 20px 0px 50px 0px;
}
#Shipmembers #administration table th {
text-align: center;
padding: 3px 10px;
}
#Shipmembers #administration table td {
border-top: 1px solid var(--gris_tres_tres_pale);
text-align: left;
padding: 3px 10px;
font-size: 0.9em;
}
#Shipmembers #administration table td:nth-child(3) {
text-align: center;
}
#Shipmembers #administration table td a {
margin: 0px;
padding: 0px;
}
/*--------------------------------------------------*/
#Shipmembers #details table {
width: 100%;
margin: 20px 0px 50px 0px;
}
#Shipmembers #details table td {
border-top: 1px solid var(--gris_tres_tres_pale);
text-align: left;
padding: 3px 10px;
font-size: 0.9em;
}
/*--------------------------------------------------*/
#Shipmembers #profil form {
+68 -303
View File
@@ -4,8 +4,6 @@ include "../config/config.php";
Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session et vérifiant que les accès sont autorisés.
//************************************************************************************************************************************
// Initialisation des variables globales
//************************************************************************************************************************************
@@ -26,7 +24,19 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
// Variables GET :
if (isset($_GET['code_acces']) && (!isset($_SESSION['code_acces']) || $_SESSION['code_acces']== '')) $_SESSION['code_acces'] = $_GET['code_acces'];
// Le code d'accès ne doit contenir que ce que produit le générateur (bateaux.php) : chiffres et
// lettres, 6 caractères aujourd'hui (colonne Code : 20 au maximum). Il est ensuite inséré dans des
// requêtes SQL : tout autre caractère est refusé. is_string() écarte ?code_acces[]=... (un tableau
// ferait planter preg_match) ; \z (et non $) refuse aussi un retour à la ligne final.
function Code_acces_est_valide($valeur)
{
return is_string($valeur) && preg_match('/^[0-9A-Za-z]{1,20}\z/', $valeur) === 1;
}
// Une valeur déjà présente en session (ouverte avant ce contrôle, ou par une autre voie) est vérifiée aussi :
if (isset($_SESSION['code_acces']) && !Code_acces_est_valide($_SESSION['code_acces'])) $_SESSION['code_acces'] = '';
if (isset($_GET['code_acces']) && Code_acces_est_valide($_GET['code_acces']) && (!isset($_SESSION['code_acces']) || $_SESSION['code_acces']== '')) $_SESSION['code_acces'] = $_GET['code_acces'];
if (isset($_GET['action']))
{
@@ -47,16 +57,7 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
}
break;
}
//-----------------------------------
case "toggle_edit":
{
if ($_SESSION['modifier_texte'] == 0) $_SESSION['modifier_texte'] = 1;
else if ($_SESSION['modifier_texte'] == 1) $_SESSION['modifier_texte'] = 0;
break;
}
//-----------------------------------
case "deconnexion" :
{
@@ -79,18 +80,6 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
break;
}
//-----------------------------------
case "details_shipmember":
{
if (isset($_GET['id_shipmember']))
{
$_SESSION['Shipmembers']['ID'] = $_GET['id_shipmember'];
$_SESSION['Shipmembers']['page'] = 'Details';
}
break;
}
//-----------------------------------
case "generation_mdp":
{
@@ -178,7 +167,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, ID_Stripe, 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']),
@@ -228,7 +217,7 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
<p>Nom : [[Prenom]] [[Nom]]</p>
<p>Email : [[Email]]</p>
<p>Mot de passe provisoire : [[Password]]</p>
<p>Plus qu’un clic : Connectez-vous sur <a href=\"https://shipheart.tech\">ShipHeart.tech</a> pour valider votre compte ShipMember en modifiant votre mot de passe provisoire (*). C’est une garantie de sécurité à ne pas négliger.</p>
<p>Plus qu’un clic : Connectez-vous sur <a href=\"https://[[Url_site]]\">[[Url_site]]</a> pour valider votre compte ShipMember en modifiant votre mot de passe provisoire (*). C’est une garantie de sécurité à ne pas négliger.</p>
<p>Et ensuite, où que vous soyez et dès que votre ShipHeart est installé, accédez à votre bateau via votre accès privilégié ShipMember !</p>
<p> </p>
<p>Bienvenue parmi nous !</p>
@@ -241,6 +230,7 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
$texte_email = str_replace("[[Nom]]", $_SESSION['shipmember']['Nom'], $texte_email);
$texte_email = str_replace("[[Email]]", $_SESSION['shipmember']['Email'], $texte_email);
$texte_email = str_replace("[[Password]]", $password, $texte_email);
$texte_email = str_replace("[[Url_site]]", URL_SITE, $texte_email);
$texte_email = str_replace("[[Date_maxi_activation]]", $date_maxi_activation, $texte_email);
Envoi_email('', $_SESSION['shipmember']['Email'],
@@ -263,15 +253,15 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
// 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="'.$code.'" AND ID_Shipmember=0';
$reponse = Requete_bdd($requete, __FILE__, __LINE__);
$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);
Liberation_jeu_de_resultat_bdd($reponse);
if ($donnees == NULL) $message_erreur .= "Code invalide ou déjà utilisé \n";
else
{
$sous_req = 'UPDATE TB_Lien_bateau_shipmember SET ID_Shipmember='.$_SESSION['shipmember']['Cle_primaire'].' WHERE Validite=1 AND Code="'.$code.'" AND ID_Shipmember=0';
$sous_rep = Requete_bdd($sous_req, __FILE__, __LINE__);
$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'] = '';
}
@@ -307,7 +297,7 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
$email = Protection_mysql(strtolower($_POST['email_validation'])); // On ajoute les caractères d'échappement sur l'email qui sera envoyé dans la requête
$mdp = $_POST['mdp_validation']; // Le MDP n'est pas envoyé...
$requete = 'SELECT ID AS Cle_primaire, Validite, Nom, Prenom, Entreprise, Rue, Code_postal, Ville, Telephone, Email, ID_Stripe, Mdp, Date_creation_compte, Niveau_acces, ID_PAYS AS ID_Pays, ID_LANGUAGES, (SELECT 1 FROM TB_Activation WHERE ID_SHIPMEMBERS=ID) AS Compte_a_activer, (SELECT Date_creation_mdp FROM TB_Activation WHERE ID_SHIPMEMBERS=ID) AS Date_creation_mdp FROM TB_Shipmembers WHERE Email=? ';
$requete = 'SELECT ID AS Cle_primaire, Validite, Nom, Prenom, Entreprise, Rue, Code_postal, Ville, Telephone, Email, Mdp, Date_creation_compte, Niveau_acces, ID_PAYS AS ID_Pays, ID_LANGUAGES, (SELECT 1 FROM TB_Activation WHERE ID_SHIPMEMBERS=ID) AS Compte_a_activer, (SELECT Date_creation_mdp FROM TB_Activation WHERE ID_SHIPMEMBERS=ID) AS Date_creation_mdp FROM TB_Shipmembers WHERE Email=? ';
$reponse = Requete_preparee_bdd($requete,
array(
array('s', $email)),
@@ -349,7 +339,7 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
__FILE__, __LINE__);
// Recherche des informations du ShipMember :
$requete = 'SELECT ID AS Cle_primaire, Validite, Nom, Prenom, Entreprise, Rue, Code_postal, Ville, Telephone, Email, ID_Stripe, Mdp, Date_creation_compte, Niveau_acces, ID_PAYS AS ID_Pays, ID_LANGUAGES, (SELECT 1 FROM TB_Activation WHERE ID_SHIPMEMBERS=ID) AS Compte_a_activer, (SELECT Date_creation_mdp FROM TB_Activation WHERE ID_SHIPMEMBERS=ID) AS Date_creation_mdp FROM TB_Shipmembers WHERE ID=?';
$requete = 'SELECT ID AS Cle_primaire, Validite, Nom, Prenom, Entreprise, Rue, Code_postal, Ville, Telephone, Email, Mdp, Date_creation_compte, Niveau_acces, ID_PAYS AS ID_Pays, ID_LANGUAGES, (SELECT 1 FROM TB_Activation WHERE ID_SHIPMEMBERS=ID) AS Compte_a_activer, (SELECT Date_creation_mdp FROM TB_Activation WHERE ID_SHIPMEMBERS=ID) AS Date_creation_mdp FROM TB_Shipmembers WHERE ID=?';
$reponse = Requete_preparee_bdd($requete,
array(
array('i', $_SESSION['shipmember']['Cle_primaire'])),
@@ -376,8 +366,8 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
// 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="'.$code.'" AND ID_Shipmember=0';
$reponse = Requete_bdd($requete, __FILE__, __LINE__);
$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){
@@ -385,8 +375,8 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
$_SESSION['code_acces'] = '';
}
else {
$sous_req = 'UPDATE TB_Lien_bateau_shipmember SET ID_Shipmember = '.$_SESSION['shipmember']['Cle_primaire'].' WHERE Validite=1 AND Code="'.$code.'" AND ID_Shipmember=0';
$sous_rep = Requete_bdd($sous_req, __FILE__, __LINE__);
$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'];
}
@@ -429,7 +419,7 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
$new_mdp = $_POST['Mot_de_passe_1'];
// Recherche du MDP existant de l'adhérent :
$requete = 'SELECT ID AS Cle_primaire, Validite, Nom, Prenom, Entreprise, Rue, Code_postal, Ville, Telephone, Email, ID_Stripe, Mdp, Date_creation_compte, Niveau_acces, ID_PAYS AS ID_Pays, ID_LANGUAGES, (SELECT 1 FROM TB_Activation WHERE ID_SHIPMEMBERS=ID) AS Compte_a_activer, (SELECT Date_creation_mdp FROM TB_Activation WHERE ID_SHIPMEMBERS=ID) AS Date_creation_mdp FROM TB_Shipmembers WHERE ID=?';
$requete = 'SELECT ID AS Cle_primaire, Validite, Nom, Prenom, Entreprise, Rue, Code_postal, Ville, Telephone, Email, Mdp, Date_creation_compte, Niveau_acces, ID_PAYS AS ID_Pays, ID_LANGUAGES, (SELECT 1 FROM TB_Activation WHERE ID_SHIPMEMBERS=ID) AS Compte_a_activer, (SELECT Date_creation_mdp FROM TB_Activation WHERE ID_SHIPMEMBERS=ID) AS Date_creation_mdp FROM TB_Shipmembers WHERE ID=?';
$reponse = Requete_preparee_bdd($requete,
array(
array('i', $_SESSION['shipmember']['Cle_primaire'])),
@@ -439,7 +429,7 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
// Vérification que le mot de passe est changé :
// if (Hash_Mdp($new_mdp) == $shipmember['Mdp']) $message_erreur .= nl2br(Recuperation_texte('all','all','erreurs','pwd_egal_temporaire'));
if (password_verify($new_mdp, $shipmember['Mdp'])) $message_erreur .= nl2br(t("Pour des raisons de sécurité, votre nouveau mot de passe ne peut pas être identique au mot de passe provisoire."));
if (password_verify($new_mdp, $shipmember['Mdp'])) $message_erreur .= t("Pour des raisons de sécurité, votre nouveau mot de passe ne peut pas être identique au mot de passe provisoire.");
else
{
// Mise à jour du nouveau mot de passe :
@@ -502,16 +492,20 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
{
$nb_emails_valides = 0;
$requete = 'SELECT ID AS Cle_primaire, Validite, Nom, Prenom, Entreprise, Rue, Code_postal, Ville, Telephone, Email, ID_Stripe, Mdp, Date_creation_compte, Niveau_acces, ID_PAYS AS ID_Pays, ID_LANGUAGES, (SELECT 1 FROM TB_Activation WHERE ID_SHIPMEMBERS=ID) AS Compte_a_activer, (SELECT Date_creation_mdp FROM TB_Activation WHERE ID_SHIPMEMBERS=ID) AS Date_creation_mdp FROM TB_Shipmembers WHERE Validite=1 AND Email=? ';
$requete = 'SELECT ID AS Cle_primaire, Validite, Nom, Prenom, Entreprise, Rue, Code_postal, Ville, Telephone, Email, Mdp, Date_creation_compte, Niveau_acces, ID_PAYS AS ID_Pays, ID_LANGUAGES, (SELECT 1 FROM TB_Activation WHERE ID_SHIPMEMBERS=ID) AS Compte_a_activer, (SELECT Date_creation_mdp FROM TB_Activation WHERE ID_SHIPMEMBERS=ID) AS Date_creation_mdp FROM TB_Shipmembers WHERE Validite=1 AND Email=? ';
$reponse = Requete_preparee_bdd($requete,
array(
array('s', $_SESSION['shipmember']['Email'])),
__FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
$_SESSION['shipmember']['Cle_primaire'] = $donnees['Cle_primaire'];
$_SESSION['shipmember']['Prenom'] = $donnees['Prenom'];
$_SESSION['shipmember']['Nom'] = $donnees['Nom'];
// Ces informations ne servent qu'à composer l'e-mail : NE PAS écrire
// $_SESSION['shipmember'], pour ne pas laisser en session l'identité d'un
// compte QUE L'ON N'A PAS ENCORE AUTHENTIFIÉ (n'importe qui peut demander la
// réinitialisation du mot de passe d'une adresse qui n'est pas la sienne).
$cle_primaire_demande = $donnees['Cle_primaire'];
$prenom_demande = $donnees['Prenom'];
$nom_demande = $donnees['Nom'];
$nb_emails_valides ++;
}
Liberation_jeu_de_resultat_bdd($reponse);
@@ -525,20 +519,20 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
$requete = 'DELETE FROM TB_Activation WHERE ID_SHIPMEMBERS=?';
Requete_preparee_bdd($requete,
array(
array('i', $_SESSION['shipmember']['Cle_primaire'])),
array('i', $cle_primaire_demande)),
__FILE__, __LINE__);
$requete = 'UPDATE TB_Shipmembers SET Mdp=? WHERE ID=?';
Requete_preparee_bdd($requete,
array(
array('s', password_hash($password, PASSWORD_DEFAULT)),
array('i', $_SESSION['shipmember']['Cle_primaire'])),
array('i', $cle_primaire_demande)),
__FILE__, __LINE__);
$requete = 'INSERT INTO TB_Activation(ID_SHIPMEMBERS) VALUES (?)';
Requete_preparee_bdd($requete,
array(
array('s', $_SESSION['shipmember']['Cle_primaire'])),
array('s', $cle_primaire_demande)),
__FILE__, __LINE__);
// Mémorisation dans l'historique de la connexion :
@@ -547,9 +541,9 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
array(
array('i', SYSTEME),
array('i', SYSTEME_REINIT_MDP_USER),
array('i', $_SESSION['shipmember']['Cle_primaire']),
array('i', $cle_primaire_demande),
array('i', 0),
array('s', 'Réinitialisation du mot de passe de '.$_SESSION['shipmember']['Prenom'].' '.$_SESSION['shipmember']['Prenom'].' [N° '.$_SESSION['shipmember']['Cle_primaire'].']')),
array('s', 'Réinitialisation du mot de passe de '.$prenom_demande.' '.$prenom_demande.' [N° '.$cle_primaire_demande.']')),
__FILE__, __LINE__);
@@ -565,39 +559,39 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
<p>Nom : [[Prenom]] [[Nom]]</p>
<p>Email : [[Email]]</p>
<p>Mot de passe provisoire : [[Password]]</p>
<p>Plus qu’un clic : Connectez-vous sur <a href=\"https://shipheart.tech\">ShipHeart.tech</a> pour activer votre compte ShipMember en modifiant votre mot de passe provisoire (*). C’est une garantie de sécurité à ne pas négliger...</p>
<p>Plus qu’un clic : Connectez-vous sur <a href=\"https://[[Url_site]]\">[[Url_site]]</a> pour activer votre compte ShipMember en modifiant votre mot de passe provisoire (*).</p>
<p>Bienvenue à nouveau parmi nous !</p>
<p>L'équipage ShipHeart</p>
<p> </p>
<p style=\"font-size: 0.8em;\">(*) L'activation devra être faite avant le [[Date_maxi_activation]]. Mais pas d'inquiétude ; si vous ne le faites pas avant, vous pourrez toujours demander un nouveau mot de passe provisoire.</p>");
// Mise à jour des parametres du texte :
$texte_email = str_replace("[[Prenom]]", $_SESSION['shipmember']['Prenom'], $texte_email);
$texte_email = str_replace("[[Nom]]", $_SESSION['shipmember']['Nom'], $texte_email);
$texte_email = str_replace("[[Prenom]]", $prenom_demande, $texte_email);
$texte_email = str_replace("[[Nom]]", $nom_demande, $texte_email);
$texte_email = str_replace("[[Email]]", $_SESSION['shipmember']['Email'], $texte_email);
$texte_email = str_replace("[[Password]]", $password, $texte_email);
$texte_email = str_replace("[[Url_site]]", URL_SITE, $texte_email);
$texte_email = str_replace("[[Date_maxi_activation]]", $date_maxi_activation, $texte_email);
Envoi_email('', $_SESSION['shipmember']['Email'],
t("Votre demande concernant votre accès ShipMember"),
$texte_email,
"ShipHeart by Koriolan", $_SESSION['Config__Adresse_email_shipmember'], '');
//Fin.........................................................................
//............................................................................
// Message d'information :
$message = t("Un email vient d'être envoyé à [[Prenom]] [[Nom]] ([[Email]]) avec les informations relatives à votre inscription.")."<br />";
$message = str_replace("[[Prenom]]", $_SESSION['shipmember']['Prenom'], $message);
$message = str_replace("[[Nom]]", $_SESSION['shipmember']['Nom'], $message);
$message = str_replace("[[Prenom]]", $prenom_demande, $message);
$message = str_replace("[[Nom]]", $nom_demande, $message);
$message = str_replace("[[Email]]", $_SESSION['shipmember']['Email'], $message);
$message_information .= $message;
//Fin.........................................................................
//.........................................................................
// 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.'"';
$requete = 'SELECT ID_Bateau, ID_Type_acces_bateau_shipmember FROM TB_Lien_bateau_shipmember WHERE ID_Shipmember='.$cle_primaire_demande.' AND Validite=1 AND Validite_acces=1 AND Fin_validite>="'.$current_timestamp.'"';
$reponse = Requete_bdd($requete, __FILE__, __LINE__);
$nb_acces = 0;
// $bateau_shipmember = []
@@ -606,8 +600,8 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
}
$_SESSION['acces'] = $nb_acces;
$_SESSION['acces_valide'] = true;
$_SESSION['Shipmembers']['page'] = "Accueil";
// $_SESSION['acces_valide'] = true;
// $_SESSION['Shipmembers']['page'] = "Accueil";
}
$_SESSION['Shipmembers']['page'] = "Login";
@@ -743,7 +737,7 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
$texte_email = t("<p>Bonjour,</p>
<p>L'adresse email associée à votre compte ShipMember vient d'être modifiée à votre demande :</p>
<p>Ancienne adresse : [[Old_email]]</p><p>Nouvelle adresse : [[New_email]]</p>
<p>Si vous n'êtes pas à l'origine de ce changement d'adresse, merci de contacter sans attendre l'administrateur du site à : <a href=\"mailto:[[Adresse_email_alertes]]\">[[Adresse_email_alertes]].'</a></p>
<p>Si vous n'êtes pas à l'origine de ce changement d'adresse, merci de contacter sans attendre l'administrateur du site à : <a href=\"mailto:[[Adresse_email_alertes]]\">[[Adresse_email_alertes]]</a></p>
<p>L'équipage ShipHeart</p>");
// Mise à jour des parametres du texte :
@@ -830,7 +824,7 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
case "Accueil":
{
// Mise à jour des données du ShipMember (au cas où) :
$requete = 'SELECT ID AS Cle_primaire, Validite, Nom, Prenom, Entreprise, Rue, Code_postal, Ville, Telephone, Email, ID_Stripe, Mdp, Date_creation_compte, Niveau_acces, ID_PAYS AS ID_Pays, ID_LANGUAGES, (SELECT 1 FROM TB_Activation WHERE ID_SHIPMEMBERS=ID) AS Compte_a_activer, (SELECT Date_creation_mdp FROM TB_Activation WHERE ID_SHIPMEMBERS=ID) AS Date_creation_mdp FROM TB_Shipmembers WHERE ID=?';
$requete = 'SELECT ID AS Cle_primaire, Validite, Nom, Prenom, Entreprise, Rue, Code_postal, Ville, Telephone, Email, Mdp, Date_creation_compte, Niveau_acces, ID_PAYS AS ID_Pays, ID_LANGUAGES, (SELECT 1 FROM TB_Activation WHERE ID_SHIPMEMBERS=ID) AS Compte_a_activer, (SELECT Date_creation_mdp FROM TB_Activation WHERE ID_SHIPMEMBERS=ID) AS Date_creation_mdp FROM TB_Shipmembers WHERE ID=?';
$reponse = Requete_preparee_bdd($requete,
array(
array('i', $_SESSION['shipmember']['Cle_primaire'])),
@@ -845,8 +839,8 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
// 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="'.$code.'" AND ID_Shipmember=0';
$reponse = Requete_bdd($requete, __FILE__, __LINE__);
$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){
@@ -854,8 +848,8 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
$_SESSION['code_acces'] = '';
}
else {
$sous_req = 'UPDATE TB_Lien_bateau_shipmember SET ID_Shipmember='.$_SESSION['shipmember']['Cle_primaire'].' WHERE Validite=1 AND Code="'.$code.'" AND ID_Shipmember=0';
$sous_rep = Requete_bdd($sous_req, __FILE__, __LINE__);
$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'];
}
@@ -878,116 +872,9 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
break;
}
//****************************************************************************************************************************
case "Administration":
{
// Protection contre les accès directs :
if ((!$_SESSION['acces_valide']) OR ($_SESSION['shipmember']['Niveau_acces'] < NIVEAU_MINI_ACCES_ADMINISTATEUR)) header('Location:shipmembers.php?action=navigation&destination=Login');
// Récupération des informations sur les ShipMembers :
$nb_shipmembers = 0;
$requete = 'SELECT * FROM TB_Shipmembers WHERE Validite=1 ORDER BY ID ASC';
$reponse = Requete_preparee_bdd($requete,
array(),
__FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
$shipmembers[$nb_shipmembers ++] = $donnees;
}
Liberation_jeu_de_resultat_bdd($reponse);
break;
}
//****************************************************************************************************************************
case "Details":
{
// Modifier les droits d'accès d'un utilisateur
if (isset($_POST['acces'])){
$requete = 'UPDATE TB_Shipmembers SET Niveau_acces=? WHERE ID=?';
$reponse = Requete_preparee_bdd($requete,
array(
array('i', $_POST['acces']),
array('i', $_SESSION['Shipmembers']['ID'])),
__FILE__, __LINE__);
}
// Récupération des informations sur le ShipMember :
$requete = 'SELECT *, (SELECT Texte FROM TB_Textes_traduction WHERE ID_TYPE = 1 AND ID_TEXTES=(SELECT ID_NOM FROM TB_Pays WHERE ID=TB_Shipmembers.ID_PAYS) AND ID_LANGUAGES=1) AS Libelle_pays FROM TB_Shipmembers WHERE ID='.$_SESSION['Shipmembers']['ID'].' ';
$reponse = Requete_preparee_bdd($requete,
array(),
__FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
$shipmember = $donnees;
}
Liberation_jeu_de_resultat_bdd($reponse);
$requete = '';
// 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=? ';
$reponse = Requete_preparee_bdd($requete,
array(
array('i', $_SESSION['Shipmembers']['ID'])),
__FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
$bateaux[$nb_bateaux ++]['Cle_primaire'] = $donnees['ID_Bateau'];
}
Liberation_jeu_de_resultat_bdd($reponse);
// Récupération des informations relatives à chacun des bateaux accessibles :
for ($i=0; $i<$nb_bateaux; $i ++)
{
$requete = 'SELECT * FROM TB_Bateaux WHERE Cle_primaire=? ';
$reponse = Requete_preparee_bdd($requete,
array(
array('i', $bateaux[$i]['Cle_primaire'])),
__FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
$bateaux[$i] = $donnees;
}
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="'.$code.'" AND ID_Shipmember=0';
$reponse = Requete_bdd($requete, __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='.$_SESSION['shipmember']['Cle_primaire'].' WHERE Validite=1 AND Code="'.$code.'" AND ID_Shipmember=0';
$sous_rep = Requete_bdd($sous_req, __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;
// $_SESSION['acces_valide'] = true;
break;
}
//****************************************************************************************************************************
case "Profil":
@@ -1082,8 +969,8 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
// 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="'.$code.'" AND ID_Shipmember=0';
$reponse = Requete_bdd($requete, __FILE__, __LINE__);
$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){
@@ -1091,8 +978,8 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
$_SESSION['code_acces'] = '';
}
else {
$sous_req = 'UPDATE TB_Lien_bateau_shipmember SET ID_Shipmember = '.$_SESSION['shipmember']['Cle_primaire'].' WHERE Validite=1 AND Code="'.$code.'" AND ID_Shipmember=0';
$sous_rep = Requete_bdd($sous_req, __FILE__, __LINE__);
$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'];
}
@@ -1444,7 +1331,6 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
echo '</div>';
echo '<div class="boutons_bas_de_page">';
// echo Ajouter_lien_modif_buttons('shipmember','accueil','espace_shipmember','menu_1_a_texte');
echo '<a title="'.t("Voir les informations liées à votre compte ShipMember...").'" href="shipmembers.php?action=navigation&destination=Profil">
'.t("Mes informations").'
</a>';
@@ -1459,7 +1345,7 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
// Accès au menu d'administration :
// if (isset($_SESSION['shipmember']['Niveau_administration']) && $_SESSION['shipmember']['Niveau_administration'] != '')
if ($_SESSION['shipmember']['Niveau_acces'] >= NIVEAU_MINI_ACCES_ADMINISTATEUR)
if ($_SESSION['shipmember']['Niveau_acces'] >= NIVEAU_ACCES_MINI_ADMINISTRATEUR)
{
echo '<a title="Accès au menu d\'administration - Accès réservé" href="administration.php?action=navigation&destination=Accueil">
Administration
@@ -1473,128 +1359,9 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
break;
}
//************************************************************************************************************************
case "Administration":
{
echo '<div id="administration" class="page_principale">';
echo '<h1>Administration</h1>';
echo '<h2>ShipMembers</h2>';
echo '<table class="shipmember">
<thead>
<tr>
<th>Nom</th>
<th>Entreprise</th>
<th>Telephone</th>
<th>Email</th>
</tr>
</thead>
<tbody>';
for ($i = 0; $i < $nb_shipmembers; $i ++)
{
echo '<tr>
<td>
<a href="shipmembers.php?action=details_shipmember&id_shipmember='.$shipmembers[$i]['ID'].'">
'.$shipmembers[$i]['Prenom'].' '.$shipmembers[$i]['Nom'].'
</a>
</td>
<td>'.$shipmembers[$i]['Entreprise'].'</td>
<td>'.$shipmembers[$i]['Telephone'].'</td>
<td>'.$shipmembers[$i]['Email'].'</td>
</tr>';
}
echo '</tbody>
</table>';
echo '<div class="boutons_bas_de_page">';
echo '<a title="" href="administration.php?action=navigation&destination=Accueil">Retour au menu Administration</a>';
echo '</div>';
echo '</div>';
break;
}
//************************************************************************************************************************
case "Details":
{
echo '<div id="details" class="page_principale">';
echo '<h1>Administration</h1>';
echo '<h2>ShipMember n° <span class="gras">'.$shipmember['ID'].'</span></h2>';
echo '<table class="shipmember">
<tbody>';
echo '<tr>
<td>Nom complet</td>
<td>'.$shipmember['Prenom'].' '.$shipmember['Nom'].'</td>
</tr>';
echo '<tr>
<td>Entreprise</td>
<td>'.$shipmember['Entreprise'].'</td>
</tr>';
echo '<tr>
<td>Adresse</td>
<td>'.$shipmember['Rue'].' - '.$shipmember['Code_postal'].' '.$shipmember['Ville'].' - '.$shipmember['Libelle_pays'].'</td>
</tr>';
echo '<tr>
<td>Téléphone</td>
<td>'.$shipmember['Telephone'].'</td>
</tr>';
echo '<tr>
<td>Email</td>
<td>'.$shipmember['Email'].'</td>
</tr>';
echo '<tr>
<td>Date création du compte</td>
<td>'.Formatage_date($shipmember['Date_creation_compte']).'</td>
</tr>';
echo '<tr>
<td>Niveau d\'accès</td>
<td> <form method="POST" action="shipmembers.php">
<input name="acces" type="number" max="99" min="0" value="'.$shipmember['Niveau_acces'].'" style="max-width:20%">
<button type="submit" style="font-size: 12px"> Valider </button>
</form>
</td>
</tr>';
echo '<tr>
<td>Bateaux accessibles</td>
<td>';
if ($nb_bateaux == 0) echo '<i>Aucun...</i>';
else
{
for ($i=0; $i<$nb_bateaux; $i ++)
{
echo $bateaux[$i]['Nom'].'<br />';
}
}
echo '</td>
</tr>';
echo '</tbody>
</table>';
echo '<div class="boutons_bas_de_page">';
echo '<a title="" href="shipmembers.php?action=navigation&destination=Administration">Retour à la liste des ShipMembers</a>';
echo '</div>';
echo '</div>';
break;
}
//************************************************************************************************************************
case "Profil":
@@ -1705,12 +1472,10 @@ Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session
echo '<div class="boutons_bas_de_page">';
echo Ajouter_lien_modif_buttons('shipmember','profil','bas_de_page','modifier_a_texte');
echo '<a title="'.t("Accéder au menu de modification de vos informations...").'" href="shipmembers.php?action=navigation&destination=Modifier_profil">
'.t("Modifier").'
</a>';
echo Ajouter_lien_modif_buttons('shipmember','profil','bas_de_page','retour_a_texte');
echo '<a title="'.t("Retour à mon espace ShipMember...").'" href="shipmembers.php?action=navigation&destination=Accueil">
'.t("Retour").'
</a>';
+15 -7
View File
@@ -2,7 +2,7 @@
include "../config/config.php";
Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session et vérifiant que les accès sont autorisés.
Entete_page_html();
//************************************************************************************************************************************
@@ -10,11 +10,13 @@ Entete_page_html();
//************************************************************************************************************************************
$message_erreur = "";
$message_information = "";
$flag_redirection = false;
$max_nb_types_version = 50;
$types_version = array(
array("ShipHeart", "TB_Versions", "Nom", "package", "", "/packages"),
array("Application", "TB_Versions_appli", "Fichier", "version", "ID_Version_appli", "/ressources/appli"),
array("QT", "TB_Versions_qt", "Fichier", "version", "ID_Version_qt", "/ressources/qt"),
array("Api", "TB_Versions_api", "Fichier", "version", "ID_Version_api", "/ressources/api"),
array("Compagnon_v1", "TB_Versions_compagnon_v1", "Fichier", "version", "ID_Version_compagnon_v1", "/ressources/compagnon_v1"),
array("Compagnon_v2", "TB_Versions_compagnon_v2", "Fichier", "version", "ID_Version_compagnon_v2", "/ressources/compagnon_v2"),
array("SP812", "TB_Versions_sp812", "Fichier", "version", "ID_Version_sp812", "/ressources/sp812"),
@@ -43,6 +45,7 @@ Entete_page_html();
if (!isset($_SESSION['Versions']['version']['Date'])) $_SESSION['Versions']['version']['Date'] = date("Y-m-d");
if (!isset($_SESSION['Versions']['version']['ID_Version_appli'])) $_SESSION['Versions']['version']['ID_Version_appli'] = 0;
if (!isset($_SESSION['Versions']['version']['ID_Version_qt'])) $_SESSION['Versions']['version']['ID_Version_qt'] = 0;
if (!isset($_SESSION['Versions']['version']['ID_Version_api'])) $_SESSION['Versions']['version']['ID_Version_api'] = 0;
if (!isset($_SESSION['Versions']['version']['ID_Version_compagnon_v1'])) $_SESSION['Versions']['version']['ID_Version_compagnon_v1'] = 0;
if (!isset($_SESSION['Versions']['version']['ID_Version_compagnon_v2'])) $_SESSION['Versions']['version']['ID_Version_compagnon_v2'] = 0;
if (!isset($_SESSION['Versions']['version']['ID_Version_sp812'])) $_SESSION['Versions']['version']['ID_Version_sp812'] = 0;
@@ -271,6 +274,7 @@ $flag_redirection = true;
isset($_POST['Nom']) AND
isset($_POST['ID_Version_appli']) AND
isset($_POST['ID_Version_qt']) AND
isset($_POST['ID_Version_api']) AND
isset($_POST['ID_Version_compagnon_v1']) AND
isset($_POST['ID_Version_compagnon_v2']) AND
isset($_POST['ID_Version_sp812']) AND
@@ -288,6 +292,7 @@ $flag_redirection = true;
$_SESSION['Versions']['version']['Date'] = trim($_POST['Date']);
$_SESSION['Versions']['version']['ID_Version_appli'] = trim($_POST['ID_Version_appli']);
$_SESSION['Versions']['version']['ID_Version_qt'] = trim($_POST['ID_Version_qt']);
$_SESSION['Versions']['version']['ID_Version_api'] = trim($_POST['ID_Version_api']);
$_SESSION['Versions']['version']['ID_Version_compagnon_v1'] = trim($_POST['ID_Version_compagnon_v1']);
$_SESSION['Versions']['version']['ID_Version_compagnon_v2'] = trim($_POST['ID_Version_compagnon_v2']);
$_SESSION['Versions']['version']['ID_Version_sp812'] = trim($_POST['ID_Version_sp812']);
@@ -327,13 +332,14 @@ $flag_redirection = true;
if ($message_erreur == "")
{
// Création de la version :
$requete = 'INSERT INTO TB_Versions (Nom, Date, ID_Version_appli, ID_Version_qt, ID_Version_compagnon_v1, ID_Version_compagnon_v2, ID_Version_sp812, ID_Version_sp4ac, ID_Version_sp8dc, ID_Version_sbs, ID_Version_sql, ID_Version_www, ID_Version_updater, Description_interne, Description_externe) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
$requete = 'INSERT INTO TB_Versions (Nom, Date, ID_Version_appli, ID_Version_qt, ID_Version_api, ID_Version_compagnon_v1, ID_Version_compagnon_v2, ID_Version_sp812, ID_Version_sp4ac, ID_Version_sp8dc, ID_Version_sbs, ID_Version_sql, ID_Version_www, ID_Version_updater, Description_interne, Description_externe) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
Requete_preparee_bdd($requete,
array(
array('s', $_SESSION['Versions']['version']['Nom']),
array('s', $_SESSION['Versions']['version']['Date']),
array('i', $_SESSION['Versions']['version']['ID_Version_appli']),
array('i', $_SESSION['Versions']['version']['ID_Version_qt']),
array('i', $_SESSION['Versions']['version']['ID_Version_api']),
array('i', $_SESSION['Versions']['version']['ID_Version_compagnon_v1']),
array('i', $_SESSION['Versions']['version']['ID_Version_compagnon_v2']),
array('i', $_SESSION['Versions']['version']['ID_Version_sp812']),
@@ -357,13 +363,14 @@ $flag_redirection = true;
else if (isset($_POST['validation_modification_package']))
{
// Mise à jour de la version :
$requete = 'UPDATE TB_Versions SET Nom=?, Date=?, ID_Version_appli=?, ID_Version_qt=?, ID_Version_compagnon_v1=?, ID_Version_compagnon_v2=?, ID_Version_sp812=?, ID_Version_sp4ac=?, ID_Version_sp8dc=?, ID_Version_sbs=?, ID_Version_sql=?, ID_Version_www=?, ID_Version_updater=?, Description_interne=?, Description_externe=? WHERE Cle_primaire=?';
$requete = 'UPDATE TB_Versions SET Nom=?, Date=?, ID_Version_appli=?, ID_Version_qt=?, ID_Version_api=?, ID_Version_compagnon_v1=?, ID_Version_compagnon_v2=?, ID_Version_sp812=?, ID_Version_sp4ac=?, ID_Version_sp8dc=?, ID_Version_sbs=?, ID_Version_sql=?, ID_Version_www=?, ID_Version_updater=?, Description_interne=?, Description_externe=? WHERE Cle_primaire=?';
Requete_preparee_bdd($requete,
array(
array('s', $_SESSION['Versions']['version']['Nom']),
array('s', $_SESSION['Versions']['version']['Date']),
array('i', $_SESSION['Versions']['version']['ID_Version_appli']),
array('i', $_SESSION['Versions']['version']['ID_Version_qt']),
array('i', $_SESSION['Versions']['version']['ID_Version_api']),
array('i', $_SESSION['Versions']['version']['ID_Version_compagnon_v1']),
array('i', $_SESSION['Versions']['version']['ID_Version_compagnon_v2']),
array('i', $_SESSION['Versions']['version']['ID_Version_sp812']),
@@ -475,7 +482,7 @@ $flag_redirection = true;
}
// Création de la version :
$requete = 'INSERT INTO '.$types_version[$_SESSION['Versions']['type_version']][1].' ('.$types_version[$_SESSION['Versions']['type_version']][2].', Description) VALUES (?, ?)';
$requete = 'INSERT INTO '.$types_version[$_SESSION['Versions']['type_version']][1].' ('.$types_version[$_SESSION['Versions']['type_version']][2].', Description) VALUES (?, ?)';
Requete_preparee_bdd($requete,
array(
array('s', $_SESSION['Versions']['version'][''.$types_version[$_SESSION['Versions']['type_version']][2].'']),
@@ -527,7 +534,7 @@ $flag_redirection = true;
$repertoire_temp = REPERTOIRE_VERSIONS_SHIPHEART.$types_version[$_SESSION['Versions']['type_version']][5].'/temp';
// Sécurité en dur pour s'assurer qu'on ne pointe pas sur un autre répertoire qu'on va supprimer :
if (strpos($repertoire_temp, "/home/ciuqsga/versions/shipheart/packages/temp") === false)
if (strpos($repertoire_temp, "/home/koriolan/versions/shipheart/packages/temp") === false)
{
$message_erreur .= "L'adresse du répertoire TEMP a été modifiée (répertoire = ".$repertoire_temp.").<br />Afin d'éviter toute catastrophe (ce répertoire et ses sous-répertoires vont être supprimés !), merci de mettre à jour ce test de vérification...<br />";
break;
@@ -853,7 +860,6 @@ ANCIENNE VERSION : Fin */
$_SESSION['Versions']['page'] = "Modification_version";
} while (0);
$flag_redirection = true; // Evite que le message d'erreur soit supprimé par la redirection de purge d'URL
}
@@ -864,7 +870,7 @@ $flag_redirection = true; // Evite que le message d'erreur soit supprimé p
//************************************************************************************************************************************
// Protection contre les accès directs :
if ((!$_SESSION['acces_valide']) OR ($_SESSION['shipmember']['Niveau_acces'] < NIVEAU_MINI_ACCES_ADMINISTATEUR)) header('Location:shipmembers.php?action=navigation&destination=Login');
if ((!$_SESSION['acces_valide']) OR ($_SESSION['shipmember']['Niveau_acces'] < NIVEAU_ACCES_MINI_ADMINISTRATEUR)) header('Location:shipmembers.php?action=navigation&destination=Login');
switch ($_SESSION['Versions']['page'])
{
@@ -961,6 +967,7 @@ $flag_redirection = true; // Evite que le message d'erreur soit supprimé p
$_SESSION['Versions']['version']['Date'] = date("Y-m-d");
$_SESSION['Versions']['version']['ID_Version_appli'] = 0;
$_SESSION['Versions']['version']['ID_Version_qt'] = 0;
$_SESSION['Versions']['version']['ID_Version_api'] = 0;
$_SESSION['Versions']['version']['ID_Version_compagnon_v1'] = 0;
$_SESSION['Versions']['version']['ID_Version_compagnon_v2'] = 0;
$_SESSION['Versions']['version']['ID_Version_sp812'] = 0;
@@ -1081,6 +1088,7 @@ $flag_redirection = true; // Evite que le message d'erreur soit supprimé p
// Affichage
//************************************************************************************************************************************
Entete_page_html();
//********************************************************************************************************************************
// Affichage principal :