Commit | Line | Data |
---|---|---|
e7fb3339 MW |
1 | <?php |
2 | namespace wcf\acp\page; | |
3 | use wcf\data\menu\item\MenuItemNodeTree; | |
4 | use wcf\data\menu\Menu; | |
5 | use wcf\page\AbstractPage; | |
6 | use wcf\system\exception\IllegalLinkException; | |
7 | use wcf\system\WCF; | |
8 | ||
9 | /** | |
10 | * Shows a list of menu items. | |
11 | * | |
12 | * @author Marcel Werk | |
c839bd49 | 13 | * @copyright 2001-2018 WoltLab GmbH |
e7fb3339 | 14 | * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php> |
e71525e4 MW |
15 | * @package WoltLabSuite\Core\Acp\Page |
16 | * @since 3.0 | |
e7fb3339 MW |
17 | */ |
18 | class MenuItemListPage extends AbstractPage { | |
19 | /** | |
0fcfe5f6 | 20 | * @inheritDoc |
e7fb3339 MW |
21 | */ |
22 | public $activeMenuItem = 'wcf.acp.menu.link.cms.menu.list'; | |
23 | ||
24 | /** | |
0fcfe5f6 | 25 | * @inheritDoc |
e7fb3339 | 26 | */ |
058cbd6a | 27 | public $neededPermissions = ['admin.content.cms.canManageMenu']; |
e7fb3339 | 28 | |
e7fb3339 MW |
29 | /** |
30 | * menu item node tree | |
592454d4 | 31 | * @var MenuItemNodeTree |
e7fb3339 MW |
32 | */ |
33 | public $menuItems = null; | |
592454d4 | 34 | |
e7fb3339 MW |
35 | /** |
36 | * menu id | |
37 | * @var integer | |
38 | */ | |
39 | public $menuID = 0; | |
40 | ||
41 | /** | |
42 | * menu object | |
592454d4 | 43 | * @var Menu |
e7fb3339 MW |
44 | */ |
45 | public $menu = null; | |
46 | ||
47 | /** | |
0fcfe5f6 | 48 | * @inheritDoc |
e7fb3339 MW |
49 | */ |
50 | public function readParameters() { | |
51 | parent::readParameters(); | |
52 | ||
53 | if (isset($_REQUEST['id'])) $this->menuID = intval($_REQUEST['id']); | |
54 | $this->menu = new Menu($this->menuID); | |
55 | if (!$this->menu->menuID) { | |
56 | throw new IllegalLinkException(); | |
57 | } | |
58 | } | |
59 | ||
60 | /** | |
0fcfe5f6 | 61 | * @inheritDoc |
e7fb3339 MW |
62 | */ |
63 | public function readData() { | |
64 | parent::readData(); | |
65 | ||
2c947851 | 66 | $this->menuItems = new MenuItemNodeTree($this->menuID, null, false); |
e7fb3339 MW |
67 | } |
68 | ||
69 | /** | |
0fcfe5f6 | 70 | * @inheritDoc |
e7fb3339 MW |
71 | */ |
72 | public function assignVariables() { | |
73 | parent::assignVariables(); | |
74 | ||
058cbd6a | 75 | WCF::getTPL()->assign([ |
e7fb3339 MW |
76 | 'menuID' => $this->menuID, |
77 | 'menu' => $this->menu, | |
78 | 'menuItemNodeList' => $this->menuItems->getNodeList() | |
058cbd6a | 79 | ]); |
e7fb3339 MW |
80 | } |
81 | } |