diff options
Diffstat (limited to 'public/omdömen')
| -rw-r--r-- | public/omdömen/edit.php | 33 | ||||
| -rw-r--r-- | public/omdömen/index.php | 60 |
2 files changed, 93 insertions, 0 deletions
diff --git a/public/omdömen/edit.php b/public/omdömen/edit.php new file mode 100644 index 0000000..00b2d3b --- /dev/null +++ b/public/omdömen/edit.php @@ -0,0 +1,33 @@ +<?php +require "../../include/sqlite.php"; + +session_start(); + +if (!isset($_SESSION["editable review"])) die("Kan ej redigera något omdöme."); + +$rowid = $_SESSION["editable review"]; +$res = query('select name, content from reviews where rowid = ?', $rowid); +$review = (object) $res->fetchArray(); + +if ($_SERVER["REQUEST_METHOD"] === "POST") { + $name = $_POST["name"]; + $content = $_POST["content"]; + + query("update reviews set name = ?, content = ? where rowid = ?", $name, $content, $rowid); + + header("HX-Redirect: /omd%c3%b6men/"); + exit; +} + +require "../../include/layout.php"; layout($_); +?> + +<form hx-post="/omdömen/edit/"> + <label for="name">Namn:</label> + <input type="text" name="name" id="name" value="<?= htmlspecialchars($review->name) ?>"> + <br> + <label for="content" style="vertical-align: top">Omdöme:</label> + <textarea name="content" id="content" style="height: 10em; width: 20em"><?= htmlspecialchars($review->content) ?></textarea> + <br> + <button>Skicka!</button> +</form> diff --git a/public/omdömen/index.php b/public/omdömen/index.php new file mode 100644 index 0000000..53a9123 --- /dev/null +++ b/public/omdömen/index.php @@ -0,0 +1,60 @@ +<?php +require "../../include/sqlite.php"; + +session_start(); + +if ($_SERVER["REQUEST_METHOD"] === "POST") { + $name = $_POST["name"]; + $content = $_POST["content"]; + + query("insert into reviews (name, content) values (?, ?)", $name, $content); + + $_SESSION["editable review"] = lastRowId(); + + header("HX-Refresh: true"); + exit; +} + +$res = query('select rowid, name, content from reviews'); +$reviews = []; +while ($row = $res->fetchArray()) { + $row["editable"] = isset($_SESSION["editable review"]) && $_SESSION["editable review"] === $row["rowid"]; + $row = (object) $row; + $reviews[] = $row; +} + +require "../../include/layout.php"; layout($_); +?> +<main> + <div class="height-transition-wrapper"> + <form hx-post="/omdömen/"> + <label for="name">Namn:</label> + <input type="text" name="name" id="name"> + <br> + <br> + <label for="content" style="vertical-align: top">Omdöme:</label> + <textarea name="content" id="content" style="height: 10em; width: 20em"></textarea> + <br> + <button>Skicka!</button> + <p style="margin-bottom: 1em; font-size: 0.8em"><i>Du kommer kunna redigera ditt omdöme tills du stänger fliken</i></p> + </form> + </div> + <button _=" + on click + toggle .open on previous <div/> + if (previous <div/>) match .open then + set my.innerText to 'Stäng formulär' + else + set my.innerText to 'Lämna ett omdöme' + ">Lämna ett omdöme</button> + + <? foreach ($reviews as $review) { ?> + <article style="padding: 0.25em;"> + <p><i style="color: #333"><?= htmlspecialchars($review->name) ?>:</i></p> + <p style="white-space: pre-line"><?= htmlspecialchars($review->content) ?></p> + <? if ($review->editable) { ?> + <a class="nf nf-fa-edit" href="/omdömen/edit/"></a> + <? } ?> + </article> + <? } ?> +</main> |
