Suppression d'un compte utilisateur

pull/24/head
Leni BEAULATON 3 months ago
parent 41e02e2b47
commit 6c75200b8c

@ -14,7 +14,7 @@ $mdp = '';
$racine='/~kekentin/WF/WF-Website'; // /~kekentin/WF/WF-Website /~lebeaulato/WF-Website /~kemondejar/WF-Website
$racine='/~lebeaulato/WF-Website'; // /~kekentin/WF/WF-Website /~lebeaulato/WF-Website /~kemondejar/WF-Website
//$racine='/WF-Website';

@ -16,7 +16,7 @@ Class FrontControler{
global $twig,$racine;
$this->listAction = ['visitor' => array('accueil','search','quote','login','signin','validlogin','validsignin'),
'user' => array('quiz','commentary','logout','addComment','favorite','profil','addFav','supFav','changedata', 'submit', 'validsubmit', 'add'),
'user' => array('quiz','commentary','logout','addComment','favorite','profil','addFav','supFav','changedata', 'submit', 'validsubmit', 'add','deleteAccount'),
'admin' => array('null')];
$dVueEreur = [];
@ -54,6 +54,7 @@ Class FrontControler{
$router->map('GET|POST', '/submit', 'UserControler', 'submit');
$router->map('GET|POST', '/validsubmit', 'UserControler', 'validsubmit');
$router->map('GET|POST', '/add', 'UserControler', 'add');
$router->map('GET|POST', '/deleteAccount', 'UserControler', 'deleteAccount');
$match = $router->match();

@ -437,6 +437,7 @@ class UserControler {
return null;
}
public function add(){
global $vues;
var_dump($_POST);
@ -504,20 +505,67 @@ class UserControler {
}
public function sendEmailChangeLogin(string $email) : void{
$to = $email; // Adresse email de destination
$subject = "What The Fantasy - Changement d'Email"; // Sujet de l'email
$message = "
Bonjour,
L'adresse mail $email est désormais votre nouvelle adresse.
// ===================== DELETE ACCOUNT FUNCTION =====================
public function deleteAccount(){
$this->uMod->deleteAllCommentary($_SESSION["user"]); // Delete all commentary
$this->uMod->deleteAllFavorite($_SESSION["user"]); // Delete all favorite
$this->uMod->deleteAccount($_SESSION["user"]);
$this->unlog();
}
// ===================== EMAIL FUNCTION =====================
public function sendEmailChangeLogin(string $email) {
// Génère les données du message
$sujet = "What The Fantasy - Changement d'Email";
$urlImage = "public/images/Baneer.png";
// Génère une frontière unique pour l'email
$boundary = "-----=" . md5(uniqid(mt_rand()));
//Instancie les headers
$headers = "From: noreply@whatTheFantasy.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/related; boundary=\"$boundary\"\r\n";
// Corps de l'email HTML avec l'image intégrée
$corpsMessage = "--$boundary\r\n";
$corpsMessage .= "Content-Type: text/html; charset=UTF-8\r\n";
$corpsMessage .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
// Ajoute le message HTML
$corpsMessage .= "<html>
<body>
<img src=\"cid:image1\" alt=\"Image\" style=\"width: 1200px; height: auto;\" />
<p>Bonjour,</p>
<p>Vous venez de changer votre adresse mail. Dorénavant, votre email sera $email.</p>
<p>L'équipe du site</p>
</body>
</html>\r\n";
// Ajoute l'image en pièce jointe
$corpsMessage .= "--$boundary\r\n";
$corpsMessage .= "Content-Type: image/jpeg; name=\"image.jpg\"\r\n";
$corpsMessage .= "Content-Transfer-Encoding: base64\r\n";
$corpsMessage .= "Content-ID: <image1>\r\n\r\n";
$imageContent = file_get_contents($urlImage);// Lecture et encodage de l'image en base64
if ($imageContent === false) {
return "Impossible de charger l'image spécifiée.";
}
$corpsMessage .= chunk_split(base64_encode($imageContent)) . "\r\n";
$corpsMessage .= "--$boundary--";// Fin du corps de l'email
L'équipe du site
"; // Contenu de l'email
$headers = "From: noreply@whatTheFantasy.com"; // Adresse email de l'expéditeur
// Envoyer l'email
mail($to, $subject, $message, $headers);
mail($email, $sujet, $corpsMessage, $headers);// Envoi de l'email
}
}

@ -232,7 +232,7 @@ Class VisitorControler {
// Ajoute le message HTML
$corpsMessage .= "<html>
<body>
<img src=\"cid:image1\" alt=\"Image\" style=\"width: 400px; height: auto;\" />
<img src=\"cid:image1\" alt=\"Image\" style=\"width: 1200px; height: auto;\" />
<p>Bonjour $pseudo,</p>
<p>Merci de vous être inscrit sur notre site What The Fantasy. Cest avec grande joie que nous vous accueillons au sein de notre confrérie, pour découvrir ensemble...
@ -242,7 +242,7 @@ Class VisitorControler {
</body>
</html>\r\n";
// Ajoute l'image en pièce jointe avec un CID
// Ajoute l'image en pièce jointe
$corpsMessage .= "--$boundary\r\n";
$corpsMessage .= "Content-Type: image/jpeg; name=\"image.jpg\"\r\n";
$corpsMessage .= "Content-Transfer-Encoding: base64\r\n";

@ -75,14 +75,30 @@ Class UserGateway extends Gateway{
$query = 'SELECT id_user FROM Users WHERE username = :username';
$this->co->executeQuery($query, array(':username' => array($username,PDO::PARAM_STR)));
$result = $this->co->getResults()[0]['id_user'];
var_dump($result);
var_dump($id);
$query = 'DELETE FROM Favorite WHERE users = :user AND quote = :id;';
$this->co->executeQuery($query, array(':user' => array($result,PDO::PARAM_INT), ':id' => array($id,PDO::PARAM_INT)));
$query = 'UPDATE Quote SET likes = (likes - 1) WHERE id_quote = :id';
$this->co->executeQuery($query, array(':id' => array($id,PDO::PARAM_INT)));
}
public function deleteAllCommentaryUser(string $user){
$query = 'DELETE FROM Commentary WHERE users IN ( SELECT id_user FROM Users WHERE username = :user);';
$this->co->executeQuery($query, array(':user'=>array($user, PDO::PARAM_STR)));
}
public function deleteAllFavoriteUser(string $user){
$query = 'DELETE FROM Favorite WHERE users IN ( SELECT id_user FROM Users WHERE username = :user);';
$this->co->executeQuery($query, array(':user'=>array($user, PDO::PARAM_STR)));
}
public function deleteUser(string $user){
$query = 'DELETE FROM Users WHERE username=:user;';
$this->co->executeQuery($query, array(':user'=>array($user, PDO::PARAM_STR)));
}
// ===================== GET FUNCTION =====================
public function getFavorite(string $id):array{

@ -170,6 +170,22 @@
public function supFavorite(string $username, int $id){
$this->gateway->supFavorite($username,$id);
}
// ===================== DELETE FUNCTION =====================
public function deleteAllCommentary(string $username){
$this->gateway->deleteAllCommentaryUser($username);
}
public function deleteAllFavorite(string $username){
$this->gateway->deleteAllFavoriteUser($username);
}
public function deleteAccount(string $username){
$this->gateway->deleteUser($username);
}
}
?>

@ -6,7 +6,7 @@
<input type="text" class="connexion" name="pseudo" id="pseudo" placeholder="Entrez votre pseudo" required />
<p> <strong> Mot de passe *</strong></p>
<input type="password" class="connexion" name="mdp" id="mdp" placeholder="Entrez votre mdp" required />
<input type="password" class="connexion" name="mdp" id="mdp" placeholder="Entrez votre mot de passe" required />
{% if error is defined and error is not empty %}
<p style="color: red">{{ error }}</p>

@ -56,6 +56,12 @@
</a>
</div>
<div class="buttonSudmiteDiv">
<a href="{{ racine }}/deleteAccount" class="createQuote">
<button class="buttonSudmite">Supprimer son compte</button>
</a>
</div>
</div>
</body>
</html>
Loading…
Cancel
Save