src/EventSubscriber/NavbarUserSubscriber.php line 30

Open in your IDE?
  1. <?php
  2. // src/EventSubscriber/NavbarUserSubscriber.php
  3. namespace App\EventSubscriber;
  4. use App\Entity\User;
  5. use KevinPapst\AdminLTEBundle\Event\ShowUserEvent;
  6. use KevinPapst\AdminLTEBundle\Event\NavbarUserEvent;
  7. use KevinPapst\AdminLTEBundle\Event\SidebarUserEvent;
  8. use KevinPapst\AdminLTEBundle\Model\UserModel;
  9. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  10. use Symfony\Component\Security\Core\Security;
  11. class NavbarUserSubscriber implements EventSubscriberInterface
  12. {
  13.     protected $security;
  14.     public function __construct(Security $security)
  15.     {
  16.         $this->security $security;
  17.     }
  18.     public static function getSubscribedEvents(): array
  19.     {
  20.         return [
  21.             NavbarUserEvent::class => ['onShowUser'100],
  22.             SidebarUserEvent::class => ['onShowUser'100],
  23.         ];
  24.     }
  25.     public function onShowUser(ShowUserEvent $event)
  26.     {
  27.         if (null === $this->security->getUser()) {
  28.             return;
  29.         }
  30.         /* @var $myUser User */
  31.         $myUser $this->security->getUser();
  32.         $user = new UserModel();
  33.         $user
  34.             ->setId($myUser->getUserId())
  35.             ->setName($myUser->getFirstname()." ".$myUser->getLastName())
  36.             ->setUsername($myUser->getLastName())
  37.             ->setIsOnline(false)
  38.         ;
  39.         $event->setUser($user);
  40.     }
  41. }