Gestion des modules en BDD avec vérification des modules autorisés pour un entrepot
This commit is contained in:
parent
6458f831aa
commit
02e30d3293
|
@ -40,6 +40,22 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"download": {
|
||||||
|
|
||||||
|
"multiple": {
|
||||||
|
"description": "Download des données relatives aux sujets donnés.",
|
||||||
|
"permissions": ["admin"],
|
||||||
|
"options": { "download": true },
|
||||||
|
"parameters": {
|
||||||
|
"subjects": { "description": "Identifiants des sujets d'enquêtes à intégrer.", "type": "array<id>", "optional": true },
|
||||||
|
"phone": { "description": "Si vaut TRUE, renvoie les sujets cellulaires.", "type": "boolean", "optional": true },
|
||||||
|
"facebook": { "description": "Si vaut TRUE, renvoie les sujet facebook.", "type": "boolean", "optional": true },
|
||||||
|
"survey": { "description": "Si vaut TRUE, renvoie les sujets ResTIC.", "type": "boolean", "optional": true },
|
||||||
|
"all": { "description": "Si vaut TRUE, renvoie tous les sujets enregistrés.", "type": "boolean", "optional": true }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
"authentificationDefault": {
|
"authentificationDefault": {
|
||||||
"warehouse": {
|
"warehouse": {
|
||||||
"description": "Connexion de premier niveau : entrepot.",
|
"description": "Connexion de premier niveau : entrepot.",
|
||||||
|
@ -62,22 +78,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"download": {
|
|
||||||
|
|
||||||
"multiple": {
|
|
||||||
"description": "Download des données relatives aux sujets donnés.",
|
|
||||||
"permissions": ["admin"],
|
|
||||||
"options": { "download": true },
|
|
||||||
"parameters": {
|
|
||||||
"subjects": { "description": "Identifiants des sujets d'enquêtes à intégrer.", "type": "array<id>", "optional": true },
|
|
||||||
"phone": { "description": "Si vaut TRUE, renvoie les sujets cellulaires.", "type": "boolean", "optional": true },
|
|
||||||
"facebook": { "description": "Si vaut TRUE, renvoie les sujet facebook.", "type": "boolean", "optional": true },
|
|
||||||
"survey": { "description": "Si vaut TRUE, renvoie les sujets ResTIC.", "type": "boolean", "optional": true },
|
|
||||||
"all": { "description": "Si vaut TRUE, renvoie tous les sujets enregistrés.", "type": "boolean", "optional": true }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
"userDefault": {
|
"userDefault": {
|
||||||
|
|
|
@ -57,6 +57,8 @@
|
||||||
"getByName",
|
"getByName",
|
||||||
"getByToken",
|
"getByToken",
|
||||||
|
|
||||||
|
"getModules",
|
||||||
|
|
||||||
"updateToken"
|
"updateToken"
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|
|
@ -78,16 +78,20 @@
|
||||||
if( self::auth() >= 1 ){
|
if( self::auth() >= 1 ){
|
||||||
$checkRoot = new Repo('warehouse/getByToken', [ $_SESSION['AUTH'][0] ]);
|
$checkRoot = new Repo('warehouse/getByToken', [ $_SESSION['AUTH'][0] ]);
|
||||||
|
|
||||||
// Si le token n'existe pas
|
/* (1) Si le token n'existe pas, on retourne une erreur */
|
||||||
if( count($checkRoot->answer()) < 1 )
|
if( count($checkRoot->answer()) < 1 )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// On met à jour les informations
|
/* (2) On met à jour les informations de l'entrepot */
|
||||||
$_SESSION['WAREHOUSE'] = [
|
$_SESSION['WAREHOUSE'] = [
|
||||||
'id' => (int) $checkRoot->answer()[0]['id_warehouse'],
|
'id' => (int) $checkRoot->answer()[0]['id_warehouse'],
|
||||||
'name' => $checkRoot->answer()[0]['name'],
|
'name' => $checkRoot->answer()[0]['name']
|
||||||
'modules' => ['upload', 'method']
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
/* (3) On récupère les modules de l'entrepot */
|
||||||
|
$getModules = new Repo('warehouse/getModules', [ $_SESSION['WAREHOUSE']['id'] ]);
|
||||||
|
|
||||||
|
$_SESSION['WAREHOUSE']['modules'] = $getModules->answer();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* [3] Si authentification double
|
/* [3] Si authentification double
|
||||||
|
@ -95,15 +99,15 @@
|
||||||
if( self::auth() >= 2 ){
|
if( self::auth() >= 2 ){
|
||||||
$checkBranch = new Repo('admin/getByToken', [ $_SESSION['AUTH'][1] ]);
|
$checkBranch = new Repo('admin/getByToken', [ $_SESSION['AUTH'][1] ]);
|
||||||
|
|
||||||
// Si le token n'existe pas
|
/* (1) Si le token n'existe pas, on retourne une erreur */
|
||||||
if( count($checkBranch->answer()) < 1 )
|
if( count($checkBranch->answer()) < 1 )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Si pas administrateur de l'entrepot
|
/* (2) Si pas administrateur de l'entrepot, on retourne une erreur */
|
||||||
if( $checkBranch->answer()[0]['id_warehouse'] != $_SESSION['WAREHOUSE']['id'] )
|
if( $checkBranch->answer()[0]['id_warehouse'] != $_SESSION['WAREHOUSE']['id'] )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// On met à jour les informations
|
/* (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'],
|
||||||
|
|
|
@ -100,6 +100,44 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* RETOURNE LA LISTE DES MODULE D'UN ENTREPOT
|
||||||
|
*
|
||||||
|
* @return modules<Array> Liste des modules autorisés pour l'entrepot
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public static function getModules($id_warehouse){
|
||||||
|
/* [1] On récupère les modules
|
||||||
|
=========================================================*/
|
||||||
|
$getModules = Database::getPDO()->prepare("SELECT m.name
|
||||||
|
FROM warehouse_module as wm, module as m
|
||||||
|
WHERE wm.id_module = m.id_module
|
||||||
|
AND wm.id_warehouse = :id_warehouse
|
||||||
|
ORDER BY m.name ASC");
|
||||||
|
|
||||||
|
$getModules->execute([
|
||||||
|
':id_warehouse' => $id_warehouse
|
||||||
|
]);
|
||||||
|
|
||||||
|
$modules = $getModules->fetchAll();
|
||||||
|
|
||||||
|
/* [2] On formatte les données pour avoir 1 niveau de tableau
|
||||||
|
=========================================================*/
|
||||||
|
foreach($modules as $m=>$module)
|
||||||
|
$modules[$m] = $module['name'];
|
||||||
|
|
||||||
|
|
||||||
|
/* [3] On retourne la liste
|
||||||
|
=========================================================*/
|
||||||
|
return Database::delNumeric( $modules );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* MODIFICATION D'UN ENTREPOT
|
/* MODIFICATION D'UN ENTREPOT
|
||||||
*
|
*
|
||||||
* @id_warehouse<int> UID de l'entrepot
|
* @id_warehouse<int> UID de l'entrepot
|
||||||
|
|
Loading…
Reference in New Issue