X-Git-Url: http://git.shiar.net/minimedit.git/blobdiff_plain/b95195ed4540a07ac0f31c363101698ada841d67..caa254384466d5f8477de38fcf7492a1ecd3f938:/nieuws/index.php
diff --git a/nieuws/index.php b/nieuws/index.php
index 05c995a..507f493 100644
--- a/nieuws/index.php
+++ b/nieuws/index.php
@@ -1,52 +1,77 @@
handler == 'melding' && $User->login;
+@list ($year, $page) = explode('/', trim($Page->path, '/'));
-@list ($year, $page) = explode('/', trim($Args, '/'));
+if (!$User) {
+ if ($Page->path) return;
+ return array_keys((new PageSearch($Page->link))->files());
+}
-if ($page and !is_numeric($page)) {
- $edit = !empty($User['admin']) ? htmlspecialchars(@$_GET['edit']) : NULL;
- print shownewsarticle($Args, FALSE, $edit);
- return 1;
+if ($User->admin("edit {$Page->handler}")) {
+ $Page->raw = ''."\n" . $Page->raw;
}
-if ($year) {
- ob_clean();
- if (is_numeric($year)) {
- $title = "Nieuws ".($page ? $monthname[$page].' ' : '').$year;
- $match = "$Page/$year/";
- if ($page) $match .= sprintf('%02d-', $page);
+if ($page and !is_numeric($page)) {
+ $Page->meta['og:type'] = 'article';
+ $edit = $User->admin("edit {$Page->link}") ? htmlspecialchars(@$_GET['edit']) : NULL;
+ if ($edit) {
+ $Page->title = $edit;
+ }
+ if ($Page->dateparts) {
+ $Page->place[1] = ' '.showdate($Page->dateparts).'';
}
else {
- $title = "Nieuws vóór 2000";
- $match = "$Page/19??/";
+ $Page->place[1] = '';
+ }
+ print preg_replace('{(?<=
)(.*?)(?=
)}', ($edit ?: '\1').' [[1]]', $Page->raw);
+ if ($User->admin("edit {$Page->link}")) {
+ $taglist = [];
+ foreach (glob("{$Page->handler}/.tags/*") as $tagpath) {
+ $tagname = pathinfo($tagpath, PATHINFO_BASENAME);
+ $tagvalue = file_exists("$tagpath/$year-$page.html");
+ $tagtarget = is_writable($tagpath);
+ $taglist[] = sprintf(
+ '' .
+ '',
+ "tags[$tagname]", $tagname, "tag-$tagname",
+ $tagvalue ? ' checked' : '',
+ ' disabled',
+ ucfirst($tagname)
+ );
+ }
+ if ($taglist) {
+ printf('Tags: %s
'."\n",
+ implode("\n\t", $taglist)
+ );
+ }
+ }
+ if ($replyform) {
+ print $Page->widget('reply');
}
-
- print "$title
\n\n";
- print ''."\n\n";
- shownews(glob($match.'*.html'));
- print "
\n\n";
- return 1;
-}
-
-if ($Args) {
return;
}
-print ''."\n\n";
-
-foreach (array_reverse(glob("$Page/2???")) as $page) {
- $year = basename($page, '.html');
- printf('
'."\n", $page, $year);
- printtoc($page);
-}
-
-if ($pages = glob("$Page/19??/*.html")) {
- printf('
'."\n", "$Page/oud", 'Eerder');
- printtoc($pages);
-}
-
-print "
\n\n";
+if ($year) {
+ $match = $Page->handler;
+ $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";
+ }
+ elseif (file_exists("{$Page->handler}/.tags/$year")) {
+ $match .= "/.tags/$year";
+ $title .= " met $year";
+ }
-if (!empty($User['admin'])) {
- print ''."\n";
+ print "$title
\n\n";
+ print $Page->widget('nieuws', [$match]);
+ return;
}