You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Courtail/services/gestion/parametres.php

218 lines
10 KiB

<?php
/**
* Page centrale de gestion des paramètres d'un utilisateur et du portail lui-même.
*/
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/utilisateurs.php");
$liste_utilisateurs = listeTousUtilisateursBdd($pdo);
$prefixe_utilisateur = retournePrefixeUtilisateurBdd($pdo,$_SESSION['pseudo_utilisateur']);
if ($_SESSION['pseudo_connexion_utilisateur'] !== $_SESSION['pseudo_utilisateur']){
$message_alert_utilisateur="<div class=\"alert alert-warning mt-2 mb-2\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle-warning.svg\"/> Vous allez modifier les paramètres d'un autre utilisateur que vous.</div>";
} else{
$message_alert_utilisateur="";
}
/**
* Affiche le formulaire de selection d'un utilisateur si celui connecté possède les privilèges administrateur.
*/
if (testPrivileges()==="administrateur") {
echo <<<_HEREDOC_
<div class="col-12">
<div class="card mt-4">
<div class="card-body">
<h5 class="card-title">Choix de l'adresse</h5>
<form id="form_choix_utilisateur" action="/services/traitements/utilisateurs/changeUtilisateur.php" method="post">
<select class="form-select" name="choix_utilisateur" onchange="autoSoumission(this);">
_HEREDOC_;
/**
* Remplis un menu déroulant permettant le choix de l'utilisateur par l'administrateur.
* Ce choix permettra de modifier les données y étant rattachés.
* La valeur par défaut du menu est positionnée sur le compte administrateur actuellement connecté.
*/
foreach ($liste_utilisateurs as $utilisateur_bdd => $utilisateur) {
if ($utilisateur['utilisateur']===$_SESSION['pseudo_utilisateur']) {
echo "<option value=\"".$utilisateur['utilisateur']."\" selected>".$utilisateur['utilisateur']."</option>\n";
}
elseif ($_SESSION['privilege_utilisateur']==="administrateur") {
echo "<option value=\"".$utilisateur['utilisateur']."\">".$utilisateur['utilisateur']."</option>\n";
}
}
echo <<<_HEREDOC_
</select>
<input type="hidden" name="page_origine" value="parametres">
</form>
</div>
</div>
</div>
_HEREDOC_;
}
/**
* Changement du mot de passe de l'utilisateur courant.
*/
?>
<div class="row">
<div class="col-12 col-md-12">
<?php if ($_SESSION['privilege_utilisateur']==="utilisateur" && !empty($prefixe_utilisateur)){ ?>
<div class="card mt-4 max-hauteur-pastille">
<div class="card-body">
<h5 class="card-title">Modifier le mot de passe</h5>
<?php echo $message_alert_utilisateur; ?>
<form action="/services/traitements/utilisateurs/changeMotDePasseUtilisateur.php" method="post">
<div class="input-group">
<input type="password" class="form-control" name="ancien_mot_de_passe" placeholder="Ancien mot de passe" required>
<input type="password" class="form-control" name="nouveau_mot_de_passe" placeholder="Nouveau mot de passe" required>
<input type="password" class="form-control" name="confirmation_mot_de_passe" placeholder="Confirmation mot de passe" required>
<button class="btn btn-primary bouton-ajout" type="submit">Modifier</button>
</div>
</form>
</div>
</div>
<?php } ?>
</div>
<?php
/**
* Sauvegarde des alias virtuels de l'utilisateur sélectionné.
*/
echo <<<_HEREDOC_
<div class="col-12 col-md-12 col-xl-6">
<div class="card mt-4 max-hauteur-pastille">
<div class="card-body">
<h5 class="card-title">Sauvegarde des alias virtuels de {$_SESSION['pseudo_utilisateur']}</h5>
<form action="/services/traitements/import_export/exportAliasVirtuelsUtilisateur.php" method="post">
<button class="btn btn-primary w-100" type="submit">Sauvegarder</button>
</form>
</div>
</div>
</div>
_HEREDOC_;
/**
* Restauration des alias virtuels de l'utilisateur sélectionné.
*/
echo <<<_HEREDOC_
<div class="col-12 col-md-12 col-xl-6">
<div class="card mt-4 max-hauteur-pastille">
<div class="card-body">
<h5 class="card-title">Restauration des alias virtuels de {$_SESSION['pseudo_utilisateur']}</h5>
<div class="alert alert-primary" role="alert">Les doublons seront omis.</div>
{$message_alert_utilisateur}
<form action="/services/traitements/import_export/importAliasVirtuelsUtilisateur.php" method="post" enctype="multipart/form-data">
<div class="input-group mt-2">
<input type="file" name="import_alias_virtuels_csv" class="form-control">
<button class="btn btn-primary bouton-ajout" type="submit">Restaurer</button>
</div>
</form>
</div>
</div>
</div>
_HEREDOC_;
/**
* Sauvegarde de la base de données selon la sélection de l'administrateur.
*/
if ($_SESSION['privilege_utilisateur']==="administrateur") {
echo <<<_HEREDOC_
<div class="col-12 col-md-12 col-xl-6">
<div class="card mt-4 max-hauteur-pastille">
<div class="card-body">
<h5 class="card-title">Sauvegarde de la base de données</h5>
<form action="/services/traitements/import_export/exportDonneesBdd.php" method="post">
<div class="row g-1">
<div class="form-check form-switch col-12 col-sm-12 col-md-6">
<input class="form-check-input" type="checkbox" role="switch" id="export_alias_virtuels" name="export_alias_virtuels" checked>
<label class="form-check-label" for="export_alias_virtuels">Alias virtuels</label>
</div>
<div class="form-check form-switch col-12 col-sm-12 col-md-6">
<input class="form-check-input" type="checkbox" role="switch" id="export_domaines" name="export_domaines" checked>
<label class="form-check-label" for="export_domaines">Domaines</label>
</div>
<div class="form-check form-switch col-12 col-sm-12 col-md-6">
<input class="form-check-input" type="checkbox" role="switch" id="export_liste_noire_destinataires" name="export_liste_noire_destinataires" checked>
<label class="form-check-label" for="export_liste_noire_destinataires">Liste noire destinataires</label>
</div>
<div class="form-check form-switch col-12 col-sm-12 col-md-6">
<input class="form-check-input" type="checkbox" role="switch" id="export_liste_noire_expediteurs" name="export_liste_noire_expediteurs" checked>
<label class="form-check-label" for="export_liste_noire_expediteurs">Liste noire expéditeurs</label>
</div>
<div class="form-check form-switch col-12 col-sm-12 col-md-6">
<input class="form-check-input" type="checkbox" role="switch" id="export_utilisateurs" name="export_utilisateurs" checked>
<label class="form-check-label" for="export_utilisateurs">Utilisateurs</label>
</div>
</div>
<button class="btn btn-primary w-100 mt-2" type="submit">Sauvegarder</button>
</form>
</div>
</div>
</div>
_HEREDOC_;
}
/**
* Restauration de la base de données selon la sélection de l'administrateur.
*/
if ($_SESSION['privilege_utilisateur']==="administrateur") {
echo <<<_HEREDOC_
<div class="col-12 col-md-12 col-xl-6">
<div class="card mt-4 max-hauteur-pastille">
<div class="card-body">
<h5 class="card-title">Restauration de la base de données</h5>
<div class="alert alert-warning" role="alert"><img src="/fichiers/svg/alert-triangle-warning.svg"/> Toutes les données non sauvegardées dans chaque section sélectionnée et présente dans votre fichier de restauration seront écrasées !</div>
<form action="/services/traitements/import_export/importDonneesBdd.php" method="post" enctype="multipart/form-data">
<div class="row g-1 mt-2 mb-2">
<div class="form-check form-switch col-12 col-sm-12 col-md-6">
<input class="form-check-input" type="checkbox" role="switch" id="import_alias_virtuels" name="import_alias_virtuels">
<label class="form-check-label" for="import_alias_virtuels">Alias virtuels</label>
</div>
<div class="form-check form-switch col-12 col-sm-12 col-md-6">
<input class="form-check-input" type="checkbox" role="switch" id="import_domaines" name="import_domaines">
<label class="form-check-label" for="import_domaines">Domaines</label>
</div>
<div class="form-check form-switch col-12 col-sm-12 col-md-6">
<input class="form-check-input" type="checkbox" role="switch" id="import_liste_noire_destinataires" name="import_liste_noire_destinataires">
<label class="form-check-label" for="import_liste_noire_destinataires">Liste noire destinataires</label>
</div>
<div class="form-check form-switch col-12 col-sm-12 col-md-6">
<input class="form-check-input" type="checkbox" role="switch" id="import_liste_noire_expediteurs" name="import_liste_noire_expediteurs">
<label class="form-check-label" for="import_liste_noire_expediteurs">Liste noire expéditeurs</label>
</div>
<div class="form-check form-switch col-12 col-sm-12 col-md-6">
<input class="form-check-input" type="checkbox" role="switch" id="import_utilisateurs" name="import_utilisateurs">
<label class="form-check-label" for="import_utilisateurs">Utilisateurs</label>
</div>
</div>
<div class="input-group mb-2">
<input type="file" name="import_donnees_csv" class="form-control">
<button class="btn btn-primary bouton-ajout" type="submit">Restaurer</button>
</div>
</form>
</div>
</div>
</div>
_HEREDOC_;
}
if ($_SESSION['privilege_utilisateur']==="administrateur") {
echo <<<_HEREDOC_
<div class="col-12 col-md-12 col-xl-12">
<div class="card mt-4 max-hauteur-pastille">
<div class="card-body">
<h5 class="card-title">Informations du site</h5>
<p class="mb-0">Version de Courtail : <a href="https://gitea.ycharbi.fr/YC-NM/Courtail/releases">v1.1.0</a></p>
</div>
</div>
</div>
_HEREDOC_;
}
?>
</div>
<script src="/fichiers/js/filtre.js"></script>