summaryrefslogtreecommitdiff
path: root/Views/Includes
diff options
context:
space:
mode:
authorDebulois <quentin@debulois.fr>2022-02-03 13:02:21 +0100
committerDebulois <quentin@debulois.fr>2022-02-03 13:02:21 +0100
commit5ddf8de3691fde866c5a48b440cffa2990b2014c (patch)
treee19215cb4a699ed767c731f65d3f796b4435530a /Views/Includes
Initial commit
Diffstat (limited to 'Views/Includes')
-rw-r--r--Views/Includes/en/message.php77
-rw-r--r--Views/Includes/en/table.php46
-rw-r--r--Views/Includes/en/text.php80
-rw-r--r--Views/Includes/en/title.php15
-rw-r--r--Views/Includes/fr/message.php77
-rw-r--r--Views/Includes/fr/table.php46
-rw-r--r--Views/Includes/fr/text.php80
-rw-r--r--Views/Includes/fr/title.php15
-rw-r--r--Views/Includes/incl_delete_form.php60
-rw-r--r--Views/Includes/incl_footer.php13
-rw-r--r--Views/Includes/incl_header.php15
-rw-r--r--Views/Includes/incl_index_search.php87
-rw-r--r--Views/Includes/incl_index_slideshow.php21
-rw-r--r--Views/Includes/incl_login_form.php26
-rw-r--r--Views/Includes/incl_message.php22
-rw-r--r--Views/Includes/incl_mission_form.php38
-rw-r--r--Views/Includes/incl_myMission_table.php39
-rw-r--r--Views/Includes/incl_navbar.php59
-rw-r--r--Views/Includes/incl_register_form.php28
-rw-r--r--Views/Includes/incl_userInfo_form.php76
20 files changed, 920 insertions, 0 deletions
diff --git a/Views/Includes/en/message.php b/Views/Includes/en/message.php
new file mode 100644
index 0000000..4303907
--- /dev/null
+++ b/Views/Includes/en/message.php
@@ -0,0 +1,77 @@
+<?php
+// ****************************************************************************
+// Description: Texte des messages.
+// ****************************************************************************
+$success = "Success";
+$error = "Error";
+$redirect = "Redirecting in ";
+$message = [
+ // Delete
+ // 0 Message réussitee
+ ["success" => true,
+ "title" => "Delete an user.",
+ "info" => "User deleted !",
+ "timer" => true],
+ // 1 Message échec
+ ["success" => false,
+ "title" => "Delete an user.",
+ "info" => "No user was deleted.",
+ "timer" => true],
+ // Informations de l'utilisateur
+ // 2 Message réussitee
+ ["success" => true,
+ "title" => "Update user information.",
+ "info" => "User informations updated !",
+ "timer" => true],
+ // Login sans cookie
+ // 3 Message réussitee
+ ["success" => true,
+ "title" => "Login.",
+ "info" => "Successfully logged in!",
+ "timer" => true],
+ // 4 Message échec
+ ["success" => false,
+ "title" => "Login.",
+ "info" => "Error bad credentials.",
+ "timer" => true],
+ // Login avec cookie
+ // 5 Message réussitee
+ ["success" => true,
+ "title" => "",
+ "info" => "",
+ "timer" => false],
+ // 6 Message échec
+ ["success" => false,
+ "title" => "Login cookie.",
+ "info" => "Error with the cookie auto-login.",
+ "timer" => true],
+ // Log out
+ // 7 Message global
+ ["success" => true,
+ "title" => "Log out.",
+ "info" => "Successefuly logged out!",
+ "timer" => true],
+ // Ajout mission
+ // 8 Message réussitee
+ ["success" => true,
+ "title" => "Register a mission.",
+ "info" => "Mission registered !",
+ "timer" => true],
+ // 9 Message échec
+ ["success" => false,
+ "title" => "Register a mission.",
+ "info" => "Error, probably wrong consultant ID.",
+ "timer" => true],
+ // Ajout utilisateur
+ // 10 Message réussitee
+ ["success" => true,
+ "title" => "Register an user.",
+ "info" => "User successfully registered !",
+ "timer" => true],
+ // 11 Message échec
+ ["success" => false,
+ "title" => "Register an user.",
+ "info" => "Error, user not registered.",
+ "timer" => true],
+];
+?> \ No newline at end of file
diff --git a/Views/Includes/en/table.php b/Views/Includes/en/table.php
new file mode 100644
index 0000000..1ce9816
--- /dev/null
+++ b/Views/Includes/en/table.php
@@ -0,0 +1,46 @@
+<?php
+// ****************************************************************************
+// Description: En-tête des tableaux
+// ****************************************************************************
+$header = [
+ // En-tête des colonnes du tableau Delete de l'admin.
+ // 0
+ ["ID Number",
+ "Email",
+ "Crypted Password",
+ "Token for auto-login",
+ "Inscription date",
+ "Is user?",
+ "Is consultant?",
+ "Is admin?"],
+ // En-tête des colonnes du tableau Search de l'index.
+ // 1
+ ["Last name",
+ "First name",
+ "Job",
+ "Capabilities",
+ "Number of missions",
+ "Note",
+ "Stars"],
+ // En-tête des colonnes du tableau More infos de l'index.
+ // 2
+ ["Last name",
+ "First name",
+ "Job",
+ "Degree",
+ "Capabilities",
+ "Description",
+ "Phone number",
+ "Adress",
+ "Zip code",
+ "City"],
+ // En-tête des colonnes du tableau mes missions.
+ // 3
+ ["Subject",
+ "Note",
+ "Review",
+ "CLient Lastname"]
+];
+$yes = "Yes";
+$no = "No";
+?> \ No newline at end of file
diff --git a/Views/Includes/en/text.php b/Views/Includes/en/text.php
new file mode 100644
index 0000000..872ca62
--- /dev/null
+++ b/Views/Includes/en/text.php
@@ -0,0 +1,80 @@
+<?php
+// ****************************************************************************
+// Description: Texte du site
+// ****************************************************************************
+$text = [
+ "incl_delete_form" => [
+ "h2" => "Delete an user",
+ "id" => "ID to delete",
+ "submit" => "Delete",
+ ],
+ "incl_footer" => [
+ "main" => "Made by Debulois Quentin for my professional folder.<br>December 2021, all rights reserved.",
+ ],
+ "incl_userInfo_form" => [
+ "h2" => "Informations about the user.",
+ "lastname" => "Last name",
+ "firstname" => "First name",
+ "job" => "Job",
+ "degree" => "Degree",
+ "capability" => "Capacities",
+ "description" => "Descriptions",
+ "phoneNumber" => "Phone number",
+ "adress" => "Adress",
+ "zipCode" => "Zip code",
+ "city" => "City",
+ "submit" => "Modify"
+ ],
+ "incl_login_form" => [
+ "h2" => "Login",
+ "email" => "Email",
+ "password" => "Password",
+ "rememberMe" => "Remember me",
+ "submit" => "Sign-in"
+ ],
+ "incl_mission_form" => [
+ "h2" => "Form to register a mission",
+ "subject" => "Subject",
+ "review" => "Review",
+ "consultantId" => "Consultant ID",
+ "submit" => "Register"
+ ],
+ "incl_myMission_table" => [
+ "h2" => "My missions"
+ ],
+ "incl_navbar" => [
+ "h2" => "AlphaJob",
+ "btnSearch" => "Search",
+ "btnInfos" => "Modif. infos",
+ "btnMission" => "Register mission",
+ "btnMyMission" => "My missions",
+ "btnDelete" => "Delete an user",
+ "btnLogin" => "Sign-in",
+ "btnLogout" => "Loggout",
+ "btnRegister" => "Sign-up",
+ "lang" => "Language",
+ "btnLang" => "Select"
+ ],
+ "incl_register_form" => [
+ "h2" => "Form to sign-in",
+ "email" => "Email",
+ "password" => "Password",
+ "notice" => "For the purpose of the exam only:",
+ "isUser" => "Is user?",
+ "isConsultant" => "Is consultant?",
+ "isAdmin" => "Is admin?",
+ "submit" => "Sign-up"
+ ],
+ "incl_index_search" => [
+ "h2" => "Search by lastname",
+ "searchBar" => "Lastname",
+ "submit" => "Search",
+ "moreInfo" => "More info"
+ ],
+ "incl_index_slideshow" => [
+ "slide1" => "Find the right consultant for you.<br><br>For all your needs.<br><br><span>AlphaJob</span>",
+ "slide2" => "Only the bests proffessionals can register!<br><br>Quality of work guarantee!<br><br><span>AlphaJob</span>",
+ "slide3" => "Find the bests offers for your website today.<br><br>Discover our ready to use solutions.<br><br><span>AlphaJob</span>"
+ ]
+];
+?> \ No newline at end of file
diff --git a/Views/Includes/en/title.php b/Views/Includes/en/title.php
new file mode 100644
index 0000000..3655a7a
--- /dev/null
+++ b/Views/Includes/en/title.php
@@ -0,0 +1,15 @@
+<?php
+// ****************************************************************************
+// Description: Titre des pages
+// ****************************************************************************
+$title = [
+ "index" => "AlphaJob - Index",
+ "login" => "AlphaJob - Login Page",
+ "message" => "AlphaJob - Message",
+ "mission" => "AlphaJob - Register a mission",
+ "myMission" => "AlphaJob - My missions",
+ "register" => "AlphaJob - Register an user",
+ "userInfo" => "AlphaJob - My user information",
+ "delete" => "AlphaJob - Delete an user"
+];
+?> \ No newline at end of file
diff --git a/Views/Includes/fr/message.php b/Views/Includes/fr/message.php
new file mode 100644
index 0000000..0066cb5
--- /dev/null
+++ b/Views/Includes/fr/message.php
@@ -0,0 +1,77 @@
+<?php
+// ****************************************************************************
+// Description: Texte des messages.
+// ****************************************************************************
+$success = "Réussite";
+$error = "Erreur";
+$redirect = "Redirection dans ";
+$message = [
+ // Delete
+ // 0 Message réussitee
+ ["success" => true,
+ "title" => "Supprimer un utilisateur.",
+ "info" => "Utilisateur Supprimé !",
+ "timer" => true],
+ // 1 Message échec
+ ["success" => false,
+ "title" => "Supprimer un utilisateur.",
+ "info" => "Aucun utilisateur supprimé.",
+ "timer" => true],
+ // Informations de l'utilisateur
+ // 2 Message réussitee
+ ["success" => true,
+ "title" => "Modification des infos de l'utilisateur.",
+ "info" => "Informations mises à jour !",
+ "timer" => true],
+ // Login sans cookie
+ // 3 Message réussitee
+ ["success" => true,
+ "title" => "Connection.",
+ "info" => "Connection réussie !",
+ "timer" => true],
+ // 4 Message échec
+ ["success" => false,
+ "title" => "Connection.",
+ "info" => "Erreur, mauvais email / mot de passe.",
+ "timer" => true],
+ // Login avec cookie
+ // 5 Message réussitee
+ ["success" => true,
+ "title" => "",
+ "info" => "",
+ "timer" => false],
+ // 6 Message échec
+ ["success" => false,
+ "title" => "Connection avec cookie.",
+ "info" => "Erreur lors de la connection automatique.",
+ "timer" => true],
+ // Log out
+ // 7 Message global
+ ["success" => true,
+ "title" => "Déconnection.",
+ "info" => "Vous êtes déconnecté!",
+ "timer" => true],
+ // Ajout mission
+ // 8 Message réussitee
+ ["success" => true,
+ "title" => "Enregistrement d'une mission.",
+ "info" => "Mission enregistrée !",
+ "timer" => true],
+ // 9 Message échec
+ ["success" => false,
+ "title" => "Enregistrement d'une mission.",
+ "info" => "Erreur, l'ID du consultant est probablement faux.",
+ "timer" => true],
+ // Ajout utilisateur
+ // 10 Message réussitee
+ ["success" => true,
+ "title" => "Inscription",
+ "info" => "Utilisateur inscrit !",
+ "timer" => true],
+ // 11 Message échec
+ ["success" => false,
+ "title" => "Inscription.",
+ "info" => "Erreur, utilisateur non enregistré.",
+ "timer" => true],
+];
+?> \ No newline at end of file
diff --git a/Views/Includes/fr/table.php b/Views/Includes/fr/table.php
new file mode 100644
index 0000000..2eeb389
--- /dev/null
+++ b/Views/Includes/fr/table.php
@@ -0,0 +1,46 @@
+<?php
+// ****************************************************************************
+// Description: En-tête des tableaux.
+// ****************************************************************************
+$header = [
+ // En-tête des colonnes du tableau Delete de l'admin.
+ // 0
+ ["Numéro ID",
+ "Email",
+ "Mot de passe chiffré",
+ "Jeton d'auto-connection",
+ "Date d'inscription",
+ "Est utilisateur?",
+ "Est consultant?",
+ "Est admin?"],
+ // En-tête des colonnes du tableau Search de l'index.
+ // 1
+ ["Nom",
+ "Prénom",
+ "Emploi",
+ "Capacités",
+ "Nombre de mission",
+ "Note",
+ "Etoile"],
+ // En-tête des colonnes du tableau More infos de l'index.
+ // 2
+ ["Nom",
+ "Prénom",
+ "Emploi",
+ "Diplôme",
+ "Capacités",
+ "Description",
+ "Numéro de téléphone",
+ "Adresse",
+ "Code postal",
+ "Ville"],
+ // En-tête des colonnes du tableau mes missions.
+ // 3
+ ["Sujet",
+ "Note",
+ "Commentaire",
+ "Nom du client"]
+];
+$yes = "Oui";
+$no = "Non";
+?> \ No newline at end of file
diff --git a/Views/Includes/fr/text.php b/Views/Includes/fr/text.php
new file mode 100644
index 0000000..7820ea3
--- /dev/null
+++ b/Views/Includes/fr/text.php
@@ -0,0 +1,80 @@
+<?php
+// ****************************************************************************
+// Description: Texte du site
+// ****************************************************************************
+$text = [
+ "incl_delete_form" => [
+ "h2" => "Supprimer un utilisateur",
+ "id" => "ID à supprimer",
+ "submit" => "Supprimer",
+ ],
+ "incl_footer" => [
+ "main" => "Réalisé par Debulois Quentin pour mon dossier professionel.<br>Decembre 2021, tous droits réservés.",
+ ],
+ "incl_userInfo_form" => [
+ "h2" => "Informations sur l'utilisateur.",
+ "lastname" => "Nom",
+ "firstname" => "Prénom",
+ "job" => "Emploi",
+ "degree" => "Diplômes",
+ "capability" => "Capacités",
+ "description" => "Description",
+ "phoneNumber" => "Numéro de télephone",
+ "adress" => "Adresse",
+ "zipCode" => "Code postal",
+ "city" => "Ville",
+ "submit" => "Modifier"
+ ],
+ "incl_login_form" => [
+ "h2" => "Identification",
+ "email" => "Email",
+ "password" => "Mot de passe",
+ "rememberMe" => "Se souvenir de moi",
+ "submit" => "Connection"
+ ],
+ "incl_mission_form" => [
+ "h2" => "Formulaire pour enregistrer une mission",
+ "subject" => "Sujet",
+ "review" => "Commentaire",
+ "consultantId" => "ID du consultant",
+ "submit" => "Enregistrer"
+ ],
+ "incl_myMission_table" => [
+ "h2" => "Mes missions"
+ ],
+ "incl_navbar" => [
+ "h2" => "AlphaJob",
+ "btnSearch" => "Rechercher",
+ "btnInfos" => "Modif. infos",
+ "btnMission" => "Enreg. mission",
+ "btnMyMission" => "Mes missions",
+ "btnDelete" => "Suppr. utilisateur",
+ "btnLogin" => "Connection",
+ "btnLogout" => "Déconnection",
+ "btnRegister" => "Inscription",
+ "lang" => "Langue",
+ "btnLang" => "Sélectionner"
+ ],
+ "incl_register_form" => [
+ "h2" => "Formulaire d'inscription",
+ "email" => "Email",
+ "password" => "Mot de passe",
+ "notice" => "Pour les besoins de l'examen seulement:",
+ "isUser" => "Est utilisateur?",
+ "isConsultant" => "Est consultant?",
+ "isAdmin" => "Est admin?",
+ "submit" => "S'inscrire"
+ ],
+ "incl_index_search" => [
+ "h2" => "Recherche de consultant par nom",
+ "searchBar" => "Nom",
+ "submit" => "Rechercher",
+ "moreInfo" => "Plus d'infos"
+ ],
+ "incl_index_slideshow" => [
+ "slide1" => "Trouvez le consultant idéal proche de chez vous.<br><br>Pour tous vos besoins.<br><br><span>AlphaJob</span>",
+ "slide2" => "Seuls les meilleurs professionnels sont acceptés.<br><br>Qualité guarantie.<br><br><span>AlphaJob</span>",
+ "slide3" => "Les meilleurs offres pour créer votre site Web.<br><br>Découvrez nos solutions clefs en main.<br><br><span>AlphaJob</span>"
+ ]
+];
+?> \ No newline at end of file
diff --git a/Views/Includes/fr/title.php b/Views/Includes/fr/title.php
new file mode 100644
index 0000000..f0537b2
--- /dev/null
+++ b/Views/Includes/fr/title.php
@@ -0,0 +1,15 @@
+<?php
+// ****************************************************************************
+// Description: Titre des pages
+// ****************************************************************************
+$title = [
+ "index" => "AlphaJob - Index",
+ "login" => "AlphaJob - Connection",
+ "message" => "AlphaJob - Message",
+ "mission" => "AlphaJob - Enregistrer une mission",
+ "myMission" => "AlphaJob - Mes missions",
+ "register" => "AlphaJob - Inscription",
+ "userInfo" => "AlphaJob - Mes informations",
+ "delete" => "AlphaJob - Supprimer un utilisateur"
+];
+?> \ No newline at end of file
diff --git a/Views/Includes/incl_delete_form.php b/Views/Includes/incl_delete_form.php
new file mode 100644
index 0000000..bc1dc80
--- /dev/null
+++ b/Views/Includes/incl_delete_form.php
@@ -0,0 +1,60 @@
+<?php
+// ****************************************************************************
+// Description: Récupération de tous les utilisateurs
+// pour choix d'une suppression par son ID de table.
+// ****************************************************************************
+// 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");
+// Import des en-tête des tables.
+require_once(dirname( __FILE__ )."/".$_SESSION["lang"]."/table.php");
+// Import des metodes de la base de donnée pour les recherches.
+require_once(dirname( __FILE__ )."/../../Database/meth_dbsearch.php");
+// Instanciation de la bdd avec les méthodes de recherche.
+$dbsearch = new DbSearch;
+// Form pour la suppression et envoie au wrappeur.
+echo(' <!-- Separateur -->
+ <div class="separator"></div>
+ <!-- Form pour choix de la suppression -->
+ <div id="delete">
+ <h2>'.$text[basename(__FILE__, ".php")]["h2"].'</h2>
+ <form class="flex-center" action="../../Wrapper/wrapper.php" method="post">
+ <label class="width-auto">
+ <i class="fas fa-trash-alt"></i>
+ <input type="text" name="id" maxlength="10" placeholder="'.$text[basename(__FILE__, ".php")]["id"].'">
+ </label>
+ <input type="submit" value="'.$text[basename(__FILE__, ".php")]["submit"].'">
+ </form>'.PHP_EOL);
+// Récupération de tous les utilisateurs.
+$result = $dbsearch->search_all();
+// Affichage de la table.
+echo(" <!-- Tableau des utilisateurs-->
+ <table>
+ <!-- En-tête -->
+ <tr>".PHP_EOL);
+// Affichage des en-tête de colonne.
+foreach($header[0] as $header) {
+ echo(" <th>".$header."</th>".PHP_EOL);
+}
+echo(" </tr>".PHP_EOL);
+// Affichage du résultat de la recherche.
+foreach ($result as $rows) {
+ echo(" <!-- Utilisateurs -->
+ <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") {
+ echo(" <td><pre>".$yes."<prepre></td>".PHP_EOL);
+ } elseif (($key == "isUser" || $key == "isConsultant" || $key == "isAdmin") && $value == "0") {
+ echo(" <td><pre>".$no."<prepre></td>".PHP_EOL);
+ } else {
+ echo(" <td><pre>".$value."</pre></td>".PHP_EOL);
+ }
+ }
+ echo(" </tr>".PHP_EOL);
+}
+echo(' </table>
+ <!-- Espace vide si le tableau est petit -->
+ <div class="spacer"></div>
+ </div>'.PHP_EOL);
+
+?> \ No newline at end of file
diff --git a/Views/Includes/incl_footer.php b/Views/Includes/incl_footer.php
new file mode 100644
index 0000000..6aa4014
--- /dev/null
+++ b/Views/Includes/incl_footer.php
@@ -0,0 +1,13 @@
+<?php
+// ****************************************************************************
+// Description: Pied de page
+// ****************************************************************************
+// 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");
+echo(' <!-- Separateur -->
+ <div class="separator"></div>
+ <!-- Pied de page -->
+ <div id="footer">
+ <p>'.$text[basename(__FILE__, ".php")]["main"].'</p>
+ </div>'.PHP_EOL)
+?> \ No newline at end of file
diff --git a/Views/Includes/incl_header.php b/Views/Includes/incl_header.php
new file mode 100644
index 0000000..060340c
--- /dev/null
+++ b/Views/Includes/incl_header.php
@@ -0,0 +1,15 @@
+<?php
+// ****************************************************************************
+// Description: Header commmun à toutes les pages
+// ****************************************************************************
+echo(' <!-- Table d\'encodage -->
+ <meta charset="UTF-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <link href="/Statics/Css/main.css" rel="stylesheet">
+ <!-- https://fontawesome.com/v5.15/how-to-use/on-the-web/setup/hosting-font-awesome-yourself -->
+ <link href="/Statics/Css/Fontsawesome/all.css" rel="stylesheet">
+ <!-- https://semantic-ui.com/elements/flag.html -->
+ <link href="/Statics/Css/Flags/flag.css" rel="stylesheet">
+');
+?> \ No newline at end of file
diff --git a/Views/Includes/incl_index_search.php b/Views/Includes/incl_index_search.php
new file mode 100644
index 0000000..df6372a
--- /dev/null
+++ b/Views/Includes/incl_index_search.php
@@ -0,0 +1,87 @@
+<?php
+// ****************************************************************************
+// Description: Partie recherche de l'index.
+// ****************************************************************************
+// 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");
+// Import des en-têtes des tables.
+require_once(dirname( __FILE__ )."/".$_SESSION["lang"]."/table.php");
+// Separateur.
+echo(' <!-- Separateur -->
+ <div id="separator2" class="separator"></div>
+ <div id="search">'.PHP_EOL);
+// Form pour la recherche par nom et envoi au wrappeur.
+echo(' <!-- Form de recherche -->
+ <h2>'.$text[basename(__FILE__, ".php")]["h2"].'</h2>
+ <form action="/Wrapper/wrapper.php" method="post">
+ <label>
+ <i class="fas fa-search"></i>
+ <input type="search" name="search" id="searchBar"placeholder="'.$text[basename(__FILE__, ".php")]["searchBar"].'" required>
+ </label>
+ <input type="submit" value="'.$text[basename(__FILE__, ".php")]["submit"].'">
+ </form>'.PHP_EOL);
+// Si l'index est chargé avec des données dans la variable "search" de la session,
+// c'est qu'une recherche à été effectuée, on affiche alors le contenu de cette recherche en tableau.
+if (isset($_SESSION["search"])) {
+ echo("<table><tr>");
+ // Si la variable isResearch est vrai, c'est une rechreche.
+ if ($_SESSION["search"]["isResearch"]) {
+ foreach ($header[1] as $header) {
+ echo("<th><pre>".$header."</pre></th>");
+ }
+ // Sinon c'est un "Plus d'info".
+ } else {
+ foreach ($header[2] as $header) {
+ echo("<th><pre>".$header."</pre></th>");
+ }
+ }
+ // On affiche le résultat de la recherche ou du "Plus d'info".
+ echo("</tr>");
+ foreach ($_SESSION["search"]["result"] as $rows) {
+ echo("<tr>");
+ foreach ($rows as $key => $value) {
+ if ($key !== "id") {
+ if ($key !== "star") {
+ echo("<td><pre>".$value."</pre></td>");
+ } else {
+ if ($value) {
+ echo('<td>');
+ $missingStar = 5 - $value;
+ for ($i = 0; $i < $value; $i++) {
+ echo('<i class="fa fa-star star checked"></i>');
+ }
+ if ($missingStar) {
+ for ($i = 0; $i < $missingStar; $i++) {
+ echo('<i class="fa fa-star star unchecked"></i>');
+ }
+ }
+ } else {
+ echo('<td>N/A');
+ }
+ echo("</td>");
+ }
+ }
+ }
+ // Si c'est une recherche on ajoute le bouton plus d'info,
+ // pour plus d'info avec une recherche par ID.
+ if ($_SESSION["search"]["isResearch"]) {
+ echo('<td class="noBorder" >
+ <form action="/Wrapper/wrapper.php" method="post">
+ <input type="hidden" name="searchInfo" value="'.$rows["id"].'">
+ <input type="submit" value="'.$text[basename(__FILE__, ".php")]["moreInfo"].'">
+ </form>
+ </td>');
+ }
+ echo("</tr>");
+ }
+ echo('<!-- Espace vide si le tableau est petit -->
+</table>
+<div class="spacer"></div>'.PHP_EOL);
+} else {
+ echo(' <!-- Espace vide -->
+ <div class="spacer"></div>'.PHP_EOL);
+}
+echo(' </div>');
+// On supprime la variable de recherche si elle existe.
+unset($_SESSION["search"]);
+?> \ No newline at end of file
diff --git a/Views/Includes/incl_index_slideshow.php b/Views/Includes/incl_index_slideshow.php
new file mode 100644
index 0000000..d632bbc
--- /dev/null
+++ b/Views/Includes/incl_index_slideshow.php
@@ -0,0 +1,21 @@
+<?php
+// ****************************************************************************
+// Description: Partie slide show de l'index
+// ****************************************************************************
+// 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");
+echo(' <!-- Separateur -->
+ <div id="separator1" class="separator"></div>
+ <!-- Slideshow -->
+ <div id="slideshow">
+ <p id="textSlide0" class="show">'.$text[basename(__FILE__, ".php")]["slide1"].'</p>
+ <p id="textSlide1">'.$text[basename(__FILE__, ".php")]["slide2"].'</p>
+ <p id="textSlide2">'.$text[basename(__FILE__, ".php")]["slide3"].'</p>
+ <!-- Indicateur de slide actuellement en cour -->
+ <div id="slideIndicator">
+ <i id="indicatorSlide0" class="fas fa-circle slideSelected"></i>
+ <i id="indicatorSlide1" class="fas fa-circle"></i>
+ <i id="indicatorSlide2" class="fas fa-circle"></i>
+ </div>
+ </div>'.PHP_EOL);
+?> \ No newline at end of file
diff --git a/Views/Includes/incl_login_form.php b/Views/Includes/incl_login_form.php
new file mode 100644
index 0000000..5f76160
--- /dev/null
+++ b/Views/Includes/incl_login_form.php
@@ -0,0 +1,26 @@
+<?php
+// ****************************************************************************
+// Description: Formulaire du login
+// ****************************************************************************
+// 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");
+echo(' <div class="separator"></div>
+ <div id="login">
+ <h2>'.$text[basename(__FILE__, ".php")]["h2"].'</h2>
+ <form action="/../Wrapper/wrapper.php" method="post">
+ <label>
+ <i class="fas fa-envelope-square"></i>
+ <input type="email" name="email" id="email" maxlength="128" placeholder="'.$text[basename(__FILE__, ".php")]["email"].'" required>
+ </label>
+ <label>
+ <i class="fas fa-lock"></i>
+ <input type="password" name="password" id="password" maxlength="128" placeholder="'.$text[basename(__FILE__, ".php")]["password"].'" required>
+ </label>
+ <label class="flex-center">
+ <input type="checkbox" name="rememberMe" id="rememberMe">
+ '.$text[basename(__FILE__, ".php")]["rememberMe"].'
+ </label>
+ <input type="submit" value="'.$text[basename(__FILE__, ".php")]["submit"].'">
+ </form>
+ </div>'.PHP_EOL)
+?> \ No newline at end of file
diff --git a/Views/Includes/incl_message.php b/Views/Includes/incl_message.php
new file mode 100644
index 0000000..b4b653d
--- /dev/null
+++ b/Views/Includes/incl_message.php
@@ -0,0 +1,22 @@
+<?php
+// ****************************************************************************
+// Description: Partie principale de la page des messages
+// ****************************************************************************
+// Import des différents messages possibles.
+require_once(dirname( __FILE__ )."/".$_SESSION["lang"]."/message.php");
+echo('<div class="separator"></div>');
+echo('<div id="message"><h2>'.$message[$_SESSION["messageNumber"]]["title"].'</h3>');
+if ($message[$_SESSION["messageNumber"]]["success"]) {
+ echo('<h3 class="success">'.$success.'</h3>');
+} else {
+ echo('<h3 class="error">'.$error.'</h3>');
+}
+echo("<p>".$message[$_SESSION["messageNumber"]]["info"]."</p>");
+echo('<p id="redirect" class="info">'.$redirect.'</p></div>');
+echo('<script src="/Statics/Js/main.js"></script>');
+if ($message[$_SESSION["messageNumber"]]["timer"]) {
+ echo('<script>start_timer();</script>');
+} else {
+ echo('<script>redirect("/index")</script>');
+}
+?> \ No newline at end of file
diff --git a/Views/Includes/incl_mission_form.php b/Views/Includes/incl_mission_form.php
new file mode 100644
index 0000000..2fed999
--- /dev/null
+++ b/Views/Includes/incl_mission_form.php
@@ -0,0 +1,38 @@
+<?php
+// ****************************************************************************
+// Description: Formulaire d'enregistrement d'une mission
+// ****************************************************************************
+// 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");
+echo(' <div class="separator"></div>
+ <div id="mission">
+ <h2>'.$text[basename(__FILE__, ".php")]["h2"].'</h2>
+ <form id="missionForm" action="/../Wrapper/wrapper.php" method="post">
+ <label>
+ <i class="fas fa-edit"></i>
+ <input type="text" name="subject" placeholder="'.$text[basename(__FILE__, ".php")]["subject"].'" maxlength="128" required>
+ </label>
+ <label class="flex-start">
+ <i class="far fa-star"></i>
+ <select name="note" required>
+ <option value="" selected disabled hidden>Note</option>
+ <option value="5">5</option>
+ <option value="4">4</option>
+ <option value="3">3</option>
+ <option value="2">2</option>
+ <option value="1">1</option>
+ <option value="0">0</option>
+ </select>
+ </label>
+ <label>
+ <i class="far fa-comment-alt"></i>
+ <textarea name="review" placeholder="'.$text[basename(__FILE__, ".php")]["review"].'" required></textarea>
+ </label>
+ <label>
+ <i class="fas fa-user-cog"></i>
+ <input type="text" name="consultantId" placeholder="'.$text[basename(__FILE__, ".php")]["consultantId"].'" maxlength="10" required>
+ </label>
+ <input type="submit" value="'.$text[basename(__FILE__, ".php")]["submit"].'">
+ </form>
+ </div>'.PHP_EOL);
+?> \ No newline at end of file
diff --git a/Views/Includes/incl_myMission_table.php b/Views/Includes/incl_myMission_table.php
new file mode 100644
index 0000000..9a50f5c
--- /dev/null
+++ b/Views/Includes/incl_myMission_table.php
@@ -0,0 +1,39 @@
+<?php
+// ****************************************************************************
+// Description: Tableau correspondant aux missions effectuées par l'utilisateur.
+// ****************************************************************************
+// 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");
+// Import des en-tête des tables.
+require_once(dirname(__FILE__)."/".$_SESSION["lang"]."/table.php");
+// Import des metodes de la base de donnée pour les recherches.
+require_once(dirname(__FILE__)."/../../Database/meth_dbsearch.php");
+// 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"]);
+echo(' <!-- Separateur -->
+ <div class="separator"></div>
+ <!-- Mes missions -->
+ <div id="myMission">
+ <h2>'.$text[basename(__FILE__, ".php")]["h2"].'</h2>
+ <table>
+ <!-- En-tête -->
+ <tr>'.PHP_EOL);
+foreach($header[3] as $header) {
+ echo(" <th>".$header."</th>".PHP_EOL);
+}
+echo(" </tr>".PHP_EOL);
+foreach ($result as $rows) {
+ echo(" <!-- Missions -->
+ <tr>".PHP_EOL);
+ foreach ($rows as $value) {
+ echo(" <td><pre>".$value."</pre></td>".PHP_EOL);
+ }
+ echo(" </tr>".PHP_EOL);
+}
+echo(' </table>
+ <!-- Espace vide si le tableau est petit -->
+ <div class="spacer"></div>
+ </div>'.PHP_EOL);
+?> \ No newline at end of file
diff --git a/Views/Includes/incl_navbar.php b/Views/Includes/incl_navbar.php
new file mode 100644
index 0000000..178f2e6
--- /dev/null
+++ b/Views/Includes/incl_navbar.php
@@ -0,0 +1,59 @@
+<?php
+// ****************************************************************************
+// Description: La navbar
+// ****************************************************************************
+// 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");
+echo(' <!-- Navbar -->
+ <div id="navbar">
+ <!-- Titre -->
+ <a class="titleNavbar" href="/"><h2>'.$text[basename(__FILE__, ".php")]["h2"].'</h2></a>
+ <!-- Espace vide -->
+ <div class=spacer></div>
+ <!-- Liste de lien pour la navigation -->
+ <ul class="userManager">
+ <a href="/index.php#separator2"><li><i class="fas fa-search"></i> '.$text[basename(__FILE__, ".php")]["btnSearch"].'</li></a>'.PHP_EOL);
+// Affichage des éléments en fonction de si l'utilisateur est connecté ou non et de ses fonctions.
+if (isset($_SESSION["loggedIn"])
+ && $_SESSION["loggedIn"] == "1"
+ ) {
+ if (isset($_SESSION["isUser"])
+ && $_SESSION["isUser"] == "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"
+ ) {
+ echo(' <a href="/Views/myMission.php"><li><i class="fas fa-tasks"></i> '.$text[basename(__FILE__, ".php")]["btnMyMission"].'</li></a>'.PHP_EOL);
+ }
+ if (isset($_SESSION["isAdmin"])
+ && $_SESSION["isAdmin"] == "1"
+ ) {
+ echo(' <a href="/Views/delete.php"><li><i class="fas fa-trash-alt"></i> '.$text[basename(__FILE__, ".php")]["btnDelete"].'</li></a>'.PHP_EOL);
+ }
+ echo(' <a href="/Views/userInfo.php"><li><i class="fas fa-user"></i> '.$text[basename(__FILE__, ".php")]["btnInfos"].'</li></a>
+ <a href="/Views/logout.php"><li><i class="fas fa-sign-out-alt"></i> '.$text[basename(__FILE__, ".php")]["btnLogout"].'</li></a>'.PHP_EOL);
+} else {
+ echo(' <a href="/Views/login.php"><li><i class="fas fa-sign-in-alt"></i> '.$text[basename(__FILE__, ".php")]["btnLogin"].'</li></a>
+ <a href="/Views/register.php"><li><i class="fas fa-user-plus"></i> '.$text[basename(__FILE__, ".php")]["btnRegister"].'</li></a>'.PHP_EOL);
+}
+echo(' </ul>'.PHP_EOL);
+// Affichage du drapeau de la langue actuellement sélectionnée.
+$flags = [
+ "en" => "gb uk",
+ "fr" => "fr"
+];
+echo(' <!-- Choix de la langue -->
+ <form action="/../Wrapper/wrapper.php" method="post" id="langForm" class="language">
+ <label>
+ <i class="'.$flags[$_SESSION["lang"]].' flag"></i>'.$text[basename(__FILE__, ".php")]["lang"].'
+ <select name="langSel" id="langSel" required>
+ <option value="" selected>'.$text[basename(__FILE__, ".php")]["btnLang"].'</option>
+ <option value="en">English</option>
+ <option value="fr">Français</option>
+ </select>
+ </label>
+ </form>
+ </div>'.PHP_EOL);
+?> \ No newline at end of file
diff --git a/Views/Includes/incl_register_form.php b/Views/Includes/incl_register_form.php
new file mode 100644
index 0000000..d95f552
--- /dev/null
+++ b/Views/Includes/incl_register_form.php
@@ -0,0 +1,28 @@
+<?php
+// ****************************************************************************
+// Description: Formulaire pour une inscription
+// ****************************************************************************
+// 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");
+echo(' <!-- Separateur -->
+ <div class="separator"></div>
+ <!-- Formulaire d\'inscription -->
+ <div id="register">
+ <h2>'.$text[basename(__FILE__, ".php")]["h2"].'</h2>
+ <form action="/../Wrapper/wrapper.php" method="post">
+ <label>
+ <i class="fas fa-envelope-square"></i>
+ <input type="email" name="email" id="email" maxlength="128" placeholder="'.$text[basename(__FILE__, ".php")]["email"].'" maxlength="128" required>
+ </label>
+ <label>
+ <i class="fas fa-lock"></i>
+ <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_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>
+ </div>'.PHP_EOL);
+?> \ No newline at end of file
diff --git a/Views/Includes/incl_userInfo_form.php b/Views/Includes/incl_userInfo_form.php
new file mode 100644
index 0000000..200a3f5
--- /dev/null
+++ b/Views/Includes/incl_userInfo_form.php
@@ -0,0 +1,76 @@
+<?php
+// ****************************************************************************
+// Description: Formulaire pour modifier les informations de l'utilisateur
+// ****************************************************************************
+// 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");
+// Import des méthodes de la base de donnée pour les recherches.
+require_once(dirname( __FILE__ )."/../../Database/meth_dbsearch.php");
+// Instanciation de la bdd avec les méthodes de recherche.
+$dbsearch = new DbSearch;
+// Recherches des informations avec l'id de l'utilisateur actuellement connecté.
+$info = $dbsearch->get_user_info_by_id($_SESSION["id"]);
+if (!$info) {
+ $info = [
+ ["lastname" => "",
+ "firstname" => "",
+ "job" => "",
+ "degree" => "",
+ "capability" => "",
+ "description" => "",
+ "phoneNumber" => "",
+ "adress" => "",
+ "zipCode" => "",
+ "city" => ""]
+ ];
+}
+echo(' <!-- Separateur -->
+ <div class="separator"></div>
+ <!-- Modification des infos de l\'utilisateur -->
+ <div id="userInfo">
+ <h2>'.$text[basename(__FILE__, ".php")]["h2"].'</h2>
+ <form action="/../Wrapper/wrapper.php" method="post">
+ <label>
+ <i class="fas fa-users"></i>
+ <input type="text" name="lastname" id="lastname" maxlength="128" placeholder="'.$text[basename(__FILE__, ".php")]["lastname"].'" value="'.$info[0]["lastname"].'" required>
+ </label>
+ <label>
+ <i class="fas fa-user"></i>
+ <input type="text" name="firstname" id="firstname" maxlength="128" placeholder="'.$text[basename(__FILE__, ".php")]["firstname"].'" value="'.$info[0]["firstname"].'" required>
+ </label>
+ <label>
+ <i class="fas fa-wrench"></i>
+ <input type="text" name="job" id="job" maxlength="128" placeholder="'.$text[basename(__FILE__, ".php")]["job"].'" value="'.$info[0]["job"].'">
+ </label>
+ <label>
+ <i class="fas fa-user-graduate"></i>
+ <input type="text" name="degree" id="degree" maxlength="128" placeholder="'.$text[basename(__FILE__, ".php")]["degree"].'"value="'.$info[0]["degree"].'">
+ </label>
+ <label>
+ <i class="fas fa-cogs"></i>
+ <textarea name="capability" id="capability" placeholder="'.$text[basename(__FILE__, ".php")]["capability"].'" cols="30" rows="2" >'.$info[0]["capability"].'</textarea>
+ </label>
+ <label>
+ <i class="fas fa-file-signature"></i>
+ <textarea name="description" id="description" placeholder="'.$text[basename(__FILE__, ".php")]["description"].'" cols="30" rows="2" >'.$info[0]["description"].'</textarea>
+ </label>
+ <label>
+ <i class="fas fa-mobile-alt"></i>
+ <input type="text" name="phoneNumber" id="phoneNumber" maxlength="10" placeholder="'.$text[basename(__FILE__, ".php")]["phoneNumber"].'" value="'.$info[0]["phoneNumber"].'">
+ </label>
+ <label>
+ <i class="fas fa-home"></i>
+ <input type="text" name="adress" id="adress" maxlength="128" placeholder="'.$text[basename(__FILE__, ".php")]["adress"].'" value="'.$info[0]["adress"].'">
+ </label>
+ <label>
+ <i class="fas fa-map-marker-alt"></i>
+ <input type="text" name="zipCode" id="zipCode" maxlength="6" placeholder="'.$text[basename(__FILE__, ".php")]["zipCode"].'" value="'.$info[0]["zipCode"].'">
+ </label>
+ <label>
+ <i class="fas fa-city"></i>
+ <input type="text" name="city" id="city" maxlength="128" placeholder="'.$text[basename(__FILE__, ".php")]["city"].'" value="'.$info[0]["city"].'">
+ </label>
+ <input type="submit" value="'.$text[basename(__FILE__, ".php")]["submit"].'">
+ </form>
+ </div>')
+?> \ No newline at end of file