Correction du repo 'admin' pour prendre en compte l'appartenance à un entrepot (implémentation manuelle)
This commit is contained in:
parent
6a5234917c
commit
6690a6e887
|
@ -105,17 +105,13 @@
|
|||
/* [3] Si authentification double
|
||||
=========================================================*/
|
||||
if( self::auth() >= 2 ){
|
||||
$checkBranch = new Repo('admin/getByToken', [ $_SESSION['AUTH'][1] ]);
|
||||
$checkBranch = new Repo('admin/getByToken', [ $_SESSION['WAREHOUSE']['id'], $_SESSION['AUTH'][1] ]);
|
||||
|
||||
/* (1) Si le token n'existe pas, on retourne une erreur */
|
||||
if( $checkBranch->answer() == false )
|
||||
return false;
|
||||
|
||||
/* (2) Si pas administrateur de l'entrepot, on retourne une erreur */
|
||||
if( $checkBranch->answer()[0]['id_warehouse'] != $_SESSION['WAREHOUSE']['id'] )
|
||||
return false;
|
||||
|
||||
/* (3) On met à jour les informations de l'administrateur */
|
||||
|
||||
/* (2) On met à jour les informations de l'administrateur */
|
||||
$_SESSION['ADMIN'] = [
|
||||
'id' => (int) $checkBranch->answer()[0]['id_admin'],
|
||||
'username' => $checkBranch->answer()[0]['username'],
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
|
||||
$nameFetched = $getName->answer();
|
||||
|
||||
// Si aucun résultat, on retourne une erreur
|
||||
// Si aucun résultat, on retourne le status FALSE
|
||||
if( count($nameFetched) == 0 )
|
||||
return [ 'status' => false ];
|
||||
|
||||
|
@ -42,7 +42,7 @@
|
|||
=========================================================*/
|
||||
$hash_password = sessionManager::secure_hash($password);
|
||||
|
||||
// Si mot de passe faux, on retourne une erreur
|
||||
// Si mot de passe faux, on retourne le status FALSE
|
||||
if( $nameFetched[0]['password'] != $hash_password )
|
||||
return [ 'status' => false ];
|
||||
|
||||
|
@ -81,11 +81,14 @@
|
|||
|
||||
/* [1] On recherche un entrepot avec ce nom
|
||||
=========================================================*/
|
||||
$getUsername = new Repo('admin/getByUsername', [$username]);
|
||||
$getUsername = new Repo('admin/getByUsername', [
|
||||
$_SESSION['WAREHOUSE']['id'],
|
||||
$username
|
||||
]);
|
||||
|
||||
$usernameFetched = $getUsername->answer();
|
||||
|
||||
// Si aucun résultat, on retourne une erreur
|
||||
// Si aucun résultat, on retourne le status FALSE
|
||||
if( count($usernameFetched) == 0 )
|
||||
return [ 'status' => false ];
|
||||
|
||||
|
@ -94,7 +97,7 @@
|
|||
=========================================================*/
|
||||
$hash_password = sessionManager::secure_hash($password);
|
||||
|
||||
// Si mot de passe faux, on retourne une erreur
|
||||
// Si mot de passe faux, on retourne le status FALSE
|
||||
if( $usernameFetched[0]['password'] != $hash_password )
|
||||
return [ 'status' => false ];
|
||||
|
||||
|
|
|
@ -191,6 +191,162 @@
|
|||
|
||||
|
||||
|
||||
/* RETOURNE UN ADMINISTRATEUR PARTICULIER
|
||||
*
|
||||
* @id_warehouse<int> UID de l'entrepot
|
||||
* @id_admin<String> Token de l'administrateur en question
|
||||
*
|
||||
* @return admin<Array> Retourne le premier résultat
|
||||
* FALSE si erreur
|
||||
*
|
||||
*/
|
||||
public static function getById($id_warehouse, $id_admin){
|
||||
/* [1] On redige/execute la requete
|
||||
=========================================================*/
|
||||
$get_admin = Database::getPDO()->prepare("SELECT *
|
||||
FROM admin
|
||||
WHERE id_warehouse = :id_warehouse
|
||||
AND id_admin = :id_admin");
|
||||
$get_admin->execute([
|
||||
':id_warehouse' => $id_warehouse,
|
||||
':id_admin' => $id_admin
|
||||
]);
|
||||
|
||||
$fetched = $get_admin->fetch();
|
||||
|
||||
/* [2] On vérifie qu'on a trouvé qqch
|
||||
=========================================================*/
|
||||
if( $fetched === false )
|
||||
return false;
|
||||
|
||||
// On retourne le résultat
|
||||
return Database::delNumeric( $fetched, true );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RETOURNE UN ADMINISTRATEUR PARTICULIER
|
||||
*
|
||||
* @id_warehouse<int> UID de l'entrepot
|
||||
* @username<String> Identifiant de l'administrateur en question
|
||||
*
|
||||
* @return admin<Array> Retourne le premier résultat
|
||||
* FALSE si erreur
|
||||
*
|
||||
*/
|
||||
public static function getByUsername($id_warehouse, $username){
|
||||
/* [1] On redige/execute la requete
|
||||
=========================================================*/
|
||||
$get_admin = Database::getPDO()->prepare("SELECT *
|
||||
FROM admin
|
||||
WHERE id_warehouse = :id_warehouse
|
||||
AND username = :username");
|
||||
$get_admin->execute([
|
||||
':id_warehouse' => $id_warehouse,
|
||||
':username' => $username
|
||||
]);
|
||||
|
||||
$fetched = $get_admin->fetch();
|
||||
|
||||
/* [2] On vérifie qu'on a trouvé qqch
|
||||
=========================================================*/
|
||||
if( $fetched === false )
|
||||
return false;
|
||||
|
||||
// On retourne le résultat
|
||||
return Database::delNumeric( $fetched, true );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RETOURNE UN ADMINISTRATEUR PARTICULIER
|
||||
*
|
||||
* @id_warehouse<int> UID de l'entrepot
|
||||
* @mail<String> Adresse mail de l'administrateur en question
|
||||
*
|
||||
* @return admin<Array> Retourne le premier résultat
|
||||
* FALSE si erreur
|
||||
*
|
||||
*/
|
||||
public static function getByMail($id_warehouse, $mail){
|
||||
/* [1] On redige/execute la requete
|
||||
=========================================================*/
|
||||
$get_admin = Database::getPDO()->prepare("SELECT *
|
||||
FROM admin
|
||||
WHERE id_warehouse = :id_warehouse
|
||||
AND mail = :mail");
|
||||
$get_admin->execute([
|
||||
':id_warehouse' => $id_warehouse,
|
||||
':mail' => $mail
|
||||
]);
|
||||
|
||||
$fetched = $get_admin->fetch();
|
||||
|
||||
/* [2] On vérifie qu'on a trouvé qqch
|
||||
=========================================================*/
|
||||
if( $fetched === false )
|
||||
return false;
|
||||
|
||||
// On retourne le résultat
|
||||
return Database::delNumeric( $fetched, true );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RETOURNE UN ADMINISTRATEUR PARTICULIER
|
||||
*
|
||||
* @id_warehouse<int> UID de l'entrepot
|
||||
* @token<String> Token de l'administrateur en question
|
||||
*
|
||||
* @return admin<Array> Retourne le premier résultat
|
||||
* FALSE si erreur
|
||||
*
|
||||
*/
|
||||
public static function getByToken($id_warehouse, $token){
|
||||
/* [1] On redige/execute la requete
|
||||
=========================================================*/
|
||||
$get_admin = Database::getPDO()->prepare("SELECT *
|
||||
FROM admin
|
||||
WHERE id_warehouse = :id_warehouse
|
||||
AND token = :token");
|
||||
$get_admin->execute([
|
||||
':id_warehouse' => $id_warehouse,
|
||||
':token' => $token
|
||||
]);
|
||||
|
||||
$fetched = $get_admin->fetch();
|
||||
|
||||
/* [2] On vérifie qu'on a trouvé qqch
|
||||
=========================================================*/
|
||||
if( $fetched === false )
|
||||
return false;
|
||||
|
||||
// On retourne le résultat
|
||||
return Database::delNumeric( $fetched, true );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue