D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home1
/
netbooks
/
public_html
/
__nbgym
/
models
/
Filename :
login.php
back
Copy
<?php include('../includes/conecta.php'); include('../includes/conecta_controlo.php'); include($retrocede.'models/jwt_token.php'); include($retrocede.'includes/Mobile_detect.php'); include($retrocede.'includes/detect.php'); class Login { function __construct() { $this->auth = new database(); $this->auth_controlo = new database_controlo(); } function ValidaLogin($username, $password) { $conexao=$this->auth; $token_jwt = ''; try { $gerais = new Gerais(); $r = $conexao->selectDB("SELECT id, nome_utilizador, password, imagem, tipo_utilizador, id_personal_trainer FROM utilizadores WHERE username='".$gerais->safeData($username)."' OR email='".$gerais->safeData($username)."' LIMIT 1", null); if(count($r) == 1) { $r = $r[0]; if(password_verify($gerais->safeData($password), $r->password)) { $db = new database(); $detect = new Mobile_Detect; if ($detect->isMobile()) { $plataforma = 'mobile'; $mo = 'S'; } else if($detect->isTablet()) { $plataforma = 'tablet'; $mo = 'S'; } else { $plataforma = 'desktop'; $mo = 'N'; } $token = array(); $token['id'] = $r->id; $token['nome'] = $r->nome_utilizador; $token['tipo_utilizador'] = $r->tipo_utilizador; $token['id_personal_trainer'] = $r->id_personal_trainer; $gerais::PATH_CLIENTES.$gerais->dominio().'/users/'.$gerais->safeData($r->id).'/'.$r->imagem; $token['mobile'] = $mo; $token['random'] = mt_rand(); $token_jwt = JWT::encode($token, $db->getSecret()); $campos = array($r->id, $token_jwt, date('Y-m-d H:i:s'), date("Y-m-d H:i",strtotime("+ 365 days")), Detect::ip(), Detect::os(), $plataforma, Detect::ipCountry(), Detect::browser()); $i = $conexao->insertDB("INSERT INTO utilizadores_sessoes (id_utilizador, token, data_criacao, data_expira, ip, os, plataforma, pais, browser) VALUES(?,?,?,?,?,?,?,?,?)", $campos); $estado = 'sucesso'; } else { $estado = 'erro'; } } else { $estado = 'invalido'; } } catch(PDOException $e) { $estado = 'erro'; } $arr_res = array('status' => $estado, 'token' => $token_jwt); return json_encode($arr_res); } function validaDominio($dominio) { $conexao=$this->auth_controlo; $r = $conexao->selectDB("SELECT id FROM subscritores WHERE dominio = '".$dominio."'", null); return count($r); } function validaEmail($email) { $conexao=$this->auth; $r = $conexao->selectDB("SELECT id, nome_utilizador, email FROM utilizadores WHERE email = '".$email."' AND estado = 'A'", null); return $r; } function randomPasse() { $length = 8; $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_-=+;:,.?"; $password = substr( str_shuffle( $chars ), 0, $length ); return $password; } } ?>