Compare commits

...

3 Commits

Author SHA1 Message Date
a3f8768828
Merge pull request 'Use last commit date instead of unix mtime' (#6) from git-commit-date into master
Reviewed-on: #6
2023-07-12 16:55:00 +02:00
95a18a949a
give deprecated function up + postpone git relative date format use
* replace strftime() by datefmt_create() and datefmt_format()
  
(formats:https://unicode-org.github.io/icu/userguide/format_parse/datetime/)
* postpone due to issue with git output locale in docker container
2023-07-12 16:40:59 +02:00
d0ee343b45
Use last commit date instead of unix mtime
* simplify last website mtime script
* link appropriate commit to last mtime
2023-07-11 11:23:24 +02:00
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;">