X-Git-Url: http://git.shiar.nl/minimedit.git/blobdiff_plain/159ee0f3d812c9681a00c37f6a2bcaf8a1de83bc..1b37c53095bb46844910ce3f0b699ea9a0b152d8:/widget/reply.php diff --git a/widget/reply.php b/widget/reply.php index 94018c4..4da0ffa 100644 --- a/widget/reply.php +++ b/widget/reply.php @@ -4,14 +4,33 @@ require_once 'database.inc.php'; $journalcol = [ 'assign' => 'Toegewezen aan', + 'subject' => 'Onderwerp', ]; 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)) { + if (preg_match('(^image/)', $_FILES['image']['type'])) { + $html .= sprintf('

', $result); + } + else { + $html .= sprintf('

Bijgevoegd bestand: %s

', + $result, basename($result) + ); + } + } + } $query = $Db->set('comments', [ - 'page' => $Page, - 'message' => messagehtml($_POST['reply']), + 'page' => $Page->link, + 'message' => $html, 'author' => $User->login, ]); if (!$query->rowCount()) { @@ -46,27 +65,40 @@ if ($_POST) { 'value' => $updated->$col, ]); } + $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 '