head: indicate explicit og:type of website
[minimedit.git] / nieuws / index.php
index 11e305ef04a98fe7323306bf4640adcf9b08e8ba..392a10fce64340c6e7f2cd80498f7ef797eb94ad 100644 (file)
@@ -1,25 +1,49 @@
 <?php
-include 'nieuws.inc.php';
-
 $replyform = $Page == 'melding' && !empty($User);
 @list ($year, $page) = explode('/', trim($Args, '/'));
 
+if ($User and $User->admin("edit $Page")) {
+       print '<script src="/nieuws/edit.js"></script>'."\n";
+}
+
 if ($page and !is_numeric($page)) {
-       $edit = !empty($User['admin']) ? htmlspecialchars(@$_GET['edit']) : NULL;
-       $article = new ArchiveArticle("$Page$Args.html");
-       $Place[1] = ' <small class="date">'.$article->date.'</small>';
-       print preg_replace('{(?<=<h2>)(.*?)(?=</h2>)}', ($edit ?: '\1').' [[1]]', ob_get_clean());
-       if ($article->image) {
-               $Place['image'] = "https://lijtweg.nl/".$article->thumb('600x');
+       $Article->meta['og:type'] = 'article';
+       $edit = $User && $User->admin("edit $Page$Args") ? htmlspecialchars(@$_GET['edit']) : NULL;
+       if ($edit) {
+               $Article->title = $edit;
+       }
+       if ($Article->dateparts) {
+               $Place[1] = ' <small class="date">'.$Article->date.'</small>';
+       }
+       print preg_replace('{(?<=<h2>)(.*?)(?=</h2>)}', ($edit ?: '\1').' [[1]]', $Article->raw);
+       if ($User and $User->admin("edit $Page$Args")) {
+               $taglist = [];
+               foreach (glob("$Page/.tags/*") as $tagpath) {
+                       $tagname = pathinfo($tagpath, PATHINFO_BASENAME);
+                       $tagvalue = file_exists("$tagpath/$year-$page.html");
+                       $tagtarget = is_writable($tagpath);
+                       $taglist[] = sprintf(
+                               '<input type="checkbox" name="%s" value="%s" id="%s"%s%s />' .
+                               '<label for="%3$s"> %s</label>',
+                               "tags[$tagname]", $tagname, "tag-$tagname",
+                               $tagvalue ? ' checked' : '',
+                               ' disabled',
+                               ucfirst($tagname)
+                       );
+               }
+               if ($taglist) {
+                       printf('<p class="tags"><strong>Tags:</strong> %s</p>'."\n",
+                               implode("\n\t", $taglist)
+                       );
+               }
        }
        if ($replyform) {
-               print placeholder_include('nieuws/replies');
+               print placeholder_include('reply');
        }
-       return 1;
+       return;
 }
 
 if ($year) {
-       ob_clean();
        $match = $Page;
        $title = "Nieuws";
        if (is_numeric($year) and $year > 999) {
@@ -41,9 +65,5 @@ if ($year) {
 
        print "<h2>$title</h2>\n\n";
        print placeholder_include('nieuws', [$match]);
-       return 1;
-}
-
-if (!empty($User['admin'])) {
-       print '<script src="/nieuws/edit.js"></script>'."\n";
+       return;
 }