<?php
namespace App\Twig;
use App\Entity\Gos\PortalSettings;
use App\Entity\Gos\Uniqskills\FmCompanySettings;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\HttpFoundation\RequestStack;
use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;
class CatalogExtension extends AbstractExtension
{
private $em;
private $request;
public function __construct(EntityManagerInterface $em, RequestStack $requestStack)
{
$this->em = $em;
$this->request = $requestStack->getCurrentRequest();
}
public function getFunctions(): array
{
return array(
new TwigFunction('hideCatalog', [$this, 'hideCatalog'])
);
}
public function hideCatalog()
{
$portalSettingsId = $this->request->getSession()->get('domain', 0);
$portalSettings = $this->em->getRepository(PortalSettings::class)->find($portalSettingsId);
if (!is_null($portalSettings)
&& $portalSettings->getIsUniqskillsPortal()
&& !is_null($portalSettings->getFmCompanySettings()))
{
/** @var FmCompanySettings $fmCompanySettings */
$fmCompanySettings = $portalSettings->getFmCompanySettings();
return $fmCompanySettings->getHideCatalog();
}
return false;
}
}