Modifications en cours

This commit is contained in:
xdrm-brackets 2016-02-11 16:00:41 +01:00
parent 3ec1b53ee8
commit cc758c023b
12 changed files with 285 additions and 46 deletions

View File

@ -108,7 +108,7 @@
function selectUsers(){ function selectUsers(){
// Creation de la requete // Creation de la requete
$requete = new manager\ModuleRequest('userDefaultModule/getAll'); $requete = new manager\ModuleRequest('userDefault/getAll');
$answer = $requete->dispatch(); $answer = $requete->dispatch();
var_dump( \manager\ManagerError::explicit($answer->error) ); var_dump( \manager\ManagerError::explicit($answer->error) );
@ -132,7 +132,7 @@
function selectMachines(){ function selectMachines(){
// Creation de la requete // Creation de la requete
$requete = new manager\ModuleRequest('machineDefaultModule/getAll'); $requete = new manager\ModuleRequest('machineDefault/getAll');
$answer = $requete->dispatch(); $answer = $requete->dispatch();
var_dump( \manager\ManagerError::explicit($answer->error) ); var_dump( \manager\ManagerError::explicit($answer->error) );
@ -158,15 +158,15 @@
function displayUsers(){ function displayUsers(){
// Creation de la requete // Creation de la requete
$request = new \manager\ModuleRequest('userDefaultModule/getAll'); $request = new \manager\ModuleRequest('userDefault/getAll');
$answer = $request->dispatch(); $answer = $request->dispatch();
// Debug error // Debug error
var_dump( $answer->error ); if( $answer->error != \manager\ManagerError::Success )
var_dump( \manager\ManagerError::explicit($answer->error) ); var_dump( \manager\ManagerError::explicit($answer->error) );
$users = $answer->get('users'); // display result
var_dump( $answer->getAll() );
var_dump( $users );
return true; return true;
@ -210,7 +210,8 @@
function testRepoDispatcher(){ function testRepoDispatcher(){
// Creation d'une requete en objet // Creation d'une requete en objet
$req1 = new manager\Repo('user/get', array('19')); $req1 = new manager\Repo('user/getById', array('19'));
// $req1 = new manager\Repo('user/getByCode', array('92-55-B9-B3'));
var_dump( $req1->answer() ); var_dump( $req1->answer() );
if( $req1->error != manager\ManagerError::Success ) if( $req1->error != manager\ManagerError::Success )
@ -219,7 +220,67 @@
return true; return true;
}testRepoDispatcher(); }//testRepoDispatcher();
/* INSERTION (COMPOSITE) DES UTILISATEURS DE LA BDD
*
*
* @return status<Boolean> TRUE si aucune erreur, sinon FALSE
*
*/
function insertUsersComposite(){
// Creation de la requete
$request = new \manager\ModuleRequest('userDefault/create', array('92-55-B9-B3', 'b', 'c', 'd', 'e', 'f', 'g') );
$answer = $request->dispatch();
// Debug error
var_dump( $answer->error );
var_dump( \manager\ManagerError::explicit($answer->error) );
var_dump( $answer->getAll() );
return true;
}//insertUsersComposite();
/* TEST DU CHECKER
*
*
* @return status<Boolean> TRUE si aucune erreur, sinon FALSE
*
*/
function testDatabaseChecker(){
/* (1) Code RFID */
var_dump('user.code');
var_dump( \manager\Database::check('user.code', '01-23-AB-CD' ) );
var_dump( \manager\Database::check('user.code', '01-23-45-67-89-AB' ) );
var_dump( \manager\Database::check('user.code', '01-23-AB-CG' ) );
var_dump( \manager\Database::check('user.code', '01-23-45-67-89-AB-CD' ) );
/* (2) Username / FirstName / Lastname */
var_dump('user.username ; user.firstname ; user.lastname');
/* (3) Adresse mail */
var_dump('user.mail');
/* (4) Password sha1 hash */
var_dump('user.password');
return true;
}testDatabaseChecker();
?> ?>

View File

@ -1,9 +1,14 @@
{ {
"userDefaultModule" :[ "userDefault" :[
"create",
"getAll" "getAll"
], ],
"machineDefaultModule" :[ "machineDefault" :[
"create",
"getAll" "getAll"
] ]

View File

@ -1,8 +1,13 @@
{ {
"user" :[ "user" :[
"get", "create",
"getById",
"getByCode",
"getAll", "getAll",
"getGroup" "getGroup",
"delete"
], ],
"machine" :[ "machine" :[

View File

@ -28,12 +28,7 @@
$R->get('settings(?:/[\w-]+)*/?', function(){ include __ROOT__.'/view.php'; }); $R->get('settings(?:/[\w-]+)*/?', function(){ include __ROOT__.'/view.php'; });
// nomPage -> nomPage/ // nomPage -> nomPage/
$R->get('dashboard', function(){ header('Location: /dashboard/'); });
$R->get('profile', function(){ header('Location: /profile/'); });
$R->get('machines', function(){ header('Location: /machines/'); });
$R->get('users', function(){ header('Location: /users/'); });
$R->get('analytics', function(){ header('Location: /analytics/'); });
$R->get('settings', function(){ header('Location: /settings/'); });
// $R->get('dashboard/', function(){ include __ROOT__.'/view.php'; }); // $R->get('dashboard/', function(){ include __ROOT__.'/view.php'; });
// $R->get('machines/', function(){ include __ROOT__.'/view.php'; }); // $R->get('machines/', function(){ include __ROOT__.'/view.php'; });

View File

@ -67,6 +67,7 @@
/* SUPPRIME LES VALEURS À CLÉS NUMÉRIQUES DANS UN FETCH D'UNE TABLE DE LA BDD /* SUPPRIME LES VALEURS À CLÉS NUMÉRIQUES DANS UN FETCH D'UNE TABLE DE LA BDD
* *
* @fetchData<Array> le résultat d'une $requeteSQL->fetchAll() * @fetchData<Array> le résultat d'une $requeteSQL->fetchAll()
* @oneDimension<Boolean> FAUX <=> fetchAll ; VRAI <=> fetch
* *
* @return newFetchData<Array> retourne le tableau donné en paramètre mais sans les valeurs à clés numériques * @return newFetchData<Array> retourne le tableau donné en paramètre mais sans les valeurs à clés numériques
* *
@ -107,6 +108,67 @@
return $fetchData; return $fetchData;
} }
////////////////////////////////////////////////////////////////
// _ __ _ _ _
// __ _____ _ __(_)/ _(_) ___ __ _| |_(_) ___ _ __ ___
// \ \ / / _ \ '__| | |_| |/ __/ _` | __| |/ _ \| '_ \/ __|
// \ V / __/ | | | _| | (_| (_| | |_| | (_) | | | \__ \
// \_/ \___|_| |_|_| |_|\___\__,_|\__|_|\___/|_| |_|___/
//
////////////////////////////////////////////////////////////////
/* VERIFICATIONS DES TYPES UTILES GENERIQUES
*
* @type<String> Type que l'on veut verifier
* @value<mixed*> Valeur a verifier
*
* @return match<Boolean> Retourne si oui ou non la valeur @value est du bon type @type
*
*/
public static function check($type, $value){
$checker = !is_null($value);
switch($type){
/* (1) Global */
case 'auto_increment_id':
return $checker && is_numeric($value) && $value <= 2147483647 && $value >= -2147483647;
break;
/* (2) Utilisateur */
case 'user.code':
return $checker && is_string($value) && preg_match('/^[\dA-F]{2}(\-[\dA-F]{2}){3,5}$/i', $value);
break;
case 'user.username': case 'user.firstname': case 'user.lastname':
return $checker && is_string($value) && preg_match('/^[a-z -]{3,30}$/i', $value);
break;
case 'user.mail':
return $checker && is_string($value) && strlen($value) <= 50 && preg_match('/^[\w\.-]+@[\w\.-]+\.[a-z]{2,4}$/i', $value);
break;
case 'user.password':
return $checker && is_numeric($value) && preg_match('/^[\da-f]{40}$/i', $value);
break;
/* (3) Machine */
case 'groupe.nom':
return $checker && is_string($value) && preg_match('/^[a-z0-9 -]{1,10}$/i', $value);
break;
/* (4) Groupe */
case 'formation.code':
return $checker && is_string($value) && preg_match('/[\w]{0,10}/i', $value);
break;
case 'formation.nom':
return $checker && is_string($value) && preg_match('/[\w ]{0,100}/i', $value);
break;
} }
return $checker;
}
}
?> ?>

View File

@ -2,7 +2,7 @@
namespace manager\module; namespace manager\module;
class machineDefaultModule{ class machineDefault{
public static function getAll(){ public static function getAll(){

48
manager/module/userDefault.php Executable file
View File

@ -0,0 +1,48 @@
<?php
namespace manager\module;
class userDefault{
/* RENVOIE LA LISTE EXHAUSTIVE DES UTILISATEURS
*
* @return utilisateurs<Array> Liste des utilisateurs
*
*/
public static function getAll(){
// On recupere les donnees
$users = new \manager\Repo('user/getAll');
return array(
'users' => $users->answer()
);
}
/* 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, $username, $firstname, $lastname, $mail, $password, $status){
$request = new \manager\Repo('user/create', array($code, $username, $firstname, $lastname, $mail, $password, $status) );
return $request->answer();
}
}
?>

View File

@ -1,21 +0,0 @@
<?php
namespace manager\module;
class userDefaultModule{
public static function getAll(){
// On recupere les donnees
$users = new \manager\Repo('user/getAll');
return array(
'users' => $users->answer()
);
}
}
?>

View File

@ -22,13 +22,26 @@
} }
/* RENVOIE L'UTILISATEUR D'ID DONNE /* 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 utilisateur<Array> Renvoie l'utilisateur d'id donne si existe
* @return error<Boolean> Retourne FALSE si aucun resultat * @return error<Boolean> Retourne FALSE si aucun resultat
* *
*/ */
public static function get($id){ public static function getById($id){
// On ecrit la requete // On ecrit la requete
$request = \manager\Database::getPDO()->prepare("SELECT * FROM user $request = \manager\Database::getPDO()->prepare("SELECT * FROM user
WHERE id_user = :id"); WHERE id_user = :id");
@ -53,6 +66,75 @@
/* 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 = \manager\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 == null )
return false;
// On retourne en supprimant les indices numeriques
return \manager\Database::delNumeric( $answer, true );
}
/* 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 nomRetour<typeRetour> Description du retour
*
*/
public static function create($code, $username, $firstname, $lastname, $mail, $password, $status){
/* [1] Creation de l'utilisateur (unicite de l'username)
=========================================================*/
$check_unique = ( self::getByCode($code) == false );
var_dump($check_unique);
}
} }

View File

@ -13,7 +13,9 @@
############ ############
# EN COURS # # EN COURS #
############ ############
- [ ] [Database] Checker de type
- [ ] Gestion des groupes (utilisateurs/machines) - [ ] Gestion des groupes (utilisateurs/machines)
- [x] bdd
- [ ] Creation d'un groupe individuel pour utilisateurs - [ ] Creation d'un groupe individuel pour utilisateurs
- [ ] Creation d'un groupe individuel pour machines - [ ] Creation d'un groupe individuel pour machines
- [ ] Creation d'une liaison entre 2 groupes (groupeUtilisateur, groupeMachine) - [ ] Creation d'une liaison entre 2 groupes (groupeUtilisateur, groupeMachine)

View File

@ -52,7 +52,7 @@
// On recupere toutes les machines // On recupere toutes les machines
debug(); debug();
$request = new \manager\ModuleRequest('machineDefaultModule/getAll'); // On utilise la methode 'getAll' du module 'machineDefaultModule' $request = new \manager\ModuleRequest('machineDefault/getAll'); // On utilise la methode 'getAll' du module 'machineDefault'
$answer = $request->dispatch(); // On recupere la reponse $answer = $request->dispatch(); // On recupere la reponse
echo "<section data-sublink='view' class='list'>"; echo "<section data-sublink='view' class='list'>";

View File

@ -57,7 +57,7 @@
// On recupere tous les utilisateurs // On recupere tous les utilisateurs
debug(); debug();
$request = new \manager\ModuleRequest('userDefaultModule/getAll'); // On utilise la methode 'getAll' du module 'userDefaultModule' $request = new \manager\ModuleRequest('userDefault/getAll'); // On utilise la methode 'getAll' du module 'userDefault'
$answer = $request->dispatch(); // On recupere la reponse $answer = $request->dispatch(); // On recupere la reponse
echo "<section data-sublink='view' class='list'>"; echo "<section data-sublink='view' class='list'>";