Location: PHPKode > projects > EmploiNet : a timetable web manager > EmploiNet/v0.8.0/gdn/gestionnaire.php3
<?



	

	include("../BarreDeMenu.php3");

	

	include("../security.php");



// Entete

    buildHeader("Gestion des notes");



// Verification de la session

	$autorisation_list[0]=3; // Gestionnaire

	$user_type = validateSession($id_session);

	if ($user_type == -1 || !security($id_session,$autorisation_list)) print("Accès refusé");

    else

    {

// Barre de menu

		buildMenuBar($id_session,$user_type,"gdn/gestionnaire.php3",false);

// Determination du id_user a l'aide du id_session

		$user_id = getUserID($id_session);

// Ouverture de la connexion

	    $connection = openConnection($databaseName);

	    if (!isset($index)) $index=0;


//***********************************************************************************************

//* Fin de la barre de menu

//***********************************************************************************************



    print("<form name=\"form1\" action=\"\" method=post>\n");

    print("  <input type=\"hidden\" name=\"login\" value=\"$login\">\n");

    print("  <input type=\"hidden\" name=\"choice\" value=\"$choice\">\n");

	print("  <input type=\"hidden\" name=\"index\" value=$index>\n");

    print("  <input type=\"hidden\" name=\"id_session\" value=\"$id_session\">\n");

    print("  <input type=\"hidden\" name=\"user_type\" value=\"$user_type\">\n");

    print("  <input type=\"hidden\" name=\"user_id\" value=\"$user_id\">\n");

    print("  <input type=\"hidden\" name=\"display\" value=\"$display\">\n");

	if($index>=3)    print("  <input type=\"hidden\" name=\"matiere\" value=\"\">\n");

	if($index>=3)    print("  <input type=\"hidden\" name=\"nbre_mat\" value=\"-1\">\n");

	if($index>=2)    print("  <input type=\"hidden\" name=\"promo\" value=\"$promo\">\n");

	if($index>=3)    print("  <input type=\"hidden\" name=\"periode\" value=\"$periode\">\n");



	// on recherche qui est le gestionnaire :

	$result = mysql_query("SELECT id_gestionnaire, nom, prenom, email FROM gestionnaire WHERE id_gestionnaire=$user_id");

	$tmp = mysql_fetch_row($result);

	$id_gestionnaire = $tmp[0];

	$nom_g		= $tmp[1];

	$prenom_g	= $tmp[2];

	$email_g	= $tmp[3];







//***********************************************************************************************

//********			PREMIERE ETAPE : SELECTION DE LA PROMOTION ET DE LA PERIODE			*********

//***********************************************************************************************

if($index<=2){





	// liste des promotions que le gestionnaire gère

	$result2 = mysql_query("SELECT P.id_promotion, P.sigle FROM promotion P, gerer G WHERE P.id_promotion=G.id_promotion AND G.id_gestionnaire=$id_gestionnaire");





    print("  <table align=center border=0 cellspacing=0 cellpading=0 bgcolor=\"#C0C000\">\n");

    print("  <tr>\n");

    print("    <td>\n");

    print("		<font size=3><i>Promotion : </i></font> \n");

    print("    </td>\n");

    print("    <td>\n");

    print("		<SELECT tabindex=-1 NAME=\"promo\" onChange=\"index.value=2;submit();\">  \n");

	if(!isset($promo))  print("	<OPTION SELECTED > </option> \n");

	for($i=0;$i<mysql_num_rows($result2);$i++){

		$temp = mysql_fetch_row($result2);

		if(isset($promo) && $temp[0]==$promo)

		    print("	<OPTION SELECTED VALUE=$temp[0]> $temp[1] \n");

		else

		    print("	<OPTION VALUE=$temp[0]> $temp[1] \n");

	}

    print("		</SELECT>  \n");

    print("    </td>\n");

    print("  </tr>\n");



	if($index==2){

		// liste des périodes :

		$result3 = mysql_query("SELECT id_periode, numero FROM periode WHERE id_promotion=$promo");

		print("  <tr>\n");

		print("    <td>\n");

		print("		<font size=3><i>P&eacute;riode : </i></font> \n");

		print("    </td>\n");

		print("    <td>\n");

		print("		<SELECT size=1 tabindex=-1 NAME=\"periode\" onChange=\"index.value=3;submit();\">  \n");

		print("	<OPTION SELECTED > </option> \n");

		for($i=0;$i<mysql_num_rows($result3);$i++){

			$temp = mysql_fetch_row($result3);

			print("	<OPTION VALUE=$temp[0]> $temp[1] \n");

		}

		print("		</SELECT>  \n");

		print("    </td>\n");

		print("  </tr>\n");

	}

	print("  </table> \n");



}// fin index==1 ou 2





//***********************************************************************************************

//********		DEUXIEME ETAPE : VISUALISATION DE TOUTES LES MATIERES IMPLIQUEES		*********

//***********************************************************************************************

if($index==3 || $index==4){



	$calcul_bulletins = true;



	// infos sur la promotion et sur la période :

	$result2 = mysql_query("SELECT P.libelle, PE.numero, PE.numero_semaine_debut, nb_semaines, P.sigle FROM promotion P, periode PE WHERE P.id_promotion=$promo AND PE.id_promotion=$promo AND PE.id_periode=$periode");

	$tmp = mysql_fetch_row($result2);



	if($index==4){	// il faut avertir le(s) prof(s) pour qu'ils remplissent leurs moyennes 

		if($nbre_mat==-1){

			// une seule matiere concernée :

			$result__ = mysql_query("SELECT DISTINCT P.nom, P.prenom, P.email, M.nom FROM professeur P, assurer A, matiere M WHERE P.id_professeur=A.id_professeur AND A.id_matiere=M.id_matiere AND M.id_matiere=$matiere");

			$nb = mysql_num_rows($result__);

			for($j=0;$j<$nb;$j++){

				$prof = mysql_fetch_row($result__);

			

				$msg = " <b>Message</b> de " . $prenom_g . " " . $nom_g . ", gestionnaire de la promotion <b>" . $tmp[4] . "</b> à " . $prof[1] . " " . $prof[0] . "; <br>";

				$msg .= " <b>Objet :</b> Les moyennes des etudiants en <b>" . $prof[3] . "</b>.<br><br>";

				$msg .= " Merci de completer ces moyennes au plus vite afin que je puisse générer les bulletins. <br><br>";

				$msg .= " Merci d'avance. <br> " . $prenom_g . " " . $nom_g . ".<br><br> " . $email_g;



				//email(liste des parametres qu'il faut mettre);



				print(" <font size=1>$prof[2] : <br>$msg</font> \n");



			}

		}else{

			// ici on avertit tous les profs qui n'ont pas rentrés leurs moyennes

			$nb = 0;

			echo "$nbre_mat";

			for($i=0;$i<$nbre_mat;$i++){

				$matiere_ = "$" . "matiere_" . $i;

				eval( "\$matiere_ = \"$matiere_\";" );

				$result__ = mysql_query("SELECT DISTINCT P.nom, P.prenom, P.email, M.nom FROM professeur P, assurer A, matiere M WHERE P.id_professeur=A.id_professeur AND A.id_matiere=M.id_matiere AND M.id_matiere=$matiere_");

				$nb += mysql_num_rows($result__);

				for($j=0;$j<mysql_num_rows($result__);$j++){

					$prof = mysql_fetch_row($result__);

				

					$msg = " <b>Message</b> de " . $prenom_g . " " . $nom_g . ", gestionnaire de la promotion <b>" . $tmp[4] . "</b> à " . $prof[1] . " " . $prof[0] . "; <br>";

					$msg .= " <b>Objet :</b> Les moyennes des etudiants en <b>" . $prof[3] . "</b>.<br><br>";

					$msg .= " Merci de completer ces moyennes au plus vite afin que je puisse générer les bulletins. <br><br>";

					//$msg .= " Merci d'avance. <br> " . $prenom_g . " " . $nom_g . ".<br><br> " . $email_g;



					//email(liste des parametres qu'il faut mettre);



					print(" <font size=1>$prof[2] : <br>$msg</font> \n");

				}

			}

		}

		print(" <br>&nbsp;<b> $nb professeur(s) averti(s) par mail.</b><br><br> \n");

	}//fin index==4

	

	

	print("  &nbsp;<i> <u>Promotion :</u> $tmp[0]</i> <BR> \n");

	print("  &nbsp;<i> <u>P&eacute;riode :</u> $tmp[1] (commence sem. $tmp[2] et s'&eacute;tend sur $tmp[3] sem.)</i> <BR> \n");





	print("  <br>&nbsp;<u><i><b>Liste des mati&egrave;res impliqu&eacute;es : </b></i></u> <br><br> \n");



	// on recherche toutes les matieres de la promo :

	$result2 = mysql_query("SELECT DISTINCT M.id_matiere, M.nom FROM matiere M, suiviparpromotion SPP, suivipargroupe SPG, associer A WHERE ( (M.id_matiere=SPP.id_matiere AND SPP.id_promotion=$promo) OR (M.id_matiere=SPG.id_matiere AND SPG.id_groupe=A.id_groupe AND A.id_promotion=$promo) ) AND M.id_periode=$periode ORDER BY M.nom");	



	print("  <table align=center border=1 cellspacing=0 cellpading=0 width=520>\n");

	print("  <tr>\n");

	print("    <td width=180 align=center bgcolor=\"#C0C000\"><i> &nbsp;Libell&eacute;  </i></td> \n");

	print("    <td width=140 align=center bgcolor=\"#C0C000\"><i> Professeur(s)  </i></td> \n");

	print("    <td width=80 align=center bgcolor=\"#C0C000\"><i> Moyennes ? </i></td> \n");

	print("    <td width=120 align=center bgcolor=\"#C0C000\"><i> &nbsp; </i></td> \n");

	print("  </tr>\n");



	$nbre = 0;

	for($i=0;$i<mysql_num_rows($result2);$i++){

		$matiere = mysql_fetch_row($result2);



		// liste du(des) professeur(s) assurant la matiere :

		$result3 = mysql_query("SELECT DISTINCT P.nom FROM professeur P, assurer A WHERE A.id_professeur=P.id_professeur AND A.id_matiere=$matiere[0]");

		if(mysql_num_rows($result3)==0) $profs = "??";

		for($j=0;$j<mysql_num_rows($result3);$j++){

			$tmp = mysql_fetch_row($result3);

			if($j==0)	$profs = $tmp[0];

			else	$profs .= " / " . $tmp[0];

		}



		// ON REGARDE SI TOUTES LES MOYENNES SONT REMPLIES :

		// dabord on regarde si la matiere est suivie par la promo entiere ou un groupe slt :

		$result4 = mysql_query("SELECT SPG.id_groupe, G.nom FROM suivipargroupe SPG, associer A, groupe G WHERE SPG.id_matiere=$matiere[0] AND SPG.id_groupe=A.id_groupe AND A.id_promotion=$promo AND G.id_groupe=SPG.id_groupe");

		if(mysql_num_rows($result4)==0){

			// suivi par toute la promotion

			$result5 = mysql_query("SELECT COUNT(*) FROM appartient APP, associer ASS WHERE APP.id_groupe=ASS.id_groupe AND ASS.id_promotion=$promo");

			$tmp1 = mysql_fetch_row($result5); // $tmp1[0] = nb d'etudiants de la promo

			$result6 = mysql_query("SELECT COUNT(M.moyenne) FROM moyenne M, appartient APP, associer ASS WHERE M.id_matiere=$matiere[0] AND M.id_etudiant=APP.id_etudiant AND APP.id_groupe=ASS.id_groupe AND ASS.id_promotion=$promo");

			$tmp2 = mysql_fetch_row($result6); // $tmp2[0] = nb d'etudiants de la promo qui ont une moyenne

			if($tmp1[0]==$tmp2[0])	$toutes = "oui";

			else	$toutes = "<b>non</b>";

		}else{

			// suivi par un groupe

			$tmp = mysql_fetch_row($result4);	//	==>> $tmp[0] = numero du groupe qui suit la matiere

			$matiere[1] .= " (" . $tmp[1] . ")";

			$result5 = mysql_query("SELECT COUNT(*) FROM appartient WHERE id_groupe=$tmp[0]");

			$tmp1 = mysql_fetch_row($result5); // $tmp1[0] = nb d'etudiants du groupe

			$result6 = mysql_query("SELECT COUNT(M.moyenne) FROM moyenne M, appartient APP WHERE M.id_matiere=$matiere[0] AND M.id_etudiant=APP.id_etudiant AND APP.id_groupe=$tmp[0]");

			$tmp2 = mysql_fetch_row($result6);// $tmp2[0] = nb d'etudiants du groupe qui ont une moyenne

			if($tmp1[0]==$tmp2[0])	$toutes = "oui";

			else	$toutes = "<b>non</b>";

		}



		print("  <tr>\n");

		print("    <td>  <font face=\"arial\" size=2>&nbsp;$matiere[0] - $matiere[1] </font> </td> \n");

		print("    <td align=center>  <font face=\"arial\" size=2>&nbsp;$profs  </font> </td> \n");

		print("    <td align=center>  <font face=\"arial\" size=2> $toutes </font> </td> \n");

		if($toutes!="oui"){	

			$calcul_bulletins = false;

			print("    <td align=center> <input type=hidden name=\"matiere_$nbre\" value=\"$matiere[0]\"><font face=\"arial\" size=1><A href=\"Javascript:document.form1.index.value=4;document.form1.matiere.value=$matiere[0];document.form1.submit();\">avertir le(s) professeur(s)</A></font></td> \n");

			$nbre++;

		}else

			print("    <td> &nbsp; </td> \n");

		print("  </tr>\n");

	}

	print("  </table> \n");



	print("   <br><div align=center><font face=\"arial\" size=1><A href=\"Javascript:document.form1.index.value=4;document.form1.nbre_mat.value=$nbre;document.form1.submit();\">avertir tous les professeurs qui n'ont pas effectu&eacute; leur calcul de moyennes</A></font></div> \n");

	if($calcul_bulletins){

		print("  <br><div align=center> <input type=button value=\"Envoyer aux etudiants leur bulletin\" > </div>\n"); 

	}

}// fin index==3 ou 4







	print("</form> \n");





//***********************************************************************************************

//***********************************************************************************************

//***********************************************************************************************

}

	

	buildEndOfPage();	



?>

Return current item: EmploiNet : a timetable web manager