Lot 1 : purge de bateaux.php (modèle CM4), Date_derniere_maj alimentée par l'archivage, URL du QR code via URL_SITE, cookie de session corrigé
This commit is contained in:
@@ -469,6 +469,28 @@ function Executer_sql_base($nom_base, $sql)
|
||||
return ['ok' => true];
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Met à jour TB_Bateaux.Date_derniere_maj après le chargement RÉUSSI d'une
|
||||
// archive (synthèse §47) : date-heure UTC de génération de l'archive par le
|
||||
// CM5, lue dans son nom (<MAC>_AAMMJJ_HHMMSS_<empreinte>.sql.gz.enc) - c'est
|
||||
// elle qui date réellement les données, pas la date de réception (§44.6).
|
||||
// GREATEST : une archive plus ancienne chargée tardivement (sortie de
|
||||
// quarantaine, CM5 longtemps injoignable) ne fait jamais reculer la date.
|
||||
// Renvoie true si la requête a abouti.
|
||||
// ----------------------------------------------------------------------------
|
||||
function Mettre_a_jour_derniere_archive($db_principale, $id_bateau, $nom_fichier)
|
||||
{
|
||||
if (!preg_match('/^[0-9A-Fa-f]{12}_(\d{2})(\d{2})(\d{2})_(\d{2})(\d{2})(\d{2})_/', $nom_fichier, $m)) return false;
|
||||
$date_archive = "20{$m[1]}-{$m[2]}-{$m[3]} {$m[4]}:{$m[5]}:{$m[6]}";
|
||||
|
||||
$requete = "UPDATE TB_Bateaux SET Date_derniere_maj = GREATEST(COALESCE(Date_derniere_maj, '1970-01-01 00:00:00'), ?) WHERE Cle_primaire=?";
|
||||
$stmt = $db_principale->prepare($requete);
|
||||
$stmt->bind_param('si', $date_archive, $id_bateau);
|
||||
$ok = $stmt->execute();
|
||||
$stmt->close();
|
||||
return $ok;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Détermine la liste des tables fragmentées (incrémentales) d'une base bateau,
|
||||
// par la MÊME méthode que côté CM5 (SHOW TABLES LIKE 'TB_Mesures%' + TB_Historique,
|
||||
|
||||
Reference in New Issue
Block a user