124 lines
3.1 KiB
PHP
Executable File
124 lines
3.1 KiB
PHP
Executable File
<?php
|
|
|
|
namespace api\module;
|
|
use \database\core\DatabaseDriver;
|
|
use \manager\sessionManager;
|
|
use \api\core\Authentification;
|
|
use \database\core\Repo;
|
|
use \manager\repo\cluster as clusterRepo;
|
|
|
|
class authentificationDefault{
|
|
|
|
public function __construct(){
|
|
// Routine to execute before each call to authentificationDefault's method
|
|
}
|
|
|
|
public function __destruct(){
|
|
// Routine to execute after each call to authentificationDefault's method
|
|
}
|
|
|
|
/* CONNEXION A UN ENTREPOT
|
|
*
|
|
* @name<String> Nom de l'entrepot
|
|
* @password<String> Mot de passe de l'entrepot
|
|
*
|
|
* @return status<Boolean> TRUE si les crédits sont bons, sinon FALSE
|
|
*
|
|
*/
|
|
public function warehouse($params){
|
|
extract($params);
|
|
|
|
|
|
/* [0] Par défaut, on déconnecte
|
|
=========================================================*/
|
|
$_SESSION['AUTH'] = [];
|
|
|
|
|
|
/* [1] On recherche un entrepot avec ce nom
|
|
=========================================================*/
|
|
$getName = new Repo('warehouse/getByName', [$name]);
|
|
|
|
$nameFetched = $getName->answer();
|
|
|
|
// Si aucun résultat, on retourne le status FALSE
|
|
if( count($nameFetched) == 0 )
|
|
return [ 'status' => false ];
|
|
|
|
|
|
/* [2] On vérifie le mot de passe
|
|
=========================================================*/
|
|
$hash_password = sessionManager::secure_hash($password);
|
|
|
|
// Si mot de passe faux, on retourne le status FALSE
|
|
if( $nameFetched[0]['password'] != $hash_password )
|
|
return [ 'status' => false ];
|
|
|
|
|
|
/* [3] On définit le token
|
|
=========================================================*/
|
|
$_SESSION['AUTH'][0] = $nameFetched[0]['token'];
|
|
|
|
// On retourne le status
|
|
return [ 'status' => true ];
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* CONNEXION EN TANT QU'ADMINISTRATEUR
|
|
*
|
|
* @username<String> Nom de l'administrateur
|
|
* @password<String> Mot de passe de l'administrateur
|
|
*
|
|
* @return status<Boolean> TRUE si les crédits sont bons, sinon FALSE
|
|
*
|
|
*/
|
|
public function admin($params){
|
|
extract($params);
|
|
|
|
/* [0] Par défaut, on déconnecte l'administrateur
|
|
=========================================================*/
|
|
$_SESSION['AUTH'][1] = '';
|
|
|
|
|
|
/* [1] On recherche un administrateur avec ce nom
|
|
=========================================================*/
|
|
$getUsername = new Repo('admin/getByUsername', [
|
|
$_SESSION['WAREHOUSE']['id'],
|
|
$username
|
|
]);
|
|
|
|
$usernameFetched = $getUsername->answer();
|
|
|
|
// Si aucun résultat, on retourne le status FALSE
|
|
if( $usernameFetched === false )
|
|
return [ 'status' => false ];
|
|
|
|
|
|
/* [2] On vérifie le mot de passe
|
|
=========================================================*/
|
|
$hash_password = sessionManager::secure_hash($password);
|
|
|
|
// Si mot de passe faux, on retourne le status FALSE
|
|
if( $usernameFetched['password'] != $hash_password )
|
|
return [ 'status' => false ];
|
|
|
|
|
|
/* [3] On définit le token
|
|
=========================================================*/
|
|
$_SESSION['AUTH'][1] = $usernameFetched['token'];
|
|
|
|
|
|
// On retourne le status
|
|
return [ 'status' => true ];
|
|
}
|
|
|
|
}
|
|
|
|
|
|
?>
|