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
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:%ct" '.$this_file);
$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
$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_max = $mtime_this_file; //elle est instituée comme un maximum
$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
$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
$fmt = datefmt_create(
'fr-FR',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Paris',
IntlDateFormatter::GREGORIAN,
'd MMMM Y à HH:mm:ss O'
);
?>
<!DOCTYPE HTML>
@ -34,7 +36,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 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%;">
<p style="text-align: right;">