From 0048d676a2bed3addadea670fa5d802a314af473 Mon Sep 17 00:00:00 2001 From: Debulois Date: Fri, 6 May 2022 22:01:01 +0200 Subject: Correction des imports et supression des trailin white space pour le déploiement MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Core/Functions/func_admin.php | 4 +- Core/Functions/func_info.php | 2 +- Core/Functions/func_language.php | 2 +- Core/Functions/func_login.php | 10 +-- Core/Functions/func_myMission.php | 2 +- Core/Functions/func_register.php | 4 +- Core/Functions/func_search.php | 4 +- Core/wrapper.php | 56 ++++++++-------- Database/dbmain.php | 8 +-- Database/meth_dbadmin.php | 66 +++++++++--------- Database/meth_dbmission.php | 86 ++++++++++++------------ Database/meth_dbsearch.php | 96 +++++++++++++-------------- Database/meth_dbuser.php | 78 +++++++++++----------- Static/Css/admin.css | 6 +- Static/Css/footer.css | 4 +- Static/Css/login.css | 4 +- Static/Css/main.css | 6 +- Static/Css/message.css | 4 +- Static/Css/mission.css | 4 +- Static/Css/myMission.css | 4 +- Static/Css/navbar.css | 4 +- Static/Css/notification.css | 10 +-- Static/Css/register.css | 4 +- Static/Css/search.css | 4 +- Static/Css/slideshow.css | 6 +- Static/Css/userInfo.css | 4 +- Static/Js/index.js | 6 +- Static/Js/main.js | 4 +- Static/Js/message.js | 2 +- Static/Js/notification.js | 2 +- Static/Js/register.js | 4 +- Static/Js/userinfo.js | 8 +-- Template/Include/incl_form_admin.php | 12 ++-- Template/Include/incl_form_login.php | 2 +- Template/Include/incl_form_mission.php | 10 +-- Template/Include/incl_form_register.php | 2 +- Template/Include/incl_form_userInfo.php | 12 ++-- Template/Include/incl_global_footer.php | 2 +- Template/Include/incl_global_message.php | 2 +- Template/Include/incl_global_navbar.php | 6 +- Template/Include/incl_global_notification.php | 2 +- Template/Include/incl_index_search.php | 6 +- Template/Include/incl_index_slideshow.php | 2 +- Template/Include/incl_table_myMission.php | 12 ++-- Template/admin.php | 14 ++-- Template/login.php | 12 ++-- Template/logout.php | 2 +- Template/message.php | 12 ++-- Template/mission.php | 16 ++--- Template/myMission.php | 14 ++-- Template/register.php | 12 ++-- Template/userInfo.php | 16 ++--- index.php | 12 ++-- robots.txt | 2 + 54 files changed, 346 insertions(+), 344 deletions(-) create mode 100644 robots.txt diff --git a/Core/Functions/func_admin.php b/Core/Functions/func_admin.php index baccdae..0c5b6f8 100644 --- a/Core/Functions/func_admin.php +++ b/Core/Functions/func_admin.php @@ -54,7 +54,7 @@ function admin_job_del($jobId) { } else { $message = ["adminDelJob", "fail"]; } - + // Redirection vers message avec l'index du message à afficher. $_SESSION["message"] = $message; header("Location: /Template/message.php"); @@ -71,7 +71,7 @@ function admin_mission_del($missionId) { } else { $message = ["adminDelMission", "fail"]; } - + // Redirection vers message avec l'index du message à afficher. $_SESSION["message"] = $message; header("Location: /Template/message.php"); diff --git a/Core/Functions/func_info.php b/Core/Functions/func_info.php index 89b1688..43b874c 100644 --- a/Core/Functions/func_info.php +++ b/Core/Functions/func_info.php @@ -30,7 +30,7 @@ function info_update_user_infos($userInfos, $userId, $userStatus) { } else { $dbuser->update_user_infos($userInfos, $userId, $isPro); } - + // Redirection vers message avec l'index du message à afficher. $message = ["infosUpdate", "success"]; $_SESSION["message"] = $message; diff --git a/Core/Functions/func_language.php b/Core/Functions/func_language.php index b92395d..a222e19 100644 --- a/Core/Functions/func_language.php +++ b/Core/Functions/func_language.php @@ -9,7 +9,7 @@ function language_set($language) { $_SESSION["lang"] = $language; - + // Redirection vers la page actuelle avec la langue à affiche. if ($_SESSION["src"] == "index") { header("Location: /".$_SESSION["src"].".php"); diff --git a/Core/Functions/func_login.php b/Core/Functions/func_login.php index 77ab982..cbe4d62 100644 --- a/Core/Functions/func_login.php +++ b/Core/Functions/func_login.php @@ -35,8 +35,8 @@ function login($cookie, $email = null, $pass = null, $remember = 0) { $_SESSION[$key] = $value; } - // Partie notification, - // Ajout à la session d'un élément "notification". + // Partie notification, + // Ajout à la session d'un élément "notification". $_SESSION["notification"] = 0; // Si c'est un pro if ($_SESSION["userStatus"] == "1") { @@ -57,7 +57,7 @@ function login($cookie, $email = null, $pass = null, $remember = 0) { // on en génère un nouveau. if ($remember || $cookie) { $name = "autoLogin"; - // On génère une chaine de caractère aléatoire de 32 bytes en supprimant les caractères spéciaux de base64. + // On génère une chaine de caractère aléatoire de 32 bytes en supprimant les caractères spéciaux de base64. $token = substr(str_replace(["+", "/", "="], "",base64_encode(random_bytes(64))) ,0 , 32); // On update le nouveau token. $dbuser->update_token_autologin($_SESSION["email"], $token); @@ -77,10 +77,10 @@ function login($cookie, $email = null, $pass = null, $remember = 0) { } } else { // Si la connection a échoué. - if (!$cookie) { + if (!$cookie) { $message = ["login", "fail"]; // Si la connection à échoué par cookie. - } else { + } else { // Suppression du cookie. unset($_COOKIE["autoLogin"]); setcookie("autoLogin", "", time() - 3600, "/"); diff --git a/Core/Functions/func_myMission.php b/Core/Functions/func_myMission.php index c6d4594..9f553dd 100644 --- a/Core/Functions/func_myMission.php +++ b/Core/Functions/func_myMission.php @@ -53,7 +53,7 @@ function mymission_complete_mission($missionId, $userStatus) { } else { $message = ["missionValidated", "fail"]; } - + // Redirection vers message avec l'index du message à afficher. $_SESSION["message"] = $message; header("Location: /Template/message.php"); diff --git a/Core/Functions/func_register.php b/Core/Functions/func_register.php index d0b7ba2..4c6b00a 100644 --- a/Core/Functions/func_register.php +++ b/Core/Functions/func_register.php @@ -20,7 +20,7 @@ function register($email, $password, $userStatus) { && preg_match($regEmail, $email) ) { $dbuser = new DbUser; - + $registered = $dbuser->register_user($email, $password, $userStatus @@ -40,7 +40,7 @@ function register($email, $password, $userStatus) { } else { // Si le mdp est arrivé jusque là et est insuffisament "fort" $message = ["userAdd", "fail"]; - + // Redirection vers message avec l'index du message à afficher. $_SESSION["message"] = $message; header("Location: /Template/message.php"); diff --git a/Core/Functions/func_search.php b/Core/Functions/func_search.php index 69740da..9575026 100644 --- a/Core/Functions/func_search.php +++ b/Core/Functions/func_search.php @@ -40,7 +40,7 @@ function search($request, $isResearch) { } } - // On fait la moyenne des notes, + // On fait la moyenne des notes, // 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); @@ -75,7 +75,7 @@ function search($request, $isResearch) { $_SESSION["search"] = $search; header("Location: /index.php#separator2"); - die(); + die(); } ?> \ No newline at end of file diff --git a/Core/wrapper.php b/Core/wrapper.php index 0fcc47e..925402a 100644 --- a/Core/wrapper.php +++ b/Core/wrapper.php @@ -12,20 +12,20 @@ // ############################################################################# // 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_mission.php"); -require_once(dirname( __FILE__ )."./Functions/func_register.php"); -require_once(dirname( __FILE__ )."./Functions/func_language.php"); -require_once(dirname( __FILE__ )."./Functions/func_sanitize.php"); -require_once(dirname( __FILE__ )."./Functions/func_myMission.php"); +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_mission.php"); +require_once(dirname( __FILE__ )."/Functions/func_register.php"); +require_once(dirname( __FILE__ )."/Functions/func_language.php"); +require_once(dirname( __FILE__ )."/Functions/func_sanitize.php"); +require_once(dirname( __FILE__ )."/Functions/func_myMission.php"); session_start(); // Si la session existe et que la variable src est bien présente. @@ -51,7 +51,7 @@ if (isset($_SESSION["src"])) { // **************************************************************************** // Condition pour le changement de la langue if (isset($_POST["langSel"]) - && ($_POST["langSel"] == "en" + && ($_POST["langSel"] == "en" || $_POST["langSel"] == "fr") ) { language_set($_POST["langSel"]); @@ -90,8 +90,8 @@ if (isset($_SESSION["src"])) { && isset($_POST["email"], $_POST["password"], $_POST["userStatus"] - ) - && $_POST["email"] !== "" + ) + && $_POST["email"] !== "" && $_POST["password"] !== "" ) { register($_POST["email"], @@ -114,9 +114,9 @@ if (isset($_SESSION["src"])) { $_POST["rememberMe"] = 0; } login(0, $_POST["email"], $_POST["password"], $_POST["rememberMe"]); - + } elseif ($_SESSION["src"] == "autoLogin" - && isset($_COOKIE["autoLogin"]) + && isset($_COOKIE["autoLogin"]) ) { // Si connection par cookie, on le décode avant de le passer à la fonction. login(json_decode(base64_decode($_COOKIE["autoLogin"]))); @@ -125,7 +125,7 @@ if (isset($_SESSION["src"])) { // **************************************************************************** // DECONNECTION // **************************************************************************** - } elseif ($_SESSION["src"] == "logout" + } elseif ($_SESSION["src"] == "logout" && isset($_SESSION["loggedIn"]) && $_SESSION["loggedIn"] ) { @@ -143,7 +143,7 @@ if (isset($_SESSION["src"])) { $_POST["adress"], $_POST["zipCode"], $_POST["city"] ) && $_SESSION["userStatus"] == 2 - && $_POST["lastname"] !== "" && $_POST["firstname"] !== "" + && $_POST["lastname"] !== "" && $_POST["firstname"] !== "" && $_POST["phoneNumber"] !== "" && $_POST["adress"] !== "" && $_POST["zipCode"] !== "" && $_POST["city"] !== "" // Ou si pro @@ -153,10 +153,10 @@ if (isset($_SESSION["src"])) { $_POST["degree"], $_POST["capability"], $_POST["description"] ) && $_SESSION["userStatus"] == 1 - && $_POST["lastname"] !== "" && $_POST["firstname"] !== "" + && $_POST["lastname"] !== "" && $_POST["firstname"] !== "" && $_POST["phoneNumber"] !== "" && $_POST["adress"] !== "" && $_POST["zipCode"] !== "" && $_POST["city"] !== "" - && $_POST["degree"] !== "" && $_POST["capability"] !== "" + && $_POST["degree"] !== "" && $_POST["capability"] !== "" && $_POST["description"] !== "" ) ) { @@ -184,7 +184,7 @@ if (isset($_SESSION["src"])) { } elseif ($_SESSION["src"] == "mission" && isset($_SESSION["loggedIn"], $_SESSION["userStatus"], - $_POST["missionSubject"], $_POST["missionJob"], + $_POST["missionSubject"], $_POST["missionJob"], $_POST["missionProId"] ) && $_SESSION["loggedIn"] @@ -201,7 +201,7 @@ if (isset($_SESSION["src"])) { } elseif ($_SESSION["src"] == "mission" && isset($_SESSION["loggedIn"], $_SESSION["userStatus"], - $_POST["missionCompletedId"], $_POST["review"], + $_POST["missionCompletedId"], $_POST["review"], $_POST["note"] ) && $_SESSION["loggedIn"] @@ -228,7 +228,7 @@ if (isset($_SESSION["src"])) { ) ) { - if (isset($_POST["acceptedMissionId"]) + if (isset($_POST["acceptedMissionId"]) && $_POST["acceptedMissionId"] !== "" ) { mymission_accept_mission($_POST["acceptedMissionId"]); @@ -251,10 +251,10 @@ if (isset($_SESSION["src"])) { // ADMINISTRATION // **************************************************************************** // Condition pour l'administration du site - } elseif ($_SESSION["src"] == "admin" + } elseif ($_SESSION["src"] == "admin" && isset($_SESSION["loggedIn"], $_SESSION["userStatus"] - ) + ) && $_SESSION["loggedIn"] && $_SESSION["userStatus"] == 0 && (isset($_POST["delUserId"]) diff --git a/Database/dbmain.php b/Database/dbmain.php index 4e1f7aa..aeecde2 100644 --- a/Database/dbmain.php +++ b/Database/dbmain.php @@ -149,7 +149,7 @@ class DbMain { $res = $this->conn->prepare($reqInitDb); $res->execute(); } - + // Sélection de la DB private function select_db() { $reqSelectDb = "USE ".$this->database; @@ -191,10 +191,10 @@ class DbMain { // Chiffre la data reçue // https://www.delftstack.com/fr/howto/php/php-string-concatenation/ final public function crypt_pass($pass) { - // On génère une chaine de caractère aléatoire de 16 bytes en supprimant les caractères spéciaux de base64. + // On génère une chaine de caractère aléatoire de 16 bytes en supprimant les caractères spéciaux de base64. $salt = substr(str_replace("+", ".", base64_encode(random_bytes(32))), 0, 16); // On configure pour avoir du SHA512 avec 10 000 tours (protection contre du bruteforce ex:hashcat) - $hash = crypt($pass, '$6'.'$rounds=10000'.'$'.$salt.'$'); + $hash = crypt($pass, '$6'.'$rounds=10000'.'$'.$salt.'$'); return $hash; } @@ -211,7 +211,7 @@ class DbMain { final public function check_exist_email($email) { $reqCheckEmailExist = "SELECT EXISTS(SELECT * FROM ".$this->tableUserAccount." WHERE email = ?)"; $data = $this->exec_cmd($reqCheckEmailExist, array($email))->fetchAll(PDO::FETCH_NUM); - // Retourne 1 si existe, sinon 0 + // Retourne 1 si existe, sinon 0 return $data[0][0]; } diff --git a/Database/meth_dbadmin.php b/Database/meth_dbadmin.php index b41c7c5..a62f025 100644 --- a/Database/meth_dbadmin.php +++ b/Database/meth_dbadmin.php @@ -8,7 +8,7 @@ // ############################################################################ // Import de dbmain -require_once(dirname( __FILE__ )."./dbmain.php"); +require_once(dirname( __FILE__ )."/dbmain.php"); // Extension de cette classe avec dbmain class DbAdmin extends DbMain { @@ -19,9 +19,9 @@ class DbAdmin extends DbMain { // Récupérer toutes les infos de la table userAccount final public function get_all_users_account() { $reqGetAll = " - SELECT - * - FROM + SELECT + * + FROM ".$this->tableUserAccount; // https://www.php.net/manual/fr/pdostatement.fetch.php // "PDO::FETCH_ASSOC: retourne un tableau indexé @@ -37,10 +37,10 @@ class DbAdmin extends DbMain { // 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 = ? + SELECT 1 FROM + ".$this->tableUserAccount." + WHERE + userId = ? LIMIT 1 )"; // Exécution de la requète, fetchall pour avoir le résultat @@ -71,10 +71,10 @@ class DbAdmin extends DbMain { // 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 = ? + SELECT 1 FROM + ".$this->tableJobCategory." + WHERE + jobCategoryNameEn = ? LIMIT 1 )"; $reqResultEn = $this->exec_cmd($reqCheckjobCategoryNameEn, array($jobNameEn))->fetchAll(PDO::FETCH_NUM); @@ -83,10 +83,10 @@ class DbAdmin extends DbMain { // 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 = ? + SELECT 1 FROM + ".$this->tableJobCategory." + WHERE + jobCategoryNameFr = ? LIMIT 1 )"; $reqResultFr = $this->exec_cmd($reqCheckjobCategoryNameFr, array($jobNameFr))->fetchAll(PDO::FETCH_NUM); @@ -94,10 +94,10 @@ class DbAdmin extends DbMain { if (!$reqResultFr[0][0]) { // Préparation de la requète pour l'ajout $reqjobCategoryNameAdd = " - INSERT INTO + INSERT INTO ".$this->tableJobCategory." - (jobCategoryNameEn, jobCategoryNameFr) - VALUES + (jobCategoryNameEn, jobCategoryNameFr) + VALUES (? ,?)"; // Exécution de la requète $this->exec_cmd($reqjobCategoryNameAdd, array($jobNameEn, $jobNameFr)); @@ -118,10 +118,10 @@ class DbAdmin extends DbMain { // Préparation de la requète pour voir si l'utilisateur existe $reqCheckExistId = " SELECT EXISTS( - SELECT 1 FROM - ".$this->tableJobCategory." - WHERE - jobCategoryId = ? + SELECT 1 FROM + ".$this->tableJobCategory." + WHERE + jobCategoryId = ? LIMIT 1 )"; // Exécution de la requète, fetchall pour avoir le résultat @@ -132,9 +132,9 @@ class DbAdmin extends DbMain { if ($reqResult[0][0]) { // Préparation de la requète pour suppression $reqDelJobCategory = " - DELETE FROM - ".$this->tableJobCategory." - WHERE + DELETE FROM + ".$this->tableJobCategory." + WHERE jobCategoryId = ?"; // Exécution de la requète $this->exec_cmd($reqDelJobCategory, array($jobId)); @@ -154,10 +154,10 @@ class DbAdmin extends DbMain { // Préparation de la requète pour voir si l'utilisateur existe $reqCheckExistId = " SELECT EXISTS( - SELECT 1 FROM - ".$this->tableMission." - WHERE - missionId = ? + SELECT 1 FROM + ".$this->tableMission." + WHERE + missionId = ? LIMIT 1 )"; // Exécution de la requète @@ -166,9 +166,9 @@ class DbAdmin extends DbMain { if ($reqResult[0][0]) { // Préparation de la requète pour suppression $reqDelMission = " - DELETE FROM - ".$this->tableMission." - WHERE + DELETE FROM + ".$this->tableMission." + WHERE missionId = ?"; // Exécution de la requète $this->exec_cmd($reqDelMission, array($missionId)); diff --git a/Database/meth_dbmission.php b/Database/meth_dbmission.php index f44edfc..bd23506 100644 --- a/Database/meth_dbmission.php +++ b/Database/meth_dbmission.php @@ -11,7 +11,7 @@ // https://www.freecodecamp.org/news/sql-joins-tutorial/ // Import de dbmain -require_once(dirname( __FILE__ )."./dbmain.php"); +require_once(dirname( __FILE__ )."/dbmain.php"); // Extension de cette classe avec dbmain class DbMission extends DbMain { @@ -23,9 +23,9 @@ class DbMission extends DbMain { final public function register_mission($subject, $clientId, $proId, $jobId) { // Préparation de la requète pour enregistrement de la mission $reqAddMission = " - INSERT INTO ".$this->tableMission." - (date, subject, clientId, proId, jobCategoryId) - VALUES + INSERT INTO ".$this->tableMission." + (date, subject, clientId, proId, jobCategoryId) + VALUES (?, ?, ?, ?, ?)"; // Exécution de la requète $this->exec_cmd($reqAddMission, array(date("Y-m-d H:i:s"), $subject, $clientId, $proId, $jobId)); @@ -36,11 +36,11 @@ class DbMission extends DbMain { final public function accept_mission_by_missionid($missionId) { // Préparation de la requète pour enregistrement de la mission $reqAddMission = " - UPDATE - ".$this->tableMission." + UPDATE + ".$this->tableMission." SET - acceptedByPro = ? - WHERE + acceptedByPro = ? + WHERE missionId = ?"; // Exécution de la requète $this->exec_cmd($reqAddMission, array(date("Y-m-d H:i:s"), $missionId)); @@ -50,11 +50,11 @@ class DbMission extends DbMain { final public function validate_mission_pro_by_missionid($missionId) { // Préparation de la requète pour enregistrement de la mission $reqAddMission = " - UPDATE - ".$this->tableMission." + UPDATE + ".$this->tableMission." SET - validatedByPro = ? - WHERE + validatedByPro = ? + WHERE missionId = ?"; // Exécution de la requète $this->exec_cmd($reqAddMission, array(date("Y-m-d H:i:s"), $missionId)); @@ -64,11 +64,11 @@ class DbMission extends DbMain { final public function validate_mission_client_by_missionid($missionId) { // Préparation de la requète pour enregistrement de la mission $reqAddMission = " - UPDATE - ".$this->tableMission." + UPDATE + ".$this->tableMission." SET - validatedByClient = ? - WHERE + validatedByClient = ? + WHERE missionId = ?"; // Exécution de la requète $this->exec_cmd($reqAddMission, array(date("Y-m-d H:i:s"), $missionId)); @@ -78,11 +78,11 @@ class DbMission extends DbMain { final public function review_mission($missionId, $review, $note) { // Préparation de la requète pour enregistrement de la mission $reqAddMission = " - UPDATE - ".$this->tableMission." + UPDATE + ".$this->tableMission." SET review = ?, note = ? - WHERE + WHERE missionId = ?"; // Exécution de la requète $this->exec_cmd($reqAddMission, array($review, $note, $missionId)); @@ -95,17 +95,17 @@ class DbMission extends DbMain { // Récupérations des missions d'un pro par son id final public function get_mission_by_proid($proId) { $reqGetMissionsProId = " - SELECT + SELECT missionId, date, subject, note, review, - acceptedByPro, validatedByClient, - validatedByPro, jobCategoryId, proId, lastname - FROM + acceptedByPro, validatedByClient, + validatedByPro, jobCategoryId, proId, lastname + FROM ".$this->tableMission." - LEFT JOIN - ".$this->tableUserInfo." - ON + LEFT JOIN + ".$this->tableUserInfo." + ON ".$this->tableMission.".proId = ".$this->tableUserInfo.".userId - WHERE + WHERE proId = ?"; $result = $this->exec_cmd($reqGetMissionsProId, array($proId))->fetchAll(PDO::FETCH_ASSOC); return $result; @@ -114,17 +114,17 @@ class DbMission extends DbMain { // Récupérations des missions d'un client par son id final public function get_mission_by_clientid($clientId) { $reqGetMissionsClientId = " - SELECT + SELECT missionId, date, subject, note, review, - acceptedByPro, validatedByClient, - validatedByPro, jobCategoryId, proId, lastname - FROM + acceptedByPro, validatedByClient, + validatedByPro, jobCategoryId, proId, lastname + FROM ".$this->tableMission." - LEFT JOIN - ".$this->tableUserInfo." - ON + LEFT JOIN + ".$this->tableUserInfo." + ON ".$this->tableMission.".proId = ".$this->tableUserInfo.".userId - WHERE + WHERE clientId = ?"; $result = $this->exec_cmd($reqGetMissionsClientId, array($clientId))->fetchAll(PDO::FETCH_ASSOC); return $result; @@ -133,9 +133,9 @@ class DbMission extends DbMain { // Récupérations des missions d'un client par son id final public function get_all_missions() { $reqGetAllMission = " - SELECT - * - FROM + SELECT + * + FROM ".$this->tableMission; $result = $this->exec_cmd($reqGetAllMission, array())->fetchAll(PDO::FETCH_NUM); return $result; @@ -144,13 +144,13 @@ class DbMission extends DbMain { // Compte le nombre de mission d'un consultant par son nom final public function count_pro_missions_by_proid($proId) { $reqCountMission = " - SELECT COUNT(*) FROM + SELECT COUNT(*) FROM ".$this->tableMission." - INNER JOIN - ".$this->tableUserInfo." - ON + INNER JOIN + ".$this->tableUserInfo." + ON ".$this->tableMission.".proId = ".$this->tableUserInfo.".userId - WHERE + WHERE proId = ?"; $result = $this->exec_cmd($reqCountMission, array($proId))->fetchAll(PDO::FETCH_NUM); return $result; diff --git a/Database/meth_dbsearch.php b/Database/meth_dbsearch.php index eed9915..907301b 100644 --- a/Database/meth_dbsearch.php +++ b/Database/meth_dbsearch.php @@ -11,7 +11,7 @@ // https://www.freecodecamp.org/news/sql-joins-tutorial/ // Import de dbmain -require_once(dirname( __FILE__ )."./dbmain.php"); +require_once(dirname( __FILE__ )."/dbmain.php"); // Extension de cette classe avec dbmain class DbSearch extends DbMain { @@ -22,26 +22,26 @@ class DbSearch extends DbMain { // Récupération des infos d'un compte par son id final public function get_user_account_by_userid($userId) { $reqSearchUser = " - SELECT + SELECT userId, email, inscriptionDate, userStatus - FROM - ".$this->tableUserAccount." - WHERE + FROM + ".$this->tableUserAccount." + WHERE userId = ?"; $result = $this->exec_cmd($reqSearchUser, array($userId))->fetch(PDO::FETCH_ASSOC); return $result; } - + // Récupération des infos d'un utilisateur par son id final public function get_user_info_by_userid($userId) { $reqGetUserInfo = " - SELECT - userId, lastname, firstname, degree, + SELECT + userId, lastname, firstname, degree, capability, description, phoneNumber, - adress, zipCode, city - FROM - ".$this->tableUserInfo." - WHERE + adress, zipCode, city + FROM + ".$this->tableUserInfo." + WHERE userId = ?"; $result = $this->exec_cmd($reqGetUserInfo, array($userId))->fetchAll(PDO::FETCH_ASSOC); return $result; @@ -52,16 +52,16 @@ class DbSearch extends DbMain { // **************************************************************************** final public function get_all_pro_by_jobid($jobId) { $reqSearchConsultant = " - SELECT - ".$this->tableUserInfo.".userId, - lastname, firstname, capability - FROM + SELECT + ".$this->tableUserInfo.".userId, + lastname, firstname, capability + FROM ".$this->tableUserInfo." INNER JOIN ".$this->tableUserJob." ON ".$this->tableUserInfo.".userId = ".$this->tableUserJob.".userId - WHERE + WHERE jobCategoryId = ?"; $result = $this->exec_cmd($reqSearchConsultant, array($jobId))->fetchAll(PDO::FETCH_ASSOC); return $result; @@ -70,36 +70,36 @@ class DbSearch extends DbMain { // Récupération des infos d'un pro par son nom final public function get_pro_info_by_lastname($lastname) { $reqSearchConsultant = " - SELECT - ".$this->tableUserInfo.".userId, - lastname, firstname, capability - FROM + SELECT + ".$this->tableUserInfo.".userId, + lastname, firstname, capability + FROM ".$this->tableUserInfo." - INNER JOIN - ".$this->tableUserAccount." - ON + INNER JOIN + ".$this->tableUserAccount." + ON ".$this->tableUserInfo.".userId = ".$this->tableUserAccount.".userId - WHERE - userStatus = '1' - AND + WHERE + userStatus = '1' + AND lastname LIKE CONCAT('%', ?, '%')"; $result = $this->exec_cmd($reqSearchConsultant, array($lastname))->fetchAll(PDO::FETCH_ASSOC); return $result; } - + // Récupération des emploies associés à un pro final public function get_pro_job_by_proid($proId) { $reqGetAll = " - SELECT - ".$this->tableUserJob.".jobCategoryId, - jobCategoryNameEn, jobCategoryNameFr - FROM + SELECT + ".$this->tableUserJob.".jobCategoryId, + jobCategoryNameEn, jobCategoryNameFr + FROM ".$this->tableUserJob." - INNER JOIN + INNER JOIN ".$this->tableJobCategory." - ON + ON ".$this->tableUserJob.".jobCategoryId = ".$this->tableJobCategory.".jobCategoryId - WHERE + WHERE userId = ?"; $result = $this->exec_cmd($reqGetAll, array($proId))->fetchAll(PDO::FETCH_ASSOC); return $result; @@ -108,15 +108,15 @@ class DbSearch extends DbMain { // Récupération des notes d'un consultant par son nom final public function get_pro_note_by_proid($proId) { $reqCountMission = " - SELECT - note - FROM + SELECT + note + FROM ".$this->tableMission." - INNER JOIN - ".$this->tableUserInfo." - ON + INNER JOIN + ".$this->tableUserInfo." + ON ".$this->tableMission.".proId = ".$this->tableUserInfo.".userId - WHERE + WHERE proId = ?"; $result = $this->exec_cmd($reqCountMission, array($proId))->fetchAll(PDO::FETCH_NUM); return $result; @@ -128,9 +128,9 @@ class DbSearch extends DbMain { // Récupérer toutes les infos de la table jobCategory final public function get_job_all() { $reqGetAllJobs = " - SELECT - * - FROM + SELECT + * + FROM ".$this->tableJobCategory; $result = $this->exec_cmd($reqGetAllJobs, array())->fetchAll(PDO::FETCH_ASSOC); return $result; @@ -139,9 +139,9 @@ class DbSearch extends DbMain { // Récupérer toutes les infos de la table jobCategory final public function get_job_by_jobid($jobId) { $reqGetJobinfo = " - SELECT - * - FROM + SELECT + * + FROM ".$this->tableJobCategory." WHERE jobCategoryId = ?"; diff --git a/Database/meth_dbuser.php b/Database/meth_dbuser.php index 488d3e1..889a39d 100644 --- a/Database/meth_dbuser.php +++ b/Database/meth_dbuser.php @@ -8,7 +8,7 @@ // ############################################################################ // Import de dbmain -require_once(dirname( __FILE__ )."./dbmain.php"); +require_once(dirname( __FILE__ )."/dbmain.php"); // Extension de cette classe avec dbmain class DbUser extends DbMain { @@ -16,7 +16,7 @@ class DbUser extends DbMain { // **************************************************************************** // GESTION DES UTILISATEURS // **************************************************************************** - // Enregistrement d'un nouvel utilisateur + // Enregistrement d'un nouvel utilisateur final public function register_user($email, $pass, $userStatus) { // On vérifie si l'email existe deja dans la bdd $exist = $this->check_exist_email($email); @@ -26,10 +26,10 @@ class DbUser extends DbMain { $crypt = $this->crypt_pass($pass); // Préparation de la requète $reqAddUser = " - INSERT INTO - ".$this->tableUserAccount." - (email, password, inscriptionDate, userStatus) - VALUES + INSERT INTO + ".$this->tableUserAccount." + (email, password, inscriptionDate, userStatus) + VALUES (?, ?, ?, ?)"; // Execution de la requète $this->exec_cmd($reqAddUser, @@ -51,11 +51,11 @@ class DbUser extends DbMain { final public function check_user_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 + SELECT + userId, password + FROM + ".$this->tableUserAccount." + WHERE email = ? "; // Execution de la requète $result = $this->exec_cmd($reqCheckCredential, array($email))->fetchAll(PDO::FETCH_ASSOC); @@ -71,35 +71,35 @@ class DbUser extends DbMain { final public function update_user_infos($userInfos, $userId, $isPro, $userJobs = null) { // Préparation de la requète pour mise à jour des infos // J'ai préféré faire deux requètes distinctes et ne pas utiliser des valeurs - // passées par $POST ($key => $value) pour gérer les noms des colonnes + // passées par $POST ($key => $value) pour gérer les noms des colonnes // car je préfère les passer en "dur" dans mes requêtes (risque d'injection SQL?). $reqAddInfoClient = " - REPLACE INTO - ".$this->tableUserInfo." + REPLACE INTO + ".$this->tableUserInfo." (lastname, firstname, phoneNumber, adress, zipCode, city, userId) - VALUES + VALUES (?, ?, ?, ?, ?, ?, ?)"; $reqAddInfoPro = " - REPLACE INTO - ".$this->tableUserInfo." + REPLACE INTO + ".$this->tableUserInfo." (lastname, firstname, phoneNumber, adress, zipCode, city, degree, capability, description, userId) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; $reqAddInfoProJobs = " - INSERT INTO - ".$this->tableUserJob." - (jobCategoryId, userId) - VALUES + INSERT INTO + ".$this->tableUserJob." + (jobCategoryId, userId) + VALUES (?, ?)"; $reqRemoveInfoProJobs = " - DELETE FROM - ".$this->tableUserJob." - WHERE + DELETE FROM + ".$this->tableUserJob." + WHERE jobCategoryId = ? - AND + AND userId = ?"; if (!$isPro) { // Exécution de la requète @@ -138,11 +138,11 @@ class DbUser extends DbMain { final public function check_token_autologin($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 + SELECT + userId, tokenAutoLogin + FROM + ".$this->tableUserAccount." + WHERE email = ?"; // Exécution de la requète $result = $this->exec_cmd($reqCheckToken, array($email))->fetchAll(PDO::FETCH_ASSOC); @@ -158,11 +158,11 @@ class DbUser extends DbMain { final public function update_token_autologin($email, $token) { // Préparation de la requète pour mise à jour du jeton d'auto-connection $reqUpdateToken = " - UPDATE - ".$this->tableUserAccount." - SET + UPDATE + ".$this->tableUserAccount." + SET tokenAutoLogin = ? - WHERE + WHERE email = ?"; // Execution de la requète $this->exec_cmd($reqUpdateToken, array($token, $email))->fetchAll(PDO::FETCH_ASSOC); @@ -172,11 +172,11 @@ class DbUser extends DbMain { final public function del_token_autologin($email) { // Préparation de la requète pour supression du jeton d'auto-connection $reqDeleteToken = " - UPDATE - ".$this->tableUserAccount." - SET - tokenAutoLogin = NULL - WHERE + UPDATE + ".$this->tableUserAccount." + SET + tokenAutoLogin = NULL + WHERE email = ?"; // Execution de la requète $this->exec_cmd($reqDeleteToken, array($email))->fetchAll(PDO::FETCH_ASSOC); diff --git a/Static/Css/admin.css b/Static/Css/admin.css index 91a04c1..4a3ed9a 100644 --- a/Static/Css/admin.css +++ b/Static/Css/admin.css @@ -1,10 +1,10 @@ -/* +/* ############################################################################ # # # Description: CSS spécifique de l'administration # # # -############################################################################ +############################################################################ */ @@ -58,7 +58,7 @@ #secAdminUsers form { flex-direction: column; } - + #secAdminMissions form { flex-direction: column; } diff --git a/Static/Css/footer.css b/Static/Css/footer.css index ecbc25e..1035cc0 100644 --- a/Static/Css/footer.css +++ b/Static/Css/footer.css @@ -1,10 +1,10 @@ -/* +/* ############################################################################ # # # Description: CSS spécifique du footer # # # -############################################################################ +############################################################################ */ diff --git a/Static/Css/login.css b/Static/Css/login.css index 2c3b2cc..6392f31 100644 --- a/Static/Css/login.css +++ b/Static/Css/login.css @@ -1,10 +1,10 @@ -/* +/* ############################################################################ # # # Description: CSS spécifique de la page de login # # # -############################################################################ +############################################################################ */ diff --git a/Static/Css/main.css b/Static/Css/main.css index 7614cd3..4802d61 100644 --- a/Static/Css/main.css +++ b/Static/Css/main.css @@ -1,10 +1,10 @@ -/* +/* ############################################################################ # # # Description: Fichier principal regroupant les éléments communs à toutes # # les pages. # # # -############################################################################ +############################################################################ Sites web utilisés pour le CSS: https://css-tricks.com/guides/ @@ -19,7 +19,7 @@ sur mon instance SearX https://searx.debulois.fr :root { /* Global */ --mainSiteColor: #c0392b; - --bodyBg: #fafafa; + --bodyBg: #fafafa; --separatorBg: var(--bodyBg); --bg: white; --text: black; diff --git a/Static/Css/message.css b/Static/Css/message.css index 22d27cd..66b5d64 100644 --- a/Static/Css/message.css +++ b/Static/Css/message.css @@ -1,10 +1,10 @@ -/* +/* ############################################################################ # # # Description: CSS spécifique de la page des messages # # # -############################################################################ +############################################################################ */ diff --git a/Static/Css/mission.css b/Static/Css/mission.css index 944227e..30ff979 100644 --- a/Static/Css/mission.css +++ b/Static/Css/mission.css @@ -1,11 +1,11 @@ -/* +/* ############################################################################ # # # Description: CSS spécifique de la page d'enregistrement ou de valdation # # des missions # # # -############################################################################ +############################################################################ */ diff --git a/Static/Css/myMission.css b/Static/Css/myMission.css index ca22ddb..77700a8 100644 --- a/Static/Css/myMission.css +++ b/Static/Css/myMission.css @@ -1,10 +1,10 @@ -/* +/* ############################################################################ # # # Description: CSS spécifique de la page de gestion de ses missions # # # -############################################################################ +############################################################################ */ diff --git a/Static/Css/navbar.css b/Static/Css/navbar.css index 91b102b..50c0ee8 100644 --- a/Static/Css/navbar.css +++ b/Static/Css/navbar.css @@ -1,10 +1,10 @@ -/* +/* ############################################################################ # # # Description: CSS spécifique au header et à la navbar # # # -############################################################################ +############################################################################ */ diff --git a/Static/Css/notification.css b/Static/Css/notification.css index beddf4a..2ae3768 100644 --- a/Static/Css/notification.css +++ b/Static/Css/notification.css @@ -1,10 +1,10 @@ -/* +/* ############################################################################ # # # Description: CSS du message de notification # # # -############################################################################ +############################################################################ https://www.w3schools.com/howto/howto_js_scroll_to_top.asp https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow */ @@ -30,7 +30,7 @@ aside { transition: all 0.6s ease-in-out; /* ajout d'un effet acceleration/decerelation de l'animation */ } -/* Zone clickable */ +/* Zone clickable */ aside a { cursor: pointer; /* le curseur deviens un pointeur quand on le survole */ } @@ -113,10 +113,10 @@ aside p { bottom: 1em; left: calc(5% - 0.3em - 4px); /* espace gauche, aside padding, aside border*/ } - + /* Div de la notification */ aside { - bottom: -300px; + bottom: -300px; width: 90%; left: calc(5% - 0.3em - 4px); /* espace gauche, aside padding, aside border*/ } diff --git a/Static/Css/register.css b/Static/Css/register.css index 9324ad3..1be71f9 100644 --- a/Static/Css/register.css +++ b/Static/Css/register.css @@ -1,10 +1,10 @@ -/* +/* ############################################################################ # # # Description: CSS spécifique à la page d'inscription # # # -############################################################################ +############################################################################ */ diff --git a/Static/Css/search.css b/Static/Css/search.css index be96775..05ecd3b 100644 --- a/Static/Css/search.css +++ b/Static/Css/search.css @@ -1,10 +1,10 @@ -/* +/* ############################################################################ # # # Description: CSS spécifique à la partie recherche de l'index # # # -############################################################################ +############################################################################ */ diff --git a/Static/Css/slideshow.css b/Static/Css/slideshow.css index 8dd6f39..0716749 100644 --- a/Static/Css/slideshow.css +++ b/Static/Css/slideshow.css @@ -1,10 +1,10 @@ -/* +/* ############################################################################ # # # Description: CSS spécifique au slideshow # # # -############################################################################ +############################################################################ */ @@ -44,7 +44,7 @@ font-family: akira; color: var(--mainSiteColor); text-shadow: - 1px 1px 0 var(--slideStroke), + 1px 1px 0 var(--slideStroke), 1px -1px 0 var(--slideStroke), -1px 1px 0 var(--slideStroke), -1px -1px 0 var(--slideStroke); diff --git a/Static/Css/userInfo.css b/Static/Css/userInfo.css index c9113df..49dc0fe 100644 --- a/Static/Css/userInfo.css +++ b/Static/Css/userInfo.css @@ -1,10 +1,10 @@ -/* +/* ############################################################################ # # # Description: CSS spécifique à la page de gestion de ses infos # # # -############################################################################ +############################################################################ */ diff --git a/Static/Js/index.js b/Static/Js/index.js index 0f15b3d..393cafc 100644 --- a/Static/Js/index.js +++ b/Static/Js/index.js @@ -3,7 +3,7 @@ // # # // # Description: JS uniquement utile dans l'index # // # # -// ############################################################################ +// ############################################################################ // **************************************************************************** @@ -30,10 +30,10 @@ function slideshow_start() { document.getElementById(`slideDot_${slideNumber}`).classList.toggle("slideDotSelected") // +1 sauf si fin if (slideNumber < images.length - 1) { - slideNumber++; + slideNumber++; } else { slideNumber = 0; } } - , 3000); + , 3000); } diff --git a/Static/Js/main.js b/Static/Js/main.js index 84f7151..ca07988 100644 --- a/Static/Js/main.js +++ b/Static/Js/main.js @@ -3,10 +3,10 @@ // # # // # Description: JS utile un peu de partout # // # # -// ############################################################################ +// ############################################################################ // Site web utilisés pour JS: // https://www.w3schools.com/js/default.asp -// https://stackoverflow.com/ +// https://stackoverflow.com/ // **************************************************************************** diff --git a/Static/Js/message.js b/Static/Js/message.js index 8043a67..0c09120 100644 --- a/Static/Js/message.js +++ b/Static/Js/message.js @@ -3,7 +3,7 @@ // # # // # Description: JS utile sur la page des messages # // # # -// ############################################################################ +// ############################################################################ // **************************************************************************** diff --git a/Static/Js/notification.js b/Static/Js/notification.js index c15760a..4747bc3 100644 --- a/Static/Js/notification.js +++ b/Static/Js/notification.js @@ -3,7 +3,7 @@ // # # // # Description: JS utile sur la page des messages # // # # -// ############################################################################ +// ############################################################################ // Ajout de la class show_notif pour faire disparaitre ou apparaitre la bulle de notification diff --git a/Static/Js/register.js b/Static/Js/register.js index b22f4de..f5cdc92 100644 --- a/Static/Js/register.js +++ b/Static/Js/register.js @@ -3,13 +3,13 @@ // # # // # Description: JS de la partie inscription # // # # -// ############################################################################ +// ############################################################################ // Num - N'importe quel chiffre entre 0 et 9 [0-9] // Upper - N'importe quel lettre majuscule entre A et Z [A-Z] // Spe - N'importe quel symbole présent entre les deux brackets [`!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~µ°€£] -// Email - ^ -> Debut de la ligne obligatoire, doit contenir entre premiers brackets "[a-z]" "[0-9]" ou _, -, . +// Email - ^ -> Debut de la ligne obligatoire, doit contenir entre premiers brackets "[a-z]" "[0-9]" ou _, -, . // Ensuite il doit y avoir un @ et une suite de charcactère sans charactère speciaux "+@[a-zA-Z0-9-]" // et pour finir l'extension "+.[a-z]", "+$" pour la fin de la ligne. const regNum = new RegExp(/[0-9]/); diff --git a/Static/Js/userinfo.js b/Static/Js/userinfo.js index 460c91b..ab8982c 100644 --- a/Static/Js/userinfo.js +++ b/Static/Js/userinfo.js @@ -3,7 +3,7 @@ // # # // # Description: JS utile sur la page user infos # // # # -// ############################################################################ +// ############################################################################ // Mes sources pour créer cette partie: // https://stackoverflow.com/questions/1085801/get-selected-value-in-dropdown-list-using-javascript @@ -17,13 +17,13 @@ // **************************************************************************** -// GESTION AJOUT/SUPPRESSION D'UN EMPLOI ET PASSAGE A L'INPUT +// GESTION AJOUT/SUPPRESSION D'UN EMPLOI ET PASSAGE A L'INPUT // DES VALEURS SELECTIONNEES // **************************************************************************** var payload = []; // Initiation -function init() { +function init() { // Récupération des emplois déja présent let jobs = document.getElementsByClassName("jobsListElem"); @@ -51,7 +51,7 @@ function add() { // Ajout à payload payload.push(jobValue); - // Création, configuration et ajout d'une nouvelle div pour l'emploi choisi + // Création, configuration et ajout d'une nouvelle div pour l'emploi choisi // Création du "i" let i = document.createElement("i"); i.className = "fas fa-ban"; diff --git a/Template/Include/incl_form_admin.php b/Template/Include/incl_form_admin.php index 68fa531..a366384 100644 --- a/Template/Include/incl_form_admin.php +++ b/Template/Include/incl_form_admin.php @@ -8,13 +8,13 @@ // ############################################################################ // Import du texte en fonction de la langue définie dans la variable "lang" de la session. -require_once(dirname( __FILE__ )."./".$_SESSION["lang"]."/text.php"); +require_once(dirname( __FILE__ )."/".$_SESSION["lang"]."/text.php"); // Import des en-tête des tables. -require_once(dirname( __FILE__ )."./".$_SESSION["lang"]."/table.php"); +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_dbadmin.php"); -require_once(dirname( __FILE__ )."./../../Database/meth_dbsearch.php"); -require_once(dirname( __FILE__ )."./../../Database/meth_dbmission.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"); // Instanciation de la bdd avec les méthodes de recherche. $dbadmin = new DbAdmin; @@ -190,7 +190,7 @@ for ($i = 0; $i < count($allMissions); $i++) { default: echo("
".$allMissions[$i][$j]."
".PHP_EOL); break; - } + } } echo(" ".PHP_EOL); } diff --git a/Template/Include/incl_form_login.php b/Template/Include/incl_form_login.php index e907635..aea7fa4 100644 --- a/Template/Include/incl_form_login.php +++ b/Template/Include/incl_form_login.php @@ -7,7 +7,7 @@ // ############################################################################ // Import des textes en fonction de la langue définie dans la variable "lang" de la session. -require_once(dirname( __FILE__ )."./".$_SESSION["lang"]."/text.php"); +require_once(dirname( __FILE__ )."/".$_SESSION["lang"]."/text.php"); // **************************************************************************** // DIV PRINCIPALE AVEC TITRE ET FORM DE CONNEXION diff --git a/Template/Include/incl_form_mission.php b/Template/Include/incl_form_mission.php index 03d4254..421bee0 100644 --- a/Template/Include/incl_form_mission.php +++ b/Template/Include/incl_form_mission.php @@ -7,12 +7,12 @@ // ############################################################################ // Import des textes en fonction de la langue définie dans la variable "lang" de la session. -require_once(dirname( __FILE__ )."./".$_SESSION["lang"]."/text.php"); +require_once(dirname( __FILE__ )."/".$_SESSION["lang"]."/text.php"); // Import des méthodes de la base de donnée pour les recherches. -require_once(dirname( __FILE__ )."./../../Database/meth_dbsearch.php"); +require_once(dirname( __FILE__ )."/../../Database/meth_dbsearch.php"); // Si demande de mandatement d'une mission -if (isset($_SESSION["missionInitiate"]) +if (isset($_SESSION["missionInitiate"]) && count($_SESSION["missionInitiate"]) > 0 ) { @@ -24,7 +24,7 @@ if (isset($_SESSION["missionInitiate"])

'.$text[basename(__FILE__, ".php")]["h2"].'