From 25c8016e070b229c565854052e103055f6c5c07f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Tempez?= Date: Thu, 19 Sep 2024 21:41:48 +0200 Subject: [PATCH] siteRoot --- .../config/view/autoupdate/autoupdate.php | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/core/module/config/view/autoupdate/autoupdate.php b/core/module/config/view/autoupdate/autoupdate.php index 41d0e155..6813a826 100644 --- a/core/module/config/view/autoupdate/autoupdate.php +++ b/core/module/config/view/autoupdate/autoupdate.php @@ -5,7 +5,7 @@ ini_set('display_errors', 1); // Chemins de travail $repoUrl = 'https://forge.chapril.org/api/v1/repos/ZwiiCMS-Team/ZwiiCMS'; // URL de l'API du dépôt -$siteRoot = "."; // Racine du site +$siteRoot = "."; // Racine du site (répertoire actuel) echo "

Début du script de mise à jour...

"; flush(); ob_flush(); @@ -37,7 +37,7 @@ $commits = getCommitsManually($repoUrl, $fromSHA, $toSHA); echo "

Nombre de commits récupérés : " . count($commits) . "

"; flush(); ob_flush(); -// Limiter le traitement des fichiers pour éviter des itérations inutiles +// Extraction des fichiers modifiés pour limiter les traitements echo "

Extraction des fichiers modifiés...

"; flush(); ob_flush(); $modifiedFiles = getModifiedFiles($commits); @@ -58,6 +58,20 @@ foreach ($modifiedFiles as $file) { echo "

Mise à jour du fichier : $filePath

"; flush(); ob_flush(); + // Comparer les dates de modification des fichiers pour éviter les copies inutiles + if (file_exists($localPath)) { + $localModifiedTime = filemtime($localPath); + $remoteHeaders = get_headers($fileUrl, 1); + if (isset($remoteHeaders['Last-Modified'])) { + $remoteModifiedTime = strtotime($remoteHeaders['Last-Modified']); + if ($localModifiedTime >= $remoteModifiedTime) { + echo "

Fichier déjà à jour : $filePath, aucune copie nécessaire.

"; + flush(); ob_flush(); + continue; + } + } + } + // Créer le dossier si nécessaire if (!is_dir(dirname($localPath))) { echo "

Création du dossier : " . dirname($localPath) . "

"; @@ -212,4 +226,3 @@ function getModifiedFiles($commits) { } return $modifiedFiles; } -