X-Git-Url: http://git.shiar.net/minimedit.git/blobdiff_plain/087428a7f2e31e2d9269084ba2a2f3b114a8c8d7..HEAD:/nieuws/index.php diff --git a/nieuws/index.php b/nieuws/index.php index bbc002a..1cbaf94 100644 --- a/nieuws/index.php +++ b/nieuws/index.php @@ -1,53 +1,77 @@ handler == 'melding' && $User->login; +@list ($year, $page) = explode('/', trim($Page->path, '/')); -@list ($year, $month, $page) = explode('/', trim($Args, '/')); +if ($Page->api) { + if ($Page->path) return; + return (new PageSearch($Page->link))->files(); +} -if ($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 ".($month ? $monthname[$month].' ' : '').$year; - $match = implode('/', [ - $Page, $year, $month ? sprintf('%02d', $month) : '??', - ]); +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($match); - print "
\n\n"; - return 1; -} - -if ($Args) { return; } -print '
'."\n\n"; - -foreach (array_reverse(glob("$Page/2???")) as $page) { - $year = basename($page, '.html'); - printf('

%s

'."\n", $page, $year); - printtoc("$page/??"); -} - -if ($pages = glob("$Page/19??/??/*.html")) { - printf('

%s

'."\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; }