Esempio n. 1
0
 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');
         }
     }
 }