#!/usr/bin/perl

###########################################################################
#
#
# Auteur: Guy Tremblay
# Creation: Automne 1998
#
###########################################################################

#----------------------------------------------------------------------

if ($ENV{"SCRIPT_FILENAME"}) {
    @tmp1 = split( "/", $ENV{"SCRIPT_FILENAME"} );
} else {
    @tmp1 = split( "/", $ENV{"HOME"} );
}
$home = $tmp1[1];

require "ctime.pl";
require "/$home/tremblay_gu/public_html/cgi-bin/cgi-lib.pl";

require "/$home/tremblay_gu/public_html/INF5171/Devoir3/parametres.pl";

$prefixeBD = "/$home/$nomProf/public_html/$titreCours/$expose";

#----------------------------------------------------------------------

require "/$home/tremblay_gu/public_html/cgi-bin/cgi-lib.pl";
require "/$home/tremblay_gu/public_html/cgi-bin/obtenirLignes.pl";

goto MAIN;

exit;


MAIN:
{

    if (&ReadParse(*input))
    {
	&ProcessForm;
    }
    else
    {
	&ShowForm;
    }
}

###############################################
#Sous-routine qui affiche le formulaire
###############################################
sub ShowForm
{
    print &PrintHeader;
    print &HtmlTop("Choix du sujet pour le devoir 3 en $titreCours.");
    print <<EOTF;
Pour indiquer votre choix de sujet pour le devoir 3,
remplissez le formulaire suivant.

<P>


<FORM METHOD=POST>
<P>
<P>
<PRE>
Nom de famille    <INPUT TYPE="TEXT" NAME="nom1" VALUE="" SIZE=35> Code permanent <INPUT TYPE="TEXT" NAME="codePermanent1" VALUE="" SIZE=12>

Nom de famille    <INPUT TYPE="TEXT" NAME="nom2" VALUE="" SIZE=35> Code permanent <INPUT TYPE="TEXT" NAME="codePermanent2" VALUE="" SIZE=12>

Titre du projet

<INPUT TYPE="TEXT" NAME="probleme" VALUE="" SIZE=20>

Langage utilis&eacute;

<INPUT TYPE="TEXT" NAME="langage" VALUE="" SIZE=20>

Br&egrave;ve description du probl&egrave;me et strat&eacute;gie de tests

<TEXTAREA NAME="tests" ROWS=15 COLS=60></TEXTAREA>
</PRE>
<P>

<INPUT TYPE="SUBMIT" VALUE="Enregistrer le choix">
<INPUT TYPE="RESET" VALUE="Effacer">
</FORM>

<P><HR><P><P><P>
<B> R&eacute;alisation</B>: Ce script a &eacute;t&eacute; d&eacute;velopp&eacute; par <A HREF="http://www.labunix.uqam.ca/~tremblay"> Guy Tremblay</A>, professeur au d&eacute;partement d'informatique de l'UQAM.
EOTF
    print "<P><P>\n";
    print &HtmlBot;
}



sub ProcessForm
{
    local($nom1) = $input{'nom1'};
    local($nom2) = $input{'nom2'};
    local($codePermanent1) = $input{'codePermanent1'};
    local($codePermanent2) = $input{'codePermanent2'};
    local($probleme) = $input{'probleme'};    
    local($langage) = $input{'langage'};    
    local($tests) = $input{'tests'};    

    # On verifie que les champs sont bien definis.
    if ( $nom1 && $codePermanent1  && $probleme && $langage && $tests ) {
	print &PrintHeader;
	print "<P>";
	print &HtmlTop( "Confirmation du choix d'un sujet:" );
	local($sujet) = &ajouterSujetChoisi($nom1, $codePermanent1, $nom2, $codePermanent2, $probleme, $langage, $tests);
	print "Vous ($nom1 $codePermanent1 $nom2 $codePermanent2) avez choisi le sujet suivant:<BR>\n";
	print "<UL><LI>Probl&egrave;me: $probleme</UL>\n";
	print "<UL><LI>Langage: $langage</UL>\n";
	print "<UL><LI>Strat&eacute;gie de tests: $tests</UL>\n";
	print "<P><P>\n";
	print &HtmlBot;
	#
	# Partie a modifier pour recevoir un courriel lors d'un choix.
	#
	open( MAILFICH, "> $prefixeBD/message-choix.txt" );
	print MAILFICH "$nom1 $nom2 ($codePermanent1 $codePermanent2) a/ont choisi le sujet suivant:\n";
	print MAILFICH "Probleme: $probleme\nLangage: $langage\nTests: $tests\n\n";
	close MAILFICH;
	system( "\mail \"tremblay.guy\@uqam.ca\" < $prefixeBD/message-choix.txt" );
    } else {
	CgiDie( "<P>*** Erreur dans votre choix de sujet ***",
		 "Vous devez sp&eacute;cifier au moins un nom et le code permanent associ&eacute;.",
		 "Vous devez aussi indiquer le probleme choisi et le langage utilise.");
    }
}


sub ajouterSujetChoisi
{ 
    if (!$prefixeBD) {
	&CgiDie( "Erreur dans choix d'un article",
	     "La variable \$prefixeBD ne semble pas etre initialisee." );
    }

    local($nom1, $codePermanent1, $nom2, $codePermanent2, $probleme, $langage, $tests) = @_;
    
    $nomFichOut = "$prefixeBD/sujets-choisis";

    local($res) = "Sujet choisi:<BR>\n";
    local($ligne) = "$probleme";

    $res = $ligne . "<BR><P>\n";

    if( !open( SUJETSCHOISIS, ">> $nomFichOut" )) {
	&CgiDie( "Erreur dans ajout d'un article choisi",
	       "Le fichier $nomFichOut ne semble pas exister" );
    }
    print SUJETSCHOISIS "$nom1 [$codePermanent1] $nom2 [$codePermanent2]\t$probleme\n$langage\n$tests\n----------\n";
    close(SUJETSCHOISIS);

    return $res;
}
