<?php

/**
 * Page de gestion importé par la page d'administration centrale permettant la gestion des utilisateurs.
 */

 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");

$liste_utilisateurs = listeTousUtilisateursBdd($pdo);
$liste_domaines = listeDomainesBdd($pdo);

/**
 * Affiche le formulaire de selection d'un utilisateur si celui connecté possède les privilèges administrateur.
 */
if (testPrivileges()==="administrateur") {
	echo <<<_HEREDOC_

  <div class="card mt-4">
   <div class="card-body">
    <h5 class="card-title">Ajout d'un utilisateur</h5>
    <form id="form_choix_utilisateur" action="/services/traitements/utilisateurs/ajoutUtilisateur.php" method="post">
     <div class="row">
      <div class="col-xl-5 col-12 pt-2">
       <div class="input-group">
        <input class="form-control" type="text" name="prefixe_utilisateur" placeholder="prefixe" title="Texte s'ajoutant devant les alias de l'utilisateur afin de les discriminer de ceux des autres">
        <input type="text" class="form-control" id="nom_pour_filtre" name="nom_utilisateur" placeholder="nom utilisateur *" onkeyup="filtreValeurs();" title="Identifiant de l'utilisateur" required>
        <span class="input-group-text">@</span>
        <select class="form-select" name="choix_domaine_utilisateur" title="Choix d'un nom de domaine existant">
_HEREDOC_;
        try {
         foreach ($liste_domaines as $domaine_bdd => $domaine) {
          echo "<option value=\"".$domaine['domaine']."\">".$domaine['domaine']."</option>\n";
         }
        }
        catch (\Exception $e) {
         die ("Erreur de requête de selection du domaine pour \"$base\" : ".$e->getMessage());
        }
        
        echo <<<_HEREDOC_
        </select>
       </div>
      </div>
      <div class="col-xl-2 col-4 pt-2">
       <input type="password" class="form-control" name="mot_de_passe_utilisateur" placeholder="mot de passe *" title="Changement du mot de passe de l'utilisateur" required>
      </div>
      <div class="col-xl-2 col-4 pt-2 ps-0 pe-0">
       <input class="form-control" type="text" name="nom_complet_utilisateur" placeholder="nom complet" title="Nom complet de l'utilisateur">
      </div>
      <div class="col-xl-2 col-4 pt-2">
       <div class="input-group">
        <select class="form-select" name="choix_privilege_utilisateur" title="Privilège de l'utilisateur" required>
         <optgroup label="privilège">
          <option value="utilisateur" title="Accès limité aux fonctionnalités">utilisateur</option>
          <option value="administrateur" title="Accès complet et gestions des autres utilisateurs">administrateur</option>
         </optgroup>
        </select>
       </div>
      </div>
      <div class="col-xl-1 col-12 pt-2">
       <button class="btn btn-primary bouton-ajout" style="width: 100%;" type="submit">Appliquer</button>
      </div>
     </div>
    </form>
   </div>
  </div>

_HEREDOC_;
	}

?>

