premice deleteUser

alexis-rendu
Leo TUAILLON 1 year ago
parent a2f805cba2
commit 849663f143

@ -4,41 +4,35 @@ namespace App\controleur;
use App\controleur\UtilisateurModele;
use App\controleur\ImageSaver;
use App\config\Validation;
use App\modele\AdminModele;
use Exception;
class AdminControleur extends ModerateurControleur
{
public function __construct()
public function supprimerCompte(?array $params)
{
global $twig;
if (!isset($_REQUEST["action"])) {
$action = NULL;
$adminModel = new AdminModele();
$dVueErreur = [];
var_dump($params);
if (isset($params['id'])) {
$profilId = $params['id'];
try {
$adminModel->deleteAccount($profilId);
// Redirection ou autre logique après la suppression
} catch (Exception $e) {
$dVueErreur[] = "Erreur lors de la suppression du compte";
echo $twig->render("erreur.html", ['dVueErreur' => $dVueErreur]);
}
} else {
$action = \App\config\Validation::nettoyerString($_REQUEST["action"]);
$dVueErreur[] = "ID du profil non spécifié.";
echo $twig->render("erreur.html", ['dVueErreur' => $dVueErreur]);
}
switch ($action) {
case "supprimerCompte":
$this->supprimerCompte();
break;
case "consulterSignalement":
$this->consulterSignalement();
break;
case "creerEvenement":
$this->creerEvenement();
break;
case "supprimerEvenement":
$this->supprimerEvenement();
break;
case "supprimerOffre":
$this->supprimerOffre();
break;
default:
parent::__construct();
}
}
protected function supprimerCompte()
{
//TODO
}
protected function consulterSignalement()

@ -40,8 +40,10 @@ class FrontControleur
$router->map('GET','/[a:action]/[i:id]?','UtilisateurControleur');
$router->map('GET|POST', '/user/[a:action]?', 'MembreControleur');
$router->map('GET|POST', '/user/[i:id]/[a:action]?', 'MembreControleur');
$router->map('GET|POST', '/admin/[i:id]/[a:action]?', 'AdminControleur');
$id = 0;

@ -11,8 +11,15 @@ class MembreControleur extends UtilisateurControleur
{
}
public function deconnexion()
{
global $twig;
session_unset();
session_destroy();
header("Location: /SAE_2A_FA-Reseau_ALICA/php/");
exit();
}
public function createOfferForm()
{
global $twig;

@ -284,13 +284,5 @@ class UtilisateurControleur
}
}
public function deconnexion()
{
session_destroy();
header('Location: accueil');
// global $twig;
// $twig->render('accueil.html',[]);
exit();
}
}

@ -34,7 +34,7 @@ class Alumni{
$this->email = $email;
$this->motDePasse = $motDePasse;
$this->role = $role;
$this->profil = new Profil($nom, $prenom, $email, "","", "", "","");
$this->profil = new Profil($id,$nom, $prenom, $email, "","", "", "","");
}
/**

@ -51,9 +51,9 @@ class Profil
* @param string $githubUrl
* @param string $portfolioUrl
*/
public function __construct(string $nom, string $prenom, string $email, ?string $image,string $cv, string $linkedinUrl, string $githubUrl, string $portfolioUrl)
public function __construct(int $alumni,string $nom, string $prenom, string $email, ?string $image,string $cv, string $linkedinUrl, string $githubUrl, string $portfolioUrl)
{
$this->id = $alumni;
$this->nom = $nom;
$this->prenom = $prenom;
$this->image = $image;
@ -65,7 +65,10 @@ class Profil
}
public function getId(): int
{
return $this->id;
}
public function getImage(): ?string
{
return $this->image ?? 'logo.png';

@ -10,9 +10,9 @@ class AdminModele extends MembreModele
* @description supprimer un compte
* @param Alumni $account compte à supprimer
*/
public function deleteAccount(\App\metier\Alumni $account)
public function deleteAccount(int $account)
{
// TO DO
echo $account;
}
/**

@ -88,9 +88,9 @@ class UtilisateurModele
$gate = new AlumniGateway($con);
// Récupérez l'utilisateur avec l'email donné en utilisant AlumniGateway
$utilisateur = $gate->findByEmail($email);
if ($utilisateur instanceof Alumni) {
if (isset($utilisateur[0])) {
// L'utilisateur existe, retournez-le
return $utilisateur;
return new Alumni($utilisateur[0]['id'],$utilisateur[0]['mail'], $utilisateur[0]['mdp'], $utilisateur[0]['role'],$utilisateur[0]['nom'],$utilisateur[0]['prenom']);
} else {
// L'utilisateur n'existe pas, renvoyez null
return null;
@ -196,6 +196,7 @@ class UtilisateurModele
$profils = array();
foreach ($data as $row) {
$profils[] = new Profil(
$row['alumni'],
$row['nom'],
$row['prenom'],
$row['email'],

@ -16,7 +16,7 @@
<h1>Accueil</h1>
<!-- Bienvenu suivie du mail des informations sessions de l'utilisateur -->
<p>{% if prenom and nom %}
Bienvenue, {{ prenom }} {{ nom }} {{id}}!
Bienvenue, {{ prenom }} {{ nom }} {{id}} {{role}}!
{% else %}
Bienvenue, invité!
{% endif %}</p>
@ -56,7 +56,6 @@
<div class="slide-date">{{event.date}}</div>
<div class="slide-title">{{event.titre}}</div>
<div class="slide-description">{{event.description}}</div>
<a href="index.php?action=" class="button">S'inscrire</a>
</div>
</div>
{% endfor %}

@ -27,7 +27,7 @@
<!-- Afficher boutons de connexion et d'inscription -->
{% if nom and prenom %}
<!-- Afficher bouton de déconnexion -->
<a href="{{dir}}/deconnexion" class="button">Déconnexion</a>
<a href="{{dir}}/user/deconnexion" class="button">Déconnexion</a>
{% else %}
<div class="login-register">
<a href="{{dir}}/connection" class="button">Connexion</a>

@ -26,7 +26,7 @@
<p class="job-title">Développeur web chez CGI FRANCE</p>
<a href="{{ 'voir_profil.php?id=' ~ profil.id }}" class="btn btn-primary">Voir le détail du profil</a>
{% if role == 'Admin' %}
<a href="{{ 'bloquer_profil.php?id=' ~ profil.id }}" class="btn btn-danger">Bannir l'utilisateur</a>
<a href="{{ dir }}/admin/{{ profil.id }}/supprimerCompte" class="btn btn-danger">Bannir l'utilisateur</a>
{% endif %}
</div>
</div>

Loading…
Cancel
Save