SMMP/build/api/module/authentificationDefault.php

117 lines
2.9 KiB
PHP
Raw Normal View History

<?php
2016-10-18 14:03:03 +00:00
namespace api\module;
use \database\core\Database;
use \manager\sessionManager;
2016-10-18 14:03:03 +00:00
use \api\core\Authentification;
2016-10-18 17:09:47 +00:00
use \error\core\Error;
2016-10-18 14:03:03 +00:00
use \database\core\Repo;
use \manager\repo\cluster as clusterRepo;
class authentificationDefault{
/* 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 static 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 static 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
2016-07-14 07:36:18 +00:00
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
2016-07-14 07:36:18 +00:00
if( $usernameFetched['password'] != $hash_password )
return [ 'status' => false ];
/* [3] On définit le token
=========================================================*/
2016-07-14 07:36:18 +00:00
$_SESSION['AUTH'][1] = $usernameFetched['token'];
// On retourne le status
return [ 'status' => true ];
}
}
?>