nieuws: fix block replacement of variable contents
[minimedit.git] / nieuws / index.php
index 3a50265955977b618d71c73c28cf5afea7151a01..ff433d5d7b80001921a3d360b66a4796f98f4041 100644 (file)
@@ -1,21 +1,25 @@
 <?php
-$replyform = $Page == 'melding' && !empty($User);
+$replyform = $Page == 'melding' && $User->login;
 @list ($year, $page) = explode('/', trim($Args, '/'));
 
-if ($User and $User->admin('news')) {
+if ($User->admin("edit $Page")) {
        print '<script src="/nieuws/edit.js"></script>'."\n";
 }
 
 if ($page and !is_numeric($page)) {
-       $edit = $User && $User->admin('news') ? htmlspecialchars(@$_GET['edit']) : NULL;
+       $Article->meta['og:type'] = 'article';
+       $edit = $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]]', ob_get_clean());
-       if ($User and $User->admin('news')) {
+       else {
+               $Place[1] = '';
+       }
+       print preg_replace('{(?<=<h2>)(.*?)(?=</h2>)}', ($edit ?: '\1').' [[1]]', $Article->raw);
+       if ($User->admin("edit $Page$Args")) {
                $taglist = [];
                foreach (glob("$Page/.tags/*") as $tagpath) {
                        $tagname = pathinfo($tagpath, PATHINFO_BASENAME);
@@ -39,11 +43,10 @@ if ($page and !is_numeric($page)) {
        if ($replyform) {
                print placeholder_include('reply');
        }
-       return 1;
+       return;
 }
 
 if ($year) {
-       ob_clean();
        $match = $Page;
        $title = "Nieuws";
        if (is_numeric($year) and $year > 999) {
@@ -65,5 +68,5 @@ if ($year) {
 
        print "<h2>$title</h2>\n\n";
        print placeholder_include('nieuws', [$match]);
-       return 1;
+       return;
 }