Файл: concrete5.7.5.6/concrete/src/Application/Service/UserInterface/Menu.php
Строк: 80
<?php
namespace ConcreteCoreApplicationServiceUserInterface;
use ConcreteCoreApplicationUserInterfaceMenuItemItem;
use ConcreteCoreApplicationUserInterfaceMenuItemItemInterface;
class Menu
{
/**
* @var ItemInterface[]
*/
protected $pageHeaderMenuItems = array();
/**
* @param string $menuItemControllerHandle
* @param bool $pkgHandle
* @param array $options
* @return Item
*/
public function addPageHeaderMenuItem(
$menuItemControllerHandle,
$pkgHandle = false,
$options = array()
) {
$defaults = array(
'icon' => 'share',
'label' => false,
'position' => 'right',
'href' => false,
'linkAttributes' => array()
);
$options = array_merge($defaults, $options);
$obj = new Item($menuItemControllerHandle, $pkgHandle);
$obj->setLabel($options['label']);
$obj->setPosition($options['position']);
$obj->setIcon($options['icon']);
if ($options['href']) {
$obj->setLink($options['href']);
}
$obj->setLinkAttributes($options['linkAttributes']);
$this->addMenuItem($obj);
return $obj;
}
/**
* @param ItemInterface $item
*/
public function addMenuItem(ItemInterface $item)
{
$this->pageHeaderMenuItems[] = $item;
}
/**
* Returns current menu items
*
* @param bool $position
* @return ItemInterface[]
*/
public function getPageHeaderMenuItems($position = false)
{
if ($position) {
$tmpItems = array();
foreach ($this->pageHeaderMenuItems as $mi) {
if ($mi->getPosition() == $position) {
$tmpItems[] = $mi;
}
}
return $tmpItems;
} else {
return $this->pageHeaderMenuItems;
}
}
}