X-Git-Url: http://git.shiar.net/minimedit.git/blobdiff_plain/a257ef8b6e9d435938803471bd655be9d9734370..HEAD:/issue/index.php diff --git a/issue/index.php b/issue/index.php index 35a1116..51d1de4 100644 --- a/issue/index.php +++ b/issue/index.php @@ -10,10 +10,39 @@ if ($id and ctype_digit($id)) { 'SELECT * FROM issues WHERE page = ? AND id = ?', [$Page->handler, $id] )->fetch(); if (!$Issue) throw new Exception('Issuenummer niet gevonden'); + $Page->title .= ': '.htmlspecialchars($Issue->subject); - $replies = $Page->widget('reply'); # handle updates + if ($title and ctype_digit($title)) { + $Page->title = "Antwoord op {$Page->title}"; + $Page->handler = $Page->link; + $Page->link .= "/$title"; + $row = $Db->query( + 'SELECT * FROM comments WHERE id = ?', [$title] + )->fetch(); + if (!$row) throw new Exception('Antwoordnummer niet gevonden'); - $Page->title .= ': '.htmlspecialchars($Issue->subject); + printf('
', + $Page->handler + ); + print "

{$Page->title}

\n"; + printf(''."\n", 'id', $row->id); + printf( + '' + . '' + . ''."\n

", + 'announce', $row->announced ? ' checked' : '', 'Aangekondigd' + ); + printf('

'."\n", 'page', $row->page); + printf(''."\n", + 'reply', + htmlspecialchars($row->raw) + ); + print ''."\n"; + print "

\n"; + return; + } + + $replies = $Page->widget('reply'); # handle updates $Page->body = $replies; # find image if ($Page->api) return; @@ -44,7 +73,10 @@ if ($Page->api) return; if ($_POST and isset($_POST['subject'])) { require_once 'upload.inc.php'; if (strlen($_POST['subject']) < 2) { - throw new Exception('Een minimaal onderwerp is verplicht om een issue aan te maken.'); + throw new Exception('Vul een onderwerp in om de issue te kunnen benoemen.'); + } + if (!preg_match('/\S/', $_POST['reply'])) { + throw new Exception('Een korte beschrijving is verplicht om een issue aan te maken.'); } $query = $Db->set('issues', [ 'page' => $Page->handler, @@ -83,6 +115,16 @@ if ($id == 'feed') { } ob_start(); +$stats = $Db->query( + "SELECT count(*) AS total, count(closed) AS closed FROM issues" +)->fetch(); +printf("

%s, %s opgelost

\n", + showlink( + sprintf('%d lopende zaken', $stats->total - $stats->closed), + isset($_GET['open']) ? FALSE : '?open' + ), + $stats->closed +); print '