Example #1
0
 /**
  * Resets password.
  *
  * @return bool if password was reset
  */
 public function resetPassword()
 {
     if ($this->validate()) {
         $this->_user->setPassword($this->password);
         return $this->_user->save(true, ['passwordHash']);
     }
     return false;
 }
 /**
  * Signs user up.
  *
  * @return User|null the saved model or null if saving fails
  */
 public function signup()
 {
     if ($this->validate()) {
         $user = new UserModel();
         $user->login = $this->login;
         $user->email = $this->email;
         $user->setPassword($this->password);
         $user->generateAuthKey();
         $user->save();
         return $user;
     }
     return null;
 }
Example #3
0
 public function actionRegister()
 {
     $name = '';
     $email = '';
     $password = '';
     $result = 0;
     $errors = [];
     $categories = CategoryModel::getAllUsingColumns();
     if (isset($_POST['submit'])) {
         $name = FL::clearStr($_POST['name']);
         $email = FL::clearStr($_POST['email']);
         $password = FL::clearStr($_POST['password']);
         if (!FL::isValue($name)) {
             $errors[] = 'Имя не может быть пустым';
         }
         if (!FL::isEmail($email)) {
             $errors[] = 'Некорректный email';
         }
         if (UserModel::getByColumn('email', $email)) {
             $errors[] = 'Такой email уже существует';
         }
         if (!FL::isPassword($password)) {
             $errors[] = 'Пароль должен быть больше 5 символов';
         }
         if (empty($errors)) {
             $user = new UserModel();
             $user->name = $name;
             $user->email = $email;
             $user->password = $password;
             $result = $user->save(false, true);
             if ($result) {
                 FL::redirectTo('/cabinet');
             }
         }
     }
     $view = new View();
     $view->categories = $categories;
     $view->errors = $errors;
     $view->name = $name;
     $view->email = $email;
     $view->password = $password;
     $view->result = $result;
     $view->display('user/register.php');
     return true;
 }
 function create()
 {
     //-- only POST allowed:
     if (filter_input(INPUT_SERVER, 'REQUEST_METHOD') != "POST") {
         //-- It is supposed to be (only) POST. If not, kill the request.
         throw new \Exception("Not allowed method for this action!");
     }
     //-- get post values from request:
     $post_values = filter_input_array(INPUT_POST);
     //-- check if user params are present on request:
     if (!isset($post_values['user'])) {
         throw new \Exception("User params missing");
     }
     //-- new User instance:
     $new_register = new UserModel();
     //-- check if post values are valid:
     $is_valid_result = $new_register->isValid($post_values['user']);
     //-- is it valid?
     if ($is_valid_result === true) {
         //-- try to save:
         $save_result = $new_register->save($post_values['user']);
         if ($save_result === true) {
             //-- set a simple success message on flash var:
             $_SESSION['FLASH'] = array("success" => "Registo Concluído!");
             //-- redirect to index action:
             header("Location: " . REGISTER_ROUTE);
             exit;
         } else {
             //-- fail message to user with parameters:
             $this->_params = array("fail" => $save_result, "user" => $post_values['user']);
         }
     } else {
         //-- case invalid, show message to user, with parameters:
         $this->_params = array("fail" => $is_valid_result, "user" => $post_values['user']);
     }
     $this->assign("params", $this->_params);
 }
 public function actionCreate()
 {
     $errors = [];
     if (isset($_POST['submit'])) {
         $name = FL::clearStr($_POST['name']);
         $email = FL::clearStr($_POST['email']);
         $password = FL::clearStr($_POST['password']);
         if (!FL::isValue($name)) {
             $errors[] = 'Имя не может быть пустым';
         }
         if (!FL::isEmail($email)) {
             $errors[] = 'Некорректный email';
         }
         if (UserModel::getByColumn('email', $email)) {
             $errors[] = 'Такой email уже существует';
         }
         if (!FL::isPassword($password)) {
             $errors[] = 'Пароль должен быть больше 5 символов';
         }
         if (empty($errors)) {
             $user = new UserModel();
             $user->name = $name;
             $user->email = $email;
             $user->password = $password;
             $user->role = 'admin';
             $result = $user->save(false, true);
             if ($result) {
                 FL::redirectTo('/admin/user');
             }
         }
     }
     $view = new View();
     $view->errors = $errors;
     $view->display('admin_user/create.php');
     return true;
 }