#!/bin/perl
#
#	Web campus
#
#	filename: studente/index.cgi
#	descrizione: visualizza l'elenco dei corsi e dei questionari disponibili
#	             sul sistema. Consente di selezionare il corso (per visualizzare
#	             le informazioni di dettaglio) o il questionario (per
#	             compilarlo).
#
#	#(@) 20000814 (liverani@mat.uniroma3.it)
#	#(@) 20010107 (liverani@mat.uniroma3.it)
#	#(@) 20040920 (liverani@mat.uniroma3.it) - Sostituito l'uso di "datetime" con "timestamp"

require("../lib/config.pl");
require("../lib/lib.pl");

if ($conn = Pg::connectdb("dbname=$DB_NAME")) {

	&print_header();
	&titolo("Area studenti", "Elenco dei questionari", '', 'user');
	
	#
	#	calcolo il livello medio di ogni questionario
	#
	$query = "select quesiti.id_questionario, avg(domanda.livello) from quesiti, domanda where domanda.id=quesiti.id_domanda group by quesiti.id_questionario;";
	$result = $conn->exec($query);
	while (@row = $result->fetchrow()) {
		$livello[$row[0]] = $row[1];
	}

	#
	#	calcolo gli argomenti di ogni questionario
	#
	$query = "select distinct quesiti.id_questionario, rtrim(domanda.argomento, ' ') from quesiti, domanda where quesiti.id_domanda=domanda.id order by domanda.argomento;";
	$result = $conn->exec($query);
	while (@row = $result->fetchrow()) {
		$argomento[$row[0]] =~ /$row[1],/ || ($argomento[$row[0]] .= "$row[1], ");
	}
	for ($i=0; $i<=$#argomento; $i++) {
		$argomento[$i] =~ s/\, $//;
	}

	#
	#	creo la lista dei corsi e dei questionari
	#
	$query = "select corso.id, rtrim(corso.nome, ' '), rtrim(corso.docente, ' '), questionario.id, rtrim(questionario.titolo, ' '), rtrim(questionario.note, ' '), questionario.data, date_part('day', questionario.data::timestamp), date_part('month', questionario.data::timestamp), date_part('year', questionario.data::timestamp), questionario.latex from corso, questionario where questionario.attivo=1 and questionario.id_corso=corso.id order by corso.nome, corso.docente, questionario.data;";
	$result = $conn->exec($query);
	if (@row = $result->fetchrow()) {
		$old_corso_nome = "";
		$old_corso_docente = "";
		$testo = <<"END";
			<table width="100%" border="0" cellspacing="1" cellpadding="2">
END
		do {
			if ($old_corso_nome ne $row[1] || $old_corso_docente ne $row[2]) {
				$old_corso_nome = $row[1];
				$old_corso_docente = $row[2];
				$testo .= "<tr><th bgcolor=\"$LINEA_COLOR\" colspan=\"6\" align=\"left\"><font face=\"Arial, Helvetica\" size=\"+1\" color=\"#000000\">$row[1] ($row[2]) - <a href=\"info.cgi?id_corso=$row[0]\">info...</a></th></tr>\n";
				$testo .= "<tr>$TH Compila $THEND $TH PDF $THEND $TH Titolo $THEND $TH Argomento $THEND $TH Livello $THEND $TH Data $THEND </tr>\n";
			}
			(($TD eq $TDPARI) && ($TD = $TDDISPARI)) || ($TD = $TDPARI);
			(($TDC eq $TDPARIC) && ($TDC = $TDDISPARIC)) || ($TDC = $TDPARIC);

			$testo .= "<tr>$TDC <a href=\"compila.cgi?id=$row[3]\"><img src=\"$HOME/gif/edit.gif\" alt=\"Compila il questionario\" border=\"0\"></a> $TDEND\n";
			if ($row[10]) {
				#$testo .= "$TDC <a href=\"\" onclick=\"mywindowopen('$HOME/PDF/$row[3].pdf',750,550);return false;\"><img src=\"$HOME/gif/pdf.gif\" alt=\"Scarica il questionario in formato Adobe Acrobat PDF\" border=\"0\"></a> $TDEND\n";
				$testo .= "$TDC <a href=\"$HOME/PDF/$row[3].pdf\" target=\"PDF\"><img src=\"$HOME/gif/pdf.gif\" alt=\"Scarica il questionario in formato Adobe Acrobat PDF\" border=\"0\"></a> $TDEND\n";
			} else {
				$testo .= "$TDC &nbsp; $TDEND\n";
			}
			$testo .= "$TD $row[4] $TDEND $TD $argomento[$row[3]] $TDEND $TD $LIVELLI[$livello[$row[3]]] $TDEND $TD $row[7]/$row[8]/$row[9] $TDEND</tr>\n";
			$testo .= "<tr>$TD &nbsp; $TDEND $TD &nbsp; $TDEND $TD <small>$row[5]</small> $TDEND $TD &nbsp; $TDEND $TD &nbsp; $TDEND $TD &nbsp; $TDEND </tr>\n";
		} while (@row = $result->fetchrow());
		$testo .= "</table>\n\n";
END
	} else {
		$testo = "$BORDO\nNon &egrave; stato pubblicato nessun questionario.\n$BORDOEND";
	}

	&finestra("Elenco dei questionari pubblicati", $testo, $USER_BGCOLOR, $USER_COLOR, $USER_BACKGROUND);
	&close();
} else {
	&errore(2);
}
1;

