summaryrefslogtreecommitdiff
path: root/src/web/_model/main.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/web/_model/main.php')
-rw-r--r--src/web/_model/main.php119
1 files changed, 0 insertions, 119 deletions
diff --git a/src/web/_model/main.php b/src/web/_model/main.php
deleted file mode 100644
index cd34740..0000000
--- a/src/web/_model/main.php
+++ /dev/null
@@ -1,119 +0,0 @@
-<?php /* Copyright (c) 2024 Freya Murphy */
-class Main_model {
-
- // the website database
- public $db;
-
- // the current user session (can be NULL)
- public $session;
-
- // current loaded users
- private $users;
-
- // stores the current request info
- public $info;
-
- // tthe logged in user
- private $user;
-
- /**
- * Loads the main model
- * @param Loader $load - the main loader object
- */
- function __construct($load) {
- /// load the database helper
- $this->db = new DatabaseHelper();
- /// load the current session
- if (array_key_exists('jwt', $_SESSION)) {
- $this->get_session($_SESSION['jwt']);
- } else {
- $this->session = NULL;
- };
- /// init other vars
- $this->users = array();
- $this->user = NULL;
- }
-
- /**
- * Loads current session
- * @param string $jwt - the user provided JWT
- */
- private function get_session($jwt) {
- $query = $this->db
- ->select("_api.verify_jwt(?) AS user_id;");
- $result = $query->row($jwt);
- $user_id = $result['user_id'];
- if ($user_id) {
- $this->session = array(
- 'id' => $user_id,
- 'jwt' => $jwt
- );
- $user = $this->user();
- if ($user === FALSE) {
- /// valid jwt for invalid user!!!
- $this->session = NULL;
- $this->user = NULL;
- }
- }
- }
-
- /**
- * Gets the stamp for a asset path
- * @param string $path
- */
- private function asset_stamp($path): int {
- $root = $GLOBALS['webroot'];
- $path = $root . '/../public/' . $path;
- return filemtime($path);
- }
-
- /**
- * Loads a css html link
- * @param string $path - the path to the css file
- */
- public function link_css($path) {
- $stamp = $this->asset_stamp($path);
- return '<link rel="stylesheet" href="/public/' . $path . '?stamp=' . $stamp . '">';
- }
-
- /**
- * Loads a js html link
- * @param string $path - the path to the js file
- */
- public function link_js($path) {
- $stamp = $this->asset_stamp($path);
- return '<script src="/public/'. $path . '?stamp=' . $stamp . '"></script>';
- }
-
- /**
- * Gets the current user
- */
- public function user() {
- if ($this->user) {
- return $this->user;
- }
- if ($this->session) {
- $this->user = $this->db
- ->select('*')
- ->from('api.user')
- ->where('id')
- ->eq($this->session['id'])
- ->row();
- return $this->user;
- }
- return NULL;
- }
-
- /**
- * Formats a date
- * @param string $date - the data in RFC3999 format
- * @returns the formatted date
- */
- public function date($date) {
- $date=date_create($date);
- return date_format($date, "Y-m-d D H:m");
- }
-
-}
-
-?>