Merge pull request 'Use last commit date instead of unix mtime' (#6) from git-commit-date into master

Reviewed-on: #6
This commit is contained in:
thopic 2023-07-12 16:55:00 +02:00 committed by
commit a3f8768828
Signed by:
GPG Key ID: C87EE34FD0BED5F5
2 changed files with 25 additions and 16 deletions

View File

@ -1,6 +1,13 @@
<?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:%ct" '.$this_file);
setlocale(LC_TIME, 'fr_FR.utf8','fra'); $fmt = datefmt_create(
'fr-FR',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Paris',
IntlDateFormatter::GREGORIAN,
'd MMMM Y à HH:mm:ss O'
);
?> ?>
<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;">Mis à jour le <a href="https://git.gnous.fr/gnous/main_website/commit/<?php echo $last_rev;?>" target="_blank"><?php echo datefmt_format($fmt, $mtime); ?></a></p>

View File

@ -1,26 +1,28 @@
<?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');
$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'); $mtime_max = exec('git log -1 --pretty="format:%ct" '.$this_file); //récupération de la date de modification de ce fichier et institution comme maximum
$mtime_this_file = filemtime($this_file); //récupération de la date de modification de ce fichier $last_rev = exec('git log -1 --pretty=format:"%H" '.$this_file); //récupération du hash du commit associé
$mtime_max = $mtime_this_file; //elle est instituée comme un maximum
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 $fmt = datefmt_create(
$mtime_this_file = $mtime_max; 'fr-FR',
} IntlDateFormatter::FULL,
$mtime_this_file = date("d M Y H:i:s", $mtime_this_file); //formatage de la date retenue IntlDateFormatter::FULL,
'Europe/Paris',
IntlDateFormatter::GREGORIAN,
'd MMMM Y à HH:mm:ss O'
);
?> ?>
<!DOCTYPE HTML> <!DOCTYPE HTML>
@ -34,7 +36,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 datefmt_format($fmt, $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;">