--- /dev/null
+<?php
+$search = new RecursiveCallbackFilterIterator(
+ new RecursiveDirectoryIterator(ltrim($Args, '/') ?: '.'),
+ function ($current) {
+ if ($current->getFilename()[0] === '.') {
+ # skip hidden files and directories
+ return FALSE;
+ }
+ if ($current->isLink()) {
+ # ignore symlinks, original contents only
+ return FALSE;
+ }
+ return $current->isDir()
+ || preg_match('/\.html$/', $current->getFilename());
+ }
+);
+
+print '<ul class="replies">'."\n";
+foreach (new RecursiveIteratorIterator($search) as $filename => $match) {
+ $article = new ArchiveArticle($filename);
+ printf('<li><a href="%s">%s</a>', $article->link, $article->name);
+ if ($article->image) {
+ printf("\n\t".'<img class="right" src="/%s" />', $article->thumb('100x100'));
+ }
+ if ($article->teaser) {
+ printf("\n\t<blockquote>%s</blockquote>",
+ preg_replace('/\n(.*)/s', ' <small>\1</small>', $article->teaser)
+ );
+ }
+ print "</li>\n";
+}
+print "</ul>\n";