#include <infodrom.style>
#include "lt.style"
#include "functions.inc"

<postgresconnect>

<ltpage title="Workshops">

<define-tag nextrow whitespace=delete>
if ($nr < pg_NumRows ($sth)) {
  $row = pg_fetch_array ($sth, $nr++);
  $rdate = explode (" ", $row['date_time']);
  $rtime = $rdate[1];
  $rdate = $rdate[0];
  $rtime = explode (":", $rtime);
  $rtime = sprintf ("%s:%s", $rtime[0], $rtime[1]);
  $rows++;
}
</define-tag>

<spokendate>
<?
  $t_head  = "<p><div align=\"center\"><table width=\"99%%\" cellpadding=\"0\" cellspacing=\"0\" summary=\"\">"
	    ."<tr bgcolor=\"%s\"><th><font face=\"Helvetica,Arial\">Time</font></th>";
  $t_room  = "<th><font face=\"Helvetica,Arial\">%s</font></th>";
  $t_head2 = "</tr>";

  $t_row   = "<tr bgcolor=\"%s\">";
  $t_time  = "<td><font face=\"Helvetica,Arial\">%s</font></td>";
  #$t_talk  = "<td><font face=\"Helvetica,Arial\"><font size=\"-1\"><b>%s</b>: </font><font size=\"-1\">%s</font></font></td>";
  $t_talk  = "<td><font face=\"Helvetica,Arial\"><font size=\"-1\">%s</font></font></td>";
  $t_talke = "<td>&nbsp;</td>";
  $t_row2  = "</tr>";

  $t_foot  = "</table></div><p>";

  $dbh = pg_pconnect ("<dbconnstring>") or
	       die("Unable to connect to SQL server");

  pg_exec ($dbh, "SET DateStyle = 'ISO'") or die("Datenbank-Abfrage!");

  $query = "SELECT room,date_time,title,name,workshop.oid FROM workshop,person "
	  ."WHERE person = id AND room in ('<room-1-internal>', '<room-2-internal>', '<room-3-internal>')"
	  ."ORDER BY date_time,room";
  $sth = pg_exec ($dbh, $query) or die("Datenbank-Abfrage!");

  if (pg_NumRows ($sth) > 0) {
    $nr = 0;
    $color = "<coln>";

    $day[]="<iso-event-date_0>";
    $day[]="<iso-event-date_1>";
    $day[]="<iso-event-date_2>";
    $day[]="<iso-event-date_3>";
    $dayname[]="<name-event-date_0>";
    $dayname[]="<name-event-date_1>";
    $dayname[]="<name-event-date_2>";
    $dayname[]="<name-event-date_3>";
    $start = <workshops_start> ;
    while ($start < <workshops_end>) {
	$time[] = sprintf ("%02d:00", $start);
	$start++;
    }
    $room[]="<room-1-internal>";
    $room[]="<room-2-internal>";
    $room[]="<room-3-internal>";
    $name['<room-1-internal>']="<room-1>";
    $name['<room-2-internal>']="<room-2>";
    $name['<room-3-internal>']="<room-3>";

    $rows = 0;
    <nextrow>
    for ($thisday=$day[0],$daycount=1; $daycount<=count($day); $thisday=$day[$daycount++]) {
      printf ("<h3>%s, %s</h3>", $dayname[$daycount-1], spokendate ($thisday));
      printf ($t_head, "<colh>");
      for ($thisroom=$room[0],$roomcount=1; $roomcount<=count($room); $thisroom=$room[$roomcount++]) {
        printf ($t_room, $name[$thisroom]);
      }
      echo ($t_head2);
      $color = "<cold>";

      for ($thistime=$time[0],$timecount=1; $timecount<=count($time); $thistime=$time[$timecount++]) {
        $color=$color == "<cold>"?"<coln>" : "<cold>";
        printf ($t_row, $color);
	printf ($t_time, $thistime);

        for ($thisroom=$room[0],$roomcount=1; $roomcount<=count($room); $thisroom=$room[$roomcount++]) {
	  if (($rdate == $thisday) && ($rtime == $thistime) && ($row['room'] == $thisroom)) {
	    if (!$row['title']) {
	      $row['title'] = '.';
	    } else {
	      if (strlen($row['title']) > <len_title>) {
	        $row['title'] = substr($row['title'], 0, <len_title>-3) . "...";
	      }
	    }
	    if (strlen($row['name']) > <len_speaker>) {
	      $row['name'] = substr($row['name'], 0, <len_speaker>-3) . "...";
	    }
	    $talk = sprintf ("<a href=\"display_workshop.php3?oid=%d\">%s</a>", $row['oid'], $row['title']);
	    #printf ($t_talk, $row['name'], $talk);
	    printf ($t_talk, $talk);
	    <nextrow>
	  } else {
	    echo ($t_talke);
	  }
	}
	echo ($t_row2);
      }
      echo ($t_foot);
    }
    printf ("<p>%d sessions", $rows);
  }
?>

</ltpage>

# Local variables:
# mode: text
# mode: auto-fill
# end:
