public function testConstruct()
 {
     $kernelHandler = $this->getMock('ezpKernelHandler');
     $legacyKernel = $this->getMockBuilder('eZ\\Publish\\Core\\MVC\\Legacy\\Kernel')->setConstructorArgs(array($kernelHandler, 'foo', 'bar'))->getMock();
     $event = new PostBuildKernelEvent($legacyKernel, $kernelHandler);
     $this->assertSame($legacyKernel, $event->getLegacyKernel());
     $this->assertSame($kernelHandler, $event->getKernelHandler());
 }
Exemplo n.º 2
0
 /**
  * Performs actions related to security once the legacy kernel has been built.
  *
  * @param PostBuildKernelEvent $event
  */
 public function onKernelBuilt(PostBuildKernelEvent $event)
 {
     // Ignore if not in web context, if legacy_mode is active or if user is not authenticated
     if ($this->enabled === false || !$event->getKernelHandler() instanceof ezpWebBasedKernelHandler || $this->configResolver->getParameter('legacy_mode') === true || !$this->isUserAuthenticated()) {
         return;
     }
     $currentUser = $this->repository->getCurrentUser();
     $event->getLegacyKernel()->runCallback(function () use($currentUser) {
         $legacyUser = eZUser::fetch($currentUser->id);
         eZUser::setCurrentlyLoggedInUser($legacyUser, $legacyUser->attribute('contentobject_id'), eZUser::NO_SESSION_REGENERATE);
     }, false, false);
 }