nieuws: first paragraph teaser as page description
[minimedit.git] / nieuws / index.php
index b4191cee8898d6b275f20e02ba4dd2c8719f8bd0..71048d50cc64228b11989ebd56d83f17997d891a 100644 (file)
@@ -4,13 +4,40 @@ include 'nieuws.inc.php';
 $replyform = $Page == 'melding' && !empty($User);
 @list ($year, $page) = explode('/', trim($Args, '/'));
 
+if (!empty($User['admin'])) {
+       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['title'] = $edit ?: $article->title;
+       $Place['description'] = $article->teaser;
        $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');
+       if ($article->file and $article->image) {
+               $Place['image'] = "/".$article->thumb('600x');
+       }
+       if (!empty($User['admin'])) {
+               $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');
@@ -20,9 +47,10 @@ if ($page and !is_numeric($page)) {
 
 if ($year) {
        ob_clean();
+       $match = $Page;
        $title = "Nieuws";
        if (is_numeric($year) and $year > 999) {
-               $match = "$Page/$year/";
+               $match .= "/$year";
                if (is_numeric($page)) {
                        $title .= ' '.$monthname[intval($page)];
                        $match .= sprintf('%02d-', $page);
@@ -30,48 +58,15 @@ if ($year) {
                $title .= ' '.$year;
        }
        elseif ($year === '19') {
-               $match = "$Page/19??/";
+               $match .= "/19??";
                $title .= " vóór 2000";
        }
+       elseif (file_exists("$Page/.tags/$year")) {
+               $match .= "/.tags/$year";
+               $title .= " met $year";
+       }
 
        print "<h2>$title</h2>\n\n";
-       shownews(glob($match.'*.html'));
+       print placeholder_include('nieuws', [$match]);
        return 1;
 }
-
-$html = ob_get_clean();
-printf('<div class="nav right"><a href="%s">Feed</a></div>'."\n", "/$Page/feed");
-print $html;
-
-print '<div id="news">'."\n\n";
-
-foreach (array_reverse(glob("$Page/2???")) as $page) {
-       $year = basename($page, '.html');
-       printf('<h3><a href="/%s">%s</a></h3>'."\n", $page, $year);
-       printtoc($page);
-}
-
-if ($pages = glob("$Page/19??/*.html")) {
-       printf('<h3><a href="/%s">%s</a></h3>'."\n", "$Page/19", 'Eerder');
-       printtoc($pages);
-}
-
-print "</div>\n\n";
-
-if ($replyform) {
-       print "<h3>Melding rapporteren</h3>\n";
-       $_REQUEST['subject'] = 'melding';
-       require 'contact.php';
-?>
-<form method="post">
-<p>
-       <textarea name="body" cols=60 rows=4></textarea>
-       <input type="submit" value="Versturen" />
-</p>
-</form>
-<?php
-}
-
-if (!empty($User['admin'])) {
-       print '<script src="/nieuws/edit.js"></script>'."\n";
-}