1 | <?php |
||
16 | class menu extends \blitze\sitemaker\services\blocks\driver\block |
||
17 | { |
||
18 | /** @var \phpbb\cache\driver\driver_interface */ |
||
19 | protected $cache; |
||
20 | |||
21 | /** @var \phpbb\config\config */ |
||
22 | protected $config; |
||
23 | |||
24 | /** @var \phpbb\user */ |
||
25 | protected $user; |
||
26 | |||
27 | /** @var \blitze\sitemaker\model\mapper_factory */ |
||
28 | protected $mapper_factory; |
||
29 | |||
30 | /** @var \blitze\sitemaker\services\menus\display */ |
||
31 | protected $tree; |
||
32 | |||
33 | /** |
||
34 | * Constructor |
||
35 | * |
||
36 | * @param \phpbb\cache\driver\driver_interface $cache Cache driver interface |
||
37 | * @param \phpbb\config\config $config Config object |
||
38 | * @param \phpbb\template\template $user User object |
||
39 | * @param \blitze\sitemaker\model\mapper_factory $mapper_factory Mapper factory object |
||
40 | * @param \blitze\sitemaker\services\menus\display $tree Menu tree display object |
||
41 | */ |
||
42 | public function __construct(\phpbb\cache\driver\driver_interface $cache, \phpbb\config\config $config, \phpbb\user $user, \blitze\sitemaker\model\mapper_factory $mapper_factory, \blitze\sitemaker\services\menus\display $tree) |
||
50 | |||
51 | /** |
||
52 | * {@inheritdoc} |
||
53 | */ |
||
54 | public function get_config(array $settings) |
||
66 | |||
67 | /** |
||
68 | * {@inheritdoc} |
||
69 | */ |
||
70 | public function display(array $db_data, $editing = false) |
||
71 | { |
||
72 | $title = $this->user->lang('MENU'); |
||
73 | $menu_id = $db_data['settings']['menu_id']; |
||
74 | |||
75 | $data = $this->_get_menu($menu_id); |
||
76 | |||
77 | if (!sizeof($data)) |
||
78 | { |
||
79 | return array( |
||
80 | 'title' => $title, |
||
81 | 'content' => $this->_get_message($menu_id, $editing), |
||
82 | ); |
||
83 | } |
||
84 | |||
85 | $this->tree->set_params($db_data['settings']); |
||
86 | $this->tree->display_list($data, $this->ptemplate, 'tree'); |
||
87 | |||
88 | return array( |
||
89 | 'title' => $title, |
||
90 | 'content' => $this->ptemplate->render_view('blitze/sitemaker', 'blocks/menu.html', 'menu_block'), |
||
91 | ); |
||
92 | } |
||
93 | |||
94 | /** |
||
95 | * @param int $menu_id |
||
96 | * @return array |
||
97 | */ |
||
98 | private function _get_menu($menu_id) |
||
109 | |||
110 | /** |
||
111 | * @return array |
||
112 | */ |
||
113 | private function _get_all_menus() |
||
137 | |||
138 | /** |
||
139 | * @param int $menu_id |
||
140 | * @param bool $editing |
||
141 | * @return string |
||
142 | */ |
||
143 | private function _get_message($menu_id, $editing) |
||
153 | |||
154 | /** |
||
155 | * @param array $data |
||
156 | */ |
||
157 | private function _set_path_info(array &$data) |
||
164 | |||
165 | /** |
||
166 | * @return array |
||
167 | */ |
||
168 | protected function get_menu_options() |
||
180 | |||
181 | /** |
||
182 | * @return array |
||
183 | */ |
||
184 | protected function get_depth_options() |
||
194 | } |
||
195 |