<?php
/*****************************************************************************
 * AdminMenu.php
 * Contains the admin navigation logic.
 *
 * Kabuki CMS (C) 2013-2023, Aaron van Geffen
 *****************************************************************************/

class AdminMenu extends Menu
{
	public function __construct()
	{
		$user = Registry::has('user') ? Registry::get('user') : new Guest();
		if (!$user->isAdmin())
			return;

		$this->items[0] = [
			'label' => 'Admin',
			'icon' => 'gear',
			'badge' => ErrorLog::getCount(),
			'subs' => [
				[
					'uri' => '/managealbums/',
					'label' => 'Albums',
				],
				[
					'uri' => '/manageassets/',
					'label' => 'Assets',
				],
				[
					'uri' => '/managetags/',
					'label' => 'Tags',
				],
				[
					'uri' => '/manageusers/',
					'label' => 'Users',
				],
				[
					'uri' => '/manageerrors/',
					'label' => 'Errors',
					'badge' => ErrorLog::getCount(),
				],
			],
		];

		if ($this->items[0]['badge'] == 0)
			unset($this->items[0]['badge']);

		foreach ($this->items as $i => $item)
		{
			if (isset($item['uri']))
				$this->items[$i]['url'] = BASEURL . $item['uri'];

			if (!isset($item['subs']))
				continue;

			foreach ($item['subs'] as $j => $subitem)
				$this->items[$i]['subs'][$j]['url'] = BASEURL . $subitem['uri'];
		}
	}
}