Esempio n. 1
0
 public function inscription()
 {
     $data['title'] = "Inscription";
     $data['inscription'] = "Ici l'espace pour créer un compte";
     $_POST = Gump::sanitize($_POST);
     if (isset($_POST['pseudo'])) {
         //Validate data using Gump
         $is_valid = Gump::is_valid($_POST, array('pseudo' => 'required|alpha_numeric', 'email' => 'required|valid_email', 'password' => 'required', 'password-again' => 'required'));
         if ($is_valid === true) {
             //Test for duplicate username`
             $user = $this->userSQL->prepareFindByLogin($_POST['pseudo']);
             if ($_POST['password'] != $_POST['password-again']) {
                 $error[] = "Les deux mots de passes doivent être identiques";
             }
             if ($user != false) {
                 $error[] = 'Ce compte existe déjà';
             }
             $user = $this->userSQL->prepareFindByEmail($_POST['email'])->execute();
             //Test for dupicate email address
             if (count($user) > 0) {
                 $error[] = 'Ce compte email existe déjà.';
             }
             $data['erreurs'] = $error;
             View::renderTemplate('header', $data);
             View::render('connexion/inscription', $data);
             View::renderTemplate('footer', $data);
         } else {
             $error = $is_valid;
         }
         if (!$error) {
             //Register and return the data as an array $data[]
             $pseudo = $_POST['pseudo'];
             $mail = $_POST['email'];
             $password = Password::make($_POST['password']);
             $user = new Personne($pseudo, $mail, $password);
             print_r($user);
             $this->entityManager->save($user);
             Session::set('id', $user->getId());
             Session::set('pseudo', $user->login);
             Session::set('level', $user->currentLvl);
             Session::set('loggedin', true);
             Url::redirect();
         }
     }
 }
Esempio n. 2
0
 public function register()
 {
     //Sanitize Data using Gump helper
     $_POST = Gump::sanitize($_POST);
     if (isset($_POST['login'])) {
         //Validate data using Gump
         $is_valid = Gump::is_valid($_POST, array('login' => 'required|alpha_numeric', 'email' => 'required|valid_email', 'password' => 'required', 'password-again' => 'required'));
         if ($is_valid === true) {
             //Test for duplicate username`
             $user = $this->userSQL->prepareFindByLogin($_POST['login']);
             if ($_POST['password'] != $_POST['password-again']) {
                 $error[] = "Les deux mots de passes doivent être identiques";
             }
             if ($user != false) {
                 $error[] = 'Ce compte existe déjà';
             }
             $user = $this->userSQL->prepareFindByEmail($_POST['email'])->execute();
             //Test for dupicate email address
             if (count($user) > 0) {
                 $error[] = 'Ce compte email existe déjà.';
             }
         } else {
             $error = $is_valid;
         }
         if (!$error) {
             //Register and return the data as an array $data[]
             $user = new Utilisateur($_POST['login'], $_POST['email'], Password::make($_POST['password']), "");
             $this->entityManager->save($user);
             Session::set('id', $user->getId());
             Session::set('login', $user->login);
             Session::set('loggedin', true);
             Url::redirect();
         }
     }
     $data['title'] = 'Inscription';
     View::rendertemplate('header', $data);
     View::render('user/register', $data, $error);
     View::rendertemplate('footer', $data);
 }
Esempio n. 3
0
 public function signup($slug = null)
 {
     $this->data['title'] = 'Join Us';
     $statusModel = new Status();
     $roleModel = new Role();
     $userModel = new User();
     if (isset($_POST['email']) && !empty($_POST['email'])) {
         $firstname = $_POST['firstname'];
         $email = $_POST['email'];
         if ($_POST['password'] == $_POST['password2']) {
             $encrypted = md5($_POST['password']);
             $row_count = $userModel->getColRow('user_email', $email);
             if (!is_bool($row_count)) {
                 Session::set('error', 'Email exists in our records, please use a different email');
             } else {
                 $userArray = array('user_firstname' => $firstname, 'user_email' => $email, 'user_password' => $encrypted, 'user_role_id' => Role::id('user'), 'user_status_id' => Status::id('active'));
                 $userArray = Gump::xss_clean($userArray);
                 $userArray = Gump::sanitize($userArray);
                 $is_valid = Gump::is_valid($userArray, array('user_firstname' => 'required|max_len,200|min_len,1', 'user_email' => 'required|max_len,200|min_len,1', 'user_password' => 'required|max_len,200|min_len,1'));
                 if ($is_valid === true) {
                     $user_id = $userModel->create($userArray);
                     if ($user_id > 0) {
                         $slug = Url::generateSafeSlug($firstname . $user_id);
                         //send email
                         $subject = 'Welcome to GbeduMobile';
                         $content .= "You just opened a new account with us, Get login details below<br><br>";
                         $content .= "Username: "******"<br>";
                         $content .= "Password: "******"<br>";
                         if (ENVIRONMENT == 'production') {
                             $mail = new Mail();
                             $mail->general($email, $subject, $firstname, $content);
                         }
                         Session::set('success', 'Login details has been sent to your email, Congrats!');
                         Url::redirect('home');
                     } else {
                         Session::set('error', 'Operation Fails, Please contact admin');
                     }
                 } else {
                     Session::set('error', $is_valid);
                 }
             }
         } else {
             Session::set('error', 'Password does not match!');
         }
     }
     View::rendertemplate('header', $this->data);
     View::render('account/signup', $this->data);
     View::rendertemplate('footer', $this->data);
 }