aboutsummaryrefslogtreecommitdiff
path: root/src/controller/PageManagementController.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/controller/PageManagementController.php')
-rw-r--r--src/controller/PageManagementController.php90
1 files changed, 45 insertions, 45 deletions
diff --git a/src/controller/PageManagementController.php b/src/controller/PageManagementController.php
index e6886b1..9dce952 100644
--- a/src/controller/PageManagementController.php
+++ b/src/controller/PageManagementController.php
@@ -25,16 +25,16 @@ class PageManagementController
25 25
26 static public function updatePageMenuPath(EntityManager $entityManager): void 26 static public function updatePageMenuPath(EntityManager $entityManager): void
27 { 27 {
28 Director::$menu_data = new Menu($entityManager); 28 Model::$menu_data = new Menu($entityManager);
29 Director::$page_path = new Path(); 29 Model::$page_path = new Path();
30 $page = Director::$page_path->getLast(); 30 $page = Model::$page_path->getLast();
31 $path = htmlspecialchars($_POST['page_menu_path']); 31 $path = htmlspecialchars($_POST['page_menu_path']);
32 32
33 // mise en snake_case: filtre caractères non-alphanumériques, minuscule, doublons d'underscore, trim des underscores 33 // mise en snake_case: filtre caractères non-alphanumériques, minuscule, doublons d'underscore, trim des underscores
34 $path = trim(preg_replace('/_+/', '_', strtolower(preg_replace('/[^a-zA-Z0-9]/', '_', $path))), '_'); 34 $path = trim(preg_replace('/_+/', '_', strtolower(preg_replace('/[^a-zA-Z0-9]/', '_', $path))), '_');
35 $page->setEndOfPath($path); 35 $page->setEndOfPath($path);
36 foreach(Director::$menu_data->getChildren() as $child){ 36 foreach(Model::$menu_data->getChildren() as $child){
37 if($child->getEndOfPath() === Director::$page_path->getArray()[0]->getEndOfPath()){ 37 if($child->getEndOfPath() === Model::$page_path->getArray()[0]->getEndOfPath()){
38 $child->fillChildrenPagePath(); // MAJ de $page_path 38 $child->fillChildrenPagePath(); // MAJ de $page_path
39 } 39 }
40 } 40 }
@@ -55,10 +55,10 @@ class PageManagementController
55 static public function newPage(EntityManager $entityManager, array $post): void 55 static public function newPage(EntityManager $entityManager, array $post): void
56 { 56 {
57 // titre et chemin 57 // titre et chemin
58 $director = new Director($entityManager); 58 $model = new Model($entityManager);
59 $director->makeMenuAndPaths(); 59 $model->makeMenuAndPaths();
60 //Director::$menu_data = new Menu($entityManager); 60 //Model::$menu_data = new Menu($entityManager);
61 $previous_page = Director::$menu_data->findPageById((int)$post["page_location"]); // (int) à cause de declare(strict_types=1); 61 $previous_page = Model::$menu_data->findPageById((int)$post["page_location"]); // (int) à cause de declare(strict_types=1);
62 $parent = $previous_page->getParent(); 62 $parent = $previous_page->getParent();
63 63
64 $page = new Page( 64 $page = new Page(
@@ -73,7 +73,7 @@ class PageManagementController
73 // addChild l'ajoute à la fin du tableau "children" puis on trie 73 // addChild l'ajoute à la fin du tableau "children" puis on trie
74 // exemple avec 2 comme position demandée: 1 2 3 4 2 devient 1 2 3 4 5 et la nouvelle entrée sera en 3è position 74 // exemple avec 2 comme position demandée: 1 2 3 4 2 devient 1 2 3 4 5 et la nouvelle entrée sera en 3è position
75 if($parent == null){ 75 if($parent == null){
76 $parent = Director::$menu_data; 76 $parent = Model::$menu_data;
77 } 77 }
78 $parent->addChild($page); 78 $parent->addChild($page);
79 $parent->reindexPositions(); 79 $parent->reindexPositions();
@@ -127,12 +127,12 @@ class PageManagementController
127 /* partie "blocs" */ 127 /* partie "blocs" */
128 static public function addBloc(EntityManager $entityManager): void 128 static public function addBloc(EntityManager $entityManager): void
129 { 129 {
130 $director = new Director($entityManager); 130 $model = new Model($entityManager);
131 $director->makeMenuAndPaths(); // on a besoin de page_path qui dépend de menu_data 131 $model->makeMenuAndPaths(); // on a besoin de page_path qui dépend de menu_data
132 $page = Director::$page_path->getLast(); 132 $page = Model::$page_path->getLast();
133 $director->findUniqueNodeByName('main'); 133 $model->findUniqueNodeByName('main');
134 $director->findItsChildren(); 134 $model->findItsChildren();
135 $main = $director->getNode(); 135 $main = $model->getNode();
136 $position = count($main->getChildren()) + 1; // position dans la fraterie 136 $position = count($main->getChildren()) + 1; // position dans la fraterie
137 137
138 if(!in_array($_POST["bloc_select"], array_keys(Blocks::$blocks), true)) // 3è param: contrôle du type 138 if(!in_array($_POST["bloc_select"], array_keys(Blocks::$blocks), true)) // 3è param: contrôle du type
@@ -185,12 +185,12 @@ class PageManagementController
185 185
186 static public function deleteBloc(EntityManager $entityManager): void 186 static public function deleteBloc(EntityManager $entityManager): void
187 { 187 {
188 $director = new Director($entityManager); 188 $model = new Model($entityManager);
189 $director->makeMenuAndPaths(); 189 $model->makeMenuAndPaths();
190 $director->findUniqueNodeByName('main'); 190 $model->findUniqueNodeByName('main');
191 $director->findItsChildren(); 191 $model->findItsChildren();
192 //$director->findNodeById((int)$_POST['delete_bloc_id']); 192 //$model->findNodeById((int)$_POST['delete_bloc_id']);
193 $main = $director->getNode(); 193 $main = $model->getNode();
194 $bloc = null; 194 $bloc = null;
195 foreach($main->getChildren() as $child){ 195 foreach($main->getChildren() as $child){
196 if($child->getId() === (int)$_POST['delete_bloc_id']){ 196 if($child->getId() === (int)$_POST['delete_bloc_id']){
@@ -212,13 +212,13 @@ class PageManagementController
212 static public function renameBloc(EntityManager $entityManager, array $json): void 212 static public function renameBloc(EntityManager $entityManager, array $json): void
213 { 213 {
214 if(isset($json['bloc_title']) && $json['bloc_title'] !== null && isset($json['bloc_id']) && is_int($json['bloc_id'])){ 214 if(isset($json['bloc_title']) && $json['bloc_title'] !== null && isset($json['bloc_id']) && is_int($json['bloc_id'])){
215 $director = new Director($entityManager); 215 $model = new Model($entityManager);
216 $director->findNodeById($json['bloc_id']); 216 $model->findNodeById($json['bloc_id']);
217 217
218 // le titre (du JSON en BDD) est récupéré sous forme de tableau, modifié et renvoyé 218 // le titre (du JSON en BDD) est récupéré sous forme de tableau, modifié et renvoyé
219 $data = $director->getNode()->getNodeData()->getData(); 219 $data = $model->getNode()->getNodeData()->getData();
220 $data['title'] = htmlspecialchars($json['bloc_title']); 220 $data['title'] = htmlspecialchars($json['bloc_title']);
221 $director->getNode()->getNodeData()->updateData('title', htmlspecialchars($json['bloc_title'])); 221 $model->getNode()->getNodeData()->updateData('title', htmlspecialchars($json['bloc_title']));
222 222
223 $entityManager->flush(); 223 $entityManager->flush();
224 echo json_encode(['success' => true, 'title' => $data['title']]); 224 echo json_encode(['success' => true, 'title' => $data['title']]);
@@ -232,11 +232,11 @@ class PageManagementController
232 static public function SwitchBlocsPositions(EntityManager $entityManager, array $json): void 232 static public function SwitchBlocsPositions(EntityManager $entityManager, array $json): void
233 { 233 {
234 if(isset($json['id1']) && is_int($json['id1']) && isset($json['id2']) && is_int($json['id2']) && isset($_GET['page'])){ 234 if(isset($json['id1']) && is_int($json['id1']) && isset($json['id2']) && is_int($json['id2']) && isset($_GET['page'])){
235 $director = new Director($entityManager); 235 $model = new Model($entityManager);
236 $director->makeMenuAndPaths(); // true pour $director->findItsChildren(); 236 $model->makeMenuAndPaths(); // true pour $model->findItsChildren();
237 $director->findUniqueNodeByName('main'); 237 $model->findUniqueNodeByName('main');
238 $director->findItsChildren(); 238 $model->findItsChildren();
239 $main = $director->getNode(); 239 $main = $model->getNode();
240 $main->sortChildren(true); // régénère les positions avant inversion 240 $main->sortChildren(true); // régénère les positions avant inversion
241 241
242 $bloc1 = null; 242 $bloc1 = null;
@@ -271,8 +271,8 @@ class PageManagementController
271 static public function changeArticlesOrder(EntityManager $entityManager, array $json): void 271 static public function changeArticlesOrder(EntityManager $entityManager, array $json): void
272 { 272 {
273 if(isset($json['id']) && isset($json['chrono_order'])){ 273 if(isset($json['id']) && isset($json['chrono_order'])){
274 $director = new Director($entityManager); 274 $model = new Model($entityManager);
275 $director->findNodeById($json['id']); 275 $model->findNodeById($json['id']);
276 276
277 if($json['chrono_order'] === 'chrono'){ 277 if($json['chrono_order'] === 'chrono'){
278 $chrono_order = true; 278 $chrono_order = true;
@@ -284,7 +284,7 @@ class PageManagementController
284 echo json_encode(['success' => false]); 284 echo json_encode(['success' => false]);
285 die; 285 die;
286 } 286 }
287 $director->getNode()->getNodeData()->setChronoOrder($chrono_order); 287 $model->getNode()->getNodeData()->setChronoOrder($chrono_order);
288 $entityManager->flush(); 288 $entityManager->flush();
289 289
290 echo json_encode(['success' => true, 'chrono_order' => $json['chrono_order']]); 290 echo json_encode(['success' => true, 'chrono_order' => $json['chrono_order']]);
@@ -298,16 +298,16 @@ class PageManagementController
298 static public function changePresentation(EntityManager $entityManager, array $json): void 298 static public function changePresentation(EntityManager $entityManager, array $json): void
299 { 299 {
300 if(isset($json['id']) && isset($json['presentation'])){ 300 if(isset($json['id']) && isset($json['presentation'])){
301 $director = new Director($entityManager); 301 $model = new Model($entityManager);
302 $director->findNodeById($json['id']); 302 $model->findNodeById($json['id']);
303 303
304 if(in_array($json['presentation'], array_keys(Blocks::$presentations))){ 304 if(in_array($json['presentation'], array_keys(Blocks::$presentations))){
305 $director->getNode()->getNodeData()->setPresentation($json['presentation']); 305 $model->getNode()->getNodeData()->setPresentation($json['presentation']);
306 $entityManager->flush(); 306 $entityManager->flush();
307 307
308 $response_data = ['success' => true, 'presentation' => $json['presentation']]; 308 $response_data = ['success' => true, 'presentation' => $json['presentation']];
309 if($json['presentation'] === 'grid'){ 309 if($json['presentation'] === 'grid'){
310 $response_data['cols_min_width'] = $director->getNode()->getNodeData()->getColsMinWidth(); 310 $response_data['cols_min_width'] = $model->getNode()->getNodeData()->getColsMinWidth();
311 } 311 }
312 echo json_encode($response_data); 312 echo json_encode($response_data);
313 } 313 }
@@ -323,9 +323,9 @@ class PageManagementController
323 static public function changeColsMinWidth(EntityManager $entityManager, array $json): void 323 static public function changeColsMinWidth(EntityManager $entityManager, array $json): void
324 { 324 {
325 if(isset($json['id']) && isset($json['cols_min_width'])){ 325 if(isset($json['id']) && isset($json['cols_min_width'])){
326 $director = new Director($entityManager); 326 $model = new Model($entityManager);
327 $director->findNodeById($json['id']); 327 $model->findNodeById($json['id']);
328 $director->getNode()->getNodeData()->setColsMinWidth((int)$json['cols_min_width']); // attention conversion? 328 $model->getNode()->getNodeData()->setColsMinWidth((int)$json['cols_min_width']); // attention conversion?
329 329
330 $entityManager->flush(); 330 $entityManager->flush();
331 echo json_encode(['success' => true, 'cols_min_width' => $json['cols_min_width']]); 331 echo json_encode(['success' => true, 'cols_min_width' => $json['cols_min_width']]);
@@ -338,10 +338,10 @@ class PageManagementController
338 static public function changePaginationLimit(EntityManager $entityManager, array $json): void 338 static public function changePaginationLimit(EntityManager $entityManager, array $json): void
339 { 339 {
340 if(isset($json['id']) && isset($json['pagination_limit'])){ 340 if(isset($json['id']) && isset($json['pagination_limit'])){
341 $director = new Director($entityManager); 341 $model = new Model($entityManager);
342 $director->findNodeById($json['id']); 342 $model->findNodeById($json['id']);
343 $old_limit = $director->getNode()->getNodeData()->getPaginationLimit() ?? 12; 343 $old_limit = $model->getNode()->getNodeData()->getPaginationLimit() ?? 12;
344 $director->getNode()->getNodeData()->setPaginationLimit((int)$json['pagination_limit']); // attention conversion? 344 $model->getNode()->getNodeData()->setPaginationLimit((int)$json['pagination_limit']); // attention conversion?
345 345
346 $entityManager->flush(); 346 $entityManager->flush();
347 347