Newer
Older
<?php
namespace NL\NlMenubuilder\ViewHelpers\Menu\Controller;
use NL\NlMenubuilder\Domain\Model\Menu;
use NL\NlMenubuilder\Domain\Repository\MenuRepository;
use NL\NlMenubuilder\Service\MenuSecurityService;
use TYPO3\CMS\Fluid\Core\Widget\AbstractWidgetController;
class RenderController extends AbstractWidgetController
{
/**
* @var MenuRepository
*/
protected $menuRepository;
/**
* @var MenuSecurityService
*/
protected $menuSecurityService;
/**
* Inject menu repository
*
* @param MenuRepository $repository
*/
public function injectMenuRepository(MenuRepository $repository): void
{
$this->menuRepository = $repository;
}
/**
* @param MenuSecurityService $service
*/
public function injectMenuSecurityService(MenuSecurityService $service): void
{
$this->menuSecurityService = $service;
}
/**
* @return string
*/
public function indexAction(): string
{
/** @var Menu $menu */
$menu = $this->menuRepository->findByIdentifier($this->widgetConfiguration['uid']);
if (!is_null($menu) && !$this->widgetConfiguration['disableSecurityCheck']) {
$this->menuSecurityService->applySecurityCheck($menu);
}
$this->view->assign('menu', $menu);
return $this->view->render($menu ? $menu->getTemplate() : Menu::DEFAULT_TEMPLATE);
}
}