page: separate function to run placeholder includes
[minimedit.git] / nieuws / index.php
index bbc002a62eca92583b71832b729746faa01bc8f1..b4191cee8898d6b275f20e02ba4dd2c8719f8bd0 100644 (file)
@@ -1,53 +1,77 @@
 <?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) : '??',
-               ]);
+       $title = "Nieuws";
+       if (is_numeric($year) and $year > 999) {
+               $match = "$Page/$year/";
+               if (is_numeric($page)) {
+                       $title .= ' '.$monthname[intval($page)];
+                       $match .= sprintf('%02d-', $page);
+               }
+               $title .= ' '.$year;
        }
-       else {
-               $title = "Nieuws vóór 2000";
-               $match = "$Page/19??/??";
+       elseif ($year === '19') {
+               $match = "$Page/19??/";
+               $title .= " vóór 2000";
        }
 
        print "<h2>$title</h2>\n\n";
-       print '<div id="news">'."\n\n";
-       shownews($match);
-       print "</div>\n\n";
+       shownews(glob($match.'*.html'));
        return 1;
 }
 
-if ($Args) {
-       return;
-}
+$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/??");
+       printtoc($page);
 }
 
-if ($pages = glob("$Page/19??/??/*.html")) {
-       printf('<h3><a href="/%s">%s</a></h3>'."\n", "$Page/oud", 'Eerder');
+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";
 }