public function setUp() { $eventManager = new EventManager(); $this->layoutUpdater = new LayoutUpdater(); $this->layoutUpdater->setEventManager($eventManager); $this->em = $eventManager; $this->em->getSharedManager()->clearListeners('ConLayout\\Updater\\LayoutUpdater'); $this->em->getSharedManager()->attach('ConLayout\\Updater\\LayoutUpdater', 'getLayoutStructure.pre', function (UpdateEvent $e) { $layoutStructure = $e->getLayoutStructure(); $layoutStructure->merge($this->getLayoutStructure()); }); $this->layout = new Layout(new BlockFactory(), $this->layoutUpdater); }
/** * {@inheritDoc} */ public function attach(EventManagerInterface $eventManager, $priority = 1) { $sharedManager = $eventManager->getSharedManager(); $sharedManager->attach(DispatchableInterface::class, MvcEvent::EVENT_DISPATCH, [$this, 'setTemplate'], -100); $this->listeners[] = $eventManager->attach(ViewEvent::EVENT_RENDERER, [$this, 'selectRenderer'], $priority); $this->listeners[] = $eventManager->attach(ViewEvent::EVENT_RESPONSE, [$this, 'injectResponse'], $priority); }
public function attach(EventManagerInterface $events) { $sharedEvents = $events->getSharedManager(); $this->listeners[] = $sharedEvents->attach($this->attachTo, array('find.pre', 'fetchObject.pre'), array($this, 'checkCache'), 500); $this->listeners[] = $sharedEvents->attach($this->attachTo, array('find.post', 'fetchObject.post'), array($this, 'storeInCache'), -500); $this->listeners[] = $sharedEvents->attach($this->attachTo, array('update.post', 'delete.post'), array($this, 'removeFromCache'), 500); }
/** * attach * * @param EventManagerInterface $events events * * @return void */ public function attach(EventManagerInterface $events) { $sharedEvents = $events->getSharedManager(); foreach ($this->listenerMethods as $method => $event) { $this->listeners[] = $sharedEvents->attach($this->id, $event, [$this, $method], $this->priority); } }
public function attach(EventManagerInterface $events) { $sharedManager = $events->getSharedManager(); $this->listeners[] = $sharedManager->attach('ZfcUser\\Form\\Register', 'init', array($this, 'onRegisterForm')); $this->listeners[] = $sharedManager->attach('ZfcUser\\Service\\User', 'register', array($this, 'onRegister')); $this->listeners[] = $sharedManager->attach('ZfcUser\\Service\\User', 'register.post', array($this, 'onRegisterPost')); }
/** * {@inheritDoc} */ public function attach(Events $events) { $sharedEvents = $events->getSharedManager(); // Detect request type and disable debug in case necessary $this->listeners[] = $events->attach(MvcEvent::EVENT_BOOTSTRAP, array($this, 'prepareRequestType'), 99999); // Prepare root ViewModel for MvcEvent // Must be triggered before ViewManager $this->listeners[] = $events->attach(MvcEvent::EVENT_BOOTSTRAP, array($this, 'prepareRootModel'), 20000); // Preload variables from system config for theme $this->listeners[] = $events->attach(MvcEvent::EVENT_ROUTE, array($this, 'initThemeAssemble'), 10000); // Register ob_* functions $this->listeners[] = $events->attach(MvcEvent::EVENT_ROUTE, array($this, 'prepareActionResult'), -99999); // Canonize ViewModel for action $sharedEvents->attach('PI_CONTROLLER', MvcEvent::EVENT_DISPATCH, array($this, 'canonizeActionResult'), -70); // Inject ViewModel, should be performed // prior to Zend\Mvc\View\Http\InjectTemplateListener::injectTemplate() // whose priority is -90 // and skip following error status: // NotFound handled by: // Zend\Mvc\View\Http\RouteNotFoundStrategy::prepareNotFoundViewModel() // whose priority is -90 // Error handled by: // Pi\Mvc\View\Http\ErrorStrategy::prepareErrorViewModel() // whose priority is --85 $sharedEvents->attach('PI_CONTROLLER', MvcEvent::EVENT_DISPATCH, array($this, 'injectTemplate'), -89); // Render head metas for theme $this->listeners[] = $events->attach(MvcEvent::EVENT_RENDER, array($this, 'renderThemeAssemble'), 10000); $this->listeners[] = $events->attach(MvcEvent::EVENT_RENDER_ERROR, array($this, 'renderThemeAssemble'), 10000); // Canonize ViewModel for error/exception $this->listeners[] = $events->attach(MvcEvent::EVENT_RENDER, array($this, 'canonizeErrorResult'), 10); // Canonize theme layout if necessary $this->listeners[] = $events->attach(MvcEvent::EVENT_RENDER, array($this, 'canonizeThemeLayout'), 5); // Complete meta assemble for theme $this->listeners[] = $events->attach(MvcEvent::EVENT_FINISH, array($this, 'completeThemeAssemble'), 10000); }
/** * Attach one or more listeners * * Implementors may add an optional $priority argument; the EventManager * implementation will pass this to the aggregate. * * @param EventManagerInterface $events * * @return void */ public function attach(EventManagerInterface $events) { $this->listeners[] = $events->attach(MvcEvent::EVENT_RENDER, array($this, 'onRender'), 1000); $this->listeners[] = $events->attach(MvcEvent::EVENT_DISPATCH_ERROR, array($this, 'onDispatchError'), 100); $sharedEvents = $events->getSharedManager(); $sharedEvents->attach('Zend\\Stdlib\\DispatchableInterface', MvcEvent::EVENT_DISPATCH, array($this, 'onDispatch'), 100); }
/** * {@inheritDoc} */ public function attach(EventManagerInterface $events) { $sharedEvents = $events->getSharedManager(); $sharedEvents->attach('PI_CONTROLLER', MvcEvent::EVENT_DISPATCH, array($this, 'prepareErrorViewModel'), -85); $this->listeners[] = $events->attach(MvcEvent::EVENT_DISPATCH, array($this, 'prepareErrorViewModel'), -85); $this->listeners[] = $events->attach(MvcEvent::EVENT_RENDER, array($this, 'prepareErrorViewModel'), 100); }
/** * {@inheritDoc} */ public function attach(EventManagerInterface $events) { if ($this->options->getLogDir()) { $sharedEvents = $events->getSharedManager(); $this->listeners[] = $sharedEvents->attach('EscoMail\\Service\\MailServiceFactory', 'mailSent', array($this, 'onMailSent'), 100); $this->listeners[] = $sharedEvents->attach('EscoMail\\Service\\MailServiceFactory', 'mailSent.error', array($this, 'onMailSentError'), 100); } }
/** * Attach events to the application and listen for the dispatch event * @param \Zend\EventManager\EventManagerInterface $events * @param int $priority */ public function attach(EventManagerInterface $events, $priority = 100) { $events->getSharedManager()->attach('dots', 'admin.body.inline', array($this, 'initTemplates'), $priority); $this->listeners[] = $events->attach('listHandlers', array($this, 'getHandler'), $priority); $this->listeners[] = $events->attach('renderBlock/' . static::TYPE, array($this, 'renderBlock'), $priority); $this->listeners[] = $events->attach('editBlock/' . static::TYPE, array($this, 'editBlock'), $priority); $this->listeners[] = $events->attach('removeBlock/' . static::TYPE, array($this, 'removeBlock'), $priority); }
/** * @inheritdoc */ public function attach(EventManagerInterface $events) { $sharedEventManager = $events->getSharedManager(); $sharedEventManager->attach('Zend\\Mvc\\Controller\\AbstractActionController', MvcEvent::EVENT_DISPATCH, [$this, 'onDispatchPre'], 10); $sharedEventManager->attach('Zend\\Mvc\\Controller\\AbstractActionController', MvcEvent::EVENT_DISPATCH, [$this, 'onDispatchPost'], -99); $events->attach(ViewEvent::EVENT_RENDERER, [$this, 'onSelectRenderer'], 2); $this->listeners[] = $events->attach(ViewEvent::EVENT_RESPONSE, [$this, 'restoreRenderer'], 10); }
/** * Constructor. * * @param ServiceLocatorInterface $serviceLocator * @param EventManagerInterface $eventManager * @param Options $options * @param ReportInterface $report */ public function __construct(ServiceLocatorInterface $serviceLocator, EventManagerInterface $eventManager, Options $options, ReportInterface $report) { $this->report = $report; $this->options = $options; $this->eventManager = $eventManager; $this->serviceLocator = $serviceLocator; $this->sharedEventManager = $eventManager->getSharedManager(); }
/** * Attach one or more listeners * * Implementors may add an optional $priority argument; the EventManager * implementation will pass this to the aggregate. * * @param EventManagerInterface $events * * @return void */ public function attach(EventManagerInterface $events) { $this->listeners[] = $events->attach('create', array($this, 'onCreate')); $this->listeners[] = $events->attach('update', array($this, 'onUpdate')); $this->listeners[] = $events->attach('fetch', array($this, 'onFetch')); $this->listeners[] = $events->attach('fetchAll', array($this, 'onFetchAll')); $sharedEvents = $events->getSharedManager(); $sharedEvents->attach('PhlyRestfully\\Plugin\\HalLinks', 'getIdFromResource', array($this, 'onGetIdFromResource')); }
/** * {@inheritDoc} */ public function attach(EventManagerInterface $events) { $sharedEvents = $events->getSharedManager(); // Instant actions listener $this->listeners[] = $sharedEvents->attach('Client\\Controller\\QuoteController', 'newRequestForQuote', array($this, 'onNewRequestForQuote')); $this->listeners[] = $sharedEvents->attach('Client\\Controller\\QuoteController', 'quoteAccepted', array($this, 'onQuoteAccepted')); $this->listeners[] = $sharedEvents->attach('Admin\\Controller\\OrderController', 'quoteSent', array($this, 'onQuoteSent')); $this->listeners[] = $sharedEvents->attach('Admin\\Controller\\OrderController', 'dueDateCheck', array($this, 'onDueDateCheck')); }
/** * (non-PHPdoc) * * @see \Zend\EventManager\ListenerAggregateInterface::detach() */ public function detach(EventManagerInterface $events) { $sharedEvents = $events->getSharedManager(); foreach ($this->listeners as $index => $listener) { if ($events->detach($listener)) { unset($this->listeners[$index]); } } }
public function attach(EventManagerInterface $events) { if (is_array($this->actions)) { foreach ($this->actions as $controller => $actions) { // Use PHP_INT_MAX to ensure this listener has greater priority than any controller listeners $this->listeners[] = $events->getSharedManager()->attach($controller, MvcEvent::EVENT_DISPATCH, [$this, 'checkPermission'], PHP_INT_MAX); } } }
/** * {@inheritdoc} */ public function attach(EventManagerInterface $events) { $sharedEvents = $events->getSharedManager(); $this->listeners[] = $sharedEvents->attach( 'Zend\Mvc\Application', MvcEvent::EVENT_BOOTSTRAP, [$this, 'onBootstrap'] ); }
/** * Attaches to ZfcUser and ZfcUserAdmin events * @param EventManagerInterface $events */ public function attach(EventManagerInterface $events) { $sharedManager = $events->getSharedManager(); $this->listeners[] = $sharedManager->attach('ZfcUser\\Service\\User', 'register', array($this, 'onRegister')); $this->listeners[] = $sharedManager->attach('ZfcUser\\Service\\User', 'register.post', array($this, 'postRegister')); $this->listeners[] = $sharedManager->attach('ZfcUserAdmin\\Service\\User', 'create.post', array($this, 'postRegister')); $this->listeners[] = $sharedManager->attach('ZfcUserAdmin\\Service\\User', 'edit', array($this, 'update')); $this->listeners[] = $sharedManager->attach('ZfcUserAdmin\\Form\\CreateUser', 'init', array($this, 'addRoleSelect')); $this->listeners[] = $sharedManager->attach('ZfcUserAdmin\\Form\\EditUser', 'init', array($this, 'addRoleSelect')); }
/** * {@inheritDoc} */ public function detach(EventManagerInterface $events) { $sharedEvents = $events->getSharedManager(); foreach ($this->listeners as $index => $callback) { if ($sharedEvents->detach(static::SHARED_EVENT_ID, $callback)) { unset($this->listeners[$index]); } } parent::detach($events); }
/** * Attach event * * @see \Zend\EventManager\ListenerAggregateInterface::attach() * @param EventManagerInterface $events */ public function attach(EventManagerInterface $events) { $sharedEvents = $events->getSharedManager(); // check for 403 at beginning of route and dispatch events $this->listeners[] = $events->attach(array(MvcEvent::EVENT_ROUTE, MvcEvent::EVENT_DISPATCH), array($this, 'detectAccessDenied'), 1000); // check for 403 immediately after controller dispatch $this->listeners[] = $sharedEvents->attach('Zend\\Stdlib\\DispatchableInterface', MvcEvent::EVENT_DISPATCH, array($this, 'detectAccessDenied'), 0); // inject access denied view model $this->listeners[] = $events->attach(MvcEvent::EVENT_RENDER, array($this, 'injectAccessDeniedViewModel'), 1); }
/** * (non-PHPdoc) * * @see \Zend\EventManager\ListenerAggregateInterface::attach() */ public function attach(EventManagerInterface $events) { $sharedManager = $events->getSharedManager(); foreach (['Rest', 'Lead', 'Email', 'TenStreet', 'Services', 'Import'] as $prefix) { foreach (['list', 'edit', 'add', 'delete', 'import'] as $action) { try { $this->_attachStateful($sharedManager, "Lead\\Controller\\{$prefix}Controller", ucfirst($action) . 'Action'); } catch (\Exception $e) { } } } parent::attach($events); }
/** * (non-PHPdoc) * * @see \Zend\EventManager\ListenerAggregateInterface::attach() */ public function attach(EventManagerInterface $events) { $sharedManager = $events->getSharedManager(); foreach (['Report'] as $prefix) { foreach (['edit', 'add', 'delete'] as $action) { try { $this->_attachStateful($sharedManager, "Report\\Controller\\{$prefix}Controller", ucfirst($action) . 'Action'); } catch (\Exception $e) { } } } parent::attach($events); }
/** * Attach to an event manager * * @param EventManagerInterface $events * @param int $priority */ public function attach(EventManagerInterface $events, $priority = 1) { $config = $this->getServiceLocator()->get("Config"); foreach ($config['content'] as $moduleName => $modules) { foreach ($modules as $entityName => $entities) { foreach ($entities['events'] as $event => $id) { $callback = $this->prepareEventFunction($event); if (empty($callback) || !method_exists($this, $callback)) { continue; } $this->listeners[] = $events->getSharedManager()->attach($id, $event, function ($e) use($callback, $moduleName, $entityName) { $this->{$callback}($e, $moduleName, $entityName); }, $priority); } } } }
/** * @param EventManagerInterface $events */ public function attach(EventManagerInterface $events) { foreach ($this->hooks as $eventName => $methodName) { $priority = 1; if (strpos($eventName, $this->priorityChar) !== false) { list($eventName, $priority) = explode($this->priorityChar, $eventName); } $this->handlers[] = $events->attach($eventName, array($this, $methodName), $priority); } // Hook into sharedEventManager if we have shared hooks if (isset($this->globalHooks) && is_array($this->globalHooks)) { $sharedEventManager = $events->getSharedManager(); foreach ($this->globalHooks as $objectName => $events) { foreach ($events as $eventName => $methodName) { $priority = 1; if (strpos($eventName, $this->priorityChar) !== false) { list($eventName, $priority) = explode($this->priorityChar, $eventName); } $sharedEventManager->attach($objectName, $eventName, array($this, $methodName), $priority); } } } }
public function attach(EventManagerInterface $event) { $shareEventManager = $event->getSharedManager(); $this->listeners[] = $shareEventManager->attach('ZendVN\\Event\\Foo', 'showInfo', array($this, 'functionDoOne')); $this->listeners[] = $shareEventManager->attach('ZendVN\\Event\\Foo', 'showInfo', array($this, 'functionDoTwo')); }
/** * {@inheritDoc} */ public function attach(EventManagerInterface $events) { $sharedEvents = $events->getSharedManager(); $this->listeners[] = $sharedEvents->attach('Product\\Service\\PageService', 'save.post', array($this, 'onDispatch'), 10); }
/** * Attach to specific events with the shared manager * @param EventManagerInterface $events * @return void */ public function attach(EventManagerInterface $events) { $shared = $events->getSharedManager(); $this->listeners[] = $shared->attach('NetgluePrismic\\Mvc\\Controller\\Plugin\\Prismic', 'setDocument', array($this, 'onSetDocument')); }
/** * Attach a listener to an event * * @param EventManagerInterface $events * @param string $id Identifier for event emitting component * @param string $event * @param callable $callback PHP Callback * @return void */ protected function attachEvent(EventManagerInterface $events, $id, $event, $callback) { /** @var \Zend\EventManager\SharedEventManager $sharedEvents */ $sharedEvents = $events->getSharedManager(); $this->listeners[] = $sharedEvents->attach($id, $event, array($this, $callback), 100); }
/** * attach * * @param EventManagerInterface $events events * * @return void */ public function attach(EventManagerInterface $events) { $sharedEvents = $events->getSharedManager(); $this->listeners[] = $sharedEvents->attach($this->id, $this->event, [$this, 'onEvent'], $this->priority); }
/** * (non-PHPdoc) * * @see \Application\Event\Listener\AggregateAbstractListener::attach() */ public function attach(EventManagerInterface $events) { $sharedManager = $events->getSharedManager(); $this->_attachStateful($sharedManager, 'Email\\Service\\SendMailService', 'SendMail'); parent::attach($events); }