src/EventSubscriber/Core/LayoutSubscriber.php line 33

Open in your IDE?
  1. <?php
  2. /*
  3.  * @since 1.0.0
  4.  * @copyright Copyright (C) 2020 ArtMedia. All rights reserved.
  5.  * @website http://artmedia.biz.pl
  6.  * @author Arkadiusz Tobiasz
  7.  * @email kontakt@artmedia.biz.pl
  8.  */
  9. namespace App\EventSubscriber\Core;
  10. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  11. use App\Events\Core\RouteAddEvent;
  12. use Symfony\Contracts\Translation\TranslatorInterface;
  13. class LayoutSubscriber implements EventSubscriberInterface
  14. {
  15.     private $translator;
  16.     public function __construct(
  17.         TranslatorInterface $translator
  18.     ) {
  19.         $this->translator $translator;
  20.     }
  21.     public static function getSubscribedEvents(): array
  22.     {
  23.         return [
  24.             RouteAddEvent::NAME => 'onRouteAddEvent',
  25.         ];
  26.     }
  27.     public function onRouteAddEvent(RouteAddEvent $event): void
  28.     {
  29.         $routes = [
  30.             'login' => $this->translator->trans('Login Page', [], 'admin'),
  31.             'app_register' => $this->translator->trans('Register Page', [], 'admin'),
  32.             'app_forgot_password_request' => $this->translator->trans('Forgot password Page', [], 'admin'),
  33.             'user_edit' => $this->translator->trans('Edit user account Page', [], 'admin'),
  34.             'user_change_password' => $this->translator->trans('Change password Page', [], 'admin'),
  35.             'contact' => $this->translator->trans('Contact Page', [], 'admin'),
  36.             'app_logout' => $this->translator->trans('Logout Page', [], 'admin'),
  37.             'user_preferences' => $this->translator->trans('User Preferences Page', [], 'admin'),
  38.             'profile_index' => $this->translator->trans('My Profiles Page', [], 'admin'),
  39.             'report_bug' => $this->translator->trans('Report Bug Page', [], 'admin'),
  40.             'transaction_topup' => $this->translator->trans('Top up Balance Page', [], 'admin'),
  41.             'travels_add' => $this->translator->trans('Add travel notice', [], 'admin'),
  42.             'user_notifications' => $this->translator->trans('Email notification preferences', [], 'admin'),
  43.         ];
  44.         foreach ($routes as $route => $label) {
  45.             $event->addRoute($route$label);
  46.         }
  47.     }
  48. }