diff --git a/config/repositories.json b/config/repositories.json index 13239c6..8d65422 100755 --- a/config/repositories.json +++ b/config/repositories.json @@ -9,34 +9,6 @@ "remove" ], - "subject": [ - "getById", - "getAll", - "create", - "merge", - "remove", - "link" - ], - - "relation": [ - "getAll", - "getById", - "create", - "remove" - ], - - "category": [ - "getAll", - "getById", - "getByIntitule", - "getOrCreate" - ], - - "Personnes": [ - "getById" - ], - - "token": [ "getAll", "getById", diff --git a/manager/ModuleRequest.php b/manager/ModuleRequest.php index 0efdb76..ac68c96 100755 --- a/manager/ModuleRequest.php +++ b/manager/ModuleRequest.php @@ -381,7 +381,7 @@ /* [2] Gestion si un @token est defini =========================================================*/ - if( Checker::run('sha1', $token) ){ + if( Checker::run('hash', $token) ){ /* (1) On verifie que le token est valide */ diff --git a/manager/repo/category.php b/manager/repo/category.php deleted file mode 100644 index dd90beb..0000000 --- a/manager/repo/category.php +++ /dev/null @@ -1,63 +0,0 @@ - Nom de la catégorie - * - * @return id Retourne l'id de la catégorie crée, FALSE si erreur - * - */ - public static function getOrCreate($intitule){ - /* [0] Vérification des INPUT - =========================================================*/ - // Si erreur de type de paramètre, on retourne FALSE - if( !Checker::run('varchar(0,40)', $intitule) ) - return false; - - /* [1] Vérification qu'aucune n'a cet intitulé - =========================================================*/ - $existing = self::getByIntitule($intitule); - - /* (1) Si existe déja avec cet intitulé, on récupère l'id */ - if( is_array($existing) && count($existing) > 0 ) - return $existing[0]['idCategorie']; - - - /* [2] Création si l'intitulé n'est pas déja utilisé - =========================================================*/ - $create_r = Database::getPDO()->prepare("INSERT INTO categories(idCategorie, intitule) - VALUES(DEFAULT, :intitule)"); - $create_r_status = $create_r->execute( array( ':intitule' => $intitule ) ); - - // Si erreur de requête - if( $create_r_status === false ) - return false; - - - /* [3] On vérifie et renvoie l'id - =========================================================*/ - $created = self::getByIntitule($intitule); - - /* (1) Si existe déja avec cet intitulé, on récupère l'id */ - if( is_array($created) && count($created) > 0 ) - return $created[0]['idCategorie']; - - // Sinon, c'est qu'il y a une erreur - return false; - } - - - } - - -?> diff --git a/manager/repo/relation.php b/manager/repo/relation.php deleted file mode 100644 index 3511b9c..0000000 --- a/manager/repo/relation.php +++ /dev/null @@ -1,81 +0,0 @@ - UID du sujet A - * @B UID du sujet B - * @category UID de la categorie en question - * - * @return status On retourne TRUE si tout s'est bien passé, sinon FALSE si erreur - * - */ - public static function create($A, $B, $category){ - /* [0] Vérification des INPUT - =========================================================*/ - $checkInput = Checker::run('id', $A); - $checkInput = $checkInput && Checker::run('id', $B); - $checkInput = $checkInput && Checker::run('id', $category); - - // Si erreur de type de paramètre, on retourne FALSE - if( !$checkInput ) - return false; - - - - /* [1] On vérifie que la relation n'existe pas déja - =========================================================*/ - $exists = self::getById($A, $B, $category); - - // Si la relation existe, on retourne TRUE - if( is_array($exists) && count($exists) > 0 ) - return true; - - - /* [2] Création de la relation - =========================================================*/ - $create_relation = Database::getPDO()->prepare("INSERT INTO relations(idPersonneA, idPersonneB, idCategorie) - VALUES(:A, :B, :category)"); - $create_rel_status = $create_relation->execute( array( - ':A' => $A, - ':B' => $B, - ':category' => $category - )); - - - // Si erreur de requête -> FALSE - if( $create_rel_status === false ) - return false; - - - /* [3] On vérifie que la relation est crée - =========================================================*/ - $get_relation = self::getById($A, $B, $category); - - // Si la relation n'existe pas, on renvoie une erreur - if( !is_array($get_relation) || is_array($get_relation) && count($get_relation) == 0 ) - return false; - - - // Si tout s'est bien passé, on retourne TRUE - return true; - } - - - public static function remove(){ - - } - - } - - -?> diff --git a/manager/repo/subject.php b/manager/repo/subject.php deleted file mode 100644 index 18e141e..0000000 --- a/manager/repo/subject.php +++ /dev/null @@ -1,229 +0,0 @@ - UID du sujet en question - * - * @return subject Tableau contenant les donnees du sujet s'il existe sinon retourne FALSE - * - */ - public static function getById($id_subject){ - /* [1] On effectue la requete - =========================================================*/ - $getSubject = Database::getPDO()->prepare("SELECT idSujet, pseudo, prenom, nom, id_facebook, telephone - FROM sujets - WHERE idSujet = :id_subject"); - $get_status = $getSubject->execute(array( ':id_subject' => $id_subject )); - - // Si erreur de requête - if( $get_status === false ) - return false; - - - /* [2] On recupere le resultat de la requete - =========================================================*/ - $subjectData = $getSubject->fetch(); - - // Si l'utilisateur n'existe pas, on retourne FALSE - if( $subjectData === false ) return false; - - /* [3] Gestion du retour - =========================================================*/ - return Database::delNumeric( $subjectData, true ); - } - - - - - - /* RETOURNE LES DONNEES DE TOUS LES SUJETS - * - * @return subjects Tableau contenant les donnees des sujets, retourne FALSE si erreur - * - */ - public static function getAll(){ - /* [1] On effectue la requete - =========================================================*/ - $getSubjects = Database::getPDO()->query("SELECT idSujet, pseudo, prenom, nom, id_facebook, telephone - FROM sujets - ORDER BY idSujet ASC"); - - - /* [2] On recupere le resultat de la requete - =========================================================*/ - $subjectsData = $getSubjects->fetchAll(); - - // Si l'utilisateur n'existe pas, on retourne FALSE - if( $subjectsData === false ) return false; - - /* [3] Gestion du retour - =========================================================*/ - return Database::delNumeric( $subjectsData ); - } - - - - - /* CREE UN SUJET - * - * @username Pseudo du sujet - * @firstname Prénom du sujet - * @lastname Nom du sujet - * @id_facebook Id facebook du sujet (optionnel) - * @number Numéro de téléphone du sujet (optionnel) - * - * @return id_subject Renvoie l'id du sujet cree ou FALSE si erreur - * - */ - public static function create($username, $firstname, $lastname, $id_facebook, $number){ - /* [0] Verification et formattage des INPUT - =========================================================*/ - $checkInput = Checker::run('varchar(0,30)', $username); - $checkInput = $checkInput && Checker::run('varchar(0,30)', $firstname); - $checkInput = $checkInput && Checker::run('varchar(0,30)', $lastname); - $checkInput = $checkInput && !!strlen($username.$firstname.$lastname); // Pseudo, prénom, ou nom, au moins un n'est pas vide - $checkInput = $checkInput && ( Checker::run('id', $id_facebook) || is_null($id_facebook) ); - $checkInput = $checkInput && ( Checker::run('number', $number) || is_null($number) ); - - // Si erreur en entree, on retourne FAUX - if( !$checkInput ) return false; - - /* [1] On écrit la requête - =========================================================*/ - $request_create_string = 'INSERT INTO sujets(idSujet, pseudo, nom, prenom, id_facebook, telephone) '; - $request_create_string .= 'VALUES ('; - $request_create_string .= 'DEFAULT, '; // idPersone - $request_create_string .= strlen($username) ? ':pseudo, ' : 'NULL, '; // pseudo - $request_create_string .= strlen($lastname) ? ':nom, ' : 'NULL, '; // nom - $request_create_string .= strlen($firstname) ? ':prenom, ' : 'NULL, '; // prenom - $request_create_string .= !is_null($id_facebook) ? ':id_facebook, ' : 'NULL, '; // Id facebook - $request_create_string .= !is_null($number) ? ':number, ' : 'NULL, '; // Numéro de tél - // On retire la dernière virgule - $request_create_string = preg_replace('/, ?$/', '', $request_create_string); - $request_create_string .= ')'; - - // On crée la requête - $request_create = Database::getPDO()->prepare($request_create_string); - - - /* [2] On exécute la requête avec les valeurs - =========================================================*/ - /* (1) On ajoute les paramètres à ajouter */ - $variables = array(); - if( strlen($username) ) $variables[':pseudo'] = $username; - if( strlen($lastname) ) $variables[':nom'] = $lastname; - if( strlen($firstname) ) $variables[':prenom'] = $firstname; - if( !is_null($id_facebook) ) $variables[':id_facebook'] = $id_facebook; - if( !is_null($number) ) $variables[':number'] = $number; - - /* (2) On exécute la requête avec leurs variables utiles uniquement */ - $status_created = $request_create->execute($variables); - - - /* [3] Verification de la creation + recuperation id - =========================================================*/ - // Si erreur de création - if( $status_created === false ) return false; - - - // On recupere l'id du sujet - $id_subject = Database::getPDO()->lastInsertId(); - - // Si erreur, on retourne FALSE - if( $id_subject == null ) return false; - - /* [4] Gestion du retour - =========================================================*/ - return $id_subject; - } - - - - - - - - - - /* SUPRESSION D'UN SUJET D'ID DONNE - * - * @id_subject UID du sujet en question - * - */ - public static function remove($id_subject){ - /* [0] Vérification des INPUT - =========================================================*/ - if( !Checker::run('id', $id_subject) ) - return false; - - /* [1] On effectue la suppression - =========================================================*/ - $delSubject = Database::getPDO()->prepare("DELETE FROM sujets WHERE idSujet = :id_subject"); - return $delSubject->execute(array( ':id_subject' => $id_subject )); - } - - - - - - - /* CREER UNE RELATION ENTRE 2 SUJETS - * - * @A UID du premier sujet - * @B UID du second sujet - * @category Intitulé du type de relation - * - * @return id_relation Renvoie l'id de la relation crée, sinon FALSE si erreur - * - */ - public static function link($A, $B, $category){ - /* [0] Vérification des INPUT - =========================================================*/ - $checkInput = Checker::run('id', $A); - $checkInput = $checkInput && Checker::run('id', $B); - $checkInput = $checkInput && Checker::run('varchar(0,40)', $category); - - // Si erreur de type de paramètre, on retourne FALSE - if( !$checkInput ) - return false; - - /* [1] On récupère ou crée la catégorie - =========================================================*/ - $category_id_req = new Repo('category/getOrCreate', array($category)); - $category_id = $category_id_req->answer(); - - // Si erreur -> FALSE - if( $category_id === false ) - return false; - - - /* [2] On crée la relation - =========================================================*/ - $relation_req = new Repo('relation/create', array($A, $B, $category_id)); - $relation = $relation_req->answer(); - - // Si erreur de création -> FALSE - if( $relation === false ) - return false; - - // Si tout s'est bien passé, on retourne TRUE - return true; - } - - } - - -?> diff --git a/manager/repo/token.php b/manager/repo/token.php index b27135c..3618aba 100644 --- a/manager/repo/token.php +++ b/manager/repo/token.php @@ -61,7 +61,7 @@ /* [0] Verification des INPUT =========================================================*/ // si le format est incorrect, on retourne FAUX - if( !Checker::run('sha1', $token) ) return false; + if( !Checker::run('hash', $token) ) return false; /* [1] Verification dans la base de donnees diff --git a/manager/repo/user.php b/manager/repo/user.php index 1f90c65..a19388d 100755 --- a/manager/repo/user.php +++ b/manager/repo/user.php @@ -71,7 +71,7 @@ public static function create($login, $password, $mail, $reference, $permission){ /* [0] Verification et formattage des INPUT =========================================================*/ - $checkInput = Checker::run('sha1', $password); + $checkInput = Checker::run('hash', $password); $checkInput = $checkInput && Checker::run('varchar(3, 30)', $login); $checkInput = $checkInput && Checker::run('mail', $mail); $checkInput = $checkInput && ( Checker::run('id', $reference) || is_null($reference) ); diff --git a/phpunit/tests/Database_check.php b/phpunit/tests/Database_check.php index c2b0751..fec41eb 100755 --- a/phpunit/tests/Database_check.php +++ b/phpunit/tests/Database_check.php @@ -172,31 +172,31 @@ $password_hash = \manager\sessionManager::sha1('monmotdepasse'); $this->assertEquals( 40, strlen($password_hash) ); - $this->assertTrue( \manager\Checker::run('sha1', $password_hash) ); + $this->assertTrue( \manager\Checker::run('hash', $password_hash) ); } public function testPasswordSizeInfIncorrect(){ $password_hash = 'a'; $this->assertLessThan( 40, strlen($password_hash) ); - $this->assertFalse( \manager\Checker::run('sha1', $password_hash) ); + $this->assertFalse( \manager\Checker::run('hash', $password_hash) ); } public function testPasswordSizeSupIncorrect(){ $password_hash = \manager\sessionManager::sha1('monmotdepasse').'a'; $this->assertGreaterThan( 40, strlen($password_hash) ); - $this->assertFalse( \manager\Checker::run('sha1', $password_hash) ); + $this->assertFalse( \manager\Checker::run('hash', $password_hash) ); } public function testPasswordContentCorrect(){ - $this->assertTrue( \manager\Checker::run('sha1', 'dd629d39c4576731a2bef003c72ff89d6fc2a99a') ); + $this->assertTrue( \manager\Checker::run('hash', 'dd629d39c4576731a2bef003c72ff89d6fc2a99a') ); } public function testPasswordContentIncorrect(){ $this->assertContains( 'g', 'dd629d39c4576731a2bef003c72ff89d6fc2a9g' ); - $this->assertFalse( \manager\Checker::run('sha1', 'dd629d39c4576731a2bef003c72ff89d6fc2a9g') ); + $this->assertFalse( \manager\Checker::run('hash', 'dd629d39c4576731a2bef003c72ff89d6fc2a9g') ); }