<div class="card mt-4">
	<div class="card-body">
		<h5 class="card-title">Utilisateurs du serveur</h5>
		<form class="" action="/services/traitements/utilisateurs/editUtilisateur.php" method="post">
			<div class="row" id="liste_pour_filtre">
			<?php

			/**
			 * Liste des utilisateurs.
			 */
			try {
    $numero_entree=0;
				foreach ($liste_utilisateurs as $utilisateurs_cles => $utilisateurs_valeurs) {
					if (isset($utilisateurs_valeurs['active']) && $utilisateurs_valeurs['active']=="1") {
						$etat_interrupteur_allumer="checked";
						$etat_interrupteur_eteint="";
					}
     else {
						$etat_interrupteur_eteint="checked";
						$etat_interrupteur_allumer="";
					}
     if (isset($utilisateurs_valeurs['utilisateur']) && $utilisateurs_valeurs['utilisateur'] === $_SESSION['pseudo_connexion_utilisateur']) {
      $etat_bouton_etat="disabled";
      $etat_bouton_suppr="disabled";
     }
     else {
      $etat_bouton_etat="";
      $etat_bouton_suppr="";
     }
					echo <<<_HEREDOC_
     <input type="hidden" name="utilisateur[{$numero_entree}][id_utilisateur]" value="{$utilisateurs_valeurs['id']}">
						<div class="col-md-6 col-xl-4">
							<div class="card contour-pastille">
								<div class="d-flex interieur-pastille">
									<div class="champ-interrupteur $etat_bouton_etat">
										<input type="radio" name="utilisateur[{$numero_entree}][etat_utilisateur]" id="allumer{$utilisateurs_valeurs['id']}" value="1" {$etat_interrupteur_allumer}>
										<label for="allumer{$utilisateurs_valeurs['id']}" class="interrupteur-allumer"></label>
										<input type="radio" name="utilisateur[{$numero_entree}][etat_utilisateur]" id="eteint{$utilisateurs_valeurs['id']}" value="0" {$etat_interrupteur_eteint}>
										<label for="eteint{$utilisateurs_valeurs['id']}" class="interrupteur-eteint"></label>
									</div>
									<div class="titre-pastille"><span>{$utilisateurs_valeurs['utilisateur']}</span>
_HEREDOC_;
     if ($utilisateurs_valeurs['privilege'] === "administrateur") {
          echo '<div class="survol"><span style="padding: 0; margin-left: 5px" class="badge fond-arc-noire"><img style="width: 80%" src="/fichiers/svg/chevrons-up.svg"></img></span><div class="message-survol">Cet utilisateur est un administrateur</div></div>';
     }
     echo '</div>';
					echo <<<_HEREDOC_
         <div>
										<label class="input-label-detail-utilisateur btn btn-primary btn-sm me-1" for="detail-utilisateur-{$utilisateurs_valeurs['id']}"><img src="/fichiers/svg/menu.svg"></label>
									</div>
									<div>
										<label class="input-label-supprimer-valeur btn btn-danger btn-sm $etat_bouton_suppr" for="supprimer-valeur-{$utilisateurs_valeurs['id']}"><img src="/fichiers/svg/trash-2.svg"></label>
									</div>
								</div>
								
        <input type="checkbox" class="input-checkbox-detail-utilisateur visuellement-cache" id="detail-utilisateur-{$utilisateurs_valeurs['id']}">
        <div class="detail-utilisateur card-footer">
         <input class="form-control mt-2" type="text" name="utilisateur[{$numero_entree}][nom_complet_utilisateur]" value="{$utilisateurs_valeurs['nom_complet']}" placeholder="nom complet" title="Nom complet de l'utilisateur">
         <input class="form-control mt-2" type="text" name="utilisateur[{$numero_entree}][prefixe_utilisateur]" value="{$utilisateurs_valeurs['prefixe']}" placeholder="prefixe" title="Texte s'ajoutant devant les alias de l'utilisateur afin de les discriminer de ceux des autres">
         <input type="password" class="form-control mt-2" name="utilisateur[{$numero_entree}][mot_de_passe_utilisateur]" placeholder="nouveau mot de passe" title="Changement du mot de passe de l'utilisateur">
         <input type="password" class="form-control mt-2" name="utilisateur[{$numero_entree}][confirmation_mot_de_passe_utilisateur]" placeholder="confirmation mot de passe" title="Confirmation du nouveau mot de passe">
         
         <select class="form-select mt-2 mb-2" name="utilisateur[{$numero_entree}][choix_privilege_utilisateur]" title="Privilège de l'utilisateur">
          <optgroup label="privilège">
_HEREDOC_;
         echo "<option value=\"utilisateur\" title=\"Accès limité aux fonctionnalités\"";
         if ($utilisateurs_valeurs['privilege']==="utilisateur") { echo " selected";};
         echo ">utilisateur</option>";
         echo "<option value=\"administrateur\" title=\"Accès complet et gestions des autres utilisateurs\"";
         if ($utilisateurs_valeurs['privilege']==="administrateur") { echo " selected";};
         echo ">administrateur</option>";
         echo <<<_HEREDOC_
          </optgroup>
         </select>
        </div>
        
        <input type="checkbox" class="input-checkbox-supprimer-valeur visuellement-cache" id="supprimer-valeur-{$utilisateurs_valeurs['id']}">
        <div class="confirmation-avertissement-info alert alert-warning" role="alert"><img src="/fichiers/svg/alert-triangle-warning.svg"/> Les fichiers de l'utilisateur devront être supprimés manuellement du serveur</div>
								<a class="confirmation-suppression card-footer" href="/services/traitements/utilisateurs/supprUtilisateur.php?supprUtilisateur={$utilisateurs_valeurs['id']}">Confirmer la suppression</a>
        
							</div>
						</div>
_HEREDOC_;
     $numero_entree++;
				}
			}
			catch (\Exception $e) {
				die ("Erreur de requête de selection utilisateurs pour \"$base\" : ".$e->getMessage());
			}

			?>
			</div>
			<button id="enregistrer-modifications" class="bouton-flotant" type="submit"><img src="/fichiers/svg/save.svg"/></button>
		</form>
	</div>
</div>
