diff --git a/php/src/controleur/AdminControleur.php b/php/src/controleur/AdminControleur.php index 5008df0..67cb50f 100755 --- a/php/src/controleur/AdminControleur.php +++ b/php/src/controleur/AdminControleur.php @@ -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() diff --git a/php/src/controleur/FrontControleur.php b/php/src/controleur/FrontControleur.php index e928df4..5e3f664 100755 --- a/php/src/controleur/FrontControleur.php +++ b/php/src/controleur/FrontControleur.php @@ -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; diff --git a/php/src/controleur/MembreControleur.php b/php/src/controleur/MembreControleur.php index 433fed5..6bc5a25 100755 --- a/php/src/controleur/MembreControleur.php +++ b/php/src/controleur/MembreControleur.php @@ -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; diff --git a/php/src/controleur/UtilisateurControleur.php b/php/src/controleur/UtilisateurControleur.php index 7aa39f6..ea9e74f 100755 --- a/php/src/controleur/UtilisateurControleur.php +++ b/php/src/controleur/UtilisateurControleur.php @@ -284,13 +284,5 @@ class UtilisateurControleur } } - public function deconnexion() - { - session_destroy(); - - header('Location: accueil'); - // global $twig; - // $twig->render('accueil.html',[]); - exit(); - } + } \ No newline at end of file diff --git a/php/src/metier/Alumni.php b/php/src/metier/Alumni.php index 610b752..70e5aa8 100644 --- a/php/src/metier/Alumni.php +++ b/php/src/metier/Alumni.php @@ -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, "","", "", "",""); } /** diff --git a/php/src/metier/Profil.php b/php/src/metier/Profil.php index 9bd0f06..cd98118 100644 --- a/php/src/metier/Profil.php +++ b/php/src/metier/Profil.php @@ -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'; diff --git a/php/src/modele/AdminModele.php b/php/src/modele/AdminModele.php index ac33e99..613a338 100755 --- a/php/src/modele/AdminModele.php +++ b/php/src/modele/AdminModele.php @@ -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; } /** diff --git a/php/src/modele/UtilisateurModele.php b/php/src/modele/UtilisateurModele.php index 3d6adaf..4e125b9 100755 --- a/php/src/modele/UtilisateurModele.php +++ b/php/src/modele/UtilisateurModele.php @@ -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'], diff --git a/php/templates/accueil.html b/php/templates/accueil.html index e947817..7b942ae 100755 --- a/php/templates/accueil.html +++ b/php/templates/accueil.html @@ -16,7 +16,7 @@
{% if prenom and nom %} - Bienvenue, {{ prenom }} {{ nom }} {{id}}! + Bienvenue, {{ prenom }} {{ nom }} {{id}} {{role}}! {% else %} Bienvenue, invité! {% endif %}
@@ -56,7 +56,6 @@ - S'inscrire {% endfor %} diff --git a/php/templates/menu.html b/php/templates/menu.html index a771142..de1c7ae 100644 --- a/php/templates/menu.html +++ b/php/templates/menu.html @@ -27,7 +27,7 @@ {% if nom and prenom %} - Déconnexion + Déconnexion {% else %}Développeur web chez CGI FRANCE
Voir le détail du profil {% if role == 'Admin' %} - Bannir l'utilisateur + Bannir l'utilisateur {% endif %}