<?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 = listeDomainesBdd($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['choix_privilege_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']);
				changeMotDePasseUtilisateurBdd($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();
}

?>