diff options
| author | Debulois <quentin@debulois.fr> | 2022-03-13 12:42:37 +0100 |
|---|---|---|
| committer | Debulois <quentin@debulois.fr> | 2022-03-13 12:42:37 +0100 |
| commit | 473e6eb56ca1211be05d2b5fd814710f2ff78d38 (patch) | |
| tree | 4544b6c5c2ecaa3198d3583520f3199d7c056ed4 | |
| parent | 497ce42637ebaad0c388d309d6b5bbf91db2dfa4 (diff) | |
Mise ç jour de pas mal de chose et ajout de la possibilité de pouvoir ajouter/supprimer des catégories d'emploi
33 files changed, 473 insertions, 201 deletions
diff --git a/Database/dbmain.php b/Database/dbmain.php index 532bb7c..262c55a 100644 --- a/Database/dbmain.php +++ b/Database/dbmain.php @@ -12,6 +12,8 @@ // final: ne peut etre ré-écris (overload) class DbMain { + // Pour gérer si "en production" + private $debug = True; // Salt pour chiffrement private $salt = "cTKXHBoN3oxymlhNem2h"; // Configuration du serveur MYSQL / MARIADB @@ -19,10 +21,9 @@ class DbMain { private $host = "127.0.0.1"; private $user = "root"; private $pass = ""; - private $debug = True; - // Déclaration des tables private $database = "alphajob"; + // Déclaration des tables // Timestamp auto si non renseigné // UserAccount, infos du compte nécessaire à la connection private $createTableUserAccount = "CREATE TABLE IF NOT EXISTS `alphajob`.`userAccount` ( @@ -65,8 +66,9 @@ class DbMain { // Liste des categories d'emploie possible private $createTableJobCategory = "CREATE TABLE IF NOT EXISTS `alphajob`.`jobCategory` ( - `jobCategoryId` INT UNSIGNED NOT NULL, - `categoryName` VARCHAR(128) NOT NULL, + `jobCategoryId` INT UNSIGNED NOT NULL AUTO_INCREMENT, + `jobCategoryNameEn` VARCHAR(128) NOT NULL, + `jobCategoryNameFr` VARCHAR(128) NOT NULL, PRIMARY KEY (`jobCategoryId`) ) ENGINE = InnoDB diff --git a/Database/meth_dbadmin.php b/Database/meth_dbadmin.php new file mode 100644 index 0000000..32d6077 --- /dev/null +++ b/Database/meth_dbadmin.php @@ -0,0 +1,108 @@ +<?php +// **************************************************************************** +// Description: Ensemble de méthodes pour étendre dbmain +// afin de gérer l'administration du site +// **************************************************************************** + +// Import de dbmain +require_once(dirname( __FILE__ )."/dbmain.php"); +// Extension de cette classe avec dbmain +class DbAdmin extends DbMain { + + // Récupérer toutes les infos de la table userAccount + final public function get_all_users_account() { + $reqGetAll = "SELECT * FROM ".$this->tableUserAccount; + // https://www.php.net/manual/fr/pdostatement.fetch.php + // "PDO::FETCH_ASSOC: retourne un tableau indexé + // par le nom de la colonne comme retourné dans le jeu de résultats" + $data = $this->exec_cmd($reqGetAll, array())->fetchAll(PDO::FETCH_ASSOC); + return $data; + } + + // https://stackoverflow.com/questions/1361340/how-can-i-do-insert-if-not-exists-in-mysql + // Suppresion d'un utilisateur + final public function user_del($userId) { + // Préparation de la requète pour voir si l'utilisateur existe + // https://stackoverflow.com/questions/1676551/best-way-to-test-if-a-row-exists-in-a-mysql-table + $reqCheckExistId = "SELECT EXISTS(SELECT 1 FROM ".$this->tableUserAccount." WHERE userId = ? LIMIT 1)"; + // Exécution de la requète, fetchall pour avoir le résultat + // https://www.php.net/manual/fr/pdostatement.fetch.php + // struct par défaut req et index (fetch_both) = arr([0] => arr("req" => BOOL, [0] => BOOL)) + // PDO::FETCH_NUM : retourne un tableau indexé par le numéro de la colonne comme elle + // est retourné dans votre jeu de résultat, commençant à 0 + $reqResult = $this->exec_cmd($reqCheckExistId, array($userId))->fetchAll(PDO::FETCH_NUM); + // Si il existe + if ($reqResult[0][0]) { + // Préparation de la requète pour suppression + $reqDelUser = "DELETE FROM ".$this->tableUserAccount." WHERE userId = ?"; + // Exécution de la requète + $this->exec_cmd($reqDelUser, array($userId)); + // Retourne 1 pour réussite + return 1; + } else { + // Retourne 0 pour échec + return 0; + } + } + + // Récupérer toutes les infos de la table jobCategory + final public function get_all_job_category() { + $reqGetAll = "SELECT * FROM ".$this->tableJobCategory; + $data = $this->exec_cmd($reqGetAll, array())->fetchAll(PDO::FETCH_ASSOC); + return $data; + } + + // Ajout d'une categorie + final public function job_category_register($jobCategoryNameEn, $jobCategoryNameFr) { + // Préparation et execution de la requète pour voir si la categorie existe en anglais + $reqCheckjobCategoryNameEn = "SELECT EXISTS(SELECT 1 FROM ".$this->tableJobCategory." WHERE jobCategoryNameEn = ? LIMIT 1)"; + $reqResultEn = $this->exec_cmd($reqCheckjobCategoryNameEn, array($jobCategoryNameEn))->fetchAll(PDO::FETCH_NUM); + // Si il n'existe pas en anglais + if (!$reqResultEn[0][0]) { + // Préparation et execution de la requète pour voir si la categorie existe en Français + $reqCheckjobCategoryNameFr = "SELECT EXISTS(SELECT 1 FROM ".$this->tableJobCategory." WHERE jobCategoryNameFr = ? LIMIT 1)"; + $reqResultFr = $this->exec_cmd($reqCheckjobCategoryNameFr, array($jobCategoryNameFr))->fetchAll(PDO::FETCH_NUM); + // Si il n'existe pas en Français non plus + if (!$reqResultFr[0][0]) { + // Préparation de la requète pour l'ajout + $reqjobCategoryNameAdd = "INSERT INTO ".$this->tableJobCategory." + (jobCategoryNameEn, jobCategoryNameFr) + VALUES + (? ,?)"; + // Exécution de la requète + $this->exec_cmd($reqjobCategoryNameAdd, array($jobCategoryNameEn, $jobCategoryNameFr)); + // Retourne 1 pour réussite + return 1; + } else { + // Retourne 0 pour échec + return 0; + } + } else { + // Retourne 0 pour échec + return 0; + } + } + + // Suppresion d'un utilisateur + final public function job_category_del($jobCategoryId) { + // Préparation de la requète pour voir si l'utilisateur existe + $reqCheckExistId = "SELECT EXISTS(SELECT 1 FROM ".$this->tableJobCategory." WHERE jobCategoryId = ? LIMIT 1)"; + // Exécution de la requète, fetchall pour avoir le résultat + // struct par défaut req et index (fetch_both) = arr([0] => arr("req" => BOOL, [0] => BOOL)) + // fetch_num pour casser l'index "req" en chiffre, dict -> list + $reqResult = $this->exec_cmd($reqCheckExistId, array($jobCategoryId))->fetchAll(PDO::FETCH_NUM); + // Si il existe + if ($reqResult[0][0]) { + // Préparation de la requète pour suppression + $reqDelJobCategory = "DELETE FROM ".$this->tableJobCategory." WHERE jobCategoryId = ?"; + // Exécution de la requète + $this->exec_cmd($reqDelJobCategory, array($jobCategoryId)); + // Retourne 1 pour réussite + return 1; + } else { + // Retourne 0 pour échec + return 0; + } + } +} +?>
\ No newline at end of file diff --git a/Database/meth_dbmission.php b/Database/meth_dbmission.php new file mode 100644 index 0000000..006f572 --- /dev/null +++ b/Database/meth_dbmission.php @@ -0,0 +1,59 @@ +<?php +// **************************************************************************** +// Description: Ensemble de méthodes pour étendre dbmain afin +// d'effectuer des recherches dans la bdd +// **************************************************************************** +// Infos pour les "join": +// https://www.freecodecamp.org/news/sql-joins-tutorial/ +// +// Import de dbmain +require_once(dirname( __FILE__ )."/dbmain.php"); +// Extension de cette classe avec dbmain +class DbMission extends DbMain { + + // Enregistrement d'une mission + final public function register_mission($subject, $note, $review, $clientId, $proId) { + // Vérification de l'existance de l'id de consultant + $exist = $this->check_exist_pro($proId); + // Si il existe + if ($exist) { + // Préparation de la requète pour enregistrement de la mission + $reqAddMission = "INSERT INTO ".$this->tableMission." + (date, subject, note, review, clientId, proId) + VALUES (?, ?, ?, ?, ?, ?)"; + // Exécution de la requète + $this->exec_cmd($reqAddMission, + array(date("Y-m-d H:i:s"), $subject, + $note, $review, + $clientId, $proId + ) + ); + // Retourne 1 pour réussite + return 1; + } else { + // Retourne 0 pour échec + return 0; + } + } + + // Récupérations des missions d'un pro par son id + final public function get_mission_by_id($id) { + $reqGetAllMission = "SELECT subject, note, review, lastname FROM ".$this->tableMission." + LEFT JOIN ".$this->tableUserInfo." + ON ".$this->tableMission.".missionId = ".$this->tableUserInfo.".userId + WHERE proId = ?"; + $data = $this->exec_cmd($reqGetAllMission, array($id))->fetchAll(PDO::FETCH_ASSOC); + return $data; + } + + // Compte le nombre de mission d'un consultant par son nom + final public function count_pro_missions_by_lastname($name) { + $reqCountMission = "SELECT COUNT(*) FROM ".$this->tableMission." + INNER JOIN ".$this->tableUserInfo." + ON ".$this->tableMission.".proId = ".$this->tableUserInfo.".userId + WHERE lastname = ?"; + $data = $this->exec_cmd($reqCountMission, array($name))->fetchAll(PDO::FETCH_ASSOC); + return $data; + } + +}
\ No newline at end of file diff --git a/Database/meth_dbsearch.php b/Database/meth_dbsearch.php index a90925c..8a95a67 100644 --- a/Database/meth_dbsearch.php +++ b/Database/meth_dbsearch.php @@ -10,21 +10,15 @@ require_once(dirname( __FILE__ )."/dbmain.php"); // Extension de cette classe avec dbmain class DbSearch extends DbMain { - // Récupérer toutes les infos de la table userAccount - final public function search_all() { - $reqGetAll = "SELECT * FROM ".$this->tableUserAccount; - $data = $this->exec_cmd($reqGetAll, array())->fetchAll(PDO::FETCH_ASSOC); - return $data; - } // Récupération des infos d'un compte par son id - final public function search_user_by_id($id) { + final public function get_user_account_by_id($id) { $reqSearchUser = "SELECT userId, email, inscriptionDate, isClient, isPro, isAdmin FROM ".$this->tableUserAccount." WHERE userId = ?"; $data = $this->exec_cmd($reqSearchUser, array($id))->fetch(PDO::FETCH_ASSOC); return $data; } - + // Récupération des infos d'un utilisateur par son id final public function get_user_info_by_id($id) { $reqGetUserInfo = "SELECT lastname, firstname, job, degree, @@ -35,9 +29,10 @@ class DbSearch extends DbMain { return $data; } - // Récupération des infos d'un consultant par son nom - final public function search_consultant_by_name($research) { - $reqSearchConsultant = "SELECT userId, lastname, firstname, job, capability FROM ".$this->tableUserInfo." + // Récupération des infos d'un pro par son nom + final public function get_pro_info_by_lastname($research) { + $reqSearchConsultant = "SELECT ".$this->tableUserInfo.".userId, lastname, firstname, job, capability + FROM ".$this->tableUserInfo." INNER JOIN ".$this->tableUserAccount." ON ".$this->tableUserInfo.".userId = ".$this->tableUserAccount.".userId WHERE isPro = '1' AND lastname LIKE CONCAT('%', ?, '%')"; @@ -46,7 +41,7 @@ class DbSearch extends DbMain { } // Récupération des notes d'un consultant par son nom - final public function get_consultant_note_by_name($name) { + final public function get_pro_note_by_lastname($name) { $reqCountMission = "SELECT note FROM ".$this->tableMission." INNER JOIN ".$this->tableUserInfo." ON ".$this->tableMission.".proId = ".$this->tableUserInfo.".userId @@ -55,24 +50,5 @@ class DbSearch extends DbMain { return $data; } - // Récupérations des missions d'un consultant par son id - final public function get_all_mission_by_id($id) { - $reqGetAllMission = "SELECT subject, note, review, lastname FROM ".$this->tableMission." - LEFT JOIN ".$this->tableUserInfo." - ON ".$this->tableMission.".missionId = ".$this->tableUserInfo.".userId - WHERE proId = ?"; - $data = $this->exec_cmd($reqGetAllMission, array($id))->fetchAll(PDO::FETCH_ASSOC); - return $data; - } - - // Compte le nombre de mission d'un consultant par son nom - final public function count_consultant_mission_by_name($name) { - $reqCountMission = "SELECT COUNT(*) FROM ".$this->tableMission." - INNER JOIN ".$this->tableUserInfo." - ON ".$this->tableMission.".proId = ".$this->tableUserInfo.".userId - WHERE lastname = ?"; - $data = $this->exec_cmd($reqCountMission, array($name))->fetchAll(PDO::FETCH_ASSOC); - return $data; - } } ?>
\ No newline at end of file diff --git a/Database/meth_dbuser.php b/Database/meth_dbuser.php index cba1683..c0afb8c 100644 --- a/Database/meth_dbuser.php +++ b/Database/meth_dbuser.php @@ -8,8 +8,13 @@ require_once(dirname( __FILE__ )."/dbmain.php"); // Extension de cette classe avec dbmain class DbUser extends DbMain { + + // **************************************************************************** + // Gestion d'un utilisateur + // **************************************************************************** + // Enregistrement d'un nouvel utilisateur - final public function add_user($email, $pass, $is_client, $is_pro, $is_admin) { + final public function user_register($email, $pass, $is_client, $is_pro, $is_admin) { // On vérifie si l'email existe deja dans la bdd $exist = $this->check_exist_email($email); // Si non @@ -38,28 +43,25 @@ class DbUser extends DbMain { } } - // Suppresion d'un utilisateur - final public function del_user($userId) { - // Préparation de la requète pour voir si l'utilisateur existe - $reqCheckExistId = "SELECT EXISTS(SELECT * FROM ".$this->tableUserAccount." WHERE userId = ?)"; - // Exécution de la requète - $data = $this->exec_cmd($reqCheckExistId, array($userId))->fetchAll(PDO::FETCH_NUM); - // Si il existe - if ($data[0][0]) { - // Préparation de la requète pour suppression - $reqDelUser = "DELETE FROM ".$this->tableUserAccount." WHERE userId = ?"; - // Exécution de la requète - $this->exec_cmd($reqDelUser, array($userId)); - // Retourne 1 pour réussite - return 1; - } else { - // Retourne 0 pour échec - return 0; + // Vérification de la combinaison email - pass pour authentification + final public function user_check_credential($email, $pass) { + // Préparation de la requète pour récupérer les infos ou l'email est présent + $reqCheckCredential = "SELECT userId, password + FROM ".$this->tableUserAccount." WHERE email = ? "; + // Chiffrement du mot de passe + $crypt = $this->crypt_pass($pass); + // Execution de la requète + $data = $this->exec_cmd($reqCheckCredential, array($email))->fetchAll(PDO::FETCH_ASSOC); + // Vérifiaction de correspondance email & pass + foreach ($data as $rows) { + if ($rows["password"] == $crypt) { + return $rows["userId"]; + } } } // Mise à jour des infos d'un utilisateur - final public function update_user_info($lastname, $firstname, $job, $degree, + final public function user_infos_update($lastname, $firstname, $job, $degree, $capability, $description, $phoneNumber, $adress, $zipCode, $city, $userId) { // Préparation de la requète pour mise à jour des infos @@ -76,50 +78,13 @@ class DbUser extends DbMain { ); } - // Enregistrement d'une mission - final public function register_mission($subject, $note, $review, $clientId, $proId) { - // Vérification de l'existance de l'id de consultant - $exist = $this->check_exist_pro($proId); - // Si il existe - if ($exist) { - // Préparation de la requète pour enregistrement de la mission - $reqAddMission = "INSERT INTO ".$this->tableMission." - (date, subject, note, review, clientId, proId) - VALUES (?, ?, ?, ?, ?, ?)"; - // Exécution de la requète - $this->exec_cmd($reqAddMission, - array(date("Y-m-d H:i:s"), $subject, - $note, $review, - $clientId, $proId - ) - ); - // Retourne 1 pour réussite - return 1; - } else { - // Retourne 0 pour échec - return 0; - } - } - // Vérification de la combinaison email - pass pour authentification - final public function check_credential($email, $pass) { - // Préparation de la requète pour récupérer les infos ou l'email est présent - $reqCheckCredential = "SELECT userId, password - FROM ".$this->tableUserAccount." WHERE email = ? "; - // Chiffrement du mot de passe - $crypt = $this->crypt_pass($pass); - // Execution de la requète - $data = $this->exec_cmd($reqCheckCredential, array($email))->fetchAll(PDO::FETCH_ASSOC); - // Vérifiaction de correspondance email & pass - foreach ($data as $rows) { - if ($rows["password"] == $crypt) { - return $rows["userId"]; - } - } - } + // **************************************************************************** + // Gestion du token-autologin + // **************************************************************************** // Vérification de la combinaison email - jeton d'auto-login pour authentification - final public function check_token_autologin($email, $token) { + final public function autologin_token_check($email, $token) { // Préparation de la requète pour récupérer les infos ou l'email est présent $reqCheckToken = "SELECT userId, tokenAutoLogin FROM ".$this->tableUserAccount." WHERE email = ?"; @@ -134,7 +99,7 @@ class DbUser extends DbMain { } // Mise à jour du jeton d'auto-login - final public function update_token_autologin($email, $token) { + final public function autologin_token_update($email, $token) { // Préparation de la requète pour mise à jour du jeton d'auto-connection $reqUpdateToken = "UPDATE ".$this->tableUserAccount." SET tokenAutoLogin = ? WHERE email = ?"; @@ -143,7 +108,7 @@ class DbUser extends DbMain { } // Supression du jeton d'auto-login - final public function delete_token_autologin($email) { + final public function autologin_token_delete($email) { // Préparation de la requète pour supression du jeton d'auto-connection $reqDeleteToken = "UPDATE ".$this->tableUserAccount." SET tokenAutoLogin = NULL WHERE email = ?"; diff --git a/Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb b/Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb Binary files differindex 3a0658c..6d49548 100644 --- a/Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb +++ b/Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb diff --git a/Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb.bak b/Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb.bak Binary files differindex 5f39098..7a6e7a2 100644 --- a/Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb.bak +++ b/Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb.bak diff --git a/Documents_et_infos/Bdd_mysql/mysql_alphajob.png b/Documents_et_infos/Bdd_mysql/mysql_alphajob.png Binary files differindex 89e8df5..ea9e271 100644 --- a/Documents_et_infos/Bdd_mysql/mysql_alphajob.png +++ b/Documents_et_infos/Bdd_mysql/mysql_alphajob.png diff --git a/Documents_et_infos/Bdd_mysql/mysql_alphajob.sql b/Documents_et_infos/Bdd_mysql/mysql_alphajob.sql index d556d0a..dc0d445 100644 --- a/Documents_et_infos/Bdd_mysql/mysql_alphajob.sql +++ b/Documents_et_infos/Bdd_mysql/mysql_alphajob.sql @@ -1,5 +1,5 @@ -- MySQL Script generated by MySQL Workbench --- Wed Mar 2 13:18:27 2022 +-- Sun Mar 13 12:15:01 2022 -- Model: New Model Version: 1.0 -- MySQL Workbench Forward Engineering @@ -39,7 +39,8 @@ DEFAULT CHARACTER SET = utf8; -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `exophp`.`jobCategrory` ( `jobCategoryId` INT UNSIGNED NOT NULL AUTO_INCREMENT, - `categoryName` VARCHAR(128) NOT NULL, + `jobCategoryNameEn` VARCHAR(128) NOT NULL, + `jobCategoryNameFr` VARCHAR(128) NOT NULL, PRIMARY KEY (`jobCategoryId`)) ENGINE = InnoDB; diff --git a/Documents_et_infos/Zooning_maquette_graphique/infos_css.txt b/Documents_et_infos/Zooning_maquette_graphique/infos_css.txt index 98eaea4..33af86c 100644 --- a/Documents_et_infos/Zooning_maquette_graphique/infos_css.txt +++ b/Documents_et_infos/Zooning_maquette_graphique/infos_css.txt @@ -1,3 +1,6 @@ +Ressources: +https://github.com/bradtraversy/design-resources-for-developers +https://www.photopea.com/ Tailles écrans: https://gbksoft.com/blog/common-screen-sizes-for-responsive-web-design/ diff --git a/Statics/Css/main.css b/Statics/Css/main.css index 65b6d89..c3fe421 100644 --- a/Statics/Css/main.css +++ b/Statics/Css/main.css @@ -323,7 +323,7 @@ pre { #register, #userInfo, #message, -#delete, +#admin, #mission, #myMission, #search { @@ -348,7 +348,7 @@ pre { #register h2, #userInfo h2, #message h2, -#delete h2, +#admin h2, #search h2, #mission h2, #myMission h2 { @@ -363,7 +363,7 @@ pre { #userInfo form, #register form, #mission form, -#delete form, +#admin form, #search form { display: flex; flex-direction: column; @@ -374,7 +374,7 @@ pre { } #search form, -#delete form { +#admin form { flex-direction: row; } @@ -382,7 +382,7 @@ pre { #userInfo label, #register label, #mission label, -#delete label, +#admin label, #search label { width: 80%; display: flex; @@ -392,7 +392,7 @@ pre { #userInfo i, #register i, #mission i, -#delete i, +#admin i, #search i { width: 90px; height: 2em; @@ -403,7 +403,7 @@ pre { } #myMission table, -#delete table, +#admin table, #search table { color: var(--text); padding: 5%; @@ -413,7 +413,7 @@ pre { } #myMission th, -#delete th, +#admin th, #search th { font-size: 15px; border: 2px solid var(--mainSiteColor); @@ -421,7 +421,7 @@ pre { } #myMission td, -#delete td, +#admin td, #search td { border: 2px solid var(--tableBorder); @@ -459,7 +459,7 @@ pre { #userInfo input[type="submit"], #mission input[type="submit"], #search input[type="submit"], -#delete input[type="submit"], +#admin input[type="submit"], #register input[type="submit"] { font-size: 17px; font-weight: bold; @@ -474,7 +474,7 @@ pre { #userInfo input[type="submit"]:hover, #mission input[type="submit"]:hover, #search input[type="submit"]:hover, -#delete input[type="submit"]:hover, +#admin input[type="submit"]:hover, #register input[type="submit"]:hover { cursor: pointer; color: var(--bg); diff --git a/Views/Includes/en/message.php b/Views/Includes/en/message.php index 4303907..6e5955f 100644 --- a/Views/Includes/en/message.php +++ b/Views/Includes/en/message.php @@ -9,9 +9,9 @@ $message = [ // Delete // 0 Message réussitee ["success" => true, - "title" => "Delete an user.", - "info" => "User deleted !", - "timer" => true], + "title" => "Delete an user.", + "info" => "User deleted !", + "timer" => true], // 1 Message échec ["success" => false, "title" => "Delete an user.", @@ -54,9 +54,9 @@ $message = [ // Ajout mission // 8 Message réussitee ["success" => true, - "title" => "Register a mission.", - "info" => "Mission registered !", - "timer" => true], + "title" => "Register a mission.", + "info" => "Mission registered !", + "timer" => true], // 9 Message échec ["success" => false, "title" => "Register a mission.", @@ -65,13 +65,35 @@ $message = [ // Ajout utilisateur // 10 Message réussitee ["success" => true, - "title" => "Register an user.", - "info" => "User successfully registered !", - "timer" => true], + "title" => "Register an user.", + "info" => "User successfully registered !", + "timer" => true], // 11 Message échec ["success" => false, "title" => "Register an user.", "info" => "Error, user not registered.", "timer" => true], + // Ajout categorie + // 12 Message réussitee + ["success" => true, + "title" => "Add a job category.", + "info" => "Category added !", + "timer" => true], + // 13 Message échec + ["success" => false, + "title" => "Add a job category.", + "info" => "Category not added.", + "timer" => true], + // Suppression categorie + // 14 Message réussitee + ["success" => true, + "title" => "Deletion of a job category.", + "info" => "Category deleted !", + "timer" => true], + // 15 Message échec + ["success" => false, + "title" => "Deletion of a job category.", + "info" => "Category not deleted !", + "timer" => true], ]; ?>
\ No newline at end of file diff --git a/Views/Includes/en/text.php b/Views/Includes/en/text.php index 7caf330..1111e35 100644 --- a/Views/Includes/en/text.php +++ b/Views/Includes/en/text.php @@ -3,10 +3,16 @@ // Description: Texte du site // **************************************************************************** $text = [ - "incl_form_delete" => [ - "h2" => "Delete an user", - "id" => "ID to delete", - "submit" => "Delete", + "incl_form_admin" => [ + "h2Job" => "Manage job category", + "formJobAddEn" => "Name of the category in English", + "formJobAddFr" => "Name of the category in French", + "submitJobAdd" => "Add", + "selJobDel" => "Choose a job to delete", + "submitJobDel" => "Delete", + "h2Del" => "Delete an user", + "formDel" => "ID to delete", + "submitDel" => "Delete", ], "incl_global_footer" => [ "main" => "Made by Debulois Quentin for my professional folder.<br>December 2021, all rights reserved.", @@ -48,7 +54,7 @@ $text = [ "btnInfos" => "Modif. infos", "btnMission" => "Register mission", "btnMyMission" => "My missions", - "btnDelete" => "Delete an user", + "btnAdmin" => "Administration", "btnLogin" => "Sign-in", "btnLogout" => "Loggout", "btnRegister" => "Sign-up", diff --git a/Views/Includes/en/title.php b/Views/Includes/en/title.php index 3655a7a..d08f444 100644 --- a/Views/Includes/en/title.php +++ b/Views/Includes/en/title.php @@ -10,6 +10,6 @@ $title = [ "myMission" => "AlphaJob - My missions", "register" => "AlphaJob - Register an user", "userInfo" => "AlphaJob - My user information", - "delete" => "AlphaJob - Delete an user" + "admin" => "AlphaJob - Administration of alphajob" ]; ?>
\ No newline at end of file diff --git a/Views/Includes/fr/message.php b/Views/Includes/fr/message.php index 0066cb5..408bd82 100644 --- a/Views/Includes/fr/message.php +++ b/Views/Includes/fr/message.php @@ -54,9 +54,9 @@ $message = [ // Ajout mission // 8 Message réussitee ["success" => true, - "title" => "Enregistrement d'une mission.", - "info" => "Mission enregistrée !", - "timer" => true], + "title" => "Enregistrement d'une mission.", + "info" => "Mission enregistrée !", + "timer" => true], // 9 Message échec ["success" => false, "title" => "Enregistrement d'une mission.", @@ -65,13 +65,35 @@ $message = [ // Ajout utilisateur // 10 Message réussitee ["success" => true, - "title" => "Inscription", - "info" => "Utilisateur inscrit !", - "timer" => true], + "title" => "Inscription", + "info" => "Utilisateur inscrit !", + "timer" => true], // 11 Message échec ["success" => false, "title" => "Inscription.", "info" => "Erreur, utilisateur non enregistré.", "timer" => true], + // Ajout categorie + // 12 Message réussitee + ["success" => true, + "title" => "Ajout d'une categorie.", + "info" => "Categorie ajoutée !", + "timer" => true], + // 13 Message échec + ["success" => false, + "title" => "Ajout d'une categorie.", + "info" => "Categorie non ajoutée.", + "timer" => true], + // Suppression categorie + // 14 Message réussitee + ["success" => true, + "title" => "Suppression d'une categorie.", + "info" => "Categorie supprimée !", + "timer" => true], + // 15 Message échec + ["success" => false, + "title" => "Suppression d'une categorie.", + "info" => "Categorie non supprimée.", + "timer" => true], ]; ?>
\ No newline at end of file diff --git a/Views/Includes/fr/text.php b/Views/Includes/fr/text.php index 8d72f26..3b7b989 100644 --- a/Views/Includes/fr/text.php +++ b/Views/Includes/fr/text.php @@ -3,10 +3,16 @@ // Description: Texte du site // **************************************************************************** $text = [ - "incl_form_delete" => [ - "h2" => "Supprimer un utilisateur", - "id" => "ID à supprimer", - "submit" => "Supprimer", + "incl_form_admin" => [ + "h2Job" => "Gestion des categories d'emploi", + "formJobAddEn" => "Nom de la catégorie en Englais", + "formJobAddFr" => "Nom de la catégorie en Français", + "submitJobAdd" => "Ajouter", + "selJobDel" => "Choisir une categorie à suppr.", + "submitJobDel" => "Suppr.", + "h2Del" => "Supprimer un utilisateur", + "formDel" => "ID à supprimer", + "submitDel" => "Supprimer", ], "incl_global_footer" => [ "main" => "Réalisé par Debulois Quentin pour mon dossier professionel.<br>Decembre 2021, tous droits réservés.", @@ -48,7 +54,7 @@ $text = [ "btnInfos" => "Modif. infos", "btnMission" => "Enreg. mission", "btnMyMission" => "Mes missions", - "btnDelete" => "Suppr. utilisateur", + "btnAdmin" => "Administration", "btnLogin" => "Connection", "btnLogout" => "Déconnection", "btnRegister" => "Inscription", diff --git a/Views/Includes/fr/title.php b/Views/Includes/fr/title.php index f0537b2..25b6dd0 100644 --- a/Views/Includes/fr/title.php +++ b/Views/Includes/fr/title.php @@ -10,6 +10,6 @@ $title = [ "myMission" => "AlphaJob - Mes missions", "register" => "AlphaJob - Inscription", "userInfo" => "AlphaJob - Mes informations", - "delete" => "AlphaJob - Supprimer un utilisateur" + "admin" => "AlphaJob - Administration d'alphajob" ]; ?>
\ No newline at end of file diff --git a/Views/Includes/incl_form_delete.php b/Views/Includes/incl_form_admin.php index 99ce216..ef34daa 100644 --- a/Views/Includes/incl_form_delete.php +++ b/Views/Includes/incl_form_admin.php @@ -8,24 +8,54 @@ require_once(dirname(__FILE__)."/".$_SESSION["lang"]."/text.php"); // Import des en-tête des tables. require_once(dirname( __FILE__ )."/".$_SESSION["lang"]."/table.php"); // Import des metodes de la base de donnée pour les recherches. -require_once(dirname( __FILE__ )."/../../Database/meth_dbsearch.php"); +require_once(dirname( __FILE__ )."/../../Database/meth_dbadmin.php"); + // Instanciation de la bdd avec les méthodes de recherche. -$dbsearch = new DbSearch; -// Form pour la suppression et envoie au wrappeur. +$dbadmin = new DbAdmin; +// Form pour ajout d'une catégorie d'emploi echo(' <!-- Separateur --> <div class="separator"></div> - <!-- Form pour choix de la suppression --> - <div id="delete"> - <h2>'.$text[basename(__FILE__, ".php")]["h2"].'</h2> + <!-- Form pour ajout d une catégorie d emploi --> + <div id="admin"> + <h2>'.$text[basename(__FILE__, ".php")]["h2Job"].'</h2> + <form class="flex-center" action="../../Wrapper/wrapper.php" method="post"> + <label class="width-auto"> + <i class="fas fa-briefcase"></i> + <input type="text" name="addCategoryNameEn" maxlength="128" placeholder="'.$text[basename(__FILE__, ".php")]["formJobAddEn"].'" required> + <i class="fas fa-briefcase" style="margin-left: 5%;"></i> + <input type="text" name="addCategoryNameFr" maxlength="128" placeholder="'.$text[basename(__FILE__, ".php")]["formJobAddFr"].'" required> + </label> + <input type="submit" value="'.$text[basename(__FILE__, ".php")]["submitJobAdd"].'"> + </form> + <!-- Form pour suppression d une catégorie d emploi --> + <form class="flex-center" action="/../Wrapper/wrapper.php" method="post"> + <label> + <select name="delCategoryId" required> + <option value="" selected>'.$text[basename(__FILE__, ".php")]["selJobDel"].'</option>'.PHP_EOL); + +$result = $dbadmin->get_all_job_category(); +for ($i = 0; $i < count($result); $i++){ + echo(' <option value="'.$result[$i]["jobCategoryId"].'">'.$result[$i]["jobCategoryName".ucwords($_SESSION["lang"])].'</option>'.PHP_EOL); +} + +echo(' </select> + </label> + <input type="submit" value="'.$text[basename(__FILE__, ".php")]["submitJobDel"].'"> + </form>'.PHP_EOL); + +// Form pour la suppression et envoie au wrappeur. +echo(' <!-- Form pour choix de la suppression --> + <h2>'.$text[basename(__FILE__, ".php")]["h2Del"].'</h2> <form class="flex-center" action="../../Wrapper/wrapper.php" method="post"> <label class="width-auto"> <i class="fas fa-trash-alt"></i> - <input type="text" name="userId" maxlength="10" placeholder="'.$text[basename(__FILE__, ".php")]["id"].'"> + <input type="text" name="userId" maxlength="10" placeholder="'.$text[basename(__FILE__, ".php")]["formDel"].'" required> </label> - <input type="submit" value="'.$text[basename(__FILE__, ".php")]["submit"].'"> + <input type="submit" value="'.$text[basename(__FILE__, ".php")]["submitDel"].'"> </form>'.PHP_EOL); + // Récupération de tous les utilisateurs. -$result = $dbsearch->search_all(); +$result = $dbadmin->get_all_users_account(); // Affichage de la table. echo(" <!-- Tableau des utilisateurs--> <table> diff --git a/Views/Includes/incl_form_userInfo.php b/Views/Includes/incl_form_userInfo.php index 4cc509c..760838d 100644 --- a/Views/Includes/incl_form_userInfo.php +++ b/Views/Includes/incl_form_userInfo.php @@ -56,19 +56,19 @@ echo(' <!-- Separateur --> </label> <label> <i class="fas fa-mobile-alt"></i> - <input type="text" name="phoneNumber" id="phoneNumber" maxlength="10" placeholder="'.$text[basename(__FILE__, ".php")]["phoneNumber"].'" value="'.$info[0]["phoneNumber"].'"> + <input type="text" name="phoneNumber" id="phoneNumber" maxlength="10" placeholder="'.$text[basename(__FILE__, ".php")]["phoneNumber"].'" value="'.$info[0]["phoneNumber"].'" required> </label> <label> <i class="fas fa-home"></i> - <input type="text" name="adress" id="adress" maxlength="128" placeholder="'.$text[basename(__FILE__, ".php")]["adress"].'" value="'.$info[0]["adress"].'"> + <input type="text" name="adress" id="adress" maxlength="128" placeholder="'.$text[basename(__FILE__, ".php")]["adress"].'" value="'.$info[0]["adress"].'" required> </label> <label> <i class="fas fa-map-marker-alt"></i> - <input type="text" name="zipCode" id="zipCode" maxlength="6" placeholder="'.$text[basename(__FILE__, ".php")]["zipCode"].'" value="'.$info[0]["zipCode"].'"> + <input type="text" name="zipCode" id="zipCode" maxlength="6" placeholder="'.$text[basename(__FILE__, ".php")]["zipCode"].'" value="'.$info[0]["zipCode"].'" required> </label> <label> <i class="fas fa-city"></i> - <input type="text" name="city" id="city" maxlength="128" placeholder="'.$text[basename(__FILE__, ".php")]["city"].'" value="'.$info[0]["city"].'"> + <input type="text" name="city" id="city" maxlength="128" placeholder="'.$text[basename(__FILE__, ".php")]["city"].'" value="'.$info[0]["city"].'" required> </label> <input type="submit" value="'.$text[basename(__FILE__, ".php")]["submit"].'"> </form> diff --git a/Views/Includes/incl_global_navbar.php b/Views/Includes/incl_global_navbar.php index 86241e9..1572fa6 100644 --- a/Views/Includes/incl_global_navbar.php +++ b/Views/Includes/incl_global_navbar.php @@ -30,7 +30,7 @@ if (isset($_SESSION["loggedIn"]) if (isset($_SESSION["isAdmin"]) && $_SESSION["isAdmin"] == "1" ) { - echo(' <a href="/Views/delete.php"><li><i class="fas fa-trash-alt"></i> '.$text[basename(__FILE__, ".php")]["btnDelete"].'</li></a>'.PHP_EOL); + echo(' <a href="/Views/admin.php"><li><i class="fas fa-cog"></i> '.$text[basename(__FILE__, ".php")]["btnAdmin"].'</li></a>'.PHP_EOL); } echo(' <a href="/Views/userInfo.php"><li><i class="fas fa-user"></i> '.$text[basename(__FILE__, ".php")]["btnInfos"].'</li></a> <a href="/Views/logout.php"><li><i class="fas fa-sign-out-alt"></i> '.$text[basename(__FILE__, ".php")]["btnLogout"].'</li></a>'.PHP_EOL); diff --git a/Views/Includes/incl_index_search.php b/Views/Includes/incl_index_search.php index df6372a..a0e0be4 100644 --- a/Views/Includes/incl_index_search.php +++ b/Views/Includes/incl_index_search.php @@ -67,7 +67,7 @@ if (isset($_SESSION["search"])) { if ($_SESSION["search"]["isResearch"]) { echo('<td class="noBorder" > <form action="/Wrapper/wrapper.php" method="post"> - <input type="hidden" name="searchInfo" value="'.$rows["id"].'"> + <input type="hidden" name="searchInfo" value="'.$rows["userId"].'"> <input type="submit" value="'.$text[basename(__FILE__, ".php")]["moreInfo"].'"> </form> </td>'); diff --git a/Views/Includes/incl_table_myMission.php b/Views/Includes/incl_table_myMission.php index b7e4ba9..35e69d4 100644 --- a/Views/Includes/incl_table_myMission.php +++ b/Views/Includes/incl_table_myMission.php @@ -9,9 +9,9 @@ require_once(dirname(__FILE__)."/".$_SESSION["lang"]."/table.php"); // Import des metodes de la base de donnée pour les recherches. require_once(dirname(__FILE__)."/../../Database/meth_dbsearch.php"); // Instanciation de la bdd avec les méthodes de recherche. -$dbsearch = new DbSearch; +$dbmission = new DbMission; // Recherches des missions avec l'id de l'utilisateur actuellement connecté. -$result = $dbsearch->get_all_mission_by_id($_SESSION["userId"]); +$result = $dbmission->get_mission_by_id($_SESSION["userId"]); echo(' <!-- Separateur --> <div class="separator"></div> <!-- Mes missions --> diff --git a/Views/delete.php b/Views/admin.php index c11c768..6af1c7c 100644 --- a/Views/delete.php +++ b/Views/admin.php @@ -1,6 +1,6 @@ <?php // **************************************************************************** -// Description: Page pour supprimer un utilisateur +// Description: Page pour administrer le site web // **************************************************************************** // Démarrage de la session. session_start(); @@ -28,7 +28,7 @@ if (!isset($_SESSION["loggedIn"], $_SESSION["isAdmin"]) </head> <body> <?php require_once(dirname( __FILE__ )."/Includes/incl_global_navbar.php"); ?> -<?php require_once(dirname( __FILE__ )."/Includes/incl_form_delete.php"); ?> +<?php require_once(dirname( __FILE__ )."/Includes/incl_form_admin.php"); ?> <?php require_once(dirname( __FILE__ )."/Includes/incl_global_footer.php"); ?> <script src="/Statics/Js/main.js"></script> </body> diff --git a/Wrapper/Functions/func_admin.php b/Wrapper/Functions/func_admin.php new file mode 100644 index 0000000..05ad337 --- /dev/null +++ b/Wrapper/Functions/func_admin.php @@ -0,0 +1,53 @@ +<?php +// **************************************************************************** +// Description: Fonctions d'administration du site +// **************************************************************************** +function delete ($userId) { + $dbadmin = new DbAdmin; + $deleted = $dbadmin->user_del($userId); + // Sélection du message à affiché en fonction de réussite ou pas. + if ($deleted) { + $messageNumber = 0; + } else { + $messageNumber = 1; + } + // Redirection vers message avec l'index du message à afficher. + $_SESSION["messageNumber"] = $messageNumber; + header("Location: /Views/message.php"); + die(); +} + +function job_category_add($jobCategoryNameEn, $jobCategoryNameFr) { + $dbadmin = new DbAdmin; + // https://www.w3schools.com/php/func_string_strtolower.asp + $added = $dbadmin->job_category_register( + ucwords(strtolower($jobCategoryNameEn)), + ucwords(strtolower($jobCategoryNameFr)) + ); + // Sélection du message à affiché en fonction de réussite ou pas. + if ($added) { + $messageNumber = 12; + } else { + $messageNumber = 13; + } + // Redirection vers message avec l'index du message à afficher. + $_SESSION["messageNumber"] = $messageNumber; + header("Location: /Views/message.php"); + die(); +} + +function job_category_del($jobCategoryId) { + $dbadmin = new DbAdmin; + $deleted = $dbadmin->job_category_del($jobCategoryId); + // Sélection du message à affiché en fonction de réussite ou pas. + if ($deleted) { + $messageNumber = 14; + } else { + $messageNumber = 15; + } + // Redirection vers message avec l'index du message à afficher. + $_SESSION["messageNumber"] = $messageNumber; + header("Location: /Views/message.php"); + die(); +} +?>
\ No newline at end of file diff --git a/Wrapper/Functions/func_delete.php b/Wrapper/Functions/func_delete.php deleted file mode 100644 index b118e56..0000000 --- a/Wrapper/Functions/func_delete.php +++ /dev/null @@ -1,19 +0,0 @@ -<?php -// **************************************************************************** -// Description: Fonction de suppréssion d'un utilisateur par son ID -// **************************************************************************** -function delete ($userId) { - $dbuser = new DbUser; - $deleted = $dbuser->del_user($userId); - // Sélection du message à affiché en fonction de réussite ou pas. - if ($deleted) { - $messageNumber = 0; - } else { - $messageNumber = 1; - } - // Redirection vers message avec l'index du message à afficher. - $_SESSION["messageNumber"] = $messageNumber; - header("Location: /Views/message.php"); - die(); -} -?>
\ No newline at end of file diff --git a/Wrapper/Functions/func_info.php b/Wrapper/Functions/func_info.php index d883d86..97c12c5 100644 --- a/Wrapper/Functions/func_info.php +++ b/Wrapper/Functions/func_info.php @@ -6,7 +6,7 @@ function modify_user_info($lastname, $firstname, $job, $degree, $capabilty, $description, $phoneNumber, $adress, $zipCode, $city, $userId) { $dbuser = new DbUser; - $dbuser->update_user_info($lastname, $firstname, $job, $degree, + $dbuser->user_infos_update($lastname, $firstname, $job, $degree, $capabilty, $description, $phoneNumber, $adress, $zipCode, $city, $userId); // Redirection vers message avec l'index du message à afficher. diff --git a/Wrapper/Functions/func_login.php b/Wrapper/Functions/func_login.php index 3966301..39cf931 100644 --- a/Wrapper/Functions/func_login.php +++ b/Wrapper/Functions/func_login.php @@ -10,13 +10,13 @@ function login($cookie, $email = null, $pass = null, $remember = false) { $dbuser = new DbUser; // On vérifie si la connection se fait via le formulaire de connection ou par cookie if (!$cookie) { - $userId = $dbuser->check_credential($email, $pass); + $userId = $dbuser->user_check_credential($email, $pass); // ou par cookie. } else { // On essaie une fois. - $userId = $dbuser->check_token_autologin($cookie[0], $cookie[1]); + $userId = $dbuser->autologin_token_check($cookie[0], $cookie[1]); // Et on le supprime. - $dbuser->delete_token_autologin($cookie[0]); + $dbuser->autologin_token_delete($cookie[0]); } // Si on a un résultat valide. if ($userId) { @@ -24,7 +24,7 @@ function login($cookie, $email = null, $pass = null, $remember = false) { // LoggedIn devien "true". $_SESSION["loggedIn"] = "1"; // et on remplie les variables de la session avec les infos de l'utilisateur. - $userInfo = $dbsearch->search_user_by_id($userId); + $userInfo = $dbsearch->get_user_account_by_id($userId); foreach ($userInfo as $key => $value) { $_SESSION[$key] = $value; } @@ -35,7 +35,7 @@ function login($cookie, $email = null, $pass = null, $remember = false) { // On génère une chaine de caractère aléatoire en supprimant les caractères spéciaux de base64. $token = str_replace(["+", "/", "="], "", base64_encode(random_bytes(32))); // On update le nouveau token. - $dbuser->update_token_autologin($_SESSION["email"], $token); + $dbuser->autologin_token_update($_SESSION["email"], $token); // Enfin on place l'ensemble sur le navigateur du client codé en base64. setcookie($name, base64_encode(json_encode(array($_SESSION["email"], $token))), diff --git a/Wrapper/Functions/func_logout.php b/Wrapper/Functions/func_logout.php index 20de5a3..1a40235 100644 --- a/Wrapper/Functions/func_logout.php +++ b/Wrapper/Functions/func_logout.php @@ -9,7 +9,7 @@ function logout() { // On instancie les méthodes de gestion de la BDD. $dbuser = new DbUser; // On supprime le token d'auto-connection dans la BDD. - $dbuser->delete_token_autologin($_SESSION["email"]); + $dbuser->autologin_token_delete($_SESSION["email"]); // Et le cookie if (isset($_COOKIE["autoLogin"])) { unset($_COOKIE["autoLogin"]); diff --git a/Wrapper/Functions/func_mission.php b/Wrapper/Functions/func_mission.php index 8875685..07879be 100644 --- a/Wrapper/Functions/func_mission.php +++ b/Wrapper/Functions/func_mission.php @@ -3,8 +3,8 @@ // Description: Fonction d'enregistrement d'une mission // **************************************************************************** function register_mission($subject, $note, $review, $clientId, $proId) { - $dbuser = new DbUser; - $registered = $dbuser->register_mission($subject, + $dbmission = new DbMission; + $registered = $dbmission->register_mission($subject, $note, $review, $clientId, diff --git a/Wrapper/Functions/func_register.php b/Wrapper/Functions/func_register.php index 6a081a9..8482752 100644 --- a/Wrapper/Functions/func_register.php +++ b/Wrapper/Functions/func_register.php @@ -4,7 +4,7 @@ // **************************************************************************** function register($email, $password, $is_client, $is_pro, $is_admin) { $dbuser = new DbUser; - $registered = $dbuser->add_user($email, + $registered = $dbuser->user_register($email, $password, $is_client, $is_pro, diff --git a/Wrapper/Functions/func_search.php b/Wrapper/Functions/func_search.php index 3c85eab..d6cbfb2 100644 --- a/Wrapper/Functions/func_search.php +++ b/Wrapper/Functions/func_search.php @@ -5,24 +5,24 @@ function search($request, $isResearch) { // Instanciation des méthodes de recherches de la BDD. $dbsearch = new DbSearch; + $dbmission = new DbMission; // Si c'est une recherche. if ($isResearch) { - $result = $dbsearch->search_consultant_by_name($request); + $result = $dbsearch->get_pro_info_by_lastname($request); // Pour chaque utilisateur avec un nom qui "match". foreach ($result as $key => $value) { // récupération du nombre de mission effectué. - $numberMission = $dbsearch->count_consultant_mission_by_name($value["lastname"]); + $numberMission = $dbmission->count_pro_missions_by_lastname($value["lastname"]); $result[$key]["numberOfMissions"] = $numberMission[0]["COUNT(*)"]; // récupération des notes de l'utilisateur. - $allNotes = $dbsearch->get_consultant_note_by_name($value["lastname"]); + $allNotes = $dbsearch->get_pro_note_by_lastname($value["lastname"]); // Pour chaque note on la "push" (ajoute) dans une liste. $notes = array(); foreach ($allNotes as $value) { array_push($notes, $value["note"]); } // On fait la moyenne des notes, - // et pour les étoiles on "coupe" tout ce qui est après la virgule. - // J'ai préféré ce système à un "round()" + // et pour les étoiles on "coupe" tout ce qui est après la virgule en castant en "int". if ($notes) { $average = array_sum($notes) / count($notes); $result[$key]["note"] = round($average, 2); diff --git a/Wrapper/wrapper.php b/Wrapper/wrapper.php index 4a39429..62077c2 100644 --- a/Wrapper/wrapper.php +++ b/Wrapper/wrapper.php @@ -9,12 +9,14 @@ // Import de toutes les fonctions et des méthodes pour gérer la BDD. require_once(dirname( __FILE__ )."/../Database/meth_dbuser.php"); +require_once(dirname( __FILE__ )."/../Database/meth_dbadmin.php"); require_once(dirname( __FILE__ )."/../Database/meth_dbsearch.php"); +require_once(dirname( __FILE__ )."/../Database/meth_dbmission.php"); require_once(dirname( __FILE__ )."/Functions/func_info.php"); +require_once(dirname( __FILE__ )."/Functions/func_admin.php"); require_once(dirname( __FILE__ )."/Functions/func_login.php"); require_once(dirname( __FILE__ )."/Functions/func_logout.php"); require_once(dirname( __FILE__ )."/Functions/func_search.php"); -require_once(dirname( __FILE__ )."/Functions/func_delete.php"); require_once(dirname( __FILE__ )."/Functions/func_mission.php"); require_once(dirname( __FILE__ )."/Functions/func_register.php"); require_once(dirname( __FILE__ )."/Functions/func_language.php"); @@ -109,17 +111,37 @@ if (isset($_SESSION["src"])) { $_POST["city"], $_SESSION["userId"] ); - // Condition pour une suppression d'un utilisateur - } elseif ($_SESSION["src"] == "delete" - && isset($_SESSION["loggedIn"], - $_SESSION["isAdmin"], - $_POST["userId"] - ) - && $_SESSION["loggedIn"] == true - && $_SESSION["isAdmin"] == true - && $_POST["userId"] !== "" + // Condition pour l'administration du site + } elseif ($_SESSION["src"] == "admin" + && isset($_SESSION["loggedIn"], + $_SESSION["isAdmin"], + ) + && $_SESSION["loggedIn"] == true + && $_SESSION["isAdmin"] == true + && (isset($_POST["userId"]) + || isset($_POST["addCategoryNameEn"], + $_POST["addCategoryNameFr"] + ) + || isset($_POST["delCategoryId"]) + ) ) { - delete($_POST["userId"]); + if (isset($_POST["userId"]) + && $_POST["userId"] !== "" + ) { + delete($_POST["userId"]); + // Ajout d'un catégorie d'emploi + } elseif (isset($_POST["addCategoryNameEn"]) + && isset($_POST["addCategoryNameFr"]) + && $_POST["addCategoryNameEn"] !== "" + && $_POST["addCategoryNameFr"] !== "" + ) { + job_category_add($_POST["addCategoryNameEn"], $_POST["addCategoryNameFr"]); + // Suppression d'une categorie d'emploi + }elseif (isset($_POST["delCategoryId"]) + && $_POST["delCategoryId"] !== "" + ) { + job_category_del($_POST["delCategoryId"]); + } // Condition pour un enregistrement d'une mission } elseif ($_SESSION["src"] == "mission" diff --git a/todo.txt b/todo.txt new file mode 100644 index 0000000..63936ec --- /dev/null +++ b/todo.txt @@ -0,0 +1,16 @@ + +################################################# + +- Global + - Système de notification ? (5) + +- Revoir front Client & Pro + - Requète de mission pour un pro sur le moteur de recherche. (3) + - Page mes missions, passés, en cours, terminées. (3) + - Revoir mes infos pour adapter aux clients & pros. (2) + +- Revoir front Admin + - Doit pouvoir supprimer une mission (4) + - Doit pouvoir gérer les catégories de travail (DONE) + +################################################# |
