login: preview target metadata of linked index pages
[minimedit.git] / issue / index.php
index 62182ac28356c72c40bc029118f9c798a6497bc7..0c18142f06e71c709e997e76514212ebeb1c3c8e 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-global $User, $Db;
+global $User, $Db, $Issue;
 require_once 'database.inc.php';
 @list ($id, $title) = explode('/', ltrim($Page->path, '/'));
 
@@ -15,8 +15,8 @@ if ($id and ctype_digit($id)) {
 
        $Page->title .= ': '.htmlspecialchars($Issue->subject);
        $Page->teaser = $Issue->body;
-       if ($Page->api) return;
        $Page->body = $replies;  # find image
+       if ($Page->api) return;
 
        print "<h2>{$Page->title}</h2>\n";
        print '<aside class="metadata"><dl>'."\n";
@@ -42,8 +42,12 @@ if ($id and ctype_digit($id)) {
        return;
 }
 
-if ($_POST) {
+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.');
+               }
                $query = $Db->set('issues', [
                        'page'    => $Page->handler,
                        'subject' => $_POST['subject'],
@@ -55,7 +59,6 @@ if ($_POST) {
                }
                $_POST = [];
 }
-if ($Page->api) return;
 
 $subsql = "SELECT count(*) FROM comments WHERE page=i.page||'/'||i.id";
 $cols = "*, ($subsql AND message IS NOT NULL) AS replycount";