Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 3
0
 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;
 }
Ejemplo n.º 4
0
 /**
  * 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
 }
Ejemplo n.º 10
0
 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);
 }
Ejemplo n.º 13
0
 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);
 }
Ejemplo n.º 14
0
 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
 }
Ejemplo n.º 15
0
 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
 }
Ejemplo n.º 17
0
 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());
         }
     });
 }
Ejemplo n.º 19
0
 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
 }
Ejemplo n.º 20
0
 public function setEventManager(EventManagerInterface $events)
 {
     parent::setEventManager($events);
     $this->init();
 }
Ejemplo n.º 21
0
 /**
  * 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;
 }
Ejemplo n.º 22
0
 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);
 }