summaryrefslogtreecommitdiff
path: root/src/view/MenuBuilder.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/view/MenuBuilder.php')
-rw-r--r--src/view/MenuBuilder.php25
1 files changed, 20 insertions, 5 deletions
diff --git a/src/view/MenuBuilder.php b/src/view/MenuBuilder.php
index 42c9273..5331c08 100644
--- a/src/view/MenuBuilder.php
+++ b/src/view/MenuBuilder.php
@@ -9,6 +9,7 @@ use App\Entity\Page;
9class MenuBuilder extends AbstractBuilder 9class MenuBuilder extends AbstractBuilder
10{ 10{
11 //private int $margin_left_multiplier = 29; 11 //private int $margin_left_multiplier = 29;
12 private string $options = '';
12 13
13 public function __construct(Node $node = null, bool $template = true) 14 public function __construct(Node $node = null, bool $template = true)
14 { 15 {
@@ -23,7 +24,11 @@ class MenuBuilder extends AbstractBuilder
23 }*/ 24 }*/
24 25
25 if($_SESSION['admin']){ 26 if($_SESSION['admin']){
26 $this->unfoldMenu(Director::$menu_data/*, 0 - $this->margin_left_multiplier*/); 27 $this->unfoldMenu(Director::$menu_data);
28
29 if($template){
30 $this->unfoldOptions(Director::$menu_data);
31 }
27 } 32 }
28 else{ 33 else{
29 header('Location: ' . new URL); 34 header('Location: ' . new URL);
@@ -39,11 +44,11 @@ class MenuBuilder extends AbstractBuilder
39 } 44 }
40 } 45 }
41 46
42 private function unfoldMenu(Page $menu): void 47 private function unfoldMenu(Page $page): void
43 { 48 {
44 $this->html .= '<div class="level">' . "\n"; 49 $this->html .= '<div class="level">' . "\n";
45 50
46 foreach($menu->getChildren() as $entry) 51 foreach($page->getChildren() as $entry)
47 { 52 {
48 $checked = $entry->isHidden() ? '' : 'checked'; 53 $checked = $entry->isHidden() ? '' : 'checked';
49 $this->html .= '<div id="' . $entry->getId() . '" class="menu_edit_entry"> 54 $this->html .= '<div id="' . $entry->getId() . '" class="menu_edit_entry">
@@ -57,9 +62,9 @@ class MenuBuilder extends AbstractBuilder
57 <button>' . $entry->getPageName() . '</button>'; 62 <button>' . $entry->getPageName() . '</button>';
58 63
59 if(str_starts_with($entry->getEndOfPath(), 'http')){ 64 if(str_starts_with($entry->getEndOfPath(), 'http')){
60 $this->html .= '<span id="edit-i..."><img class="move_entry_icon" src="assets/edit.svg" onclick="openEditor(\'i...\')"></span> 65 $this->html .= '<span id="edit-i..."><img class="move_entry_icon" src="assets/edit.svg" onclick="editUrlEntry(' . $entry->getId() . ')"></span>
61 <i class="url">' . $entry->getEndOfPath() . '</i> 66 <i class="url">' . $entry->getEndOfPath() . '</i>
62 <span id="delete-i..."><img class="move_entry_icon" src="assets/delete-bin.svg" onclick="delete(\'i...\')"></span>'; 67 <span id="delete-i..."><img class="move_entry_icon" src="assets/delete-bin.svg" onclick="deleteUrlEntry(' . $entry->getId() . ')"></span>';
63 } 68 }
64 else{ 69 else{
65 $this->html .= '<i class="path">' . $entry->getPagePath() . '</i>'; 70 $this->html .= '<i class="path">' . $entry->getPagePath() . '</i>';
@@ -72,4 +77,14 @@ class MenuBuilder extends AbstractBuilder
72 } 77 }
73 $this->html .= "</div>\n"; 78 $this->html .= "</div>\n";
74 } 79 }
80
81 private function unfoldOptions(Page $page): void
82 {
83 foreach($page->getChildren() as $entry){
84 $this->options .= '<option value="' . $entry->getId() . '">' . $entry->getPageName() . "</options>\n";
85 if(count($entry->getChildren()) > 0){
86 $this->unfoldOptions($entry);
87 }
88 }
89 }
75} \ No newline at end of file 90} \ No newline at end of file