aboutsummaryrefslogtreecommitdiff
path: root/src/controller
diff options
context:
space:
mode:
Diffstat (limited to 'src/controller')
-rw-r--r--src/controller/MaintenanceController.php6
-rw-r--r--src/controller/MenuAndPathsController.php8
-rw-r--r--src/controller/UserController.php8
3 files changed, 16 insertions, 6 deletions
diff --git a/src/controller/MaintenanceController.php b/src/controller/MaintenanceController.php
index f3352d8..3b58fe6 100644
--- a/src/controller/MaintenanceController.php
+++ b/src/controller/MaintenanceController.php
@@ -5,7 +5,6 @@ declare(strict_types=1);
5 5
6use Doctrine\ORM\EntityManager; 6use Doctrine\ORM\EntityManager;
7use App\Entity\log; 7use App\Entity\log;
8use Symfony\Component\Process\Exception\ProcessFailedException;
9use Symfony\Component\HttpFoundation\File\UploadedFile; 8use Symfony\Component\HttpFoundation\File\UploadedFile;
10 9
11class MaintenanceController 10class MaintenanceController
@@ -61,9 +60,8 @@ class MaintenanceController
61 die; 60 die;
62 } 61 }
63 // exeptions lancées dans Backup::mySQLdump 62 // exeptions lancées dans Backup::mySQLdump
64 catch(ProcessFailedException $e){ // pas d'info $e pour le client 63 catch(RuntimeException $e){ // pas d'info $e pour le client7
65 header('Location: ' . new URL(['page' => 'maintenance', 'error' => '500'])); 64 header('Location: ' . new URL(['page' => 'maintenance', 'get_last_dump' => $e->getMessage()]));
66 die;
67 } 65 }
68 die; 66 die;
69 } 67 }
diff --git a/src/controller/MenuAndPathsController.php b/src/controller/MenuAndPathsController.php
index 4d37f3d..799f14b 100644
--- a/src/controller/MenuAndPathsController.php
+++ b/src/controller/MenuAndPathsController.php
@@ -141,7 +141,7 @@ class MenuAndPathsController
141 $page = Model::$menu->findPageById((int)$id); 141 $page = Model::$menu->findPageById((int)$id);
142 142
143 $parent = $page->getParent(); // peut être null 143 $parent = $page->getParent(); // peut être null
144 if($parent == null){ 144 if($parent === null){
145 $parent = Model::$menu; 145 $parent = Model::$menu;
146 } 146 }
147 147
@@ -150,6 +150,12 @@ class MenuAndPathsController
150 if($page->getPosition() > 1){ 150 if($page->getPosition() > 1){
151 foreach($parent->getChildren() as $child){ 151 foreach($parent->getChildren() as $child){
152 if($child->getPosition() === $page->getPosition() - 1){ 152 if($child->getPosition() === $page->getPosition() - 1){
153 // refus si $parent est une adresse, ça va casser le lien, exemple: index.php?page=chemin/http://un_site_web.fr/vers/ici
154 if(str_starts_with($child->getEndOfPath(), 'http')){
155 echo json_encode(['success' => false, 'error' => 'new_parent_is_a_link']);
156 die;
157 }
158
153 $page->setParent($child); 159 $page->setParent($child);
154 break; 160 break;
155 } 161 }
diff --git a/src/controller/UserController.php b/src/controller/UserController.php
index 9746a47..f911d2d 100644
--- a/src/controller/UserController.php
+++ b/src/controller/UserController.php
@@ -92,7 +92,13 @@ class UserController
92 $_SESSION['user']['role'] = $user->getRole(); 92 $_SESSION['user']['role'] = $user->getRole();
93 93
94 EmailService::cleanEmails($entityManager); 94 EmailService::cleanEmails($entityManager);
95 Backup::mySQLdump($entityManager, 'auto'); // créer un nouveau backup 95
96 try{
97 Backup::mySQLdump($entityManager, 'auto'); // créer un nouveau backup
98 }
99 catch(RuntimeException $e){
100 echo '<script>window.error_message = "' . $e->getMessage() . '";</script>';
101 }
96 102
97 $url = new URL(isset($_GET['from']) ? ['page' => $_GET['from']] : []); 103 $url = new URL(isset($_GET['from']) ? ['page' => $_GET['from']] : []);
98 isset($_GET['id']) ? $url->addParams(['id' => $_GET['id']]) : ''; 104 isset($_GET['id']) ? $url->addParams(['id' => $_GET['id']]) : '';