summaryrefslogtreecommitdiff
path: root/Core/Functions/func_logout.php
diff options
context:
space:
mode:
Diffstat (limited to 'Core/Functions/func_logout.php')
-rw-r--r--Core/Functions/func_logout.php40
1 files changed, 40 insertions, 0 deletions
diff --git a/Core/Functions/func_logout.php b/Core/Functions/func_logout.php
new file mode 100644
index 0000000..dd6a411
--- /dev/null
+++ b/Core/Functions/func_logout.php
@@ -0,0 +1,40 @@
+<?php
+
+// ############################################################################
+// # #
+// # Decription: Fonction pour se déconnecter #
+// # #
+// ############################################################################
+
+function logout() {
+ // On instancie les méthodes de gestion de la BDD.
+ $dbuser = new DbUser;
+
+ // On récupère la session
+ session_start();
+ // On conserve la langue qui était sélectionnée.
+ $lang = $_SESSION["lang"];
+ // On détruit la session.
+ session_destroy();
+
+ // On supprime le token d'auto-connection dans la BDD.
+ $dbuser->del_token_autologin($_SESSION["email"]);
+ // Et le cookie
+ if (isset($_COOKIE["autoLogin"])) {
+ unset($_COOKIE["autoLogin"]);
+ setcookie("autoLogin", "", time() - 3600, "/");
+ }
+
+ // Et on en redémarre une nouvelle.
+ session_start();
+ $_SESSION["loggedIn"] = "0";
+ $_SESSION["lang"] = $lang;
+
+ // Enfin on redirige avec le bon message.
+ $message = ["logout", "success"];
+ $_SESSION["message"] = $message;
+ header("Location: /Templates/message.php");
+ die();
+}
+
+?> \ No newline at end of file