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;
}