|
- <?php
-
- namespace Lc\SovBundle\Twig;
-
- use Lc\SovBundle\Model\Site\SiteInterface;
- use Lc\SovBundle\Repository\Reminder\ReminderStoreInterface;
- use Lc\SovBundle\Solver\Setting\SettingSolver;
- use Symfony\Component\Security\Core\Security;
- use Twig\Extension\AbstractExtension;
- use Twig\TwigFunction;
-
- class StoreTwigExtension extends AbstractExtension
- {
- protected Security $security;
- protected ReminderStoreInterface $reminderStore;
- protected SettingSolver $settingSolver;
-
- public function __construct(
- Security $security,
- ReminderStoreInterface $reminderStore,
- SettingSolver $settingSolver
- ) {
- $this->security = $security;
- $this->reminderStore = $reminderStore;
- $this->settingSolver = $settingSolver;
- }
-
- public function getFunctions()
- {
- return [
- new TwigFunction('sov_reminders', [$this, 'getReminders']),
- new TwigFunction('site_setting', [$this, 'getSiteSetting']),
-
- ];
- }
-
- public function getFilters()
- {
- return [];
- }
-
- public function getSiteSetting(SiteInterface $site, string $settingName): ?string
- {
- return $this->settingSolver->getSettingValue($site, $settingName);
- }
-
- public function getReminders($params)
- {
- return $this->reminderStore->get($params);
- }
-
- }
|