diff options
Diffstat (limited to 'src/router.php')
-rw-r--r-- | src/router.php | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/src/router.php b/src/router.php index 773a25c..8d19e49 100644 --- a/src/router.php +++ b/src/router.php | |||
@@ -1,7 +1,7 @@ | |||
1 | <?php | 1 | <?php |
2 | // src/router.php | 2 | // src/router.php |
3 | // | 3 | // |
4 | /* fonctionnement du routeur | 4 | /* fonctionnement: |
5 | => 1er test, méthode http: GET, POST ou autre chose | 5 | => 1er test, méthode http: GET, POST ou autre chose |
6 | => 2ème test, type de contenu (méthode POST uniquement): | 6 | => 2ème test, type de contenu (méthode POST uniquement): |
7 | "application/x-www-form-urlencoded" = formulaire | 7 | "application/x-www-form-urlencoded" = formulaire |
@@ -13,22 +13,27 @@ $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' requête AJAX xhs, non uti | |||
13 | 13 | ||
14 | declare(strict_types=1); | 14 | declare(strict_types=1); |
15 | 15 | ||
16 | if($_SERVER['REQUEST_METHOD'] === 'GET'){ | 16 | if($request->getMethod() === 'GET'){ |
17 | // table "user" vide | 17 | // table "user" vide |
18 | if(!UserController::existUsers($entityManager)){ | 18 | if(!UserController::existUsers($entityManager)){ |
19 | require '../src/view/templates/user_create.php'; | 19 | require AbstractBuilder::VIEWS_PATH . 'user_create.php'; |
20 | die; | 20 | die; |
21 | } | 21 | } |
22 | 22 | ||
23 | // bouton déconnexion | 23 | // bouton déconnexion (méthode GET parce que l'utilisateur ne modifie plus de données à partir de là) |
24 | if($request->query->has('action') && $request->query->get('action') === 'deconnection'){ | 24 | if($request->query->has('action') && $request->query->get('action') === 'deconnection'){ |
25 | UserController::disconnect($entityManager); | 25 | UserController::disconnect($entityManager); |
26 | } | 26 | } |
27 | 27 | ||
28 | // articles suivants | ||
29 | if($request->query->has('fetch') && $request->query->get('fetch') === 'next_articles'){ | ||
30 | ArticleController::fetch($entityManager, $request); | ||
31 | } | ||
32 | |||
28 | // données du calendrier | 33 | // données du calendrier |
29 | // création du calendrier et changement de dates affichées (boutons flèches mais pas changement de vue) | 34 | // création du calendrier et changement de dates affichées (boutons flèches mais pas changement de vue) |
30 | if($_SERVER['REQUEST_METHOD'] === 'GET' && $request->query->has('action') && $request->query->get('action') === 'get_events' | 35 | if($request->query->has('action') && $request->query->get('action') === 'get_events' |
31 | && $request->query->has('start') && $request->query->has('end') && empty($_POST)) | 36 | && $request->query->has('start') && $request->query->has('end') && empty($request->getPayload()->all())) // getPayload ne récupère pas que des POST |
32 | { | 37 | { |
33 | CalendarController::getData($entityManager); | 38 | CalendarController::getData($entityManager); |
34 | } | 39 | } |
@@ -43,7 +48,7 @@ if($_SERVER['REQUEST_METHOD'] === 'GET'){ | |||
43 | } | 48 | } |
44 | 49 | ||
45 | 50 | ||
46 | elseif($_SERVER['REQUEST_METHOD'] === 'POST'){ | 51 | elseif($request->getMethod() === 'POST'){ |
47 | /* -- contrôleurs appellables par tout le monde -- */ | 52 | /* -- contrôleurs appellables par tout le monde -- */ |
48 | 53 | ||
49 | // table "user" vide | 54 | // table "user" vide |
@@ -54,8 +59,7 @@ elseif($_SERVER['REQUEST_METHOD'] === 'POST'){ | |||
54 | // requêtes JSON avec fetch() | 59 | // requêtes JSON avec fetch() |
55 | if($_SERVER['CONTENT_TYPE'] === 'application/json') | 60 | if($_SERVER['CONTENT_TYPE'] === 'application/json') |
56 | { | 61 | { |
57 | $data = file_get_contents('php://input'); | 62 | $json = json_decode($request->getContent(), true); // = json_decode(file_get_contents('php://input'), true); |
58 | $json = json_decode($data, true); | ||
59 | 63 | ||
60 | if(isset($_GET['action'])) | 64 | if(isset($_GET['action'])) |
61 | { | 65 | { |
@@ -195,6 +199,9 @@ elseif($_SERVER['REQUEST_METHOD'] === 'POST'){ | |||
195 | elseif($request->query->get('bloc_edit') === 'change_cols_min_width'){ | 199 | elseif($request->query->get('bloc_edit') === 'change_cols_min_width'){ |
196 | PageManagementController::changeColsMinWidth($entityManager, $json); | 200 | PageManagementController::changeColsMinWidth($entityManager, $json); |
197 | } | 201 | } |
202 | elseif($request->query->get('bloc_edit') === 'change_pagination_limit'){ | ||
203 | PageManagementController::changePaginationLimit($entityManager, $json); | ||
204 | } | ||
198 | } | 205 | } |
199 | } | 206 | } |
200 | 207 | ||
@@ -316,7 +323,7 @@ if(isset($response)){ | |||
316 | header('Location: ' . new URL(['page' => !empty($_GET['from']) ? $_GET['from'] : 'accueil'])); | 323 | header('Location: ' . new URL(['page' => !empty($_GET['from']) ? $_GET['from'] : 'accueil'])); |
317 | } | 324 | } |
318 | // redirection après traitement de formulaires HTTP | 325 | // redirection après traitement de formulaires HTTP |
319 | elseif($_SERVER['REQUEST_METHOD'] === 'POST' && $_SERVER['CONTENT_TYPE'] === 'application/x-www-form-urlencoded'){ | 326 | elseif($request->getMethod() === 'POST' && $_SERVER['CONTENT_TYPE'] === 'application/x-www-form-urlencoded'){ |
320 | $response_data = json_decode(($response)->getContent(), true); | 327 | $response_data = json_decode(($response)->getContent(), true); |
321 | $url = new URL(['page' => !empty($_GET['from']) ? $_GET['from'] : 'accueil']); | 328 | $url = new URL(['page' => !empty($_GET['from']) ? $_GET['from'] : 'accueil']); |
322 | $url->addParams(['success' => $response_data['success'], 'message' => $response_data['message']]); | 329 | $url->addParams(['success' => $response_data['success'], 'message' => $response_data['message']]); |
@@ -329,7 +336,7 @@ if(isset($response)){ | |||
329 | } | 336 | } |
330 | // pas utilisation de RESPONSE (cas destiné à disparaître) | 337 | // pas utilisation de RESPONSE (cas destiné à disparaître) |
331 | else{ | 338 | else{ |
332 | if($_SERVER['REQUEST_METHOD'] === 'POST' && $_SERVER['CONTENT_TYPE'] === 'application/x-www-form-urlencoded'){ | 339 | if($request->getMethod() === 'POST' && $_SERVER['CONTENT_TYPE'] === 'application/x-www-form-urlencoded'){ |
333 | header("Location: " . new URL(['error' => 'erreur côté serveur'])); | 340 | header("Location: " . new URL(['error' => 'erreur côté serveur'])); |
334 | } | 341 | } |
335 | else{ | 342 | else{ |
@@ -337,4 +344,4 @@ else{ | |||
337 | echo "erreur côté serveur"; | 344 | echo "erreur côté serveur"; |
338 | } | 345 | } |
339 | } | 346 | } |
340 | //die; // inutile normalement \ No newline at end of file | 347 | //die; // inutile \ No newline at end of file |