src/EventSubscriber/NavbarUserSubscriber.php line 59

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