public function setEventManager(EventManagerInterface $events) { parent::setEventManager($events); $controller = $this; $events->attach('dispatch', function ($event) use($controller) { /** @var \Zend\Http\Request $request */ $request = $event->getRequest(); $addresses = $request->getServer()->get('HTTP_X_FORWARDED_FOR'); $addresses = explode(',', $addresses); $address = end($addresses); $address = trim($address); $user = $controller->getIdentityEntity(); if (!is_null($user)) { $ip = $this->getEntityManager()->getRepository('NightsWatch\\Entity\\Ip')->findOneBy(['user' => $user, 'ip' => $address]); if (!$ip) { $ip = new Ip(); $ip->ip = $address; $ip->user = $user; } $ip->lastSeen = new \DateTime(); $controller->getEntityManager()->persist($ip); try { $controller->getEntityManager()->flush(); } catch (\Exception $e) { // The record already exists. For now, do nothing. } } }, 100); }
public function setEventManager(EventManagerInterface $events) { parent::setEventManager($events); $controller = $this; $events->attach('dispatch', function ($e) use($controller) { $route = $e->getRouteMatch(); $params = $route->getParams(); $request = $controller->getRequest(); $has_access = false; if ($request->getUri()->getPath() === '/employee/signin') { $has_access = true; } else { $has_access = $controller->checkAuthentication(''); } if ($has_access === false) { $e->stopPropagation(); } }, 100); // execute before executing action logic $events->attach('dispatch', function ($e) use($controller) { $session = new Container('Auth'); $controller->layout()->setVariable('page_title', $controller->getTitle()); }, 0); return $this; }
public function setEventManager(EventManagerInterface $events) { parent::setEventManager($events); $thisPtr = $this; $events->attach('dispatch', function ($e) use($thisPtr) { $adminIndex = $thisPtr->getServiceLocator()->get('Navigation')->findOneById(Constants::ADMIN_ID); $requirelogin = $thisPtr->getServiceLocator()->get('Navigation')->findAllBy("requireslogin", true); $authService = $thisPtr->getServiceLocator()->get('AdminAuthService'); if ($authService->hasIdentity()) { $adminIndex->setVisible(true); $adminIndex->setLabel("Logout"); $adminIndex->setAction("logout"); foreach ($requirelogin as $rec) { $thisPtr->getServiceLocator()->get('Navigation')->findOneById($rec->get("id"))->setVisible(true); } } else { $adminIndex->setVisible(false); $adminIndex->setLabel("Login"); $adminIndex->setAction("index"); foreach ($requirelogin as $rec) { $thisPtr->getServiceLocator()->get('Navigation')->findOneById($rec->get("id"))->setVisible(false); } $controller = strtolower($thisPtr->params()->fromRoute('controller')); $action = strtolower($thisPtr->params()->fromRoute('action')); $unauthorizedAttempt = array_filter($requirelogin, function ($item) use($controller, $action) { return strtolower($item->get("controller")) == $controller && strtolower($item->get("action")) == $action; }); if (count($unauthorizedAttempt) > 0) { return $thisPtr->redirect()->toUrl("/Index/index"); } } }, 100); return $this; }
/** * Changes the layout to layout/backupdb * @param EventManagerInterface $events */ public function setEventManager(EventManagerInterface $events) { //Zend_Layout::getMvcInstance()->setLayout(__DIR__ . '/../view/layout/application.phtml'); parent::setEventManager($events); $controller = $this; $events->attach('dispatch', function ($e) use($controller) { $controller->layout('layout/backupdb'); }, 100); }
public function setEventManager(\Zend\EventManager\EventManagerInterface $events) { parent::setEventManager($events); // entity manager $this->em = $this->getServiceLocator()->get('Doctrine\\ORM\\EntityManager'); // auth $this->auth = $this->getServiceLocator()->get('AuthService'); $this->auth->setEm($this->em); }
public function setEventManager(EventManagerInterface $events) { parent::setEventManager($events); $controller = $this; $events->attach('dispatch', function ($e) use($controller) { $session = new Container('Auth'); $controller->layout()->setVariable('page_title', $controller->getTitle()); }, 0); return $this; }
/** * overriding setEventManager method of AbstractActionControler * to call the authentication on "dispatch" * @see Zend\Mvc\Controller.AbstractController::setEventManager() */ public function setEventManager(EventManagerInterface $events) { parent::setEventManager($events); $controller = $this; $events->attach('dispatch', function ($e) use($controller) { if (is_callable(array($controller, 'verificaAuth'))) { call_user_func(array($controller, 'verificaAuth')); } }, 100); }
public function setEventManager(EventManagerInterface $events) { parent::setEventManager($events); $events->attach('dispatch', function ($e) { $request = $e->getRequest(); if (!$request instanceof ConsoleRequest) { throw new \RuntimeException(sprintf('%s can only be executed in a console environment', __CLASS__)); } }, 100); return $this; }
/** * Ensures that the actions in this controller can only be used if a user is authenticated. * * @param EventManagerInterface $events * @return $this|void|\Zend\Mvc\Controller\AbstractController */ public function setEventManager(EventManagerInterface $events) { parent::setEventManager($events); $controller = $this; $events->attach('dispatch', function ($e) use($controller) { $sm = $e->getApplication()->getServiceManager(); $auth = $sm->get('zfcuser_auth_service'); if (!$auth->hasIdentity()) { return $controller->redirect()->toRoute('zfcuser/login'); } }, 100); // execute before executing action logic }
public function setEventManager(EventManagerInterface $events) { parent::setEventManager($events); $controller = $this; $events->attach('dispatch', function ($e) use($controller) { $request = $e->getRequest(); $method = $request->getMethod(); if (!in_array($method, array('PUT', 'DELETE', 'PATCH'))) { //Init return $this->init(); } }, 100); // execute before executing action logic }
/** * @param EventManagerInterface $events * @return $this */ public function setEventManager(EventManagerInterface $events) { parent::setEventManager($events); /* $controller = $this; $events->attach('dispatch', function ($e) use ($controller) { $controller->layout('layout/admin'); if ($controller->zfcUserAuthentication()->hasIdentity()) { var_dump($controller->zfcUserAuthentication()->getIdentity()); } }, 100); */ return $this; }
/** * Set event manager */ public function setEventManager(EventManagerInterface $events) { parent::setEventManager($events); $controller = $this; // execute before executing action logic $events->attach('dispatch', function ($e) use($controller) { $request = $this->getRequest(); // Make sure that we are running in a console and the user has not tricked our // application into running this action from a public web server. if (!$request instanceof ConsoleRequest) { return $this->notFoundAction(); } }, 100); }
public function setEventManager(EventManagerInterface $events) { parent::setEventManager($events); $this->setEm(); $controller = $this; // PreDispatch $events->attach('dispatch', function ($e) use($controller) { $this->preDispath(); }, 100); // PostDispatch $events->attach('dispatch', function ($e) use($controller) { $this->postDispatch(); }, -100); }
public function setEventManager(EventManagerInterface $events) { parent::setEventManager($events); $controller = $this; $events->attach('dispatch', function ($e) use($controller) { //Mảng tham số Router nhận được ở mỗi Action $this->_arrParam = $this->params()->fromRoute(); //Mảng tham số Post nhận được ở mỗi Action $this->_arrPost = $this->params()->fromPost(); //Đối tượng view Helper $this->_viewHelper = $this->getServiceLocator()->get('Zend\\View\\Renderer\\PhpRenderer'); //Đường dẫn của Controller $paramController = $this->_arrParam['controller']; $tmp = explode("\\", $paramController); $this->_arrParam['module'] = strtolower($tmp[0]); //get module name $this->_arrParam['controller'] = strtolower($tmp[2]); //get controller name $this->_currentController = '/' . $this->_arrParam['module'] . '/' . $this->_arrParam['controller']; //Đường dẫn của Action chính $this->_actionMain = '/' . $this->_arrParam['module'] . '/' . $this->_arrParam['controller'] . '/' . $this->_arrParam['action']; //---------Dat ten SESSION----------------------------------------- $this->_namespace = $this->_arrParam['module'] . '_' . $this->_arrParam['controller']; $ssFilter = new Container($this->_namespace); if (empty($ssFilter->col)) { $ssFilter->keywords = ''; $ssFilter->col = 'id'; $ssFilter->order = 'DESC'; } if (empty($ssFilter->record)) { $ssFilter->record = 10; } $this->_arrParam['ssFilter']['keywords'] = $ssFilter->keywords; $this->_arrParam['ssFilter']['sort'] = $ssFilter->sort; $this->_arrParam['ssFilter']['col'] = $ssFilter->col; $this->_arrParam['ssFilter']['order'] = $ssFilter->order; $this->_arrParam['ssFilter']['record'] = $ssFilter->record; $this->_arrParam['ssFilter']['field'] = $ssFilter->field; $this->_arrParam['ssFilter']['status'] = $ssFilter->status; $this->_arrParam['ssFilter']['group'] = $ssFilter->group; $this->_arrParam['ssFilter']['city'] = $ssFilter->city; $this->_paginatorParams['itemCountPerPage'] = (int) $ssFilter->record; $this->_paginatorParams['currentPageNumber'] = $this->params()->fromRoute('page', 1); $this->_arrParam['paginator'] = $this->_paginatorParams; //Load templates $this->layout('layout/home'); }, 100); // execute before executing action logic }
public function setEventManager(EventManagerInterface $events) { parent::setEventManager($events); $self = $this; $events->attach('dispatch', function ($e) use($self) { $self->controller = $self->params()->fromRoute('controller'); $self->action = $self->params()->fromRoute('action'); $self->p1 = $self->params()->fromRoute('p1'); $self->p2 = $self->params()->fromRoute('p2'); $self->p3 = $self->params()->fromRoute('p3'); $self->p4 = $self->params()->fromRoute('p4'); $self->setPermissions($self); }, 100); return $this; }
public function setEventManager(EventManagerInterface $events) { parent::setEventManager($events); $this->entityManager = $this->getServiceLocator()->get('Doctrine\\ORM\\EntityManager'); $controller = $this; $events->attach('dispatch', function ($e) use($controller) { /** @var array $config */ $config = $controller->getServiceLocator()->get('Config'); $this->session = new Container($config['session']['container_name']); if (!preg_match('/^cli/', php_sapi_name())) { $controller->getViewModel()->webServerName = $_SERVER['SERVER_ADDR']; $controller->getViewModel()->webServerEnvironment = APPLICATION_ENV; } }, 100); // execute before executing action logic }
public function setEventManager(EventManagerInterface $events) { parent::setEventManager($events); $self = $this; $events->attach('dispatch', function ($e) use($self) { $self->lang = $self->params()->fromRoute('lang'); $self->controller = $self->params()->fromRoute('controller'); $self->action = $self->params()->fromRoute('action'); $self->p1 = $self->params()->fromRoute('p1'); $self->p2 = $self->params()->fromRoute('p2'); $self->p3 = $self->params()->fromRoute('p3'); $self->setLanguageNavigation($self); $self->setFooterContent($self); $self->setContacts($self); }, 100); return $this; }
/** * Set event manager */ public function setEventManager(EventManagerInterface $events) { parent::setEventManager($events); $controller = $this; // check only ajax based actions $events->attach('dispatch', function ($e) use($controller) { if ($e->getResponse()->getStatusCode() == Response::STATUS_CODE_200 && substr($controller->params('action'), 0, 4) == 'ajax' && !$e->getRequest()->isXmlHttpRequest()) { $controller->notFoundAction(); } }, 99); // disable current layout if received request is an ajax request $events->attach('dispatch', function ($e) use($controller) { $result = $e->getResult(); if ($result instanceof ViewModel && $e->getResponse()->getStatusCode() == Response::STATUS_CODE_200) { $result->setTerminal($e->getRequest()->isXmlHttpRequest()); } }); }
public function setEventManager(EventManagerInterface $events) { parent::setEventManager($events); $controller = $this; $events->attach('dispatch', function ($e) use($controller) { /** @var \Zend\Mvc\MvcEvent $e */ $request = $e->getRequest(); if (!$request instanceof ConsoleRequest) { throw new RuntimeException('You can only use this action from a console!'); } $console = $controller->getServiceLocator()->get('console'); if (!$console instanceof Console) { throw new RuntimeException('Cannot obtain console adapter. Are we running in a console?'); } $controller->setRequest($request); $controller->setConsole($console); /** @var MigrationManager $migrationManager */ $migrationManager = $controller->getServiceLocator()->get('MigrationManager'); $controller->setManager($migrationManager); }, 100); // execute before executing action logic }
public function setEventManager(EventManagerInterface $events) { parent::setEventManager($events); $this->init(); }
/** * Adding Check for Allowing only console application to come through * * {@inheritdoc} * @SuppressWarnings(PHPMD.UnusedLocalVariable) */ public function setEventManager(EventManagerInterface $events) { parent::setEventManager($events); $controller = $this; $events->attach('dispatch', function ($action) use($controller) { /** @var $action \Zend\Mvc\Controller\AbstractActionController */ // Make sure that we are running in a console and the user has not tricked our // application into running this action from a public web server. if (!$action->getRequest() instanceof ConsoleRequest) { throw new \RuntimeException('You can only use this action from a console!'); } }, 100); // execute before executing action logic return $this; }
public function setEventManager(\Zend\EventManager\EventManagerInterface $events) { parent::setEventManager($events); $events->addIdentifiers(OAuth2Events::EVENT_IDENTIFIER); return $this; }
public function setEventManager(EventManagerInterface $events) { parent::setEventManager($events); $events->attach('dispatch', array($this, 'getRouteInfo'), 100); }
/** * setEventManager * * @param EventManagerInterface $events * @return AbstractController */ public function setEventManager(EventManagerInterface $events) { $events->attach(MvcEvent::EVENT_DISPATCH, [$this, 'onPreDispatch'], 100); $events->attach(MvcEvent::EVENT_DISPATCH, [$this, 'onPostDispatch'], -100); return parent::setEventManager($events); }