public function postRegister(UserModel $user) { $validator = new Validation(); $validator->setRule('required', $user->username, null, 'username'); $validator->setRule('required', $user->password, null, 'password'); $validator->setRule('email', $user->email, null, 'email'); if (!$validator->validate()) { Session::setError($validator->getErrors()); Redirect::back(); } if (($result = $this->user->register($user->username, $user->email, $user->password)) !== 1) { Session::setError($result); Redirect::back(); } Session::setMessage('registered successfully'); Redirect::to(''); }
/** * Processes Registration form * * @param Form $form */ public function registerFormSucceded(Form $form) { $values = $form->getValues(); $item = $this->users->getByUsername($values->registration_username); if (!$item) { //user with this username does not exists $token = $this->users->register($values->registration_username, $values->registration_password, $values->mail); $this->sendActivationMail($values->mail, $values->registration_username, $token); if ($values->name && $values->surname) { $this->sendConnectionMail($values->registration_username, $values->name, $values->surname); } $this->flashMessage('Registrace proběhla úspěšně. Zkontrolujte svůj e-mail pro aktivaci účtu.'); $this->redirect(':Front:Default:Homepage:'); } elseif (!$item->active) { //not yet activated account => resend the mail $token = $this->users->updateToken($item->id); $this->sendActivationMail($item->mail, $item->username, $token); $this->flashMessage('Zkontrolujte svůj e-mail pro aktivaci účtu.'); $this->redirect(':Front:Default:Homepage:'); } else { $form->addError('Tento uživatel již existuje. Možná chcete raději obnovit své heslo.'); } }
public function signup($slug = null) { $this->data['title'] = 'Join Us'; // $module_slug = $slug[0]; $role = new \models\userrole(); $user = new User(); $this->data['user_role'] = $role->all(); //PULL DATA FROM SITESETTINGS $document = new \Helpers\Document(); $details = $document->siteSettings(); //GET NEW USER STATUS ID $this->model->table('user_status'); $user_status = $this->model->get_row(array("title" => "inactive")); $this->data['reg_form'] = $details['reg_form']; if (isset($_POST) && !empty($_POST)) { if ($_POST['password'] == $_POST['password2']) { $encrypted = md5($_POST['password']); $row_count = $user->get(array("email" => $_POST['email'])); if (count($row_count) >= 1) { $this->data['error'] = 'Email exists in our records, please use a different email'; } else { $insert_array = array('firstname' => $_POST['fname'], 'lastname' => $_POST['lname'], 'email' => $_POST['email'], 'password' => $encrypted, 'role' => $_POST['role'], 'status' => $user_status->id); $hash = $user->register($insert_array); if ($hash != '') { //SEND ACCOUNT DETAILS TO USER $fullname = $_POST['fname'] . ' ' . $_POST['lname']; $subject = 'New Account'; $mail = new \helpers\phpmailer\mail(); $mail->template('welcome'); $mail->generalEmail($_POST['email'], $subject, $fullname, $hash); $this->data['success'] = 'A link has been sent to your email, please click to activate your account'; } else { $this->data['error'] = 'Operation Fails, Please contact admin'; } } } else { $this->data['error'] = 'Password does not match!'; } } View::rendertemplate('header', $this->data); View::render('account/signup', $this->data); View::rendertemplate('footer', $this->data); }
public function actionRegister() { User::checkSession(); $arrayOfStates = User::fetchCountries(); if (isset($_GET['country_id'])) { User::fetchRegions(); return true; } elseif (isset($_GET['region_id'])) { User::fetchCities(); return true; } else { unset($_GET); } if (isset($_POST['btn-signup'])) { $name = User::sanitizeString($_POST['uname']); $email = User::sanitizeString($_POST['email']); $pass = User::sanitizeString($_POST['pass']); $cpass = User::sanitizeString($_POST['cpass']); $country = User::sanitizeString($_POST['countries']); $region = User::sanitizeString($_POST['regions']); $city = User::sanitizeString($_POST['cities']); if (!User::checkName($name)) { $error .= 'Please enter your name!<br>'; } if (!User::checkEmail($email)) { $error .= 'Please enter a valid email address!<br>'; } if (User::checkEmailExists($email)) { $error .= 'That email address is already registered. Do you want to log in?<br>'; } else { if (!User::checkPassword($pass)) { $error .= 'Please enter password with at list 8 characters and one capital letter!<br>'; } if (!User::checkRepeatPassword($pass, $cpass)) { $error .= 'Your passwords are different! Please check and repeat!<br>'; } if ($error) { $error = 'There was(were) error(s) in your sign up details:<br>' . $error; } else { $pass = hash('ripemd128', $pass); $cpass = hash('ripemd128', $cpass); $result = User::register($name, $email, $pass, $country, $region, $city); $message = 'You\'re registered!<br>Now you can log in!'; } } } if (isset($_POST['btn-login'])) { $email = User::sanitizeString($_POST['logemail']); $pass = hash('ripemd128', User::sanitizeString($_POST['logpass'])); $userId = User::checkUserdata($email, $pass); if (!$userId) { $error = 'We could not find a user with such email address and password. Please try again.'; } else { User::auth($userId); header('Location: \\home\\'); } } require_once ROOT . '\\views\\user\\index.php'; return true; }