page: maintain all placeholder includes in widget/
[minimedit.git] / widget / nieuws / replies.php
diff --git a/widget/nieuws/replies.php b/widget/nieuws/replies.php
new file mode 100644 (file)
index 0000000..0847c7e
--- /dev/null
@@ -0,0 +1,50 @@
+<?php
+global $User;
+
+print '<h3>Reacties</h3>'."\n";
+$pagelink = $Page.$Args;
+
+if ($_POST) {
+       try {
+               @mkdir($pagelink);
+               $target = $pagelink.'/'.date('YmdHis').':'.$User->login.'.html';
+               $html = nl2br(htmlspecialchars($_POST['reply']));
+               $html = "<p>$html</p>\n";
+               $written = file_put_contents($target, $html);
+               if ($written === FALSE) {
+                       throw new Exception('Fout bij opslaan');
+               }
+               $_POST['reply'] = NULL;
+       }
+       catch (Exception $e) {
+               print '<p class=warn>Antwoord niet opgeslagen.</p>'."\n\n";
+       }
+}
+
+print '<ul class="replies">';
+
+foreach (glob("$pagelink/*.html") as $reply) {
+       preg_match('</(\d{2,14}) : ([^:]*) [^/]* \.html$>x', $reply, $replymeta);
+       if (!$replymeta) continue;
+       $replydate = str_split($replymeta[1], 2);
+       $replydate[1] = $replydate[0] . $replydate[1];
+       $replyuser = new User("profile/{$replymeta[2]}");
+       print '<li>';
+       printf('<strong>%s</strong> <small class=date>%s</small>',
+               $replyuser->html, showdate($replydate)
+       );
+       printf("<blockquote>%s</blockquote>\n", file_get_contents($reply));
+       print "</li>\n";
+}
+
+print '<li>';
+print '<form method="post" action="">';
+printf('<textarea id="%s" name="%1$s" cols=60 rows=3 placeholder="%s">%s</textarea>'."\n",
+       'reply',
+       "Bericht van {$User->login}",
+       ''
+);
+print '<input type="submit" value="Plaatsen" />'."\n";
+print "</form></li>\n";
+
+print "</ul>\n\n";