This commit is contained in:
Fred Tempez 2024-09-19 21:41:48 +02:00
parent ef2c596997
commit 25c8016e07

View File

@ -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 "<p>Début du script de mise à jour...</p>";
flush(); ob_flush();
@ -37,7 +37,7 @@ $commits = getCommitsManually($repoUrl, $fromSHA, $toSHA);
echo "<p>Nombre de commits récupérés : " . count($commits) . "</p>";
flush(); ob_flush();
// Limiter le traitement des fichiers pour éviter des itérations inutiles
// Extraction des fichiers modifiés pour limiter les traitements
echo "<p>Extraction des fichiers modifiés...</p>";
flush(); ob_flush();
$modifiedFiles = getModifiedFiles($commits);
@ -58,6 +58,20 @@ foreach ($modifiedFiles as $file) {
echo "<p>Mise à jour du fichier : $filePath</p>";
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 "<p>Fichier déjà à jour : $filePath, aucune copie nécessaire.</p>";
flush(); ob_flush();
continue;
}
}
}
// Créer le dossier si nécessaire
if (!is_dir(dirname($localPath))) {
echo "<p>Création du dossier : " . dirname($localPath) . "</p>";
@ -212,4 +226,3 @@ function getModifiedFiles($commits) {
}
return $modifiedFiles;
}