aboutsummaryrefslogtreecommitdiff
path: root/src/router.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/router.php')
-rw-r--r--src/router.php32
1 files changed, 17 insertions, 15 deletions
diff --git a/src/router.php b/src/router.php
index 92dccb6..326a637 100644
--- a/src/router.php
+++ b/src/router.php
@@ -21,8 +21,7 @@ if($_SERVER['REQUEST_METHOD'] === 'GET'){
21 } 21 }
22 22
23 // bouton déconnexion 23 // bouton déconnexion
24 if($request->query->has('action') && $request->query->get('action') === 'deconnection') 24 if($request->query->has('action') && $request->query->get('action') === 'deconnection'){
25 {
26 UserController::disconnect($entityManager); 25 UserController::disconnect($entityManager);
27 } 26 }
28 27
@@ -40,6 +39,7 @@ if($_SERVER['REQUEST_METHOD'] === 'GET'){
40 39
41 // construction d'une page 40 // construction d'une page
42 $response = (new ViewController)->buildView($entityManager, $request); // utilise Director 41 $response = (new ViewController)->buildView($entityManager, $request); // utilise Director
42 // parenthèses nécéssaires autour de l'instanciation pour PHP < 8.4
43} 43}
44 44
45 45
@@ -47,8 +47,7 @@ elseif($_SERVER['REQUEST_METHOD'] === 'POST'){
47 /* -- contrôleurs appellables par tout le monde -- */ 47 /* -- contrôleurs appellables par tout le monde -- */
48 48
49 // table "user" vide 49 // table "user" vide
50 if(!UserController::existUsers($entityManager)) 50 if(!UserController::existUsers($entityManager)){
51 {
52 UserController::createUser($entityManager); 51 UserController::createUser($entityManager);
53 } 52 }
54 53
@@ -179,14 +178,18 @@ elseif($_SERVER['REQUEST_METHOD'] === 'POST'){
179 // partie "blocs" 178 // partie "blocs"
180 elseif($request->query->has('bloc_edit')) 179 elseif($request->query->has('bloc_edit'))
181 { 180 {
182 // renommage d'un bloc
183 if($request->query->get('bloc_edit') === 'rename_page_bloc'){ 181 if($request->query->get('bloc_edit') === 'rename_page_bloc'){
184 PageManagementController::renameBloc($entityManager, $json); 182 PageManagementController::renameBloc($entityManager, $json);
185 } 183 }
186 // inversion des positions de deux blocs
187 elseif($request->query->get('bloc_edit') === 'switch_blocs_positions'){ 184 elseif($request->query->get('bloc_edit') === 'switch_blocs_positions'){
188 PageManagementController::SwitchBlocsPositions($entityManager, $json); 185 PageManagementController::SwitchBlocsPositions($entityManager, $json);
189 } 186 }
187 elseif($request->query->get('bloc_edit') === 'change_presentation'){
188 PageManagementController::changePresentation($entityManager, $json);
189 }
190 elseif($request->query->get('bloc_edit') === 'change_cols_min_width'){
191 PageManagementController::changeColsMinWidth($entityManager, $json);
192 }
190 } 193 }
191 } 194 }
192 195
@@ -206,7 +209,7 @@ elseif($_SERVER['REQUEST_METHOD'] === 'POST'){
206 /* -- envoi formulaire HTML -- */ 209 /* -- envoi formulaire HTML -- */
207 elseif($_SERVER['CONTENT_TYPE'] === 'application/x-www-form-urlencoded') 210 elseif($_SERVER['CONTENT_TYPE'] === 'application/x-www-form-urlencoded')
208 { 211 {
209 if($_GET['action'] === 'delete_article' && isset($_GET['id'])){ 212 if($request->query->has('action') && $request->query->get('action') === 'delete_article' && isset($_GET['id'])){
210 $response = ArticleController::deleteArticle($entityManager, $_GET); // version formulaire 213 $response = ArticleController::deleteArticle($entityManager, $_GET); // version formulaire
211 } 214 }
212 215
@@ -303,13 +306,13 @@ else{
303 306
304/* -- utilisation de la réponse -- */ 307/* -- utilisation de la réponse -- */
305if(isset($response)){ 308if(isset($response)){
306 if($_SERVER['REQUEST_METHOD'] === 'POST' && $_SERVER['CONTENT_TYPE'] === 'application/x-www-form-urlencoded') 309 if($request->isMethod('GET') && $response->getStatusCode() == 302){ // 302 redirection temporaire
307 { 310 // ne gère pour l'instant que les mauvais id de la page article
311 header('Location: ' . new URL(['page' => !empty($_GET['from']) ? $_GET['from'] : 'accueil']));
312 }
313 elseif($_SERVER['REQUEST_METHOD'] === 'POST' && $_SERVER['CONTENT_TYPE'] === 'application/x-www-form-urlencoded'){
308 $response_data = json_decode(($response)->getContent(), true); 314 $response_data = json_decode(($response)->getContent(), true);
309 $url = new URL; 315 $url = new URL(['page' => !empty($_GET['from']) ? $_GET['from'] : 'accueil']);
310 if(isset($_GET['from'])){
311 $url->addParams(['page' => $_GET['from']]);
312 }
313 $url->addParams(['success' => $response_data['success'], 'message' => $response_data['message']]); 316 $url->addParams(['success' => $response_data['success'], 'message' => $response_data['message']]);
314 header('Location: ' . $url); 317 header('Location: ' . $url);
315 } 318 }
@@ -318,8 +321,7 @@ if(isset($response)){
318 } 321 }
319} 322}
320else{ 323else{
321 if($_SERVER['REQUEST_METHOD'] === 'POST' && $_SERVER['CONTENT_TYPE'] === 'application/x-www-form-urlencoded') 324 if($_SERVER['REQUEST_METHOD'] === 'POST' && $_SERVER['CONTENT_TYPE'] === 'application/x-www-form-urlencoded'){
322 {
323 header("Location: " . new URL(['error' => 'erreur côté serveur'])); 325 header("Location: " . new URL(['error' => 'erreur côté serveur']));
324 } 326 }
325 else{ 327 else{