Gestion repo/module de la connection
This commit is contained in:
parent
be94bdc732
commit
2f642c7087
|
@ -1,7 +1,6 @@
|
|||
AuthType Basic
|
||||
AuthName "Private project -> wait for production"
|
||||
AuthUserFile /var/www/socioview.pass
|
||||
Require valid-user
|
||||
|
||||
|
||||
RewriteEngine on
|
||||
|
|
|
@ -1,5 +1,16 @@
|
|||
{
|
||||
|
||||
"users": [
|
||||
"login",
|
||||
"getById",
|
||||
"getAll",
|
||||
|
||||
"create",
|
||||
"edit",
|
||||
"remove"
|
||||
],
|
||||
|
||||
|
||||
"call_log": [
|
||||
"unserialize"
|
||||
],
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
{
|
||||
|
||||
"users": [
|
||||
"login"
|
||||
],
|
||||
|
||||
"Personnes": [
|
||||
"getById"
|
||||
],
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
body{font-family:'Open Sans';font-size:15px}#WRAPPER{display:block;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#e8e8e8;overflow-x:hidden;overflow-y:auto;z-index:1}#WRAPPER>#HEADER{display:block;position:fixed;top:0;left:0;width:100%;height:calc( 4em - 1px );border-bottom:1px solid #cfcfcf;background-color:#fff;z-index:9}#WRAPPER>#MENU-SIDE{display:block;position:fixed;top:4em;left:0;width:15em;height:calc( 100% - 4em );box-shadow:2px 1px 3px #ddd;background-color:#32323a;transition:all .3s;z-index:10}#WRAPPER>#CONTAINER{display:flex;position:absolute;top:4em;left:15em;width:calc( 100% - 15em - 2*1em );min-height:calc( 100% - 4em - 2*1em );padding:1em;flex-direction:row;justify-content:space-between;overflow-x:none;overflow-y:auto}#LOGIN{display:flex;position:fixed;top:0;left:-100%;width:100%;height:100%;flex-direction:row;flex-wrap:nowrap;justify-content:space-around;align-items:center;background-color:#32323a;transition:left .3s ease-in-out;z-index:101}#LOGIN.active{left:0}#LOGIN>#login-icon{width:35em;height:10em;background:url("/f/svg/icon/st") center center no-repeat;background-size:auto 100%}#LOGIN>#login-form{display:block}#LOGIN>#login-form>input[type='text'],#LOGIN>#login-form>input[type='password'],#LOGIN>#login-form>input[type='button']{display:flex;width:20em;margin:2em 0;padding:1em 2em;flex-direction:column;justify-content:space-around;flex-wrap:nowrap;align-items:middle;border-radius:5px;border:1px solid #6b6b6b;background-color:#32323a;color:#fff;transition:border .2s ease-in-out;cursor:default}#LOGIN>#login-form>input[type='text']:hover,#LOGIN>#login-form>input[type='text']:focus,#LOGIN>#login-form>input[type='password']:hover,#LOGIN>#login-form>input[type='password']:focus,#LOGIN>#login-form>input[type='button']:hover,#LOGIN>#login-form>input[type='button']:focus{border-color:#53d192}#LOGIN>#login-form>input[type='button']{margin:2em auto;border:0;background-color:#53d192;color:#fff;font-weight:bold;cursor:pointer}#LOGIN>#login-form>input[type='button']:hover{box-shadow:0 0 1em #1a1a1f}#LOGIN>#login-close{display:block;position:absolute;top:2em;right:2em;width:2em;height:2em;background:url("/f/svg/close/st/container/ffffff") center center no-repeat;background-size:80%;cursor:pointer}
|
||||
body{font-family:'Open Sans';font-size:15px}#WRAPPER{display:block;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#e8e8e8;overflow-x:hidden;overflow-y:auto;z-index:1}#WRAPPER>#HEADER{display:block;position:fixed;top:0;left:0;width:100%;height:calc( 4em - 1px );border-bottom:1px solid #cfcfcf;background-color:#fff;z-index:9}#WRAPPER>#MENU-SIDE{display:block;position:fixed;top:4em;left:0;width:15em;height:calc( 100% - 4em );box-shadow:2px 1px 3px #ddd;background-color:#32323a;transition:all .3s;z-index:10}#WRAPPER>#CONTAINER{display:flex;position:absolute;top:4em;left:15em;width:calc( 100% - 15em - 2*1em );min-height:calc( 100% - 4em - 2*1em );padding:1em;flex-direction:row;justify-content:space-between;overflow-x:none;overflow-y:auto}#LOGIN{display:flex;position:fixed;top:0;left:-100%;width:100%;height:100%;flex-direction:row;flex-wrap:nowrap;justify-content:space-around;align-items:center;background-color:#32323a;transition:left .3s ease-in-out;z-index:101}#LOGIN.active{left:0}#LOGIN>#login-icon{width:35em;height:10em;background:url("/f/svg/icon/st") center center no-repeat;background-size:auto 100%}#LOGIN>#login-form{display:block}#LOGIN>#login-form>input[type='text'],#LOGIN>#login-form>input[type='password'],#LOGIN>#login-form>input[type='button']{display:flex;width:20em;margin:2em 0;padding:1em 2em;flex-direction:column;justify-content:space-around;flex-wrap:nowrap;align-items:middle;border-radius:5px;border:1px solid #6b6b6b;background-color:#32323a;color:#fff;transition:border .2s ease-in-out;cursor:default}#LOGIN>#login-form>input[type='text']:hover,#LOGIN>#login-form>input[type='text']:focus,#LOGIN>#login-form>input[type='password']:hover,#LOGIN>#login-form>input[type='password']:focus,#LOGIN>#login-form>input[type='button']:hover,#LOGIN>#login-form>input[type='button']:focus{border-color:#53d192}#LOGIN>#login-form>input[type='button']{margin:2em auto;border:0;background-color:#53d192;color:#fff;font-weight:bold;cursor:pointer}#LOGIN>#login-form>input[type='button']:hover{background-color:#33be79;box-shadow:0 0 1em #1a1a1f}#LOGIN>#login-form>#lost-password{color:#ddd;cursor:pointer}#LOGIN>#login-form>#lost-password:hover{color:#53d192;text-decoration:underline}#LOGIN>#login-close{display:block;position:absolute;top:2em;right:2em;width:2em;height:2em;background:url("/f/svg/close/st/container/ffffff") center center no-repeat;background-size:80%;cursor:pointer}
|
||||
/*# sourceMappingURL=layout.css.map */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"version": 3,
|
||||
"mappings": "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",
|
||||
"mappings": "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",
|
||||
"sources": ["layout.scss","constants.scss"],
|
||||
"names": [],
|
||||
"file": "layout.css"
|
||||
|
|
|
@ -185,14 +185,32 @@ body{
|
|||
|
||||
// Animation de @hover
|
||||
&:hover{
|
||||
background-color: darken($theme-fg-primary, 10);
|
||||
box-shadow: 0 0 1em darken($dark-bg, 10);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* (3) Mot de passe oublie */
|
||||
& > #lost-password{
|
||||
color: $dark-fg;
|
||||
|
||||
cursor: pointer;
|
||||
|
||||
// Animation de @hover
|
||||
&:hover{
|
||||
color: $theme-fg-primary;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* (3) Gestio de la fermeture */
|
||||
/* (4) Gestio de la fermeture */
|
||||
& > #login-close{
|
||||
display: block;
|
||||
position: absolute;
|
||||
|
@ -206,6 +224,4 @@ body{
|
|||
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -203,24 +203,15 @@
|
|||
return $checker && is_string($value) && strlen($value) <= 50;
|
||||
break;
|
||||
|
||||
/* (2) Utilisateur */
|
||||
case 'user.code':
|
||||
case 'machine.code':
|
||||
return $checker && is_string($value) && preg_match('/^[\dA-F]{2}(\-[\dA-F]{2}){3,5}$/i', $value);
|
||||
case 'varchar(30)':
|
||||
return $checker && is_string($value) && strlen($value) <= 30;
|
||||
break;
|
||||
|
||||
case 'user.username':
|
||||
case 'machine.name':
|
||||
case 'group.name':
|
||||
return $checker && is_string($value) && preg_match('/^[\w-]{1,30}$/i', $value);
|
||||
break;
|
||||
|
||||
case 'user.firstname':
|
||||
case 'user.lastname':
|
||||
return $checker && is_string($value) && preg_match('/^[a-z -]{3,30}$/i', $value);
|
||||
break;
|
||||
|
||||
case 'user.mail':
|
||||
|
||||
case 'text':
|
||||
return $checker && is_string($value);
|
||||
|
||||
|
||||
case 'mail':
|
||||
return $checker && is_string($value) && strlen($value) <= 50 && preg_match('/^[\w\.-]+@[\w\.-]+\.[a-z]{2,4}$/i', $value);
|
||||
break;
|
||||
|
||||
|
|
|
@ -1,402 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace manager\module;
|
||||
use \manager\Database;
|
||||
use \manager\sessionManager;
|
||||
use \manager\ManagerError;
|
||||
use \manager\Repo;
|
||||
use \manager\repo\cluster as clusterRepo;
|
||||
|
||||
class userDefault{
|
||||
|
||||
|
||||
/* CREATION D'UN NOUVEL UTILISATEUR DANS LA BDD
|
||||
*
|
||||
* @code<String> Code RFID de l'utilisateur
|
||||
* @username<String> Identifiant l'utilisateur
|
||||
* @firstname<String> Prenom de l'utilisateur
|
||||
* @lastcode<String> Nom de l'utilisateur
|
||||
* @mail<String> Adresse email de l'utilisateur
|
||||
* @password<String> Mot de passe de l'utilisateur
|
||||
* @status<String> Status de l'utilisateur
|
||||
*
|
||||
* @return status<Boolean> Retourne si oui ou non, tout s'est bien passe
|
||||
*
|
||||
*/
|
||||
public static function create($code=null, $username=null, $firstname=null, $lastname=null, $mail=null, $password=null, $status=null){
|
||||
/* [1] Normalisation + verification des donnees
|
||||
=========================================================*/
|
||||
$password_hash = sessionManager::secure_sha1($password);
|
||||
|
||||
$correct_param = Database::check('user.code', $code);
|
||||
$correct_param = $correct_param && Database::check('user.username', $username);
|
||||
$correct_param = $correct_param && Database::check('user.firstname', $firstname);
|
||||
$correct_param = $correct_param && Database::check('user.lastname', $lastname);
|
||||
$correct_param = $correct_param && Database::check('user.mail', $mail);
|
||||
$correct_param = $correct_param && Database::check('user.password', $password_hash);
|
||||
$correct_param = $correct_param && Database::check('user.status', $status);
|
||||
|
||||
// Si les parametres ne sont pas corrects, on retourne une erreur
|
||||
if( !$correct_param )
|
||||
return array('ModuleError' => ManagerError::ParamError);
|
||||
|
||||
|
||||
|
||||
|
||||
/* [2] Creation de l'utilisateur
|
||||
=========================================================*/
|
||||
$create_user = new Repo('user/create', array($code, $username, $firstname, $lastname, $mail, $password_hash, $status) );
|
||||
$id_user = $create_user->answer();
|
||||
|
||||
// Si une erreur est retournee, on retourne une erreur
|
||||
if( $id_user === false )
|
||||
return array('ModuleError' => ManagerError::ModuleError);
|
||||
|
||||
|
||||
|
||||
|
||||
/* [3] Creation du groupe de meme nom que l'username
|
||||
=========================================================*/
|
||||
$create_group = new Repo('cluster/create', array($username) );
|
||||
$id_group = $create_group->answer();
|
||||
|
||||
// Si une erreur est retournee, on retourne une erreur
|
||||
if( $id_group === false )
|
||||
return array('ModuleError' => ManagerError::ModuleError);
|
||||
|
||||
|
||||
|
||||
|
||||
/* [4] Association au groupe
|
||||
=========================================================*/
|
||||
$assoc_goup = new Repo('cluster/link', array($id_group, $id_user, clusterRepo::USER_CLASS));
|
||||
$id_assoc = $assoc_goup->answer();
|
||||
|
||||
// Si une erreur est retournee, on retourne une erreur
|
||||
if( $id_assoc === false )
|
||||
return array('ModuleError' => ManagerError::ModuleError);
|
||||
|
||||
|
||||
|
||||
/* [5] Gestion du retour
|
||||
=========================================================*/
|
||||
return array(
|
||||
'ModuleError' => ManagerError::Success,
|
||||
'id_user' => $id_user,
|
||||
'id_cluster' => $id_group
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* AJOUTE UN UTILISATEUR DONNEE A UN GROUPE DONNE
|
||||
*
|
||||
* @id_cluster<int> UID du groupe
|
||||
* @id_user<int> UID de l'utilisateur
|
||||
*
|
||||
* @return association<int> Renvoie l'UID de l'association cree
|
||||
* Renvoie FALSE si une erreur occure
|
||||
*
|
||||
*/
|
||||
public static function link($id_cluster, $id_user){
|
||||
/* [1] Normalisation + verification des donnees
|
||||
=========================================================*/
|
||||
$correct_param = Database::check('auto_increment_id', $id_cluster);
|
||||
$correct_param = $correct_param && Database::check('auto_increment_id', $id_user);
|
||||
|
||||
// Si les parametres ne sont pas corrects, on retourne une erreur
|
||||
if( !$correct_param )
|
||||
return array('ModuleError' => ManagerError::ParamError);
|
||||
|
||||
/* [2] Creation de l'association
|
||||
=========================================================*/
|
||||
$link_user = new Repo('cluster/link', array($id_cluster, $id_user, clusterRepo::USER_CLASS));
|
||||
|
||||
return $link_user;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RETIRE UNE MACHINE DONNEE A UN GROUPE DONNE
|
||||
*
|
||||
* @id_cluster<int> UID du groupe
|
||||
* @id_user<int> UID de l'utilisateur
|
||||
*
|
||||
* @return association<int> Renvoie l'UID de l'association cree
|
||||
* Renvoie FALSE si une erreur occure
|
||||
*
|
||||
*/
|
||||
public static function unlink($id_cluster, $id_user){
|
||||
/* [1] Normalisation + verification des donnees
|
||||
=========================================================*/
|
||||
$correct_param = Database::check('auto_increment_id', $id_cluster);
|
||||
$correct_param = $correct_param && Database::check('auto_increment_id', $id_user);
|
||||
|
||||
// Si les parametres ne sont pas corrects, on retourne une erreur
|
||||
if( !$correct_param )
|
||||
return array('ModuleError' => ManagerError::ParamError);
|
||||
|
||||
/* [2] Suppression de l'association
|
||||
=========================================================*/
|
||||
$link_user = new Repo('cluster/unlink', array($id_cluster, $id_user, clusterRepo::USER_CLASS));
|
||||
|
||||
return $link_user;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE UN UTILISATEUR EN FONCTION D'UN MOT CLE
|
||||
*
|
||||
* @keyword<String> Element de recherche
|
||||
*
|
||||
* @return users<Array> Retourne la liste des utilisateurs trouves
|
||||
*
|
||||
*/
|
||||
public static function search($keyword){
|
||||
// On recupere les donnees
|
||||
$user = new Repo('user/search', array($keyword));
|
||||
|
||||
return array(
|
||||
'users' => $user->answer()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE LA LISTE EXHAUSTIVE DES UTILISATEURS
|
||||
*
|
||||
* @return utilisateurs<Array> Liste des utilisateurs
|
||||
*
|
||||
*/
|
||||
public static function getAll(){
|
||||
// On recupere les donnees
|
||||
$users = new Repo('user/getAll');
|
||||
|
||||
return array(
|
||||
'users' => $users->answer()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE L'UTILISATEURS D'UID DONNE
|
||||
*
|
||||
* @id_user<int> UID de l'utilisateur en question
|
||||
*
|
||||
* @return utilisateur<Array> Utilisateur d'UID donne
|
||||
*
|
||||
*/
|
||||
public static function getById($id_user){
|
||||
// On recupere les donnees
|
||||
$request = new Repo('user/getById', array($id_user));
|
||||
$answer = $request->answer();
|
||||
|
||||
// Si aucun resultat, on retourne une erreur
|
||||
if( $answer === false )
|
||||
return array( 'ModuleError' => ManagerError::ModuleError );
|
||||
|
||||
|
||||
return array(
|
||||
'user' => $answer
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE L'UTILISATEURS DE CODE DONNE
|
||||
*
|
||||
* @code<String> Code de l'utilisateur en question
|
||||
*
|
||||
* @return utilisateur<Array> Utilisateur de code donne
|
||||
*
|
||||
*/
|
||||
public static function getByCode($code){
|
||||
// On recupere les donnees
|
||||
$request = new Repo('user/getByCode', array($code));
|
||||
$answer = $request->answer();
|
||||
|
||||
// Si aucun resultat, on retourne une erreur
|
||||
if( $answer === false )
|
||||
return array( 'ModuleError' => ManagerError::ModuleError );
|
||||
|
||||
|
||||
return array(
|
||||
'user' => $answer
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE L'UTILISATEURS D'USERNAME DONNE
|
||||
*
|
||||
* @username<String> Username de l'utilisateur en question
|
||||
*
|
||||
* @return utilisateur<Array> Utilisateur d'username donne
|
||||
*
|
||||
*/
|
||||
public static function getByUsername($username){
|
||||
// On recupere les donnees
|
||||
$request = new Repo('user/getByUsername', array($username));
|
||||
$answer = $request->answer();
|
||||
|
||||
// Si aucun resultat, on retourne une erreur
|
||||
if( $answer === false )
|
||||
return array( 'ModuleError' => ManagerError::ModuleError );
|
||||
|
||||
|
||||
return array(
|
||||
'user' => $answer
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE LES GROUPES D'UN UTILISATEUR DONNE
|
||||
*
|
||||
* @id_user<int> UID de l'utilisateur en question
|
||||
*
|
||||
* @return clusters<Array> Groupes de l'utilisateur donne
|
||||
*
|
||||
*/
|
||||
public static function getClusters($id_user){
|
||||
// On recupere les donnees
|
||||
$request = new Repo('user/getClusters', array($id_user));
|
||||
$answer = $request->answer();
|
||||
|
||||
// Si aucun resultat, on retourne une erreur
|
||||
if( $answer === false )
|
||||
return array( 'ModuleError' => ManagerError::ModuleError );
|
||||
|
||||
|
||||
return array(
|
||||
'clusters' => $answer
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* MODIFIE UN UTILISATEUR DONNEE
|
||||
*
|
||||
* @id_user<int> UID de l'utilisateur
|
||||
* @code<String> Code RFID de l'utilisateur
|
||||
* @username<String> Identifiant l'utilisateur
|
||||
* @firstname<String> Prenom de l'utilisateur
|
||||
* @lastcode<String> Nom de l'utilisateur
|
||||
* @mail<String> Adresse email de l'utilisateur
|
||||
* @password<String> Mot de passe de l'utilisateur
|
||||
* @status<String> Status de l'utilisateur
|
||||
*
|
||||
* @return status<Boolean> Retourne si oui ou non tout s'est bien deroule
|
||||
*
|
||||
*/
|
||||
public static function edit($id_user=null, $code=null, $username=null, $firstname=null, $lastname=null, $mail=null, $password=null, $status=null){
|
||||
// Si @id_user n'est pas au bon format, on retourne une erreur
|
||||
if( !Database::check('auto_increment_id', $id_user) )
|
||||
return array('ModuleError' => ManagerError::ModuleError);
|
||||
|
||||
|
||||
/* [1] On verifie l'existence de l'utilisateur
|
||||
=========================================================*/
|
||||
$user_exists = new Repo('user/getById', array($id_user));
|
||||
$user_data = $user_exists->answer();
|
||||
|
||||
// Si on a recupere aucun utilisateur, on retourne une erreur
|
||||
if( !is_array($user_data) )
|
||||
return array('ModuleError' => ManagerError::ModuleError);
|
||||
|
||||
|
||||
|
||||
/* [2] Normalisation + verification des donnees
|
||||
=========================================================*/
|
||||
$password_hash = sessionManager::secure_sha1($password);
|
||||
|
||||
/* (1) Verification des parametres (si correct et different)*/
|
||||
$correct_param = array(
|
||||
'code' => Database::check('user.code', $code ) && $user_data['code'] != $code,
|
||||
'username' => Database::check('user.username', $username ) && $user_data['username'] != $username,
|
||||
'firstname' => Database::check('user.firstname', $firstname ) && $user_data['firstname'] != $firstname,
|
||||
'lastname' => Database::check('user.lastname', $lastname ) && $user_data['lastname'] != $lastname,
|
||||
'mail' => Database::check('user.mail', $mail ) && $user_data['mail'] != $mail,
|
||||
'password' => Database::check('user.password', $password_hash ) && $user_data['password'] != $password_hash,
|
||||
'status' => Database::check('user.status', $status ) && $user_data['status'] != $status
|
||||
);
|
||||
|
||||
/* (2) Gestion des parametres optionnels */
|
||||
$opt_data = array(
|
||||
'code' => ($correct_param['code']) ? $code : $user_data['code'],
|
||||
'username' => ($correct_param['username']) ? $username : $user_data['username'],
|
||||
'firstname' => ($correct_param['firstname']) ? $firstname : $user_data['firstname'],
|
||||
'lastname' => ($correct_param['lastname']) ? $lastname : $user_data['lastname'],
|
||||
'mail' => ($correct_param['mail']) ? $mail : $user_data['mail'],
|
||||
'password' => ($correct_param['password']) ? $password : $user_data['password'],
|
||||
'status' => ($correct_param['status']) ? $status : $user_data['status'],
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
/* [3] Modification de l'utilisateur
|
||||
=========================================================*/
|
||||
$request = new Repo('user/edit', array(
|
||||
$id_user,
|
||||
$opt_data['code'],
|
||||
$opt_data['username'],
|
||||
$opt_data['firstname'],
|
||||
$opt_data['lastname'],
|
||||
$opt_data['mail'],
|
||||
$opt_data['password'],
|
||||
$opt_data['status'])
|
||||
);
|
||||
|
||||
|
||||
return array(
|
||||
'status' => $request->answer()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* SUPPRIME UN UTILISATEUR DONNEE
|
||||
*
|
||||
* @id_user<int> UID de l'utilisateur en question
|
||||
*
|
||||
* @return status<Boolean> Retourne si oui ou non tout s'est bien deroule
|
||||
*
|
||||
*/
|
||||
public static function delete($id_user){
|
||||
// On recupere les donnees
|
||||
$request = new Repo('user/delete', array($id_user));
|
||||
$answer = $request->answer();
|
||||
|
||||
return array(
|
||||
'status' => $answer
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
?>
|
|
@ -0,0 +1,58 @@
|
|||
<?php
|
||||
|
||||
namespace manager\module;
|
||||
use \manager\sessionManager;
|
||||
use \manager\Database;
|
||||
use \manager\ManagerError;
|
||||
use \manager\Repo;
|
||||
|
||||
class users{
|
||||
|
||||
|
||||
/* VERIFICATION DES LOGINS D'UN UTILISATEUR
|
||||
*
|
||||
* @login<String> Username ou adresse mail de l'utilisateur
|
||||
* @password<String> Password de l'utilisateur
|
||||
*
|
||||
* @return id_user<int> Retourne l'id de l'utilisateur si les logins sont corrects
|
||||
*
|
||||
*/
|
||||
public static function login($login, $password){
|
||||
/* [0] Gestion des INPUT
|
||||
=========================================================*/
|
||||
$checker = Database::check('varchar(255)', $login);
|
||||
$checker = $checker && Database::check('text', $password);
|
||||
|
||||
// Si les parametres sont incorrects, on retourne une erreur
|
||||
if( !$checker ) return array('ModuleError' => ManagerError::ParamError);
|
||||
|
||||
|
||||
/* [1] On verifie les logins
|
||||
=========================================================*/
|
||||
$check = new Repo('users/login', array($login, $password));
|
||||
$success = $check->answer();
|
||||
|
||||
// Si le login/password est incorrect, on retourne une erreur
|
||||
if( $success === false ) return array('ModuleError' => ManagerError::ModuleError);
|
||||
|
||||
|
||||
/* [2] Si les logins sont ok, on retourne l'id de l'utilisateur
|
||||
=========================================================*/
|
||||
return array(
|
||||
'ModuleError' => ManagerError::Success,
|
||||
'id_user' => $success
|
||||
);
|
||||
|
||||
}
|
||||
// [x] "login",
|
||||
// [ ] "getById",
|
||||
// [ ] "getAll",
|
||||
|
||||
// [ ] "create",
|
||||
// [ ] "edit",
|
||||
// [ ] "remove",
|
||||
|
||||
}
|
||||
|
||||
|
||||
?>
|
|
@ -1,405 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace manager\repo;
|
||||
use \manager\Database;
|
||||
use \manager\repo\cluster as clusterRepo;
|
||||
|
||||
class user{
|
||||
|
||||
/* CREATION D'UN UTILISATEUR ET DE SON GROUPE INDIVIDUEL
|
||||
*
|
||||
* @code<String> Code RFID de l'utilisateur
|
||||
* @username<String> Identifiant l'utilisateur
|
||||
* @firstname<String> Prenom de l'utilisateur
|
||||
* @lastcode<String> Nom de l'utilisateur
|
||||
* @mail<String> Adresse email de l'utilisateur
|
||||
* @password<String> Mot de passe de l'utilisateur
|
||||
* @status<String> Status de l'utilisateur
|
||||
*
|
||||
* @return id_user<int> Renvoie l'UID de l'utilisateur cree
|
||||
* Renvoie FALSE si une erreur occure
|
||||
*
|
||||
*/
|
||||
public static function create($code, $username, $firstname, $lastname, $mail, $password, $status){
|
||||
/* [1] Verification de l'unicite de code+username
|
||||
=========================================================*/
|
||||
$check_unique = !is_array(self::getByCode($code));
|
||||
$check_unique = $check_unique && !is_array(self::getByUsername($username));
|
||||
|
||||
// Si un utilisateur a deja ce code ou cet username, on renvoie une erreur
|
||||
if( !$check_unique )
|
||||
return false;
|
||||
|
||||
/* [2] Creation de l'utilisateur
|
||||
=========================================================*/
|
||||
$insert_user = Database::getPDO()->prepare("INSERT INTO user(id_user, code, username, firstname, lastname, mail, password, status)
|
||||
VALUES(DEFAULT, :code, :username, :firstname, :lastname, :mail, :password, :status)");
|
||||
$insert_user->execute(array(
|
||||
':code' => $code,
|
||||
':username' => $username,
|
||||
':firstname' => $firstname,
|
||||
':lastname' => $lastname,
|
||||
':mail' => $mail,
|
||||
':password' => $password,
|
||||
':status' => $status
|
||||
));
|
||||
|
||||
/* [3] On retourne l'id_user ou FALSE si erreur
|
||||
=========================================================*/
|
||||
$check_user = self::getByCode($code);
|
||||
|
||||
// Si n'existe pas on retourne FALSE
|
||||
if( $check_user === false )
|
||||
return false;
|
||||
|
||||
// Sinon, on retourne son id
|
||||
return $check_user['id_user'];
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE UNE LISTE D'UTILISATEURS EN FONCTION D'UN MOT CLE
|
||||
*
|
||||
* @keyword<String> Element de recherche
|
||||
*
|
||||
* @return users<Array> Retourne les utilisateurs trouves
|
||||
*
|
||||
*/
|
||||
public static function search($keyword){
|
||||
// On recupere les donnees
|
||||
$searchusers = Database::getPDO()->query("SELECT * FROM user
|
||||
WHERE code LIKE '%".$keyword."%'
|
||||
OR username LIKE '%".$keyword."%'
|
||||
OR firstname LIKE '%".$keyword."%'
|
||||
OR lastname LIKE '%".$keyword."%'
|
||||
OR mail LIKE '%".$keyword."%'
|
||||
");
|
||||
|
||||
return Database::delNumeric( $searchusers->fetchAll() );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE LA LISTE DE TOUS LES UTILISATEURS
|
||||
*
|
||||
* @return utilisateurs<Array> Liste des utilisateurs de la BDD
|
||||
*
|
||||
*/
|
||||
public static function getAll(){
|
||||
// On ecrit la requete
|
||||
$request = Database::getPDO()->query("SELECT * FROM user ORDER BY username");
|
||||
|
||||
// On recupere le resutat
|
||||
$answer = $request->fetchAll();
|
||||
|
||||
// On retourne en supprimant les indices numeriques
|
||||
return Database::delNumeric( $answer );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE L'UTILISATEUR D'ID DONNE
|
||||
*
|
||||
* @id<int> Id de l'utilisateur en question
|
||||
*
|
||||
* @return utilisateur<Array> Renvoie l'utilisateur d'id donne si existe
|
||||
* @return error<Boolean> Retourne FALSE si aucun resultat
|
||||
*
|
||||
*/
|
||||
public static function getById($id){
|
||||
// On ecrit la requete
|
||||
$request = Database::getPDO()->prepare("SELECT * FROM user
|
||||
WHERE id_user = :id");
|
||||
|
||||
// On execute la requete
|
||||
$request->execute(array(
|
||||
':id' => $id
|
||||
));
|
||||
|
||||
// On recupere 1 seul utilisateur
|
||||
$answer = $request->fetch();
|
||||
|
||||
// Gestion d'erreur -> aucun resultat
|
||||
if( $answer === false )
|
||||
return false;
|
||||
|
||||
// On retourne en supprimant les indices numeriques
|
||||
return Database::delNumeric( $answer, true );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE L'UTILISATEUR DE CODE DONNE
|
||||
*
|
||||
* @code<String> Code de l'utilisateur en question
|
||||
*
|
||||
* @return utilisateur<Array> Renvoie l'utilisateur de code donne si existe
|
||||
* @return error<Boolean> Retourne FALSE si aucun resultat
|
||||
*
|
||||
*/
|
||||
public static function getByCode($code){
|
||||
// On ecrit la requete
|
||||
$request = Database::getPDO()->prepare("SELECT * FROM user
|
||||
WHERE code = :code");
|
||||
|
||||
// On execute la requete
|
||||
$request->execute(array(
|
||||
':code' => $code
|
||||
));
|
||||
|
||||
// On recupere 1 seul utilisateur
|
||||
$answer = $request->fetch();
|
||||
|
||||
// Gestion d'erreur -> aucun resultat
|
||||
if( $answer === false )
|
||||
return false;
|
||||
|
||||
// On retourne en supprimant les indices numeriques
|
||||
return Database::delNumeric( $answer, true );
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE L'UTILISATEUR D'USERNAME DONNE
|
||||
*
|
||||
* @username<String> Identifiant de l'utilisateur en question
|
||||
*
|
||||
* @return utilisateur<Array> Renvoie l'utilisateur d'username donne si existe
|
||||
* @return error<Boolean> Retourne FALSE si aucun resultat
|
||||
*
|
||||
*/
|
||||
public static function getByUsername($username){
|
||||
// On ecrit la requete
|
||||
$request = Database::getPDO()->prepare("SELECT * FROM user
|
||||
WHERE username = :username");
|
||||
|
||||
// On execute la requete
|
||||
$request->execute(array(
|
||||
':username' => $username
|
||||
));
|
||||
|
||||
// On recupere 1 seul utilisateur
|
||||
$answer = $request->fetch();
|
||||
|
||||
// Gestion d'erreur -> aucun resultat
|
||||
if( $answer === false )
|
||||
return false;
|
||||
|
||||
// On retourne en supprimant les indices numeriques
|
||||
return Database::delNumeric( $answer, true );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE LES GROUPE AUQUELS UN UTILISATEUR DONNE APPARTIENT
|
||||
*
|
||||
* @id_user<int> UID de l'utilisateur en question
|
||||
*
|
||||
* @return groups<Array> Renvoie un tableau d'UID des groupes
|
||||
*
|
||||
*/
|
||||
public static function getGroups($id_user){
|
||||
/* [1] On redige/execute la requete
|
||||
=========================================================*/
|
||||
$select_groups = Database::getPDO()->prepare("SELECT gm.id_group FROM user as u, group_merge as gm
|
||||
WHERE u.id_user = gm.id_user
|
||||
AND u.id_user = :id_user
|
||||
ORDER BY gm.id_user ASC");
|
||||
$select_groups->execute(array(
|
||||
':id_user' => $id_user
|
||||
));
|
||||
|
||||
// On retourne en supprimant les indices numeriques
|
||||
return Database::delNumeric( $select_groups->fetchAll() );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE LES GROUPES AUQUEL APPARTIENT UN UTILISATEUR DONNE
|
||||
*
|
||||
* @id_user<int> UID de l'utilisateur en question
|
||||
*
|
||||
* @return clusters<Array> Retourne la liste des groupes auquel appartient l'utilisateur
|
||||
*
|
||||
*/
|
||||
public static function getClusters($id_user){
|
||||
/* [1] On redige/execute la requete
|
||||
=========================================================*/
|
||||
$get_clusters = Database::getPDO()->prepare("SELECT c.* FROM cluster as c, cluster_merge as cm
|
||||
WHERE cm.id_cluster = c.id_cluster
|
||||
AND cm.id_entity = :id_user
|
||||
AND cm.class = :class
|
||||
ORDER BY c.id_cluster");
|
||||
$get_clusters->execute(array(
|
||||
':id_user' => $id_user,
|
||||
':class' => clusterRepo::USER_CLASS
|
||||
));
|
||||
|
||||
/* [2] On retourne la liste des groupes
|
||||
=========================================================*/
|
||||
return Database::delNumeric( $get_clusters->fetchAll() );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* MODIFICATION D'UN UTILISATEUR
|
||||
*
|
||||
* @id_user<int> UID de l'utilisateur
|
||||
* @code<String> Code RFID de l'utilisateur
|
||||
* @username<String> Identifiant l'utilisateur
|
||||
* @firstname<String> Prenom de l'utilisateur
|
||||
* @lastcode<String> Nom de l'utilisateur
|
||||
* @mail<String> Adresse email de l'utilisateur
|
||||
* @password<String> Mot de passe de l'utilisateur
|
||||
* @status<String> Status de l'utilisateur
|
||||
*
|
||||
* @return status<Boolean> Renvoie si oui ou non tout s'est bien passe
|
||||
*
|
||||
*/
|
||||
public static function edit($id_user=null, $code=null, $username=null, $firstname=null, $lastname=null, $mail=null, $password=null, $status=null){
|
||||
/* [1] Verification de l'unicite de code+username (si differents)
|
||||
=========================================================*/
|
||||
// On recupere les utilisateurs ayant le meme code ou username (si existent)
|
||||
$getbycode = self::getByCode($code);
|
||||
$getbyusername = self::getByUsername($username);
|
||||
|
||||
$check_unique = is_array($getbycode) && $getbycode['id_user'] == $id_user || !is_array($getbycode);
|
||||
$check_unique = $check_unique && is_array($getbyusername) && $getbyusername['id_user'] == $id_user || !is_array($getbyusername);
|
||||
|
||||
// Si un utilisateur a deja ce code ou cet username (sauf lui), on renvoie une erreur
|
||||
if( !$check_unique )
|
||||
return false;
|
||||
|
||||
/* [2] Modification de l'utilisateur
|
||||
=========================================================*/
|
||||
$edit_user = Database::getPDO()->prepare("UPDATE user
|
||||
SET code = :code,
|
||||
username = :username,
|
||||
firstname = :firstname,
|
||||
lastname = :lastname,
|
||||
mail = :mail,
|
||||
password = :password,
|
||||
status = :status
|
||||
WHERE id_user = :id_user");
|
||||
$edit_user->execute(array(
|
||||
':code' => $code,
|
||||
':username' => $username,
|
||||
':firstname' => $firstname,
|
||||
':lastname' => $lastname,
|
||||
':mail' => $mail,
|
||||
':password' => $password,
|
||||
':status' => $status,
|
||||
':id_user' => $id_user
|
||||
));
|
||||
|
||||
|
||||
|
||||
/* [3] On retourne si tout a ete modifie, si erreur
|
||||
=========================================================*/
|
||||
$check_user = self::getById($id_user);
|
||||
|
||||
$checker = $check_user['id_user'] == $id_user;
|
||||
$checker = $checker && $check_user['code'] == $code;
|
||||
$checker = $checker && $check_user['username'] == $username;
|
||||
$checker = $checker && $check_user['firstname'] == $firstname;
|
||||
$checker = $checker && $check_user['lastname'] == $lastname;
|
||||
$checker = $checker && $check_user['mail'] == $mail;
|
||||
$checker = $checker && $check_user['password'] == $password;
|
||||
$checker = $checker && $check_user['status'] == $status;
|
||||
|
||||
// On retourne l'etat de la modification
|
||||
return $checker;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* SUPPRIME UN UTILISATEUR DONNE
|
||||
*
|
||||
* @id_user<int> UID de l'utilisateur en question
|
||||
*
|
||||
* @return status<Boolean> Retourne si oui ou non l'utilisateur a bien ete supprime
|
||||
*
|
||||
*/
|
||||
public static function delete($id_user){
|
||||
/* [1] On redige/execute la requete
|
||||
=========================================================*/
|
||||
$delete_user = Database::getPDO()->prepare("DELETE FROM user WHERE id_user = :id_user");
|
||||
$delete_user->execute(array(
|
||||
':id_user' => $id_user
|
||||
));
|
||||
|
||||
|
||||
/* [2] On verifie que l'utilisateur n'existe plus
|
||||
=========================================================*/
|
||||
return ( self::getById($id_user) === false );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
?>
|
|
@ -0,0 +1,53 @@
|
|||
<?php
|
||||
|
||||
namespace manager\repo;
|
||||
use \manager\Database;
|
||||
|
||||
class users{
|
||||
|
||||
|
||||
/* VERIFICATION DU LOGIN/PASSWORD D'UN UTILISATEUR
|
||||
*
|
||||
* @login<String> Username ou Adresse mail de l'utilisateur
|
||||
* @password<String> Password de l'utilisateur
|
||||
*
|
||||
* @return id_user<int> Retourne l'id de l'utilisateur si ses credentials sont bons
|
||||
*
|
||||
*/
|
||||
public static function login($login, $password){
|
||||
/* [0] Gestion des INPUT
|
||||
=========================================================*/
|
||||
$checker = Database::check('varchar(255)', $login);
|
||||
$checker = $checker && Database::check('text', $password);
|
||||
|
||||
// Si les parametres sont incorrects, on retourne une erreur
|
||||
if( !$checker ) return false;
|
||||
|
||||
|
||||
/* [1] On verifie son login/password dans la BDD
|
||||
=========================================================*/
|
||||
$check = Database::getPDO()->prepare("SELECT id_user
|
||||
FROM users
|
||||
WHERE ( login = :username OR mail = :mail ) AND password = :password");
|
||||
$check->execute(array(
|
||||
':username' => $login,
|
||||
':mail' => $login,
|
||||
':password' => sha1($password)
|
||||
));
|
||||
$result = $check->fetch();
|
||||
|
||||
/* [2] Gestion du retour
|
||||
=========================================================*/
|
||||
// Si on a rien trouve, on retourne une erreur
|
||||
if( $result === false ) return false;
|
||||
|
||||
|
||||
// On retourne le resultat
|
||||
return (int) $result['id_user'];
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
?>
|
6
view.php
6
view.php
|
@ -41,7 +41,9 @@
|
|||
<body>
|
||||
|
||||
<!-- LOGIN -->
|
||||
<div id='LOGIN'>
|
||||
<?php if( connected() ) echo "<div id='LOGIN'>";
|
||||
else echo "<div id='LOGIN' class='active'>"; ?>
|
||||
|
||||
<div id='login-icon'></div>
|
||||
<span id='login-close'></span>
|
||||
|
||||
|
@ -49,6 +51,8 @@
|
|||
<input type='text' placeholder='Identifiant ou adresse mail' id='login-login'>
|
||||
<input type='password' placeholder='Mot de passe' id='login-password'>
|
||||
<input type='button' value='Connexion' id='login-submit'>
|
||||
|
||||
<span id='lost-password'>Mot de passe oublié ?</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
Loading…
Reference in New Issue