SMMP/manager/module/authentificationDefault.php

115 lines
2.8 KiB
PHP
Raw Normal View History

<?php
namespace manager\module;
use \manager\Database;
use \manager\sessionManager;
use \manager\Authentification;
use \manager\ManagerError;
use \manager\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 une erreur
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 une erreur
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 entrepot avec ce nom
=========================================================*/
$getUsername = new Repo('admin/getByUsername', [$username]);
$usernameFetched = $getUsername->answer();
// Si aucun résultat, on retourne une erreur
if( count($usernameFetched) == 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 une erreur
if( $usernameFetched[0]['password'] != $hash_password )
return [ 'status' => false ];
/* [3] On définit le token
=========================================================*/
$_SESSION['AUTH'][1] = $usernameFetched[0]['token'];
// On retourne le status
return [ 'status' => true ];
}
}
?>