Ajout de la fonctionnalité de gestion des utilisateurs + déplacement du fichier Javascript gérant le filtrage des entrées dans le pied de page + correction de fautes de frappe dans les textes français + affichage de l'adresse de courriel en message de bienvenue si aucun nom complet n'existe pour l'utilisateur + déconnexion automatique d'un utilisateur désactivé par un administrateur + réorganisation visuel légère du code de certaines page + ajout du support des erreurs personnalisées lors de la déconnexion d'un utilisateur (seul une erreur générique était supporté)
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Page de traitement permettant la création d'un utilisateur.
|
||||
* Elle est appelée par le formulaire d'ajout d'un utilisateur (uniquement possible par un administrateur).
|
||||
*/
|
||||
|
||||
session_start();
|
||||
require_once($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
if (testPrivileges()!="administrateur") {
|
||||
header("Location: /pages/visiteurs/formulaire_accueil.php?erreur=18");
|
||||
die();
|
||||
}
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/domaines.php");
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/utilisateurs.php");
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/connexion.php");
|
||||
|
||||
if (isset($_POST['prefixe_utilisateur']) && isset($_POST['nom_utilisateur']) && !empty($_POST['nom_utilisateur']) && isset($_POST['choix_domaine_utilisateur']) && !empty($_POST['choix_domaine_utilisateur']) && isset($_POST['mot_de_passe_utilisateur']) && !empty($_POST['mot_de_passe_utilisateur']) && isset($_POST['nom_complet_utilisateur']) && isset($_POST['choix_privilege_utilisateur']) && !empty($_POST['choix_privilege_utilisateur'])) {
|
||||
|
||||
$liste_domaines = listeDomainesPostfix($pdo);
|
||||
|
||||
foreach ($liste_domaines as $domaine_cles => $domaine_valeurs){
|
||||
// Vérification de l'existence du domaine renseigné par l'utilisateur
|
||||
if ($_POST['choix_domaine_utilisateur'] === $domaine_valeurs['domaine']) {
|
||||
if ($_POST['choix_privilege_utilisateur'] === 'utilisateur' || $_POST['prefixe_utilisateur'] === 'administrateur') {
|
||||
ajoutUtilisateurBdd($pdo,$_POST['prefixe_utilisateur'],$_POST['nom_utilisateur'],$_POST['choix_domaine_utilisateur'],$_POST['mot_de_passe_utilisateur'],$_POST['nom_complet_utilisateur'],$_POST['choix_privilege_utilisateur']);
|
||||
changeMotDePasseUtilisateurPostfix($pdo,substr(htmlspecialchars($_POST['nom_utilisateur']."@".$_POST['choix_domaine_utilisateur']),0,100),trim($_POST['mot_de_passe_utilisateur']),trim($_POST['mot_de_passe_utilisateur']));
|
||||
header ("Location: /pages/gestion/administration.php?page=utilisateurs&succes=20");
|
||||
die();
|
||||
}
|
||||
else {
|
||||
header ("Location: /pages/gestion/administration.php?page=utilisateurs&erreur=27");
|
||||
die();
|
||||
}
|
||||
}
|
||||
}
|
||||
header ("Location: /pages/gestion/administration.php?page=utilisateurs&erreur=26");
|
||||
die();
|
||||
}
|
||||
else {
|
||||
header ("Location: /pages/gestion/administration.php?page=utilisateurs&erreur=26");
|
||||
die();
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* Page de traitement permettant le changement d'un utilisateur.
|
||||
* Elle est appelée par le formulaire de changement d'un utilisateur (uniquement possible par un administrateur).
|
||||
* Elle effectué ce changement en surchargeant la valeur de session relative à l'identité de l'utilisateur connecté.
|
||||
* Elle effectue ce changement en surchargeant la valeur de session relative à l'identité de l'utilisateur connecté.
|
||||
*/
|
||||
|
||||
session_start();
|
||||
|
||||
@@ -10,6 +10,9 @@ session_start ();
|
||||
if (!empty($_GET['succes'])) {
|
||||
$succes=$_GET['succes'];
|
||||
}
|
||||
elseif (!empty($_GET['erreur'])) {
|
||||
$erreur=$_GET['erreur'];
|
||||
}
|
||||
// Destruction des variables de la session
|
||||
session_unset();
|
||||
// Destruction de la session
|
||||
@@ -21,6 +24,10 @@ if (!empty($succes)) {
|
||||
header('location: /pages/visiteurs/formulaire_accueil.php?succes='.$succes);
|
||||
die();
|
||||
}
|
||||
elseif (!empty($erreur)) {
|
||||
header('location: /pages/visiteurs/formulaire_accueil.php?erreur='.$erreur);
|
||||
die();
|
||||
}
|
||||
// Redirection de l'utilisateur vers la page d'authentifiaction
|
||||
header('location: /pages/visiteurs/formulaire_accueil.php?succes=15');
|
||||
die();
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Page de traitement permettant la modification des informations des utilisateurs.
|
||||
*/
|
||||
|
||||
session_start();
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
testPrivileges();
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/utilisateurs.php");
|
||||
|
||||
$liste_utilisateurs = listeUtilisateursPostfix($pdo);
|
||||
|
||||
foreach ($liste_utilisateurs as $enieme_utilisateur_liste => $infos_utilisateur_liste){
|
||||
// Vérification de la correspondance entre l'ID de l'utilisateur soumis par formulaire avec celui en base de données (évite l'usurpation d'utilisateurs)
|
||||
if (isset($_POST['utilisateur'][$enieme_utilisateur_liste]['id_utilisateur']) && $_POST['utilisateur'][$enieme_utilisateur_liste]['id_utilisateur'] === $infos_utilisateur_liste['id']) {
|
||||
if (isset($_POST['utilisateur'][$enieme_utilisateur_liste]['etat_utilisateur']) && isset($_POST['utilisateur'][$enieme_utilisateur_liste]['nom_complet_utilisateur']) && isset($_POST['utilisateur'][$enieme_utilisateur_liste]['prefixe_utilisateur']) && isset($_POST['utilisateur'][$enieme_utilisateur_liste]['choix_privilege_utilisateur']) && isset($_POST['utilisateur'][$enieme_utilisateur_liste]['mot_de_passe_utilisateur']) && isset($_POST['utilisateur'][$enieme_utilisateur_liste]['confirmation_mot_de_passe_utilisateur'])) {
|
||||
// Vérification de l'existence de changements pour l'utilisateur parcouru. Cette condition évite de réécrire les données inchangées des utilisateurs non modifiés
|
||||
if ($infos_utilisateur_liste['active'] != $_POST['utilisateur'][$enieme_utilisateur_liste]['etat_utilisateur'] || $infos_utilisateur_liste['nom_complet'] != $_POST['utilisateur'][$enieme_utilisateur_liste]['nom_complet_utilisateur'] || $infos_utilisateur_liste['prefixe'] != $_POST['utilisateur'][$enieme_utilisateur_liste]['prefixe_utilisateur'] || $infos_utilisateur_liste['privilege'] != $_POST['utilisateur'][$enieme_utilisateur_liste]['choix_privilege_utilisateur'] || !empty($_POST['utilisateur'][$enieme_utilisateur_liste]['mot_de_passe_utilisateur'])) {
|
||||
// Vérification de la validité des informations de privilèges et d'état soumises au formulaire
|
||||
if (($_POST['utilisateur'][$enieme_utilisateur_liste]['choix_privilege_utilisateur'] === "utilisateur" || $_POST['utilisateur'][$enieme_utilisateur_liste]['choix_privilege_utilisateur'] === "administrateur") && ($_POST['utilisateur'][$enieme_utilisateur_liste]['etat_utilisateur'] === "0" || $_POST['utilisateur'][$enieme_utilisateur_liste]['etat_utilisateur'] === "1")) {
|
||||
$nouvelles_données_utilisateur=array(
|
||||
"id_utilisateur" => $_POST['utilisateur'][$enieme_utilisateur_liste]['id_utilisateur'],
|
||||
"nom_utilisateur" => $infos_utilisateur_liste['utilisateur'],
|
||||
"etat_utilisateur" => $_POST['utilisateur'][$enieme_utilisateur_liste]['etat_utilisateur'],
|
||||
"nom_complet_utilisateur" => $_POST['utilisateur'][$enieme_utilisateur_liste]['nom_complet_utilisateur'],
|
||||
"prefixe_utilisateur" => $_POST['utilisateur'][$enieme_utilisateur_liste]['prefixe_utilisateur'],
|
||||
"choix_privilege_utilisateur" => $_POST['utilisateur'][$enieme_utilisateur_liste]['choix_privilege_utilisateur'],
|
||||
);
|
||||
|
||||
// Sécurité empêchant l'administrateur connecté de se désactiver lui-même
|
||||
if ($nouvelles_données_utilisateur['nom_utilisateur'] === $_SESSION['pseudo_connexion_utilisateur']) {
|
||||
$nouvelles_données_utilisateur['etat_utilisateur'] = "1";
|
||||
}
|
||||
|
||||
modifUtilisateursBdd($pdo,$nouvelles_données_utilisateur);
|
||||
|
||||
// Changement du mot de passe de l'utilisateur
|
||||
if (!empty($_POST['utilisateur'][$enieme_utilisateur_liste]['mot_de_passe_utilisateur']) && !empty($_POST['utilisateur'][$enieme_utilisateur_liste]['confirmation_mot_de_passe_utilisateur']) && $_POST['utilisateur'][$enieme_utilisateur_liste]['mot_de_passe_utilisateur'] === $_POST['utilisateur'][$enieme_utilisateur_liste]['confirmation_mot_de_passe_utilisateur']) {
|
||||
changeMotDePasseUtilisateurPostfix($pdo,$nouvelles_données_utilisateur['nom_utilisateur'],$_POST['utilisateur'][$enieme_utilisateur_liste]['mot_de_passe_utilisateur'],$_POST['utilisateur'][$enieme_utilisateur_liste]['confirmation_mot_de_passe_utilisateur']);
|
||||
}
|
||||
}
|
||||
}
|
||||
// Si aucun changement sur l'utilisateur parcouru, ne rien faire et passer au suivant
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
header ("Location: /pages/gestion/administration.php?page=utilisateurs&succes=22");
|
||||
die();
|
||||
|
||||
|
||||
/*$numero_entree=1;
|
||||
foreach ($_POST as $cle_post => $infos_utilisateur){
|
||||
$toto=$_POST["id_utilisateur$numero_entree"];
|
||||
echo $_POST["nom_complet_utilisateur$toto"];/*
|
||||
// Vérification de l'existance du domaine renseigné par l'utilisateur
|
||||
/*if ($_POST['choix_domaine_utilisateur'] === $domaine_valeurs['domaine']) {
|
||||
if ($_POST['choix_privilege_utilisateur'] === 'utilisateur' || $_POST['prefixe_utilisateur'] === 'administrateur') {
|
||||
modifUtilisateursBdd($pdo,$_POST["nom_complet_utilisateur$id_utilisateur"],$_POST["prefixe_utilisateur$id_utilisateur"],$_POST["choix_privilege_utilisateur$id_utilisateur"],$_POST['mot_de_passe_utilisateur'],$_POST['nom_complet_utilisateur'],$_POST['choix_privilege_utilisateur']);
|
||||
changeMotDePasseUtilisateurPostfix($pdo,substr(htmlspecialchars($_POST['nom_utilisateur']."@".$_POST['choix_domaine_utilisateur']),0,100),trim($_POST['mot_de_passe_utilisateur']),trim($_POST['mot_de_passe_utilisateur']));
|
||||
header ("Location: /pages/gestion/administration.php?page=utilisateurs&succes=20");
|
||||
die();
|
||||
}
|
||||
else {
|
||||
header ("Location: /pages/gestion/administration.php?page=utilisateurs&erreur=27");
|
||||
die();
|
||||
}
|
||||
}*/
|
||||
/*$numero_entree++;
|
||||
}*/
|
||||
//echo "$id_utilisateur";
|
||||
//echo "$infos_utilisateur";
|
||||
/*die();
|
||||
header ("Location: /pages/gestion/administration.php?page=utilisateurs&erreur=26");
|
||||
die();
|
||||
|
||||
|
||||
modifUtilisateursBdd($pdo,$_POST);
|
||||
header ("Location: /pages/gestion/administration.php?page=utilisateurs&succes=22");*/
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Page de traitement permettant la suppression d'un utilisateur.
|
||||
*/
|
||||
|
||||
session_start();
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
testPrivileges();
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/utilisateurs.php");
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/alias_virtuels.php");
|
||||
|
||||
$pseudo_utilisateur_bdd=listeUtilisateurBdd($pdo,$_GET['supprUtilisateur']);
|
||||
|
||||
if(isset($_GET['supprUtilisateur']) && !empty($_GET['supprUtilisateur']) && supprTousAliasVirtuelsUtilisateurBdd($pdo,$_GET['supprUtilisateur'])) {
|
||||
if (supprUtilisateursBdd($pdo,$_GET['supprUtilisateur'])) {
|
||||
// Si l'utilisateur à modifier a été changé via la liste déroulante dédiée sur celui venant d'être supprimé, ce paramètre est réinitialisé à sa valeur par défaut pour ne plus éditer les valeurs de l'utilisateur n'existant plus
|
||||
if ($_SESSION['pseudo_utilisateur']===$pseudo_utilisateur_bdd[0]['utilisateur']) {
|
||||
$_SESSION['pseudo_utilisateur'] = $_SESSION['pseudo_connexion_utilisateur'];
|
||||
}
|
||||
|
||||
header ("Location: /pages/gestion/administration.php?page=utilisateurs&succes=21");
|
||||
die();
|
||||
}
|
||||
else {
|
||||
header ("Location: /pages/gestion/administration.php?page=utilisateurs&erreur=28");
|
||||
die();
|
||||
}
|
||||
}
|
||||
else {
|
||||
header ("Location: /pages/gestion/administration.php?page=utilisateurs&erreur=29");
|
||||
die();
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user