Correction du repo 'admin' pour prendre en compte l'appartenance à un entrepot (implémentation manuelle)
This commit is contained in:
parent
61571b1105
commit
7a08fd7e29
|
@ -105,17 +105,13 @@
|
||||||
/* [3] Si authentification double
|
/* [3] Si authentification double
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
if( self::auth() >= 2 ){
|
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 */
|
/* (1) Si le token n'existe pas, on retourne une erreur */
|
||||||
if( $checkBranch->answer() == false )
|
if( $checkBranch->answer() == false )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
/* (2) Si pas administrateur de l'entrepot, on retourne une erreur */
|
/* (2) On met à jour les informations de l'administrateur */
|
||||||
if( $checkBranch->answer()[0]['id_warehouse'] != $_SESSION['WAREHOUSE']['id'] )
|
|
||||||
return false;
|
|
||||||
|
|
||||||
/* (3) On met à jour les informations de l'administrateur */
|
|
||||||
$_SESSION['ADMIN'] = [
|
$_SESSION['ADMIN'] = [
|
||||||
'id' => (int) $checkBranch->answer()[0]['id_admin'],
|
'id' => (int) $checkBranch->answer()[0]['id_admin'],
|
||||||
'username' => $checkBranch->answer()[0]['username'],
|
'username' => $checkBranch->answer()[0]['username'],
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
|
|
||||||
$nameFetched = $getName->answer();
|
$nameFetched = $getName->answer();
|
||||||
|
|
||||||
// Si aucun résultat, on retourne une erreur
|
// Si aucun résultat, on retourne le status FALSE
|
||||||
if( count($nameFetched) == 0 )
|
if( count($nameFetched) == 0 )
|
||||||
return [ 'status' => false ];
|
return [ 'status' => false ];
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$hash_password = sessionManager::secure_hash($password);
|
$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 )
|
if( $nameFetched[0]['password'] != $hash_password )
|
||||||
return [ 'status' => false ];
|
return [ 'status' => false ];
|
||||||
|
|
||||||
|
@ -81,11 +81,14 @@
|
||||||
|
|
||||||
/* [1] On recherche un entrepot avec ce nom
|
/* [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();
|
$usernameFetched = $getUsername->answer();
|
||||||
|
|
||||||
// Si aucun résultat, on retourne une erreur
|
// Si aucun résultat, on retourne le status FALSE
|
||||||
if( count($usernameFetched) == 0 )
|
if( count($usernameFetched) == 0 )
|
||||||
return [ 'status' => false ];
|
return [ 'status' => false ];
|
||||||
|
|
||||||
|
@ -94,7 +97,7 @@
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$hash_password = sessionManager::secure_hash($password);
|
$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 )
|
if( $usernameFetched[0]['password'] != $hash_password )
|
||||||
return [ 'status' => false ];
|
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