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()); }
/** * 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); }