Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class DbOperations{
- private $con;
- function __construct(){
- require_once dirname(__FILE__).'/DbConnect.php';
- $db = new DbConnect();
- $this->con = $db->connect();
- }
- function wp_hash_password($password) {
- global $wp_hasher;
- if ( empty($wp_hasher) ) {
- require_once( ABSPATH . WPINC . '/class-phpass.php');
- // By default, use the portable hash from phpass
- $wp_hasher = new PasswordHash(8, true);
- }
- return $wp_hasher->HashPassword( trim( $password ) );
- }
- function wp_check_password($password, $hash, $user_id = '') {
- global $wp_hasher;
- // If the hash is still md5...
- if ( strlen($hash) <= 32 ) {
- $check = hash_equals( $hash, md5( $password ) );
- if ( $check && $user_id ) {
- // Rehash using new hash.
- wp_set_password($password, $user_id);
- $hash = wp_hash_password($password);
- }
- /**
- * Filters whether the plaintext password matches the encrypted password.
- *
- * @since 2.5.0
- *
- * @param bool $check Whether the passwords match.
- * @param string $password The plaintext password.
- * @param string $hash The hashed password.
- * @param string|int $user_id User ID. Can be empty.
- */
- return apply_filters( 'check_password', $check, $password, $hash, $user_id );
- }
- // If the stored hash is longer than an MD5, presume the
- // new style phpass portable hash.
- if ( empty($wp_hasher) ) {
- require_once( ABSPATH . WPINC . '/class-phpass.php');
- // By default, use the portable hash from phpass
- $wp_hasher = new PasswordHash(8, true);
- }
- $check = $wp_hasher->CheckPassword($password, $hash);
- /** This filter is documented in wp-includes/pluggable.php */
- return apply_filters( 'check_password', $check, $password, $hash, $user_id );
- }
- /*CRUD -> C -> CREATE */
- public function createUser($username, $pass, $email){
- if($this->isUserExist($username,$email)){
- return 0;
- }else{
- $password = wp_hash_password($pass);
- $stmt = $this->con->prepare("INSERT INTO `users` (`id`, `username`, `password`, `email`) VALUES (NULL, ?, ?, ?);");
- $stmt->bind_param("sss",$username,$password,$email);
- if($stmt->execute()){
- return 1;
- }else{
- return 2;
- }
- }
- }
- public function userLogin($username, $pass){
- $password = wp_check_password($pass);
- $stmt = $this->con->prepare("SELECT id FROM users WHERE username = ? AND password = ?");
- $stmt->bind_param("ss",$username,$password);
- $stmt->execute();
- $stmt->store_result();
- return $stmt->num_rows > 0;
- }
- public function getUserByUsername($username){
- $stmt = $this->con->prepare("SELECT * FROM users WHERE username = ?");
- $stmt->bind_param("s",$username);
- $stmt->execute();
- return $stmt->get_result()->fetch_assoc();
- }
- private function isUserExist($username, $email){
- $stmt = $this->con->prepare("SELECT id FROM users WHERE username = ? OR email = ?");
- $stmt->bind_param("ss", $username, $email);
- $stmt->execute();
- $stmt->store_result();
- return $stmt->num_rows > 0;
- }
- }
Add Comment
Please, Sign In to add comment