diff options
Diffstat (limited to 'src/router.php')
-rw-r--r-- | src/router.php | 32 |
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 -- */ |
305 | if(isset($response)){ | 308 | if(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 | } |
320 | else{ | 323 | else{ |
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{ |