diff options
author | Freya Murphy <freya@freyacat.org> | 2024-03-29 22:29:56 -0400 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2024-03-29 22:29:56 -0400 |
commit | 944b6b0526032ad8c1b4a2612d6723bec75e0e4c (patch) | |
tree | d3da5584df33a7878c087622b4fc2ec2883cf880 /web/core/controller.php | |
download | xssbook2-944b6b0526032ad8c1b4a2612d6723bec75e0e4c.tar.gz xssbook2-944b6b0526032ad8c1b4a2612d6723bec75e0e4c.tar.bz2 xssbook2-944b6b0526032ad8c1b4a2612d6723bec75e0e4c.zip |
start database (user and post), and initial barebones home page
Diffstat (limited to '')
-rw-r--r-- | web/core/controller.php | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/web/core/controller.php b/web/core/controller.php new file mode 100644 index 0000000..946b460 --- /dev/null +++ b/web/core/controller.php @@ -0,0 +1,55 @@ +<?php /* Copyright (c) 2024 Freya Murphy */ +abstract class Controller { + + // the main model + public $main; + + // the loader + public $load; + + // the database + public $db; + + function __construct() { + $this->main = $GLOBALS['__vars']['main']; + $this->load = $GLOBALS['__vars']['load']; + $this->db = $this->main->db; + + $info = $this->main->info; + $lang_code = $info['lang']; + $route_name = $info['route']; + $this->load->lang($lang_code); + $this->load->route_lang($lang_code, $route_name); + } + + public function index() {} + + protected function view($__name, $data = array()) { + $__root = $GLOBALS['webroot']; + $__path = $__root . '/views/' . $__name . '.php'; + if (is_file($__path)) { + extract($data); + require($__path); + return; + } + } + + protected function app_view($__name, $data = array()) { + $__root = $GLOBALS['webroot']; + $__route = $this->main->info['route']; + $__path = $__root . '/routes/' . $__route . '/views/' . $__name . '.php'; + if (is_file($__path)) { + extract($data); + require($__path); + return; + } + } + + protected function modal($title, $content, $data = array()) { + $data['title'] = $title; + $data['content'] = $content; + $this->view('template/modal', $data); + } + +} +?> |