diff options
Diffstat (limited to 'public/edit/index.php')
| -rw-r--r-- | public/edit/index.php | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/public/edit/index.php b/public/edit/index.php new file mode 100644 index 0000000..0cc1c27 --- /dev/null +++ b/public/edit/index.php @@ -0,0 +1,33 @@ +<?php + +declare(strict_types=1); + +use DTS\BookmarkRepository; +use DTS\Template; +use function DTS\Functions\respondAndExit; + +require_once(__DIR__.'/../../autoload.php'); + +$config = require_once(__DIR__.'/../../config.php'); + +$bookmarks = new BookmarkRepository($config['path_to_repository']); + +$template = new Template($config['path_to_templates']); + +$id = filter_input(INPUT_GET, 'id') ?? filter_input(INPUT_POST, 'id') ?? null; + +$bookmarks->load(); + +$bookmark = $bookmarks->find($id); + +if ('POST' === filter_input(INPUT_SERVER, 'REQUEST_METHOD')) { + $bookmark->url = $_POST['url']; + $bookmark->title = $_POST['title']; + $bookmark->tag = $_POST['tag']; + + $bookmarks->update($bookmark); +} + +$html = $template->render('edit', compact('bookmark')); + +respondAndExit(200, 'OK', $html); |
