Display current and future news automatically
authorJoey Schulze <joey@infodrom.org>
Wed, 10 Dec 2003 10:40:16 +0000 (10:40 +0000)
committerJoey Schulze <joey@infodrom.org>
Wed, 10 Dec 2003 10:40:16 +0000 (10:40 +0000)
src/index.wml

index 4003fc4..4e678b9 100644 (file)
@@ -1,4 +1,5 @@
 #include <LUGO.style>
+#include <tools.inc>
 
 <page>
 
@@ -27,16 +28,6 @@ vern
 seine breite Hardwareunterst&uuml;tzung ist es f&uuml;r Privatanwender
 genauso interessant, wie f&uuml;r den gewerblichen Einsatz.  <p>
 
-<:
-
-# if (termine in Zukunft)
-#    anzeigen
-# else if (termin !√§lter als 1 monat)
-#    anzeigen
-# fi
-
-:>
-
 <center>
     <p><ifont><b>Sommer 2004</b></ifont><p>
     <a href="http://www.linuxtag.de/">\
@@ -50,6 +41,53 @@ genauso interessant, wie f&uuml;r den gewerblichen Einsatz.  <p>
     Pinguin Radtour 2003.</b></ifont>
 </div>
 
+<:
+
+    if (opendir (NEWS, "News/")) {
+       @news = reverse (sort (grep (/^news-.*\.txt$/,readdir (NEWS))));
+        closedir (NEWS);
+    }
+
+    my ($date_sec,$date_min,$date_hour,$date_mday,$date_mon,$date_year,$date_wday,$date_isdst)
+        = localtime(time-24*60*60*10);
+    my $pivot = sprintf ("%04d-%d-%02d", $date_year+1900, $date_mon+1, $date_mday);
+
+    my @top = ();
+    foreach my $fname (@news) {
+        $fname =~ /news-(\d+-\d+-\d+).*/;
+       push (@top, $fname) if ($1 gt $pivot);
+    }
+
+    if ($#top > -1) {
+:>
+<center>
+<border width=90% color=0000ff>
+<:
+        while (my $news = shift @top) {
+           $news =~ /news-(\d+)-(\d+)-(\d+).txt/;
+           $date = "$3.$2.$1";
+           if (open (NEWS, "News/$news")) {
+               printf "<b>%s</b><br>", $date;
+               while (<NEWS>) {
+                   if (/\\$/) {
+                       s,\\$,,;
+                       chomp;
+                   }
+                   print;
+               }
+               close (NEWS);
+               print "<hr>" if ($#top > -1);
+           }
+       }
+:>
+</border>
+</center>
+<:
+    }
+
+:>
+<p>
+
 </page>
 
 # Local variables: