merge modifCitation

pull/25/head
kevin.modejar 3 months ago
commit 48c5114e0c

@ -12,6 +12,7 @@ $base = '';
$login = '';
$mdp = '';
$racine='/~kemondejar/WF-Website'; // /~kekentin/WF/WF-Website /~lebeaulato/WF-Website /~kemondejar/WF-Website
//$racine='/WF-Website';
//$repImg='/home/UCA/kemondejar/public_html/WF-Website/public/images/';

@ -10,8 +10,9 @@ body.dark-mode p{
}
body.dark-mode :popover-open {
background: var(--main-dark-gradient);
background: black;
color: var(--main-dark-text-color);
border-color: black;
}
body.dark-mode .buttonSudmite{
@ -54,8 +55,9 @@ body.light-mode p{
body.light-mode :popover-open {
background: var(--main-light-gradient);
background: white;
color: var(--main-light-text-color);
border-color: white;
}
body.light-mode .buttonSubmit{
@ -109,7 +111,23 @@ p{
font-size: 15px;
text-align: center;
font-family: "roboto condensed", sans-serif;
display: flex;
flex-wrap: wrap;
border: 15px solid;
border-radius: 20px;
}
:popover-open >* {
flex: 1 1 20%;
}
.ChangeImg{
display:block;
margin: auto;
}
.imageProfil{
margin-bottom: 20vh;
}
.buttonSudmite{

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

@ -432,6 +432,7 @@ class UserControler {
return null;
}
public function add(){
global $vues, $repImg;
$error = [];
@ -553,20 +554,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,
// ===================== 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";
L'adresse mail $email est désormais votre nouvelle adresse.
// 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";
L'équipe du site
"; // Contenu de l'email
$headers = "From: noreply@whatTheFantasy.com"; // Adresse email de l'expéditeur
// 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";
// Envoyer l'email
mail($to, $subject, $message, $headers);
$corpsMessage .= "--$boundary--";// Fin du corps de l'email
mail($email, $sujet, $corpsMessage, $headers);// Envoi de l'email
}
}

@ -243,7 +243,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...
@ -253,7 +253,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>

@ -55,6 +55,12 @@
<button class="buttonSudmite">Se déconnecter</button>
</a>
</div>
<div class="buttonSudmiteDiv">
<a href="{{ racine }}/deleteAccount" class="createQuote">
<button class="buttonSudmite">Supprimer son compte</button>
</a>
</div>
</div>
</body>

Loading…
Cancel
Save