Location: PHPKode > projects > EmploiNet : a timetable web manager > EmploiNet/v0.8.0/edt/EmploiProfesseur.php3
<?
	include("fonctions_edt.php3");
	include("../BarreDeMenu.php3");
    include("../Session/security.php");

// Entete
    buildHeader("Emploi du temps enseignant",true);

// Verification de la session
	$autorisation_list[0]=1; // Professeur
	$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,"index.php3",false);
// Ouverture de la connexion avec la base de donnees
	    $connection = openConnection($databaseName);

  // *************** DECLARATION DES CONSTANTES **************

     $first_time = "08:00:00";
     $last_time = "20:00:00";
     $first_time2 = 8;
     $last_time2 = 20;
     $jour_de_la_semaine = array("Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi","Dimanche");

		// Determination du id_user a l'aide du id_session
		$user_id = getUserID($id_session);
		$connection = openConnection($databaseName);
		// *************** VERIFICATION DES DONNEES ***************
	   	$request = "SELECT nom, prenom FROM professeur WHERE professeur.id_professeur = $user_id";
		$result = mysql_query($request);

       // *************** AUCUN ENSEIGNANT NE CORRESPOND AUX CRITERES DU FORMULAIRE ***************

        if (mysql_num_rows($result) == 0)
			print("<H3>Aucun enseignant ne correspond à ces critères</H3>\n");
		// *************** L'ENSEIGNANT EXISTE ***************

        else
        {
            $un_prof = mysql_fetch_row($result);
// Bouton pour acceder a l'emploi du temps de la semaine suivante et precedente + Titre
			print("<FORM name=form1 ACTION=\"EmploiProfesseur.php3\">\n");
		    print("      <input type=\"hidden\" name=\"login\" value=\"$login\">\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");
		    print("      <input type=\"hidden\" name=\"ma_semaine\">\n");
		    print("      <table border=0 cellspacing=1 cellpading=0 align=center>\n");
		    print("        <tr valign=middle align=center>\n");
		    print("          <td width=40><input type=\"image\" border=0 src=\"../img/PreviousButton.gif\" alt=\"Pr&eacute;c&eacute;dent\" OnClick=\"ma_semaine.value=".($ma_semaine==1?52:$ma_semaine-1)."; submit();\"></td>\n");
		    print("          <td valign=\"middle\"><H3>$un_prof[1] $un_prof[0] - Semaine $ma_semaine</H3></td>\n");
		    print("          <td width=40><input type=\"image\" border=0 src=\"../img/NextButton.gif\" alt=\"Suivant\" OnClick=\"ma_semaine.value=".($ma_semaine==52?1:$ma_semaine+1)."; submit();\"></td>\n");
		    print("        </tr>\n");
		    print("      </table>\n");
		    print("</FORM>\n");

            // *************** ASSOCIATION D'UNE COULEUR A CHAQUE MATIERE ***************
			$request = "SELECT m.id_matiere
                            FROM planifie p, matiere m, typeseance t, assurer a
                            WHERE 
							p.id_professeur = $user_id
							AND a.id_professeur = $user_id
							AND p.id_matiere = a.id_matiere
							AND m.id_matiere = a.id_matiere
							AND t.id_type_seance = p.id_type_seance
							ORDER BY m.nom";
			$result = mysql_query($request);

			$color = array("00","66","99","FF");
			$color_number = count($color);
			$red=0;$blue=0;$green=0;
			while ($une_matiere = mysql_fetch_row($result) )
            {
                $couleur_matiere[$une_matiere[0]] = $color[$red].$color[$green].$color[$blue];
				if ($blue < $color_number - 1) $blue++;
				else {
					if ($green < $color_number - 1 ) {
						$green++;
						$blue = 0;
					}
					else {
		                if ($red < $color_number - 1) {
						$red++;
						$blue = 0;
						$green = 0;
						}
					}
				}
			}
            // *************** INFORMATION SUR LA DATE ***************
			if ($ma_semaine<36) $result = mysql_query("SELECT TO_DAYS('2001-01-01')");
			else $result = mysql_query("SELECT TO_DAYS('2000-01-01')");
			$a_record = mysql_fetch_row($result);
			$jour_ref = $a_record[0];
			if ($ma_semaine<36) $result = mysql_query("SELECT DAYOFWEEK('2001-01-01')");
			else $result = mysql_query("SELECT DAYOFWEEK('2000-01-01')");
			$a_record = mysql_fetch_row($result);
			$sem_actu = $jour_ref+($ma_semaine-1)*7+($a_record[0]>2?9-$a_record[0]:2-$a_record[0]);
			// *************** DEBUT DE L'EMPLOI DU TEMPS ***************
            print("<TABLE ALIGN=\"center\" CELLSPACING=\"0\" class=\"emploi\">\n");
            // *************** INSERTION DE LA BARRE DES HEURES DU DEBUT ***************
            barre_des_heures($first_time2,$last_time2,7.0);
            barre_du_bas($first_time2,$last_time2,5.0);
            // *************** PARCOURS DES DIFFERENTS JOURS DE LA SEMAINE ***************
            for ($index = 0;$index < 6;$index++)
            {
                // *************** INSERTION DE LA BARRE DES HEURES INTERMEDIAIRE ***************
				if ($index == 2 || $index == 4)
                {
	               	barre_du_haut($first_time2,$last_time2,5.0);
                    barre_des_heures($first_time2,$last_time2,7.0);
                    barre_du_bas($first_time2,$last_time2,5.0);
                }
                // *************** MISE A JOUR DE LA FIN DU COURS PRECEDENT ***************
                $fin_cours_precedent = $first_time;
                // *************** INSERTION DES INFORMATIONS DANS LA PREMIERE CELLULE ***************
                $premier = mysql_query("SELECT FROM_DAYS($sem_actu)");
                $result_prem = mysql_fetch_row($premier);
                $essai = transformation_date($sem_actu);
                print("<TR ALIGN=\"CENTER\" class=\"emploi\"");
                print("<TD COLSPAN=\"2\" class=\"joursemaine\">\n");
                print("$jour_de_la_semaine[$index] $essai");
                print("</TD>\n");
	               // *************** REQUETE SUR LA BASE ***************
				$request = "SELECT distinct(p.id_planifie), p.jour_semaine, p.heure_debut, p.heure_fin, p.id_matiere, m.nom, t.type, p.id_professeur, p.id_salle
                            FROM planifie p, matiere m, typeseance t, assurer a
                            WHERE 
							p.jour_semaine = ".($index+1)." AND p.semaine = $ma_semaine 
							AND p.id_professeur = $user_id
							AND a.id_professeur = $user_id
							AND p.id_matiere = a.id_matiere
							AND m.id_matiere = a.id_matiere
							AND (t.id_type_seance = p.id_type_seance OR p.id_type_seance = -1)
							ORDER BY p.heure_debut";
                $result = mysql_query($request);
				// Nombre de cours programmes dans la journee
				$nb = mysql_num_rows($result);
				// Y a-t-il des cours de programmer dans la journee ?
                if ($nb == 0)
                {
                	$found = false;

/*                    $requete_jours_feries = mysql_query("SELECT * FROM vacances");
                     // *************** ON PARCOURT LA LISTE DES JOURS FERIES ***************
                     while($un_jour = mysql_fetch_row($requete_jours_feries))
                     {
                     	$req_jour_debut=mysql_query("SELECT to_days(\"$un_jour[0]\")");
                        $req_jour_fin=mysql_query("SELECT to_days(\"$un_jour[1]\")");
                        $trans1=mysql_fetch_row($req_jour_debut);
                        $trans2=mysql_fetch_row($req_jour_fin);
	                       if($sem_actu>=$trans1[0] && $sem_actu<=$trans2[0])
                        {
                        	print("<TD COLSPAN=48 ALIGN=CENTER STYLE='font-family=\"verdana\";height:$hauteur_cellule pt;border:solid  1.0 ;padding:0cm 3.5pt 0cm 3.5pt'><B>$un_jour[2]</B></TD>");
                            $found = true;
                            break;
                        }
                    } */
                    // *************** CE N'EST PAS UN JOUR FERIE ***************
                    if ($found) print("<TD ALIGN=CENTER COLSPAN=48></td>");
                }

                // *************** IL Y A AU MOINS UN COURS ***************
                else
				{
                    $fin_cours_precedent = $first_time;
                    // *************** PARCOURS DE LA LISTE DES COURS ***************
                    while ($un_cours = mysql_fetch_row($result))
                    {
						// *************** HEURE ET MINUTE DU DEBUT DU PROCHAIN COURS ***************
						$h = explode(":",$un_cours[2]);
                        $debut_cours_heure = $h[0];
                        $debut_cours_minute = $h[1];
						// *************** HEURE ET MINUTE DE LA FIN DU PROCHAIN COURS ***************
						$h = explode(":",$un_cours[3]);
                        $fin_cours_heure=$h[0];
                        $fin_cours_minute=$h[1]; 
						// *************** HEURE ET MINUTE DE LA FIN DU COURS PRECEDENT ***************
						$h = explode(":",$fin_cours_precedent);
                        $fin_cours_precedent_heure = $h[0];
                        $fin_cours_precedent_minute = $h[1];
                        // *************** MISE A JOUR DE LA FIN DU COURS PRECEDENT ***************
                        $fin_cours_precedent = $un_cours[3];
                        // *************** LE PROCHAIN COURS NE COINCIDE PAS AVEC LA FIN DU PRECEDENT ***************
                        if ($debut_cours_heure != $fin_cours_precedent_heure || $debut_cours_minute != $fin_cours_precedent_minute)
                        {
                        	$intervalle_heure = $debut_cours_heure - $fin_cours_precedent_heure;
                            $intervalle_minute = $debut_cours_minute - $fin_cours_precedent_minute;
                            $taille_cellule_vide = $intervalle_heure*4 + $intervalle_minute / 15;
                            print("<TD COLSPAN=$taille_cellule_vide></TD>\n");
                        }
						// *************** DETERMINATION DE LA TAILLE DE LA CELLULE DU COURS ***************
                        $taille_cellule = ($fin_cours_heure-$debut_cours_heure)*4+($fin_cours_minute-$debut_cours_minute)/60*4;
                        // *************** DETERMINATION DE LA COULEUR DE LA MATIERE ***************
                        $color = $couleur_matiere[$un_cours[4]];
                        // *************** INSCRIPTION DES INFORMATIONS DU COURS DANS LA CELLULE ***************
                        if ($un_cours[6] == "Examen") print("<TD COLSPAN=$taille_cellule class=\"examen\">");
						else print("<TD COLSPAN=\"$taille_cellule\" class=\"matiere\" style=\"border-color: #$color;\">");
						print("$un_cours[5] - $un_cours[6]");
					/*	// Un professeur est associe a ce cours
                        if ($un_cours[7] != -1)
						{
							$request = "SELECT initiales FROM professeur WHERE id_professeur = ".$un_cours[7];
							$result_professeur = mysql_query($request);
							$un_prof = mysql_fetch_row($result_professeur);
							print("<BR>$un_prof[0]");
						}
					*/
						// Si un groupe est associe a ce cours
							$request1 = "SELECT distinct g.nom,g.id_groupe,plg.id_planifie FROM groupe g, planifiegroupe plg WHERE g.id_groupe=plg.id_groupe AND plg.id_planifie=".$un_cours[0];  
							$result_groupe = mysql_query($request1);
							$un_groupe = mysql_fetch_row($result_groupe);
							if ($un_groupe[0] != -1)
								//print("<BR><A HREF=listeetudiantprogramme1.php3?groupe=$un_groupe[1]&id_planifie=$un_groupe[2]&user_type=$user_type&id_session=$id_session&autorisation_list=$autorisation_list>$un_groupe[0]</A>");
						//Si une promotion est associée a ce cours
							$request2= "SELECT distinct pr.sigle,pr.id_promotion,plp.id_planifie FROM planifiepromotion plp, promotion pr WHERE pr.id_promotion=plp.id_promotion AND plp.id_planifie=".$un_cours[0];
							$result_promotion = mysql_query($request2);
							$une_promotion = mysql_fetch_row($result_promotion);
							if ($une_promotion[0] != -1)
								//print("<BR><A HREF=listeetudiantprogramme2.php3?promotion=$une_promotion[1]&id_planifie=$une_promotion[2]&user_type=$user_type&id_session=$id_session&autorisation_list=$autorisation_list>$une_promotion[0]</A>");
							//	print("<BR><FONT SIZE=1><A HREF=../Liste/liste_materiel.php?id_planifie=$un_cours[0]&user_type=$user_type&id_session=$id_session&autorisation_list=$autorisation_list>Réservation matériel</A></FONT>");
						// Une salle est associee a ce cours
						if ($un_cours[8] != -1)
						{
							$request = "SELECT numero FROM salle WHERE id_salle = ".$un_cours[8];
							$result_salle = mysql_query($request);
							$une_salle = mysql_fetch_row($result_salle);
							print("<BR>$une_salle[0]");
						}
						print("</TD>\n");
					}
				}
                // *************** ON PASSE AU JOUR SUIVANT ***************
                $sem_actu++;
                print("</TR>\n");
            }
            // *************** INSERTION DE LA BARRE DES HEURES DE LA FIN ***************
            barre_du_haut($first_time2,$last_time2,5.0);
            barre_des_heures($first_time2,$last_time2,7.0);
		}
    print("</TABLE>\n");
	}
	buildEndOfPage();
?>

Return current item: EmploiNet : a timetable web manager