summaryrefslogtreecommitdiff
path: root/public/index.php
diff options
context:
space:
mode:
authorDavid T. Sadler <davidtsadler@googlemail.com>2021-11-13 09:22:25 +0000
committerDavid T. Sadler <davidtsadler@googlemail.com>2021-11-13 09:22:25 +0000
commit40997195b7ee07cb1bda978186c1804371e1f16e (patch)
tree17a6e4bd6eaca795cfa8d57b9aa6ea8ad7066593 /public/index.php
parent35dc6c245d93560d7ac81df6323e8b22e571aa95 (diff)
Create site
Diffstat (limited to 'public/index.php')
-rw-r--r--public/index.php38
1 files changed, 38 insertions, 0 deletions
diff --git a/public/index.php b/public/index.php
new file mode 100644
index 0000000..4e18b9a
--- /dev/null
+++ b/public/index.php
@@ -0,0 +1,38 @@
+<?php
+
+declare(strict_types=1);
+
+use DTS\TodoRepository;
+use DTS\Session;
+use DTS\Template;
+
+use function DTS\Functions\respondAndExit;
+
+require_once(__DIR__.'/../autoload.php');
+
+$config = require_once(__DIR__.'/../config.php');
+
+$session = Session::getInstance();
+
+$todos = new TodoRepository($config['path_to_repository']);
+
+$template = new Template($config['path_to_templates']);
+
+$sort = $_GET['sort'] ?? 'asc';
+
+$tag = $_GET['tag'] ?? null;
+
+if ($tag !== null) {
+ $todos->filter($tag);
+}
+
+$todos->sort($sort === 'asc');
+
+$message = $session->get('message');
+
+$html = $template->render('index', compact(
+ 'todos',
+ 'message'
+));
+
+respondAndExit(200, 'OK', $html);