nieuws: support tagged article links
[minimedit.git] / nieuws / index.php
index 506cd0537ad2c3f46de1b032c15ec91eb2b93dae..11e305ef04a98fe7323306bf4640adcf9b08e8ba 100644 (file)
@@ -6,64 +6,24 @@ $replyform = $Page == 'melding' && !empty($User);
 
 if ($page and !is_numeric($page)) {
        $edit = !empty($User['admin']) ? htmlspecialchars(@$_GET['edit']) : NULL;
-       print shownewsarticle($Page.$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 '<h3>Reacties</h3>'."\n";
-               $pagelink = $Page.$Args;
-
-               if ($_POST) {
-                       try {
-                               @mkdir($pagelink);
-                               $target = $pagelink.'/'.date('YmdHis').':'.$User['name'].'.txt';
-                               $written = file_put_contents($target, $_POST['reply']);
-                               if ($written === FALSE) {
-                                       throw new Exception('Fout bij opslaan');
-                               }
-                               $_POST['reply'] = NULL;
-                       }
-                       catch (Exception $e) {
-                               print '<p class=warn>Antwoord niet opgeslagen.</p>'."\n\n";
-                       }
-               }
-
-               print '<ul class="replies">';
-
-               foreach (glob("$pagelink/*.txt") as $reply) {
-                       preg_match('</(\d{14}) : ([^:]*) [^/]* \.txt$>x', $reply, $replymeta);
-                       if (!$replymeta) continue;
-                       $replydate = str_split($replymeta[1], 2);
-                       $replydate[1] = $replydate[0] . $replydate[1];
-                       print '<li>';
-                       printf('<strong>%s</strong> <small class=date>%s</small>',
-                               $replymeta[2], showdate($replydate)
-                       );
-                       $replydata = file_get_contents($reply);
-                       printf('<p>%s</p>', nl2br(htmlspecialchars($replydata)));
-                       print "</li>\n";
-               }
-
-               print '<li>';
-               print '<form method="post" action="">';
-               printf('<textarea id="%s" name="%1$s" cols=60 rows=3 placeholder="%s">%s</textarea>'."\n",
-                       'reply',
-                       "Bericht van {$User['name']}",
-                       ''
-               );
-               print '<input type="submit" value="Plaatsen" />'."\n";
-               print "</form></li>\n";
-
-               print "</ul>\n\n";
+               print placeholder_include('nieuws/replies');
        }
-
        return 1;
 }
 
 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);
@@ -71,44 +31,19 @@ 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;
 }
 
-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";
 }