diff options
| author | Debulois <quentin@debulois.fr> | 2022-04-04 22:58:43 +0200 |
|---|---|---|
| committer | Debulois <quentin@debulois.fr> | 2022-04-04 22:58:43 +0200 |
| commit | 5582d242d03692a7e1b2c631e1b4ff3f52e8b72c (patch) | |
| tree | c1e0242053a46d7b4145111a78a3e86e3cfd2f0d /Template | |
| parent | b637d625216e50602d0bde8a544c281ca00af5fa (diff) | |
Révision complète du css et modification du js principalement
Diffstat (limited to 'Template')
29 files changed, 2385 insertions, 0 deletions
diff --git a/Template/Include/en/message.php b/Template/Include/en/message.php new file mode 100644 index 0000000..503fd98 --- /dev/null +++ b/Template/Include/en/message.php @@ -0,0 +1,229 @@ +<?php + +// ############################################################################ +// # # +// # Description: Texte des messages. # +// # # +// ############################################################################ + +$success = "Success"; +$error = "Error"; +$redirect = "Redirecting in "; +$messageText = [ + // Informations de l'utilisateur + "infosUpdate" => [ + "success" => [ + "success" => true, + "title" => "Update user information.", + "info" => "User informations updated !", + "timer" => true, + "toSrc" => true + ] + ], + // Login sans cookie + "login" => [ + "success" => [ + "success" => true, + "title" => "Login.", + "info" => "Successfully logged in!", + "timer" => true, + "toSrc" => false + ], + "fail" => [ + "success" => false, + "title" => "Login.", + "info" => "Error bad credentials.", + "timer" => true, + "toSrc" => true + ] + ], + // Login avec cookie + "loginCookie" => [ + "success" => [ + "success" => true, + "title" => "", + "info" => "", + "timer" => false, + "toSrc" => false + ], + "fail" => [ + "success" => false, + "title" => "Login cookie.", + "info" => "Error with the cookie auto-login.", + "timer" => true, + "toSrc" => false + ] + ], + // Log out + "logout" => [ + "success" => [ + "success" => true, + "title" => "Log out.", + "info" => "Successefuly logged out!", + "timer" => true, + "toSrc" => false + ] + ], + // Ajout mission + "missionRegister" => [ + "success" => [ + "success" => true, + "title" => "Register a mission.", + "info" => "Mission registered !", + "timer" => true, + "toSrc" => true + ], + "fail" => [ + "success" => false, + "title" => "Mandate a mission.", + "info" => "Error, please sign-in before.", + "timer" => true, + "toSrc" => true + ], + "notConnected" => [ + "success" => false, + "title" => "Mandate infos.", + "info" => "Error, you must be connected, and connected as client.", + "timer" => true, + "toSrc" => false + ] + ], + // Acceptation d'une mission + "missionAccepted" => [ + "success" => [ + "success" => true, + "title" => "Mission info.", + "info" => "Mission accepted !", + "timer" => true, + "toSrc" => true + ], + "fail" => [ + "success" => false, + "title" => "Mandate infos.", + "info" => "Error, mission not accepted.", + "timer" => true, + "toSrc" => true + ] + ], + // Validation d'une mission + "missionValidated" => [ + "success" => [ + "success" => true, + "title" => "Mission info.", + "info" => "Mission completed!", + "timer" => true, + "toSrc" => true + ], + "fail" => [ + "success" => false, + "title" => "Mandate info.", + "info" => "Error, mission not marked as completed.", + "timer" => true, + "toSrc" => true + ] + ], + // Ajout d'un commentaire & note + "missionReview" => [ + "success" => [ + "success" => true, + "title" => "Mission review.", + "info" => "Your review has been registered!", + "timer" => true, + "toSrc" => true + ], + "fail" => [ + "success" => false, + "title" => "Mission review.", + "info" => "Error, your review has not been resgistered.", + "timer" => true, + "toSrc" => true + ] + ], + // Ajout utilisateur + "userAdd" => [ + "success" => [ + "success" => true, + "title" => "Register an user.", + "info" => "User successfully registered !", + "timer" => true, + "toSrc" => false + ], + "fail" => [ + "success" => false, + "title" => "Register an user.", + "info" => "Error, user not registered.", + "timer" => true, + "toSrc" => true + ] + ], + // Delete utilisateur + "adminDelUser" => [ + "success" => [ + "success" => true, + "title" => "Delete an user.", + "info" => "User deleted !", + "timer" => true, + "toSrc" => true + ], + "fail" => [ + "success" => false, + "title" => "Delete an user.", + "info" => "No user was deleted.", + "timer" => true, + "toSrc" => true + ] + ], + // Ajout categorie + "adminAddJob" => [ + "success" => [ + "success" => true, + "title" => "Add a job category.", + "info" => "Category added !", + "timer" => true, + "toSrc" => true + ], + "fail" => [ + "success" => false, + "title" => "Add a job category.", + "info" => "Category not added.", + "timer" => true, + "toSrc" => true + ] + ], + // Suppression categorie + "adminDelJob" => [ + "success" => [ + "success" => true, + "title" => "Deletion of a job category.", + "info" => "Category deleted !", + "timer" => true, + "toSrc" => true + ], + "delete" => [ + "success" => false, + "title" => "Deletion of a job category.", + "info" => "Category not deleted !", + "timer" => true, + "toSrc" => true + ] + ], + // Suppression mission + "adminDelMission" => [ + "success" => [ + "success" => true, + "title" => "Deletion of a mission.", + "info" => "Mission deleted !", + "timer" => true, + "toSrc" => true + ], + "delete" => [ + "success" => false, + "title" => "Deletion of a mission.", + "info" => "Mission not deleted !", + "timer" => true, + "toSrc" => true + ] + ] +]; + +?>
\ No newline at end of file diff --git a/Template/Include/en/table.php b/Template/Include/en/table.php new file mode 100644 index 0000000..8aef67f --- /dev/null +++ b/Template/Include/en/table.php @@ -0,0 +1,86 @@ +<?php + +// ############################################################################ +// # # +// # Description: En-tête des tableaux # +// # # +// ############################################################################ + +$header = [ + // En-tête des colonnes du tableau des utilisateurs de l'admin. + "adminUsers" => [ + "User ID", + "Email", + "Crypted Password", + "Token for auto-login", + "Inscription date", + "User status" + ], + // En-tête des colonnes du tableau des missions de l'admin. + "adminMissions" => [ + "Mission ID", + "Request Date", + "Subject", + "Note", + "Review", + "Accepted by pro date", + "Validated by client date", + "Validated by pro date", + "Client lastname", + "Pro lastname", + "Job" + ], + // En-tête des colonnes du tableau Search de l'index. + "search" => [ + "Last name", + "First name", + "Job", + "Capabilities", + "Number of missions", + "Note", + "Stars" + ], + // En-tête des colonnes du tableau More infos de l'index. + "moreInfos" => [ + "Last name", + "First name", + "Job", + "Degree", + "Capabilities", + "Description", + "Phone number", + "Adress", + "Zip code", + "City" + ], + // En-tête des colonnes du tableau mes missions. + "pendingMissions" => [ + "Request date", + "Pro name", + "Job", + "Subject" + ], + // En-tête des colonnes du tableau mes missions. + "ongoingMissions" => [ + "Accpeted by pro date", + "Pro name", + "Job", + "Subject", + "Validated by client date", + "Validated by pro date" + ], + // En-tête des colonnes du tableau mes missions. + "completedMissions" => [ + "Request date", + "Started date", + "Validation by client date", + "Validation by pro date", + "Pro name", + "job", + "Subject", + "Review", + "Note" + ] +]; + +?>
\ No newline at end of file diff --git a/Template/Include/en/text.php b/Template/Include/en/text.php new file mode 100644 index 0000000..7b8cfd1 --- /dev/null +++ b/Template/Include/en/text.php @@ -0,0 +1,106 @@ +<?php + +// ############################################################################ +// # # +// # Description: Texte du site # +// # # +// ############################################################################ + +$text = [ + "incl_form_admin" => [ + "btManageJob" => "Manage jobs categories", + "btManageUser" => "Manage users", + "btManageMission" => "Manage missions", + "formJobAddEn" => "Name in English", + "formJobAddFr" => "Name in French", + "submitJobAdd" => "Add", + "selJobDel" => "Choose a job to delete", + "submitJobDel" => "Delete", + "formDel" => "ID to delete", + "submitDel" => "Delete", + ], + "incl_global_footer" => [ + "main" => "Made by Debulois Quentin for my professional folder.<br>December 2021, all rights reserved.", + ], + "incl_form_userInfo" => [ + "h2" => "Informations about the user.", + "lastname" => "Last name", + "firstname" => "First name", + "phoneNumber" => "Phone number", + "adress" => "Adress", + "zipCode" => "Zip code", + "city" => "City", + "myJobs" => "My jobs", + "jobsSel" => "Jobs", + "jobsAdd" => "Add", + "degree" => "Degree", + "capability" => "Capacities", + "description" => "Descriptions", + "submit" => "Modify" + ], + "incl_form_login" => [ + "h2" => "Login", + "email" => "Email", + "password" => "Password", + "rememberMe" => "Remember me", + "submit" => "Sign-in" + ], + "incl_form_mission" => [ + "h2" => "Form to register a mission", + "subject" => "Subject", + "review" => "Review", + "proId" => "Pro ID", + "submit" => "Register", + "jobsSel" => "Jobs" + ], + "incl_table_myMission" => [ + "pendingMission" => "Pending missions", + "ongoingMission" => "Ongoing missions", + "completedMission" => "Completed missions", + "noPending" => "There is actually no pending missions.", + "noOngoing" => "There is actually no ongoing missions.", + "noCompleted" => "There is actually no completed missions.", + "accept" => "Accept", + "validate" => "Validate" + ], + "incl_global_navbar" => [ + "h2" => "AlphaJob", + "btnSearch" => "Search", + "btnInfos" => "Modif. infos", + "btnMission" => "Register mission", + "btnMyMission" => "My missions", + "btnAdmin" => "Administration", + "btnLogin" => "Sign-in", + "btnLogout" => "Loggout", + "btnRegister" => "Sign-up", + "lang" => "Language", + "btnLang" => "Select" + ], + "incl_form_register" => [ + "h2" => "Form to sign-in", + "email" => "Email", + "password" => "Password", + "notice" => "Admin is here for the purpose of the exam only:", + "isAdmin" => "Is admin?", + "isPro" => "Is pro?", + "isClient" => "Is client?", + "submit" => "Sign-up" + ], + "incl_index_search" => [ + "h2" => "Search a professional", + "searchBarName" => "Search by name", + "searchBarJob" => "Search by job", + "or" => "or", + "submit" => "Search", + "noResult" => "No result.", + "moreInfo" => "Infos", + "mandate" => "Mandate" + ], + "incl_index_slideshow" => [ + "slide1" => "Find the right proffessional 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/Template/Include/en/title.php b/Template/Include/en/title.php new file mode 100644 index 0000000..c4fbeca --- /dev/null +++ b/Template/Include/en/title.php @@ -0,0 +1,20 @@ +<?php + +// ############################################################################ +// # # +// # Description: Titre des pages # +// # # +// ############################################################################ + +$title = [ + "index" => "AlphaJob - Index", + "login" => "AlphaJob - Login", + "message" => "AlphaJob - Message", + "mission" => "AlphaJob - Manage a mission", + "myMission" => "AlphaJob - My missions", + "register" => "AlphaJob - Register", + "userInfo" => "AlphaJob - My user informations", + "admin" => "AlphaJob - Administration" +]; + +?>
\ No newline at end of file diff --git a/Template/Include/fr/message.php b/Template/Include/fr/message.php new file mode 100644 index 0000000..d9dc98c --- /dev/null +++ b/Template/Include/fr/message.php @@ -0,0 +1,229 @@ +<?php + +// ############################################################################ +// # # +// # Description: Texte des messages. # +// # # +// ############################################################################ + +$success = "Réussite"; +$error = "Erreur"; +$redirect = "Redirection dans "; +$messageText = [ + // Informations de l'utilisateur + "infosUpdate" => [ + "success" => [ + "success" => true, + "title" => "Mise à jour des informations.", + "info" => "Informations mise à jour!", + "timer" => true, + "toSrc" => true + ] + ], + // Login sans cookie + "login" => [ + "success" => [ + "success" => true, + "title" => "Connection.", + "info" => "Connection réussie!", + "timer" => true, + "toSrc" => false + ], + "fail" => [ + "success" => false, + "title" => "Connection.", + "info" => "Erreur, connection échouée.", + "timer" => true, + "toSrc" => true + ] + ], + // Login avec cookie + "loginCookie" => [ + "success" => [ + "success" => true, + "title" => "", + "info" => "", + "timer" => false, + "toSrc" => false + ], + "fail" => [ + "success" => false, + "title" => "Connection avec auto-connection.", + "info" => "Erreur, connection échouée.", + "timer" => true, + "toSrc" => false + ] + ], + // Log out + "logout" => [ + "success" => [ + "success" => true, + "title" => "Déconnection.", + "info" => "Vous êtes déconnecté!", + "timer" => true, + "toSrc" => false + ] + ], + // Ajout mission + "missionRegister" => [ + "success" => [ + "success" => true, + "title" => "Requête de mission.", + "info" => "La requete a été émise!", + "timer" => true, + "toSrc" => true + ], + "fail" => [ + "success" => false, + "title" => "Requête de mission.", + "info" => "Erreur lors de la requête.", + "timer" => true, + "toSrc" => true + ], + "notConnected" => [ + "success" => false, + "title" => "Requête de mission.", + "info" => "Erreur, Vous devez être connecté, et connecté en tant que client.", + "timer" => true, + "toSrc" => false + ] + ], + // Acceptation d'une mission + "missionAccepted" => [ + "success" => [ + "success" => true, + "title" => "Mission info.", + "info" => "Mission acceptée!", + "timer" => true, + "toSrc" => true + ], + "fail" => [ + "success" => false, + "title" => "Mission info.", + "info" => "Erreur, mission non acceptée.", + "timer" => true, + "toSrc" => true + ] + ], + // Validation d'une mission + "missionValidated" => [ + "success" => [ + "success" => true, + "title" => "Mission info.", + "info" => "Mission completée!", + "timer" => true, + "toSrc" => true + ], + "fail" => [ + "success" => false, + "title" => "Mandate info.", + "info" => "Erreur, mission non enregistrée comme completée.", + "timer" => true, + "toSrc" => true + ] + ], + // Ajout d'un commentaire & note + "missionReview" => [ + "success" => [ + "success" => true, + "title" => "Avis sur la mission.", + "info" => "Votre avis a bien été enregistré!", + "timer" => true, + "toSrc" => true + ], + "fail" => [ + "success" => false, + "title" => "Avis sur la mission.", + "info" => "Erreur, votre avis n'a pas été enregistré.", + "timer" => true, + "toSrc" => true + ] + ], + // Ajout utilisateur + "userAdd" => [ + "success" => [ + "success" => true, + "title" => "Enregistrement d'un utilisateur.", + "info" => "Utilisateur enregistré!", + "timer" => true, + "toSrc" => false + ], + "fail" => [ + "success" => false, + "title" => "Enregistrement d'un utilisateur.", + "info" => "Erreur, l'utilisateur n'a pas été enregistré.", + "timer" => true, + "toSrc" => true + ] + ], + // Delete utilisateur + "adminDelUser" => [ + "success" => [ + "success" => true, + "title" => "Suppression d'un utilisateur.", + "info" => "Utilisateur supprimé!", + "timer" => true, + "toSrc" => true + ], + "fail" => [ + "success" => false, + "title" => "Suppression d'un utilisateur.", + "info" => "Erreur, l'utilisateur n'a pas été supprimé.", + "timer" => true, + "toSrc" => true + ] + ], + // Ajout categorie + "adminAddJob" => [ + "success" => [ + "success" => true, + "title" => "Ajout d'une catégorie d'emploi.", + "info" => "La catégorie a bien été ajoutée!", + "timer" => true, + "toSrc" => true + ], + "fail" => [ + "success" => false, + "title" => "Ajout d'une catégorie d'emploi.", + "info" => "Erreur, la catégorie n'a pas été ajoutée.", + "timer" => true, + "toSrc" => true + ] + ], + // Suppression categorie + "adminDelJob" => [ + "success" => [ + "success" => true, + "title" => "Suppression d'une catégorie.", + "info" => "Categorie supprimée!", + "timer" => true, + "toSrc" => true + ], + "delete" => [ + "success" => false, + "title" => "Suppression d'une catégorie.", + "info" => "Erreur, la catégorie n'a pas été supprimée.", + "timer" => true, + "toSrc" => true + ] + ], + // Suppression mission + "adminDelMission" => [ + "success" => [ + "success" => true, + "title" => "Suppression d'une mission.", + "info" => "Mission supprimée!", + "timer" => true, + "toSrc" => true + ], + "delete" => [ + "success" => false, + "title" => "Suppression d'une mission.", + "info" => "Erreur, la mission n'a pas été supprimée.", + "timer" => true, + "toSrc" => true + ] + ] +]; + +?>
\ No newline at end of file diff --git a/Template/Include/fr/table.php b/Template/Include/fr/table.php new file mode 100644 index 0000000..342b5e5 --- /dev/null +++ b/Template/Include/fr/table.php @@ -0,0 +1,86 @@ +<?php + +// ############################################################################ +// # # +// # Description: En-tête des tableaux. # +// # # +// ############################################################################ + +$header = [ + // En-tête des colonnes du tableau des utilisateurs de l'admin. + "adminUsers" => [ + "ID utilisateur", + "Email", + "Mot de passe chiffré", + "Jeton d'auto-connection", + "Date d'inscription", + "Status de l'utilisateur" + ], + // En-tête des colonnes du tableau des missions de l'admin. + "adminMissions" => [ + "ID mission", + "Date de mandatement", + "Sujet", + "Note", + "Avis", + "Date d'acceptation par le pro", + "Date de validation du client", + "Date de validation du pro", + "Nom du client", + "Nom du pro", + "Emploi" + ], + // En-tête des colonnes du tableau Search de l'index. + "search" => [ + "Nom", + "Prénom", + "Emploi", + "Capacités", + "Nombre de mission", + "Note", + "Etoile" + ], + // En-tête des colonnes du tableau More infos de l'index. + "moreInfos" => [ + "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. + "pendingMissions" => [ + "Requete emise le", + "Nom du pro", + "Emploi", + "Sujet" + ], + // En-tête des colonnes du tableau mes missions. + "ongoingMissions" => [ + "Accpeté par le pro le", + "Nom du pro", + "Emploi", + "Sujet", + "Date de validation du client", + "Date de validation du pro" + ], + // En-tête des colonnes du tableau mes missions. + "completedMissions" => [ + "Requete emise le", + "Débuté le", + "Validé par le client le", + "Validé par le pro le", + "Nom du pro", + "Emploi", + "Sujet", + "Avis", + "Note" + ] +]; + +?>
\ No newline at end of file diff --git a/Template/Include/fr/text.php b/Template/Include/fr/text.php new file mode 100644 index 0000000..ed28f1f --- /dev/null +++ b/Template/Include/fr/text.php @@ -0,0 +1,106 @@ +<?php + +// ############################################################################ +// # # +// # Description: Texte du site # +// # # +// ############################################################################ + +$text = [ + "incl_form_admin" => [ + "btManageJob" => "Gestion des emplois", + "btManageUser" => "Gestion des utilisateurs", + "btManageMission" => "Gestion des missions", + "formJobAddEn" => "Nom en Englais", + "formJobAddFr" => "Nom en Français", + "submitJobAdd" => "Ajouter", + "selJobDel" => "Choisir une categorie à suppr.", + "submitJobDel" => "Suppr.", + "formDel" => "ID à supprimer", + "submitDel" => "Supprimer", + ], + "incl_global_footer" => [ + "main" => "Réalisé par Debulois Quentin pour mon dossier professionel.<br>Decembre 2021, tous droits réservés.", + ], + "incl_form_userInfo" => [ + "h2" => "Informations sur l'utilisateur.", + "lastname" => "Nom", + "firstname" => "Prénom", + "phoneNumber" => "Numéro de télephone", + "adress" => "Adresse", + "zipCode" => "Code postal", + "city" => "Ville", + "myJobs" => "Mes emplois:", + "jobsSel" => "Emplois", + "jobsAdd" => "Ajouter", + "degree" => "Diplômes", + "capability" => "Capacités", + "description" => "Description", + "submit" => "Modifier" + ], + "incl_form_login" => [ + "h2" => "Identification", + "email" => "Email", + "password" => "Mot de passe", + "rememberMe" => "Se souvenir de moi", + "submit" => "Connection" + ], + "incl_form_mission" => [ + "h2" => "Formulaire pour enregistrer une mission", + "subject" => "Sujet", + "review" => "Commentaire", + "proId" => "ID du pro", + "submit" => "Enregistrer", + "jobsSel" => "Emplois" + ], + "incl_table_myMission" => [ + "pendingMission" => "Missions en attente", + "ongoingMission" => "Missions en cours", + "completedMission" => "Missions terminées", + "noPending" => "Il n'y a pas de missions en attente.", + "noOngoing" => "Il n'y a pas de missions en cours.", + "noCompleted" => "Il n'y a pas de missions en terminées.", + "accept" => "Accepter", + "validate" => "Valider" + ], + "incl_global_navbar" => [ + "h2" => "AlphaJob", + "btnSearch" => "Rechercher", + "btnInfos" => "Modif. infos", + "btnMission" => "Enreg. mission", + "btnMyMission" => "Mes missions", + "btnAdmin" => "Administration", + "btnLogin" => "Connection", + "btnLogout" => "Déconnection", + "btnRegister" => "Inscription", + "lang" => "Langue", + "btnLang" => "Sélectionner" + ], + "incl_form_register" => [ + "h2" => "Formulaire d'inscription", + "email" => "Email", + "password" => "Mot de passe", + "notice" => "Admin est présent pour les besoins de l'examen uniquement:", + "isClient" => "Est client?", + "isPro" => "Est pro?", + "isAdmin" => "Est admin?", + "submit" => "S'inscrire" + ], + "incl_index_search" => [ + "h2" => "Rechercher un professionnel", + "searchBarName" => "Recherche par nom", + "searchBarJob" => "Recherche par catégorie", + "or" => "ou", + "submit" => "Rechercher", + "noResult" => "Aucun résultat.", + "moreInfo" => "Infos", + "mandate" => "Mandater" + ], + "incl_index_slideshow" => [ + "slide1" => "Trouvez le proffessionel 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/Template/Include/fr/title.php b/Template/Include/fr/title.php new file mode 100644 index 0000000..49285a2 --- /dev/null +++ b/Template/Include/fr/title.php @@ -0,0 +1,20 @@ +<?php + +// ############################################################################ +// # # +// # Description: Titre des pages # +// # # +// ############################################################################ + +$title = [ + "index" => "AlphaJob - Index", + "login" => "AlphaJob - Connection", + "message" => "AlphaJob - Message", + "mission" => "AlphaJob - Gestion d'une mission", + "myMission" => "AlphaJob - Mes missions", + "register" => "AlphaJob - Inscription", + "userInfo" => "AlphaJob - Mes informations", + "admin" => "AlphaJob - Administration" +]; + +?>
\ No newline at end of file diff --git a/Template/Include/incl_form_admin.php b/Template/Include/incl_form_admin.php new file mode 100644 index 0000000..68fa531 --- /dev/null +++ b/Template/Include/incl_form_admin.php @@ -0,0 +1,208 @@ +<?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_dbadmin.php"); +require_once(dirname( __FILE__ )."./../../Database/meth_dbsearch.php"); +require_once(dirname( __FILE__ )."./../../Database/meth_dbmission.php"); + +// Instanciation de la bdd avec les méthodes de recherche. +$dbadmin = new DbAdmin; +$dbsearch = new DbSearch; +$dbmission = new DbMission; + +// **************************************************************************** +// DIV PRINCIPALE +// **************************************************************************** +echo('<!-- Division principale --> +<main id="mainAdmin">'.PHP_EOL); + +// **************************************************************************** +// BOUTTONS DE NAVIGATION +// **************************************************************************** +echo('<!-- Bouttons de navigation --> +<div id="adminButtons"> + <button onclick="show(\'mainAdmin\', \'section\', \'secAdminJobs\', \'show_flex\')">'.$text[basename(__FILE__, ".php")]["btManageJob"].'</button> + <button onclick="show(\'mainAdmin\', \'section\', \'secAdminUsers\', \'show_flex\')">'.$text[basename(__FILE__, ".php")]["btManageUser"].'</button> + <button onclick="show(\'mainAdmin\', \'section\', \'secAdminMissions\', \'show_flex\')">'.$text[basename(__FILE__, ".php")]["btManageMission"].'</button> +</div>'.PHP_EOL); + +// **************************************************************************** +// SECTION AJOUT/SUPPRESSION D'EMPLOI +// **************************************************************************** +// Form pour ajout et form pour suppression d'une catégorie d'emploi +echo('<!-- Section gestion des emplois --> +<section id="secAdminJobs"> + <form action="./../../Core/wrapper.php" method="post"> + <h3>Ajouter une categorie d\'emploi</h3> + <label> + <i class="fas fa-briefcase"></i> + <i class="gb uk flag"></i> + <input type="text" name="addJobNameEn" maxlength="128" placeholder="'.$text[basename(__FILE__, ".php")]["formJobAddEn"].'" required> + </label> + <label> + <i class="fas fa-briefcase"></i> + <i class="fr flag"></i> + <input type="text" name="addJobNameFr" maxlength="128" placeholder="'.$text[basename(__FILE__, ".php")]["formJobAddFr"].'" required> + </label> + <label> + <input type="submit" value="'.$text[basename(__FILE__, ".php")]["submitJobAdd"].'"> + </label> + </form> + <!-- Form pour suppression d une catégorie d emploi --> + <form action="/../Core/wrapper.php" method="post"> + <h3>Supprimer une categorie d\'emploi</h3> + <label> + <select name="delJobId" required> + <option value="" selected>'.$text[basename(__FILE__, ".php")]["selJobDel"].'</option>'.PHP_EOL); +$allJobs = $dbsearch->get_job_all(); +for ($i = 0; $i < count($allJobs); $i++){ + echo(' <option value="'.$allJobs[$i]["jobCategoryId"].'">'.$allJobs[$i]["jobCategoryName".ucwords($_SESSION["lang"])].'</option>'.PHP_EOL); +} +echo(' </select> + </label> + <label> + <input type="submit" value="'.$text[basename(__FILE__, ".php")]["submitJobDel"].'"> + </label> + </form> +</section>'.PHP_EOL); + +// **************************************************************************** +// SECTION POUR LA SUPPRSION D'UTILISATEUR ET TABLEAU +// **************************************************************************** +// Form pour suppression d'un utilisateur +echo('<!-- Section supression d\' un utilisateur --> +<section id="secAdminUsers"> + <h3>Suppression d\' un utilisateur</h3> + <form action="./../../Core/wrapper.php" method="post"> + <label> + <i class="fas fa-trash-alt"></i> + <input type="text" name="delUserId" maxlength="10" placeholder="'.$text[basename(__FILE__, ".php")]["formDel"].'" required> + </label> + <label> + <input type="submit" value="'.$text[basename(__FILE__, ".php")]["submitDel"].'"> + </label> + </form>'.PHP_EOL); + +// Récupération de tous les utilisateurs. +$allUsers = $dbadmin->get_all_users_account(); +// Affichage du tableau. +echo("<!-- Tableau des utilisateurs--> +<table> + <!-- En-tête --> + <tr>".PHP_EOL); +// Affichage des en-tête de colonne. +for ($i = 0; $i < count($header["adminUsers"]); $i++) { + echo(" <th>".$header["adminUsers"][$i]."</th>".PHP_EOL); +} +echo(" </tr>".PHP_EOL); +// Affichage du résultat de la récupération de tous les utilisateurs. +for ($i = 0; $i < count($allUsers); $i++) { + echo(" <!-- Utilisateurs --> + <tr>".PHP_EOL); + foreach ($allUsers[$i] as $key => $value) { + switch ($key) { + case "userStatus": + switch ($value) { + case 0: + echo(" <td><pre>Admin<pre></td>".PHP_EOL); + break; + case 1: + echo(" <td><pre>Pro<pre></td>".PHP_EOL); + break; + case 2: + echo(" <td><pre>Client<pre></td>".PHP_EOL); + break; + } + break; + default: + echo(" <td><pre>".$value."</pre></td>".PHP_EOL); + break; + } + } + echo(" </tr>".PHP_EOL); +} +echo('</table> +</section>'.PHP_EOL); + +// **************************************************************************** +// SECTION POUR LA SUPPRESSION D'UNE MISSION ET TABLEAU +// **************************************************************************** +// Form pour suppression d'une mission +echo('<!-- Section supression d\' une mission --> +<section id="secAdminMissions"> + <h3>Suppression d\' une mission</h3> + <form action="./../../Core/wrapper.php" method="post"> + <label> + <i class="fas fa-trash-alt"></i> + <input type="text" name="delMissionId" maxlength="10" placeholder="'.$text[basename(__FILE__, ".php")]["formDel"].'" required> + </label> + <label> + <input type="submit" value="'.$text[basename(__FILE__, ".php")]["submitDel"].'"> + </label> + </form>'.PHP_EOL); + +// Récupération de toutes les missions et des infos des utilisateurs. +$allMissions = $dbmission->get_all_missions(); +// Affichage du tableau. +echo("<!-- Tableau des missions--> +<table> + <!-- En-tête --> + <tr>".PHP_EOL); +// Affichage des en-tête de colonne. +for ($i = 0; $i < count($header["adminMissions"]); $i++) { + echo(" <th>".$header["adminMissions"][$i]."</th>".PHP_EOL); +} +echo(" </tr>".PHP_EOL); +// Affichage du résultat de la récupération de tous les utilisateurs. +for ($i = 0; $i < count($allMissions); $i++) { + echo(" <!-- missions --> + <tr>".PHP_EOL); + for ($j = 0; $j < count($allMissions[$i]); $j++) { + switch ($j) { + case 8 : + case 9 : + $userInfo = $dbsearch->get_user_info_by_userid($allMissions[$i][$j]); + if ($userInfo && $userInfo[0]["lastname"] !== "") { + echo(" <td><pre>".$userInfo[0]["lastname"]."</pre></td>".PHP_EOL); + } else { + echo(" <td><pre> N/A </pre></td>".PHP_EOL); + } + break; + case 10: + $job = $dbsearch->get_job_by_jobid($allMissions[$i][$j]); + if ($job && $job[0]["jobCategoryName".ucwords($_SESSION["lang"])] !== "") { + echo(" <td><pre>".$job[0]["jobCategoryName".ucwords($_SESSION["lang"])]."</pre></td>".PHP_EOL); + } else { + echo(" <td><pre> N/A </pre></td>".PHP_EOL); + } + break; + default: + echo(" <td><pre>".$allMissions[$i][$j]."</pre></td>".PHP_EOL); + break; + } + } + echo(" </tr>".PHP_EOL); +} +echo('</table> +</section>'.PHP_EOL); + +echo('<!-- Espace vide si le form est petit --> +<div class="spacer"></div>'); + +// **************************************************************************** +// FIN DIV PRINCIPALE +// **************************************************************************** +echo('</main>'.PHP_EOL); + +?>
\ No newline at end of file diff --git a/Template/Include/incl_form_login.php b/Template/Include/incl_form_login.php new file mode 100644 index 0000000..e907635 --- /dev/null +++ b/Template/Include/incl_form_login.php @@ -0,0 +1,35 @@ +<?php + +// ############################################################################ +// # # +// # Description: Formulaire de 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"); + +// **************************************************************************** +// DIV PRINCIPALE AVEC TITRE ET FORM DE CONNEXION +// **************************************************************************** +echo('<!-- Div principale --> +<main id="mainLogin"> + <h2>'.$text[basename(__FILE__, ".php")]["h2"].'</h2> + <form action="/../Core/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> + <input type="checkbox" name="rememberMe" id="rememberMe"> + '.$text[basename(__FILE__, ".php")]["rememberMe"].' + </label> + <input type="submit" value="'.$text[basename(__FILE__, ".php")]["submit"].'"> + </form> +</main>'.PHP_EOL); + +?>
\ No newline at end of file diff --git a/Template/Include/incl_form_mission.php b/Template/Include/incl_form_mission.php new file mode 100644 index 0000000..b95c396 --- /dev/null +++ b/Template/Include/incl_form_mission.php @@ -0,0 +1,90 @@ +<?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"); +// Import des méthodes de la base de donnée pour les recherches. +require_once(dirname( __FILE__ )."./../../Database/meth_dbsearch.php"); + +// Si demande de mandatement d'une mission +if (isset($_SESSION["missionInitiate"]) + && count($_SESSION["missionInitiate"]) > 0 +) { + + // **************************************************************************** + // DIV PRINCIPALE AVEC TITRE ET FORM POUR MANDATEMENT DE MISSION + // **************************************************************************** + echo('<!-- Division principale --> + <main id="mainMission"> + <h2>'.$text[basename(__FILE__, ".php")]["h2"].'</h2> + <form id="missionForm" action="/../Core/wrapper.php" method="post"> + <label> + <i class="fas fa-edit"></i> + <input type="text" name="missionSubject" placeholder="'.$text[basename(__FILE__, ".php")]["subject"].'" maxlength="128" required> + </label> + <select name="missionJob" required> + <option value="" selected>'.$text[basename(__FILE__, ".php")]["jobsSel"].'</option>'.PHP_EOL); + // On loop à traves les emplois du pro et on récupère l'id et le nom pour peupler le select + for ($i = 0; $i < count($_SESSION["missionInitiate"]["proJobs"]); $i++) { + $categoryName = $_SESSION["missionInitiate"]["proJobs"][$i]["jobCategoryName".ucwords($_SESSION["lang"])]; + $value = $_SESSION["missionInitiate"]["proJobs"][$i]["jobCategoryId"]; + echo(' <option value="'.$value.'">'.$categoryName.'</option>'.PHP_EOL); + } + echo(' </select> + <input type="hidden" name="missionProId" value="'.$_SESSION["missionInitiate"]["proId"].'"> + <input type="submit" value="'.$text[basename(__FILE__, ".php")]["submit"].'"> + </form> + </main>'.PHP_EOL); + unset($_SESSION["missionInitiate"]); + +// Si la mission est terminée on permet de laisser un avis +} elseif (isset($_SESSION["missionCompleted"]) + && count($_SESSION["missionCompleted"]) > 0 +) { + // **************************************************************************** + // SEPARATEUR + // **************************************************************************** + echo('<!-- Séparateur --> + <div class="separator"></div>'); + + // **************************************************************************** + // DIV PRINCIPALE AVEC TITRE ET FORMULAIRE D'ENREGISTREMENT D'UN AVIS + // **************************************************************************** + echo('<!-- Division principale --> + <main id="mainMission"> + <h2>'.$text[basename(__FILE__, ".php")]["h2"].'</h2> + <form id="missionForm" action="/../Core/wrapper.php" method="post"> + <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> + <input type="text" name="review" maxlength="256" placeholder="'.$text[basename(__FILE__, ".php")]["review"].'" required></textarea> + </label> + <input type="hidden" name="missionCompletedId" value="'.$_SESSION["missionCompleted"]["missionId"].'"> + <input type="submit" value="'.$text[basename(__FILE__, ".php")]["submit"].'"> + </form> + </main>'.PHP_EOL); + unset($_SESSION["missionCompleted"]); + +// Sinon renvoie vers mes mission (F5 w/ unset) +} else { + header("Location: /Template/myMission.php"); + die(); +} + +?>
\ No newline at end of file diff --git a/Template/Include/incl_form_register.php b/Template/Include/incl_form_register.php new file mode 100644 index 0000000..0baeaf2 --- /dev/null +++ b/Template/Include/incl_form_register.php @@ -0,0 +1,36 @@ +<?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"); + +// **************************************************************************** +// DIV PRINCIPALE AVEC TITRE ET FORMULAIRE POUR S'INSCRIRE +// **************************************************************************** +echo('<!-- Division principale --> +<main id="mainRegister"> + <h2>'.$text[basename(__FILE__, ".php")]["h2"].'</h2> + <!-- Formulaire d\'inscription --> + <form action="/../Core/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">'.$text[basename(__FILE__, ".php")]["notice"].'</label> + <label for="isAdmin"><input type="radio" id="isAdmin" name="userStatus" value="0">'.$text[basename(__FILE__, ".php")]["isAdmin"].'</label> + <label for="isPro"><input type="radio" id="isPro" name="userStatus" value="1">'.$text[basename(__FILE__, ".php")]["isPro"].'</label> + <label for="isClient"><input type="radio" id="isClient" name="userStatus" value="2">'.$text[basename(__FILE__, ".php")]["isClient"].'</label> + <input type="submit" value="'.$text[basename(__FILE__, ".php")]["submit"].'"> + </form> +</main>'.PHP_EOL); + +?>
\ No newline at end of file diff --git a/Template/Include/incl_form_userInfo.php b/Template/Include/incl_form_userInfo.php new file mode 100644 index 0000000..afe98b8 --- /dev/null +++ b/Template/Include/incl_form_userInfo.php @@ -0,0 +1,137 @@ +<?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_userid($_SESSION["userId"]); + +// Si pas encore d'infos pour cette utilisateur on initialise avec des champs vide +if (!$info) { + $info = [ + ["lastname" => "", + "firstname" => "", + "phoneNumber" => "", + "adress" => "", + "zipCode" => "", + "city" => "", + "degree" => "", + "capability" => "", + "description" => ""] + ]; +} + +// **************************************************************************** +// DIV PRINCIPALE AVEC TITRE ET FORMULAIRE COMMUN AUX PROS ET CLIENTS +// **************************************************************************** +echo('<!-- Division principale --> +<main id="mainUserInfo"> +<!-- Modification des infos de l\'utilisateur --> +<h2>'.$text[basename(__FILE__, ".php")]["h2"].'</h2> +<form action="/../Core/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-mobile-alt"></i> + <input type="text" name="phoneNumber" id="phoneNumber" maxlength="10" placeholder="'.$text[basename(__FILE__, ".php")]["phoneNumber"].'" value="'.$info[0]["phoneNumber"].'" required> + </label> + <label> + <i class="fas fa-home"></i> + <input type="text" name="adress" id="adress" maxlength="128" placeholder="'.$text[basename(__FILE__, ".php")]["adress"].'" value="'.$info[0]["adress"].'" required> + </label> + <label> + <i class="fas fa-map-marker-alt"></i> + <input type="text" name="zipCode" id="zipCode" maxlength="6" placeholder="'.$text[basename(__FILE__, ".php")]["zipCode"].'" value="'.$info[0]["zipCode"].'" required> + </label> + <label> + <i class="fas fa-city"></i> + <input type="text" name="city" id="city" maxlength="128" placeholder="'.$text[basename(__FILE__, ".php")]["city"].'" value="'.$info[0]["city"].'" required> + </label>'.PHP_EOL); + +// **************************************************************************** +// EXTENSION DU FORMULAIRE AVEC LA PARTIE UNIQUEMENT RESERVEE AUX PROS +// **************************************************************************** +if ($_SESSION["userStatus"] == 1) { + // Récupération de tous les emplois ainsi que ceux deja sélectionnés par le pro + $allJobs = $dbsearch->get_job_all(); + $proJobs = $dbsearch->get_pro_job_by_proid($_SESSION["userId"]); + + // **************************************************************************** + // PARTIE SELECTION D'UN EMPLOI + // **************************************************************************** + echo(' <label id="userJob"> + <i class="fas fa-wrench"></i> + <div> + <span>'.$text[basename(__FILE__, ".php")]["myJobs"].'</span>'.PHP_EOL); + echo(' <select id="jobsSel"> + <option value="" selected>'.$text[basename(__FILE__, ".php")]["jobsSel"].'</option>'.PHP_EOL); + //Peuplement du select qui comprend tous les emplois + for ($i = 0; $i < count($allJobs); $i++) { + echo(' <option value="'.$allJobs[$i]["jobCategoryId"].'">'.$allJobs[$i]["jobCategoryName".ucwords($_SESSION["lang"])].'</option>'.PHP_EOL); + } + echo(' </select> + <button type="button" onclick="add()">'.$text[basename(__FILE__, ".php")]["jobsAdd"].'</button> + </div> + </label>'.PHP_EOL); + + // **************************************************************************** + // PARTIE EMPLOI DEJA SELECTIONNE + // **************************************************************************** + echo(' + <label id="jobsList"> + <i class="fas fa-briefcase"></i> + <div id=jobsListGrid>'.PHP_EOL); + for ($i = 0; $i < count($proJobs); $i++) { + echo(' <div class="jobsListElem" data-value="'.$proJobs[$i]["jobCategoryId"].'">'.$proJobs[$i]["jobCategoryName".ucwords($_SESSION["lang"])].'<i class="fas fa-ban"></i></div>'.PHP_EOL); + } + echo(' </div> + </label> + <input type="hidden" name="jobs" id="jobs" value="">'.PHP_EOL); + + // **************************************************************************** + // PARTIE DIPLOME, CAPACITES & DESCRIPTION + // **************************************************************************** + echo(' <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"].'" required> + </label> + <label> + <i class="fas fa-cogs"></i> + <input type="text" name="capability" id="capability" maxlength="256" placeholder="'.$text[basename(__FILE__, ".php")]["capability"].'" value="'.$info[0]["capability"].'" required> + </label> + <label> + <i class="fas fa-file-signature"></i> + <input type="text" name="description" id="description" maxlength="256" placeholder="'.$text[basename(__FILE__, ".php")]["description"].'" value="'.$info[0]["description"].'" required> + </label>'.PHP_EOL); + + // **************************************************************************** + // CHARGEMENT ET DECLENCHEMENT DU JAVASCRIPT DEDIE A CETTE PAGE + // **************************************************************************** + echo(' <script src="/Static/Js/userinfo.js"></script> + <script>init()</script>'); +} + +// **************************************************************************** +// FIN DU FORM ET DE LA DIV PRINCIPALE +// **************************************************************************** +echo(' <input type="submit" value="'.$text[basename(__FILE__, ".php")]["submit"].'"> +</form> +</main>'); + +?>
\ No newline at end of file diff --git a/Template/Include/incl_global_footer.php b/Template/Include/incl_global_footer.php new file mode 100644 index 0000000..a11ed02 --- /dev/null +++ b/Template/Include/incl_global_footer.php @@ -0,0 +1,26 @@ +<?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"); + +// **************************************************************************** +// SEPARATEUR +// **************************************************************************** +echo('<!-- Separateur --> +<div class="separator"></div>'.PHP_EOL); + +// **************************************************************************** +// PIED DE PAGE +// **************************************************************************** +echo('<!-- Pied de page --> +<footer> + <p>'.$text[basename(__FILE__, ".php")]["main"].'</p> +</footer>'.PHP_EOL) + +?>
\ No newline at end of file diff --git a/Template/Include/incl_global_header.php b/Template/Include/incl_global_header.php new file mode 100644 index 0000000..9847bf1 --- /dev/null +++ b/Template/Include/incl_global_header.php @@ -0,0 +1,22 @@ +<?php + +// ############################################################################ +// # # +// # Description: Header commmun à toutes les pages # +// # # +// ############################################################################ + +// **************************************************************************** +// METADATA COMMUNE A TOUTES LES PAGES +// **************************************************************************** +echo('<meta charset="UTF-8"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<link href="/Static/Css/main.css" rel="stylesheet"> +<link href="/Static/Css/navbar.css" rel="stylesheet"> +<link href="/Static/Css/footer.css" rel="stylesheet"> +<!-- https://fontawesome.com/v5.15/how-to-use/on-the-web/setup/hosting-font-awesome-yourself --> +<link href="/Static/Css/Fontsawesome/all.css" rel="stylesheet"> +<!-- https://semantic-ui.com/elements/flag.html --> +<link href="/Static/Css/Flags/flag.css" rel="stylesheet">'.PHP_EOL); + +?>
\ No newline at end of file diff --git a/Template/Include/incl_global_message.php b/Template/Include/incl_global_message.php new file mode 100644 index 0000000..a0a9e5f --- /dev/null +++ b/Template/Include/incl_global_message.php @@ -0,0 +1,65 @@ +<?php + +// ############################################################################ +// # # +// # Description: Partie principale de la page des messages # +// # # +// ############################################################################ + +// Import des différents messages possibles. +require_once(dirname( __FILE__ )."./".$_SESSION["lang"]."/message.php"); + +// Récupération du message à afficher et de son status +$name = $_SESSION["message"][0]; +$status = $_SESSION["message"][1]; + +// **************************************************************************** +// DIV PRINCIPALE ET TITRE +// **************************************************************************** +echo('<!-- Division principale --> +<main id="mainMessage"> + <h2>'.$messageText[$name][$status]["title"].'</h2>'); + +// **************************************************************************** +// TITRE POUR SIGNIFIER SI L'OPERATION A REUSSI OU NON +// **************************************************************************** +if ($messageText[$name][$status]["success"]) { + echo('<h3 class="success">'.$success.'</h3>'); +} else { + echo('<h3 class="error">'.$error.'</h3>'); +} + +// **************************************************************************** +// TEXTE PRINCIPAL +// **************************************************************************** +echo('<!-- Texte principal --> +<p>'.$messageText[$name][$status]["info"].'</p> +<p id="redirect" class="info">'.$redirect.'</p></main> +<!-- Chargement du javascript dédié à cette page --> +<script src="/Static/Js/message.js"></script>'); + +// **************************************************************************** +// RECUPERATION DE LA PAGE VERS LAQUELLE REDIRIGER SI CE N'EST PAS L'INDEX +// **************************************************************************** +if ($messageText[$name][$status]["toSrc"]) { + if ($_SESSION["src"] !== "index") { + $dest = "Template/".$_SESSION["src"]; + } else { + $dest = "index"; + } +} else { + $dest = "index"; +} + +// **************************************************************************** +// DECLENCHEMENT DU JAVASCRIPT AVEC LA PAGE DE DESTINATION DONNEE EN ARGUMENT +// **************************************************************************** +if ($messageText[$name][$status]["timer"]) { + echo('<!-- Redirection avec timer --> + <script>start_timer("'.$dest.'");</script>'); +} else { + echo('<!-- Redirection sans timer --> + <script>redirect("'.$dest.'")</script>'); +} + +?>
\ No newline at end of file diff --git a/Template/Include/incl_global_navbar.php b/Template/Include/incl_global_navbar.php new file mode 100644 index 0000000..95ab8d8 --- /dev/null +++ b/Template/Include/incl_global_navbar.php @@ -0,0 +1,89 @@ +<?php + +// ############################################################################ +// # # +// # Description: La navbar # +// # # +// ############################################################################ + +// Switch -> https://www.php.net/manual/fr/control-structures.switch.php +// https://stackoverflow.com/questions/6330114/do-you-need-break-in-switch-when-return-is-used + +// 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"); + +// Header avec titre et boutton du navbar +echo('<!-- Header --> +<header> + <!-- Titre --> + <a onclick="showNavButtons()"><i class="fas fa-bars"></i></a> + <!-- Espace vide --> + <div class="spacer"></div> + <a id="navTitle" href="/"><h2>'.$text[basename(__FILE__, ".php")]["h2"].'</h2></a> + <!-- Espace vide --> + <div class="spacer"></div> +'.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="/../Core/wrapper.php" method="post" id="navFormLang"> + <label> + <i class="'.$flags[$_SESSION["lang"]].' flag"></i>'.$text[basename(__FILE__, ".php")]["lang"].' + <br> + <select name="langSel" id="navSelLang" required> + <option value="" selected>'.$text[basename(__FILE__, ".php")]["btnLang"].'</option> + <option value="en">English</option> + <option value="fr">Français</option> + </select> + </label> + </form> +</header> +'.PHP_EOL); + +// Affichage du navbar et de ses elements en fonction de si l'utilisateur est connecté ou non. +echo('<!-- navbar --> +<nav> +<!-- Espace vide --> +<div class="spacer"></div> +<!-- Liste de lien pour la navigation -->'); +if (isset($_SESSION["loggedIn"], $_SESSION["userStatus"]) + && $_SESSION["loggedIn"] == "1" +) { + switch ($_SESSION["userStatus"]) { + case 0: + $status = 'Admin'; + echo(' <p><span class="headerInfoAdmin">'.$status.'</span>'.$_SESSION["email"].'</p>'.PHP_EOL); + echo(' <a href="/index.php#separator2"><i class="fas fa-search"></i> '.$text[basename(__FILE__, ".php")]["btnSearch"].'</a>'); + echo(' <a href="/Template/admin.php"><i class="fas fa-cog"></i> '.$text[basename(__FILE__, ".php")]["btnAdmin"].'</a>'.PHP_EOL); + echo(' <a href="/Template/logout.php"><i class="fas fa-sign-out-alt"></i> '.$text[basename(__FILE__, ".php")]["btnLogout"].'</a>'.PHP_EOL); + break; + case 1: + $status = 'Pro'; + echo(' <p><span class="headerInfoPro">'.$status.'</span>'.$_SESSION["email"].'</p>'.PHP_EOL); + echo(' <a href="/index.php#separator2"><i class="fas fa-search"></i> '.$text[basename(__FILE__, ".php")]["btnSearch"].'</a>'); + echo(' <a href="/Template/myMission.php"><i class="fas fa-tasks"></i> '.$text[basename(__FILE__, ".php")]["btnMyMission"].'</a>'.PHP_EOL); + echo(' <a href="/Template/userInfo.php"><i class="fas fa-user"></i> '.$text[basename(__FILE__, ".php")]["btnInfos"].'</a>'); + echo(' <a href="/Template/logout.php"><i class="fas fa-sign-out-alt"></i> '.$text[basename(__FILE__, ".php")]["btnLogout"].'</a>'.PHP_EOL); + break; + case 2: + $status = 'Client'; + echo(' <p><span class="headerInfoClient">'.$status.'</span>'.$_SESSION["email"].'</p>'.PHP_EOL); + echo(' <a href="/index.php#separator2"><i class="fas fa-search"></i> '.$text[basename(__FILE__, ".php")]["btnSearch"].'</a>'); + echo(' <a href="/Template/myMission.php"><i class="fas fa-tasks"></i> '.$text[basename(__FILE__, ".php")]["btnMyMission"].'</a>'.PHP_EOL); + echo(' <a href="/Template/userInfo.php"><i class="fas fa-user"></i> '.$text[basename(__FILE__, ".php")]["btnInfos"].'</a>'); + echo(' <a href="/Template/logout.php"><i class="fas fa-sign-out-alt"></i> '.$text[basename(__FILE__, ".php")]["btnLogout"].'</a>'.PHP_EOL); + break; + } + echo(' <!-- Espace vide --> + <div class="spacer"></div>'); +} else { + echo(' <a href="/Template/login.php"><i class="fas fa-sign-in-alt"></i> '.$text[basename(__FILE__, ".php")]["btnLogin"].'</a> + <a href="/Template/register.php"><i class="fas fa-user-plus"></i> '.$text[basename(__FILE__, ".php")]["btnRegister"].'</a> + <!-- Espace vide --> + <div class="spacer"></div>'.PHP_EOL); +} +echo('</nav>'); +?>
\ No newline at end of file diff --git a/Template/Include/incl_index_search.php b/Template/Include/incl_index_search.php new file mode 100644 index 0000000..13d581e --- /dev/null +++ b/Template/Include/incl_index_search.php @@ -0,0 +1,210 @@ +<?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"); +require_once(dirname( __FILE__ )."./../../Database/meth_dbsearch.php"); + +$dbsearch = new DbSearch; + +// **************************************************************************** +// SEPARATEUR +// **************************************************************************** +echo('<!-- Separateur --> +<div id="separator2" class="separator"></div>'); + +// **************************************************************************** +// DIV PRINCIPALE +// **************************************************************************** +echo('<!-- Division principale --> +<main id="mainSearch">'.PHP_EOL); + +// Form pour la recherche par nom et envoi au wrappeur. +echo('<!-- Form de recherche --> +<h2>'.$text[basename(__FILE__, ".php")]["h2"].'</h2> +<div id="divSearch"> + <div class="spacer"></div> + <form action="/Core/wrapper.php" method="post"> + <label> + <i class="fas fa-search"></i> + <input type="text" name="searchByName" id="searchBar"placeholder="'.$text[basename(__FILE__, ".php")]["searchBarName"].'" required> + </label> + <input type="submit" value="'.$text[basename(__FILE__, ".php")]["submit"].'"> + </form> + <p>'.$text[basename(__FILE__, ".php")]["or"].'</p> + <form action="/Core/wrapper.php" method="post"> + <label> + <i class="fas fa-search"></i> + <select name="searchByJob" required> + <option value="" selected>'.$text[basename(__FILE__, ".php")]["searchBarJob"].'</option>'.PHP_EOL); +$allJobs = $dbsearch->get_job_all(); +for ($i = 0; $i < count($allJobs); $i++){ + echo(' <option value="'.$allJobs[$i]["jobCategoryId"].'">'.$allJobs[$i]["jobCategoryName".ucwords($_SESSION["lang"])].'</option>'.PHP_EOL); +} +echo(' </select> + </label> + <input type="submit" value="'.$text[basename(__FILE__, ".php")]["submit"].'"> + </form> + <div class="spacer"></div> +</div>'.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"])) { + // Si la variable isResearch est vrai, c'est une rechreche. + if ($_SESSION["search"]["isResearch"]) { + if ($_SESSION["search"]["result"]) { + echo('<table>'); + echo('<thead>'); + echo('<tr>'); + for ($i = 0; $i < count($header["search"]); $i++) { + switch ($i) { + case 1: + case 3: + case 4: + case 5: + echo('<th class="extend"><pre>'.$header["search"][$i].'</pre></th>'); + break; + default: + echo('<th><pre>'.$header["search"][$i].'</pre></th>'); + break; + } + } + echo('</tr>'); + echo('</thead>'); + foreach ($_SESSION["search"]["result"] as $result) { + echo('<tbody>'); + echo('<tr>'); + echo('<td><pre>'.$result["lastname"].'</pre></td>'); + echo('<td class="extend"><pre>'.$result["firstname"].'</pre></td>'); + // jobs + if (count($result["jobs"]) > 0) { + $jobsName = array(); + for ($i = 0; $i < count($result["jobs"]); $i++) { + array_push($jobsName, $result["jobs"][$i]["jobCategoryName".ucwords($_SESSION["lang"])]); + } + echo('<td><pre>'.join(", ", $jobsName).'</pre></td>'); + } else { + echo('<td>N/A</td>'); + } + echo('<td class="extend"><pre>'.$result["capability"].'</pre></td>'); + echo('<td class="extend"><pre>'.$result["numberOfMissions"].'</pre></td>'); + echo('<td class="extend"><pre>'.$result["note"].'</pre></td>'); + // I'm a star !! + if ($result["star"]) { + echo('<td><pre>'); + $missingStar = 5 - $result["star"]; + for ($i = 0; $i < $result["star"]; $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>'); + } + } + echo('</pre></td>'); + } else { + echo('<td>N/A</td>'); + } + // Si c'est une recherche on ajoute le bouton plus d'info, + // pour plus d'info avec une recherche par Id. + echo('<td class="noBorder"> + <form action="/Core/wrapper.php" method="post"> + <input type="hidden" name="moreInfoProId" value="'.$result["userId"].'"> + <input type="submit" value="'.$text[basename(__FILE__, ".php")]["moreInfo"].'"> + </form> + </td> + </tr>'); + } + echo('</tbody>'); + echo('</table>'); + } else { + echo('<p>'.$text[basename(__FILE__, ".php")]["noResult"].'</p>'); + } + + // Sinon c'est un "Plus d'info". + } else { + echo('<table> + <tbody> + <tr> + <th><pre>'.$header["moreInfos"][0].'</pre></th> + <td><pre>'.$_SESSION["search"]["result"][0]["lastname"].'</pre></td> + </tr> + <tr> + <th><pre>'.$header["moreInfos"][1].'</pre></th> + <td><pre>'.$_SESSION["search"]["result"][0]["firstname"].'</pre></td> + </tr>'); + // jobs + if (count($_SESSION["search"]["result"][0]["jobs"]) > 0) { + $jobsName = array(); + for ($i = 0; $i < count($_SESSION["search"]["result"][0]["jobs"]); $i++) { + array_push($jobsName, $_SESSION["search"]["result"][0]["jobs"][$i]["jobCategoryName".ucwords($_SESSION["lang"])]); + } + echo('<tr> + <th><pre>'.$header["moreInfos"][2].'</pre></th> + <td><pre>'.join(", ", $jobsName).'</pre></td> + </tr>'); + } else { + echo('<tr> + <th><pre>'.$header["moreInfos"][2].'</pre></th> + <td>N/A</td> + </tr>'); + } + echo('<tr> + <th><pre>'.$header["moreInfos"][3].'</pre></th> + <td><pre>'.$_SESSION["search"]["result"][0]["degree"].'</pre></td> + </tr> + <tr> + <th><pre>'.$header["moreInfos"][4].'</pre></th> + <td><pre>'.$_SESSION["search"]["result"][0]["capability"].'</pre></td> + </tr> + <tr> + <th><pre>'.$header["moreInfos"][5].'</pre></th> + <td><pre>'.$_SESSION["search"]["result"][0]["description"].'</pre></td> + </tr> + <tr> + <th><pre>'.$header["moreInfos"][6].'</pre></th> + <td><pre>'.$_SESSION["search"]["result"][0]["phoneNumber"].'</pre></td> + </tr> + <tr> + <th><pre>'.$header["moreInfos"][7].'</pre></th> + <td><pre>'.$_SESSION["search"]["result"][0]["adress"].'</pre></td> + </tr> + <tr> + <th><pre>'.$header["moreInfos"][8].'</pre></th> + <td><pre>'.$_SESSION["search"]["result"][0]["zipCode"].'</pre></td> + </tr> + <tr> + <th><pre>'.$header["moreInfos"][9].'</pre></th> + <td><pre>'.$_SESSION["search"]["result"][0]["city"].'</pre></td> + </tr> + </tr> + </tbody> + </table> + <form id="formMandate" action="/Core/wrapper.php" method="post"> + <input type="hidden" name="mandateProId" value="'.$_SESSION["search"]["result"][0]["userId"].'"> + <input type="submit" value="'.$text[basename(__FILE__, ".php")]["mandate"].'"> + </form> + </table>'); + } +} + +echo('<!-- Espace vide si le tableau est petit --> +<div class="spacer"></div>'); + +// **************************************************************************** +// FIN DIV PRINCIPALE +// **************************************************************************** +echo('</main>'); + +// On supprime la variable de recherche si elle existe. +unset($_SESSION["search"]); + +?>
\ No newline at end of file diff --git a/Template/Include/incl_index_slideshow.php b/Template/Include/incl_index_slideshow.php new file mode 100644 index 0000000..98357f7 --- /dev/null +++ b/Template/Include/incl_index_slideshow.php @@ -0,0 +1,28 @@ +<?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"); + +// **************************************************************************** +// SLIDESHOW +// **************************************************************************** +echo('<!-- Slideshow --> +<section id="secSlides"> + <p id="slide_0" class="show_block">'.$text[basename(__FILE__, ".php")]["slide1"].'</p> + <p id="slide_1">'.$text[basename(__FILE__, ".php")]["slide2"].'</p> + <p id="slide_2">'.$text[basename(__FILE__, ".php")]["slide3"].'</p> + <!-- Indicateur de slide actuellement en cour --> + <div id="slideDots"> + <i id="slideDot_0" class="fas fa-circle slideDotSelected"></i> + <i id="slideDot_1" class="fas fa-circle"></i> + <i id="slideDot_2" class="fas fa-circle"></i> + </div> +</section>'.PHP_EOL); + +?>
\ No newline at end of file diff --git a/Template/Include/incl_table_myMission.php b/Template/Include/incl_table_myMission.php new file mode 100644 index 0000000..504abac --- /dev/null +++ b/Template/Include/incl_table_myMission.php @@ -0,0 +1,202 @@ +<?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"); +require_once(dirname( __FILE__ )."./../../Database/meth_dbmission.php"); + +// Instanciation de la bdd avec les méthodes de recherche. +$dbsearch = new DbSearch; +$dbmission = new DbMission; +$missionStatus = [ + "pending" => [], + "ongoing" => [], + "completed" => [] +]; + +// Recherches des missions avec l'id de l'utilisateur actuellement connecté. +switch ($_SESSION["userStatus"]) { + case 1: + $result = $dbmission->get_mission_by_proid($_SESSION["userId"]); + for ($i = 0; $i < count($result); $i++) { + $result[$i]["jobCategoryId"] = $dbsearch->get_job_by_jobid($result[$i]["jobCategoryId"]); + } + break; + case 2: + $result = $dbmission->get_mission_by_clientid($_SESSION["userId"]); + for ($i = 0; $i < count($result); $i++) { + $result[$i]["jobCategoryId"] = $dbsearch->get_job_by_jobid($result[$i]["jobCategoryId"]); + } + break; + default: + break; +} + +// Puis on dispatch les missions dans leur categorie +for ($i = 0; $i < count($result); $i++) { + if (!$result[$i]["acceptedByPro"] + ) { + array_push($missionStatus["pending"], $result[$i]); + } elseif (!$result[$i]["validatedByPro"] + || !$result[$i]["validatedByClient"] + ) { + array_push($missionStatus["ongoing"], $result[$i]); + } else { + array_push($missionStatus["completed"], $result[$i]); + } +} + +// **************************************************************************** +// DIV PRINCIPALE +// **************************************************************************** +echo('<!-- Mes missions --> +<main id="mainMyMission">'); + +// **************************************************************************** +// BOUTTONS DE NAVIGATION +// **************************************************************************** +echo('<div id="myMissionButtons"> + <button onclick="show(\'mainMyMission\', \'section\', \'secPending\', \'show_block\')">'.$text[basename(__FILE__, ".php")]["pendingMission"].'</button> + <button onclick="show(\'mainMyMission\', \'section\', \'secOngoing\', \'show_block\')">'.$text[basename(__FILE__, ".php")]["ongoingMission"].'</button> + <button onclick="show(\'mainMyMission\', \'section\', \'secCompleted\',\'show_block\')">'.$text[basename(__FILE__, ".php")]["completedMission"].'</button> +</div>'.PHP_EOL); + +// **************************************************************************** +// TABLEAU DES MISSIONS EN ATTENTE +// **************************************************************************** +if ($missionStatus["pending"]) { + echo('<section id="secPending"> + <table> + <!-- En-tête --> + <tr>'.PHP_EOL); + foreach($header["pendingMissions"] as $columnHeader) { + echo(" <th>".$columnHeader."</th>".PHP_EOL); + } + echo(" </tr>".PHP_EOL); + foreach ($missionStatus["pending"] as $rows) { + echo(' <!-- Missions --> + <tr> + <td><pre>'.$rows["date"].'</pre></td> + <td><pre>'.$rows["lastname"].'</pre></td> + <td><pre>'.$rows["jobCategoryId"][0]["jobCategoryName".ucwords($_SESSION["lang"])].'</pre></td> + <td><pre>'.$rows["subject"].'</pre></td>'); + if ($_SESSION["userId"] == $rows["proId"]) { + echo(' <td class="noBorder"> + <form action="/Core/wrapper.php" method="post"> + <input type="hidden" name="acceptedMissionId" value="'.$rows["missionId"].'"> + <input type="submit" value="'.$text[basename(__FILE__, ".php")]["accept"].'"> + </form> + </td>'); + } + echo(' </tr>'.PHP_EOL); + } + echo(' </table> + </section>'); +} else { + echo('<section id="secPending"> + <p>'.$text[basename(__FILE__, ".php")]["noPending"].'</p> + </section>'); +} + +// **************************************************************************** +// TABLEAU DES MISSIONS EN COURS +// **************************************************************************** +if ($missionStatus["ongoing"]) { + echo('<section id="secOngoing"> + <table> + <!-- En-tête --> + <tr>'.PHP_EOL); + foreach($header["ongoingMissions"] as $columnHeader) { + echo(" <th>".$columnHeader."</th>".PHP_EOL); + } + echo(" </tr>".PHP_EOL); + foreach ($missionStatus["ongoing"] as $rows) { + echo(' <!-- Missions --> + <tr> + <td><pre>'.$rows["acceptedByPro"].'</pre></td> + <td><pre>'.$rows["lastname"].'</pre></td> + <td><pre>'.$rows["jobCategoryId"][0]["jobCategoryName".ucwords($_SESSION["lang"])].'</pre></td> + <td><pre>'.$rows["subject"].'</pre></td> + <td><pre>'.$rows["validatedByClient"].'</pre></td> + <td><pre>'.$rows["validatedByPro"].'</pre></td>'); + if (!$rows["validatedByClient"] && $_SESSION["userStatus"] == 2 + || (!$rows["validatedByPro"] && $_SESSION["userStatus"] == 1) + ) { + echo(' <td class="noBorder"> + <form action="/Core/wrapper.php" method="post"> + <input type="hidden" name="validatedMissionId" value="'.$rows["missionId"].'"> + <input type="submit" value="'.$text[basename(__FILE__, ".php")]["validate"].'"> + </form> + </td>'); + } + echo(' </tr>'.PHP_EOL); + } + echo(' </table> + </section>'); +} else { + echo('<section id="secOngoing"> + <p>'.$text[basename(__FILE__, ".php")]["noOngoing"].'</p> + </section>'); +} + +// **************************************************************************** +// TABLEAU DES MISSIONS TERMINEES +// **************************************************************************** +if ($missionStatus["completed"]) { + echo('<section id="secCompleted"> + <table> + <!-- En-tête --> + <tr>'.PHP_EOL); + foreach($header["completedMissions"] as $columnHeader) { + echo(" <th>".$columnHeader."</th>".PHP_EOL); + } + echo(" </tr>".PHP_EOL); + foreach ($missionStatus["completed"] as $rows) { + echo(' <!-- Missions --> + <tr> + <td><pre>'.$rows["date"].'</pre></td> + <td><pre>'.$rows["acceptedByPro"].'</pre></td> + <td><pre>'.$rows["validatedByClient"].'</pre></td> + <td><pre>'.$rows["validatedByPro"].'</pre></td> + <td><pre>'.$rows["lastname"].'</pre></td> + <td><pre>'.$rows["jobCategoryId"][0]["jobCategoryName".ucwords($_SESSION["lang"])].'</pre></td> + <td><pre>'.$rows["subject"].'</pre></td>'); + if ($rows["review"]) { + echo('<td><pre>'.$rows["review"].'</pre></td>'); + } else { + echo('<td><pre>N/A</pre></td>'); + } + if ($rows["note"]) { + echo('<td><pre>'.$rows["note"].'</pre></td>'); + } else { + echo('<td><pre>N/A</pre></td>'); + } + echo('</tr>'.PHP_EOL); + } + echo(' </table> + </section>'); +} else { + echo('<section id="secCompleted"> + <p>'.$text[basename(__FILE__, ".php")]["noCompleted"].'</p> + </section>'); +} + +echo('<!-- Espace vide si le tableau est petit --> +<div class="spacer"></div>'); + +// **************************************************************************** +// FIN DIV PRINCIPALE +// **************************************************************************** +echo('</main>'.PHP_EOL); + +?>
\ No newline at end of file diff --git a/Template/admin.php b/Template/admin.php new file mode 100644 index 0000000..a302006 --- /dev/null +++ b/Template/admin.php @@ -0,0 +1,46 @@ +<?php + +// ############################################################################ +// # # +// # Description: Page pour administrer le site web # +// # # +// ############################################################################ + +// Démarrage de la session. +session_start(); +// Vérification si l'utilisateur est admin et connecté sinon: raise 404. +if (!isset($_SESSION["loggedIn"], $_SESSION["userStatus"]) + || $_SESSION["loggedIn"] == false + || $_SESSION["userStatus"] != 0 + ) { + http_response_code(404); + die(); +} else { + // Définition de la variable src de la session avec le nom du fichier. + $_SESSION["src"] = basename(__FILE__, ".php"); +} + +// Utilisation de "dirname" pour réaliser des imports en chemin absolue. +// Import du dossier des textes en fonction de +// la langue sélectionnée dans la variable lang de la session. +?> +<!-- Déclaration du type de document --> +<!DOCTYPE html> +<!-- Balise racine d'un document HTML --> +<?php echo('<html lang="'.$_SESSION["lang"].'">'.PHP_EOL); ?> +<!-- Balise contenant les metadata --> +<head> +<?php require_once(dirname( __FILE__ )."./Include/incl_global_header.php"); ?> +<?php echo(' <link href="/Static/Css/admin.css" rel="stylesheet">'.PHP_EOL); ?> +<?php require_once(dirname( __FILE__ )."./Include/".$_SESSION["lang"]."/title.php"); ?> +<?php echo(" <title>".$title[basename(__FILE__, ".php")]."</title>".PHP_EOL); ?> +</head> +<!-- Balise principale contenant le corps du document HTML --> +<body> +<?php require_once(dirname( __FILE__ )."./Include/incl_global_navbar.php"); ?> +<?php require_once(dirname( __FILE__ )."./Include/incl_form_admin.php"); ?> +<?php require_once(dirname( __FILE__ )."./Include/incl_global_footer.php"); ?> + <script src="/Static/Js/main.js"></script> + <script>show('mainAdmin', 'section', 'secAdminJobs', 'show_flex')</script> +</body> +</html>
\ No newline at end of file diff --git a/Template/autoLogin.php b/Template/autoLogin.php new file mode 100644 index 0000000..9395e13 --- /dev/null +++ b/Template/autoLogin.php @@ -0,0 +1,26 @@ +<?php + +// ############################################################################ +// # # +// # Description: Renvoie vers le wrapper pour connection auto-login # +// # # +// ############################################################################ + +// Démarrage de la session. +session_start(); + +// Si la variable de session loggedin existe et que l'utilsiateur est connecté +// ou que le cookie de connection n'est pas présent: raise 404 +if ($_SESSION["loggedIn"] == true || !isset($_COOKIE["autoLogin"])) { + http_response_code(404); + die(); +} + +// Définition de la variable src de la session avec le nom du fichier. +$_SESSION["src"] = basename(__FILE__, ".php"); + +// Redirection vers le wrapper. +header("Location: /Core/wrapper.php"); +die(); + +?>
\ No newline at end of file diff --git a/Template/login.php b/Template/login.php new file mode 100644 index 0000000..fe0aee4 --- /dev/null +++ b/Template/login.php @@ -0,0 +1,37 @@ +<?php + +// ############################################################################ +// # # +// # Description: Page pour se connecter # +// # # +// ############################################################################ + +// Démarrage de la session. +session_start(); + +// Définition de la variable src de la session avec le nom du fichier. +$_SESSION["src"] = basename(__FILE__, ".php"); + +// Utilisation de "dirname" pour réaliser des imports en chemin absolue. +// Import du dossier des textes en fonction de +// la langue sélectionnée dans la variable lang de la session. +?> +<!-- Déclaration du type de document --> +<!DOCTYPE html> +<!-- Balise racine d'un document HTML --> +<?php echo('<html lang="'.$_SESSION["lang"].'">'.PHP_EOL); ?> +<!-- Balise contenant les metadata --> +<head> +<?php require_once(dirname( __FILE__ )."./Include/incl_global_header.php"); ?> +<?php echo(' <link href="/Static/Css/login.css" rel="stylesheet">'.PHP_EOL); ?> +<?php require_once(dirname( __FILE__ )."./Include/".$_SESSION["lang"]."/title.php"); ?> +<?php echo("<title>".$title[basename(__FILE__, ".php")]."</title>".PHP_EOL); ?> +</head> +<!-- Balise principale contenant le corps du document HTML --> +<body> +<?php require_once(dirname( __FILE__ )."./Include/incl_global_navbar.php"); ?> +<?php require_once(dirname( __FILE__ )."./Include/incl_form_login.php"); ?> +<?php require_once(dirname( __FILE__ )."./Include/incl_global_footer.php"); ?> + <script src="/Static/Js/main.js"></script> +</body> +</html>
\ No newline at end of file diff --git a/Template/logout.php b/Template/logout.php new file mode 100644 index 0000000..f7f9d85 --- /dev/null +++ b/Template/logout.php @@ -0,0 +1,24 @@ +<?php + +// ############################################################################ +// # # +// # Description: Page qui renvoi vers le wrapper pour se déconnecter # +// # # +// ############################################################################ + +// Démarrage de la session. +session_start(); + +// Si déja non connecté: raise 404 +if (!isset($_SESSION["loggedIn"]) || $_SESSION["loggedIn"] != true) { + http_response_code(404); + die(); +} + +// Définition de la variable src de la session avec le nom du fichier. +$_SESSION["src"] = basename(__FILE__, ".php"); + +// Redirection vers le wrapper. +header("Location: /Core/wrapper.php"); +die(); +?>
\ No newline at end of file diff --git a/Template/message.php b/Template/message.php new file mode 100644 index 0000000..b28e067 --- /dev/null +++ b/Template/message.php @@ -0,0 +1,42 @@ +<?php + +// ############################################################################ +// # # +// # Description: Page qui affiche un message et optionnellement renvoi # +// # vers l'index # +// # # +// ############################################################################ + +// Démarrage de la session. +session_start(); + +// Si pas de message (variable messageNumber de la session): raise 404. +if (!isset($_SESSION["message"])) { + http_response_code(404); + die(); +} + +// Utilisation de "dirname" pour réaliser des imports en chemin absolue. +// Import du dossier des textes en fonction de +// la langue sélectionnée dans la variable lang de la session. +?> +<!-- Déclaration du type de document --> +<!DOCTYPE html> +<!-- Balise racine d'un document HTML --> +<?php echo('<html lang="'.$_SESSION["lang"].'">'.PHP_EOL); ?> +<!-- Balise contenant les metadata --> +<head> +<?php require_once(dirname( __FILE__ )."./Include/incl_global_header.php"); ?> +<?php echo(' <link href="/Static/Css/message.css" rel="stylesheet">'.PHP_EOL); ?> +<?php require_once(dirname( __FILE__ )."./Include/".$_SESSION["lang"]."/title.php"); ?> +<?php echo(" <title>".$title[basename(__FILE__, ".php")]."</title>".PHP_EOL); ?> +</head> +<!-- Balise principale contenant le corps du document HTML --> +<body> +<?php require_once(dirname( __FILE__ )."./Include/incl_global_navbar.php"); ?> +<?php require_once(dirname( __FILE__ )."./Include/incl_global_message.php"); ?> +<?php require_once(dirname( __FILE__ )."./Include/incl_global_footer.php"); ?> + <script src="/Static/Js/main.js"></script> +</body> +</html> +<?php unset($_SESSION["messageNumber"]); ?> diff --git a/Template/mission.php b/Template/mission.php new file mode 100644 index 0000000..0fa5a01 --- /dev/null +++ b/Template/mission.php @@ -0,0 +1,48 @@ +<?php + +// ############################################################################ +// # # +// # Description: Page pour enregistrer une mission # +// # # +// ############################################################################ + +// 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["userStatus"]) + || $_SESSION["loggedIn"] == false + || $_SESSION["userStatus"] != 2 +) { + $messageNumber = 9; + $_SESSION["messageNumber"] = $messageNumber; + header("Location: /Template/message.php"); + die(); +} + +// Définition de la variable src de la session avec le nom du fichier. +$_SESSION["src"] = basename(__FILE__, ".php"); + +// Utilisation de "dirname" pour réaliser des imports en chemin absolue. +// Import du dossier des textes en fonction de +// la langue sélectionnée dans la variable lang de la session. +?> +<!-- Déclaration du type de document --> +<!DOCTYPE html> +<!-- Balise racine d'un document HTML --> +<?php echo('<html lang="'.$_SESSION["lang"].'">'.PHP_EOL); ?> +<!-- Balise contenant les metadata --> +<head> +<?php require_once(dirname( __FILE__ )."./Include/incl_global_header.php"); ?> +<?php echo(' <link href="/Static/Css/mission.css" rel="stylesheet">'.PHP_EOL); ?> +<?php require_once(dirname( __FILE__ )."./Include/".$_SESSION["lang"]."/title.php"); ?> +<?php echo(" <title>".$title[basename(__FILE__, ".php")]."</title>".PHP_EOL); ?> +</head> +<!-- Balise principale contenant le corps du document HTML --> +<body> +<?php require_once(dirname( __FILE__ )."./Include/incl_global_navbar.php"); ?> +<?php require_once(dirname( __FILE__ )."./Include/incl_form_mission.php"); ?> +<?php require_once(dirname( __FILE__ )."./Include/incl_global_footer.php"); ?> + <script src="/Static/Js/main.js"></script> +</body> +</html>
\ No newline at end of file diff --git a/Template/myMission.php b/Template/myMission.php new file mode 100644 index 0000000..d87e02d --- /dev/null +++ b/Template/myMission.php @@ -0,0 +1,49 @@ +<?php + +// ############################################################################ +// # # +// # Description: Page pour voir ses missions # +// # # +// ############################################################################ + +// Démarrage de la session. +session_start(); + +// Si n'est pas connecté ou n'est pas consultant: raise 404. +if (!isset($_SESSION["loggedIn"], $_SESSION["userStatus"]) + || $_SESSION["loggedIn"] == false + || ($_SESSION["userStatus"] != 1 + && $_SESSION["userStatus"] != 2 + ) +) { + http_response_code(404); + die(); +} + +// Définition de la variable src de la session avec le nom du fichier. +$_SESSION["src"] = basename(__FILE__, ".php"); + +// Utilisation de "dirname" pour réaliser des imports en chemin absolue. +// Import du dossier des textes en fonction de +// la langue sélectionnée dans la variable lang de la session. +?> +<!-- Déclaration du type de document --> +<!DOCTYPE html> +<!-- Balise racine d'un document HTML --> +<?php echo('<html lang="'.$_SESSION["lang"].'">'.PHP_EOL); ?> +<!-- Balise contenant les metadata --> +<head> +<?php require_once(dirname( __FILE__ )."./Include/incl_global_header.php"); ?> +<?php echo(' <link href="/Static/Css/myMission.css" rel="stylesheet">'.PHP_EOL); ?> +<?php require_once(dirname( __FILE__ )."./Include/".$_SESSION["lang"]."/title.php"); ?> +<?php echo(" <title>".$title[basename(__FILE__, ".php")]."</title>".PHP_EOL); ?> +</head> +<!-- Balise principale contenant le corps du document HTML --> +<body> +<?php require_once(dirname( __FILE__ )."./Include/incl_global_navbar.php"); ?> +<?php require_once(dirname( __FILE__ )."./Include/incl_table_myMission.php"); ?> +<?php require_once(dirname( __FILE__ )."./Include/incl_global_footer.php"); ?> + <script src="/Static/Js/main.js"></script> + <script>show('mainMyMission', 'section', 'secPending', 'show_block')</script> +</body> +</html>
\ No newline at end of file diff --git a/Template/register.php b/Template/register.php new file mode 100644 index 0000000..9e64b4b --- /dev/null +++ b/Template/register.php @@ -0,0 +1,37 @@ +<?php + +// ############################################################################ +// # # +// # Description: Page pour s'inscrire # +// # # +// ############################################################################ + +// Démarrage de la session. +session_start(); + +// Définition de la variable src de la session avec le nom du fichier. +$_SESSION["src"] = basename(__FILE__, ".php"); + +// Utilisation de "dirname" pour réaliser des imports en chemin absolue. +// Import du dossier des textes en fonction de +// la langue sélectionnée dans la variable lang de la session. +?> +<!-- Déclaration du type de document --> +<!DOCTYPE html> +<!-- Balise racine d'un document HTML --> +<?php echo('<html lang="'.$_SESSION["lang"].'">'.PHP_EOL); ?> +<!-- Balise contenant les metadata --> +<head> +<?php require_once(dirname( __FILE__ )."./Include/incl_global_header.php"); ?> +<?php echo(' <link href="/Static/Css/register.css" rel="stylesheet">'.PHP_EOL); ?> +<?php require_once(dirname( __FILE__ )."./Include/".$_SESSION["lang"]."/title.php"); ?> +<?php echo(" <title>".$title[basename(__FILE__, ".php")]."</title>".PHP_EOL); ?> +</head> +<!-- Balise principale contenant le corps du document HTML --> +<body> +<?php require_once(dirname( __FILE__ )."./Include/incl_global_navbar.php"); ?> +<?php require_once(dirname( __FILE__ )."./Include/incl_form_register.php")?> +<?php require_once(dirname( __FILE__ )."./Include/incl_global_footer.php");?> + <script src="/Static/Js/main.js"></script> +</body> +</html>
\ No newline at end of file diff --git a/Template/userInfo.php b/Template/userInfo.php new file mode 100644 index 0000000..63ecee7 --- /dev/null +++ b/Template/userInfo.php @@ -0,0 +1,46 @@ +<?php + +// ############################################################################ +// # # +// # Description: Page pour modifier les informations de l'utilisateur # +// # # +// ############################################################################ + +// Démarrage de la session. +session_start(); + +if (!isset($_SESSION["loggedIn"], $_SESSION["userStatus"]) + || $_SESSION["loggedIn"] == false + || ($_SESSION["userStatus"] != 1 + && $_SESSION["userStatus"] != 2 + ) +) { + http_response_code(404); + die(); +} + +// Définition de la variable src de la session avec le nom du fichier. +$_SESSION["src"] = basename(__FILE__, ".php"); +// Utilisation de "dirname" pour réaliser des imports en chemin absolue. +// Import du dossier des textes en fonction de +// la langue sélectionnée dans la variable lang de la session. +?> +<!-- Déclaration du type de document --> +<!DOCTYPE html> +<!-- Balise racine d'un document HTML --> +<?php echo('<html lang="'.$_SESSION["lang"].'">'.PHP_EOL); ?> +<!-- Balise contenant les metadata --> +<head> +<?php require_once(dirname( __FILE__ )."./Include/incl_global_header.php"); ?> +<?php echo(' <link href="/Static/Css/userInfo.css" rel="stylesheet">'.PHP_EOL); ?> +<?php require_once(dirname( __FILE__ )."./Include/".$_SESSION["lang"]."/title.php"); ?> +<?php echo(" <title>".$title[basename(__FILE__, ".php")]."</title>".PHP_EOL); ?> +</head> +<!-- Balise principale contenant le corps du document HTML --> +<body> +<?php require_once(dirname( __FILE__ )."./Include/incl_global_navbar.php"); ?> +<?php require_once(dirname( __FILE__ )."./Include/incl_form_userInfo.php")?> +<?php require_once(dirname( __FILE__ )."./Include/incl_global_footer.php");?> + <script src="/Static/Js/main.js"></script> +</body> +</html>
\ No newline at end of file |
