summaryrefslogtreecommitdiff
path: root/src/web/_controller/auth.php
diff options
context:
space:
mode:
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;
+ }
+
+}
+
+?>