aboutsummaryrefslogtreecommitdiff
path: root/src/Handlers/NewNote.php
diff options
context:
space:
mode:
authorLaria Carolin Chabowski <laria@laria.me>2020-02-07 09:44:59 +0100
committerLaria Carolin Chabowski <laria@laria.me>2020-02-07 09:44:59 +0100
commit2eb5a432d2229788ce2fdb09f36c6f4bebdea813 (patch)
treeab57978bdda34c82b025b897cfb6825b1fd1e654 /src/Handlers/NewNote.php
downloadmicropoly-2eb5a432d2229788ce2fdb09f36c6f4bebdea813.tar.gz
micropoly-2eb5a432d2229788ce2fdb09f36c6f4bebdea813.tar.bz2
micropoly-2eb5a432d2229788ce2fdb09f36c6f4bebdea813.zip
Initial commit
Diffstat (limited to 'src/Handlers/NewNote.php')
-rw-r--r--src/Handlers/NewNote.php40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/Handlers/NewNote.php b/src/Handlers/NewNote.php
new file mode 100644
index 0000000..9c60757
--- /dev/null
+++ b/src/Handlers/NewNote.php
@@ -0,0 +1,40 @@
+<?php
+
+
+namespace Micropoly\Handlers;
+
+
+use Micropoly\Env;
+use Micropoly\Esc;
+use Micropoly\Handler;
+use Micropoly\Models\Note;
+
+class NewNote implements Handler
+{
+ private static function getPostedContent(): ?string
+ {
+ if (empty($_POST["content"]))
+ return null;
+
+ $content = trim((string)$_POST["content"]);
+ return empty($content) ? null : $content;
+ }
+
+ public function handle(Env $env, array $variables)
+ {
+ $content = self::getPostedContent();
+ if ($content !== null) {
+ $note = new Note();
+ $note->setContent($content);
+ $note->setTags($_POST["tag"]);
+ $note->save($env->db());
+
+ $url = $env->documentRoot() . "n/" . $note->getId();
+ http_response_code(303);
+ header("Location: {$url}");
+ echo 'Note created: <a href="' . Esc::e($url) . '">';
+ }
+
+ echo $env->twig()->render("/new_note.twig", []);
+ }
+} \ No newline at end of file