summaryrefslogtreecommitdiff
path: root/src/web/_controller/auth.php
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2024-12-23 11:13:27 -0500
committerFreya Murphy <freya@freyacat.org>2024-12-23 11:13:27 -0500
commit5a2ba9c2e7605bb788bc406184547d22c6436867 (patch)
treecbd988d534e8a8593a31d70571222443f80da0b3 /src/web/_controller/auth.php
parentfix about modal (diff)
downloadxssbook2-5a2ba9c2e7605bb788bc406184547d22c6436867.tar.gz
xssbook2-5a2ba9c2e7605bb788bc406184547d22c6436867.tar.bz2
xssbook2-5a2ba9c2e7605bb788bc406184547d22c6436867.zip
v2.1.0, refactor w/ crimson
Diffstat (limited to '')
-rw-r--r--src/web/_controller/auth.php45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/web/_controller/auth.php b/src/web/_controller/auth.php
new file mode 100644
index 0000000..fd1931c
--- /dev/null
+++ b/src/web/_controller/auth.php
@@ -0,0 +1,45 @@
+<?php /* Copyright (c) 2024 Freya Murphy */
+class Auth_controller extends XSS_Controller {
+
+ private $auth_model;
+
+ function __construct() {
+ parent::__construct();
+ $this->auth_model = $this->load_model('auth');
+ $this->load_lang('auth');
+ }
+
+ public function index(): void {
+ $this->load_controller('index')->index();
+ }
+
+ public function login(): void {
+ if ($this->auth_model->session())
+ $this->redirect('/home');
+
+ parent::index();
+ $data = $this->auth_model->get_data();
+ $this->view('head', $data);
+ $this->view('auth/main', $data);
+ $this->view('footer', $data);
+ }
+
+ public function logout(): void {
+ if ($this->auth_model->session())
+ $_SESSION['jwt'] = NULL;
+ $this->redirect('/auth/login');
+ }
+
+ public function update(): void {
+ $key = $this->post_data('key');
+ $value = $this->post_data('value');
+
+ if (!$key || !$value)
+ $this->error(400);
+
+ $_SESSION[$key] = $value;
+ }
+
+}
+
+?>