Example #1
0
 public function subscribeAction()
 {
     if ($this->getRequest()->isPost()) {
         $email = $this->getRequest()->getPost('email', null);
         $password = $this->getRequest()->getPost('pwd', null);
         $confpassword = $this->getRequest()->getPost('confpwd', null);
         $firstname = $this->getRequest()->getPost('firstname', null);
         $lastname = $this->getRequest()->getPost('lastname', null);
         $modelUser = new Application_Model_User();
         $user = $modelUser->getByEmail($email);
         $modelValidation = new Application_Model_ValidationCode();
         if (!empty($email) && !empty($password) && !empty($firstname) && !empty($lastname)) {
             if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
                 if ($password == $confpassword) {
                     if (!isset($user->id_user)) {
                         $userId = $modelUser->insertUser(array('email' => $email, 'password' => sha1($password), 'first_name' => $firstname, 'last_name' => $lastname, 'date_created' => date('Y-m-d H:i:s')));
                         $code = md5(uniqid(rand(), true));
                         $modelValidation->insert(array("code" => $code, "user_id" => $userId, "is_confirmed" => 0, "type" => 0));
                         mail($email, "Confirmation de votre compte", "Veuillez cliquer sur le lien ci-dessous pour confirmer votre compte : \n" . "<a href='http://localhost/inm5151/INM5151/public/index/confirmation/code/" + $code + "'>Lien de confirmation</a>");
                         $this->view->success = true;
                     } else {
                         $this->view->error = "Un utilisateur avec ce courriel existe déjà.";
                     }
                 } else {
                     $this->view->error = "Les deux mots de passes doivent être identiques.";
                 }
             } else {
                 $this->view->error = "Veuillez entrer un courriel valide.";
             }
         } else {
             $this->view->error = "Tous les champs doivent être remplis.";
         }
         if (!empty($this->view->error)) {
             $this->view->firstname = $firstname;
             $this->view->lastname = $lastname;
         }
     }
 }