84 lines
2.3 KiB
PHP
Executable File
84 lines
2.3 KiB
PHP
Executable File
<?php
|
|
|
|
namespace manager\repo;
|
|
use \manager\Database;
|
|
|
|
class user{
|
|
|
|
|
|
/* VERIFICATION DU LOGIN/PASSWORD D'UN UTILISATEUR
|
|
*
|
|
* @login<String> Username ou Adresse mail de l'utilisateur
|
|
* @password<String> Password de l'utilisateur
|
|
*
|
|
* @return id_user<int> Retourne l'id de l'utilisateur si ses credentials sont bons
|
|
*
|
|
*/
|
|
public static function login($login, $password){
|
|
/* [0] Gestion des INPUT
|
|
=========================================================*/
|
|
$checker = Database::check('varchar(255)', $login);
|
|
$checker = $checker && Database::check('text', $password);
|
|
|
|
// Si les parametres sont incorrects, on retourne une erreur
|
|
if( !$checker ) return false;
|
|
|
|
|
|
/* [1] On verifie son login/password dans la BDD
|
|
=========================================================*/
|
|
$check = Database::getPDO()->prepare("SELECT id_user, login, permission
|
|
FROM users
|
|
WHERE ( login = :username OR mail = :mail ) AND password = :password");
|
|
$check->execute(array(
|
|
':username' => $login,
|
|
':mail' => $login,
|
|
':password' => sha1($password)
|
|
));
|
|
$result = $check->fetch();
|
|
|
|
/* [2] Gestion du retour
|
|
=========================================================*/
|
|
// Si on a rien trouve, on retourne une erreur
|
|
if( $result === false ) return false;
|
|
|
|
|
|
// On retourne le resultat
|
|
return Database::delNumeric( $result );
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* RETOURNE LES DONNEES D'UN UTILISATEUR D'ID DONNE
|
|
*
|
|
* @id_user<int> UID de l'utilisateur en question
|
|
*
|
|
* @return user<Array> Tableau contenant les donnees de l'utilisateur s'il existe sinon retourne FALSE
|
|
*
|
|
*/
|
|
public static function getById($id_user){
|
|
/* [1] On effectue la requete
|
|
=========================================================*/
|
|
$getUser = Database::getPDO()->prepare("SELECT id_user, login, mail, permission
|
|
FROM users
|
|
WHERE id_user = :id_user");
|
|
$getUser->execute(array( ':id_user' => $id_user ));
|
|
|
|
|
|
/* [2] On recupere le resultat de la requete
|
|
=========================================================*/
|
|
$userData = $getUser->fetch();
|
|
|
|
// Si l'utilisateur n'existe pas, on retourne FALSE
|
|
if( $userData === false ) return false;
|
|
|
|
/* [3] Gestion du retour
|
|
=========================================================*/
|
|
return Database::delNumeric( $userData );
|
|
}
|
|
|
|
}
|
|
|
|
|
|
?>
|