';
//=========================================================================================
// Entête :
Entete_page($message_erreur, $message_information);
switch ($_SESSION['Bateaux']['page'])
{
//************************************************************************************************************************
case "Accueil":
{
echo '
';
break;
}
//****************************************************************************************************************************
case "Details_bateau":
{
echo '
';
echo '
Bateau '.htmlspecialchars($bateau['Nom']).'
';
echo '
';
if ($_SESSION['shipmember']['Niveau_acces'] >= NIVEAU_ACCES_MINI_ADMINISTRATEUR || $acces_profil['Consultation_donnees'] == 2)
{
echo '
';
}
//--------------------------------
// Bouton Live (synthèse §49) - formulaire POST avec jeton (un navigateur qui pré-charge les liens ne crée pas
// de tickets), ouvert dans un nouvel onglet :
echo '
';
if ($live_possible)
{
echo '';
}
else echo ''.t("Live indisponible").'';
echo '
';
echo '
'.t("Dernières données reçues").' : '.$bateau['Date_derniere_maj'].' [UTC]
';
echo '
';
//--------------------------------
// Boutons de haut de page (les anciens onglets Carte/Batteries/Circuits/Réservoirs/Capteurs/Système, liés au
// modèle CM4 centralisé, ont été retirés - la consultation des données sera refaite sur la base de la génération
// active du bateau, lot 3 - synthèse §44.10) :
echo '
';
echo '
';
switch($_SESSION['Bateaux']['type_details_bateau'])
{
//===========================================================
case "gerer_les_acces":
{
// Convention (synthèse §48) : les textes traduits (t()) sont affichés tels quels - ils sont écrits dans les
// fichiers de langue, pas saisis par les utilisateurs ; seules les DONNÉES (base, saisie) sont échappées.
echo '
';
//--------------------------------------------
// Formulaire d'invitation nominative (synthèse §47) :
if ($peut_inviter)
{
echo '
';
echo '
'.t("Inviter une personne sur ce bateau").'
';
echo ' ';
echo '';
}
//--------------------------------------------
// Liste des accès et des invitations en attente :
echo '
';
echo '
';
echo ' ';
echo ' | '.t("Statut").' | ';
echo ' '.t("Destinataire").' | ';
echo ' '.t("Créé par").' | ';
echo ' '.t("Type de profil").' | ';
echo ' '.t("Fin de validité").' | ';
echo ' | ';
echo '
';
if ($utilisateur_acces_nb == 0) echo '| '.t("Aucun accès ni invitation en cours.").' |
';
for ($i = 0; $i < $utilisateur_acces_nb; $i++)
{
$acces = $utilisateur_acces[$i];
// Statut affiché :
switch ($acces['Statut'])
{
case 'actif': $statut = t("Actif"); $classe_statut = 'actif'; break;
case 'suspendu': $statut = t("Suspendu"); $classe_statut = 'suspendu'; break;
default:
if ($acces['Expiree']) { $statut = t("Invitation expirée"); $classe_statut = 'expiree'; }
else
{
$statut = str_replace("[[Date]]", date_format(date_create($acces['Expiration_invitation']), 'd/m/Y'), t("Invitation en attente (jusqu'au [[Date]])"));
$classe_statut = 'en_attente';
}
break;
}
// Actions permises sur cette ligne :
$peut_devalider = Peut_devalider_acces($acces_profil, $est_administrateur, $acces['ID_Type_acces_bateau_shipmember']);
$actions = array();
if ($acces['Statut'] == 'actif' && $peut_devalider) $actions['suspendre'] = t("Suspendre");
if ($acces['Statut'] == 'suspendu' && $peut_devalider) $actions['reactiver'] = t("Réactiver");
if ($acces['Statut'] == 'en_attente' && !$acces['Expiree'] && $peut_inviter) $actions['pdf'] = t("PDF");
if ($peut_devalider || ($acces['Statut'] == 'en_attente' && $peut_inviter)) $actions['revoquer'] = t("Révoquer");
echo ' ';
echo ' | '.$statut.' | ';
echo ' '.htmlspecialchars((string)$acces['Destinataire']).' | ';
echo ' '.htmlspecialchars((string)$acces['Cree_par_nom']).' | ';
echo ' '.htmlspecialchars((string)$acces['Niveau_acces_nom']).' | ';
echo ' '.((substr($acces['Fin_validite'], 0, 10) == "9999-12-31") ? t("Aucune") : date_format(date_create($acces['Fin_validite']), 'd/m/Y')).' | ';
echo ' ';
if (count($actions) > 0)
{
echo '';
}
if ($acces_profil['Modification_acces'] == 1)
{
echo '';
}
echo ' | ';
echo '
';
}
echo '
';
echo '
';
echo '
'; // Fin de class="gestion_acces"
//--------------------------------------------
// Popup de modification (administrateurs) : type d'accès et fin de validité.
// (La suppression se fait désormais par le bouton "Révoquer" de chaque ligne.)
if ($acces_profil['Modification_acces'] == 1)
{
echo '';
}
break;
}
//===========================================================
// 'resume' (et toute ancienne valeur de session) :
default:
{
echo '
'.t("La consultation des données du bateau sera disponible prochainement.").'
';
break;
}
}
echo '
'; // Fin de class="corps_details_bateau"
//--------------------------------
echo '
';
if ($_SESSION['Bateaux']['origine'] == "shipmember") echo '
Retour au menu ShipMember';
else
{
echo '
Retour au menu Administration';
echo '
Revenir à la liste des bateaux';
echo '
Modifier';
}
echo '
';
//-------------------------------
// Help
echo '
';
echo '
';
switch($_SESSION['Bateaux']['type_details_bateau'])
{
case 'gerer_les_acces':
{
echo t("Aide accès");
break;
}
default: break;
}
echo '
';
echo '
';
echo '
';
echo '
';
echo '
';
break;
}
//************************************************************************************************************************
case "Creation_bateau":
case "Modification_bateau":
{
echo '
';
break;
}
//****************************************************************************************************************************
case "Confirmation_suppression_bateau":
{
echo '
';
echo '
Bateaux
';
echo '
';
echo '
Confirmez-vous la suppression du bateau '.htmlspecialchars($bateau_a_supprimer['Nom']).' ?
';
echo '
Si oui, son entrée dans la base de données sera dévalidée.
';
echo '
';
// Confirmation envoyée en POST avec le jeton de session (auparavant : un simple lien GET suffisait) :
echo '
';
echo '