<?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;
- print shownewsarticle($Page.$Args, FALSE, $edit);
- return 1;
+ $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('reply');
+ }
+ return;
}
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);
$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";
- print '<div id="news">'."\n\n";
- shownews(glob($match.'*.html'));
- print "</div>\n\n";
- 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 (!empty($User['admin'])) {
- print '<script src="/nieuws/edit.js"></script>'."\n";
+ print placeholder_include('nieuws', [$match]);
+ return;
}