public function inAction() { if (!$this->getRequest()->isPost()) { // just show the login form return array(); } $username = $this->params()->fromPost('username'); $password = $this->params()->fromPost('password'); $auth = $this->serviceLocator->get('auth'); $authAdapter = $auth->getAdapter(); // below we pass the username and the password to the authentication adapter for verification $authAdapter->setIdentity($username); $authAdapter->setCredential($password); // here we do the actual verification $result = $auth->authenticate(); $isValid = $result->isValid(); if ($isValid) { // upon successful validation the getIdentity method returns // the user entity for the provided credentials $user = $result->getIdentity(); // @todo: upon successful validation store additional information about him in the auth storage $this->flashmessenger()->addSuccessMessage(sprintf('Welcome %s. You are now logged in.', $user->getName())); return $this->redirect()->toRoute('user/default', array('controller' => 'account', 'action' => 'me')); } else { $event = new EventManager('user'); $event->trigger('log-fail', $this, array('username' => $username)); return array('errors' => $result->getMessages()); } }
protected function trigger($event, $values, $nameForReturnValue) { if (!$this->eventManager) { return; } $this->eventManager->trigger($event, $this, array($nameForReturnValue => $values)); }
/** * @return EventManagerInterface */ private function createPrivateEventManager($eventClazz) { $events = new EventManager(); $events->setIdentifiers(array('ZfcUserAdmin', $eventClazz)); $events->setEventClass($eventClazz); return $events; }
protected function trigger(EntityInterface $entity) { if (!$this->eventManager) { return; } $this->eventManager->trigger('create:post', $this, compact('entity')); }
public function setUp() { // Store original autoloaders $this->loaders = spl_autoload_functions(); if (!is_array($this->loaders)) { // spl_autoload_functions does not return empty array when no // autoloaders registered... $this->loaders = array(); } // Store original include_path $this->includePath = get_include_path(); $autoloader = new ModuleAutoloader(array(dirname(__DIR__) . '/TestAsset')); $autoloader->register(); $this->sharedEvents = new SharedEventManager(); $this->moduleManager = new ModuleManager(array('ListenerTestModule')); $this->moduleManager->getEventManager()->setSharedManager($this->sharedEvents); $this->moduleManager->getEventManager()->attach('loadModule.resolve', new ModuleResolverListener(), 1000); $this->application = new MockApplication(); $events = new EventManager(array('Zend\\Mvc\\Application', 'ZendTest\\Module\\TestAsset\\MockApplication', 'application')); $events->setSharedManager($this->sharedEvents); $this->application->setEventManager($events); $this->serviceManager = new ServiceManager(); $this->serviceManager->setService('ModuleManager', $this->moduleManager); $this->application->setServiceManager($this->serviceManager); }
public function addAction() { // The annotation builder help us create a form from the annotations in the user entity. $builder = new AnnotationBuilder(); $entity = $this->serviceLocator->get('user-entity'); $form = $builder->createForm($entity); $form->add(array('name' => 'password_verify', 'type' => 'Zend\\Form\\Element\\Password', 'attributes' => array('placeholder' => 'Verify Password Here...', 'required' => 'required'), 'options' => array('label' => 'Verify Password')), array('priority' => $form->get('password')->getOption('priority'))); // This is the special code that protects our form being submitted from automated scripts $form->add(array('name' => 'csrf', 'type' => 'Zend\\Form\\Element\\Csrf')); // This is the submit button $form->add(array('name' => 'submit', 'type' => 'Zend\\Form\\Element\\Submit', 'attributes' => array('value' => 'Submit', 'required' => 'false'))); // We bind the entity to the user. If the form tries to read/write data from/to the entity // it will use the hydrator specified in the entity to achieve this. In our case we use ClassMethods // hydrator which means that reading will happen calling the getter methods and writing will happen by // calling the setter methods. $form->bind($entity); if ($this->getRequest()->isPost()) { $data = array_merge_recursive($this->getRequest()->getPost()->toArray(), $this->getRequest()->getFiles()->toArray()); $form->setData($data); if ($form->isValid()) { // We use now the Doctrine 2 entity manager to save user data to the database $entityManager = $this->serviceLocator->get('entity-manager'); $entityManager->persist($entity); $entityManager->flush(); $this->flashmessenger()->addSuccessMessage('User was added successfully.'); $event = new EventManager('user'); $event->trigger('register', $this, array('user' => $entity)); // redirect the user to the view user action return $this->redirect()->toRoute('user/default', array('controller' => 'account', 'action' => 'view', 'id' => $entity->getId())); } } // pass the data to the view for visualization return array('form1' => $form); }
private function getEventManager() { if (!$this->eventManager) { $this->eventManager = new EventManager(); $this->eventManager->setIdentifiers(get_class($this)); } return $this->eventManager; }
/** * @param \Zend\EventManager\EventManager $eventManager * @param \Zend\Form\FormInterface $form * @param \ArrayAccess $spec */ public function it_should_trigger_events_during_form_configuration($eventManager, $form, $spec) { $this->configureForm($form, $spec); $triggeredEvents = array(FormEvent::EVENT_CONFIGURE_ELEMENT_PRE, FormEvent::EVENT_CONFIGURE_ELEMENT_POST); $eventManager->trigger(Argument::that(function ($event) use($form, $spec, $triggeredEvents) { return $event instanceof FormEvent && in_array($event->getName(), $triggeredEvents) && $event->getTarget() == $form->getWrappedObject() && $event->getParam('spec') == $spec->getWrappedObject(); }))->shouldBeCalledTimes(count($triggeredEvents)); }
/** * 测试能正常注册身份验证过程中的事件监听器。 */ public function testEventManagerHasDefaultListeners() { $eventManager = new EventManager(); $eventManager->attach($this->stub); $this->assertFalse($eventManager->getListeners(Event::EVENT_VERIFY_POST)->isEmpty()); $this->assertFalse($eventManager->getListeners(Event::EVENT_TOKEN_POST)->isEmpty()); $this->assertFalse($eventManager->getListeners(Event::EVENT_FAILURE)->isEmpty()); }
public function testCanDetachListenersFromEventManager() { $events = new EventManager(); $events->attachAggregate($this->strategy); $this->assertEquals(1, count($events->getListeners(MvcEvent::EVENT_RENDER))); $events->detachAggregate($this->strategy); $this->assertEquals(0, count($events->getListeners(MvcEvent::EVENT_RENDER))); }
public function send($to, $templateName, array $data = []) { $template = $this->templateBuilder->get($templateName); $message = $this->mailAssembler->assemble($to, $template, $data); $this->mailTransport->send($message); $event = new Event('mail-send:post', $this, ['to' => $to, 'template' => $template, 'message' => $message, 'data' => $data]); $this->eventManager->trigger($event); }
public function testAttach() { $eventManager = new EventManager(); $eventManager->getSharedManager()->clearListeners('ConLayout\\Updater\\LayoutUpdater'); $this->listener->attach($eventManager); $listeners = $eventManager->getSharedManager()->getListeners('ConLayout\\Updater\\LayoutUpdater', 'getLayoutStructure.pre'); $this->assertCount(1, $listeners); }
/** * Create an instance of EventManagerProxy * * @param ServiceLocatorInterface $serviceLocator * * @return EventManagerProxy */ public function createService(ServiceLocatorInterface $serviceLocator) { $proxy = new EventManagerProxy(); $em = new EventManager(); $em->setSharedManager($serviceLocator->get('SharedEventManager')); $proxy->setEventManager($em); return $proxy; }
/** * {@inheritDoc} */ public function createService(ServiceLocatorInterface $serviceLocator) { /* @var $logger \OcraServiceManager\ServiceManager\Logger */ $logger = $serviceLocator->get('OcraServiceManager\\ServiceManager\\Logger'); $eventManager = new EventManager(); $eventManager->attach($logger); return $eventManager; }
public function testAttach() { $sharedEvents = new SharedEventManager(); $events = new EventManager(); $events->setSharedManager($sharedEvents); $listener = new AccessListener(); $listener->attach($events); $this->assertCount(1, $sharedEvents->getListeners('SporkTools', MvcEvent::EVENT_DISPATCH)); }
public function testAttach() { $em = new EventManager(); $this->assertEmpty($em->getListeners(ViewEvent::EVENT_RENDERER)); $this->assertEmpty($em->getListeners(ViewEvent::EVENT_RESPONSE)); $this->strategy->attach($em); $this->assertCount(1, $em->getListeners(ViewEvent::EVENT_RENDERER)); $this->assertCount(1, $em->getListeners(ViewEvent::EVENT_RESPONSE)); }
/** * @param \Zend\EventManager\EventManager $eventManager */ public function it_should_trigger_events_while_creating_form($eventManager) { $this->mockConfiguration(); $this->createForm('stdClass'); $eventManager->trigger(Argument::that(function ($event) { $validEvents = array(FormEvent::EVENT_FORM_CREATE_PRE, FormEvent::EVENT_FORM_CREATE_POST); return $event instanceof FormEvent && in_array($event->getName(), $validEvents); }))->shouldBeCalledTimes(2); }
public function setUp() { $resourceFactory = new UserRolesResourceFactory(); /** @var \Zfegg\Admin\V1\Rest\UserRoles\UserRolesResource $resources */ $resources = $resourceFactory($this->getServices()); $events = new EventManager(); $this->listener = $resources; $events->attach($this->listener); }
public function testDetachesListeners() { $events = new EventManager(); $events->attachAggregate($this->listener); $listeners = $events->getListeners('dispatch'); $this->assertEquals(1, count($listeners)); $events->detachAggregate($this->listener); $listeners = $events->getListeners('dispatch'); $this->assertEquals(0, count($listeners)); }
public function createServiceWithName(ServiceLocatorInterface $serviceManager, $name, $requestedName) { $eventManager = new ZendEventManager(); $entityEventManager = new EntityEventManager($eventManager); $entityParams = explode('\\', $requestedName); if (isset($entityParams[0])) { $eventManager->setIdentifiers($entityParams[0]); } return $entityEventManager; }
public function testDetachesListeners() { $events = new EventManager(); $events->attachAggregate($this->listener); $listeners = $events->getListeners(MvcEvent::EVENT_DISPATCH); $this->assertEquals(2, count($listeners)); $events->detachAggregate($this->listener); $listeners = $events->getListeners(MvcEvent::EVENT_DISPATCH); $this->assertEquals(0, count($listeners)); }
public function testAttach() { $eventManager = new EventManager(); $listener = new BodyClassListener(new BodyClass()); $before = $eventManager->getListeners(\Zend\Mvc\MvcEvent::EVENT_DISPATCH); $this->assertCount(0, $before); $eventManager->attach($listener); $after = $eventManager->getListeners(\Zend\Mvc\MvcEvent::EVENT_DISPATCH); $this->assertCount(1, $after); }
public function setUp() { $this->module = new Module(); $this->app = $this->getMockBuilder('Zend\\Mvc\\Application')->disableOriginalConstructor()->getMock(); $sm = new ServiceManager(new Config(['services' => ['translator' => Translator::factory(['locale' => 'id_ID'])]])); $this->app->expects($this->any())->method('getServiceManager')->willReturn($sm); $em = new EventManager(); $em->setSharedManager(new SharedEventManager()); $this->app->expects($this->any())->method('getEventManager')->willReturn($em); }
/** * Test if firewall is on */ public function testFirewallOn() { self::setUpFirewallOn(); $spyListener = new SpyingFirewallListener(); $spyListener->setServiceLocator($this->getServiceManager()); $eventManager = new EventManager(); $eventManager->attach($spyListener); $eventManager->trigger(FirewallEvent::EVENT_FIREWALL_DISPATCH); $this->assertTrue($spyListener->isFirewallEnabled()); }
public function marshalEventManager() { $r = new ReflectionClass(EventManager::class); if ($r->hasMethod('setSharedManager')) { $eventManager = new EventManager(); $eventManager->setSharedManager(new SharedEventManager()); return $eventManager; } return new EventManager(new SharedEventManager()); }
/** * Create an EventManager instance * * Creates a new EventManager instance, seeding it with a shared instance * of SharedEventManager. * * @param ServiceLocatorInterface $serviceLocator * @return EventManager */ public function createService(ServiceLocatorInterface $serviceLocator) { static $sharedEventManager = null; if (!$sharedEventManager) { $sharedEventManager = new SharedEventManager(); } $em = new EventManager(); $em->setSharedManager($sharedEventManager); return $em; }
/** * * @param ClassScanner[] $classes */ public function parse($classes) { $config = array(); foreach ($classes as $class) { $classAnnotationHolder = $this->parseClass($class); $event = new ParseEvent(ParseEvent::EVENT_CLASS_PARSED, $classAnnotationHolder, array('config' => $this->config)); $this->eventManager->trigger($event); $config = ArrayUtils::merge($config, $event->getResult()); } return $config; }
public function setUp() { $this->module = new Module(); $app = $this->prophesize('Zend\\Mvc\\Application'); $sm = new ServiceManager(new Config(['services' => ['translator' => Translator::factory(['locale' => 'id_ID'])]])); $app->getServiceManager()->willReturn($sm); $em = new EventManager(); $em->setSharedManager(new SharedEventManager()); $app->getEventManager()->willReturn($em); $this->app = $app->reveal(); }
public function testCanAttachListeners() { $mockListener = $this->getMock('EventLogger\\Log\\Listener\\LogListener'); $serviceManager = new ServiceManager(); $serviceManager->setService('EventLogger\\Log\\Listener\\AppListener', $mockListener); $serviceManager->setService('EventLogger\\Log\\Listener\\DispatchErrorListener', $mockListener); $eventManager = new EventManager(); $eventManager->setSharedManager(new SharedEventManager()); $listenerAggregate = new ListenerAggregate($serviceManager); $listenerAggregate->attach($eventManager); }
public function testAttachesToRouteEventAtNegativePriority() { $events = new EventManager(); $events->attach($this->listener); $listeners = $events->getListeners('route'); $this->assertEquals(1, count($listeners)); $this->assertTrue($listeners->hasPriority(-41)); $callback = $listeners->getIterator()->current()->getCallback(); $test = array_shift($callback); $this->assertSame($this->listener, $test); }