src/EventSubscriber/NavbarUserSubscriber.php line 62

Open in your IDE?
  1. <?php
  2. // src/EventSubscriber/NavbarUserSubscriber.php
  3. namespace App\EventSubscriber;
  4. use App\Entity\User;
  5. use App\Entity\Ets;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use KevinPapst\AdminLTEBundle\Event\ShowUserEvent;
  8. use KevinPapst\AdminLTEBundle\Event\NavbarUserEvent;
  9. use KevinPapst\AdminLTEBundle\Event\SidebarUserEvent;
  10. use KevinPapst\AdminLTEBundle\Model\UserModel;
  11. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  12. use Symfony\Component\Security\Core\Security;
  13. use \Liip\ImagineBundle\Imagine\Cache\CacheManager;
  14. class NavbarUserSubscriber implements EventSubscriberInterface
  15. {
  16.     protected $security;
  17.     private $em;
  18.     private $imagineCacheManager;
  19.     public function __construct(Security $security,EntityManagerInterface $em,CacheManager $imagineCacheManager)
  20.     {
  21.         $this->security $security;
  22.         $this->em $em;
  23.         $this->imagineCacheManager $imagineCacheManager;
  24.     }
  25.     public static function getSubscribedEvents(): array
  26.     {
  27.         return [
  28.             NavbarUserEvent::class => ['onShowUser'100],
  29.             SidebarUserEvent::class => ['onShowUser'100],
  30.         ];
  31.     }
  32.     public function onShowUser(ShowUserEvent $event)
  33.     {
  34.         if (null === $this->security->getUser()) {
  35.             return;
  36.         }
  37.         /* @var $myUser User */
  38.         $myUser $this->security->getUser();
  39.         $entityManager $this->em;
  40.         $Etsd $entityManager->getRepository(Ets::class)->findByidd([$myUser->getEtsid()]);
  41.         $EtsAvatar '';
  42.         if (!empty($Etsd['AvatarFilename']))
  43.         {
  44.             $EtsAvatar $this->imagineCacheManager->getBrowserPath('/uploads/'.$Etsd['AvatarFilename'], 'my_thumb');
  45.         }
  46.        // dd($EtsAvatar);
  47.         $user = new UserModel();
  48.         //Add by me
  49.         //Convert UpdatedAt from
  50.         $dateTime = new\ DateTime();
  51.         $getUpdatedAt $dateTime->setTimestamp($myUser->getUpdatedAt()->getTimestamp());
  52.         $user
  53.             ->setId($myUser->getId())
  54.             ->setName($myUser->getEmail())
  55.             ->setIsOnline(false)
  56.             ->setAvatar('')
  57.             ->setAvatarEts($EtsAvatar)
  58.             ->setEtsName($Etsd['EtsName'])
  59.             ->setMemberSince($getUpdatedAt);
  60.         $event->setUser($user);
  61.     }
  62. }