Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Auth {
- private $options = [
- "restrict_access" => "Vous ne pouvez pas accéder à cette page !"
- ];
- private $session;
- public function __construct($session, $options = []){
- $this->options = array_merge($this->options, $options);
- $this->session = $session;
- }
- public function register($db, $username, $password, $email, $genre, $figure, $ip){
- $password = password_hash($password, PASSWORD_BCRYPT);
- if($db->query("INSERT INTO players(username, figure, motto, credits, vip_points, activity_points, rank, gender, reg_timestamp, reg_date, last_online, online, password, email, last_ip, vip, achievement_points)
- VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", [
- $username,
- $figure,
- '- Nouveau membre -',
- '1500000',
- '0',
- '0',
- '1',
- $genre,
- time(),
- time(),
- '0',
- $password,
- $email,
- $ip,
- '0',
- '0'
- ])) {
- return true;
- } else {
- return false;
- }
- }
- public function restrict(){
- if(!$this->session->getSessionValue('auth')){
- header('Location: ./index.php');
- exit();
- }
- }
- public function User(){
- if(!$this->session->read('auth')){
- return false;
- }
- return $this->session->read('auth');
- }
- public function connect($user){
- $this->session->write('auth', $user);
- }
- public function Login($bdd, $username, $password)
- {
- $req = $bdd->query("SELECT * FROM players WHERE username = ? OR email = ?", [$username, $username])->fetch(PDO::FETCH_OBJ);
- if($req){
- if (password_verify($password, $req->password)) {
- $bdd->query('UPDATE players SET last_online = ? AND last_ip = ? WHERE id = ?', [time(), Session::IP(), $req->id]);
- $this->connect($req);
- header('Refresh:2;url=./user.php');
- return $req;
- exit();
- }
- } else {
- return false;
- }
- }
- public function Logout(){
- $this->session->delete('auth');
- }
- public function getInfo($value){
- return htmlentities($_SESSION['auth']->$value);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement