summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDebulois <quentin@debulois.fr>2022-03-09 19:37:55 +0100
committerDebulois <quentin@debulois.fr>2022-03-09 19:37:55 +0100
commit497ce42637ebaad0c388d309d6b5bbf91db2dfa4 (patch)
tree45844b0ad0d03559eeecf0171efed745900478de
parent5ddf8de3691fde866c5a48b440cffa2990b2014c (diff)
Mise à jour des fonctions de la bdd avec le nouveau modèle, renommage des fichier pour plus de clarte et ajout des documents et infos
-rw-r--r--Database/dbmain.php181
-rw-r--r--Database/meth_dbsearch.php20
-rw-r--r--Database/meth_dbuser.php36
-rw-r--r--Documents_et_infos/Bdd_mysql/mld_bdd_original.pngbin0 -> 41354 bytes
-rw-r--r--Documents_et_infos/Bdd_mysql/mysql_alphajob.mwbbin0 -> 13609 bytes
-rw-r--r--Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb.bakbin0 -> 13622 bytes
-rw-r--r--Documents_et_infos/Bdd_mysql/mysql_alphajob.pngbin0 -> 47201 bytes
-rw-r--r--Documents_et_infos/Bdd_mysql/mysql_alphajob.sql143
-rw-r--r--Documents_et_infos/Structure_plan_de_site/arborescence_alphajob.jpgbin0 -> 107544 bytes
-rw-r--r--Documents_et_infos/Structure_plan_de_site/depth_optimised.jpgbin0 -> 76763 bytes
-rw-r--r--Documents_et_infos/Structure_plan_de_site/logigramme_fonction_login.jpgbin0 -> 383335 bytes
-rw-r--r--Documents_et_infos/Structure_plan_de_site/structure_projet web.jpgbin0 -> 163893 bytes
-rw-r--r--Documents_et_infos/Zooning_maquette_graphique/infos_css.txt16
-rw-r--r--Documents_et_infos/Zooning_maquette_graphique/maquette_page_web.jpgbin0 -> 32246 bytes
-rw-r--r--Documents_et_infos/Zooning_maquette_graphique/zooning_avance.epgzbin0 -> 60712 bytes
-rw-r--r--Documents_et_infos/Zooning_maquette_graphique/zooning_simple.epgzbin0 -> 13568 bytes
-rw-r--r--Documents_et_infos/cahier_des_charges_fonctionnalitees.jpgbin0 -> 317462 bytes
-rw-r--r--Documents_et_infos/infos_generales.txt73
-rw-r--r--Views/Includes/en/table.php2
-rw-r--r--Views/Includes/en/text.php16
-rw-r--r--Views/Includes/fr/text.php16
-rw-r--r--Views/Includes/incl_form_delete.php (renamed from Views/Includes/incl_delete_form.php)6
-rw-r--r--Views/Includes/incl_form_login.php (renamed from Views/Includes/incl_login_form.php)0
-rw-r--r--Views/Includes/incl_form_mission.php (renamed from Views/Includes/incl_mission_form.php)2
-rw-r--r--Views/Includes/incl_form_register.php (renamed from Views/Includes/incl_register_form.php)4
-rw-r--r--Views/Includes/incl_form_userInfo.php (renamed from Views/Includes/incl_userInfo_form.php)2
-rw-r--r--Views/Includes/incl_global_footer.php (renamed from Views/Includes/incl_footer.php)0
-rw-r--r--Views/Includes/incl_global_header.php (renamed from Views/Includes/incl_header.php)0
-rw-r--r--Views/Includes/incl_global_message.php (renamed from Views/Includes/incl_message.php)0
-rw-r--r--Views/Includes/incl_global_navbar.php (renamed from Views/Includes/incl_navbar.php)8
-rw-r--r--Views/Includes/incl_table_myMission.php (renamed from Views/Includes/incl_myMission_table.php)2
-rw-r--r--Views/delete.php8
-rw-r--r--Views/login.php8
-rw-r--r--Views/message.php8
-rw-r--r--Views/mission.php12
-rw-r--r--Views/myMission.php12
-rw-r--r--Views/register.php8
-rw-r--r--Views/userInfo.php8
-rw-r--r--Wrapper/Functions/func_delete.php4
-rw-r--r--Wrapper/Functions/func_login.php1
-rw-r--r--Wrapper/Functions/func_mission.php6
-rw-r--r--Wrapper/Functions/func_register.php8
-rw-r--r--Wrapper/Functions/func_sanitize.php2
-rw-r--r--Wrapper/wrapper.php79
-rw-r--r--index.php6
45 files changed, 517 insertions, 180 deletions
diff --git a/Database/dbmain.php b/Database/dbmain.php
index 43e39ef..532bb7c 100644
--- a/Database/dbmain.php
+++ b/Database/dbmain.php
@@ -10,7 +10,7 @@
// protected: accesible depuis l'extérieur et donc via extend mais non modifiable
// public: accessible et modifiable depuis l'extérieur
// final: ne peut etre ré-écris (overload)
-//
+
class DbMain {
// Salt pour chiffrement
private $salt = "cTKXHBoN3oxymlhNem2h";
@@ -19,54 +19,120 @@ class DbMain {
private $host = "127.0.0.1";
private $user = "root";
private $pass = "";
+ private $debug = True;
// Déclaration des tables
- private $database = "ExoPhp";
- // UserAccount, infos du compte nécessaire à la connection
+ private $database = "alphajob";
+
// Timestamp auto si non renseigné
- private $createTableUserAccount = "userAccount (
- id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
- email VARCHAR(128) NOT NULL,
- password VARCHAR(128) NOT NULL,
- tokenAutoLogin VARCHAR(128),
- inscriptionDate TIMESTAMP NOT NULL,
- isUser BOOL NOT NULL,
- isConsultant BOOL NOT NULL,
- isAdmin BOOL NOT NULL
- )";
- // Infos complémentaires des utilisateur, liée à userAccount par userId à id
- private $createTableUserInfo = "userInfo (
- lastname VARCHAR(128) NOT NULL,
- firstname VARCHAR(128) NOT NULL,
- job varchar(128),
- degree VARCHAR(128),
- capability TEXT,
- description TEXT,
- phoneNumber VARCHAR(10),
- adress VARCHAR(128),
- zipCode VARCHAR(6),
- city VARCHAR(128),
- userId INT UNSIGNED PRIMARY KEY,
- FOREIGN KEY (userId)
- REFERENCES userAccount(id)
- )";
- // Infos sur les missions effectuées, liée à userAccount par userId et consultantId à id
- private $createTableMission = "mission (
- id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
- date TIMESTAMP NOT NULL,
- subject VARCHAR(128),
- note INT(1) UNSIGNED,
- review TEXT,
- userId INT UNSIGNED NOT NULL,
- FOREIGN KEY (userId)
- REFERENCES userAccount(id),
- consultantId INT UNSIGNED NOT NULL,
- FOREIGN KEY (consultantId)
- REFERENCES userAccount(id)
- )";
-
+ // UserAccount, infos du compte nécessaire à la connection
+ private $createTableUserAccount = "CREATE TABLE IF NOT EXISTS `alphajob`.`userAccount` (
+ `userId` INT UNSIGNED NOT NULL AUTO_INCREMENT,
+ `email` VARCHAR(128) NOT NULL,
+ `password` VARCHAR(128) NOT NULL,
+ `tokenAutoLogin` VARCHAR(128) NULL DEFAULT NULL,
+ `inscriptionDate` TIMESTAMP NOT NULL,
+ `isClient` TINYINT(1) NOT NULL,
+ `isPro` TINYINT(1) NOT NULL,
+ `isAdmin` TINYINT(1) NOT NULL,
+ PRIMARY KEY (`userId`)
+ )
+ ENGINE = InnoDB
+ DEFAULT CHARACTER SET = utf8;";
+
+ // Infos complémentaires des utilisateur, liée à userAccount par userId
+ private $createTableUserInfo = "CREATE TABLE IF NOT EXISTS `alphajob`.`userInfo` (
+ `lastname` VARCHAR(128) NOT NULL,
+ `firstname` VARCHAR(128) NOT NULL,
+ `phoneNumber` VARCHAR(10) NOT NULL,
+ `adress` VARCHAR(128) NOT NULL,
+ `zipCode` VARCHAR(6) NOT NULL,
+ `city` VARCHAR(128) NOT NULL,
+ `job` VARCHAR(128) NULL DEFAULT NULL,
+ `degree` VARCHAR(128) NULL DEFAULT NULL,
+ `capability` TEXT NULL DEFAULT NULL,
+ `description` TEXT NULL DEFAULT NULL,
+ `userId` INT UNSIGNED NOT NULL,
+ PRIMARY KEY (`userId`),
+ INDEX `fk_userinfo_userId_idx` (`userId` ASC) VISIBLE,
+ CONSTRAINT `fk_userinfo_userId`
+ FOREIGN KEY (`userId`)
+ REFERENCES `alphajob`.`userAccount` (`userId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+ )
+ ENGINE = InnoDB
+ DEFAULT CHARACTER SET = utf8;";
+
+ // 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,
+ PRIMARY KEY (`jobCategoryId`)
+ )
+ ENGINE = InnoDB
+ DEFAULT CHARACTER SET = utf8;";
+
+ // Assosications des emploies à un utilisateur
+ private $createTableUserJob = "CREATE TABLE IF NOT EXISTS `alphajob`.`userJob` (
+ `userId` INT UNSIGNED NOT NULL,
+ `jobCategoryId` INT UNSIGNED NOT NULL,
+ INDEX `fk_userInfo_userId_idx` (`userId` ASC) VISIBLE,
+ INDEX `fk_jobCategory_jobCategoryId_idx` (`jobCategoryId` ASC) VISIBLE,
+ CONSTRAINT `fk_userJob_userId`
+ FOREIGN KEY (`userId`)
+ REFERENCES `alphajob`.`userAccount` (`userId`)
+ ON DELETE NO ACTION
+ ON UPDATE CASCADE,
+ CONSTRAINT `fk_userJob_jobCategoryId`
+ FOREIGN KEY (`jobCategoryId`)
+ REFERENCES `alphajob`.`jobCategory` (`jobCategoryId`)
+ ON DELETE NO ACTION
+ ON UPDATE CASCADE
+ )
+ ENGINE = InnoDB
+ DEFAULT CHARACTER SET = utf8;";
+
+ // Infos sur les missions effectuées, liée à userAccount par userId et consultantId
+ private $createTableMission = "CREATE TABLE IF NOT EXISTS `alphajob`.`mission` (
+ `missionId` INT UNSIGNED NOT NULL AUTO_INCREMENT,
+ `date` TIMESTAMP NOT NULL,
+ `subject` VARCHAR(128) NULL DEFAULT NULL,
+ `note` INT UNSIGNED NULL DEFAULT NULL,
+ `review` TEXT NULL DEFAULT NULL,
+ `acceptedByPro` TIMESTAMP NULL DEFAULT NULL,
+ `validatedByClient` TIMESTAMP NULL DEFAULT NULL,
+ `validatedByPro` TIMESTAMP NULL DEFAULT NULL,
+ `clientId` INT UNSIGNED NOT NULL,
+ `proId` INT UNSIGNED NOT NULL,
+ `jobCategoryId` INT UNSIGNED NOT NULL,
+ PRIMARY KEY (`missionId`),
+ INDEX `fk_mission_clientId_idx` (`clientId` ASC) VISIBLE,
+ INDEX `fk_mission_proId_idx` (`proId` ASC) VISIBLE,
+ INDEX `fk_mission_jobCategoryId_idx` (`jobCategoryId` ASC) VISIBLE,
+ CONSTRAINT `fk_mission_clientId`
+ FOREIGN KEY (`clientId`)
+ REFERENCES `alphajob`.`userAccount` (`userId`)
+ ON DELETE NO ACTION
+ ON UPDATE CASCADE,
+ CONSTRAINT `fk_mission_proId`
+ FOREIGN KEY (`proId`)
+ REFERENCES `alphajob`.`userAccount` (`userId`)
+ ON DELETE NO ACTION
+ ON UPDATE CASCADE,
+ CONSTRAINT `fk_mission_jobCategoryId`
+ FOREIGN KEY (`jobCategoryId`)
+ REFERENCES `alphajob`.`jobCategory` (`jobCategoryId`)
+ ON DELETE NO ACTION
+ ON UPDATE CASCADE
+ )
+ ENGINE = InnoDB
+ DEFAULT CHARACTER SET = utf8;";
+
// Noms des tables
protected $tableUserAccount = "userAccount";
protected $tableUserInfo = "userInfo";
+ protected $tableJobCategory = "jobCategory";
+ protected $tableUserJob = "userJob";
protected $tableMission = "mission";
// Création de la DB si elle n'existe pas
@@ -85,13 +151,24 @@ class DbMain {
// Création des tables si elles n'existent pas
private function create_table() {
- $reqInitUserAccount = "CREATE TABLE IF NOT EXISTS ".$this->createTableUserAccount;
+ // userAccount
+ $reqInitUserAccount = $this->createTableUserAccount;
$res = $this->conn->prepare($reqInitUserAccount);
$res->execute();
- $reqInitUserInfo = "CREATE TABLE IF NOT EXISTS ".$this->createTableUserInfo;
+ // userInfo
+ $reqInitUserInfo = $this->createTableUserInfo;
$res = $this->conn->prepare($reqInitUserInfo);
$res->execute();
- $reqInitMission = "CREATE TABLE IF NOT EXISTS ".$this->createTableMission;
+ // jobCategory
+ $reqInitJobCategory = $this->createTableJobCategory;
+ $res = $this->conn->prepare($reqInitJobCategory);
+ $res->execute();
+ // userJob
+ $reqInitUserJob = $this->createTableUserJob;
+ $res = $this->conn->prepare($reqInitUserJob);
+ $res->execute();
+ // mission
+ $reqInitMission = $this->createTableMission;
$res = $this->conn->prepare($reqInitMission);
$res->execute();
}
@@ -127,8 +204,8 @@ class DbMain {
}
// Vérifie si l'id est un consultant dans la table userAccount de la BDD
- final public function check_exist_consultant($id) {
- $reqCheckExistConsultant = "SELECT EXISTS(SELECT * FROM ".$this->tableUserAccount." WHERE id = ? AND isConsultant = '1')";
+ final public function check_exist_pro($id) {
+ $reqCheckExistConsultant = "SELECT EXISTS(SELECT * FROM ".$this->tableUserAccount." WHERE id = ? AND isPro = '1')";
$data = $this->exec_cmd($reqCheckExistConsultant, array($id))->fetchAll(PDO::FETCH_NUM);
// Retourne 1 si existe, sinon 0
return $data[0][0];
@@ -137,7 +214,11 @@ class DbMain {
// Fonction "auto", déclenchée à l'instanciation
final public function __construct() {
// Essaie de se connecter a la BDD
- $this->conn = new PDO("mysql:host=".$this->host, $this->user, $this->pass);
+ if ($this->debug) {
+ $this->conn = new PDO("mysql:host=".$this->host, $this->user, $this->pass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
+ } else {
+ $this->conn = new PDO("mysql:host=".$this->host, $this->user, $this->pass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_SILENT));
+ }
}
}
?> \ No newline at end of file
diff --git a/Database/meth_dbsearch.php b/Database/meth_dbsearch.php
index 0a325aa..a90925c 100644
--- a/Database/meth_dbsearch.php
+++ b/Database/meth_dbsearch.php
@@ -19,8 +19,8 @@ class DbSearch extends DbMain {
// Récupération des infos d'un compte par son id
final public function search_user_by_id($id) {
- $reqSearchUser = "SELECT id, email, inscriptionDate, isAdmin, isUser, isConsultant
- FROM ".$this->tableUserAccount." WHERE 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;
}
@@ -37,10 +37,10 @@ class DbSearch extends DbMain {
// Récupération des infos d'un consultant par son nom
final public function search_consultant_by_name($research) {
- $reqSearchConsultant = "SELECT id, lastname, firstname, job, capability FROM ".$this->tableUserInfo."
+ $reqSearchConsultant = "SELECT userId, lastname, firstname, job, capability FROM ".$this->tableUserInfo."
INNER JOIN ".$this->tableUserAccount."
- ON ".$this->tableUserInfo.".userId = ".$this->tableUserAccount.".id
- WHERE isConsultant = '1' AND lastname LIKE CONCAT('%', ?, '%')";
+ ON ".$this->tableUserInfo.".userId = ".$this->tableUserAccount.".userId
+ WHERE isPro = '1' AND lastname LIKE CONCAT('%', ?, '%')";
$data = $this->exec_cmd($reqSearchConsultant, array($research))->fetchAll(PDO::FETCH_ASSOC);
return $data;
}
@@ -49,7 +49,7 @@ class DbSearch extends DbMain {
final public function get_consultant_note_by_name($name) {
$reqCountMission = "SELECT note FROM ".$this->tableMission."
INNER JOIN ".$this->tableUserInfo."
- ON ".$this->tableMission.".consultantId = ".$this->tableUserInfo.".userId
+ ON ".$this->tableMission.".proId = ".$this->tableUserInfo.".userId
WHERE lastname = ?";
$data = $this->exec_cmd($reqCountMission, array($name))->fetchAll(PDO::FETCH_ASSOC);
return $data;
@@ -58,9 +58,9 @@ class DbSearch extends DbMain {
// 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."
- INNER JOIN ".$this->tableUserInfo."
- ON ".$this->tableMission.".userId = ".$this->tableUserInfo.".userId
- WHERE consultantId = ?";
+ 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;
}
@@ -69,7 +69,7 @@ class DbSearch extends DbMain {
final public function count_consultant_mission_by_name($name) {
$reqCountMission = "SELECT COUNT(*) FROM ".$this->tableMission."
INNER JOIN ".$this->tableUserInfo."
- ON ".$this->tableMission.".consultantId = ".$this->tableUserInfo.".userId
+ ON ".$this->tableMission.".proId = ".$this->tableUserInfo.".userId
WHERE lastname = ?";
$data = $this->exec_cmd($reqCountMission, array($name))->fetchAll(PDO::FETCH_ASSOC);
return $data;
diff --git a/Database/meth_dbuser.php b/Database/meth_dbuser.php
index 8e6ec35..cba1683 100644
--- a/Database/meth_dbuser.php
+++ b/Database/meth_dbuser.php
@@ -9,7 +9,7 @@ require_once(dirname( __FILE__ )."/dbmain.php");
// Extension de cette classe avec dbmain
class DbUser extends DbMain {
// Enregistrement d'un nouvel utilisateur
- final public function add_user($email, $pass, $is_admin, $is_user, $is_consultant) {
+ final public function add_user($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
@@ -18,16 +18,16 @@ class DbUser extends DbMain {
$crypt = $this->crypt_pass($pass);
// Préparation de la requète
$reqAddUser = "INSERT INTO ".$this->tableUserAccount."
- (email, password, inscriptionDate, isAdmin, isUser, isConsultant)
+ (email, password, inscriptionDate, isClient, isPro, isAdmin)
VALUES (?, ?, ?, ?, ?, ?)";
// Execution de la requète
$this->exec_cmd($reqAddUser,
array($email,
$crypt,
date("Y-m-d H:i:s"),
- $is_admin,
- $is_user,
- $is_consultant
+ $is_client,
+ $is_pro,
+ $is_admin
)
);
// Retourne 1 pour réussite
@@ -39,17 +39,17 @@ class DbUser extends DbMain {
}
// Suppresion d'un utilisateur
- final public function del_user($id) {
+ 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 id = ?)";
+ $reqCheckExistId = "SELECT EXISTS(SELECT * FROM ".$this->tableUserAccount." WHERE userId = ?)";
// Exécution de la requète
- $data = $this->exec_cmd($reqCheckExistId, array($id))->fetchAll(PDO::FETCH_NUM);
+ $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 id = ?";
+ $reqDelUser = "DELETE FROM ".$this->tableUserAccount." WHERE userId = ?";
// Exécution de la requète
- $this->exec_cmd($reqDelUser, array($id));
+ $this->exec_cmd($reqDelUser, array($userId));
// Retourne 1 pour réussite
return 1;
} else {
@@ -77,20 +77,20 @@ class DbUser extends DbMain {
}
// Enregistrement d'une mission
- final public function register_mission($subject, $note, $review, $userId, $consultantId) {
+ final public function register_mission($subject, $note, $review, $clientId, $proId) {
// Vérification de l'existance de l'id de consultant
- $exist = $this->check_exist_consultant($consultantId);
+ $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, userId, consultantId)
+ (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,
- $userId, $consultantId
+ $clientId, $proId
)
);
// Retourne 1 pour réussite
@@ -104,7 +104,7 @@ class DbUser extends DbMain {
// 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 id, password
+ $reqCheckCredential = "SELECT userId, password
FROM ".$this->tableUserAccount." WHERE email = ? ";
// Chiffrement du mot de passe
$crypt = $this->crypt_pass($pass);
@@ -113,7 +113,7 @@ class DbUser extends DbMain {
// Vérifiaction de correspondance email & pass
foreach ($data as $rows) {
if ($rows["password"] == $crypt) {
- return $rows["id"];
+ return $rows["userId"];
}
}
}
@@ -121,14 +121,14 @@ class DbUser extends DbMain {
// Vérification de la combinaison email - jeton d'auto-login pour authentification
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 id, tokenAutoLogin
+ $reqCheckToken = "SELECT userId, tokenAutoLogin
FROM ".$this->tableUserAccount." WHERE email = ?";
// Exécution de la requète
$data = $this->exec_cmd($reqCheckToken, array($email))->fetchAll(PDO::FETCH_ASSOC);
// Vérifiaction de correspondance email & jeton d'auto-connection
foreach ($data as $rows) {
if ($rows["tokenAutoLogin"] == $token) {
- return $rows["id"];
+ return $rows["userId"];
}
}
}
diff --git a/Documents_et_infos/Bdd_mysql/mld_bdd_original.png b/Documents_et_infos/Bdd_mysql/mld_bdd_original.png
new file mode 100644
index 0000000..228e677
--- /dev/null
+++ b/Documents_et_infos/Bdd_mysql/mld_bdd_original.png
Binary files differ
diff --git a/Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb b/Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb
new file mode 100644
index 0000000..3a0658c
--- /dev/null
+++ b/Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb
Binary files differ
diff --git a/Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb.bak b/Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb.bak
new file mode 100644
index 0000000..5f39098
--- /dev/null
+++ b/Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb.bak
Binary files differ
diff --git a/Documents_et_infos/Bdd_mysql/mysql_alphajob.png b/Documents_et_infos/Bdd_mysql/mysql_alphajob.png
new file mode 100644
index 0000000..89e8df5
--- /dev/null
+++ b/Documents_et_infos/Bdd_mysql/mysql_alphajob.png
Binary files differ
diff --git a/Documents_et_infos/Bdd_mysql/mysql_alphajob.sql b/Documents_et_infos/Bdd_mysql/mysql_alphajob.sql
new file mode 100644
index 0000000..d556d0a
--- /dev/null
+++ b/Documents_et_infos/Bdd_mysql/mysql_alphajob.sql
@@ -0,0 +1,143 @@
+-- MySQL Script generated by MySQL Workbench
+-- Wed Mar 2 13:18:27 2022
+-- Model: New Model Version: 1.0
+-- MySQL Workbench Forward Engineering
+
+SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
+SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
+SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
+
+-- -----------------------------------------------------
+-- Schema exophp
+-- -----------------------------------------------------
+
+-- -----------------------------------------------------
+-- Schema exophp
+-- -----------------------------------------------------
+CREATE SCHEMA IF NOT EXISTS `exophp` DEFAULT CHARACTER SET utf8 ;
+USE `exophp` ;
+
+-- -----------------------------------------------------
+-- Table `exophp`.`userAccount`
+-- -----------------------------------------------------
+CREATE TABLE IF NOT EXISTS `exophp`.`userAccount` (
+ `userId` INT UNSIGNED NOT NULL AUTO_INCREMENT,
+ `email` VARCHAR(128) NOT NULL,
+ `password` VARCHAR(128) NOT NULL,
+ `tokenAutoLogin` VARCHAR(128) NULL DEFAULT NULL,
+ `inscriptionDate` TIMESTAMP NOT NULL,
+ `isClient` TINYINT(1) UNSIGNED NOT NULL,
+ `isPro` TINYINT(1) UNSIGNED NOT NULL,
+ `isAdmin` TINYINT(1) UNSIGNED NOT NULL,
+ PRIMARY KEY (`userId`))
+ENGINE = InnoDB
+DEFAULT CHARACTER SET = utf8;
+
+
+-- -----------------------------------------------------
+-- Table `exophp`.`jobCategrory`
+-- -----------------------------------------------------
+CREATE TABLE IF NOT EXISTS `exophp`.`jobCategrory` (
+ `jobCategoryId` INT UNSIGNED NOT NULL AUTO_INCREMENT,
+ `categoryName` VARCHAR(128) NOT NULL,
+ PRIMARY KEY (`jobCategoryId`))
+ENGINE = InnoDB;
+
+
+-- -----------------------------------------------------
+-- Table `exophp`.`mission`
+-- -----------------------------------------------------
+CREATE TABLE IF NOT EXISTS `exophp`.`mission` (
+ `missionId` INT UNSIGNED NOT NULL AUTO_INCREMENT,
+ `date` TIMESTAMP NOT NULL,
+ `subject` VARCHAR(128) NOT NULL,
+ `note` TINYINT(1) UNSIGNED NULL DEFAULT NULL,
+ `review` TEXT NULL DEFAULT NULL,
+ `acceptedByPro` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
+ `validatedByClient` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
+ `validatedByPro` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
+ `clientId` INT UNSIGNED NOT NULL,
+ `proId` INT UNSIGNED NOT NULL,
+ `jobCategroryId` INT UNSIGNED NOT NULL,
+ PRIMARY KEY (`missionId`),
+ INDEX `fk_mission_clientId_idx` (`clientId` ASC) VISIBLE,
+ INDEX `fk_mission_proId_idx` (`proId` ASC) VISIBLE,
+ INDEX `fk_mission_jobCategroryId_idx` (`jobCategroryId` ASC) VISIBLE,
+ CONSTRAINT `fk_mission_userId`
+ FOREIGN KEY (`clientId`)
+ REFERENCES `exophp`.`userAccount` (`userId`)
+ ON DELETE NO ACTION
+ ON UPDATE NO ACTION,
+ CONSTRAINT `fk_mission_consultantId`
+ FOREIGN KEY (`proId`)
+ REFERENCES `exophp`.`userAccount` (`userId`)
+ ON DELETE NO ACTION
+ ON UPDATE NO ACTION,
+ CONSTRAINT `fk_mission_jobcategrory1`
+ FOREIGN KEY (`jobCategroryId`)
+ REFERENCES `exophp`.`jobCategrory` (`jobCategoryId`)
+ ON DELETE NO ACTION
+ ON UPDATE NO ACTION)
+ENGINE = InnoDB
+DEFAULT CHARACTER SET = utf8;
+
+
+-- -----------------------------------------------------
+-- Table `exophp`.`userInfo`
+-- -----------------------------------------------------
+CREATE TABLE IF NOT EXISTS `exophp`.`userInfo` (
+ `lastName` VARCHAR(128) NOT NULL,
+ `firstName` VARCHAR(128) NOT NULL,
+ `phoneNumber` VARCHAR(10) NOT NULL,
+ `adress` VARCHAR(128) NOT NULL,
+ `zipCode` VARCHAR(6) NOT NULL,
+ `city` VARCHAR(128) NOT NULL,
+ `job` VARCHAR(128) NULL DEFAULT NULL,
+ `degree` VARCHAR(128) NULL DEFAULT NULL,
+ `capability` TEXT NULL DEFAULT NULL,
+ `description` TEXT NULL DEFAULT NULL,
+ `userId` INT UNSIGNED NOT NULL,
+ PRIMARY KEY (`userId`),
+ INDEX `fk_userinfo_userId_idx` (`userId` ASC) VISIBLE,
+ CONSTRAINT `fk_userinfo_userId`
+ FOREIGN KEY (`userId`)
+ REFERENCES `exophp`.`userAccount` (`userId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE)
+ENGINE = InnoDB
+DEFAULT CHARACTER SET = utf8;
+
+
+-- -----------------------------------------------------
+-- Table `exophp`.`category`
+-- -----------------------------------------------------
+CREATE TABLE IF NOT EXISTS `exophp`.`category` (
+ `category_id` INT NOT NULL,
+ `name` VARCHAR(255) NOT NULL,
+ PRIMARY KEY (`category_id`));
+
+
+-- -----------------------------------------------------
+-- Table `exophp`.`userJob`
+-- -----------------------------------------------------
+CREATE TABLE IF NOT EXISTS `exophp`.`userJob` (
+ `jobCategroryId` INT UNSIGNED NOT NULL,
+ `userId` INT UNSIGNED NOT NULL,
+ INDEX `fk_userJob_jobcategrory1_idx` (`jobCategroryId` ASC) VISIBLE,
+ INDEX `fk_userJob_userinfo1_idx` (`userId` ASC) VISIBLE,
+ CONSTRAINT `fk_userJob_jobCategroryId`
+ FOREIGN KEY (`jobCategroryId`)
+ REFERENCES `exophp`.`jobCategrory` (`jobCategoryId`)
+ ON DELETE NO ACTION
+ ON UPDATE NO ACTION,
+ CONSTRAINT `fk_userJob_userId`
+ FOREIGN KEY (`userId`)
+ REFERENCES `exophp`.`userInfo` (`userId`)
+ ON DELETE NO ACTION
+ ON UPDATE NO ACTION)
+ENGINE = InnoDB;
+
+
+SET SQL_MODE=@OLD_SQL_MODE;
+SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
+SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
diff --git a/Documents_et_infos/Structure_plan_de_site/arborescence_alphajob.jpg b/Documents_et_infos/Structure_plan_de_site/arborescence_alphajob.jpg
new file mode 100644
index 0000000..1a543f2
--- /dev/null
+++ b/Documents_et_infos/Structure_plan_de_site/arborescence_alphajob.jpg
Binary files differ
diff --git a/Documents_et_infos/Structure_plan_de_site/depth_optimised.jpg b/Documents_et_infos/Structure_plan_de_site/depth_optimised.jpg
new file mode 100644
index 0000000..5a7303b
--- /dev/null
+++ b/Documents_et_infos/Structure_plan_de_site/depth_optimised.jpg
Binary files differ
diff --git a/Documents_et_infos/Structure_plan_de_site/logigramme_fonction_login.jpg b/Documents_et_infos/Structure_plan_de_site/logigramme_fonction_login.jpg
new file mode 100644
index 0000000..5aef760
--- /dev/null
+++ b/Documents_et_infos/Structure_plan_de_site/logigramme_fonction_login.jpg
Binary files differ
diff --git a/Documents_et_infos/Structure_plan_de_site/structure_projet web.jpg b/Documents_et_infos/Structure_plan_de_site/structure_projet web.jpg
new file mode 100644
index 0000000..d4564ad
--- /dev/null
+++ b/Documents_et_infos/Structure_plan_de_site/structure_projet web.jpg
Binary files differ
diff --git a/Documents_et_infos/Zooning_maquette_graphique/infos_css.txt b/Documents_et_infos/Zooning_maquette_graphique/infos_css.txt
new file mode 100644
index 0000000..98eaea4
--- /dev/null
+++ b/Documents_et_infos/Zooning_maquette_graphique/infos_css.txt
@@ -0,0 +1,16 @@
+
+Tailles écrans:
+https://gbksoft.com/blog/common-screen-sizes-for-responsive-web-design/
+https://www.w3schools.com/browsers/browsers_display.asp
+https://99designs.fr/blog/design-web-digital/lconception-sites-web-adaptatifs/
+
+Infos utiles:
+https://kinsta.com/fr/wp-content/uploads/sites/4/2020/09/points-rupture-responsives-bootstrap.png
+https://raidboxes.io/fr/blog/webdesign-development/webdesign-trends-2021/
+https://webdesign.tutsplus.com/tutorials/how-to-create-a-frosted-glass-effect-in-css--cms-32535
+
+Fonds:
+https://unsplash.com/photos/eMNevd6ErCU
+
+Lisibilité et texte:
+http://all-for-design.com/web-design/lisibilite-des-sites-web-font-size-100-16px/ \ No newline at end of file
diff --git a/Documents_et_infos/Zooning_maquette_graphique/maquette_page_web.jpg b/Documents_et_infos/Zooning_maquette_graphique/maquette_page_web.jpg
new file mode 100644
index 0000000..2e4a256
--- /dev/null
+++ b/Documents_et_infos/Zooning_maquette_graphique/maquette_page_web.jpg
Binary files differ
diff --git a/Documents_et_infos/Zooning_maquette_graphique/zooning_avance.epgz b/Documents_et_infos/Zooning_maquette_graphique/zooning_avance.epgz
new file mode 100644
index 0000000..db034cb
--- /dev/null
+++ b/Documents_et_infos/Zooning_maquette_graphique/zooning_avance.epgz
Binary files differ
diff --git a/Documents_et_infos/Zooning_maquette_graphique/zooning_simple.epgz b/Documents_et_infos/Zooning_maquette_graphique/zooning_simple.epgz
new file mode 100644
index 0000000..a2051a0
--- /dev/null
+++ b/Documents_et_infos/Zooning_maquette_graphique/zooning_simple.epgz
Binary files differ
diff --git a/Documents_et_infos/cahier_des_charges_fonctionnalitees.jpg b/Documents_et_infos/cahier_des_charges_fonctionnalitees.jpg
new file mode 100644
index 0000000..8519988
--- /dev/null
+++ b/Documents_et_infos/cahier_des_charges_fonctionnalitees.jpg
Binary files differ
diff --git a/Documents_et_infos/infos_generales.txt b/Documents_et_infos/infos_generales.txt
new file mode 100644
index 0000000..05ef1f6
--- /dev/null
+++ b/Documents_et_infos/infos_generales.txt
@@ -0,0 +1,73 @@
+*******************************************************************************
+ Infos: Déroulé de la réalisation de l'exercice.
+*******************************************************************************
+
+Le cahier des charges que je me suis fixé pour cet exercice est un peu plus chargé
+que ce qui était demandé initalement:
+-Mettre en place un sytème de client / consultant (et non uniquement pour moi).
+-Mettre en place un système d'inscription.
+-Mettre en place un système de connection.
+-Rechercher par nom un consultant.
+-Afficher les capacités d'un consultant.
+-Pouvoir enregistrer et noter une mission effectuée auprès d'un consultant en
+tant que client.
+-Pouvoir supprimer un utilisateur du site.
+
+Pour cet exercice, j'ai tout d'abord voulu créer mes pages web indépendamment les
+unes des autres (index, login, register, etc...), il m'a rapidement paru évident
+de séparer la gestion de la base de données dans un fichier à part, et mettre ce
+système dans une classe m'a également paru être un bon choix car on pouvait avec
+une classe définir les différents paramatres de connection à la base de données
+dans les attributs de cette dernière et initier la connection à l'instanciation.
+Ce système me permettait de mettre en place des requêtes en créant des méthodes et la classe
+grossissant j'ai décidé de la scinder en trois, le fichier principal contenant les
+informations de connection et d'initialisation de la base de données ainsi que quelques
+requêtes basiques, un second fichier contenant toutes les méthodes pour effectuer des
+recherches, et un dernier fichier contenant toutes les méthodes permettant de pouvoir
+modifier les éléments de la base de données.
+
+En avancant dans l'exercice, j'ai voulu séparer la partie "logique" (traitement des données)
+de la partie "rendue" (partie envoyée au client), les fichiers grossissants rapidement
+cela permettait de gérer plus clairement ces deux parties du site.
+
+J'ai alors décidé de faire un fichier logique que j'ai appelé "wrapper",
+ce wrapper avait deux objectifs:
+- Récupérer les données transmises par les formulaires.
+- Effectuer toute la partie logique (le traitement des données).
+Je souhaitais renvoyer toutes les données vers un seul fichier pour minimiser
+l'exposition d'informations transmises au client quand au fonctionnement du site web,
+dans une optique de sécurité je souhaite afficher au client
+uniquement le strict minimum. Ce fichier wrapper a lui aussi rapidement grossi,
+et dans un soucis de lisibilité et de facilité de maintenance, j'ai décidé de le diviser
+en plusieurs fichiers qui sont devenus ses fonctions.
+
+Enfin la partie "rendue" contenait les différentes pages accessibles par le client,
+voulant éviter la répétition dans les différentes pages, j'ai séparé les parties
+communes dans des fichiers à part (header, navbar, footer) cela me permettait en
+modifiant un seul fichier de modifier le rendu sur toutes les pages, et dans un
+soucis d'uniformité, j'ai décidé de "sortir" également les parties principales des
+différentes pages et de placer le tout dans un dossier nommé "includes" dans lequel
+les pages pourraient importer leur contenu. Enfin pour la gestion des langues, il
+m'a paru opportun de créer des fichiers contenant le texte pour chaque langue à la
+manière de fichier de traduction pour vidéo, et le site allait importer ensuite le
+fichier en fonction de la langue sélectionnée, pour le faire j'ai créé deux dossiers
+"fr" et "en" et je change la source de l'import en fonction de la langue choisie
+par le client.
+
+Pour permettre une retention d'information entre les pages, le système de session
+m'a paru inévitable et grâce à ce dernier, j'ai pu mettre en place le système
+de changement de langue (défini dans une variable de cette dernière), un système de
+connection (on affiche différents éléments en fonction du contenu de variable défini dans la session).
+
+J'ai également choisi de créer un système d'auto-connection car je voulais
+expérimenter l'utilisation de cookie en PHP pour mettre en place ce système
+le but était de créer un "jeton d'auto-connection": une chaine de caractères aléatoires
+permettant la connection, valable une seule fois et qui serait stoqué 7 jours
+sur le navigateur du client. La session ne restant ouverte
+par défaut que 24 min (https://stackoverflow.com/questions/9904105/php-sessions-default-timeout).
+
+Pour la charte graphique, j'ai mis en place ce qui me parait être la structure la plus basique
+pour un site web: En-tête avec barre de navigation -> corps de la page -> pied de page.
+J'ai choisi un style clair, anguleux et épuré avec une dominance pour le rouge.
+
+Et enfin pour pouvoir faire un peu de JS, j'ai choisi de créer un slideshow.
diff --git a/Views/Includes/en/table.php b/Views/Includes/en/table.php
index 1ce9816..0b778af 100644
--- a/Views/Includes/en/table.php
+++ b/Views/Includes/en/table.php
@@ -39,7 +39,7 @@ $header = [
["Subject",
"Note",
"Review",
- "CLient Lastname"]
+ "Client Lastname"]
];
$yes = "Yes";
$no = "No";
diff --git a/Views/Includes/en/text.php b/Views/Includes/en/text.php
index 872ca62..7caf330 100644
--- a/Views/Includes/en/text.php
+++ b/Views/Includes/en/text.php
@@ -3,15 +3,15 @@
// Description: Texte du site
// ****************************************************************************
$text = [
- "incl_delete_form" => [
+ "incl_form_delete" => [
"h2" => "Delete an user",
"id" => "ID to delete",
"submit" => "Delete",
],
- "incl_footer" => [
+ "incl_global_footer" => [
"main" => "Made by Debulois Quentin for my professional folder.<br>December 2021, all rights reserved.",
],
- "incl_userInfo_form" => [
+ "incl_form_userInfo" => [
"h2" => "Informations about the user.",
"lastname" => "Last name",
"firstname" => "First name",
@@ -25,24 +25,24 @@ $text = [
"city" => "City",
"submit" => "Modify"
],
- "incl_login_form" => [
+ "incl_form_login" => [
"h2" => "Login",
"email" => "Email",
"password" => "Password",
"rememberMe" => "Remember me",
"submit" => "Sign-in"
],
- "incl_mission_form" => [
+ "incl_form_mission" => [
"h2" => "Form to register a mission",
"subject" => "Subject",
"review" => "Review",
"consultantId" => "Consultant ID",
"submit" => "Register"
],
- "incl_myMission_table" => [
+ "incl_table_myMission" => [
"h2" => "My missions"
],
- "incl_navbar" => [
+ "incl_global_navbar" => [
"h2" => "AlphaJob",
"btnSearch" => "Search",
"btnInfos" => "Modif. infos",
@@ -55,7 +55,7 @@ $text = [
"lang" => "Language",
"btnLang" => "Select"
],
- "incl_register_form" => [
+ "incl_form register" => [
"h2" => "Form to sign-in",
"email" => "Email",
"password" => "Password",
diff --git a/Views/Includes/fr/text.php b/Views/Includes/fr/text.php
index 7820ea3..8d72f26 100644
--- a/Views/Includes/fr/text.php
+++ b/Views/Includes/fr/text.php
@@ -3,15 +3,15 @@
// Description: Texte du site
// ****************************************************************************
$text = [
- "incl_delete_form" => [
+ "incl_form_delete" => [
"h2" => "Supprimer un utilisateur",
"id" => "ID à supprimer",
"submit" => "Supprimer",
],
- "incl_footer" => [
+ "incl_global_footer" => [
"main" => "Réalisé par Debulois Quentin pour mon dossier professionel.<br>Decembre 2021, tous droits réservés.",
],
- "incl_userInfo_form" => [
+ "incl_form_userInfo" => [
"h2" => "Informations sur l'utilisateur.",
"lastname" => "Nom",
"firstname" => "Prénom",
@@ -25,24 +25,24 @@ $text = [
"city" => "Ville",
"submit" => "Modifier"
],
- "incl_login_form" => [
+ "incl_form_login" => [
"h2" => "Identification",
"email" => "Email",
"password" => "Mot de passe",
"rememberMe" => "Se souvenir de moi",
"submit" => "Connection"
],
- "incl_mission_form" => [
+ "incl_form_mission" => [
"h2" => "Formulaire pour enregistrer une mission",
"subject" => "Sujet",
"review" => "Commentaire",
"consultantId" => "ID du consultant",
"submit" => "Enregistrer"
],
- "incl_myMission_table" => [
+ "incl_table_myMission" => [
"h2" => "Mes missions"
],
- "incl_navbar" => [
+ "incl_global_navbar" => [
"h2" => "AlphaJob",
"btnSearch" => "Rechercher",
"btnInfos" => "Modif. infos",
@@ -55,7 +55,7 @@ $text = [
"lang" => "Langue",
"btnLang" => "Sélectionner"
],
- "incl_register_form" => [
+ "incl_form_register" => [
"h2" => "Formulaire d'inscription",
"email" => "Email",
"password" => "Mot de passe",
diff --git a/Views/Includes/incl_delete_form.php b/Views/Includes/incl_form_delete.php
index bc1dc80..99ce216 100644
--- a/Views/Includes/incl_delete_form.php
+++ b/Views/Includes/incl_form_delete.php
@@ -20,7 +20,7 @@ echo(' <!-- Separateur -->
<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="id" maxlength="10" placeholder="'.$text[basename(__FILE__, ".php")]["id"].'">
+ <input type="text" name="userId" maxlength="10" placeholder="'.$text[basename(__FILE__, ".php")]["id"].'">
</label>
<input type="submit" value="'.$text[basename(__FILE__, ".php")]["submit"].'">
</form>'.PHP_EOL);
@@ -42,9 +42,9 @@ foreach ($result as $rows) {
<tr>".PHP_EOL);
foreach ($rows as $key => $value) {
// Traduction du résultat si reponse binaire en Oui / Non.
- if (($key == "isUser" || $key == "isConsultant" || $key == "isAdmin") && $value == "1") {
+ if (($key == "isClient" || $key == "isPro" || $key == "isAdmin") && $value == "1") {
echo(" <td><pre>".$yes."<prepre></td>".PHP_EOL);
- } elseif (($key == "isUser" || $key == "isConsultant" || $key == "isAdmin") && $value == "0") {
+ } elseif (($key == "isClient" || $key == "isPro" || $key == "isAdmin") && $value == "0") {
echo(" <td><pre>".$no."<prepre></td>".PHP_EOL);
} else {
echo(" <td><pre>".$value."</pre></td>".PHP_EOL);
diff --git a/Views/Includes/incl_login_form.php b/Views/Includes/incl_form_login.php
index 5f76160..5f76160 100644
--- a/Views/Includes/incl_login_form.php
+++ b/Views/Includes/incl_form_login.php
diff --git a/Views/Includes/incl_mission_form.php b/Views/Includes/incl_form_mission.php
index 2fed999..4d6d311 100644
--- a/Views/Includes/incl_mission_form.php
+++ b/Views/Includes/incl_form_mission.php
@@ -30,7 +30,7 @@ echo(' <div class="separator"></div>
</label>
<label>
<i class="fas fa-user-cog"></i>
- <input type="text" name="consultantId" placeholder="'.$text[basename(__FILE__, ".php")]["consultantId"].'" maxlength="10" required>
+ <input type="text" name="proId" placeholder="'.$text[basename(__FILE__, ".php")]["consultantId"].'" maxlength="10" required>
</label>
<input type="submit" value="'.$text[basename(__FILE__, ".php")]["submit"].'">
</form>
diff --git a/Views/Includes/incl_register_form.php b/Views/Includes/incl_form_register.php
index d95f552..bb046ce 100644
--- a/Views/Includes/incl_register_form.php
+++ b/Views/Includes/incl_form_register.php
@@ -19,8 +19,8 @@ echo(' <!-- Separateur -->
<input type="password" name="password" id="password" maxlength="128" placeholder="'.$text[basename(__FILE__, ".php")]["password"].'" maxlength="128" required>
</label>
<label class="info flex-center">'.$text[basename(__FILE__, ".php")]["notice"].'</label>
- <label for="is_user" class="flex-center"><input type="checkbox" name="is_user" id="is_user">'.$text[basename(__FILE__, ".php")]["isUser"].'</label>
- <label for="is_consultant" class="flex-center"><input type="checkbox" name="is_consultant" id="is_consultant">'.$text[basename(__FILE__, ".php")]["isConsultant"].'</label>
+ <label for="is_user" class="flex-center"><input type="checkbox" name="is_client" id="is_user">'.$text[basename(__FILE__, ".php")]["isUser"].'</label>
+ <label for="is_consultant" class="flex-center"><input type="checkbox" name="is_pro" id="is_consultant">'.$text[basename(__FILE__, ".php")]["isConsultant"].'</label>
<label for="is_admin" class="flex-center"><input type="checkbox" name="is_admin" id="is_admin">'.$text[basename(__FILE__, ".php")]["isAdmin"].'</label>
<input type="submit" value="'.$text[basename(__FILE__, ".php")]["submit"].'">
</form>
diff --git a/Views/Includes/incl_userInfo_form.php b/Views/Includes/incl_form_userInfo.php
index 200a3f5..4cc509c 100644
--- a/Views/Includes/incl_userInfo_form.php
+++ b/Views/Includes/incl_form_userInfo.php
@@ -9,7 +9,7 @@ require_once(dirname( __FILE__ )."/../../Database/meth_dbsearch.php");
// Instanciation de la bdd avec les méthodes de recherche.
$dbsearch = new DbSearch;
// Recherches des informations avec l'id de l'utilisateur actuellement connecté.
-$info = $dbsearch->get_user_info_by_id($_SESSION["id"]);
+$info = $dbsearch->get_user_info_by_id($_SESSION["userId"]);
if (!$info) {
$info = [
["lastname" => "",
diff --git a/Views/Includes/incl_footer.php b/Views/Includes/incl_global_footer.php
index 6aa4014..6aa4014 100644
--- a/Views/Includes/incl_footer.php
+++ b/Views/Includes/incl_global_footer.php
diff --git a/Views/Includes/incl_header.php b/Views/Includes/incl_global_header.php
index 060340c..060340c 100644
--- a/Views/Includes/incl_header.php
+++ b/Views/Includes/incl_global_header.php
diff --git a/Views/Includes/incl_message.php b/Views/Includes/incl_global_message.php
index b4b653d..b4b653d 100644
--- a/Views/Includes/incl_message.php
+++ b/Views/Includes/incl_global_message.php
diff --git a/Views/Includes/incl_navbar.php b/Views/Includes/incl_global_navbar.php
index 178f2e6..86241e9 100644
--- a/Views/Includes/incl_navbar.php
+++ b/Views/Includes/incl_global_navbar.php
@@ -17,13 +17,13 @@ echo(' <!-- Navbar -->
if (isset($_SESSION["loggedIn"])
&& $_SESSION["loggedIn"] == "1"
) {
- if (isset($_SESSION["isUser"])
- && $_SESSION["isUser"] == "1"
+ if (isset($_SESSION["isClient"])
+ && $_SESSION["isClient"] == "1"
) {
echo(' <a href="/Views/mission.php"><li><i class="fas fa-plus-square"></i> '.$text[basename(__FILE__, ".php")]["btnMission"].'</li></a>'.PHP_EOL);
}
- if (isset($_SESSION["isConsultant"])
- && $_SESSION["isConsultant"] == "1"
+ if (isset($_SESSION["isPro"])
+ && $_SESSION["isPro"] == "1"
) {
echo(' <a href="/Views/myMission.php"><li><i class="fas fa-tasks"></i> '.$text[basename(__FILE__, ".php")]["btnMyMission"].'</li></a>'.PHP_EOL);
}
diff --git a/Views/Includes/incl_myMission_table.php b/Views/Includes/incl_table_myMission.php
index 9a50f5c..b7e4ba9 100644
--- a/Views/Includes/incl_myMission_table.php
+++ b/Views/Includes/incl_table_myMission.php
@@ -11,7 +11,7 @@ require_once(dirname(__FILE__)."/../../Database/meth_dbsearch.php");
// Instanciation de la bdd avec les méthodes de recherche.
$dbsearch = new DbSearch;
// Recherches des missions avec l'id de l'utilisateur actuellement connecté.
-$result = $dbsearch->get_all_mission_by_id($_SESSION["id"]);
+$result = $dbsearch->get_all_mission_by_id($_SESSION["userId"]);
echo(' <!-- Separateur -->
<div class="separator"></div>
<!-- Mes missions -->
diff --git a/Views/delete.php b/Views/delete.php
index af7c286..c11c768 100644
--- a/Views/delete.php
+++ b/Views/delete.php
@@ -22,14 +22,14 @@ if (!isset($_SESSION["loggedIn"], $_SESSION["isAdmin"])
<!DOCTYPE html>
<?php echo('<html lang="'.$_SESSION["lang"].'">'.PHP_EOL); ?>
<head>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_header.php"); ?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_global_header.php"); ?>
<?php require_once(dirname( __FILE__ )."/Includes/".$_SESSION["lang"]."/title.php"); ?>
<?php echo(" <title>".$title[basename(__FILE__, ".php")]."</title>".PHP_EOL); ?>
</head>
<body>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_navbar.php"); ?>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_delete_form.php"); ?>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_footer.php"); ?>
+<?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_global_footer.php"); ?>
<script src="/Statics/Js/main.js"></script>
</body>
</html> \ No newline at end of file
diff --git a/Views/login.php b/Views/login.php
index 19b1a3c..0bdeda3 100644
--- a/Views/login.php
+++ b/Views/login.php
@@ -13,14 +13,14 @@ $_SESSION["src"] = basename(__FILE__, ".php");
<!DOCTYPE html>
<?php echo('<html lang="'.$_SESSION["lang"].'">'.PHP_EOL); ?>
<head>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_header.php"); ?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_global_header.php"); ?>
<?php require_once(dirname( __FILE__ )."/Includes/".$_SESSION["lang"]."/title.php"); ?>
<?php echo("<title>".$title[basename(__FILE__, ".php")]."</title>".PHP_EOL); ?>
</head>
<body>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_navbar.php"); ?>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_login_form.php"); ?>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_footer.php"); ?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_global_navbar.php"); ?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_form_login.php"); ?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_global_footer.php"); ?>
<script src="/Statics/Js/main.js"></script>
</body>
</html> \ No newline at end of file
diff --git a/Views/message.php b/Views/message.php
index fa90ccd..489d01f 100644
--- a/Views/message.php
+++ b/Views/message.php
@@ -16,14 +16,14 @@ if (!isset($_SESSION["messageNumber"])) {
<!DOCTYPE html>
<?php echo('<html lang="'.$_SESSION["lang"].'">'.PHP_EOL); ?>
<head>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_header.php"); ?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_global_header.php"); ?>
<?php require_once(dirname( __FILE__ )."/Includes/".$_SESSION["lang"]."/title.php"); ?>
<?php echo(" <title>".$title[basename(__FILE__, ".php")]."</title>".PHP_EOL); ?>
</head>
<body>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_navbar.php"); ?>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_message.php"); ?>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_footer.php"); ?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_global_navbar.php"); ?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_global_message.php"); ?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_global_footer.php"); ?>
</body>
</html>
<?php unset($_SESSION["messageNumber"]); ?>
diff --git a/Views/mission.php b/Views/mission.php
index e1dc2ef..4d84777 100644
--- a/Views/mission.php
+++ b/Views/mission.php
@@ -5,9 +5,9 @@
// Démarrage de la session.
session_start();
// Vérification si connecté et si a le statut utilisateur sinon: raise 404
-if (!isset($_SESSION["loggedIn"], $_SESSION["isUser"])
+if (!isset($_SESSION["loggedIn"], $_SESSION["isClient"])
|| $_SESSION["loggedIn"] == false
- || $_SESSION["isUser"] == false
+ || $_SESSION["isClient"] == false
) {
http_response_code(404);
die();
@@ -21,14 +21,14 @@ $_SESSION["src"] = basename(__FILE__, ".php");
<!DOCTYPE html>
<?php echo('<html lang="'.$_SESSION["lang"].'">'.PHP_EOL); ?>
<head>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_header.php"); ?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_global_header.php"); ?>
<?php require_once(dirname( __FILE__ )."/Includes/".$_SESSION["lang"]."/title.php"); ?>
<?php echo(" <title>".$title[basename(__FILE__, ".php")]."</title>".PHP_EOL); ?>
</head>
<body>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_navbar.php"); ?>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_mission_form.php")?>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_footer.php")?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_global_navbar.php"); ?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_form_mission.php"); ?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_global_footer.php"); ?>
<script src="/Statics/Js/main.js"></script>
</body>
</html> \ No newline at end of file
diff --git a/Views/myMission.php b/Views/myMission.php
index 0c9b6a7..49d7107 100644
--- a/Views/myMission.php
+++ b/Views/myMission.php
@@ -5,9 +5,9 @@
// Démarrage de la session.
session_start();
// Si n'est pas connecté ou n'est pas consultant: raise 404.
-if (!isset($_SESSION["loggedIn"], $_SESSION["isConsultant"])
+if (!isset($_SESSION["loggedIn"], $_SESSION["isPro"])
|| $_SESSION["loggedIn"] == false
- || $_SESSION["isConsultant"] == false
+ || $_SESSION["isPro"] == false
) {
http_response_code(404);
die();
@@ -21,14 +21,14 @@ $_SESSION["src"] = basename(__FILE__, ".php");
<!DOCTYPE html>
<?php echo('<html lang="'.$_SESSION["lang"].'">'.PHP_EOL); ?>
<head>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_header.php"); ?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_global_header.php"); ?>
<?php require_once(dirname( __FILE__ )."/Includes/".$_SESSION["lang"]."/title.php"); ?>
<?php echo(" <title>".$title[basename(__FILE__, ".php")]."</title>".PHP_EOL); ?>
</head>
<body>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_navbar.php"); ?>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_myMission_table.php"); ?>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_footer.php"); ?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_global_navbar.php"); ?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_table_myMission.php"); ?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_global_footer.php"); ?>
<script src="/Statics/Js/main.js"></script>
</body>
</html> \ No newline at end of file
diff --git a/Views/register.php b/Views/register.php
index 3b0605c..5774615 100644
--- a/Views/register.php
+++ b/Views/register.php
@@ -13,14 +13,14 @@ $_SESSION["src"] = basename(__FILE__, ".php");
<!DOCTYPE html>
<?php echo('<html lang="'.$_SESSION["lang"].'">'.PHP_EOL); ?>
<head>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_header.php"); ?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_global_header.php"); ?>
<?php require_once(dirname( __FILE__ )."/Includes/".$_SESSION["lang"]."/title.php"); ?>
<?php echo(" <title>".$title[basename(__FILE__, ".php")]."</title>".PHP_EOL); ?>
</head>
<body>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_navbar.php"); ?>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_register_form.php")?>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_footer.php")?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_global_navbar.php"); ?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_form_register.php")?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_global_footer.php");?>
<script src="/Statics/Js/main.js"></script>
</body>
</html> \ No newline at end of file
diff --git a/Views/userInfo.php b/Views/userInfo.php
index c4e9f8b..0936590 100644
--- a/Views/userInfo.php
+++ b/Views/userInfo.php
@@ -19,14 +19,14 @@ $_SESSION["src"] = basename(__FILE__, ".php");
<!DOCTYPE html>
<?php echo('<html lang="'.$_SESSION["lang"].'">'.PHP_EOL); ?>
<head>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_header.php"); ?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_global_header.php"); ?>
<?php require_once(dirname( __FILE__ )."/Includes/".$_SESSION["lang"]."/title.php"); ?>
<?php echo(" <title>".$title[basename(__FILE__, ".php")]."</title>".PHP_EOL); ?>
</head>
<body>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_navbar.php"); ?>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_userInfo_form.php")?>
-<?php require_once(dirname( __FILE__ )."/Includes/incl_footer.php")?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_global_navbar.php"); ?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_form_userInfo.php")?>
+<?php require_once(dirname( __FILE__ )."/Includes/incl_global_footer.php");?>
<script src="/Statics/Js/main.js"></script>
</body>
</html> \ No newline at end of file
diff --git a/Wrapper/Functions/func_delete.php b/Wrapper/Functions/func_delete.php
index 291704d..b118e56 100644
--- a/Wrapper/Functions/func_delete.php
+++ b/Wrapper/Functions/func_delete.php
@@ -2,9 +2,9 @@
// ****************************************************************************
// Description: Fonction de suppréssion d'un utilisateur par son ID
// ****************************************************************************
-function delete ($id) {
+function delete ($userId) {
$dbuser = new DbUser;
- $deleted = $dbuser->del_user($id);
+ $deleted = $dbuser->del_user($userId);
// Sélection du message à affiché en fonction de réussite ou pas.
if ($deleted) {
$messageNumber = 0;
diff --git a/Wrapper/Functions/func_login.php b/Wrapper/Functions/func_login.php
index bb670ba..3966301 100644
--- a/Wrapper/Functions/func_login.php
+++ b/Wrapper/Functions/func_login.php
@@ -5,6 +5,7 @@
// de caractère aléatoire valable pour une seule tentative.
// ****************************************************************************
function login($cookie, $email = null, $pass = null, $remember = false) {
+ print_r($email, $pass);
// Instanciation de la gestion de la BDD utilisateur.
$dbuser = new DbUser;
// On vérifie si la connection se fait via le formulaire de connection ou par cookie
diff --git a/Wrapper/Functions/func_mission.php b/Wrapper/Functions/func_mission.php
index 8c2d90c..8875685 100644
--- a/Wrapper/Functions/func_mission.php
+++ b/Wrapper/Functions/func_mission.php
@@ -2,13 +2,13 @@
// ****************************************************************************
// Description: Fonction d'enregistrement d'une mission
// ****************************************************************************
-function register_mission($subject, $note, $review, $userId, $consultantId) {
+function register_mission($subject, $note, $review, $clientId, $proId) {
$dbuser = new DbUser;
$registered = $dbuser->register_mission($subject,
$note,
$review,
- $userId,
- $consultantId
+ $clientId,
+ $proId
);
// Sélection du message à afficher en fonction de réussite ou pas.
if ($registered) {
diff --git a/Wrapper/Functions/func_register.php b/Wrapper/Functions/func_register.php
index 99741a3..6a081a9 100644
--- a/Wrapper/Functions/func_register.php
+++ b/Wrapper/Functions/func_register.php
@@ -2,13 +2,13 @@
// ****************************************************************************
// Description: Fonction d'inscription d'un nouvel utilisateur
// ****************************************************************************
-function register($email, $password, $is_admin, $is_user, $is_consultant) {
+function register($email, $password, $is_client, $is_pro, $is_admin) {
$dbuser = new DbUser;
$registered = $dbuser->add_user($email,
$password,
- $is_admin,
- $is_user,
- $is_consultant
+ $is_client,
+ $is_pro,
+ $is_admin
);
// Sélection du message à afficher en fonction de la réussite de l'inscription.
if ($registered) {
diff --git a/Wrapper/Functions/func_sanitize.php b/Wrapper/Functions/func_sanitize.php
index 2821413..cd45c28 100644
--- a/Wrapper/Functions/func_sanitize.php
+++ b/Wrapper/Functions/func_sanitize.php
@@ -5,7 +5,7 @@
function sanitize($data) {
// Retrait des espaces en début et fin de la variable.
$trimmed = trim($data);
- // Retrait des charactères HTML.
+ // Retrait des charactères HTML (XSS).
$htmlChars = htmlspecialchars($trimmed);
return $htmlChars;
}
diff --git a/Wrapper/wrapper.php b/Wrapper/wrapper.php
index 2bdcf32..4a39429 100644
--- a/Wrapper/wrapper.php
+++ b/Wrapper/wrapper.php
@@ -7,6 +7,7 @@
// pour rediréger tout mes formulaires vers une page unique.
// ****************************************************************************
// 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_dbsearch.php");
require_once(dirname( __FILE__ )."/Functions/func_info.php");
@@ -19,9 +20,13 @@ require_once(dirname( __FILE__ )."/Functions/func_register.php");
require_once(dirname( __FILE__ )."/Functions/func_language.php");
require_once(dirname( __FILE__ )."/Functions/func_sanitize.php");
session_start();
+
// Si la session existe et que la variable src est bien présente.
+// Ensuite on redirige en fonction de la varaible "src" de la session
+// et on vérifie que la data nécessaire est bien présente.
+// Sinon: raise 404
if (isset($_SESSION["src"])) {
- // Avant toutes chose on sanitarize la data reçue.
+ // Avant toutes choses, on nettoie la data reçue.
if (isset($_POST)) {
foreach ($_POST as $key => $value) {
if ($key !== "password") {
@@ -29,9 +34,8 @@ if (isset($_SESSION["src"])) {
}
}
}
- // Ensuite on redirige en fonction de la varaible "src" de la session
- // et on vérifie que la data nécessaire est bien présente.
- // Sinon: raise 404
+
+ // Condition pour une connection
if ($_SESSION["src"] == "login"
&& isset($_POST["email"], $_POST["password"])
&& $_POST["email"] !== ""
@@ -43,17 +47,23 @@ if (isset($_SESSION["src"])) {
$_POST["rememberMe"] = false;
}
login(0, $_POST["email"], $_POST["password"], $_POST["rememberMe"]);
+
+ // Condition pour une connection auto
} elseif ($_SESSION["src"] == "autoLogin"
&& isset($_COOKIE["autoLogin"])
&& $_SESSION["loggedIn"] == false
) {
// Si connection par cookie, on le décode avant de le passer à la fonction.
login(json_decode(base64_decode($_COOKIE["autoLogin"])));
+
+ // Condition pour une déconnection
} elseif ($_SESSION["src"] == "logout"
&& isset($_SESSION["loggedIn"])
&& $_SESSION["loggedIn"] == true
) {
logout();
+
+ // Condition pour une inscription
} elseif ($_SESSION["src"] == "register"
&& isset($_POST["email"],
$_POST["password"]
@@ -61,69 +71,77 @@ if (isset($_SESSION["src"])) {
&& $_POST["email"] !== ""
&& $_POST["password"] !== ""
) {
- if (isset($_POST["is_admin"]) && $_POST["is_admin"] == "on") {
- $_POST["is_admin"] = 1;
+ if (isset($_POST["is_client"]) && $_POST["is_client"] == "on") {
+ $_POST["is_client"] = 1;
} else {
- $_POST["is_admin"] = 0;
+ $_POST["is_client"] = 0;
}
- if (isset($_POST["is_user"]) && $_POST["is_user"] == "on") {
- $_POST["is_user"] = 1;
+ if (isset($_POST["is_pro"]) && $_POST["is_pro"] == "on") {
+ $_POST["is_pro"] = 1;
} else {
- $_POST["is_user"] = 0;
+ $_POST["is_pro"] = 0;
}
- if (isset($_POST["is_consultant"]) && $_POST["is_consultant"] == "on") {
- $_POST["is_consultant"] = 1;
+ if (isset($_POST["is_admin"]) && $_POST["is_admin"] == "on") {
+ $_POST["is_admin"] = 1;
} else {
- $_POST["is_consultant"] = 0;
+ $_POST["is_admin"] = 0;
}
register($_POST["email"],
$_POST["password"],
- $_POST["is_admin"],
- $_POST["is_user"],
- $_POST["is_consultant"]
+ $_POST["is_client"],
+ $_POST["is_pro"],
+ $_POST["is_admin"]
);
+
+ // Condition pour une modification des infos
} elseif ($_SESSION["src"] == "userInfo"
- && isset($_SESSION["loggedIn"], $_SESSION["id"],
+ && isset($_SESSION["loggedIn"], $_SESSION["userId"],
$_POST["lastname"], $_POST["firstname"], $_POST["job"],
$_POST["degree"], $_POST["capability"], $_POST["description"],
$_POST["phoneNumber"], $_POST["adress"], $_POST["zipCode"], $_POST["city"]
)
- && $_SESSION["loggedIn"] == true && $_SESSION["id"] !== ""
+ && $_SESSION["loggedIn"] == true && $_SESSION["userId"] !== ""
&& $_POST["lastname"] !== "" && $_POST["firstname"] !== ""
) {
modify_user_info($_POST["lastname"], $_POST["firstname"], $_POST["job"],
$_POST["degree"], $_POST["capability"], $_POST["description"],
$_POST["phoneNumber"], $_POST["adress"], $_POST["zipCode"],
- $_POST["city"], $_SESSION["id"]
+ $_POST["city"], $_SESSION["userId"]
);
+
+ // Condition pour une suppression d'un utilisateur
} elseif ($_SESSION["src"] == "delete"
&& isset($_SESSION["loggedIn"],
$_SESSION["isAdmin"],
- $_POST["id"]
+ $_POST["userId"]
)
&& $_SESSION["loggedIn"] == true
&& $_SESSION["isAdmin"] == true
- && $_POST["id"] !== ""
+ && $_POST["userId"] !== ""
) {
- delete($_POST["id"]);
+ delete($_POST["userId"]);
+
+ // Condition pour un enregistrement d'une mission
} elseif ($_SESSION["src"] == "mission"
- && isset($_SESSION["loggedIn"], $_SESSION["isUser"],
+ && isset($_SESSION["loggedIn"], $_SESSION["isClient"],
$_POST["subject"], $_POST["note"],
- $_POST["review"], $_POST["consultantId"]
+ $_POST["review"], $_POST["proId"]
)
&& $_SESSION["loggedIn"] == true
- && $_SESSION["isUser"] == true
+ && $_SESSION["isClient"] == true
&& $_POST["subject"] !== ""
&& $_POST["note"] !== ""
&& $_POST["review"] !== ""
- && $_POST["consultantId"] !== ""
+ && $_POST["proId"] !== ""
) {
register_mission($_POST["subject"],
$_POST["note"],
$_POST["review"],
- $_SESSION["id"],
- $_POST["consultantId"]
+ $_SESSION["userId"],
+ $_POST["proId"]
);
+
+ // Condition pour une recherche
} elseif ($_SESSION["src"] == "index"
&& (isset($_POST["search"]) && $_POST["search"] !== "")
|| (isset($_POST["searchInfo"]) && $_POST["searchInfo"] !== "")
@@ -133,14 +151,19 @@ if (isset($_SESSION["src"])) {
} else {
search($_POST["searchInfo"], false);
}
+
+ // Condition pour le changement de la langue
} elseif (isset($_SESSION["src"], $_POST["langSel"])
&& ($_POST["langSel"] == "en" || $_POST["langSel"] == "fr")
) {
set_language($_POST["langSel"]);
+
+ // Enfin, si requete invalide
} else {
http_response_code(404);
die();
}
+
} else {
http_response_code(404);
die();
diff --git a/index.php b/index.php
index 1e732df..ed9b111 100644
--- a/index.php
+++ b/index.php
@@ -34,15 +34,15 @@ if (isset($_COOKIE["autoLogin"]) && $_SESSION["loggedIn"] == false) {
<!DOCTYPE html>
<?php echo('<html lang="'.$_SESSION["lang"].'">'.PHP_EOL); ?>
<head>
-<?php require_once(dirname( __FILE__ )."/Views/Includes/incl_header.php"); ?>
+<?php require_once(dirname( __FILE__ )."/Views/Includes/incl_global_header.php"); ?>
<?php require_once(dirname( __FILE__ )."/Views/Includes/".$_SESSION["lang"]."/title.php"); ?>
<?php echo(" <title>".$title[basename(__FILE__, ".php")]."</title>".PHP_EOL); ?>
</head>
<body>
-<?php require_once("./Views/Includes/incl_navbar.php"); ?>
+<?php require_once("./Views/Includes/incl_global_navbar.php"); ?>
<?php require_once("./Views/Includes/incl_index_slideshow.php"); ?>
<?php require_once("./Views/Includes/incl_index_search.php");?>
-<?php require_once("./Views/Includes/incl_footer.php"); ?>
+<?php require_once("./Views/Includes/incl_global_footer.php"); ?>
<script src="/Statics/Js/main.js"></script>
<!-- Activation du slider -->
<script>start_slideshow();</script>