+<define-tag php_utils>
+<?
+function readdb($datedb)
+{
+ $dates = array();
+
+ if (($db = fopen($datedb,'r')) !== false) {
+ $lines = array();
+ while (!feof($db)) {
+ $line = fgets($db, 200);
+
+ if (!preg_match("/^([0-9]{4})-([0-9]{2})-([0-9]{2})\|/", $line))
+ continue;
+
+ $dates[] = $line;
+ }
+ }
+ return $dates;
+}
+
+function display_dates()
+{
+ global $dates;
+
+<protect>
+ $layout_head = '<div style="padding-top: 10px;"></div>'
+ .'<table class="dates" width="100%%" border="0" cellpadding="0" cellspacing="0">'
+ .'<tr bgcolor="#aeaeae"><th align="left" colspan="2"><strong> %s</strong></th>'
+ .'<td align="left">Ort</td>'
+ .'<td align="center">Zeit</td>'
+ .'</tr>';
+ $layout_row = '<tr bgcolor=#%s>'
+ .'<td align=left width=20%%> %d. (%s)</td>'
+ .'<td align=left width=60%%>%s</td>'
+ .'<td align=left width=15%%>%s</td>'
+ .'<td align=right width=5%%>%s </td>'
+ .'</tr>';
+</protect>
+ $layout_foot = '</table>';
+
+ $nowstring = date("Y-m-");
+ $today = mktime(0,0,0, date('m'), date('d'), date('Y'));
+
+ sort($dates);
+ $cmon = false;
+ $color = 'ffffff';
+ foreach ($dates as $line) {
+ if ($line < $nowstring)
+ 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 ($match[1] !== $thisyear || $match[2] !== $thismonth) {
+ if ($cmon)
+ echo $layout_foot;
+ $thisyear = $match[1];
+ $thismonth = $match[2];
+ printf($layout_head, strftime("%B %Y", $when));
+ $cmon = true;
+ }
+ if (strlen($match[7]))
+ $title = '<a href="' . $match[7] . '">' . $match[5] . '</a>';
+ else
+ $title = $match[5];
+
+ if ($when == $today)
+ $color = 'ffff00';
+ printf($layout_row, $color, $match[3], strftime("%A", $when), $title, $match[6], $match[4]);
+ $color = $color == 'ffffff'?'d7d7d7':'ffffff';
+ }
+ }
+ if ($cmon)
+ echo $layout_foot;
+}
+?>
+</define-tag>