X-Git-Url: http://git.shiar.nl/minimedit.git/blobdiff_plain/3a4f1ae1a32baa3658d54c3dadf268bab01308a2..7c9537015a7361681323e5a5ce2f10d9c0ee42d3:/widget/reply.php?ds=sidebyside diff --git a/widget/reply.php b/widget/reply.php index 9e1c7e3..0935567 100644 --- a/widget/reply.php +++ b/widget/reply.php @@ -9,9 +9,20 @@ $journalcol = [ if ($_POST) { require_once 'upload.inc.php'; try { + $html = messagehtml($_POST['reply']); + if ($_FILES and !empty($_FILES['image'])) { + $target = 'data/upload'; + if (!file_exists($target)) { + throw new Exception("er is geen uploadmap aanwezig op $target"); + } + $target .= '/' . $User->login; + if ($result = userupload($_FILES['image'], $target)) { + $html .= sprintf('

', $result); + } + } $query = $Db->set('comments', [ - 'page' => $Page, - 'message' => messagehtml($_POST['reply']), + 'page' => $Page->link, + 'message' => $html, 'author' => $User->login, ]); if (!$query->rowCount()) { @@ -49,21 +60,27 @@ if ($_POST) { $Issue = $updated; } } + + $target = "/{$Page->link}/$newcomment#$newcomment"; + abort($target, ($Page->api ? 200 : 303) . ' reply success'); $_POST['reply'] = NULL; } catch (Exception $e) { + if ($Page->api) { + abort(ucfirst($e->getMessage()), '500 reply error'); + } print "

Antwoord niet opgeslagen: {$e->getMessage()}.

\n\n"; } } $cols = '*, (SELECT json_agg(journal.*) FROM journal WHERE comment_id = comments.id) AS journal'; -$query = $Db->query("SELECT $cols FROM comments WHERE page = ? ORDER BY created", [$Page]); +$query = $Db->query("SELECT $cols FROM comments WHERE page = ? ORDER BY created", [$Page->link]); print '\n\n";