public static function cadastrar(array $post)
 {
     $callbackObj = new \stdClass();
     $callbackObj->user = null;
     $callbackObj->status = false;
     $callbackObj->errors = array();
     $role = Role::find_by_role('user');
     if (is_null($role)) {
         array_push($callbackObj->errors, 'A role user não existe. Contate o administrador');
         return $callbackObj;
     }
     $user_data = array('role_id' => $role->id, 'status' => 1);
     $password = \HXPHP\System\Tools::hashHX($post['password']);
     $post = array_merge($post, $user_data, $password);
     $cadastrar = self::create($post);
     if ($cadastrar->is_valid()) {
         $callbackObj->user = $cadastrar;
         $callbackObj->status = true;
         return $callbackObj;
     }
     $errors = $cadastrar->errors->get_raw_errors();
     foreach ($errors as $field => $message) {
         array_push($callbackObj->errors, $message[0]);
     }
     return $callbackObj;
 }
Beispiel #2
0
 public static function cadastrar(array $post)
 {
     $role = Role::find_by_role('user');
     $post = array_merge($post, array('role_id' => $role->id, 'status' => 1));
     $password = \HXPHP\System\Tools::hashHX($post['password']);
     $post = array_merge($post, $password);
     return self::create($post);
 }
Beispiel #3
0
 public static function start_processing(array $data, LoginController $ctrlLogin)
 {
     $callbackObj = new \stdClass();
     $callbackObj->user = null;
     $callbackObj->status = false;
     $callbackObj->error = null;
     $callbackObj->errors = array();
     $callbackObj = self::validateData($data, $callbackObj);
     if ($callbackObj->error) {
         return $callbackObj;
     }
     $user = User::find_by_username($data['username']);
     if (!is_null($user)) {
         $callbackObj->user = $user;
         $hash = \HXPHP\System\Tools::hashHX($data['password'], $user->salt);
         if ($user->password === $hash['password']) {
             $callbackObj->status = true;
         }
         $attempt_access = self::check_latest_attempt_to_access($callbackObj->user->id);
         if ($attempt_access < self::$minTime - 1) {
             $min = self::$minTime - 1;
             $callbackObj->error = true;
             array_push($callbackObj->errors, ['danger', '<p class="text-center"> Seu login foi bloqueado por motivos de segurança. </p>', '<p class="text-center"> Aguarde ' . ($min - $attempt_access) . ' minuto(s) e tente novamente. </p>']);
             $ctrlLogin->session->set('attemptAccess', 0);
             return $callbackObj;
         }
         var_dump($ctrlLogin->session->get('attemptAccess'));
         if ($ctrlLogin->session->get('attemptAccess') > self::$maxAttempt) {
             self::register_access_attempt($callbackObj->user->id);
             $ctrlLogin->session->set('attemptAccess', 0);
         }
         if ($callbackObj->status === false) {
             $attempt = $ctrlLogin->session->get('attemptAccess');
             $attempt++;
             $ctrlLogin->session->set('attemptAccess', $attempt);
         } else {
             return $callbackObj;
         }
     }
     $callbackObj->error = true;
     array_push($callbackObj->errors, self::$message['error_user_or_password']);
     return $callbackObj;
 }
 public static function atualizarSenha($user, $newPassword)
 {
     $user = self::find_by_id($user->id);
     $password = \HXPHP\System\Tools::hashHX($newPassword);
     $user->password = $password['password'];
     $user->salt = $password['salt'];
     return $user->save(false);
 }