diff --git a/config/config.php b/config/config.php index f437b34..3c931bf 100644 --- a/config/config.php +++ b/config/config.php @@ -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/'; diff --git a/public/styles/styleProfil.css b/public/styles/styleProfil.css index bda2dee..ba69592 100644 --- a/public/styles/styleProfil.css +++ b/public/styles/styleProfil.css @@ -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{ diff --git a/src/Controleur/FrontControler.php b/src/Controleur/FrontControler.php index eef610d..eea9964 100644 --- a/src/Controleur/FrontControler.php +++ b/src/Controleur/FrontControler.php @@ -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(); diff --git a/src/Controleur/UserControler.php b/src/Controleur/UserControler.php index a7a5100..d2cff35 100644 --- a/src/Controleur/UserControler.php +++ b/src/Controleur/UserControler.php @@ -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 .= " +
+Bonjour,
+ +Vous venez de changer votre adresse mail. Dorénavant, votre email sera $email.
+L'équipe du site
+ + \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:Bonjour $pseudo,
Merci de vous être inscrit sur notre site What The Fantasy. C’est avec grande joie que nous vous accueillons au sein de notre confrérie, pour découvrir ensemble... @@ -253,7 +253,7 @@ Class VisitorControler { \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"; diff --git a/src/Gateway/UserGateway.php b/src/Gateway/UserGateway.php index f66e9a1..ec91f2b 100644 --- a/src/Gateway/UserGateway.php +++ b/src/Gateway/UserGateway.php @@ -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{ diff --git a/src/Model/UserModel.php b/src/Model/UserModel.php index 5dd1edc..96293bd 100644 --- a/src/Model/UserModel.php +++ b/src/Model/UserModel.php @@ -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); + } } ?> diff --git a/vue/templates/login.html.twig b/vue/templates/login.html.twig index a9f8594..0830899 100644 --- a/vue/templates/login.html.twig +++ b/vue/templates/login.html.twig @@ -6,7 +6,7 @@
Mot de passe *
- + {% if error is defined and error is not empty %}{{ error }}
diff --git a/vue/templates/profil.html.twig b/vue/templates/profil.html.twig index f32a82e..b1a62c5 100644 --- a/vue/templates/profil.html.twig +++ b/vue/templates/profil.html.twig @@ -55,6 +55,12 @@ + +