X-Git-Url: http://git.shiar.net/minimedit.git/blobdiff_plain/11c30da0ff491c29301ec1a42e7873d556364c74..HEAD:/nieuws/index.php diff --git a/nieuws/index.php b/nieuws/index.php index b4191ce..1cbaf94 100644 --- a/nieuws/index.php +++ b/nieuws/index.php @@ -1,28 +1,61 @@ handler == 'melding' && $User->login; +@list ($year, $page) = explode('/', trim($Page->path, '/')); -$replyform = $Page == 'melding' && !empty($User); -@list ($year, $page) = explode('/', trim($Args, '/')); +if ($Page->api) { + if ($Page->path) return; + return (new PageSearch($Page->link))->files(); +} + +if ($User->admin("edit {$Page->handler}")) { + $Page->raw = ''."\n" . $Page->raw; +} if ($page and !is_numeric($page)) { - $edit = !empty($User['admin']) ? htmlspecialchars(@$_GET['edit']) : NULL; - $article = new ArchiveArticle("$Page$Args.html"); - $Place[1] = ' '.$article->date.''; - print preg_replace('{(?<=

)(.*?)(?=

)}', ($edit ?: '\1').' [[1]]', ob_get_clean()); - if ($article->image) { - $Place['image'] = "https://lijtweg.nl/".$article->thumb('600x'); + $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 { + $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 placeholder_include('nieuws/replies'); + print $Page->widget('reply'); } - return 1; + return; } if ($year) { - ob_clean(); + $match = $Page->handler; $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); @@ -30,48 +63,15 @@ if ($year) { $title .= ' '.$year; } elseif ($year === '19') { - $match = "$Page/19??/"; + $match .= "/19??"; $title .= " vóór 2000"; } + elseif (file_exists("{$Page->handler}/.tags/$year")) { + $match .= "/.tags/$year"; + $title .= " met $year"; + } print "

$title

\n\n"; - shownews(glob($match.'*.html')); - return 1; -} - -$html = ob_get_clean(); -printf(''."\n", "/$Page/feed"); -print $html; - -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/19", 'Eerder'); - printtoc($pages); -} - -print "
\n\n"; - -if ($replyform) { - print "

Melding rapporteren

\n"; - $_REQUEST['subject'] = 'melding'; - require 'contact.php'; -?> -
-

- - -

-
-'."\n"; + print $Page->widget('nieuws', [$match]); + return; }