diff options
| author | polo <ordipolo@gmx.fr> | 2025-08-27 16:08:29 +0200 |
|---|---|---|
| committer | polo <ordipolo@gmx.fr> | 2025-08-27 16:08:29 +0200 |
| commit | e642cd51d7e8599537f8514bef8d5d16096dddf8 (patch) | |
| tree | b9ad8356fe8b572f6271ef5016d599d0768e9a65 | |
| parent | 6c28cf85e1b5921e4fb77be230651bc22e83b801 (diff) | |
| download | cms-e642cd51d7e8599537f8514bef8d5d16096dddf8.tar.gz cms-e642cd51d7e8599537f8514bef8d5d16096dddf8.tar.bz2 cms-e642cd51d7e8599537f8514bef8d5d16096dddf8.zip | |
optimisation UserController::existUsers, gestion des $response par le routeur, erreur article déjà supprimé
| -rw-r--r-- | public/index.php | 23 | ||||
| -rw-r--r-- | public/js/tinymce.js | 2 | ||||
| -rw-r--r-- | src/controller/ArticleController.php | 6 | ||||
| -rw-r--r-- | src/controller/CalendarController.php | 3 | ||||
| -rw-r--r-- | src/controller/UserController.php | 10 | ||||
| -rw-r--r-- | src/router.php | 149 | ||||
| -rw-r--r-- | src/view/NewsBlockBuilder.php | 2 | ||||
| -rw-r--r-- | src/view/PostBlockBuilder.php | 5 |
8 files changed, 114 insertions, 86 deletions
diff --git a/public/index.php b/public/index.php index 89bb203..6149f7a 100644 --- a/public/index.php +++ b/public/index.php | |||
| @@ -1,15 +1,20 @@ | |||
| 1 | <?php | 1 | <?php |
| 2 | // public/index/php | 2 | // public/index/php |
| 3 | 3 | ||
| 4 | /* plan d'action pour symfonyfier le site | 4 | /* plan d'action pour "symfonyfier" le site |
| 5 | 1/ intégrer les classes Request et Response sans changer modifier les liens | 5 | A - |
| 6 | 2/ méthodes HTTP: GET, HEAD, POST, PUT, PATCH, DELETE, etc, pour un pré-routage (légères modifications des liens) | 6 | 1/ de vrais contrôleurs: classes et méthodes prenant une requête en entrée et retournant une réponse |
| 7 | 3/ passer à des chemins modernes "ciblant des ressources" genre /chemin/de/la/page | 7 | (début de séparation contrôleurs et classes métier, exemple: ViewController/Director) |
| 8 | le mode modification de page doit thérioquement être appelé comme ça: /chemin/de/la/page/modif_page | 8 | 2/ routeur structuré: méthodes GET et POST, content-type, admin |
| 9 | apparemment, le from=nom_page pour les formulaires ne se fait pas... | 9 | 3/ routeur amélioré: pré-routage avec méthodes HTTP: GET, HEAD, POST, PUT, PATCH, DELETE, etc |
| 10 | 4/ utiliser le routeur de symfony: nécéssite que tous les contrôleurs soient des classes avec un namespace | 10 | 4/ réécriture avec les classes Request et Response sans toucher les liens |
| 11 | 5/ http-foundation possède aussi une classe Session. intéressant! | 11 | B - |
| 12 | */ | 12 | 1/ passer à des chemins modernes "ciblant des ressources" genre /chemin/de/la/page |
| 13 | le mode modification de page doit thérioquement être appelé comme ça: /chemin/de/la/page/modif_page | ||
| 14 | apparemment, le from=nom_page pour les formulaires ne se fait pas... | ||
| 15 | 2/ utiliser le routeur de symfony: nécéssite que tous les contrôleurs soient des classes avec un namespace */ | ||
| 16 | |||
| 17 | // http-foundation possède aussi une classe Session. intéressant! | ||
| 13 | 18 | ||
| 14 | declare(strict_types=1); | 19 | declare(strict_types=1); |
| 15 | 20 | ||
diff --git a/public/js/tinymce.js b/public/js/tinymce.js index 29b82bf..f153246 100644 --- a/public/js/tinymce.js +++ b/public/js/tinymce.js | |||
| @@ -145,7 +145,7 @@ function openEditor(id, page = '') { | |||
| 145 | const formData = new FormData(); | 145 | const formData = new FormData(); |
| 146 | formData.append("file", blobInfo.blob()); | 146 | formData.append("file", blobInfo.blob()); |
| 147 | 147 | ||
| 148 | fetch("index.php?action=upload_image", { | 148 | fetch("index.php?action=upload_image_tinymce", { |
| 149 | method: "POST", | 149 | method: "POST", |
| 150 | body: formData | 150 | body: formData |
| 151 | }) | 151 | }) |
diff --git a/src/controller/ArticleController.php b/src/controller/ArticleController.php index a982d8c..71bfdc3 100644 --- a/src/controller/ArticleController.php +++ b/src/controller/ArticleController.php | |||
| @@ -101,7 +101,11 @@ class ArticleController | |||
| 101 | static public function deleteArticle(EntityManager $entityManager, array $json): Response | 101 | static public function deleteArticle(EntityManager $entityManager, array $json): Response |
| 102 | { | 102 | { |
| 103 | $director = new Director($entityManager); | 103 | $director = new Director($entityManager); |
| 104 | $director->makeArticleNode($json['id'], true); | 104 | if(!$director->makeArticleNode($json['id'], true)){ |
| 105 | return new Response( | ||
| 106 | '{"success": false, "message": "Erreur: pas d\'article à supprimer"}', | ||
| 107 | Response::HTTP_INTERNAL_SERVER_ERROR); // 500 | ||
| 108 | } | ||
| 105 | $article = $director->getArticleNode(); | 109 | $article = $director->getArticleNode(); |
| 106 | $section = $director->getNode(); | 110 | $section = $director->getNode(); |
| 107 | 111 | ||
diff --git a/src/controller/CalendarController.php b/src/controller/CalendarController.php index cc37d0f..b60ff11 100644 --- a/src/controller/CalendarController.php +++ b/src/controller/CalendarController.php | |||
| @@ -52,6 +52,7 @@ class CalendarController | |||
| 52 | $entityManager->flush(); | 52 | $entityManager->flush(); |
| 53 | 53 | ||
| 54 | echo json_encode(['success' => true, 'id' => $event->getId()]); | 54 | echo json_encode(['success' => true, 'id' => $event->getId()]); |
| 55 | die; | ||
| 55 | } | 56 | } |
| 56 | static public function updateEvent(array $json, EntityManager $entityManager):void | 57 | static public function updateEvent(array $json, EntityManager $entityManager):void |
| 57 | { | 58 | { |
| @@ -67,6 +68,7 @@ class CalendarController | |||
| 67 | $entityManager->flush(); | 68 | $entityManager->flush(); |
| 68 | 69 | ||
| 69 | echo json_encode(['success' => true]); | 70 | echo json_encode(['success' => true]); |
| 71 | die; | ||
| 70 | } | 72 | } |
| 71 | static public function removeEvent(array $json, EntityManager $entityManager):void | 73 | static public function removeEvent(array $json, EntityManager $entityManager):void |
| 72 | { | 74 | { |
| @@ -75,5 +77,6 @@ class CalendarController | |||
| 75 | $entityManager->flush(); | 77 | $entityManager->flush(); |
| 76 | 78 | ||
| 77 | echo json_encode(['success' => true]); | 79 | echo json_encode(['success' => true]); |
| 80 | die; | ||
| 78 | } | 81 | } |
| 79 | } \ No newline at end of file | 82 | } \ No newline at end of file |
diff --git a/src/controller/UserController.php b/src/controller/UserController.php index 1acb4d5..a35b09e 100644 --- a/src/controller/UserController.php +++ b/src/controller/UserController.php | |||
| @@ -22,14 +22,14 @@ class UserController | |||
| 22 | // account | 22 | // account |
| 23 | static public function existUsers(EntityManager $entityManager): bool | 23 | static public function existUsers(EntityManager $entityManager): bool |
| 24 | { | 24 | { |
| 25 | // optimiser ça si possible, on veut juste savoir si la table est vide ou non | 25 | $nb_users = $entityManager |
| 26 | $users = $entityManager->getRepository(User::class)->findAll(); | 26 | ->createQuery('SELECT COUNT(u.id_user) FROM App\Entity\User u') |
| 27 | 27 | ->getSingleScalarResult(); | |
| 28 | if(count($users) === 0) // table vide | 28 | |
| 29 | if($nb_users === 0) // table vide | ||
| 29 | { | 30 | { |
| 30 | $_SESSION['user'] = ''; | 31 | $_SESSION['user'] = ''; |
| 31 | $_SESSION['admin'] = false; | 32 | $_SESSION['admin'] = false; |
| 32 | |||
| 33 | return false; | 33 | return false; |
| 34 | } | 34 | } |
| 35 | else{ | 35 | else{ |
diff --git a/src/router.php b/src/router.php index 8aa0aa9..92dccb6 100644 --- a/src/router.php +++ b/src/router.php | |||
| @@ -39,7 +39,7 @@ if($_SERVER['REQUEST_METHOD'] === 'GET'){ | |||
| 39 | } | 39 | } |
| 40 | 40 | ||
| 41 | // construction d'une page | 41 | // construction d'une page |
| 42 | $response = (new ViewController)->buildView($entityManager, $request); | 42 | $response = (new ViewController)->buildView($entityManager, $request); // utilise Director |
| 43 | } | 43 | } |
| 44 | 44 | ||
| 45 | 45 | ||
| @@ -87,25 +87,19 @@ elseif($_SERVER['REQUEST_METHOD'] === 'POST'){ | |||
| 87 | $data = file_get_contents('php://input'); | 87 | $data = file_get_contents('php://input'); |
| 88 | $json = json_decode($data, true); | 88 | $json = json_decode($data, true); |
| 89 | 89 | ||
| 90 | if(isset($_GET['action'])) | 90 | if($request->query->has('action')) |
| 91 | { | 91 | { |
| 92 | /* -- manipulation des articles -- */ | 92 | /* -- manipulation des articles -- */ |
| 93 | if($_GET['action'] === 'editor_submit' && isset($json['id']) && isset($json['content'])) | 93 | if($_GET['action'] === 'editor_submit' && isset($json['id']) && isset($json['content'])){ |
| 94 | { | ||
| 95 | ArticleController::editorSubmit($entityManager, $json); | 94 | ArticleController::editorSubmit($entityManager, $json); |
| 96 | } | 95 | } |
| 97 | elseif($_GET['action'] === 'delete_article' && isset($json['id'])){ | 96 | elseif($_GET['action'] === 'delete_article' && isset($json['id'])){ |
| 98 | $response = ArticleController::deleteArticle($entityManager, $json); // version AJAX | 97 | $response = ArticleController::deleteArticle($entityManager, $json); // version AJAX |
| 99 | $response->send(); | ||
| 100 | die; | ||
| 101 | } | 98 | } |
| 102 | // inversion de la position de deux noeuds | 99 | elseif($_GET['action'] === 'switch_positions' && isset($json['id1']) && isset($json['id2'])){ |
| 103 | elseif($_GET['action'] === 'switch_positions' && isset($json['id1']) && isset($json['id2'])) | ||
| 104 | { | ||
| 105 | ArticleController::switchPositions($entityManager, $json); | 100 | ArticleController::switchPositions($entityManager, $json); |
| 106 | } | 101 | } |
| 107 | elseif($_GET['action'] === 'date_submit' && isset($json['id']) && isset($json['date'])) | 102 | elseif($_GET['action'] === 'date_submit' && isset($json['id']) && isset($json['date'])){ |
| 108 | { | ||
| 109 | ArticleController::dateSubmit($entityManager, $json); | 103 | ArticleController::dateSubmit($entityManager, $json); |
| 110 | } | 104 | } |
| 111 | 105 | ||
| @@ -116,29 +110,54 @@ elseif($_SERVER['REQUEST_METHOD'] === 'POST'){ | |||
| 116 | elseif($_GET['action'] === 'test_email'){ | 110 | elseif($_GET['action'] === 'test_email'){ |
| 117 | ContactFormController::sendTestEmail($entityManager, $json); | 111 | ContactFormController::sendTestEmail($entityManager, $json); |
| 118 | } | 112 | } |
| 113 | |||
| 114 | |||
| 115 | /* -- upload d'image dans tinymce par copier-coller -- */ | ||
| 116 | // collage de HTML contenant une ou plusieurs balises <img> | ||
| 117 | elseif($request->query->get('action') === 'upload_image_url'){ | ||
| 118 | ImageUploadController::uploadImageHtml(); | ||
| 119 | } | ||
| 120 | // collage d'une image (code base64 dans le presse-papier) non encapsulée dans du HTML | ||
| 121 | elseif($request->query->get('action') === 'upload_image_base64'){ | ||
| 122 | ImageUploadController::uploadImageBase64(); | ||
| 123 | } | ||
| 124 | |||
| 125 | |||
| 126 | /* -- requêtes spécifiques au calendrier -- */ | ||
| 127 | elseif($request->query->get('action') === 'new_event'){ | ||
| 128 | CalendarController::newEvent($json, $entityManager); | ||
| 129 | } | ||
| 130 | elseif($request->query->get('action') === 'update_event'){ | ||
| 131 | CalendarController::updateEvent($json, $entityManager); | ||
| 132 | } | ||
| 133 | elseif($request->query->get('action') === 'remove_event'){ | ||
| 134 | CalendarController::removeEvent($json, $entityManager); | ||
| 135 | } | ||
| 136 | else{ | ||
| 137 | echo json_encode(['success' => false]); | ||
| 138 | die; | ||
| 139 | } | ||
| 119 | } | 140 | } |
| 120 | 141 | ||
| 142 | |||
| 121 | /* -- page Menu et chemins -- */ | 143 | /* -- page Menu et chemins -- */ |
| 122 | elseif(isset($_GET['menu_edit'])) | 144 | elseif(isset($_GET['menu_edit'])) |
| 123 | { | 145 | { |
| 124 | // récupération des données (serait peut-être mieux dans la classe) | 146 | // ne suit pas la règle, faire ça dans un contrôleur |
| 125 | Director::$menu_data = new Menu($entityManager); | 147 | Director::$menu_data = new Menu($entityManager); // récupération des données |
| 126 | 148 | ||
| 127 | // flèche gauche <=: position = position du parent + 1, parent = grand-parent, recalculer les positions | 149 | // flèche gauche <=: position = position du parent + 1, parent = grand-parent, recalculer les positions |
| 128 | if($_GET['menu_edit'] === 'move_one_level_up' && isset($json['id'])){ | 150 | if($_GET['menu_edit'] === 'move_one_level_up' && isset($json['id'])){ |
| 129 | MenuAndPathsController::MoveOneLevelUp($entityManager, $json); | 151 | MenuAndPathsController::MoveOneLevelUp($entityManager, $json); |
| 130 | } | 152 | } |
| 131 | |||
| 132 | // flèche droite =>: position = nombre d'éléments de la fraterie + 1, l'élément précédent devient le parent | 153 | // flèche droite =>: position = nombre d'éléments de la fraterie + 1, l'élément précédent devient le parent |
| 133 | if($_GET['menu_edit'] === 'move_one_level_down' && isset($json['id'])){ | 154 | elseif($_GET['menu_edit'] === 'move_one_level_down' && isset($json['id'])){ |
| 134 | MenuAndPathsController::MoveOneLevelDown($entityManager, $json); | 155 | MenuAndPathsController::MoveOneLevelDown($entityManager, $json); |
| 135 | } | 156 | } |
| 136 | 157 | elseif($_GET['menu_edit'] === 'switch_positions' && isset($json['id1']) && isset($json['id2'])){ | |
| 137 | if($_GET['menu_edit'] === 'switch_positions' && isset($json['id1']) && isset($json['id2'])){ | ||
| 138 | MenuAndPathsController::switchPositions($entityManager, $json); | 158 | MenuAndPathsController::switchPositions($entityManager, $json); |
| 139 | } | 159 | } |
| 140 | 160 | elseif($_GET['menu_edit'] === 'displayInMenu' && isset($json['id']) && isset($json['checked'])){ | |
| 141 | if($_GET['menu_edit'] === 'displayInMenu' && isset($json['id']) && isset($json['checked'])){ | ||
| 142 | MenuAndPathsController::displayInMenu($entityManager, $json); | 161 | MenuAndPathsController::displayInMenu($entityManager, $json); |
| 143 | } | 162 | } |
| 144 | } | 163 | } |
| @@ -161,45 +180,18 @@ elseif($_SERVER['REQUEST_METHOD'] === 'POST'){ | |||
| 161 | elseif($request->query->has('bloc_edit')) | 180 | elseif($request->query->has('bloc_edit')) |
| 162 | { | 181 | { |
| 163 | // renommage d'un bloc | 182 | // renommage d'un bloc |
| 164 | if($request->query->get('bloc_edit') === 'rename_page_bloc') | 183 | if($request->query->get('bloc_edit') === 'rename_page_bloc'){ |
| 165 | { | ||
| 166 | PageManagementController::renameBloc($entityManager, $json); | 184 | PageManagementController::renameBloc($entityManager, $json); |
| 167 | } | 185 | } |
| 168 | // inversion des positions de deux blocs | 186 | // inversion des positions de deux blocs |
| 169 | elseif($request->query->get('bloc_edit') === 'switch_blocs_positions') | 187 | elseif($request->query->get('bloc_edit') === 'switch_blocs_positions'){ |
| 170 | { | ||
| 171 | PageManagementController::SwitchBlocsPositions($entityManager, $json); | 188 | PageManagementController::SwitchBlocsPositions($entityManager, $json); |
| 172 | } | 189 | } |
| 173 | } | 190 | } |
| 174 | |||
| 175 | /* -- upload d'image dans tinymce par copier-coller -- */ | ||
| 176 | // collage de HTML contenant une ou plusieurs balises <img> | ||
| 177 | if($request->query->has('action') && $request->query->get('action') == 'upload_image_html'){ | ||
| 178 | ImageUploadController::uploadImageHtml(); | ||
| 179 | } | ||
| 180 | // collage d'une image (code base64 dans le presse-papier) non encapsulée dans du HTML | ||
| 181 | elseif($request->query->has('action') && $request->query->get('action') == 'upload_image_base64'){ | ||
| 182 | ImageUploadController::uploadImageBase64(); | ||
| 183 | } | ||
| 184 | |||
| 185 | /* -- requêtes spécifiques au calendrier -- */ | ||
| 186 | if($request->query->get('action') === 'new_event'){ | ||
| 187 | CalendarController::newEvent($json, $entityManager); | ||
| 188 | } | ||
| 189 | elseif($request->query->get('action') === 'update_event'){ | ||
| 190 | CalendarController::updateEvent($json, $entityManager); | ||
| 191 | } | ||
| 192 | elseif($request->query->get('action') === 'remove_event'){ | ||
| 193 | CalendarController::removeEvent($json, $entityManager); | ||
| 194 | } | ||
| 195 | else{ | ||
| 196 | echo json_encode(['success' => false]); | ||
| 197 | } | ||
| 198 | die; | ||
| 199 | } | 191 | } |
| 200 | 192 | ||
| 201 | // upload d'image dans tinymce avec le plugin (bouton "insérer une image" de l'éditeur) | 193 | // upload d'image dans tinymce avec le plugin (bouton "insérer une image" de l'éditeur) |
| 202 | elseif(strpos($_SERVER['CONTENT_TYPE'], 'multipart/form-data') !== false && $request->query->has('action') && $request->query->get('action') === 'upload_image') | 194 | elseif(strpos($_SERVER['CONTENT_TYPE'], 'multipart/form-data') !== false && $request->query->has('action') && $request->query->get('action') === 'upload_image_tinymce') |
| 203 | { | 195 | { |
| 204 | ImageUploadController::imageUploadTinyMce(); | 196 | ImageUploadController::imageUploadTinyMce(); |
| 205 | } | 197 | } |
| @@ -207,7 +199,7 @@ elseif($_SERVER['REQUEST_METHOD'] === 'POST'){ | |||
| 207 | elseif(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') | 199 | elseif(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') |
| 208 | { | 200 | { |
| 209 | //echo "requête XMLHttpRequest reçue par le serveur"; | 201 | //echo "requête XMLHttpRequest reçue par le serveur"; |
| 210 | echo json_encode(['success' => false]); // ça marche mais ça marche pas... | 202 | echo json_encode(['success' => false]); // noyer le poisson en laissant penser que le site gère les requêtes XHR |
| 211 | die; | 203 | die; |
| 212 | } | 204 | } |
| 213 | 205 | ||
| @@ -215,14 +207,7 @@ elseif($_SERVER['REQUEST_METHOD'] === 'POST'){ | |||
| 215 | elseif($_SERVER['CONTENT_TYPE'] === 'application/x-www-form-urlencoded') | 207 | elseif($_SERVER['CONTENT_TYPE'] === 'application/x-www-form-urlencoded') |
| 216 | { | 208 | { |
| 217 | if($_GET['action'] === 'delete_article' && isset($_GET['id'])){ | 209 | if($_GET['action'] === 'delete_article' && isset($_GET['id'])){ |
| 218 | $response = json_decode(ArticleController::deleteArticle($entityManager, $_GET)->getContent(), true); // version formulaire | 210 | $response = ArticleController::deleteArticle($entityManager, $_GET); // version formulaire |
| 219 | $url = new URL; | ||
| 220 | if(isset($_GET['from'])){ | ||
| 221 | $url->addParams(['page' => $_GET['from']]); | ||
| 222 | } | ||
| 223 | $url->addParams(['success' => $response['success'], 'message' => $response['message']]); | ||
| 224 | header('Location: ' . $url); | ||
| 225 | die; | ||
| 226 | } | 211 | } |
| 227 | 212 | ||
| 228 | /* -- nouvelle page -- */ | 213 | /* -- nouvelle page -- */ |
| @@ -242,6 +227,7 @@ elseif($_SERVER['REQUEST_METHOD'] === 'POST'){ | |||
| 242 | PageManagementController::deletePage($entityManager); | 227 | PageManagementController::deletePage($entityManager); |
| 243 | } | 228 | } |
| 244 | 229 | ||
| 230 | |||
| 245 | /* -- mode Modification d'une page -- */ | 231 | /* -- mode Modification d'une page -- */ |
| 246 | 232 | ||
| 247 | // modification du chemins en snake_case | 233 | // modification du chemins en snake_case |
| @@ -294,20 +280,51 @@ elseif($_SERVER['REQUEST_METHOD'] === 'POST'){ | |||
| 294 | die; | 280 | die; |
| 295 | } | 281 | } |
| 296 | } | 282 | } |
| 283 | // POST admin ne matchant pas | ||
| 284 | else{ | ||
| 285 | echo json_encode(['success' => false]); | ||
| 286 | die; | ||
| 287 | } | ||
| 288 | } | ||
| 289 | // POST non admin ne matchant pas | ||
| 290 | else{ | ||
| 291 | echo json_encode(['success' => false]); | ||
| 292 | die; | ||
| 297 | } | 293 | } |
| 298 | |||
| 299 | // rien ne match | ||
| 300 | header("Location: " . new URL); | ||
| 301 | die; | ||
| 302 | } | 294 | } |
| 303 | 295 | ||
| 304 | 296 | // méthode inconnue | |
| 305 | else{ | 297 | else{ |
| 306 | header("Location: " . new URL(['error' => 'tu fais quoi là mec?'])); | 298 | header("Location: " . new URL(['error' => 'tu fais quoi là mec?'])); |
| 307 | die; | 299 | die; |
| 308 | } | 300 | } |
| 309 | 301 | ||
| 310 | // enlever le test isset à terme | 302 | |
| 303 | |||
| 304 | /* -- utilisation de la réponse -- */ | ||
| 311 | if(isset($response)){ | 305 | if(isset($response)){ |
| 312 | $response->send(); | 306 | if($_SERVER['REQUEST_METHOD'] === 'POST' && $_SERVER['CONTENT_TYPE'] === 'application/x-www-form-urlencoded') |
| 313 | } \ No newline at end of file | 307 | { |
| 308 | $response_data = json_decode(($response)->getContent(), true); | ||
| 309 | $url = new URL; | ||
| 310 | if(isset($_GET['from'])){ | ||
| 311 | $url->addParams(['page' => $_GET['from']]); | ||
| 312 | } | ||
| 313 | $url->addParams(['success' => $response_data['success'], 'message' => $response_data['message']]); | ||
| 314 | header('Location: ' . $url); | ||
| 315 | } | ||
| 316 | else{ | ||
| 317 | $response->send(); | ||
| 318 | } | ||
| 319 | } | ||
| 320 | else{ | ||
| 321 | if($_SERVER['REQUEST_METHOD'] === 'POST' && $_SERVER['CONTENT_TYPE'] === 'application/x-www-form-urlencoded') | ||
| 322 | { | ||
| 323 | header("Location: " . new URL(['error' => 'erreur côté serveur'])); | ||
| 324 | } | ||
| 325 | else{ | ||
| 326 | http_response_code(500); | ||
| 327 | echo "erreur côté serveur"; | ||
| 328 | } | ||
| 329 | } | ||
| 330 | //die; // inutile normalement \ No newline at end of file | ||
diff --git a/src/view/NewsBlockBuilder.php b/src/view/NewsBlockBuilder.php index e449c7a..6b54196 100644 --- a/src/view/NewsBlockBuilder.php +++ b/src/view/NewsBlockBuilder.php | |||
| @@ -23,7 +23,7 @@ class NewsBlockBuilder extends AbstractBuilder | |||
| 23 | 23 | ||
| 24 | $presentation = $node->getNodeData()->getPresentation()->getName(); // affichage list ou grid | 24 | $presentation = $node->getNodeData()->getPresentation()->getName(); // affichage list ou grid |
| 25 | 25 | ||
| 26 | // exécution de la stratégie (utilisation d'une méthode ou d'une classe) | 26 | // exécution de la stratégie (utilisation de méthodes ou de classe List, Grid, CarouselPresentation) |
| 27 | $section_class = $presentation; | 27 | $section_class = $presentation; |
| 28 | $section_child_class = $presentation === 'grid' ? 'grid_columns' : ''; | 28 | $section_child_class = $presentation === 'grid' ? 'grid_columns' : ''; |
| 29 | 29 | ||
diff --git a/src/view/PostBlockBuilder.php b/src/view/PostBlockBuilder.php index fadae31..6ec91f7 100644 --- a/src/view/PostBlockBuilder.php +++ b/src/view/PostBlockBuilder.php | |||
| @@ -12,8 +12,7 @@ class PostBlockBuilder extends AbstractBuilder | |||
| 12 | parent::__construct($node); | 12 | parent::__construct($node); |
| 13 | 13 | ||
| 14 | // à remplacer par list.php/grid.php (une vue par stratégie) le jour ou ou a besoin de les différencier | 14 | // à remplacer par list.php/grid.php (une vue par stratégie) le jour ou ou a besoin de les différencier |
| 15 | //$viewFile = self::VIEWS_PATH . $node->getName() . '.php'; | 15 | $viewFile = self::VIEWS_PATH . $node->getName() . '.php'; // = post_block.php, actuellement identique à news_block.php |
| 16 | $viewFile = self::VIEWS_PATH . 'post_block.php'; // actuellement identique à news_block.php | ||
| 17 | 16 | ||
| 18 | if(file_exists($viewFile)) | 17 | if(file_exists($viewFile)) |
| 19 | { | 18 | { |
| @@ -24,7 +23,7 @@ class PostBlockBuilder extends AbstractBuilder | |||
| 24 | 23 | ||
| 25 | $presentation = $node->getNodeData()->getPresentation()->getName(); // affichage list ou grid | 24 | $presentation = $node->getNodeData()->getPresentation()->getName(); // affichage list ou grid |
| 26 | 25 | ||
| 27 | // exécution de la stratégie (utilisation d'une méthode ou d'une classe) | 26 | // exécution de la stratégie (utilisation de méthodes ou de classe List, Grid, CarouselPresentation) |
| 28 | $section_class = $presentation; | 27 | $section_class = $presentation; |
| 29 | $section_child_class = $presentation === 'grid' ? 'grid_columns' : ''; | 28 | $section_child_class = $presentation === 'grid' ? 'grid_columns' : ''; |
| 30 | 29 | ||
