Display current events on the main page automatically
[infodrom.org/oldenburg.linux.de] / src / index.wml
index 1bccbe7..ab9d34c 100644 (file)
 #include <LUGO.style>
+#include <tools.inc>
+
+<?
+$max_news = 2;
+$max_age = 7;
+$newsdir = "News";
+$datedb = "Termine/dates.txt";
+$max_days = 14;
+
+function next_date()
+{
+  global $max_days;
+  global $datedb;
+
+  $head = '<div class="news"><div class="newsbody"><h3 class="newstitle">%s</h3><div class="date">';
+  $head .= '<table class="font" cellpadding=1 cellspacing=2 width=100%%><tr><th>Wann</th><th>Was</th><th>Wo</th></tr>';
+  $foot = '</table></div></div></div>';
+  $row = '<tr%s><td>%s</td><td>%s</td><td>%s</td></tr>';
+  $pivot = time() + 60*60*24*$max_days;
+  $now = mktime(0,0,0, date('m'), date('d'), date('Y'));
+
+  if (($dates = fopen($datedb,'r')) !== false) {
+    $lines = array();
+    while (!feof($dates)) {
+      $line = fgets($dates, 200);
+
+      if (!preg_match("/\|OL\|/", $line))
+       continue;
+
+      if (preg_match("/([0-9]{4})-([0-9]{2})-([0-9]{2})\|/", $line, $match)) {
+       $when = mktime(0,0,0, $match[2], $match[3], $match[1]);
+       if ($when > $pivot || $when < $now)
+         continue;
+       $lines[] = $line;
+      }
+    }
+
+    if (count($lines)) {
+      sort($lines);
+      echo '<div style="padding-top: 10px"></div>'."\n";
+      printf($head."\n", "Kommende Termine in Oldenburg");
+
+      foreach ($lines as $line) {
+       if (preg_match("/([0-9]{4})-([0-9]{2})-([0-9]{2})\|([^\|]*)\|OL\|([^\|]*)\|([^\|]*)\|(.*)/", $line, $match)) {
+         $when = mktime(0,0,0, $match[2], $match[3], $match[1]);
+
+         if ($when == $now) {
+           $date = '<strong>heute, ' . $match[4].'</strong>';
+           $color = ' bgcolor="#79c2ef"';
+         } else {
+           $date = strftime("%e.%m.%y", $when) . ', ' . $match[4];
+           $color = '';
+         }
+
+         if (empty($match[7]))
+           $what = $match[5];
+         else
+           $what = '<a href="'.$match[7].'">'.$match[5].'</a>';
+
+         printf($row, $color, $date, $what, $match[6]);
+       }
+      }
+      echo $foot;
+    }
+  }
+}
+function display_news($when, $file)
+{
+  global $newsdir;
+
+  $head = '<div class="news"><div class="newsbody"><h3 class="newstitle">%s</h3><div class="newscontent">';
+  $foot = '</div></div></div>';
+
+  $date = strftime("%e. %B %Y", $when);
+
+  if (($news = fopen($newsdir.'/'.$file,'r')) !== false) {
+    $needp = 0;  // 0 = init, 1 = <p> need, 2 = no <p> needed
+
+    printf($head."\n", $date);
+    while (!feof($news)) {
+      $line = fgets($news, 200);
+
+      $line = str_replace ("\\\n", "", $line);
+
+      if ($needp == 0) {
+       if (substr($_, 0, 3) == "<p>") {
+         $needp = 2;
+       } else {
+         $needp = 1;
+         $line = '<p>'.$line;
+       }
+      }
+
+      echo $line;
+    }
+    if ($needp == 1)
+      echo '</p>';
+    echo $foot;
+  }
+}
+
+function newsbox()
+{
+  global $max_news;
+  global $max_age;
+  global $newsdir;
+
+  setlocale(LC_TIME, "de_DE");
+
+  $pivot = time() - 60*60*24*$max_age;
+  $news = array();
+  if (is_dir($newsdir)) {
+    if ($dir = opendir($newsdir)) {
+      while (($file = readdir($dir)) !== false) {
+       if (!preg_match("/news-([0-9]{4})-([0-9]{2})-([0-9]{2})\.txt/", $file, $matches))
+         continue;
+       $when = mktime(0,0,0, $matches[2], $matches[3], $matches[1]);
+       if ($when < $pivot)
+         continue;
+       $news[$when] = $file;
+      }
+      closedir($dir);
+    }
+  }
+
+  if (count($news)) {
+    echo '<div style="padding-top: 10px"></div>'."\n";
+
+    krsort($news);
+
+    $cnt = 0;
+    foreach ($news as $time => $file) {
+      if ($cnt >= $max_news)
+       continue;
+      display_news($time, $file);
+      $cnt++;
+    }
+  }
+}
+?>
 
 <page>
 
 <p>Die <em>Linux User Group Oldenburg</em> (LUGO) ist eine
