summaryrefslogtreecommitdiff
path: root/src/controller/post.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/controller/post.php')
-rw-r--r--src/controller/post.php34
1 files changed, 30 insertions, 4 deletions
diff --git a/src/controller/post.php b/src/controller/post.php
index 76ac72b..d437423 100644
--- a/src/controller/post.php
+++ b/src/controller/post.php
@@ -15,10 +15,13 @@ if($_SERVER['REQUEST_METHOD'] === 'POST' && $_SESSION['admin'] === true)
15 /* -- mode Modification d'une page -- */ 15 /* -- mode Modification d'une page -- */
16 16
17 // ajout d'un bloc dans une page 17 // ajout d'un bloc dans une page
18 if(isset($_POST['bloc_title']) && isset($_POST['bloc_select'])){ 18 if(isset($_POST['bloc_title']) && $_POST['bloc_title'] !== null && isset($_POST['bloc_select']) && $_POST['bloc_select'] !== null
19 && isset($_POST['bloc_title_hidden']) && $_POST['bloc_title_hidden'] === '') // contrôle anti-robot avec input hidden
20 {
19 $director = new Director($entityManager, true); // on a besoin de page_path qui dépend de menu_data 21 $director = new Director($entityManager, true); // on a besoin de page_path qui dépend de menu_data
20 $page = Director::$page_path->getLast(); 22 $page = Director::$page_path->getLast();
21 $director->findNodeByName('main'); 23 $director->findUniqueNodeByName('main');
24 $director->findItsChildren();
22 $main = $director->getNode(); 25 $main = $director->getNode();
23 $position = count($main->getChildren()) + 1; // position dans la fraterie 26 $position = count($main->getChildren()) + 1; // position dans la fraterie
24 27
@@ -37,7 +40,30 @@ if($_SERVER['REQUEST_METHOD'] === 'POST' && $_SESSION['admin'] === true)
37 $entityManager->flush(); 40 $entityManager->flush();
38 header("Location: " . new URL(['page' => $_GET['page'], 'action' => 'modif_page'])); 41 header("Location: " . new URL(['page' => $_GET['page'], 'action' => 'modif_page']));
39 } 42 }
43 // suppression d'un bloc de page
44 elseif(isset($_POST['delete_bloc_id']) && $_POST['delete_bloc_id'] !== null
45 && isset($_POST['delete_bloc_hidden']) && $_POST['delete_bloc_hidden'] === '') // contrôle anti-robot avec input hidden
46 {
47 $director = new Director($entityManager, true);
48 $director->findUniqueNodeByName('main');
49 $director->findItsChildren();
50 //$director->findNodeById((int)$_POST['delete_bloc_id']);
51 $main = $director->getNode();
52 $bloc;
53 foreach($main->getChildren() as $child){
54 if($child->getId() === (int)$_POST['delete_bloc_id']){
55 $bloc = $child;
56 break;
57 }
58 }
59 $main->removeChild($bloc); // réindex le tableau $children au passage
60 $main->reindexPositions();
40 61
62 $entityManager->remove($bloc); // suppression en BDD
63 $entityManager->flush();
64 header("Location: " . new URL(['page' => $_GET['page'], 'action' => 'modif_page']));
65 }
66
41 67
42 /* -- page Menu et chemins -- */ 68 /* -- page Menu et chemins -- */
43 69
@@ -60,7 +86,7 @@ if($_SERVER['REQUEST_METHOD'] === 'POST' && $_SESSION['admin'] === true)
60 $parent = Director::$menu_data; 86 $parent = Director::$menu_data;
61 } 87 }
62 $parent->addChild($page); // true pour réindexer les positions en BDD 88 $parent->addChild($page); // true pour réindexer les positions en BDD
63 $parent->reindex(); 89 $parent->reindexPositions();
64 90
65 $entityManager->persist($page); 91 $entityManager->persist($page);
66 $entityManager->flush(); 92 $entityManager->flush();
@@ -76,7 +102,7 @@ if($_SERVER['REQUEST_METHOD'] === 'POST' && $_SESSION['admin'] === true)
76 } 102 }
77 103
78 $parent->removeChild($page); // suppression de $children avant de trier 104 $parent->removeChild($page); // suppression de $children avant de trier
79 $parent->reindex(); 105 $parent->reindexPositions();
80 106
81 $entityManager->remove($page); // suppression en BDD 107 $entityManager->remove($page); // suppression en BDD
82 $entityManager->flush(); 108 $entityManager->flush();