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 |
