nieuws: support tagged article links
[minimedit.git] / nieuws / index.php
index b28f72bbf406f556a124ebb02a9867a4b310aed7..11e305ef04a98fe7323306bf4640adcf9b08e8ba 100644 (file)
@@ -1,53 +1,49 @@
 <?php
 include 'nieuws.inc.php';
 
-@list ($year, $month, $page) = explode('/', trim($Args, '/'));
+$replyform = $Page == 'melding' && !empty($User);
+@list ($year, $page) = explode('/', trim($Args, '/'));
 
-if ($page) {
+if ($page and !is_numeric($page)) {
        $edit = !empty($User['admin']) ? htmlspecialchars(@$_GET['edit']) : NULL;
-       print shownewsarticle($Args, FALSE, $edit);
+       $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');
+       }
+       if ($replyform) {
+               print placeholder_include('nieuws/replies');
+       }
        return 1;
 }
 
 if ($year) {
        ob_clean();
-       if (is_numeric($year)) {
-               $title = "Nieuws ".($month ? $monthname[$month].' ' : '').$year;
-               $match = implode('/', [
-                       $Page, $year, $month ? sprintf('%02d', $month) : '??',
-               ]);
+       $match = $Page;
+       $title = "Nieuws";
+       if (is_numeric($year) and $year > 999) {
+               $match .= "/$year";
+               if (is_numeric($page)) {
+                       $title .= ' '.$monthname[intval($page)];
+                       $match .= sprintf('%02d-', $page);
+               }
+               $title .= ' '.$year;
+       }
+       elseif ($year === '19') {
+               $match .= "/19??";
+               $title .= " vóór 2000";
        }
-       else {
-               $title = "Nieuws vóór 2000";
-               $match = "$Page/19??/??";
+       elseif (file_exists("$Page/.tags/$year")) {
+               $match .= "/.tags/$year";
+               $title .= " met $year";
        }
 
        print "<h2>$title</h2>\n\n";
-       print '<div id="news">'."\n\n";
-       shownews($match, 100);
-       print "</div>\n\n";
+       print placeholder_include('nieuws', [$match]);
        return 1;
 }
 
-if ($Args) {
-       return;
-}
-
-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/oud", 'Eerder');
-       printtoc($pages);
-}
-
-print "</div>\n\n";
-
 if (!empty($User['admin'])) {
        print '<script src="/nieuws/edit.js"></script>'."\n";
 }