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\UtilisateurModele;
use App\controleur\ImageSaver; use App\controleur\ImageSaver;
use App\config\Validation; use App\config\Validation;
use App\modele\AdminModele;
use Exception;
class AdminControleur extends ModerateurControleur class AdminControleur extends ModerateurControleur
{ {
public function __construct()
public function supprimerCompte(?array $params)
{ {
global $twig; global $twig;
if (!isset($_REQUEST["action"])) { $adminModel = new AdminModele();
$action = NULL; $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 { } 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() protected function consulterSignalement()

@ -40,8 +40,10 @@ class FrontControleur
$router->map('GET','/[a:action]/[i:id]?','UtilisateurControleur'); $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', '/user/[i:id]/[a:action]?', 'MembreControleur');
$router->map('GET|POST', '/admin/[i:id]/[a:action]?', 'AdminControleur'); $router->map('GET|POST', '/admin/[i:id]/[a:action]?', 'AdminControleur');
$id = 0; $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() public function createOfferForm()
{ {
global $twig; 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->email = $email;
$this->motDePasse = $motDePasse; $this->motDePasse = $motDePasse;
$this->role = $role; $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 $githubUrl
* @param string $portfolioUrl * @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->nom = $nom;
$this->prenom = $prenom; $this->prenom = $prenom;
$this->image = $image; $this->image = $image;
@ -65,7 +65,10 @@ class Profil
} }
public function getId(): int
{
return $this->id;
}
public function getImage(): ?string public function getImage(): ?string
{ {
return $this->image ?? 'logo.png'; return $this->image ?? 'logo.png';

@ -10,9 +10,9 @@ class AdminModele extends MembreModele
* @description supprimer un compte * @description supprimer un compte
* @param Alumni $account compte à supprimer * @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); $gate = new AlumniGateway($con);
// Récupérez l'utilisateur avec l'email donné en utilisant AlumniGateway // Récupérez l'utilisateur avec l'email donné en utilisant AlumniGateway
$utilisateur = $gate->findByEmail($email); $utilisateur = $gate->findByEmail($email);
if ($utilisateur instanceof Alumni) { if (isset($utilisateur[0])) {
// L'utilisateur existe, retournez-le // 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 { } else {
// L'utilisateur n'existe pas, renvoyez null // L'utilisateur n'existe pas, renvoyez null
return null; return null;
@ -196,6 +196,7 @@ class UtilisateurModele
$profils = array(); $profils = array();
foreach ($data as $row) { foreach ($data as $row) {
$profils[] = new Profil( $profils[] = new Profil(
$row['alumni'],
$row['nom'], $row['nom'],
$row['prenom'], $row['prenom'],
$row['email'], $row['email'],

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

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

@ -26,7 +26,7 @@
<p class="job-title">Développeur web chez CGI FRANCE</p> <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> <a href="{{ 'voir_profil.php?id=' ~ profil.id }}" class="btn btn-primary">Voir le détail du profil</a>
{% if role == 'Admin' %} {% 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 %} {% endif %}
</div> </div>
</div> </div>

Loading…
Cancel
Save