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; }
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); }
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); }