Use last commit date instead of unix mtime

* simplify last website mtime script
* link appropriate commit to last mtime
This commit is contained in:
thopic 2023-07-04 17:06:20 +02:00
parent d1cc5fcb25
commit 9b6e14c384
Signed by: thopic
GPG Key ID: 292DBBF0B54AD4C5
2 changed files with 9 additions and 13 deletions

View File

@ -1,6 +1,5 @@
<?php
date_default_timezone_set('Europe/Paris');
$mtime = date("d M Y H:i:s", filemtime($this_file));
setlocale(LC_TIME, 'fr_FR.utf8','fra');
$last_rev = exec('git log -1 --pretty=format:"%H" '.$this_file);
$mtime = exec('LANG="fr_FR.UTF-8" git log -1 --pretty="format:%cr" '.$this_file);
?>
<p style="text-align:right;">Mis à jour le <?php echo strftime("%d %B %Y à %H:%M:%S UTC%z", strtotime($mtime)); ?></p>
<p style="text-align:right;">Dernière mise à jour <a href="https://git.gnous.fr/gnous/main_website/commit/<?php echo $last_rev;?>" target="_blank"><?php echo $mtime; ?></a></p>

View File

@ -1,26 +1,23 @@
<?php
$this_file = basename($_SERVER["SCRIPT_FILENAME"]); //contient le nom de ce fichier (lui-même)
setlocale (LC_TIME, 'fr_FR.utf8','fra');
$rev_long = exec('git rev-parse HEAD'); // contient le hash du commit sélectionné
$rev_short = substr($rev_long, 0, 7); // contient le hash du commit sélectionné
/*
Petit script pour afficher la dernière date de modification (toute page confondue) sur la page d'accueil (index.php)
*/
date_default_timezone_set('Europe/Paris');
$mtime_this_file = filemtime($this_file); //récupération de la date de modification de ce fichier
$mtime_this_file = exec('git log -1 --pretty="format:%ct" '.$this_file); //récupération de la date de modification de ce fichier
$mtime_max = $mtime_this_file; //elle est instituée comme un maximum
$last_rev = exec('git log -1 --pretty=format:"%H" '.$this_file); //récupération du hash du commit associé
foreach (glob("*.php") as $filename) { //récupération de la liste de tous les fichiers .php du répertoire courant (les pages en somme)
$mtime = filemtime($filename);
$mtime = exec('git log -1 --pretty="format:%ct" '.$filename);
if($mtime_max < $mtime) { //si une date de modification est supérieure au max (donc celle de index.php), alors on conserve sa valeur
$mtime_max = $mtime;
$last_rev = exec('git log -1 --pretty=format:"%H" '.$filename); //récupération du hash du commit associé
}
}
if($mtime_max > $mtime_this_file) { //si la date maximum n'est pas celle de cette page (index.php), alors cela veut dire qu'une page a été modifiée plus récemment
$mtime_this_file = $mtime_max;
}
$mtime_this_file = date("d M Y H:i:s", $mtime_this_file); //formatage de la date retenue
$mtime_max = date("d M Y H:i:s", $mtime_max); //formatage de la date retenue
?>
<!DOCTYPE HTML>
@ -34,7 +31,7 @@
<?php include 'includes/titre.php'; ?>
<br>
<?php include 'includes/menu.php'; ?>
<p style="text-align:right;">Dernière mise à jour du site le <?php echo strftime("%d %B %Y à %H:%M:%S UTC%z", strtotime($mtime_this_file)); ?><br>git revision: <a href="https://git.gnous.fr/gnous/main_website/commit/<?php echo $rev_long;?>" target="_blank"><?php echo $rev_short;?></a></p>
<p style="text-align:right;">Dernière mise à jour du site le <?php echo strftime("%d %B %Y à %H:%M:%S UTC%z", strtotime($mtime_max)); ?><br>git revision: <a href="https://git.gnous.fr/gnous/main_website/commit/<?php echo $last_rev;?>" target="_blank"><?php echo substr($last_rev, 0, 7);?></a></p>
<div style="width:40%;">
<p style="text-align: right;">