![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/vendor/knplabs/knp-menu/src/Knp/Menu/Renderer/ |
<?php namespace Knp\Menu\Renderer; use Knp\Menu\ItemInterface; use Knp\Menu\Matcher\MatcherInterface; use Twig\Environment; class TwigRenderer implements RendererInterface { /** * @param array<string, mixed> $defaultOptions */ public function __construct( private Environment $environment, string $template, private MatcherInterface $matcher, private array $defaultOptions = [] ) { $this->defaultOptions = \array_merge([ 'depth' => null, 'matchingDepth' => null, 'currentAsLink' => true, 'currentClass' => 'current', 'ancestorClass' => 'current_ancestor', 'firstClass' => 'first', 'lastClass' => 'last', 'template' => $template, 'compressed' => false, 'allow_safe_labels' => false, 'clear_matcher' => true, 'leaf_class' => null, 'branch_class' => null, ], $defaultOptions); } public function render(ItemInterface $item, array $options = []): string { $options = \array_merge($this->defaultOptions, $options); $html = $this->environment->render($options['template'], ['item' => $item, 'options' => $options, 'matcher' => $this->matcher]); if ($options['clear_matcher']) { $this->matcher->clear(); } return $html; } }