-Interessengemeinschaft für Linux und Freie Software in und um <a
+Interessengemeinschaft für GNU/Linux und Freie Software in und um <a
 href="http://www.oldenburg.de/">Oldenburg</a>.  Die Linux User Group
-Oldenburg trifft sich regelmäßig auf dem <a href="<: print
-$root_prefix :>Infos/stammtisch.html">Oldenburger Linux-Stammtisch</a>.
+Oldenburg trifft sich regelmäßig auf dem <a
+href="<root_prefix>Infos/stammtisch.html">Oldenburger Linux-Stammtisch</a>
+und unregelmäßig auf weiteren Treffen.</p>
 
-# <p>Aus dem Stammtisch und der LUGO hervorgegangen ist der
-# <a href="http://www.ffis.de/">Verein zur Förderung Freier
-# Informationen und Software e.V.</a> (ffis), der sich u.a. mit der
-# Organisation und Durchführung von Informationsveranstaltungen befaßt
-# und einen rechtlichen Rahmen bildet.
+<?next_date()?>
 
-<p>Auf den folgenden Seiten finden Sie Informationen rund um Freie
-Software, Linux und die LUGO sowie den Veranstaltungen, an denen deren
-Mitglieder beteiligt sind.
+<p>Außerhalb dieser Treffen wird auf der <a
+href="<root_prefix>Infos/liste.html">Mailing-Liste</a>
+linux-stammtisch (<a href="<url ml-linux-stammtisch>">Archiv</a>) über
+Freie Software und GNU/Linux diskutiert.  Aus der LUGO hervorgegangen
+ist der gemeinnützige <a href="http://www.ffis.de/">Verein zur
+Förderung Freier Informationen und Software e.V.</a> (ffis).  Auf den
+folgenden Seiten finden Sie Informationen rund um Freie Software sowie
+Veranstaltungen zu diesem Themenspektrum.</p>
 
-<p>Linux ist ein freier Unix-Clone f&uuml;r Rechner der Intel
-x86er-Klasse ab 80386 sowie weiterer Prozessorarchitekturen (Alpha,
+<p>Linux ist der Kern eines freien Unix-artigen Betriebssystems für Rechner der Intel
+x86er-Klasse ab 80386 sowie für viele weitere Prozessorarchitekturen
+(u.a. Alpha,
 Sun Sparc, PowerPC, HP PA-RISC, Motorola 680x0, IBM S/390, ARM, MIPS
-etc.).  Linux ist ein Betriebssystem, das echtes Multitasking und
+etc.).  GNU/Linux ist das Betriebssystem auf Basis des Linux-Kernels, das echtes Multitasking und
 vernünftige Unterstützung für Multiuser-Umgebungen bietet.  Durch
 seine breite Hardwareunterst&uuml;tzung ist es f&uuml;r Privatanwender
 genauso interessant, wie f&uuml;r den gewerblichen Einsatz.  <p>
 
-# <table cellpadding=0 cellspacing=10 border=0 width=100%>
-# <tr>
-# <td width=50% align=center valign=center>
-
-# <h3 align=center><a href="http://www.ffis.de/Termine/Vortraege/">Vorträge</a></h3>
-# 
-# Zusammen mit dem ffis e.V. und dem Hochschulrechenzentrum der <a
-# href="http://www.uni-oldenburg.de/">Universit&auml;t Oldenburg</a>
-# wird eine <a href="<url ffis-vortraege>">Vortragsreihe</a>
-# veranstaltet, in der verschiedene Themen rund um Freie Software
-# angesprochen werden.  &Uuml;ber eine rege Teilnahme w&uuml;rden wir
-# uns freuen.  Anregungen und Themenvorschl&auml;ge werden an <mailto> geschickt.
-
-# </td>
-# <td align=center valign=center>
-
-<center>
-    <p><font face="Helvetica,Arial"><b>10. bis 13. Juli 2003</b></font><p>
-    <a href="http://www.linuxtag.de/">\
-<img src=<root_prefix>images/ltlogo-small.gif width=97 height=64 border=0 alt="[LinuxTag-Logo]"></a>
-</center>
-
-# </td>
-# <td width=50% align=left>
-# 
-#  <h3 align=center><a href="<root_prefix>Infos/lt01.html">Oldenburger LinuxTag</a></h3>
-#  
-#   Der Oldenburger LinuxTag 2001 ist die größte
-#   Ausstellung und Konferenz zu
-#   Freier Software im Raum Weser-Ems.  Er schlägt die Brücke zwischen
-#   Experten und Anwendern in diesem Sektor der IT-Branche.  Auf rund
-#   200 Quadratmetern werden alle Aspekte von Linux, BSD und anderer
-#   Freier Software vorgeführt.<a href="<root_prefix>Infos/lt01.html">Mehr...</a><p>
-# </td>
-
-# </tr>
-# </table>
+<p>
+<?newsbox()?>
 
 </page>