Suppression des non-administrateurs de : 1. BDD 2. Modules 3. Repo 4. Vue 5. Javascript
This commit is contained in:
parent
442ed330ae
commit
dc30fbfcca
|
@ -52,10 +52,10 @@
|
||||||
/* [3] Gestion des droits des utilisateurs
|
/* [3] Gestion des droits des utilisateurs
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
/* (1) Retourne si l'utilisateur est connecte ou non */
|
/* (1) Retourne si l'utilisateur est connecte ou non */
|
||||||
function connected(){ return isset($_SESSION['permission']) && count($_SESSION['permission']) > 0; }
|
function connected(){ return isset($_SESSION['permission']) && $_SESSION['permission']; }
|
||||||
|
|
||||||
/* (2) Retourne si l'utilisateur a le status en question */
|
/* (2) Retourne si l'utilisateur a le status en question */
|
||||||
function permission($type){ return connected() && in_array($type, $_SESSION['permission']); }
|
function permission(){ return connected() && $_SESSION['permission']; }
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -400,7 +400,8 @@
|
||||||
/* [3] Gestion si aucun token, avec utilisateur connecté
|
/* [3] Gestion si aucun token, avec utilisateur connecté
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
}else if( isset($_SESSION['permission']) )
|
}else if( isset($_SESSION['permission']) )
|
||||||
$local_permissions = $_SESSION['permission'];
|
$local_permissions = $_SESSION['permission'] ? ['admin'] : [];
|
||||||
|
|
||||||
// Si ni token, ni SESSION, erreur
|
// Si ni token, ni SESSION, erreur
|
||||||
else{
|
else{
|
||||||
$this->error = ManagerError::PermissionError;
|
$this->error = ManagerError::PermissionError;
|
||||||
|
@ -414,7 +415,7 @@
|
||||||
$permissions = $method['permissions'];
|
$permissions = $method['permissions'];
|
||||||
|
|
||||||
/* (2) Si aucune permission n'est definie, on laisse l'acces */
|
/* (2) Si aucune permission n'est definie, on laisse l'acces */
|
||||||
if( count($permissions) == 0 ) return true;
|
if( !$permissions == 0 ) return true;
|
||||||
|
|
||||||
/* (3) On verifie qu'il y a au moins une permission ok */
|
/* (3) On verifie qu'il y a au moins une permission ok */
|
||||||
foreach($permissions as $permission)
|
foreach($permissions as $permission)
|
||||||
|
|
|
@ -33,11 +33,10 @@
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$_SESSION['userid'] = $user['id_user'];
|
$_SESSION['userid'] = $user['id_user'];
|
||||||
$_SESSION['username'] = $user['login'];
|
$_SESSION['username'] = $user['login'];
|
||||||
$_SESSION['permission'] = explode( ',', str_replace(' ', '', $user['permission']) );
|
$_SESSION['permission'] = true;
|
||||||
|
|
||||||
/* [4] Retour de l'id user
|
/* [4] Retour de l'id user
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'ModuleError' => ManagerError::Success,
|
'ModuleError' => ManagerError::Success,
|
||||||
'id_user' => $user['id_user']
|
'id_user' => $user['id_user']
|
||||||
|
@ -77,11 +76,6 @@
|
||||||
// Si aucun utilisateur n'est trouve
|
// Si aucun utilisateur n'est trouve
|
||||||
if( count($user_data) == 0 ) return ['ModuleError' => ManagerError::ModuleError];
|
if( count($user_data) == 0 ) return ['ModuleError' => ManagerError::ModuleError];
|
||||||
|
|
||||||
|
|
||||||
/* [2] On met les permissions au bon format (string -> array)
|
|
||||||
=========================================================*/
|
|
||||||
$user_data[0]['permission'] = explode( ',', str_replace(' ', '', $user_data[0]['permission']) );
|
|
||||||
|
|
||||||
/* [3] Gestion du retour
|
/* [3] Gestion du retour
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
return [
|
return [
|
||||||
|
@ -107,11 +101,6 @@
|
||||||
// Si aucun utilisateur n'est trouve
|
// Si aucun utilisateur n'est trouve
|
||||||
if( $users_data === false ) return ['ModuleError' => ManagerError::ModuleError];
|
if( $users_data === false ) return ['ModuleError' => ManagerError::ModuleError];
|
||||||
|
|
||||||
/* [2] On met les permissions au bon format (string -> array)
|
|
||||||
=========================================================*/
|
|
||||||
foreach($users_data as $i=>$user)
|
|
||||||
$users_data[$i]['permission'] = explode( ',', str_replace(' ', '', $user['permission']) );
|
|
||||||
|
|
||||||
/* [3] Gestion du retour
|
/* [3] Gestion du retour
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
return [
|
return [
|
||||||
|
@ -129,8 +118,6 @@
|
||||||
* @login<String> Login (identifiant) de l'utilisateur
|
* @login<String> Login (identifiant) de l'utilisateur
|
||||||
* @password<String> Password de l'utilisateur
|
* @password<String> Password de l'utilisateur
|
||||||
* @mail<String> Adresse mail de l'utilisateur
|
* @mail<String> Adresse mail de l'utilisateur
|
||||||
* @reference<int> Reference vers une Personne (sinon NULL)
|
|
||||||
* @permissions<String> Liste des permissions de l'utilisateur
|
|
||||||
*
|
*
|
||||||
* @return id_user<int> Renvoie l'id de l'utilisateur cree
|
* @return id_user<int> Renvoie l'id de l'utilisateur cree
|
||||||
*
|
*
|
||||||
|
@ -141,13 +128,11 @@
|
||||||
/* [0] Verification et formattage des INPUT
|
/* [0] Verification et formattage des INPUT
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$password = sessionManager::sha1($password);
|
$password = sessionManager::sha1($password);
|
||||||
$reference = (is_numeric($reference)) ? (int) $reference : null;
|
|
||||||
$permission = ($permission=='admin') ? 'admin' : 'subject';
|
|
||||||
|
|
||||||
|
|
||||||
/* [1] Creation de l'utilisateur
|
/* [1] Creation de l'utilisateur
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$create = new Repo('user/create', [$login, $password, $mail, $reference, $permission]);
|
$create = new Repo('user/create', [$login, $password, $mail]);
|
||||||
$created_id = $create->answer();
|
$created_id = $create->answer();
|
||||||
|
|
||||||
// Si erreur de creation, on retourne une erreur
|
// Si erreur de creation, on retourne une erreur
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
|
|
||||||
/* [1] On verifie son login/password dans la BDD
|
/* [1] On verifie son login/password dans la BDD
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$check = Database::getPDO()->prepare("SELECT id_user, login, permission
|
$check = Database::getPDO()->prepare("SELECT id_user, login
|
||||||
FROM users
|
FROM users
|
||||||
WHERE ( login = :username OR mail = :mail ) AND password = :password");
|
WHERE ( login = :username OR mail = :mail ) AND password = :password");
|
||||||
$check->execute(array(
|
$check->execute(array(
|
||||||
|
@ -62,20 +62,16 @@
|
||||||
* @login<String> Login (identifiant) de l'utilisateur
|
* @login<String> Login (identifiant) de l'utilisateur
|
||||||
* @password<String> Password de l'utilisateur
|
* @password<String> Password de l'utilisateur
|
||||||
* @mail<String> Adresse mail de l'utilisateur
|
* @mail<String> Adresse mail de l'utilisateur
|
||||||
* @reference<int> Reference vers une Personne (sinon NULL)
|
|
||||||
* @permissions<Array> Liste des permissions de l'utilisateur
|
|
||||||
*
|
*
|
||||||
* @return id_user<int> Renvoie l'id de l'utilisateur cree ou FALSE si erreur
|
* @return id_user<int> Renvoie l'id de l'utilisateur cree ou FALSE si erreur
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static function create($login, $password, $mail, $reference, $permission){
|
public static function create($login, $password, $mail){
|
||||||
/* [0] Verification et formattage des INPUT
|
/* [0] Verification et formattage des INPUT
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$checkInput = Checker::run('hash', $password);
|
$checkInput = Checker::run('hash', $password);
|
||||||
$checkInput = $checkInput && Checker::run('varchar(3, 30)', $login);
|
$checkInput = $checkInput && Checker::run('varchar(3, 30)', $login);
|
||||||
$checkInput = $checkInput && Checker::run('mail', $mail);
|
$checkInput = $checkInput && Checker::run('mail', $mail);
|
||||||
$checkInput = $checkInput && ( Checker::run('id', $reference) || is_null($reference) );
|
|
||||||
$checkInput = $checkInput && in_array($permission, ['admin', 'subject']);
|
|
||||||
|
|
||||||
// Si erreur en entree, on retourne FAUX
|
// Si erreur en entree, on retourne FAUX
|
||||||
if( !$checkInput ) return false;
|
if( !$checkInput ) return false;
|
||||||
|
@ -86,12 +82,10 @@
|
||||||
$checkUnique = Database::getPDO()->prepare("SELECT id_user
|
$checkUnique = Database::getPDO()->prepare("SELECT id_user
|
||||||
FROM users
|
FROM users
|
||||||
WHERE login = :login
|
WHERE login = :login
|
||||||
OR mail = :mail
|
OR mail = :mail ");
|
||||||
OR ( reference = :reference AND reference is not NULL )");
|
|
||||||
$checkUnique->execute(array(
|
$checkUnique->execute(array(
|
||||||
':login' => $login,
|
':login' => $login,
|
||||||
':mail' => $mail,
|
':mail' => $mail
|
||||||
':reference' => $reference
|
|
||||||
));
|
));
|
||||||
|
|
||||||
// Si un utilisateur a le meme LOGIN/MAIL ou REFERENCE qu'un autre, on retourne une erreur
|
// Si un utilisateur a le meme LOGIN/MAIL ou REFERENCE qu'un autre, on retourne une erreur
|
||||||
|
@ -100,32 +94,13 @@
|
||||||
|
|
||||||
/* [2] Creation de l'utilisateur
|
/* [2] Creation de l'utilisateur
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
/* (1) Si reference NULL */
|
$create = Database::getPDO()->prepare("INSERT INTO users(id_user, login, password, mail)
|
||||||
if( $reference == null ){
|
VALUES(DEFAULT, :login, :password, :mail)");
|
||||||
|
$create->execute(array(
|
||||||
$create = Database::getPDO()->prepare("INSERT INTO users(id_user, login, password, mail, reference, permission)
|
':login' => $login,
|
||||||
VALUES(DEFAULT, :login, :password, :mail, NULL, :permission)");
|
':password' => $password,
|
||||||
$create->execute(array(
|
':mail' => $mail
|
||||||
':login' => $login,
|
));
|
||||||
':password' => $password,
|
|
||||||
':mail' => $mail,
|
|
||||||
':permission' => $permission
|
|
||||||
));
|
|
||||||
|
|
||||||
/* (2) Si reference est defini */
|
|
||||||
}else{
|
|
||||||
|
|
||||||
$create = Database::getPDO()->prepare("INSERT INTO users(id_user, login, password, mail, reference, permission)
|
|
||||||
VALUES(DEFAULT, :login, :password, :mail, :reference, :permission)");
|
|
||||||
$create->execute(array(
|
|
||||||
':login' => $login,
|
|
||||||
':password' => $password,
|
|
||||||
':mail' => $mail,
|
|
||||||
':reference' => (int) $reference,
|
|
||||||
':permission' => $permission
|
|
||||||
));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/* [3] Verification de la creation + recuperation id
|
/* [3] Verification de la creation + recuperation id
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
|
@ -133,15 +108,11 @@
|
||||||
FROM users
|
FROM users
|
||||||
WHERE login = :login
|
WHERE login = :login
|
||||||
AND password = :password
|
AND password = :password
|
||||||
AND mail = :mail
|
AND mail = :mail");
|
||||||
AND ( reference = :reference OR reference is NULL )
|
|
||||||
AND permission = :permission");
|
|
||||||
$checkCreate->execute(array(
|
$checkCreate->execute(array(
|
||||||
':login' => $login,
|
':login' => $login,
|
||||||
':password' => $password,
|
':password' => $password,
|
||||||
':mail' => $mail,
|
':mail' => $mail
|
||||||
':reference' => (int) $reference,
|
|
||||||
':permission' => $permission
|
|
||||||
));
|
));
|
||||||
|
|
||||||
// On recupere l'id de l'utilisateur
|
// On recupere l'id de l'utilisateur
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
class lightdb{
|
class lightdb{
|
||||||
|
|
||||||
// REPERTOIRE RACINE DE TOUTES LES BDD
|
// REPERTOIRE RACINE DE TOUTES LES BDD
|
||||||
public static function default_root(){ return __BUILD__.'/lightdb/storage'; }
|
public static function default_root(){ return __BUILD__.'/lightdb/storage/'; }
|
||||||
|
|
||||||
// ATTRIBUTS
|
// ATTRIBUTS
|
||||||
private $root;
|
private $root;
|
||||||
|
|
|
@ -94,17 +94,15 @@
|
||||||
|
|
||||||
|
|
||||||
"create": {
|
"create": {
|
||||||
"description": "Creation d'un nouvel utilisateur.",
|
"description": "Creation d'un nouvel administrateur.",
|
||||||
"permissions": ["admin"],
|
"permissions": ["admin"],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
"login": { "description": "Login de l'utilisateur, 30 caracteres maximum.", "type": "varchar(3,30)" },
|
"login": { "description": "Login de l'administrateur, 30 caracteres maximum.", "type": "varchar(3,30)" },
|
||||||
"password": { "description": "Mot de passe de l'utilisateur.", "type": "text" },
|
"password": { "description": "Mot de passe de l'administrateur.", "type": "text" },
|
||||||
"mail": { "description": "Adresse mail de l'utilisateur.", "type": "mail" },
|
"mail": { "description": "Adresse mail de l'administrateur.", "type": "mail" }
|
||||||
"reference": { "description": "UID d'une personne d'un sondage, peut etre vide.", "type": "text" },
|
|
||||||
"permission": { "description": "Permissions de l'utilisateur : 'admin' ou 'subject'", "type": "varchar(5,7)" }
|
|
||||||
},
|
},
|
||||||
"output": {
|
"output": {
|
||||||
"id_user": { "description": "Identifiant de l'utilisateur créé", "type": "id" }
|
"id_user": { "description": "Identifiant de l'administrateur créé", "type": "id" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
{
|
{
|
||||||
|
|
||||||
"local" : {
|
"local" : {
|
||||||
"host" : "http://socioview",
|
"host" : "http://nxtic/",
|
||||||
"root" : "/"
|
"root" : "/"
|
||||||
},
|
},
|
||||||
|
|
||||||
"remote" : {
|
"remote" : {
|
||||||
"host" : "https://socioview.xdrm.io",
|
"host" : "https://nxtic.xdrm.io/",
|
||||||
"root" : "/"
|
"root" : "/"
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,6 @@
|
||||||
use \manager\MenuManager;
|
use \manager\MenuManager;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************/
|
/*******************************************/
|
||||||
/* DEBUGGER */
|
/* DEBUGGER */
|
||||||
/*******************************************/
|
/*******************************************/
|
||||||
|
@ -27,13 +26,13 @@
|
||||||
/* (1) Valeurs par defaut */
|
/* (1) Valeurs par defaut */
|
||||||
if( !isset($_SESSION['userid']) ) $_SESSION['userid'] = null;
|
if( !isset($_SESSION['userid']) ) $_SESSION['userid'] = null;
|
||||||
if( !isset($_SESSION['username']) ) $_SESSION['username'] = null;
|
if( !isset($_SESSION['username']) ) $_SESSION['username'] = null;
|
||||||
if( !isset($_SESSION['permission']) ) $_SESSION['permission'] = [];
|
if( !isset($_SESSION['permission']) ) $_SESSION['permission'] = false;
|
||||||
|
|
||||||
|
|
||||||
/* (2) Gestion de la connection */
|
/* (2) Gestion de la connection */
|
||||||
$login_vars = isset($_POST['login-sub']);
|
$login_vars = isset($_POST['login-sub']);
|
||||||
$login_vars = $login_vars && isset($_POST['login']) && Checker::run('varchar(3,50)', $_POST['login']);
|
$login_vars = $login_vars && isset($_POST['login']);
|
||||||
$login_vars = $login_vars && isset($_POST['password']) && Checker::run('text', $_POST['password']);
|
$login_vars = $login_vars && isset($_POST['password']);
|
||||||
|
|
||||||
// Status de login
|
// Status de login
|
||||||
$_SESSION['login_status'] = 'no';
|
$_SESSION['login_status'] = 'no';
|
||||||
|
|
|
@ -147,7 +147,7 @@ var navMenu = function(section){
|
||||||
|
|
||||||
|
|
||||||
var refresher = function(){
|
var refresher = function(){
|
||||||
navSubMenu();
|
navSubMenu(pageManager.vars[0]);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -159,7 +159,7 @@ DOM = {
|
||||||
HEADER: $('body > #WRAPPER > #HEADER'),
|
HEADER: $('body > #WRAPPER > #HEADER'),
|
||||||
MENUSIDE: $('body > #WRAPPER > #MENU-SIDE'),
|
MENUSIDE: $('body > #WRAPPER > #MENU-SIDE'),
|
||||||
CONTAINER: $('body > #WRAPPER > #CONTAINER')
|
CONTAINER: $('body > #WRAPPER > #CONTAINER')
|
||||||
};
|
};
|
||||||
|
|
||||||
// On cree une instance de l'api
|
// On cree une instance de l'api
|
||||||
api = new APIClass('/api/');
|
api = new APIClass('/api/');
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
var DOM,pageManager,api,Notification,navSubMenu=function(a){var c=$("#MENU-SIDE > span[data-link="+pageManager.page+'] + div.sub > span[data-sublink="'+pageManager.vars[0]+'"]'),b=null,b=a instanceof Element?a:null,b="string"==typeof a?$("#MENU-SIDE > span[data-link="+pageManager.page+'] + div.sub > span[data-sublink="'+a+'"]'):b,b=null==b?$("#MENU-SIDE > span[data-link="+pageManager.page+"] + div.sub > span[data-sublink]"):b;if(null==b)return!1;null!=c&&c.remClass("active");c=$$("#CONTAINER > section[data-sublink].active");
|
var DOM,pageManager,api,Notification,navSubMenu=function(a){var c=$("#MENU-SIDE > span[data-link="+pageManager.page+'] + div.sub > span[data-sublink="'+pageManager.vars[0]+'"]'),b=null,b=a instanceof Element?a:null,b="string"==typeof a?$("#MENU-SIDE > span[data-link="+pageManager.page+'] + div.sub > span[data-sublink="'+a+'"]'):b,b=null==b?$("#MENU-SIDE > span[data-link="+pageManager.page+"] + div.sub > span[data-sublink]"):b;if(null==b)return!1;null!=c&&c.remClass("active");c=$$("#CONTAINER > section[data-sublink].active");
|
||||||
for(a=0;a<c.length;a++)c[a].remClass("active");if(null!=b)for(b.addClass("active"),c=$$('#CONTAINER > section[data-sublink="'+b.getData("sublink")+'"]'),a=0;a<c.length;a++)c[a].addClass("active");if(!b.getData("sublink"))return!1;a=pageManager.vars[0]!=b.getData("sublink");pageManager.vars[0]=b.getData("sublink");a&&pageManager.updateURL()},navMenu=function(a){var c=$('#WRAPPER > #MENU-SIDE > span[data-link="'+pageManager.page+'"]'),b=null,b=a instanceof Element?a:null,b=(b="string"==typeof a?$('#WRAPPER > #MENU-SIDE > span[data-link="'+
|
for(a=0;a<c.length;a++)c[a].remClass("active");if(null!=b)for(b.addClass("active"),c=$$('#CONTAINER > section[data-sublink="'+b.getData("sublink")+'"]'),a=0;a<c.length;a++)c[a].addClass("active");if(!b.getData("sublink"))return!1;a=pageManager.vars[0]!=b.getData("sublink");pageManager.vars[0]=b.getData("sublink");a&&pageManager.updateURL()},navMenu=function(a){var c=$('#WRAPPER > #MENU-SIDE > span[data-link="'+pageManager.page+'"]'),b=null,b=a instanceof Element?a:null,b=(b="string"==typeof a?$('#WRAPPER > #MENU-SIDE > span[data-link="'+
|
||||||
a+'"]'):b)||$('#WRAPPER > #MENU-SIDE > span[data-link="'+pageManager.pagelist[0]+'"]');if(null==b)return!1;c&&c.remClass("active");b&&b.addClass("active");b.getData("link")&&(DOM.HEADER.addClass("loading"),a=function(){1<=pageManager.vars.length&&null!=$('#CONTAINER > section[data-sublink="'+pageManager.vars[0]+'"]')?navSubMenu(pageManager.vars[0]):navSubMenu(null);var a=$("#MENU-SIDE > span[data-link="+pageManager.page+"] + div.sub");null!=a&&a.addEventListener("click",function(a){for(a=a.target;a!=
|
a+'"]'):b)||$('#WRAPPER > #MENU-SIDE > span[data-link="'+pageManager.pagelist[0]+'"]');if(null==b)return!1;c&&c.remClass("active");b&&b.addClass("active");b.getData("link")&&(DOM.HEADER.addClass("loading"),a=function(){1<=pageManager.vars.length&&null!=$('#CONTAINER > section[data-sublink="'+pageManager.vars[0]+'"]')?navSubMenu(pageManager.vars[0]):navSubMenu(null);var a=$("#MENU-SIDE > span[data-link="+pageManager.page+"] + div.sub");null!=a&&a.addEventListener("click",function(a){for(a=a.target;a!=
|
||||||
document.body&&!a.getData("sublink");)a=a.parentNode;a.getData("sublink")&&navSubMenu(a)},!1);DOM.HEADER.remClass("loading")},pageManager.page!=b.getData("link")&&pageManager.setPage(b.getData("link")),pageManager.activeXHR?pageManager.activeXHR.addEventListener("loadend",a,!1):a.call())},refresher=function(){navSubMenu()};DOM={WRAPPER:$("body > #WRAPPER"),HEADER:$("body > #WRAPPER > #HEADER"),MENUSIDE:$("body > #WRAPPER > #MENU-SIDE"),CONTAINER:$("body > #WRAPPER > #CONTAINER")};api=new APIClass("/api/");
|
document.body&&!a.getData("sublink");)a=a.parentNode;a.getData("sublink")&&navSubMenu(a)},!1);DOM.HEADER.remClass("loading")},pageManager.page!=b.getData("link")&&pageManager.setPage(b.getData("link")),pageManager.activeXHR?pageManager.activeXHR.addEventListener("loadend",a,!1):a.call())},refresher=function(){navSubMenu(pageManager.vars[0])};DOM={WRAPPER:$("body > #WRAPPER"),HEADER:$("body > #WRAPPER > #HEADER"),MENUSIDE:$("body > #WRAPPER > #MENU-SIDE"),CONTAINER:$("body > #WRAPPER > #CONTAINER")};
|
||||||
Notification=new NotificationClass($("#notification-container"));Notification.defaultTimeout=4E3;
|
api=new APIClass("/api/");Notification=new NotificationClass($("#notification-container"));Notification.defaultTimeout=4E3;
|
||||||
Notification.errorCodes={"-1":"Erreur de r\u00e9seau, veuillez recharger la page et r\u00e9essayer",0:"Erreur interne",1:"Erreur interne",2:"Erreur interne",3:"Le fichier est introuvable",4:"Erreur interne",5:"Erreur interne",6:"Erreur interne",7:"Erreur interne",8:"Erreur interne",9:"Certaines donn\u00e9es sont manquantes",10:"Erreur interne",11:"Erreur interne",12:"Erreur interne",13:"Erreur interne",14:"Erreur interne",15:"Erreur interne",16:"Vous n'avez pas la permission d'effectuer cette action",
|
Notification.errorCodes={"-1":"Erreur de r\u00e9seau, veuillez recharger la page et r\u00e9essayer",0:"Erreur interne",1:"Erreur interne",2:"Erreur interne",3:"Le fichier est introuvable",4:"Erreur interne",5:"Erreur interne",6:"Erreur interne",7:"Erreur interne",8:"Erreur interne",9:"Certaines donn\u00e9es sont manquantes",10:"Erreur interne",11:"Erreur interne",12:"Erreur interne",13:"Erreur interne",14:"Erreur interne",15:"Erreur interne",16:"Vous n'avez pas la permission d'effectuer cette action",
|
||||||
17:"Le t\u00e9l\u00e9chargement a \u00e9chou\u00e9",18:"Le fichier est invalide (format incorrect)"};lsi.setStorage(localStorage);DOM.MENUSIDE.addEventListener("click",function(a){for(a=a.target;a!=document.body&&!a.getData("link");)a=a.parentNode;a.getData("link")&&navMenu(a.getData("link"))},!1);function reload(){pageManager.refresh()}var LOGIN={show:document.getElementById("user-data"),hide:document.getElementById("login-close"),page:document.getElementById("LOGIN")};
|
17:"Le t\u00e9l\u00e9chargement a \u00e9chou\u00e9",18:"Le fichier est invalide (format incorrect)"};lsi.setStorage(localStorage);DOM.MENUSIDE.addEventListener("click",function(a){for(a=a.target;a!=document.body&&!a.getData("link");)a=a.parentNode;a.getData("link")&&navMenu(a.getData("link"))},!1);function reload(){pageManager.refresh()}var LOGIN={show:document.getElementById("user-data"),hide:document.getElementById("login-close"),page:document.getElementById("LOGIN")};
|
||||||
LOGIN.show.addEventListener("click",function(a){LOGIN.page.className="active"},!1);LOGIN.hide.addEventListener("click",function(a){LOGIN.page.className=""},!1);api.send({path:"download/menu"},function(a){if(0===a.ModuleError){pagelist=[];for(var c=0;c<a.menu.length;c++)pagelist.push(a.menu[c].attributes["data-link"]);pageManager=new pageManagerClass;pageManager.setPage(null,"/view",DOM.CONTAINER,pagelist,null);pageManager.refresh(refresher);navMenu(pageManager.page)}});
|
LOGIN.show.addEventListener("click",function(a){LOGIN.page.className="active"},!1);LOGIN.hide.addEventListener("click",function(a){LOGIN.page.className=""},!1);api.send({path:"download/menu"},function(a){if(0===a.ModuleError){pagelist=[];for(var c=0;c<a.menu.length;c++)pagelist.push(a.menu[c].attributes["data-link"]);pageManager=new pageManagerClass;pageManager.setPage(null,"/view",DOM.CONTAINER,pagelist,null);pageManager.refresh(refresher);navMenu(pageManager.page)}});
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
var TOKEN={add:{toggle:document.getElementById("add-token"),panel:$("[data-sublink='tokens'] div[data-add]"),state:!0,submit:$("[data-sublink='tokens'] div[data-add] #add-token-submit")},remove:{buttons:$$(".remove-token")}},tokenDeflater=new FormDeflater(TOKEN.add.panel,["input"],["id"]);TOKEN.add.toggle.addEventListener("click",function(a){TOKEN.add.state?TOKEN.add.panel.addClass("active"):TOKEN.add.panel.remClass("active");TOKEN.add.state=!TOKEN.add.state},!1);
|
var TOKEN={add:{toggle:document.getElementById("add-token"),panel:$("[data-sublink='tokens'] div[data-add]"),state:!0,submit:$("[data-sublink='tokens'] div[data-add] #add-token-submit")},remove:{buttons:$$(".remove-token")}},tokenDeflater=new FormDeflater(TOKEN.add.panel,["input"],["id"]);TOKEN.add.toggle.addEventListener("click",function(a){TOKEN.add.state?TOKEN.add.panel.addClass("active"):TOKEN.add.panel.remClass("active");TOKEN.add.state=!TOKEN.add.state},!1);
|
||||||
TOKEN.add.submit.addEventListener("click",function(a){a=tokenDeflater.deflate();api.send({path:"token/generate",name:a["add-name"],duration:a["add-duration"]},function(a){0==a.ModuleError&&reload()})},!1);for(var i=0;i<TOKEN.remove.buttons.length;i++)TOKEN.remove.buttons[i].addEventListener("click",function(a){a=a.target.parentNode.getData("id");0==a?console.warn("id du token non trouvee"):api.send({path:"token/remove",token_id:a},function(a){0==a.ModuleError&&reload()})},!1);
|
TOKEN.add.submit.addEventListener("click",function(a){a=tokenDeflater.deflate();api.send({path:"token/generate",name:a["add-name"],duration:a["add-duration"]},function(a){0==a.ModuleError&&reload()})},!1);for(var i=0;i<TOKEN.remove.buttons.length;i++)TOKEN.remove.buttons[i].addEventListener("click",function(a){a=a.target.parentNode.getData("id");0==a?console.warn("id du token non trouvee"):api.send({path:"token/remove",token_id:a},function(a){0==a.ModuleError&&reload()})},!1);
|
||||||
var USERS={add:{toggle:document.getElementById("add-user"),panel:$("[data-sublink='users'] div[data-add]"),state:!0,submit:$("[data-sublink='users'] div[data-add] #add-user-submit")},remove:{buttons:$$(".remove-user")}},userDefalter=new FormDeflater(USERS.add.panel,["input"],["id"]);USERS.add.toggle.addEventListener("click",function(a){USERS.add.state?USERS.add.panel.addClass("active"):USERS.add.panel.remClass("active");USERS.add.state=!USERS.add.state},!1);
|
var USERS={add:{toggle:document.getElementById("add-user"),panel:$("[data-sublink='users'] div[data-add]"),state:!0,submit:$("[data-sublink='users'] div[data-add] #add-user-submit")},remove:{buttons:$$(".remove-user")}},userDefalter=new FormDeflater(USERS.add.panel,["input"],["id"]);USERS.add.toggle.addEventListener("click",function(a){USERS.add.state?USERS.add.panel.addClass("active"):USERS.add.panel.remClass("active");USERS.add.state=!USERS.add.state},!1);
|
||||||
USERS.add.submit.addEventListener("click",function(a){a=userDefalter.deflate();a["add-password"]==a["add-password2"]&&api.send({path:"user/create",login:a["add-login"],password:a["add-password"],mail:a["add-mail"],reference:a["add-reference"],permission:a["add-admin"]},function(a){console.log(a);0==a.ModuleError&&reload()})},!1);
|
USERS.add.submit.addEventListener("click",function(a){a=userDefalter.deflate();a["add-password"]==a["add-password2"]&&api.send({path:"user/create",login:a["add-login"],password:a["add-password"],mail:a["add-mail"]},function(a){console.log(a);0==a.ModuleError&&reload()})},!1);
|
||||||
for(i=0;i<USERS.remove.buttons.length;i++)USERS.remove.buttons[i].addEventListener("click",function(a){a=a.target.parentNode.getData("id");0==a?console.warn("id de l'utilisateur non trouvee"):api.send({path:"user/remove",id_user:a},function(a){0==a.ModuleError&&reload()})},!1);
|
for(i=0;i<USERS.remove.buttons.length;i++)USERS.remove.buttons[i].addEventListener("click",function(a){a=a.target.parentNode.getData("id");0==a?console.warn("id de l'utilisateur non trouvee"):api.send({path:"user/remove",id_user:a},function(a){0==a.ModuleError&&reload()})},!1);
|
||||||
|
|
|
@ -64,7 +64,7 @@ for( var i = 0 ; i < TOKEN.remove.buttons.length ; i++ ){
|
||||||
|
|
||||||
/* (2.2) On lance la suppression */
|
/* (2.2) On lance la suppression */
|
||||||
var request = { // on ecrit la requete
|
var request = { // on ecrit la requete
|
||||||
'path': 'token/remove',
|
'path': 'token/remove',
|
||||||
'token_id': token_id
|
'token_id': token_id
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -86,11 +86,11 @@ for( var i = 0 ; i < TOKEN.remove.buttons.length ; i++ ){
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
var USERS = {
|
var USERS = {
|
||||||
add: { // Tout ce qui attrait a l'ajout
|
add: { // Tout ce qui attrait a l'ajout
|
||||||
toggle: document.getElementById('add-user'), // bouton de toggle pour l'affichage du panel
|
toggle: document.getElementById('add-user'), // bouton de toggle pour l'affichage du panel
|
||||||
panel: $("[data-sublink='users'] div[data-add]"), // formulaire de creation
|
panel: $("[data-sublink='users'] div[data-add]"), // formulaire de creation
|
||||||
state: true, // etat (visible ou non) du panel
|
state: true, // etat (visible ou non) du panel
|
||||||
|
|
||||||
submit: $("[data-sublink='users'] div[data-add] #add-user-submit") // validation de la creation
|
submit: $("[data-sublink='users'] div[data-add] #add-user-submit") // validation de la creation
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
@ -131,9 +131,7 @@ var userDefalter = new FormDeflater(USERS.add.panel, ['input'], ['id']);
|
||||||
'path': 'user/create',
|
'path': 'user/create',
|
||||||
'login': form['add-login'],
|
'login': form['add-login'],
|
||||||
'password': form['add-password'],
|
'password': form['add-password'],
|
||||||
'mail': form['add-mail'],
|
'mail': form['add-mail']
|
||||||
'reference': form['add-reference'],
|
|
||||||
'permission': form['add-admin']
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// On lance la requete
|
// On lance la requete
|
||||||
|
|
|
@ -78,45 +78,41 @@ if( permission('admin') ){
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
/* [2] Gestion des utilisateurs
|
/* [2] Gestion des administrateurs
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
// permission: admin
|
// permission: admin
|
||||||
//=======================================================//
|
//=======================================================//
|
||||||
|
|
||||||
/* (1) On recupere la liste des utilisateurs */
|
/* (1) On recupere la liste des administrateurs */
|
||||||
$req_users = new ModuleRequest('user/getAll');
|
$req_users = new ModuleRequest('user/getAll');
|
||||||
$answer_users = $req_users->dispatch();
|
$answer_users = $req_users->dispatch();
|
||||||
// Si erreur de requete
|
// Si erreur de requete
|
||||||
if( $answer_users->error != ManagerError::Success )
|
if( $answer_users->error != ManagerError::Success )
|
||||||
var_dump( ManagerError::explicit($answer_users->error) );
|
var_dump( ManagerError::explicit($answer_users->error) );
|
||||||
// On recupere la liste des utilisateurs
|
// On recupere la liste des administrateurs
|
||||||
$users = $answer_users->get('users');
|
$users = $answer_users->get('users');
|
||||||
|
|
||||||
|
|
||||||
?><section data-sublink='users'>
|
?><section data-sublink='users'>
|
||||||
<h6 class='center'>Gestion des utilisateurs</h6><br>
|
<h6 class='center'>Gestion des administrateurs</h6><br>
|
||||||
|
|
||||||
<!-- [1] Panel d'ajout/suppression d'utilisateur -->
|
<!-- [1] Panel d'ajout/suppression d'utilisateur -->
|
||||||
<section data-panel-list>
|
<section data-panel-list>
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<div data-header>
|
<div data-header>
|
||||||
<span>Gestion des utilisateurs</span>
|
<span>Gestion des administrateurs</span>
|
||||||
<button id='add-user'>Ajouter un utilisateur</button>
|
<button id='add-user'>Ajouter un utilisateur</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Description des utilisateurs et des permissions -->
|
<!-- Description des administrateurs et des permissions -->
|
||||||
<div data-description>Liste des utilisateurs de la plateforme. Un <i>administrateur</i> peut tout faire. Un <i>sujet</i> peut compléter ses données et les consulter.</div>
|
<div data-description>Liste des administrateurs de la plateforme exhaustive.</div>
|
||||||
<!-- Creation d'un nouvel element (cache) -->
|
<!-- Creation d'un nouvel element (cache) -->
|
||||||
<div data-add>
|
<div data-add>
|
||||||
<span class='label'>Identifiant</span><input type='text' id='add-login'><br>
|
<span class='label'>Identifiant</span><input type='text' id='add-login'><br>
|
||||||
<span class='label'>Adresse mail</span><input type='email' id='add-mail'><br>
|
<span class='label'>Adresse mail</span><input type='email' id='add-mail'><br>
|
||||||
<span class='label'>Mot de passe</span><input type='password' id='add-password'><br>
|
<span class='label'>Mot de passe</span><input type='password' id='add-password'><br>
|
||||||
<span class='label'>Vérification du mot de passe</span><input type='password' id='add-password2'><br>
|
<span class='label'>Vérification du mot de passe</span><input type='password' id='add-password2'><br>
|
||||||
<span class='label'>Droits</span>
|
<input type='submit' value='Créer un administrateur' id='add-user-submit'>
|
||||||
<input type='radio' name='add-permissions' value='subject' id='add-subject' checked='true'><label for='add-subject'>Sujet</label>
|
|
||||||
<input type='radio' name='add-permissions' value='admin' id='add-admin'><label for='add-admin'>Administrateur</label><br>
|
|
||||||
<span class='label'>Identifiant d'étude (optionnel)</span><input type='text' id='add-reference'><br>
|
|
||||||
<input type='submit' value='Créer un utilisateur' id='add-user-submit'>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Conteneur de la liste des elements -->
|
<!-- Conteneur de la liste des elements -->
|
||||||
|
@ -129,12 +125,7 @@ if( permission('admin') ){
|
||||||
if( $user['login'] == $_SESSION['username'] ) continue;
|
if( $user['login'] == $_SESSION['username'] ) continue;
|
||||||
|
|
||||||
echo "<li data-element data-id='".$user['id_user']."'>";
|
echo "<li data-element data-id='".$user['id_user']."'>";
|
||||||
// Si user actif
|
echo "<div class='active' data-user><span>Administrateur</span></div>";
|
||||||
if( in_array('admin', $user['permission']) )
|
|
||||||
echo "<div class='active' data-user><span>Administrateur</span></div>";
|
|
||||||
else
|
|
||||||
echo "<div data-user><span>Sujet</span></div>";
|
|
||||||
|
|
||||||
|
|
||||||
echo "<div>";
|
echo "<div>";
|
||||||
echo "<span data-prefix='Identifiant'>".$user['login']."</span>";
|
echo "<span data-prefix='Identifiant'>".$user['login']."</span>";
|
||||||
|
|
Loading…
Reference in New Issue