diff options
Diffstat (limited to 'src/view/MainBuilder.php')
-rw-r--r-- | src/view/MainBuilder.php | 47 |
1 files changed, 23 insertions, 24 deletions
diff --git a/src/view/MainBuilder.php b/src/view/MainBuilder.php index 5096134..11f5c4b 100644 --- a/src/view/MainBuilder.php +++ b/src/view/MainBuilder.php | |||
@@ -14,7 +14,7 @@ class MainBuilder extends AbstractBuilder | |||
14 | { | 14 | { |
15 | $this->html .= "<main>\n"; | 15 | $this->html .= "<main>\n"; |
16 | 16 | ||
17 | // cas particulier de la page article où l'article est greffé sur main | 17 | // page article: cas particulier où l'article est greffé sur main |
18 | if(Director::$page_path->getLast()->getEndOfPath() === 'article'){ | 18 | if(Director::$page_path->getLast()->getEndOfPath() === 'article'){ |
19 | // pas censé arriver | 19 | // pas censé arriver |
20 | if(!isset($_GET['id'])){ | 20 | if(!isset($_GET['id'])){ |
@@ -42,14 +42,18 @@ class MainBuilder extends AbstractBuilder | |||
42 | $this->viewEditBlocks($node); | 42 | $this->viewEditBlocks($node); |
43 | } | 43 | } |
44 | 44 | ||
45 | // cas normal | ||
45 | $this->useChildrenBuilder($node); | 46 | $this->useChildrenBuilder($node); |
46 | } | 47 | } |
47 | 48 | ||
48 | $this->html .= "</main>\n"; | 49 | $this->html .= "</main>\n"; |
49 | } | 50 | } |
50 | 51 | ||
52 | // mode modification de page uniquement | ||
51 | private function viewEditBlocks($node): void | 53 | private function viewEditBlocks($node): void |
52 | { | 54 | { |
55 | $viewFile = self::VIEWS_PATH . $node->getName() . '.php'; // mode modification uniquement | ||
56 | |||
53 | // blocs disponibles | 57 | // blocs disponibles |
54 | $blocs = ['Blog', 'Grille', 'Calendrier', 'Galerie']; // générer ça dynamiquement! | 58 | $blocs = ['Blog', 'Grille', 'Calendrier', 'Galerie']; // générer ça dynamiquement! |
55 | $blocs_true_names = ['blog', 'grid', 'calendar', 'galery']; | 59 | $blocs_true_names = ['blog', 'grid', 'calendar', 'galery']; |
@@ -68,41 +72,36 @@ class MainBuilder extends AbstractBuilder | |||
68 | </div> | 72 | </div> |
69 | </aside>' . "\n";*/ | 73 | </aside>' . "\n";*/ |
70 | 74 | ||
71 | // création d'un bloc | 75 | //$page_id = Director::$page_path->getLast()->getId(); |
72 | $this->html .= '<div class="edit_bloc_zone"> | 76 | $head_node = null; |
73 | <div class="new_bloc"> | 77 | foreach(ViewBuilder::$root_node->getChildren() as $first_level_node){ |
74 | <p>Ajouter un bloc de page</p> | 78 | if($first_level_node->getName() === 'head'){ |
75 | <form method="post" action="' . new URL(['page' => CURRENT_PAGE]) . '"> | 79 | $head_node = $first_level_node; // normallement c'est le 1er enfant |
76 | <p><label for="bloc_title">Titre</label> | 80 | break; |
77 | <input type="text" id="bloc_title" name="bloc_title" required></p> | 81 | } |
78 | <p><label for="bloc_select">Type</label> | 82 | } |
79 | <select id="bloc_select" name="bloc_select" required>' | 83 | |
80 | . $options . | 84 | $bloc_edit = ''; |
81 | '</select> | ||
82 | <input type="hidden" name="bloc_title_hidden"> | ||
83 | <input type="submit" value="Valider"></p> | ||
84 | </form> | ||
85 | </div>' . "\n"; | ||
86 | $this->html .= '<div class="modify_bloc"> | ||
87 | <p>Modifier un bloc</p>'; | ||
88 | foreach($node->getChildren() as $child_node){ | 85 | foreach($node->getChildren() as $child_node){ |
89 | // renommage d'un bloc | 86 | // renommage d'un bloc |
90 | $this->html .= '<div id="bloc_edit_' . $child_node->getId() . '"> | 87 | $bloc_edit .= '<div id="bloc_edit_' . $child_node->getId() . '"> |
91 | <p><label for="bloc_rename_' . $child_node->getId() . '">Titre</label> | 88 | <p><label for="bloc_rename_' . $child_node->getId() . '">Titre</label> |
92 | <input type="text" id="bloc_rename_' . $child_node->getId() . '" name="bloc_rename_title" value="' . $child_node->getNodeData()->getdata()['title'] . '" required> | 89 | <input type="text" id="bloc_rename_' . $child_node->getId() . '" name="bloc_rename_title" value="' . $child_node->getNodeData()->getdata()['title'] . '" required> |
93 | <button onclick="renamePageBloc(' . $child_node->getId() . ')">Renommer</button>'. "\n"; | 90 | <button onclick="renamePageBloc(' . $child_node->getId() . ')">Renommer</button>'. "\n"; |
94 | // déplacement d'un bloc | 91 | // déplacement d'un bloc |
95 | $this->html .= '<img class="action_icon" onclick="switchBlocsPositions(' . $child_node->getId() . ', \'up\', \'' . CURRENT_PAGE . '\')" src="assets/arrow-up.svg"> | 92 | $bloc_edit .= '<img class="action_icon" onclick="switchBlocsPositions(' . $child_node->getId() . ', \'up\', \'' . CURRENT_PAGE . '\')" src="assets/arrow-up.svg"> |
96 | <img class="action_icon" onclick="switchBlocsPositions(' . $child_node->getId() . ', \'down\', \'' . CURRENT_PAGE . '\')" src="assets/arrow-down.svg">' . "\n"; | 93 | <img class="action_icon" onclick="switchBlocsPositions(' . $child_node->getId() . ', \'down\', \'' . CURRENT_PAGE . '\')" src="assets/arrow-down.svg">' . "\n"; |
97 | // suppression d'un bloc | 94 | // suppression d'un bloc |
98 | $this->html .= '<form method="post" action="' . new URL(['page' => CURRENT_PAGE]) . '"> | 95 | $bloc_edit .= '<form method="post" action="' . new URL(['page' => CURRENT_PAGE]) . '"> |
99 | <input type="hidden" name="delete_bloc_id" value="' . $child_node->getId() . '"> | 96 | <input type="hidden" name="delete_bloc_id" value="' . $child_node->getId() . '"> |
100 | <input type="hidden" name="delete_bloc_hidden"> | 97 | <input type="hidden" name="delete_bloc_hidden"> |
101 | <input type="submit" value="Supprimer"></p> | 98 | <input type="submit" value="Supprimer"></p> |
102 | </form> | 99 | </form> |
103 | </div>'. "\n"; | 100 | </div>'. "\n"; |
104 | } | 101 | } |
105 | $this->html .= "</div> | 102 | |
106 | </div>\n"; | 103 | ob_start(); |
104 | require $viewFile; | ||
105 | $this->html .= ob_get_clean(); | ||
107 | } | 106 | } |
108 | } | 107 | } \ No newline at end of file |