diff options
| author | polo <ordipolo@gmx.fr> | 2026-05-11 01:20:16 +0200 |
|---|---|---|
| committer | polo <ordipolo@gmx.fr> | 2026-05-11 01:20:16 +0200 |
| commit | 80de6834a11734c6d3e047635b63ec93f2f68345 (patch) | |
| tree | e1484030b4b87bc8e0b3ebb26b933f722aaba932 /src/controller/MaintenanceController.php | |
| parent | 895cf7a438929f74c2e11996667685245a571f2a (diff) | |
| download | cms-80de6834a11734c6d3e047635b63ec93f2f68345.tar.gz cms-80de6834a11734c6d3e047635b63ec93f2f68345.tar.bz2 cms-80de6834a11734c6d3e047635b63ec93f2f68345.zip | |
restauration complète de la BDD (sauf table user)
Diffstat (limited to 'src/controller/MaintenanceController.php')
| -rw-r--r-- | src/controller/MaintenanceController.php | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/src/controller/MaintenanceController.php b/src/controller/MaintenanceController.php index c60ca1c..c62b21b 100644 --- a/src/controller/MaintenanceController.php +++ b/src/controller/MaintenanceController.php | |||
| @@ -6,6 +6,7 @@ declare(strict_types=1); | |||
| 6 | use Doctrine\ORM\EntityManager; | 6 | use Doctrine\ORM\EntityManager; |
| 7 | use App\Entity\log; | 7 | use App\Entity\log; |
| 8 | use Symfony\Component\Process\Exception\ProcessFailedException; | 8 | use Symfony\Component\Process\Exception\ProcessFailedException; |
| 9 | use Symfony\Component\HttpFoundation\File\UploadedFile; | ||
| 9 | 10 | ||
| 10 | class MaintenanceController | 11 | class MaintenanceController |
| 11 | { | 12 | { |
| @@ -49,7 +50,7 @@ class MaintenanceController | |||
| 49 | die; | 50 | die; |
| 50 | } | 51 | } |
| 51 | 52 | ||
| 52 | static public function getLastDump(EntityManager $entityManager): void | 53 | static public function getLastDump(): void |
| 53 | { | 54 | { |
| 54 | try{ | 55 | try{ |
| 55 | $file_path = Backup::getLastBackupName(); | 56 | $file_path = Backup::getLastBackupName(); |
| @@ -66,4 +67,33 @@ class MaintenanceController | |||
| 66 | } | 67 | } |
| 67 | die; | 68 | die; |
| 68 | } | 69 | } |
| 70 | |||
| 71 | // parce qu'il faut un contrôleur | ||
| 72 | static public function handleBackupSelection(EntityManager $entityManager, string $selected_file): void | ||
| 73 | { | ||
| 74 | if(pathinfo($selected_file)['extension'] !== 'sql'){ // pas censé se produire en fait | ||
| 75 | throw new Exception("charger un fichier au format SQL"); | ||
| 76 | } | ||
| 77 | |||
| 78 | Backup::restoreDatabase($entityManager, $selected_file); | ||
| 79 | } | ||
| 80 | |||
| 81 | static public function downloadSQL(EntityManager $entityManager, UploadedFile $uploaded_file): void | ||
| 82 | { | ||
| 83 | if(pathinfo($uploaded_file->getClientOriginalName())['extension'] !== 'sql'){ | ||
| 84 | throw new Exception("charger un fichier au format SQL"); | ||
| 85 | } | ||
| 86 | //echo $uploaded_file->getSize(); // à garder de côté au cas où | ||
| 87 | |||
| 88 | $server_place = Config::$database . '_' . new DateTime()->format('Y-m-d') . '_uploaded.sql'; | ||
| 89 | |||
| 90 | try{ | ||
| 91 | // enregistrer le fichier | ||
| 92 | var_dump($uploaded_file->move(Backup::$backup_dir, $server_place)); | ||
| 93 | |||
| 94 | // s'en servir | ||
| 95 | Backup::restoreDatabase($entityManager, $server_place); | ||
| 96 | } | ||
| 97 | finally{} | ||
| 98 | } | ||
| 69 | } \ No newline at end of file | 99 | } \ No newline at end of file |
