Exemplo n.º 1
0
 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);
 }
Exemplo n.º 2
0
 /**
  * {@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);
 }
Exemplo n.º 3
0
 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);
     }
 }
Exemplo n.º 5
0
 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'));
 }
Exemplo n.º 6
0
 /**
  * {@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);
 }
Exemplo n.º 7
0
 /**
  * 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);
 }
Exemplo n.º 8
0
 /**
  * {@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);
 }
Exemplo n.º 9
0
 /**
  * {@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);
     }
 }
Exemplo n.º 10
0
 /**
  * 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);
 }
Exemplo n.º 11
0
 /**
  * @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);
 }
Exemplo n.º 12
0
 /**
  * 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]);
         }
     }
 }
Exemplo n.º 16
0
 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);
         }
     }
 }
Exemplo n.º 17
0
 /**
  * {@inheritdoc}
  */
 public function attach(EventManagerInterface $events)
 {
     $sharedEvents = $events->getSharedManager();
     $this->listeners[] = $sharedEvents->attach(
         'Zend\Mvc\Application',
         MvcEvent::EVENT_BOOTSTRAP,
         [$this, 'onBootstrap']
     );
 }
Exemplo n.º 18
0
 /**
  * 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'));
 }
Exemplo n.º 19
0
 /**
  * {@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);
 }
Exemplo n.º 20
0
 /**
  * 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);
 }
Exemplo n.º 21
0
 /**
  * (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);
 }
Exemplo n.º 22
0
 /**
  * (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);
 }
Exemplo n.º 23
0
 /**
  * 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);
             }
         }
     }
 }
Exemplo n.º 24
0
 /**
  * @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);
             }
         }
     }
 }
Exemplo n.º 25
0
 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'));
 }
Exemplo n.º 26
0
 /**
  * {@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'));
 }
Exemplo n.º 28
0
 /**
  * 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);
 }
Exemplo n.º 29
0
 /**
  * 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);
 }
Exemplo n.º 30
0
 /**
  * (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);
 }