Use last commit date instead of unix mtime #6

Merged
thopic merged 2 commits from git-commit-date into master 2023-07-12 16:55:01 +02:00
2 changed files with 9 additions and 13 deletions
Showing only changes of commit d0ee343b45 - Show all commits

View File

@ -1,6 +1,5 @@
<?php <?php
date_default_timezone_set('Europe/Paris'); $last_rev = exec('git log -1 --pretty=format:"%H" '.$this_file);
$mtime = date("d M Y H:i:s", filemtime($this_file)); $mtime = exec('LANG="fr_FR.UTF-8" git log -1 --pretty="format:%cr" '.$this_file);
setlocale(LC_TIME, 'fr_FR.utf8','fra');
?> ?>
<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 <?php
$this_file = basename($_SERVER["SCRIPT_FILENAME"]); //contient le nom de ce fichier (lui-même) $this_file = basename($_SERVER["SCRIPT_FILENAME"]); //contient le nom de ce fichier (lui-même)
setlocale (LC_TIME, 'fr_FR.utf8','fra'); 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) 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'); 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 $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) 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 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; $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_max = date("d M Y H:i:s", $mtime_max); //formatage de la date retenue
$mtime_this_file = $mtime_max;
}
$mtime_this_file = date("d M Y H:i:s", $mtime_this_file); //formatage de la date retenue
?> ?>
<!DOCTYPE HTML> <!DOCTYPE HTML>
@ -34,7 +31,7 @@
<?php include 'includes/titre.php'; ?> <?php include 'includes/titre.php'; ?>
<br> <br>
<?php include 'includes/menu.php'; ?> <?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%;"> <div style="width:40%;">
<p style="text-align: right;"> <p style="text-align: right;">