nieuws: inline code to format article overviews
[minimedit.git] / nieuws.php
index 338a6b6693d2fdfee42b8303d09552888f10c723..251443842cd67d20105c0af95898bfdb631faeca 100644 (file)
@@ -1,5 +1,58 @@
 <?php
 include_once 'nieuws.inc.php';
+
+if (!function_exists('shownews')) {
+function shownews($input, $limit = 1000)
+{
+       if (!is_array($input)) $input = glob("$input/*.html");
+       foreach (array_reverse($input) as $filename) {
+               $article = new ArchiveArticle($filename);
+               print '<article class="left">';
+               if ($article->thumb) {
+                       $imgattr = ' class="left"';
+                       if (preg_match('{ (\s alt="[^"]+") }x', $article->img, $img)) {
+                               $imgattr .= $img[0];  # preserve alt value
+                       }
+                       printf('<img src="/%s"%s />', $article->thumb, $imgattr);
+               }
+               print '<div>';
+               printf(
+                       '<h3><a href="/%s">%s <small class="date">%s</small></a></h3>',
+                       $article->link, $article->title, $article->date
+               );
+               print $article->body;
+               print '</div>';
+               print "</article>\n\n";
+
+               if (--$limit <= 0) break;
+       }
+}
+
+function printtoc($input, $class = FALSE)
+{
+       if (!is_array($input)) $input = glob("$input/*.html");
+       print '<ul';
+       if ($class) printf(' class="%s"', $class);
+       print '>';
+       foreach (array_reverse($input) as $page) {
+               $article = new ArchiveArticle($page);
+               $html = $article->safetitle;
+               $dateparts = $article->dateparts;
+               if ($class) {
+                       $dateparts[0] = NULL;  # omit year
+               }
+               $html .= sprintf(' <small class="date">%s</small>', showdate($dateparts));
+               if ($class == 'gallery' and $article->img) {
+                       $html = "<div>$html</div>";
+                       $html = sprintf('<img src="%s" />', $article->thumb(200)) . $html;
+               }
+               $html = sprintf('<a href="/%s">%s</a>', $article->link, $html);
+               print "<li><article>$html</article></li>\n";
+       }
+       print "</ul>\n";
+}
+}
+
 $articles = (ltrim($Args, '/') ?: 'nieuws');
 if (strpos($articles, '/') === FALSE) {
        if (@$Place['view'] === 'toc') {