52 lines
1.2 KiB
PHP
52 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace DJMixHosting;
|
|
|
|
use Random\RandomException;
|
|
|
|
Class User{
|
|
|
|
private $db;
|
|
private $id;
|
|
private $username;
|
|
private $email;
|
|
private $location;
|
|
private $bio;
|
|
private $created;
|
|
private $updated;
|
|
private $verified;
|
|
private $role;
|
|
private $img;
|
|
private $api_key;
|
|
|
|
public function __construct($db){
|
|
$this->db = $db;
|
|
}
|
|
|
|
/**
|
|
* @throws RandomException
|
|
*/
|
|
public function newUser($username, $password, $email){
|
|
$this->username = $username;
|
|
$this->email = $email;
|
|
$password2 = password_hash($password, PASSWORD_DEFAULT);
|
|
$this->password = $password2;
|
|
|
|
$this->location = "";
|
|
$this->bio = "";
|
|
$this->created = date('Y-m-d H:i:s');
|
|
$this->updated = date('Y-m-d H:i:s');
|
|
$this->verified = 0;
|
|
$this->role = "user";
|
|
$this->img = "";
|
|
$this->api_key = bin2hex(random_bytes(32));
|
|
|
|
$stmt = $this->db->prepare("INSERT INTO users (username, password, email, img) VALUES (?, ?, ?, ?)");
|
|
$stmt->bind_param("ssss", $this->username, $this->password, $this->email, $this->img);
|
|
$stmt->execute();
|
|
$stmt->close();
|
|
|
|
}
|
|
|
|
|
|
} |