summaryrefslogtreecommitdiff
path: root/src/web/_controller/apps
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2024-04-01 11:09:25 -0400
committerFreya Murphy <freya@freyacat.org>2024-04-01 11:09:25 -0400
commit3a82baec9d793edf81ac2b151b0f4d4159641375 (patch)
treef9d50c296b078ac48c2a2391c172c3ccf37edb3f /src/web/_controller/apps
parentrefactor asset dir, refactor oberver in lib (diff)
downloadxssbook2-3a82baec9d793edf81ac2b151b0f4d4159641375.tar.gz
xssbook2-3a82baec9d793edf81ac2b151b0f4d4159641375.tar.bz2
xssbook2-3a82baec9d793edf81ac2b151b0f4d4159641375.zip
login and register, liking on homepage
Diffstat (limited to 'src/web/_controller/apps')
-rw-r--r--src/web/_controller/apps/auth.php56
-rw-r--r--src/web/_controller/apps/error.php21
-rw-r--r--src/web/_controller/apps/home.php26
3 files changed, 103 insertions, 0 deletions
diff --git a/src/web/_controller/apps/auth.php b/src/web/_controller/apps/auth.php
new file mode 100644
index 0000000..6b30cc9
--- /dev/null
+++ b/src/web/_controller/apps/auth.php
@@ -0,0 +1,56 @@
+<?php /* Copyright (c) 2024 Freya Murphy */
+class Auth_controller extends Controller {
+
+ // the home model
+ private $auth_model;
+
+ // the post controller
+ protected $post_controller;
+
+ function __construct($load) {
+ parent::__construct($load);
+ $this->auth_model = $this->load->model('apps/auth');
+ }
+
+ public function index(): void {
+ if ($this->main->session) {
+ $this->redirect('/home');
+ } else {
+ $this->redirect('/auth/login');
+ }
+ }
+
+ public function login(): void {
+ if ($this->main->session) {
+ $this->redirect('/home');
+ }
+
+ parent::index();
+ $data = $this->auth_model->get_data();
+ $this->view('header_empty', $data);
+ $this->view('apps/auth/login', $data);
+ $this->view('footer', $data);
+ }
+
+ public function logout(): void {
+ if ($this->main->session) {
+ $_SESSION['jwt'] = NULL;
+ }
+ $this->redirect('/auth/login');
+ }
+
+ public function update(): void {
+ if (!$this->is_ajax()) {
+ $this->error(400);
+ }
+ if (!isset($_POST['key']) || !isset($_POST['value'])) {
+ $this->error(400);
+ }
+ $key = $_POST['key'];
+ $value = $_POST['value'];
+ $_SESSION[$key] = $value;
+ }
+
+}
+
+?>
diff --git a/src/web/_controller/apps/error.php b/src/web/_controller/apps/error.php
new file mode 100644
index 0000000..03bbd8d
--- /dev/null
+++ b/src/web/_controller/apps/error.php
@@ -0,0 +1,21 @@
+<?php /* Copyright (c) 2024 Freya Murphy */
+class Error_controller extends Controller {
+
+ private $error_model;
+
+ function __construct($load) {
+ parent::__construct($load);
+ $this->error_model = $this->load->model('apps/error');
+ }
+
+ public function index(): void {
+ parent::index();
+ $data = $this->error_model->get_data();
+ $this->view('header', $data);
+ $this->view('apps/error/main', $data);
+ $this->view('footer', $data);
+ }
+
+}
+
+?>
diff --git a/src/web/_controller/apps/home.php b/src/web/_controller/apps/home.php
new file mode 100644
index 0000000..c9a116d
--- /dev/null
+++ b/src/web/_controller/apps/home.php
@@ -0,0 +1,26 @@
+<?php /* Copyright (c) 2024 Freya Murphy */
+class Home_controller extends Controller {
+
+ // the home model
+ private $home_model;
+
+ // the post controller
+ protected $post_controller;
+
+ function __construct($load) {
+ parent::__construct($load);
+ $this->home_model = $this->load->model('apps/home');
+ $this->post_controller = $this->load->controller('_util/post');
+ }
+
+ public function index(): void {
+ parent::index();
+ $data = $this->home_model->get_data();
+ $this->view('header', $data);
+ $this->view('apps/home/main', $data);
+ $this->view('footer', $data);
+ }
+
+}
+
+?>