From e0fa8dffbd1ff1418e819e3a6e216108ba6ad114 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Oudin?= <oudin@crans.org>
Date: Sun, 3 Nov 2019 19:37:05 +0100
Subject: [PATCH] Add a logoout button for the admin.

Fixes https://git.laquadrature.net/lqdn-interne/don/issues/99
---
 app/controller/admin.php      | 6 ++++++
 app/routes.ini                | 1 +
 app/view/backend/toolbar.html | 1 +
 3 files changed, 8 insertions(+)

diff --git a/app/controller/admin.php b/app/controller/admin.php
index d27feec..cea3989 100644
--- a/app/controller/admin.php
+++ b/app/controller/admin.php
@@ -100,6 +100,12 @@ class Admin extends Controller
         $f3->clear('SESSION.error');
     }
 
+    public function logout($f3, $args)
+    {
+        $f3->clear('SESSION');
+        $f3->reroute('/');
+    }
+
 
     public static function hash_password($password)
     {
diff --git a/app/routes.ini b/app/routes.ini
index 02d84cc..bf0bc1b 100644
--- a/app/routes.ini
+++ b/app/routes.ini
@@ -24,6 +24,7 @@ GET /cron/piplome/@id=Controller\Cron->piplome
 
 ; Pages d'administration
 GET|POST @admin:/admin=Controller\Admin->show
+GET|POST @admin_logout:/admin/logout=Controller\Admin->logout
 GET @add_support:/admin/support/add=Controller\Admin->support
 GET @edit_support:/admin/support/edit/@id=Controller\Admin->support
 POST @modify_support:/admin/support/edit=Controller\Admin->support
diff --git a/app/view/backend/toolbar.html b/app/view/backend/toolbar.html
index 081fe00..a38eb6e 100644
--- a/app/view/backend/toolbar.html
+++ b/app/view/backend/toolbar.html
@@ -9,5 +9,6 @@
 		<li><a href="{{ 'users' | alias }}">Gestion des utilisateurs</a></li>
 		<li><a href="{{ 'stats' | alias }}">Statistiques</a></li>
 		<li><a href="{{ 'admin_accounts' | alias }}">Administrateurs</a></li>
+		<li><a href="{{ 'admin_logout' | alias }}">Déconnexion</a></li>
 	</ul>
 </section>
-- 
GitLab