aboutsummaryrefslogtreecommitdiff
path: root/src/controller
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2026-05-11 01:20:16 +0200
committerpolo <ordipolo@gmx.fr>2026-05-11 01:20:16 +0200
commit80de6834a11734c6d3e047635b63ec93f2f68345 (patch)
treee1484030b4b87bc8e0b3ebb26b933f722aaba932 /src/controller
parent895cf7a438929f74c2e11996667685245a571f2a (diff)
downloadcms-80de6834a11734c6d3e047635b63ec93f2f68345.tar.gz
cms-80de6834a11734c6d3e047635b63ec93f2f68345.tar.bz2
cms-80de6834a11734c6d3e047635b63ec93f2f68345.zip
restauration complète de la BDD (sauf table user)
Diffstat (limited to 'src/controller')
-rw-r--r--src/controller/MaintenanceController.php32
-rw-r--r--src/controller/PageManagementController.php2
-rw-r--r--src/controller/ViewDirector.php2
3 files changed, 32 insertions, 4 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);
6use Doctrine\ORM\EntityManager; 6use Doctrine\ORM\EntityManager;
7use App\Entity\log; 7use App\Entity\log;
8use Symfony\Component\Process\Exception\ProcessFailedException; 8use Symfony\Component\Process\Exception\ProcessFailedException;
9use Symfony\Component\HttpFoundation\File\UploadedFile;
9 10
10class MaintenanceController 11class 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
diff --git a/src/controller/PageManagementController.php b/src/controller/PageManagementController.php
index 7078866..8c4092f 100644
--- a/src/controller/PageManagementController.php
+++ b/src/controller/PageManagementController.php
@@ -6,9 +6,7 @@ declare(strict_types=1);
6use App\Entity\Page; 6use App\Entity\Page;
7use App\Entity\Node; 7use App\Entity\Node;
8use App\Entity\NodeData; 8use App\Entity\NodeData;
9use App\Entity\Presentation;
10//use App\Entity\Image; 9//use App\Entity\Image;
11use Doctrine\Common\Collections\ArrayCollection;
12use Doctrine\ORM\EntityManager; 10use Doctrine\ORM\EntityManager;
13 11
14class PageManagementController 12class PageManagementController
diff --git a/src/controller/ViewDirector.php b/src/controller/ViewDirector.php
index 6883b73..a572f14 100644
--- a/src/controller/ViewDirector.php
+++ b/src/controller/ViewDirector.php
@@ -62,7 +62,7 @@ class ViewDirector extends AbstractBuilder // ViewDirector est aussi le premier
62 return new Response($this->html, 302); 62 return new Response($this->html, 302);
63 } 63 }
64 elseif(CURRENT_PAGE === 'maintenance'){ 64 elseif(CURRENT_PAGE === 'maintenance'){
65 Backup::mySQLdump($entityManager); // créer un nouveau backup 65 Backup::mySQLdump($entityManager, 'auto'); // créer un nouveau backup
66 } 66 }
67 67
68 68