diff options
author | Freya Murphy <freya@freyacat.org> | 2024-09-18 14:14:53 -0400 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2024-09-18 14:48:54 -0400 |
commit | 1f9024763d9224c4cd9a181bac27e6b9f12ad672 (patch) | |
tree | 00f827470dad9aa2692483acbdef9502c1a464d3 /src/web/_controller/blog.php | |
parent | fix rss (diff) | |
download | website-1f9024763d9224c4cd9a181bac27e6b9f12ad672.tar.gz website-1f9024763d9224c4cd9a181bac27e6b9f12ad672.tar.bz2 website-1f9024763d9224c4cd9a181bac27e6b9f12ad672.zip |
refactor
Diffstat (limited to 'src/web/_controller/blog.php')
-rw-r--r-- | src/web/_controller/blog.php | 48 |
1 files changed, 27 insertions, 21 deletions
diff --git a/src/web/_controller/blog.php b/src/web/_controller/blog.php index 4a961e1..b2ddbcc 100644 --- a/src/web/_controller/blog.php +++ b/src/web/_controller/blog.php @@ -4,29 +4,28 @@ class Blog_controller extends Controller { public $comments_controller; private $blog_model; - function __construct($load) { - parent::__construct($load); - $this->blog_model = $this->load->model('blog'); - $this->comments_controller = $this->load->controller('_comments'); + function __construct() + { + $this->blog_model = $this->load_model('blog'); + $this->comments_controller = $this->load_controller('_comments'); } - public function index(): void { + public function index(): void + { parent::index(); + $data = $this->blog_model->get_data(); $this->view('header', $data); $this->view('apps/blog', $data); $this->view('footer', $data); } - private function protect(string $folder): void { - if (!array_key_exists('name', $_GET)) { - $this->error(400); - } - - $basepath = $GLOBALS['assetroot'] . '/' . $folder . '/'; + private function protect(string $folder, string $name): void + { + $basepath = ASSET_ROOT . '/' . $folder . '/'; $realBase = realpath($basepath); - $userpath = $basepath . $_GET['name']; + $userpath = $basepath . $name . '.md'; $realUserPath = realpath($userpath); if ($realUserPath === false || strpos($realUserPath, $realBase) !== 0) { @@ -34,35 +33,42 @@ class Blog_controller extends Controller { } } - public function post(): void { - $this->protect('blog'); + public function post($name): void + { + $this->protect('blog', $name); + parent::index(); - $data = $this->blog_model->get_post($_GET['name']); + + $data = $this->blog_model->get_post($name); if ($data === FALSE) { $this->error(404); } $this->view('header', $data); $this->view('apps/blog_post', $data); - $ref = 'blog/post?name=' . $_GET['name']; + $ref = "blog/post{$name}"; $this->comments_controller->comments($data['post']['meta']['name'], $ref); $this->view('footer', $data); } - public function writeup(): void { - $this->protect('writeup'); + public function writeup($name): void + { + $this->protect('writeup', $name); + parent::index(); - $data = $this->blog_model->get_writeup($_GET['name']); + + $data = $this->blog_model->get_writeup($name); if ($data === FALSE) { $this->error(404); } $this->view('header', $data); $this->view('apps/blog_writeup', $data); - $ref = 'blog/writeup?name=' . $_GET['name']; + $ref = "blog/writeup/{$name}"; $this->comments_controller->comments($data['post']['meta']['name'], $ref); $this->view('footer', $data); } - public function rss(): void { + public function rss(): void + { $data = $this->blog_model->get_data(); header('Content-Type: application/xml'); $this->view('apps/blog_rss', $data); |