public function authAction() { $this->loginDao = new LoginDao(); $this->translator = $this->getServiceLocator()->get('translator'); $form = new LoginForm(); $request = $this->getRequest(); if ($request->isPost()) { $login = new Login(); $form->setInputFilter(new LoginInputFilter()); $form->setData($request->getPost()); if ($form->isValid()) { $login = Login::fromForm($form->getData()); $utils = new Utils(); $rowNb = $this->loginDao->getAuthenticationByUserAndPwd($utils->stripTags_replaceHtmlChar_trim($login->getUser(), true, true, false), $utils->stripTags_replaceHtmlChar_trim($login->getPwd(), true, true, false)); //print_r($rowNb); if ($rowNb == 0) { $loginaccess = new \Zend\Session\Container('error'); $loginaccess->error = $this->translator->translate('Veuillez recommencer le nom d\'utilisateur et/ou le mot de passe sont incorrects'); return $this->redirect()->toRoute('Login'); } elseif ($rowNb == 1) { $loginaccess = new \Zend\Session\Container('myacl'); $role = $this->loginDao->getRole($utils->stripTags_replaceHtmlChar_trim($login->getUser(), true, true, false), $utils->stripTags_replaceHtmlChar_trim($login->getPwd(), true, true, false)); $loginaccess->role = $role; return $this->redirect()->toRoute('rubrique'); } else { $loginaccess = new \Zend\Session\Container('error'); $loginaccess->error = $this->translator->translate('Veuillez contacter l\'administrateur du site svp.'); return $this->redirect()->toRoute('Login'); } } else { //form is not valid because the csrf token is not the same anymore $loginaccess = new \Zend\Session\Container('error'); $loginaccess->error = $this->translator->translate('Veuillez rafraichir la page et recommencer svp.'); return $this->redirect()->toRoute('Login'); } } }