<?
include("../Session/security.php");
print("<html>\n");
print("<head>\n");
print("<title>Charge d'une promotion, avec les enseignants</title>\n");
print("</head>\n");
print("<body>\n");
$autorisation_list[0]=0; // Administrateur
$autorisation_list[1]=3; // Gestionnaire
$autorisation_list[2]=4; // Directeur de departement
$user_type = validateSession($id_session);
if ($user_type == -1 || !security($id_session,$autorisation_list)) print("Accès refusé");
else
{
/*connection à la base*/
$connection = openConnection($databaseName);
/*récupération de l'id de la promo*/
$id=$id_promotion;
/*requête sql*/
$result1=mysql_query("select cgu.libelle,departement.libelle,matiere.libelle,professeur.nom,typeseance.type,nb_heures
from departement,cgu,matiere,professeur,assurer,typeseance,promotion,suiviparpromotion
where promotion.id_promotion=suiviparpromotion.id_promotion
and suiviparpromotion.id_matiere=matiere.id_matiere
and matiere.id_matiere=assurer.id_matiere
and matiere.id_matiere=assurer.id_matiere
and assurer.id_professeur=professeur.id_professeur
and professeur.id_departement=departement.id_departement
and assurer.id_type_seance=typeseance.id_type_seance
and promotion.id_cgu=cgu.id_cgu
and type not like 'Examen' and promotion.id_promotion=".$id."
group by matiere.libelle,type
order by matiere.libelle");
$result2=mysql_query("select cgu.libelle,departement.libelle,matiere.id_matiere,matiere.libelle,professeur.nom,typeseance.type,nb_heures
from departement,cgu,matiere,professeur,assurer,typeseance,promotion,suivipargroupe,groupe,associer
where promotion.id_promotion=associer.id_promotion and associer.id_groupe=groupe.id_groupe
and groupe.id_groupe=suivipargroupe.id_groupe
and suivipargroupe.id_matiere=matiere.id_matiere
and matiere.id_matiere=assurer.id_matiere
and matiere.id_matiere=assurer.id_matiere
and assurer.id_professeur=professeur.id_professeur
and professeur.id_departement=departement.id_departement
and assurer.id_type_seance=typeseance.id_type_seance
and promotion.id_cgu=cgu.id_cgu
and typeseance.type not like 'Examen' and promotion.id_promotion='$id'
group by matiere.id_matiere,typeseance.type
order by matiere.id_matiere asc,typeseance.type asc");
/*mémorisation des enregistrements de la seconde requête pour régler le problème des groupes*/
$num2=mysql_num_rows($result2);
if ($num2>0) {
$row=mysql_fetch_row($result2);
$i=0;
$ligne[$i][0]=$row[0];/*cgu*/
$ligne[$i][1]=$row[1];/*departement*/
$ligne[$i][2]=$row[2];/*id matiere*/
$ligne[$i][3]=$row[3];/*libelle matiere*/
$ligne[$i][4]=$row[4];/*prof*/
$ligne[$i][5]=$row[5];/*type seance*/
$ligne[$i][6]=$row[6];/*nb_heures*/
$ligne[$i][7]=1;/*compteur gpes td*/
$i++;
$j=$i;
$row=mysql_fetch_row($result2);
while($i<$num2)
{
if($row[3]==$ligne[$j-1][3] && $row[5]==$ligne[$j-1][5])
$ligne[$j-1][7]++;
else{
/*mémorisation de la matière affichée*/
$ligne[$j][0]=$row[0];
$ligne[$j][1]=$row[1];
$ligne[$j][2]=$row[2];
$ligne[$j][3]=$row[3];
$ligne[$j][4]=$row[4];
$ligne[$j][5]=$row[5];
$ligne[$j][6]=$row[6];
$ligne[$j][7]=1;
$j++;
}
$i++;
$row=mysql_fetch_row($result2);
}
}
$i=0; /*compteur d'enregistrements utilisés*/
/*récupération du nombre d'enregistrements dans $num1*/
if($result1!=false)
$num1=mysql_num_rows($result1);
else
$num1=0;
/*affichage du titre*/
$titre = mysql_query("SELECT diplome.libelle as L1,promotion.libelle as L2 FROM promotion,diplome WHERE promotion.id_diplome=diplome.id_diplome ORDER BY diplome.libelle");
$row=mysql_fetch_row($titre);
print("<center><font size=5>CHARGE de la FORMATION : ".$row[0]." ".$row[1]."</font></center>\n");
print("<br>\n");
/*récupération du premier enregistrement*/
if ($num1!=0)
{
$enr=mysql_fetch_row($result1);
print("<table width=100% border=1 cellspacing=0 cellpadding=0>\n");
/*entête du tableau*/
print("<tr align=\"center\">\n");
print("<td align=center valign=top rowspan=2 width=20><b>Site</b></td>\n");
print("<td align=center valign=top rowspan=2 width=30><b>FI/FC</b></td>\n");
print("<td align=center valign=top rowspan=2 width=30><b>Dépt</b></td>\n");
print("<td align=center valign=top rowspan=2 width=10><b>S.</b></td>\n");
print("<td align=center valign=top rowspan=2 width=200><b>Intitulé du cours</b></td>\n");
print("<td align=center valign=top rowspan=2 width=150><b>enseignant</b></td>\n");
print("<td align=center valign=top rowspan=2 width=20><b>Nb TD</b></td>\n");
print("<td align=center valign=top rowspan=2 width=20><b>Nb TP</b></td>\n");
print("<td align=center colspan=4 width=175><b>Répartition</b></td>\n");
print("<td align=center valign=center rowspan=2 width=150><b>Total eq. TD</b></td>\n");
print("</tr><tr>\n");
print("<td align=center><b>CM</b></td>\n");
print("<td align=center><b>TD</b></td>\n");
print("<td align=center><b>TDm</b></td>\n");
print("<td align=center><b>TP</b></td>\n");
print("</tr>\n");
while($i<$num1)
{
$total=0; /*total eq td /ligne*/
print("<tr>\n");
$matiere=$enr[2]; /*récupration de la matière*/
print("<td>\n");
print($enr[0]."\n"); /*site*/
print("</td><td>\n");
print("FI/FC\n");
print("</td><td>\n");
print($enr[1]."\n"); /*dpt*/
print("</td><td>\n");
print("1\n");
print("</td><td>\n");
print($enr[2]."\n"); /*matière*/
print("</td><td>\n");
print($enr[3]."\n"); /*prof*/
print("</td><td>\n");
print("1\n"); /*nb groupes td*/
print("</td><td>\n");
print("1\n"); /*nb groupes tP*/
print("</td>\n");
if($enr[4]=='CM') /*nombre d'heures s'il s'agit d'un cours magistral*/
{
if(($enr[5]==(int)$enr[5])!=0) $enr[5]=(int)$enr[5];
print("<td>".$enr[5]."</td>\n"); /*affichage du nombre d'heures*/
$total+=$enr[5]*1.5; /*ajout au total*/
if(($total==(int)$total)!=0) $total=(int)$total;
$enr=mysql_fetch_row($result1); /*sélection de l'enregistrement suivant*/
$i++; /*incrémentation du nombre d'enregistrements utilisés*/
}else /*il ne s'agit pas d'un cours magistral*/
print("<td> </td>\n");
if($enr[4]=='TD' && $matiere==$enr[2])
{
if(($enr[5]==(int)$enr[5])!=0) $enr[5]=(int)$enr[5];
print("<td>".$enr[5]."</td>\n");
$total+=$enr[5];
if(($total==(int)$total)!=0) $total=(int)$total;
$enr=mysql_fetch_row($result1);
$i++;
}else print("<td> </td>\n");
if($enr[4]=='TDm' && $matiere==$enr[2])
{
if(($enr[5]==(int)$enr[5])!=0) $enr[5]=(int)$enr[5];
print("<td>".$enr[5]."</td>\n");
$total+=$enr[5];
if(($total==(int)$total)!=0) $total=(int)$total;
$enr=mysql_fetch_row($result1);
$i++;
}else print("<td> </td>\n");
if($enr[4]=='TP' && $matiere==$enr[2])
{
if(($enr[5]==(int)$enr[5])!=0) $enr[5]=(int)$enr[5];
print("<td>".$enr[5]."</td>\n");
$total+=$enr[5]*2/3;
if(($total==(int)$total)!=0) $total=(int)$total;
$enr=mysql_fetch_row($result1);
$i++;
}else print("<td> </td>\n");
/*affichage du total*/
print("<td align=center><b>".$total."</b></td></tr>\n");
/*ajout au total général et remise à zéro de total*/
$totalgene+=$total;
if(($totalgene==(int)$totalgene)!=0) $totalgene=(int)$totalgene;
$total=0;
}/*while*/
$i=0;
while($i<$j)
{
$total=0; /*total eq td /ligne*/
print("<tr>\n");
$matiere=$ligne[$i][3]; /*récupération de la matière*/
print("<td>\n");
print($ligne[$i][0]."\n"); /*site*/
print("</td><td>\n");
print("FI/FC\n");
print("</td><td>\n");
print($ligne[$i][1]."\n"); /*dpt*/
print("</td><td>\n");
print("1\n");
print("</td><td>\n");
print($ligne[$i][3]."\n"); /*matière*/
print("</td><td>\n");
print($ligne[$i][4]."\n"); /*prof*/
print("</td><td>\n");
print($ligne[$i][7]."\n"); /*nb groupes td*/
print("</td><td>\n");
/*nb groupes TP*/
if($ligne[$i][1]=='Informatique')
print($ligne[$i][7]."\n");
else
print("1\n");
print("</td>\n");
if($ligne[$i][5]=='CM') /*nombre d'heures s'il s'agit d'un cours magistral*/
{
if(($ligne[$i][6]==(int)$ligne[$i][6])!=0) $ligne[$i][6]=(int)$ligne[$i][6];
print("<td>".$ligne[$i][6]."</td>\n"); /*affichage du nombre d'heures*/
$total+=$ligne[$i][6]*1.5; /*ajout au total*/
if(($total==(int)$total)!=0) $total=(int)$total;
$i++; /*incrémentation du nombre d'enregistrements utilisés*/
}else /*il ne s'agit pas d'un cours magistral*/
print("<td> </td>\n");
if($ligne[$i][5]=='TD' && $matiere==$ligne[$i][3])
{
if(($ligne[$i][6]==(int)$ligne[$i][6])!=0) $ligne[$i][6]=(int)$ligne[$i][6];
print("<td>".$ligne[$i][6]."</td>\n");
$total+=$ligne[$i][6];
if(($total==(int)$total)!=0) $total=(int)$total;
$i++;
}else print("<td> </td>\n");
if($ligne[$i][5]=='TDm' && $matiere==$ligne[$i][3])
{
if(($ligne[$i][6]==(int)$ligne[$i][6])!=0) $ligne[$i][6]=(int)$ligne[$i][6];
print("<td>".$ligne[$i][6]."</td>\n");
$total+=$ligne[$i][6];
if(($total==(int)$total)!=0) $total=(int)$total;
$i++;
}else print("<td> </td>\n");
if($ligne[$i][5]=='TP' && $matiere==$ligne[$i][3])
{
if(($ligne[$i][6]==(int)$ligne[$i][6])!=0) $ligne[$i][6]=(int)$ligne[$i][6];
print("<td>".$ligne[$i][6]."</td>\n");
$total+=$ligne[$i][6]*2/3;
if(($total==(int)$total)!=0) $total=(int)$total;
$i++;
}else print("<td> </td>\n");
/*affichage du total*/
if($total==(int)($total))
printf("<td align=center><b>%d</b></td></tr>\n",$total);
else
printf("<td align=center><b>%0.2f</b></td></tr>\n",$total);
/*ajout au total général et remise à zéro de total*/
$totalgene+=$total;
if(($totalgene==(int)$totalgene)!=0) $totalgene=(int)$totalgene;
$total=0;
}/*while*/
print("</table>\n");
/*affichage du pied de page*/
print("<table border=1 align=right cellspacing=0 cellpadding=0>\n");
if($total==(int)($total))
printf("<tr><td width=150><b>Total : %d</b></td></tr>\n",$totalgene);
else
printf("<tr><td width=150><b>Total : %0.2f</b></td></tr>\n",$totalgene);
print("</table>\n");
}
else {print("<h3>Aucune matière ni enseignant enregistrés pour cette formation</h3>");}
}
print("</body></html>\n");
?>