From f37d3f8979b34dbb03d7a39ccbb3889763bea61d Mon Sep 17 00:00:00 2001 From: polo Date: Wed, 3 Jun 2026 23:15:17 +0200 Subject: =?UTF-8?q?exclusion=20des=20htaccess=20des=20zip,=20erreur=20cr?= =?UTF-8?q?=C3=A9ation=20backup=20quand=20dossier=20var/backups=20pas=20en?= =?UTF-8?q?core=20cr=C3=A9=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controller/MaintenanceController.php | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src/controller/MaintenanceController.php') diff --git a/src/controller/MaintenanceController.php b/src/controller/MaintenanceController.php index eb1db04..47e51ac 100644 --- a/src/controller/MaintenanceController.php +++ b/src/controller/MaintenanceController.php @@ -49,10 +49,22 @@ class MaintenanceController die; } - static public function getLastDump(): void + static public function getLastDump(EntityManager $entityManager): void { + $backup_list = Backup::getBackupList(); + $nb = count($backup_list); + + if($nb <= 0){ // se produit à la première connexion en mode admin pour une raison algorithimque + Backup::mySQLdump($entityManager, 'auto'); + $backup_list = Backup::getBackupList(); + $nb = count($backup_list); + if($nb <= 0){ // improbable, les dossiers devraient déjà avoir été créés + throw new RuntimeException("Le serveur a rencontré une erreur: aucun backup n'est disponible et ce n'est pas normal."); + } + } + try{ - $file_path = Backup::$backup_dir . '/' . Backup::getLastBackupName(); + $file_path = Backup::$backup_dir . '/' . $backup_list[$nb - 1]; header('Content-Type: application/octet-stream'); // signifie fichier quelconque, du binaire quoi! header('Content-Disposition: attachment; filename="' . basename($file_path) . '"'); // pour provoquer un téléchargement et non pour afficher header('Content-Length: ' . filesize($file_path)); // peut servir côté client (barre de progression...) -- cgit v1.2.3