Ejemplo n.º 1
0
    $DisplayPeriodBar = true;
} else {
    $DisplayPeriodBar = false;
    $_SESSION['period_id'] = 0;
}
//=========================== CONSTRUCTION DES EDT
if ($_SESSION['statut'] == "eleve") {
    $tab_data = ConstruireEDTEleve($_SESSION['login'], $_SESSION['period_id']);
    $entetes = ConstruireEnteteEDT();
    $creneaux = ConstruireCreneauxEDT();
    $DisplayEDT = true;
    $login_edt = $_SESSION['login'];
} else {
    if ($_SESSION['statut'] == "responsable") {
        $tab_data = ConstruireEDTEleve($login_edt, $_SESSION['period_id']);
        $entetes = ConstruireEnteteEDT();
        $creneaux = ConstruireCreneauxEDT();
        $DisplayEDT = true;
    } else {
        $DisplayEDT = false;
    }
}
// =============================================================================
//
//                                  VUE
//
// =============================================================================
// ============== Le header ==========
require_once "../lib/header.inc.php";
// ===================================
?>
Ejemplo n.º 2
0
function ConstruireEDTClasseDuJour($id_classe, $period, $jour)
{
    global $contenu_creneaux_edt_avec_span_title;
    $table_data = array();
    $tab_cours = array();
    $type_edt = "classe";
    $entetes = ConstruireEnteteEDT();
    while (!isset($entetes['entete'][$jour])) {
        $jour--;
    }
    $jour_sem_tab[$jour] = $entetes['entete'][$jour];
    $tab_data['entete'][$jour] = $entetes['entete'][$jour];
    $req_id_creneaux = mysqli_query($GLOBALS["mysqli"], "SELECT id_definie_periode FROM edt_creneaux\r\n\t\t\t\t\t\t\t    WHERE type_creneaux != 'pause'") or die(mysqli_error($GLOBALS["mysqli"]));
    $nbre_lignes = mysqli_num_rows($req_id_creneaux);
    if ($nbre_lignes == 0) {
        $nbre_lignes = 1;
    }
    if ($nbre_lignes > 10) {
        $nbre_lignes = 10;
    }
    $tab_data['nb_creneaux'] = $nbre_lignes;
    $index_box = 0;
    $erreur = false;
    while (isset($jour_sem_tab[$jour])) {
        $tab_id_creneaux = retourne_id_creneaux();
        $j = 0;
        $elapse_time = 0;
        while (isset($tab_id_creneaux[$j]) and !$erreur) {
            $nb_rows = RecupereEnseignementsID($j, $jour_sem_tab[$jour], $id_classe, $tab_cours, $period);
            // ========================================== créneau vide
            if ($nb_rows == 0) {
                $delay = 2 - $elapse_time % 2;
                RemplirBox($elapse_time, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule" . $delay, "cadre", "");
                $elapse_time += $delay;
            } else {
                if ($nb_rows == 1) {
                    // ---- Le cours a lieu en semaine A ou B
                    if ($tab_cours['id_semaine'][0] != '0') {
                        $duree_max = $tab_cours['duree'][0];
                        $heuredeb_dec = $tab_cours['heuredeb_dec'][0];
                        // ========= études des cas n°2 , 6 et 7
                        if ($duree_max == 1) {
                            //|| (($duree_max == 2) AND ($heuredeb_dec == 0))
                            if ($heuredeb_dec == 0 and $elapse_time % 2 != 0) {
                                RemplirBox($elapse_time, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule1", "cadre", "");
                                $elapse_time++;
                            } else {
                                RemplirBox($elapse_time, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule2", "", "");
                                if ($duree_max == 1 and $heuredeb_dec != 0) {
                                    RemplirBox($elapse_time, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule1", "cadre", "");
                                    $elapse_time++;
                                }
                                $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $tab_cours['id_groupe'][0], $tab_cours['id_aid'][0], $tab_cours['id_semaine'][0], $period);
                                RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], "", $tab_cours['id_cours'][0], "cellule" . $duree_max, $tab_cours['couleur'][0], $contenu);
                                $elapse_time += $duree_max;
                                if ($duree_max == 1 and $heuredeb_dec == 0) {
                                    RemplirBox($elapse_time, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule1", "cadre", "");
                                    $elapse_time++;
                                }
                                RemplirBox($elapse_time, $tab_data[$jour], $index_box, "fin_conteneur", $tab_id_creneaux[$j], "", "", "", "", "");
                                RemplirBox($elapse_time, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule2", "", "");
                                RemplirBox($elapse_time, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule2", "cadre", "");
                                RemplirBox($elapse_time, $tab_data[$jour], $index_box, "fin_conteneur", $tab_id_creneaux[$j], "", "", "", "", "");
                            }
                        } else {
                            $duree_max1 = DureeMax2ColonnesClasse($jour_sem_tab[$jour], $id_classe, $tab_id_creneaux, $elapse_time, $tab_cours, $j, 0, 1, $period);
                            $duree_max2 = 0;
                            //DureeMax2ColonnesClasse($jour_sem_tab[$jour], $id_classe, $tab_id_creneaux, $elapse_time,$tab_cours, $j,1,0 );
                            if ($duree_max1 >= $duree_max2) {
                                $duree_max = $duree_max1;
                            } else {
                                $duree_max = $duree_max2;
                            }
                            ConstruireColonneClasse($elapse_time, $tab_cours, 0, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $id_classe, '0', $tab_data, $index_box, $period);
                            ConstruireColonneClasse($elapse_time, $tab_cours, 1, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $id_classe, $tab_cours['id_semaine'][0], $tab_data, $index_box, $period);
                            $elapse_time += $duree_max;
                        }
                    } else {
                        // ======== étude du cas n°5
                        if ($tab_cours['heuredeb_dec'][0] != 0 and $elapse_time % 2 == 0) {
                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule1", "cadre", "");
                            $elapse_time++;
                        }
                        // ======== étude du cas n°3
                        if ($tab_cours['heuredeb_dec'][0] == 0 and $elapse_time % 2 == 1 and $tab_cours['duree'][0] == 1) {
                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule1", "cadre", "");
                            $elapse_time++;
                        } else {
                            $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $tab_cours['id_groupe'][0], $tab_cours['id_aid'][0], "", $period);
                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], "", $tab_cours['id_cours'][0], "cellule" . $tab_cours['duree'][0], $tab_cours['couleur'][0], $contenu);
                            $elapse_time += (int) $tab_cours['duree'][0];
                        }
                    }
                } else {
                    if ($nb_rows == 2) {
                        $duree1 = $tab_cours['duree'][0];
                        $heuredeb_dec1 = $tab_cours['heuredeb_dec'][0];
                        $id_semaine1 = $tab_cours['id_semaine'][0];
                        $duree2 = $tab_cours['duree'][1];
                        $heuredeb_dec2 = $tab_cours['heuredeb_dec'][1];
                        $id_semaine2 = $tab_cours['id_semaine'][1];
                        // ---- cas classique des alignements des cours de langues
                        // ---- les id_semaine sont identiques pour les deux cours : 0 0, A A ou B B.
                        // ---- cas non traités : génération des deux colonnes à partir de la notion de groupes
                        // ---- ici, on n'affiche qu'un créneau et si les cours sont de durées différentes, on
                        // ---- complète avec des créneaux vides.
                        if ($id_semaine1 == $id_semaine2) {
                            $elapse_time1 = $elapse_time;
                            if ($heuredeb_dec1 != 0 and $elapse_time1 % 2 == 0) {
                                $duree1++;
                            }
                            if ($heuredeb_dec2 != 0 and $elapse_time1 % 2 == 0) {
                                $duree2++;
                            }
                            if ($duree1 > $duree2) {
                                $duree_max = $duree1;
                            } else {
                                $duree_max = $duree2;
                            }
                            RemplirBox($elapse_time1, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule" . $duree_max, "", "");
                            if ($heuredeb_dec1 != 0 and $elapse_time1 % 2 == 0) {
                                RemplirBox($elapse_time1, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule1", "cadre", "");
                                $elapse_time1++;
                            }
                            $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $tab_cours['id_groupe'][0], $tab_cours['id_aid'][0], "", $period);
                            RemplirBox($elapse_time1, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], "", $tab_cours['id_cours'][0], "cellule" . $tab_cours['duree'][0], $tab_cours['couleur'][0], $contenu);
                            $elapse_time1 += (int) $tab_cours['duree'][0];
                            if ($elapse_time1 < $elapse_time + $duree_max) {
                                $time_left = $elapse_time + $duree_max - $elapse_time1;
                                RemplirBox($elapse_time1, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule" . $time_left, "cadre", "");
                                $elapse_time1++;
                            }
                            RemplirBox($elapse_time1, $tab_data[$jour], $index_box, "fin_conteneur", $tab_id_creneaux[$j], "", "", "", "", "");
                            $elapse_time1 = $elapse_time;
                            RemplirBox($elapse_time1, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule" . $duree_max, "", "");
                            if ($heuredeb_dec2 != 0 and $elapse_time1 % 2 == 0) {
                                RemplirBox($elapse_time1, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule1", "cadre", "");
                                $elapse_time1++;
                            }
                            $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $tab_cours['id_groupe'][1], $tab_cours['id_aid'][1], "", $period);
                            RemplirBox($elapse_time1, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], "", $tab_cours['id_cours'][1], "cellule" . $tab_cours['duree'][1], $tab_cours['couleur'][1], $contenu);
                            $elapse_time1 += (int) $tab_cours['duree'][1];
                            if ($elapse_time1 < $elapse_time + $duree_max) {
                                $time_left = $elapse_time + $duree_max - $elapse_time1;
                                RemplirBox($elapse_time1, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule" . $time_left, "cadre", "");
                                $elapse_time1++;
                            }
                            RemplirBox($elapse_time1, $tab_data[$jour], $index_box, "fin_conteneur", $tab_id_creneaux[$j], "", "", "", "", "");
                            $elapse_time += $duree_max;
                        } else {
                            // ========= étude des cas n°8 et n°9 et n°14 et n°15 et n°16 et 10
                            $duree_max1 = DureeMax2ColonnesClasse($jour_sem_tab[$jour], $id_classe, $tab_id_creneaux, $elapse_time, $tab_cours, $j, 0, 1, $period);
                            $duree_max2 = DureeMax2ColonnesClasse($jour_sem_tab[$jour], $id_classe, $tab_id_creneaux, $elapse_time, $tab_cours, $j, 1, 0, $period);
                            if ($duree_max1 >= $duree_max2) {
                                $duree_max = $duree_max1;
                            } else {
                                $duree_max = $duree_max2;
                            }
                            ConstruireColonneClasse($elapse_time, $tab_cours, 0, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $id_classe, '0', $tab_data, $index_box, $period);
                            ConstruireColonneClasse($elapse_time, $tab_cours, 1, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $id_classe, $tab_cours['id_semaine'][0], $tab_data, $index_box, $period);
                            $elapse_time += $duree_max;
                        }
                    } else {
                        if ($nb_rows == 3) {
                            $duree1 = $tab_cours['duree'][0];
                            $heuredeb_dec1 = $tab_cours['heuredeb_dec'][0];
                            $id_semaine1 = $tab_cours['id_semaine'][0];
                            $duree2 = $tab_cours['duree'][1];
                            $heuredeb_dec2 = $tab_cours['heuredeb_dec'][1];
                            $id_semaine2 = $tab_cours['id_semaine'][1];
                            $duree3 = $tab_cours['duree'][2];
                            $heuredeb_dec3 = $tab_cours['heuredeb_dec'][2];
                            $id_semaine3 = $tab_cours['id_semaine'][2];
                            $tab_cas = EtudeDeCasTroisCours($tab_cours);
                            if ($tab_cas['cas_detecte'] >= 22 and $tab_cas['cas_detecte'] <= 30) {
                                $elapse_time1 = $elapse_time;
                                // ---- TODO : Calculer proprement $duree_max
                                if ($heuredeb_dec1 != 0 and $elapse_time1 % 2 == 0) {
                                    $duree1++;
                                }
                                if ($heuredeb_dec2 != 0 and $elapse_time1 % 2 == 0) {
                                    $duree2++;
                                }
                                if ($heuredeb_dec3 != 0 and $elapse_time1 % 2 == 0) {
                                    $duree3++;
                                }
                                if ($duree1 > $duree2) {
                                    $duree_max = $duree1;
                                } else {
                                    $duree_max = $duree2;
                                }
                                if ($duree3 > $duree_max) {
                                    $duree_max = $duree3;
                                }
                                // ---- la variable suivante est une mémoire pour savoir quel enregistrement utiliser.
                                $isFirstColUsed = false;
                                // ---- remplissage de la colonne 1/3
                                $res = ConstruireColonneClasseTiers($elapse_time, $tab_cours, 0, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $id_classe, '0', $tab_data, $index_box, $isFirstColUsed, $period);
                                //if ($res > $elapse_time + $duree_max)
                                //{
                                //    $duree_max = $res - $elapse_time;
                                //}
                                // ---- remplissage de la colonne 2/3
                                $res = ConstruireColonneClasseTiers($elapse_time, $tab_cours, 1, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $id_classe, '0', $tab_data, $index_box, $isFirstColUsed, $period);
                                //if ($res > $elapse_time + $duree_max)
                                //{
                                //    $duree_max = $res - $elapse_time;
                                //}
                                // ---- remplissage de la colonne 3/3
                                $res = ConstruireColonneClasseTiers($elapse_time, $tab_cours, 2, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $id_classe, '0', $tab_data, $index_box, $isFirstColUsed, $period);
                                //if ($res > $elapse_time + $duree_max)
                                //{
                                //    $duree_max = $res - $elapse_time;
                                //}
                                $elapse_time += $duree_max;
                            } else {
                                if ($tab_cas['cas_detecte'] == 17) {
                                    $indice = $tab_cas['indice'];
                                    $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $tab_cours['id_groupe'][$indice], $tab_cours['id_aid'][$indice], "", $period);
                                    RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], "", $tab_cours['id_cours'][$indice], "cellule" . $tab_cours['duree'][$indice], $tab_cours['couleur'][$indice], $contenu);
                                    $elapse_time += (int) $tab_cours['duree'][$indice];
                                    $indice2 = ($indice + 1) % 3;
                                    $indice3 = ($indice + 2) % 3;
                                    $duree1 = $tab_cours['duree'][$indice2];
                                    $heuredeb_dec1 = $tab_cours['heuredeb_dec'][$indice2];
                                    $id_semaine1 = $tab_cours['id_semaine'][$indice2];
                                    $duree2 = $tab_cours['duree'][$indice3];
                                    $heuredeb_dec2 = $tab_cours['heuredeb_dec'][$indice3];
                                    $id_semaine2 = $tab_cours['id_semaine'][$indice3];
                                    if ($tab_cours['id_semaine'][$indice2] == $tab_cours['id_semaine'][$indice3]) {
                                        $elapse_time1 = $elapse_time;
                                        if ($heuredeb_dec1 != 0 and $elapse_time1 % 2 == 0) {
                                            $duree1++;
                                        }
                                        if ($heuredeb_dec2 != 0 and $elapse_time1 % 2 == 0) {
                                            $duree2++;
                                        }
                                        if ($duree1 > $duree2) {
                                            $duree_max = $duree1;
                                        } else {
                                            $duree_max = $duree2;
                                        }
                                        RemplirBox($elapse_time1, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule" . $duree_max, "", "");
                                        if ($heuredeb_dec1 != 0 and $elapse_time1 % 2 == 0) {
                                            RemplirBox($elapse_time1, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule1", "cadre", "");
                                            $elapse_time1++;
                                        }
                                        $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $tab_cours['id_groupe'][0], $tab_cours['id_aid'][0], "", $period);
                                        RemplirBox($elapse_time1, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], "", $tab_cours['id_cours'][0], "cellule" . $tab_cours['duree'][0], $tab_cours['couleur'][0], $contenu);
                                        $elapse_time1 += (int) $tab_cours['duree'][0];
                                        if ($elapse_time1 < $elapse_time + $duree_max) {
                                            $time_left = $elapse_time + $duree_max - $elapse_time1;
                                            RemplirBox($elapse_time1, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule" . $time_left, "cadre", "");
                                            $elapse_time1++;
                                        }
                                        RemplirBox($elapse_time1, $tab_data[$jour], $index_box, "fin_conteneur", $tab_id_creneaux[$j], "", "", "", "", "");
                                        $elapse_time1 = $elapse_time;
                                        RemplirBox($elapse_time1, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule" . $duree_max, "", "");
                                        if ($heuredeb_dec2 != 0 and $elapse_time1 % 2 == 0) {
                                            RemplirBox($elapse_time1, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule1", "cadre", "");
                                            $elapse_time1++;
                                        }
                                        $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $tab_cours['id_groupe'][1], $tab_cours['id_aid'][1], "", $period);
                                        RemplirBox($elapse_time1, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], "", $tab_cours['id_cours'][1], "cellule" . $tab_cours['duree'][1], $tab_cours['couleur'][1], $contenu);
                                        $elapse_time1 += (int) $tab_cours['duree'][1];
                                        if ($elapse_time1 < $elapse_time + $duree_max) {
                                            $time_left = $elapse_time + $duree_max - $elapse_time1;
                                            RemplirBox($elapse_time1, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule" . $time_left, "cadre", "");
                                            $elapse_time1++;
                                        }
                                        RemplirBox($elapse_time1, $tab_data[$jour], $index_box, "fin_conteneur", $tab_id_creneaux[$j], "", "", "", "", "");
                                        $elapse_time += $duree_max;
                                    } else {
                                        $duree_max = DureeMax2ColonnesClasse($jour_sem_tab[$jour], $id_classe, $tab_id_creneaux, $elapse_time, $tab_cours, $j, $indice2, $indice3, $period);
                                        ConstruireColonneClasse($elapse_time, $tab_cours, $indice2, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $id_classe, '0', $tab_data, $index_box, $period);
                                        ConstruireColonneClasse($elapse_time, $tab_cours, $indice3, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $id_classe, $tab_cours['id_semaine'][$indice2], $tab_data, $index_box, $period);
                                        $elapse_time += $duree_max;
                                    }
                                } else {
                                    if ($tab_cas['cas_detecte'] == 18) {
                                        $indice = $tab_cas['indice'];
                                        $indice2 = ($indice + 1) % 3;
                                        $indice3 = ($indice + 2) % 3;
                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule1", "", "");
                                        $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $tab_cours['id_groupe'][$indice2], $tab_cours['id_aid'][$indice2], "", $period);
                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], "", $tab_cours['id_cours'][$indice2], "cellule" . $tab_cours['duree'][$indice2], $tab_cours['couleur'][$indice2], $contenu);
                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "fin_conteneur", $tab_id_creneaux[$j], "", "", "", "", "");
                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule1", "", "");
                                        $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $tab_cours['id_groupe'][$indice3], $tab_cours['id_aid'][$indice3], "", $period);
                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], "", $tab_cours['id_cours'][$indice3], "cellule" . $tab_cours['duree'][$indice3], $tab_cours['couleur'][$indice3], $contenu);
                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "fin_conteneur", $tab_id_creneaux[$j], "", "", "", "", "");
                                        $elapse_time += (int) $tab_cours['duree'][$indice2];
                                        $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $tab_cours['id_groupe'][$indice], $tab_cours['id_aid'][$indice], "", $period);
                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], "", $tab_cours['id_cours'][$indice], "cellule" . $tab_cours['duree'][$indice], $tab_cours['couleur'][$indice], $contenu);
                                        $elapse_time += (int) $tab_cours['duree'][$indice];
                                    } else {
                                        if ($tab_cas['cas_detecte'] == 19) {
                                            $indice = $tab_cas['indice'];
                                            $indice2 = ($indice + 1) % 3;
                                            $indice3 = ($indice + 2) % 3;
                                            if ($tab_cours['id_semaine'][$indice] == $tab_cours['id_semaine'][$indice2]) {
                                                $rang = $indice3;
                                            } else {
                                                $rang = $indice2;
                                            }
                                            $duree_max = DureeMax2ColonnesClasse($jour_sem_tab[$jour], $id_classe, $tab_id_creneaux, $elapse_time, $tab_cours, $j, $indice, $rang, $period);
                                            ConstruireColonneClasse($elapse_time, $tab_cours, $indice, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $id_classe, '0', $tab_data, $index_box, $period);
                                            ConstruireColonneClasse($elapse_time, $tab_cours, $rang, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $id_classe, $tab_cours['id_semaine'][$indice], $tab_data, $index_box, $period);
                                            $elapse_time += $duree_max;
                                        } else {
                                            if ($tab_cas['cas_detecte'] == 20 or $tab_cas['cas_detecte'] == 21) {
                                                $indice = $tab_cas['indice'];
                                                $indice2 = ($indice + 1) % 3;
                                                $indice3 = ($indice + 2) % 3;
                                                $duree_max = DureeMax2ColonnesClasse($jour_sem_tab[$jour], $id_classe, $tab_id_creneaux, $elapse_time, $tab_cours, $j, $indice2, $indice3, $period);
                                                ConstruireColonneClasse($elapse_time, $tab_cours, $indice2, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $id_classe, '0', $tab_data, $index_box, $period);
                                                ConstruireColonneClasse($elapse_time, $tab_cours, $indice3, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $id_classe, $tab_cours['id_semaine'][$indice2], $tab_data, $index_box, $period);
                                                $elapse_time += $duree_max;
                                            } else {
                                                $erreur = true;
                                                echo "<div class= \"cadreInformation\">Erreur sur la génération de l'emploi du temps : " . $tab_cas['cas_detecte'] . "</div>";
                                            }
                                        }
                                    }
                                }
                            }
                        } else {
                            // ============= gloups ! 4 enseignements ou plus sur le même créneau
                            //
                            $contenu = "";
                            for ($z = 0; $z < $nb_rows; $z++) {
                                $contenu .= "<p>" . ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $tab_cours['id_groupe'][$z], $tab_cours['id_aid'][$z], "", $period) . "</p>";
                            }
                            // Normalement, l'ajout $tab_cours['id_groupe'][XXX] est inutile.
                            // On ne devrait pas avoir de collision d'id_dev pour un créneau sur un jour donné
                            //$id_div = "ens_".$tab_id_creneaux[$j]."_".$jour_sem_tab[$jour]."_".$tab_cours['id_groupe'][$z];
                            $id_div = "ens_" . $tab_id_creneaux[$j] . "_" . $jour_sem_tab[$jour] . "_" . $tab_cours['id_groupe'][0];
                            $case_tab = "<a href='#' onclick=\"afficher_div('" . $id_div . "','n',0,0);return false;\">\r\n<img src=\"../templates/" . NameTemplateEDT() . "/images/voir.png\" title=\"voir les cours\" alt=\"voir les cours\" /> </a>" . creer_div_infobulle($id_div, "Liste des enseignements", "#330033", $contenu, "#FFFFFF", 20, 0, "y", "n", "y", "n") . "\n";
                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], "", "", "cellule2", "cadreRouge", $case_tab);
                            //RemplirBox($elapse_time,$tab_data[$jour], $index_box, "erreur", $tab_id_creneaux[$j], "none", "none", "cellule2", "cadreRouge", "C08");
                            $elapse_time += 2;
                        }
                    }
                }
            }
            $j = (int) ($elapse_time / 2);
        }
        $jour++;
        $index_box = 0;
    }
    return $tab_data;
}
Ejemplo n.º 3
0
function EdtDuJourHorizontal($tab_data, $jour, $flags)
{
    $result = "";
    $entetes = ConstruireEnteteEDT();
    $creneaux = ConstruireCreneauxEDT();
    $hauteur_demicreneaux = 30;
    $hauteur_creneaux = $hauteur_demicreneaux * 2;
    $nb_creneaux = $creneaux['nb_creneaux'];
    if ($nb_creneaux == 0 or $nb_creneaux == 1) {
        $width = "94px";
    } else {
        $width = $nb_creneaux * 2 * $hauteur_demicreneaux + $hauteur_creneaux + 4;
        $width = $width . "px;";
    }
    while (!isset($entetes['entete'][$jour])) {
        $jour--;
    }
    $jour_sem = $entetes['entete'][$jour];
    $result .= " <div class=\"fond_h\">\n";
    $result .= "<div class=\"ligne\" style=\"width : " . $width . "\">\n";
    $jour_sem = $entetes['entete'][$jour];
    $result .= "<div class=\"entete_h\" style=\"width : " . $hauteur_creneaux . "px;\"><div class=\"cadre\">" . $jour_sem . "</div></div>\n";
    $index_box = 0;
    $AlreadyInContainer = false;
    while (isset($tab_data[$jour]['type'][$index_box])) {
        if ($tab_data[$jour]['type'][$index_box] == "vide") {
            $hauteur = $tab_data[$jour]['duree_valeur'][$index_box] * $hauteur_demicreneaux * 2;
            $hauteur = $hauteur . "px;";
            if (strpos($tab_data[$jour]['duree'][$index_box], "demi") !== FALSE) {
                $result .= "<div class=\"demicellule_h\" style=\"width : " . $hauteur . ";\">";
            } elseif (strpos($tab_data[$jour]['duree'][$index_box], "tiers") !== FALSE) {
                $result .= "<div class=\"tierscellule_h\" style=\"width : " . $hauteur . ";\">";
            } else {
                $result .= "<div class=\"cellule_h\" style=\"width : " . $hauteur . ";\">";
            }
            $result .= "<div style=\"display:none;\">" . $tab_data[$jour]['affiche_creneau'][$index_box] . " - durée = " . $tab_data[$jour]['duree_valeur'][$index_box] . " heure(s)</div>\n";
            if (strpos($tab_data[$jour]['couleur'][$index_box], "Repas") !== FALSE) {
                $result .= "<div class=\"cadreRepas\">\n";
            } else {
                $result .= "<div class=\"cadre\">\n";
            }
            if (isset($tab_data[$jour]['extras'][$index_box])) {
                $result .= "Hello" . $tab_data[$jour]['extras'][$index_box];
            }
            $result .= "</div></div>\n";
        } else {
            if ($tab_data[$jour]['type'][$index_box] == "erreur") {
                $hauteur = $tab_data[$jour]['duree_valeur'][$index_box] * $hauteur_demicreneaux * 2;
                $hauteur = $hauteur . "px;";
                if (strpos($tab_data[$jour]['duree'][$index_box], "demi") !== FALSE) {
                    $result .= "<div class=\"demicellule_h\" style=\"width : " . $hauteur . ";\">";
                } elseif (strpos($tab_data[$jour]['duree'][$index_box], "tiers") !== FALSE) {
                    $result .= "<div class=\"tierscellule_h\" style=\"width : " . $hauteur . ";\">";
                } else {
                    $result .= "<div class=\"cellule_h\" style = \"width : " . $hauteur . ";\">";
                }
                $result .= "<div style=\"display:none;\">" . $tab_data[$jour]['affiche_creneau'][$index_box] . " - durée = " . $tab_data[$jour]['duree_valeur'][$index_box] . " heure(s)</div>\n";
                $result .= "<div class=\"cadreRouge\">\n";
                $result .= $tab_data[$jour]['contenu'][$index_box];
                $result .= "</div></div>\n";
            } else {
                if ($tab_data[$jour]['type'][$index_box] == "conteneur") {
                    $hauteur = $tab_data[$jour]['duree_valeur'][$index_box] * $hauteur_demicreneaux * 2;
                    $hauteur = $hauteur . "px;";
                    if (!$AlreadyInContainer) {
                        $result .= "<div class=\"cellule_h\" style=\"width : " . $hauteur . ";\">";
                    }
                    if (strpos($tab_data[$jour]['duree'][$index_box], "demi") !== FALSE) {
                        $result .= "<div class=\"demicellule_h\" style =\"width : " . $hauteur . ";display:block;\">";
                        if (!$AlreadyInContainer) {
                            $CountBeforeOutOfContainer = 2;
                        }
                        $AlreadyInContainer = true;
                    } elseif (strpos($tab_data[$jour]['duree'][$index_box], "tiers") !== FALSE) {
                        $result .= "<div class=\"tierscellule_h\" style = \"width : " . $hauteur . ";display:block;\">";
                        if (!$AlreadyInContainer) {
                            $CountBeforeOutOfContainer = 3;
                        }
                        $AlreadyInContainer = true;
                    } else {
                        $result .= "<div class=\"cellule_h\" style=\"width : " . $hauteur . ";\">";
                        if (!$AlreadyInContainer) {
                            $CountBeforeOutOfContainer = 1;
                        }
                        $AlreadyInContainer = true;
                    }
                } else {
                    if ($tab_data[$jour]['type'][$index_box] == "cours") {
                        $hauteur = $tab_data[$jour]['duree_valeur'][$index_box] * $hauteur_demicreneaux * 2;
                        $hauteur = $hauteur . "px;";
                        if (strpos($tab_data[$jour]['duree'][$index_box], "demi") !== FALSE) {
                            $result .= "<div class=\"demicellule_h\" style=\"width : " . $hauteur . ";\">";
                        } elseif (strpos($tab_data[$jour]['duree'][$index_box], "tiers") !== FALSE) {
                            $result .= "<div class=\"tierscellule_h\" style=\"width : " . $hauteur . ";\">";
                        } else {
                            $result .= "<div class=\"cellule_h\" style=\"width : " . $hauteur . ";\">";
                        }
                        $result .= "<div style=\"display:none;\">" . $tab_data[$jour]['affiche_creneau'][$index_box] . " - durée = " . $tab_data[$jour]['duree_valeur'][$index_box] . " heure(s)</div>\n";
                        if (strpos($tab_data[$jour]['couleur'][$index_box], "Couleur") !== FALSE) {
                            $result .= "<div class=\"cadreCouleur\">\n";
                        } else {
                            $result .= "<div class=\"cadre\">\n";
                        }
                        if (isset($tab_data[$jour]['extras'][$index_box])) {
                            $result .= "Hello" . $tab_data[$jour]['extras'][$index_box];
                        }
                        if ($flags & INFOBULLE) {
                            $lesson_content_1 = str_replace("<br />", " - ", $tab_data[$jour]['contenu'][$index_box]);
                            $lesson_content_2 = str_replace("<i>", " ", $lesson_content_1);
                            $lesson_content = str_replace("</i>", " ", $lesson_content_2);
                            $result .= "<div class=\"ButtonBar\"><div class=\"image\"><img src=\"../../templates/DefaultEDT/images/info.png\" title=\"" . $lesson_content . "\"  /></div></div>";
                            $result .= "</div></div>\n";
                        } else {
                            $result .= $tab_data[$jour]['contenu'][$index_box];
                            $result .= "</div></div>\n";
                        }
                    } else {
                        if ($tab_data[$jour]['type'][$index_box] == "fin_conteneur") {
                            $result .= "</div>\n";
                            $CountBeforeOutOfContainer--;
                            if ($CountBeforeOutOfContainer == 0) {
                                $result .= "</div>\n";
                                $AlreadyInContainer = false;
                            }
                        } else {
                            // ========= type de box non implémentée
                        }
                    }
                }
            }
        }
        $index_box++;
    }
    $result .= "</div><div style=\"clear:both\"></div>\n";
    if ($flags & CRENEAUX_INVISIBLES) {
        $result .= '</div>';
    } else {
        // ===== affichage de la colonne créneaux
        $result .= "<div class=\"ligne_creneaux\" style=\"width : " . $width . "\">\n";
        $result .= "<div class=\"entete_creneaux_h\" style=\"width : " . $hauteur_creneaux . "px;\"><div class=\"cadre\" style=\"width : " . $hauteur_creneaux . "px;\">";
        if (isset($tab_data['entete_creneaux'])) {
            $result .= $tab_data['entete_creneaux'];
        }
        $result .= "</div></div>\n";
        for ($i = 0; $i < $creneaux['nb_creneaux']; $i++) {
            $hauteur = 2 * $hauteur_demicreneaux;
            $hauteur = $hauteur . "px;";
            $result .= "<div class=\"cellule_h\" style=\"width : " . $hauteur . ";\">";
            $result .= "<div class=\"cellule_creneaux\"><div class=\"cadre\">" . $creneaux['creneaux'][$i] . "</div></div>\n";
            $result .= "</div>";
        }
        $result .= "</div></div><div style=\"clear:both\"></div>";
    }
    return $result;
}
Ejemplo n.º 4
0
function ConstruireEDTProfDuJour($login_edt, $period, $jour)
{
    global $current_edt_id_cours;
    // id_cours utilisé pour les semaines A/B dans GetColor()
    $table_data = array();
    $type_edt = "prof";
    $req_jours = mysqli_query($GLOBALS["mysqli"], "SELECT jour_horaire_etablissement FROM horaires_etablissement WHERE ouvert_horaire_etablissement = 1") or die(mysqli_error($GLOBALS["mysqli"]));
    $jour_sem_tab = array();
    $entetes = ConstruireEnteteEDT();
    while (!isset($entetes['entete'][$jour])) {
        $jour--;
    }
    $jour_sem_tab[$jour] = $entetes['entete'][$jour];
    $tab_data['entete'][$jour] = $entetes['entete'][$jour];
    $req_id_creneaux = mysqli_query($GLOBALS["mysqli"], "SELECT id_definie_periode FROM edt_creneaux\r\n\t\t\t\t\t\t\tWHERE type_creneaux != 'pause'") or die(mysqli_error($GLOBALS["mysqli"]));
    $nbre_lignes = mysqli_num_rows($req_id_creneaux);
    if ($nbre_lignes == 0) {
        $nbre_lignes = 1;
    }
    if ($nbre_lignes > 10) {
        $nbre_lignes = 10;
    }
    $tab_data['nb_creneaux'] = $nbre_lignes;
    $index_box = 0;
    while (isset($jour_sem_tab[$jour])) {
        if ($type_edt == "prof") {
            $tab_id_creneaux = retourne_id_creneaux();
            $j = 0;
            $elapse_time = 0;
            while (isset($tab_id_creneaux[$j])) {
                $req_creneau = LessonsFromDayTeacherSlotPeriod($jour_sem_tab[$jour], $login_edt, $tab_id_creneaux[$j], $period);
                $rep_creneau = mysqli_fetch_array($req_creneau);
                $nb_rows = mysqli_num_rows($req_creneau);
                // ========================================== créneau vide
                if ($nb_rows == 0) {
                    $heuredeb_dec = 0;
                    if ($elapse_time % 2 != 0) {
                        $heuredeb_dec = 1;
                    }
                    $delay = 2 - $elapse_time % 2;
                    RemplirBox($elapse_time, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule" . $delay, "cadre", "");
                    $elapse_time += $delay;
                } else {
                    if ($nb_rows == 1) {
                        $current_edt_id_cours = "";
                        if (isset($rep_creneau['id_cours'])) {
                            $current_edt_id_cours = $rep_creneau['id_cours'];
                        }
                        if ($rep_creneau['id_semaine'] != '0') {
                            $duree_max = $rep_creneau['duree'];
                            $heuredeb_dec = $rep_creneau['heuredeb_dec'];
                            // ========= études des cas n°2 , 6 et 7
                            if ($duree_max == 1) {
                                // ||(($duree_max == 2) AND ($rep_creneau['heuredeb_dec'] == 0))
                                if ($heuredeb_dec == 0 and $elapse_time % 2 != 0) {
                                    RemplirBox($elapse_time, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule1", "cadre", "");
                                    $elapse_time++;
                                } else {
                                    $cell_height = 2;
                                    if ($duree_max == 1 and $rep_creneau['heuredeb_dec'] != 0 and $elapse_time % 2 != 0) {
                                        $cell_height = 1;
                                    }
                                    RemplirBox($elapse_time, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule" . $cell_height, "", "");
                                    if ($duree_max == 1 and $rep_creneau['heuredeb_dec'] != 0 and $elapse_time % 2 == 0) {
                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule1", "cadre", "");
                                        $elapse_time++;
                                    }
                                    $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $rep_creneau['id_groupe'], $rep_creneau['id_aid'], $rep_creneau['id_semaine'], $period);
                                    RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], $rep_creneau['id_groupe'], $rep_creneau['id_cours'], "cellule" . $duree_max, GetColor($rep_creneau['id_groupe']), $contenu);
                                    $elapse_time += $duree_max;
                                    if ($duree_max == 1 and $rep_creneau['heuredeb_dec'] == 0) {
                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule1", "cadre", "");
                                        $elapse_time++;
                                    }
                                    RemplirBox($elapse_time, $tab_data[$jour], $index_box, "fin_conteneur", $tab_id_creneaux[$j], "", "", "", "", "");
                                    RemplirBox($elapse_time, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule" . $cell_height, "", "");
                                    RemplirBox($elapse_time, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule" . $cell_height, "cadre", "");
                                    RemplirBox($elapse_time, $tab_data[$jour], $index_box, "fin_conteneur", $tab_id_creneaux[$j], "", "", "", "", "");
                                }
                            } else {
                                $duree_max1 = DureeMax2Colonnes($jour_sem_tab[$jour], $login_edt, $tab_id_creneaux, $elapse_time, $req_creneau, $j, 1, 2, $period);
                                $duree_max2 = DureeMax2Colonnes($jour_sem_tab[$jour], $login_edt, $tab_id_creneaux, $elapse_time, $req_creneau, $j, 2, 1, $period);
                                if ($duree_max1 >= $duree_max2) {
                                    $duree_max = $duree_max1;
                                } else {
                                    $duree_max = $duree_max2;
                                }
                                mysqli_data_seek($req_creneau, 0);
                                ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, '0', $tab_data, $index_box, $period);
                                ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, $rep_creneau['id_semaine'], $tab_data, $index_box, $period);
                                $elapse_time += $duree_max;
                            }
                        } else {
                            // ======== étude du cas n°5
                            if ($rep_creneau['heuredeb_dec'] != 0 and $elapse_time % 2 == 0) {
                                RemplirBox($elapse_time, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule1", "cadre", "");
                                $elapse_time++;
                            }
                            // ======== étude du cas n°3
                            if ($rep_creneau['heuredeb_dec'] == 0 and $elapse_time % 2 == 1 and $rep_creneau['duree'] == 1) {
                                RemplirBox($elapse_time, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule1", "cadre", "");
                                $elapse_time++;
                            } else {
                                $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $rep_creneau['id_groupe'], $rep_creneau['id_aid'], "", $period);
                                RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], $rep_creneau['id_groupe'], $rep_creneau['id_cours'], "cellule" . $rep_creneau['duree'], GetColor($rep_creneau['id_groupe']), $contenu);
                                $elapse_time += (int) $rep_creneau['duree'];
                            }
                        }
                    } else {
                        if ($nb_rows == 2) {
                            mysqli_data_seek($req_creneau, 0);
                            $rep_creneau = mysqli_fetch_array($req_creneau);
                            $duree1 = $rep_creneau['duree'];
                            $heuredeb_dec1 = $rep_creneau['heuredeb_dec'];
                            $id_semaine1 = $rep_creneau['id_semaine'];
                            $rep_creneau = mysqli_fetch_array($req_creneau);
                            $duree2 = $rep_creneau['duree'];
                            $heuredeb_dec2 = $rep_creneau['heuredeb_dec'];
                            $id_semaine2 = $rep_creneau['id_semaine'];
                            mysqli_data_seek($req_creneau, 0);
                            $rep_creneau = mysqli_fetch_array($req_creneau);
                            $current_edt_id_cours = "";
                            if (isset($rep_creneau['id_cours'])) {
                                $current_edt_id_cours = $rep_creneau['id_cours'];
                            }
                            // ========= étude du cas PapaTango 1 (Problème de Transition de edt version 1 vers edt version 2)
                            if ($id_semaine1 == '0' || $id_semaine2 == '0') {
                                if ($heuredeb_dec1 == 0 and $heuredeb_dec2 == 0) {
                                    $PapaTango = 1;
                                } else {
                                    if ($heuredeb_dec1 == 0.5 and $heuredeb_dec2 == 0.5) {
                                        $PapaTango = 1;
                                    } else {
                                        $PapaTango = 0;
                                    }
                                }
                            }
                            // ========= étude des cas n°11, 12 et 13
                            if ($id_semaine1 == '0' || $id_semaine2 == '0' and $PapaTango == 0) {
                                if ($heuredeb_dec1 == 0) {
                                    if ($id_semaine1 != '0') {
                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule1", "", "");
                                    }
                                    mysqli_data_seek($req_creneau, 0);
                                    $rep_creneau = mysqli_fetch_array($req_creneau);
                                    $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $rep_creneau['id_groupe'], $rep_creneau['id_aid'], "", $period);
                                    RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], $rep_creneau['id_groupe'], $rep_creneau['id_cours'], "cellule1", GetColor($rep_creneau['id_groupe']), $contenu);
                                    if ($id_semaine1 != '0') {
                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "fin_conteneur", $tab_id_creneaux[$j], "", "", "", "", "");
                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule1", "", "");
                                    }
                                    $elapse_time++;
                                    $rep_creneau = mysqli_fetch_array($req_creneau);
                                    // ====================== étude du cas 12'
                                    if ($id_semaine2 != '0') {
                                        $duree_max = DureeMax2Colonnes($jour_sem_tab[$jour], $login_edt, $tab_id_creneaux, $elapse_time, $req_creneau, $j, 2, 3, $period);
                                        mysqli_data_seek($req_creneau, 0);
                                        $rep_creneau = mysqli_fetch_array($req_creneau);
                                        ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, '0', $tab_data, $index_box, $period);
                                        $id_semaine_to_use = $rep_creneau['id_semaine'];
                                        ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, $id_semaine_to_use, $tab_data, $index_box, $period);
                                        $elapse_time += $duree_max;
                                    } else {
                                        $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $rep_creneau['id_groupe'], $rep_creneau['id_aid'], "", $period);
                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], $rep_creneau['id_groupe'], $rep_creneau['id_cours'], "cellule" . $rep_creneau['duree'], GetColor($rep_creneau['id_groupe']), $contenu);
                                        $elapse_time += (int) $rep_creneau['duree'];
                                    }
                                } else {
                                    if ($id_semaine2 != '0') {
                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule1", "", "");
                                    }
                                    mysqli_data_seek($req_creneau, 0);
                                    $rep_creneau = mysqli_fetch_array($req_creneau);
                                    $rep_creneau = mysqli_fetch_array($req_creneau);
                                    $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $rep_creneau['id_groupe'], $rep_creneau['id_aid'], "", $period);
                                    RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], $rep_creneau['id_groupe'], $rep_creneau['id_cours'], "cellule1", GetColor($rep_creneau['id_groupe']), $contenu);
                                    if ($id_semaine2 != '0') {
                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "fin_conteneur", $tab_id_creneaux[$j], "", "", "", "", "");
                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule1", "", "");
                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule1", "cadre", "");
                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "fin_conteneur", $tab_id_creneaux[$j], "", "", "", "", "");
                                    }
                                    $elapse_time++;
                                    mysqli_data_seek($req_creneau, 0);
                                    $rep_creneau = mysqli_fetch_array($req_creneau);
                                    // ====================== étude du cas n°12'
                                    if ($id_semaine1 != '0') {
                                        $duree_max = DureeMax2Colonnes($jour_sem_tab[$jour], $login_edt, $tab_id_creneaux, $elapse_time, $req_creneau, $j, 1, 3, $period);
                                        mysqli_data_seek($req_creneau, 0);
                                        ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, '0', $tab_data, $index_box, $period);
                                        $id_semaine_to_use = $rep_creneau['id_semaine'];
                                        $rep_creneau = mysqli_fetch_array($req_creneau);
                                        ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, $id_semaine_to_use, $tab_data, $index_box, $period);
                                        $elapse_time += $duree_max;
                                    } else {
                                        $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $rep_creneau['id_groupe'], $rep_creneau['id_aid'], "", $period);
                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], $rep_creneau['id_groupe'], $rep_creneau['id_cours'], "cellule" . $rep_creneau['duree'], GetColor($rep_creneau['id_groupe']), $contenu);
                                        $elapse_time += (int) $rep_creneau['duree'];
                                    }
                                }
                            } else {
                                mysqli_data_seek($req_creneau, 0);
                                $rep_creneau = mysqli_fetch_array($req_creneau);
                                $id_semaine1 = $rep_creneau['id_semaine'];
                                $heuredeb_dec1 = $rep_creneau['heuredeb_dec'];
                                $rep_creneau = mysqli_fetch_array($req_creneau);
                                $id_semaine2 = $rep_creneau['id_semaine'];
                                $heuredeb_dec2 = $rep_creneau['heuredeb_dec'];
                                $current_edt_id_cours = "";
                                if (isset($rep_creneau['id_cours'])) {
                                    $current_edt_id_cours = $rep_creneau['id_cours'];
                                }
                                if ($id_semaine1 != $id_semaine2) {
                                    // ========= étude des cas n°8 et n°9 et n°14 et n°15 et n°16 et 10
                                    $duree_max1 = DureeMax2Colonnes($jour_sem_tab[$jour], $login_edt, $tab_id_creneaux, $elapse_time, $req_creneau, $j, 1, 2, $period);
                                    $duree_max2 = DureeMax2Colonnes($jour_sem_tab[$jour], $login_edt, $tab_id_creneaux, $elapse_time, $req_creneau, $j, 2, 1, $period);
                                    if ($duree_max1 >= $duree_max2) {
                                        $duree_max = $duree_max1;
                                    } else {
                                        $duree_max = $duree_max2;
                                    }
                                    mysqli_data_seek($req_creneau, 0);
                                    ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, '0', $tab_data, $index_box, $period);
                                    ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, $rep_creneau['id_semaine'], $tab_data, $index_box, $period);
                                    $elapse_time += $duree_max;
                                } else {
                                    // ========= étude du cas rebelle 15''
                                    if ($heuredeb_dec1 == 0) {
                                        if ($id_semaine1 != '0') {
                                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule1", "", "");
                                        }
                                        mysqli_data_seek($req_creneau, 0);
                                        $rep_creneau = mysqli_fetch_array($req_creneau);
                                        $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $rep_creneau['id_groupe'], $rep_creneau['id_aid'], "", $period);
                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], $rep_creneau['id_groupe'], $rep_creneau['id_cours'], "cellule1", GetColor($rep_creneau['id_groupe']), $contenu);
                                        if ($id_semaine1 != '0') {
                                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "fin_conteneur", $tab_id_creneaux[$j], "", "", "", "", "");
                                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule1", "", "");
                                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule1", "cadre", "");
                                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "fin_conteneur", $tab_id_creneaux[$j], "", "", "", "", "");
                                        }
                                        $elapse_time++;
                                        $j = (int) ($elapse_time / 2);
                                        $rep_creneau = mysqli_fetch_array($req_creneau);
                                        // ======================
                                        if ($id_semaine2 != '0') {
                                            $duree_max = DureeMax2Colonnes($jour_sem_tab[$jour], $login_edt, $tab_id_creneaux, $elapse_time, $req_creneau, $j, 1, 3, $period);
                                            mysqli_data_seek($req_creneau, 0);
                                            $rep_creneau = mysqli_fetch_array($req_creneau);
                                            ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, '0', $tab_data, $index_box, $period);
                                            $id_semaine_to_use = $rep_creneau['id_semaine'];
                                            ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, $id_semaine_to_use, $tab_data, $index_box, $period);
                                            $elapse_time += $duree_max;
                                        } else {
                                            $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $rep_creneau['id_groupe'], $rep_creneau['id_aid'], "", $period);
                                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], $rep_creneau['id_groupe'], $rep_creneau['id_cours'], "cellule" . $rep_creneau['duree'], GetColor($rep_creneau['id_groupe']), $contenu);
                                            $elapse_time += (int) $rep_creneau['duree'];
                                        }
                                    } else {
                                        if ($id_semaine2 != '0') {
                                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule1", "", "");
                                        }
                                        mysqli_data_seek($req_creneau, 0);
                                        $rep_creneau = mysqli_fetch_array($req_creneau);
                                        $rep_creneau = mysqli_fetch_array($req_creneau);
                                        $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $rep_creneau['id_groupe'], $rep_creneau['id_aid'], "", $period);
                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], $rep_creneau['id_groupe'], $rep_creneau['id_cours'], "cellule" . $rep_creneau['duree'], GetColor($rep_creneau['id_groupe']), $contenu);
                                        if ($id_semaine2 != '0') {
                                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "fin_conteneur", $tab_id_creneaux[$j], "", "", "", "", "");
                                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule1", "", "");
                                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "vide", $tab_id_creneaux[$j], "", "", "cellule1", "cadre", "");
                                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "fin_conteneur", $tab_id_creneaux[$j], "", "", "", "", "");
                                        }
                                        $elapse_time++;
                                        $j = (int) ($elapse_time / 2);
                                        mysqli_data_seek($req_creneau, 0);
                                        $rep_creneau = mysqli_fetch_array($req_creneau);
                                        // ======================
                                        if ($id_semaine1 != '0') {
                                            $duree_max = DureeMax2Colonnes($jour_sem_tab[$jour], $login_edt, $tab_id_creneaux, $elapse_time, $req_creneau, $j, 1, 3, $period);
                                            mysqli_data_seek($req_creneau, 0);
                                            ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, '0', $tab_data, $index_box, $period);
                                            $id_semaine_to_use = $rep_creneau['id_semaine'];
                                            $rep_creneau = mysqli_fetch_array($req_creneau);
                                            ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, $id_semaine_to_use, $tab_data, $index_box, $period);
                                            $elapse_time += $duree_max;
                                        } else {
                                            $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $rep_creneau['id_groupe'], $rep_creneau['id_aid'], "", $period);
                                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], $rep_creneau['id_groupe'], $rep_creneau['id_cours'], "cellule" . $rep_creneau['duree'], GetColor($rep_creneau['id_groupe']), $contenu);
                                            $elapse_time += (int) $rep_creneau['duree'];
                                        }
                                    }
                                }
                            }
                        } else {
                            if ($nb_rows == 3) {
                                mysqli_data_seek($req_creneau, 0);
                                $rep_creneau = mysqli_fetch_array($req_creneau);
                                $duree1 = $rep_creneau['duree'];
                                $heuredeb_dec1 = $rep_creneau['heuredeb_dec'];
                                $id_semaine1 = $rep_creneau['id_semaine'];
                                $rep_creneau = mysqli_fetch_array($req_creneau);
                                $duree2 = $rep_creneau['duree'];
                                $heuredeb_dec2 = $rep_creneau['heuredeb_dec'];
                                $id_semaine2 = $rep_creneau['id_semaine'];
                                $rep_creneau = mysqli_fetch_array($req_creneau);
                                $duree3 = $rep_creneau['duree'];
                                $heuredeb_dec3 = $rep_creneau['heuredeb_dec'];
                                $id_semaine3 = $rep_creneau['id_semaine'];
                                $current_edt_id_cours = "";
                                if (isset($rep_creneau['id_cours'])) {
                                    $current_edt_id_cours = $rep_creneau['id_cours'];
                                }
                                if ($id_semaine1 == '0' || $id_semaine2 == '0' || $id_semaine3 == '0') {
                                    // ======= étude du cas 17
                                    if ($heuredeb_dec1 == 0 and $id_semaine1 == '0') {
                                        mysqli_data_seek($req_creneau, 0);
                                        $rep_creneau = mysqli_fetch_array($req_creneau);
                                        $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $rep_creneau['id_groupe'], $rep_creneau['id_aid'], "", $period);
                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], $rep_creneau['id_groupe'], $rep_creneau['id_cours'], "cellule1", GetColor($rep_creneau['id_groupe']), $contenu);
                                        $elapse_time += (int) $rep_creneau['duree'];
                                        $duree_max = DureeMax2Colonnes($jour_sem_tab[$jour], $login_edt, $tab_id_creneaux, $elapse_time, $req_creneau, $j, 2, 3, $period);
                                        mysqli_data_seek($req_creneau, 0);
                                        $rep_creneau = mysqli_fetch_array($req_creneau);
                                        ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, '0', $tab_data, $index_box, $period);
                                        $id_semaine_to_use = $rep_creneau['id_semaine'];
                                        ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, $id_semaine_to_use, $tab_data, $index_box, $period);
                                        $elapse_time += $duree_max;
                                    } else {
                                        if ($heuredeb_dec2 == 0 and $id_semaine2 == '0') {
                                            mysqli_data_seek($req_creneau, 0);
                                            $rep_creneau = mysqli_fetch_array($req_creneau);
                                            $rep_creneau = mysqli_fetch_array($req_creneau);
                                            $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $rep_creneau['id_groupe'], $rep_creneau['id_aid'], "", $period);
                                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], $rep_creneau['id_groupe'], $rep_creneau['id_cours'], "cellule1", GetColor($rep_creneau['id_groupe']), $contenu);
                                            $elapse_time += (int) $rep_creneau['duree'];
                                            $duree_max = DureeMax2Colonnes($jour_sem_tab[$jour], $login_edt, $tab_id_creneaux, $elapse_time, $req_creneau, $j, 1, 3, $period);
                                            mysqli_data_seek($req_creneau, 0);
                                            ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, '0', $tab_data, $index_box, $period);
                                            $id_semaine_to_use = $rep_creneau['id_semaine'];
                                            $rep_creneau = mysqli_fetch_array($req_creneau);
                                            ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, $id_semaine_to_use, $tab_data, $index_box, $period);
                                            $elapse_time += $duree_max;
                                        } else {
                                            if ($heuredeb_dec3 == 0 and $id_semaine3 == '0') {
                                                mysqli_data_seek($req_creneau, 0);
                                                $rep_creneau = mysqli_fetch_array($req_creneau);
                                                $rep_creneau = mysqli_fetch_array($req_creneau);
                                                $rep_creneau = mysqli_fetch_array($req_creneau);
                                                $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $rep_creneau['id_groupe'], $rep_creneau['id_aid'], "", $period);
                                                RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], $rep_creneau['id_groupe'], $rep_creneau['id_cours'], "cellule" . $rep_creneau['duree'], GetColor($rep_creneau['id_groupe']), $contenu);
                                                $elapse_time += (int) $rep_creneau['duree'];
                                                $duree_max = DureeMax2Colonnes($jour_sem_tab[$jour], $login_edt, $tab_id_creneaux, $elapse_time, $req_creneau, $j, 1, 2, $period);
                                                mysqli_data_seek($req_creneau, 0);
                                                ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, '0', $tab_data, $index_box, $period);
                                                $id_semaine_to_use = $rep_creneau['id_semaine'];
                                                ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, $id_semaine_to_use, $tab_data, $index_box, $period);
                                                $elapse_time += $duree_max;
                                            } else {
                                                if ($heuredeb_dec1 == 0 and $heuredeb_dec2 == 0) {
                                                    mysqli_data_seek($req_creneau, 0);
                                                    $rep_creneau = mysqli_fetch_array($req_creneau);
                                                    RemplirBox($elapse_time, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule" . $rep_creneau['duree'], "", "");
                                                    $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $rep_creneau['id_groupe'], $rep_creneau['id_aid'], "", $period);
                                                    RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], $rep_creneau['id_groupe'], $rep_creneau['id_cours'], "cellule1", GetColor($rep_creneau['id_groupe']), $contenu);
                                                    RemplirBox($elapse_time, $tab_data[$jour], $index_box, "fin_conteneur", $tab_id_creneaux[$j], "", "", "", "", "");
                                                    $rep_creneau = mysqli_fetch_array($req_creneau);
                                                    RemplirBox($elapse_time, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule" . $rep_creneau['duree'], "", "");
                                                    $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $rep_creneau['id_groupe'], $rep_creneau['id_aid'], "", $period);
                                                    RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], $rep_creneau['id_groupe'], $rep_creneau['id_cours'], "cellule1", GetColor($rep_creneau['id_groupe']), $contenu);
                                                    RemplirBox($elapse_time, $tab_data[$jour], $index_box, "fin_conteneur", $tab_id_creneaux[$j], "", "", "", "", "");
                                                    $elapse_time += (int) $rep_creneau['duree'];
                                                    $rep_creneau = mysqli_fetch_array($req_creneau);
                                                    $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $rep_creneau['id_groupe'], $rep_creneau['id_aid'], "", $period);
                                                    RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], $rep_creneau['id_groupe'], $rep_creneau['id_cours'], "cellule" . $rep_creneau['duree'], GetColor($rep_creneau['id_groupe']), $contenu);
                                                    $elapse_time += (int) $rep_creneau['duree'];
                                                } else {
                                                    if ($heuredeb_dec1 == 0 and $heuredeb_dec3 == 0) {
                                                        mysqli_data_seek($req_creneau, 0);
                                                        $rep_creneau = mysqli_fetch_array($req_creneau);
                                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule" . $rep_creneau['duree'], "", "");
                                                        $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $rep_creneau['id_groupe'], $rep_creneau['id_aid'], "", $period);
                                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], $rep_creneau['id_groupe'], $rep_creneau['id_cours'], "cellule1", GetColor($rep_creneau['id_groupe']), $contenu);
                                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "fin_conteneur", $tab_id_creneaux[$j], "", "", "", "", "");
                                                        $rep_creneau = mysqli_fetch_array($req_creneau);
                                                        $rep_creneau = mysqli_fetch_array($req_creneau);
                                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule" . $rep_creneau['duree'], "", "");
                                                        $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $rep_creneau['id_groupe'], $rep_creneau['id_aid'], "", $period);
                                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], $rep_creneau['id_groupe'], $rep_creneau['id_cours'], "cellule1", GetColor($rep_creneau['id_groupe']), $contenu);
                                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "fin_conteneur", $tab_id_creneaux[$j], "", "", "", "", "");
                                                        $elapse_time += (int) $rep_creneau['duree'];
                                                        mysqli_data_seek($req_creneau, 0);
                                                        $rep_creneau = mysqli_fetch_array($req_creneau);
                                                        $rep_creneau = mysqli_fetch_array($req_creneau);
                                                        $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $rep_creneau['id_groupe'], $rep_creneau['id_aid'], "", $period);
                                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], $rep_creneau['id_groupe'], $rep_creneau['id_cours'], "cellule" . $rep_creneau['duree'], GetColor($rep_creneau['id_groupe']), $contenu);
                                                        $elapse_time += (int) $rep_creneau['duree'];
                                                    } else {
                                                        if ($heuredeb_dec2 == 0 and $heuredeb_dec3 == 0) {
                                                            mysqli_data_seek($req_creneau, 0);
                                                            $rep_creneau = mysqli_fetch_array($req_creneau);
                                                            $rep_creneau = mysqli_fetch_array($req_creneau);
                                                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule" . $rep_creneau['duree'], "", "");
                                                            $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $rep_creneau['id_groupe'], $rep_creneau['id_aid'], "", $period);
                                                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], $rep_creneau['id_groupe'], $rep_creneau['id_cours'], "cellule1", GetColor($rep_creneau['id_groupe']), $contenu);
                                                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "fin_conteneur", $tab_id_creneaux[$j], "", "", "", "", "");
                                                            $rep_creneau = mysqli_fetch_array($req_creneau);
                                                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "conteneur", $tab_id_creneaux[$j], "", "", "demicellule" . $rep_creneau['duree'], "", "");
                                                            $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $rep_creneau['id_groupe'], $rep_creneau['id_aid'], "", $period);
                                                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], $rep_creneau['id_groupe'], $rep_creneau['id_cours'], "cellule1", GetColor($rep_creneau['id_groupe']), $contenu);
                                                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "fin_conteneur", $tab_id_creneaux[$j], "", "", "", "", "");
                                                            $elapse_time += (int) $rep_creneau['duree'];
                                                            mysqli_data_seek($req_creneau, 0);
                                                            $rep_creneau = mysqli_fetch_array($req_creneau);
                                                            $contenu = ContenuCreneau($tab_id_creneaux[$j], $jour_sem_tab[$jour], $type_edt, $rep_creneau['id_groupe'], $rep_creneau['id_aid'], "", $period);
                                                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "cours", $tab_id_creneaux[$j], $rep_creneau['id_groupe'], $rep_creneau['id_cours'], "cellule" . $rep_creneau['duree'], GetColor($rep_creneau['id_groupe']), $contenu);
                                                            $elapse_time += (int) $rep_creneau['duree'];
                                                        } else {
                                                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "erreur", $tab_id_creneaux[$j], "none", "none", "cellule2", "cadreRouge", "C02");
                                                            $elapse_time += 2;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                } else {
                                    if ($heuredeb_dec1 == 0 and $heuredeb_dec2 == 0) {
                                        $duree_max = DureeMax2Colonnes($jour_sem_tab[$jour], $login_edt, $tab_id_creneaux, $elapse_time, $req_creneau, $j, 1, 2, $period);
                                        mysqli_data_seek($req_creneau, 0);
                                        ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, '0', $tab_data, $index_box, $period);
                                        mysqli_data_seek($req_creneau, 0);
                                        $rep_creneau = mysqli_fetch_array($req_creneau);
                                        $id_semaine_to_use = $rep_creneau['id_semaine'];
                                        ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, $id_semaine_to_use, $tab_data, $index_box, $period);
                                        $elapse_time += $duree_max;
                                    } else {
                                        if ($heuredeb_dec1 == 0 and $heuredeb_dec3 == 0) {
                                            $duree_max = DureeMax2Colonnes($jour_sem_tab[$jour], $login_edt, $tab_id_creneaux, $elapse_time, $req_creneau, $j, 1, 3, $period);
                                            mysqli_data_seek($req_creneau, 0);
                                            ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, '0', $tab_data, $index_box, $period);
                                            mysqli_data_seek($req_creneau, 0);
                                            $rep_creneau = mysqli_fetch_array($req_creneau);
                                            $id_semaine_to_use = $rep_creneau['id_semaine'];
                                            $rep_creneau = mysqli_fetch_array($req_creneau);
                                            ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, $id_semaine_to_use, $tab_data, $index_box, $period);
                                            $elapse_time += $duree_max;
                                        } else {
                                            if ($heuredeb_dec2 == 0 and $heuredeb_dec3 == 0) {
                                                $duree_max = DureeMax2Colonnes($jour_sem_tab[$jour], $login_edt, $tab_id_creneaux, $elapse_time, $req_creneau, $j, 2, 3, $period);
                                                mysqli_data_seek($req_creneau, 0);
                                                $rep_creneau = mysqli_fetch_array($req_creneau);
                                                ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, '0', $tab_data, $index_box, $period);
                                                mysqli_data_seek($req_creneau, 0);
                                                $rep_creneau = mysqli_fetch_array($req_creneau);
                                                $rep_creneau = mysqli_fetch_array($req_creneau);
                                                $id_semaine_to_use = $rep_creneau['id_semaine'];
                                                ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, $id_semaine_to_use, $tab_data, $index_box, $period);
                                                $elapse_time += $duree_max;
                                            } else {
                                                if ($heuredeb_dec1 == 0) {
                                                    if ($id_semaine1 == $id_semaine2) {
                                                        $rang = 3;
                                                    } else {
                                                        $rang = 2;
                                                    }
                                                    $duree_max = DureeMax2Colonnes($jour_sem_tab[$jour], $login_edt, $tab_id_creneaux, $elapse_time, $req_creneau, $j, 1, $rang, $period);
                                                    mysqli_data_seek($req_creneau, 0);
                                                    ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, '0', $tab_data, $index_box, $period);
                                                    $id_semaine_to_use = $rep_creneau['id_semaine'];
                                                    if ($rang == 3) {
                                                        mysqli_data_seek($req_creneau, 0);
                                                        $rep_creneau = mysqli_fetch_array($req_creneau);
                                                        $rep_creneau = mysqli_fetch_array($req_creneau);
                                                    } else {
                                                        mysqli_data_seek($req_creneau, 0);
                                                        $rep_creneau = mysqli_fetch_array($req_creneau);
                                                    }
                                                    ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, $id_semaine_to_use, $tab_data, $index_box, $period);
                                                    $elapse_time += $duree_max;
                                                } else {
                                                    if ($heuredeb_dec2 == 0) {
                                                        if ($id_semaine2 == $id_semaine1) {
                                                            $rang = 3;
                                                        } else {
                                                            $rang = 1;
                                                        }
                                                        $duree_max = DureeMax2Colonnes($jour_sem_tab[$jour], $login_edt, $tab_id_creneaux, $elapse_time, $req_creneau, $j, 2, $rang, $period);
                                                        mysqli_data_seek($req_creneau, 0);
                                                        $rep_creneau = mysqli_fetch_array($req_creneau);
                                                        ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, '0', $tab_data, $index_box, $period);
                                                        $id_semaine_to_use = $rep_creneau['id_semaine'];
                                                        if ($rang == 1) {
                                                            mysqli_data_seek($req_creneau, 0);
                                                        } else {
                                                            mysqli_data_seek($req_creneau, 0);
                                                            $rep_creneau = mysqli_fetch_array($req_creneau);
                                                            $rep_creneau = mysqli_fetch_array($req_creneau);
                                                        }
                                                        ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, $id_semaine_to_use, $tab_data, $index_box, $period);
                                                        $elapse_time += $duree_max;
                                                    } else {
                                                        if ($heuredeb_dec3 == 0) {
                                                            if ($id_semaine3 == $id_semaine1) {
                                                                $rang = 2;
                                                            } else {
                                                                $rang = 1;
                                                            }
                                                            $duree_max = DureeMax2Colonnes($jour_sem_tab[$jour], $login_edt, $tab_id_creneaux, $elapse_time, $req_creneau, $j, 3, $rang, $period);
                                                            mysqli_data_seek($req_creneau, 0);
                                                            $rep_creneau = mysqli_fetch_array($req_creneau);
                                                            $rep_creneau = mysqli_fetch_array($req_creneau);
                                                            ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, '0', $tab_data, $index_box, $period);
                                                            $id_semaine_to_use = $rep_creneau['id_semaine'];
                                                            if ($rang == 1) {
                                                                mysqli_data_seek($req_creneau, 0);
                                                            } else {
                                                                mysqli_data_seek($req_creneau, 0);
                                                                $rep_creneau = mysqli_fetch_array($req_creneau);
                                                            }
                                                            ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, $id_semaine_to_use, $tab_data, $index_box, $period);
                                                            $elapse_time += $duree_max;
                                                        } else {
                                                            // ============== 3 enseignements sur le même créneau
                                                            // ============== situation non envisagée
                                                            RemplirBox($elapse_time, $tab_data[$jour], $index_box, "erreur", $tab_id_creneaux[$j], "none", "none", "cellule2", "cadreRouge", "C03");
                                                            $elapse_time += 2;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            } else {
                                if ($nb_rows == 4) {
                                    // ============= damned !! 4 cours sur le même créneau...
                                    $rang1 = 0;
                                    $rang2 = 0;
                                    mysqli_data_seek($req_creneau, 0);
                                    $rep_creneau = mysqli_fetch_array($req_creneau);
                                    if ($rep_creneau['heuredeb_dec'] == 0) {
                                        $rang1 = 1;
                                    }
                                    $rep_creneau = mysqli_fetch_array($req_creneau);
                                    if ($rep_creneau['heuredeb_dec'] == 0) {
                                        if ($rang1 == 0) {
                                            $rang1 = 2;
                                        } else {
                                            $rang2 = 2;
                                        }
                                    }
                                    $rep_creneau = mysqli_fetch_array($req_creneau);
                                    if ($rep_creneau['heuredeb_dec'] == 0) {
                                        if ($rang1 == 0) {
                                            $rang1 = 3;
                                        } else {
                                            $rang2 = 3;
                                        }
                                    }
                                    $rep_creneau = mysqli_fetch_array($req_creneau);
                                    if ($rep_creneau['heuredeb_dec'] == 0) {
                                        if ($rang1 == 0) {
                                            $rang1 = 4;
                                        } else {
                                            $rang2 = 4;
                                        }
                                    }
                                    if ($rang1 == 0 or $rang2 == 0) {
                                        // ============= trois enseignements de front sur les 4
                                        // ============= situation non envisagée
                                        RemplirBox($elapse_time, $tab_data[$jour], $index_box, "erreur", $tab_id_creneaux[$j], "none", "none", "cellule2", "cadreRouge", "C04");
                                        $elapse_time += 2;
                                    } else {
                                        $duree_max = DureeMax2Colonnes($jour_sem_tab[$jour], $login_edt, $tab_id_creneaux, $elapse_time, $req_creneau, $j, $rang1, $rang2, $period);
                                        $l = 1;
                                        mysqli_data_seek($req_creneau, 0);
                                        while ($l < $rang1) {
                                            $rep_creneau = mysqli_fetch_array($req_creneau);
                                            $l++;
                                        }
                                        ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, '0', $tab_data, $index_box, $period);
                                        $id_semaine_to_use = $rep_creneau['id_semaine'];
                                        $l = 1;
                                        mysqli_data_seek($req_creneau, 0);
                                        while ($l < $rang2) {
                                            $rep_creneau = mysqli_fetch_array($req_creneau);
                                            $l++;
                                        }
                                        ConstruireColonne($elapse_time, $req_creneau, $duree_max, $jour_sem_tab[$jour], $jour, $tab_id_creneaux, $j, $type_edt, $login_edt, $id_semaine_to_use, $tab_data, $index_box, $period);
                                        $elapse_time += $duree_max;
                                    }
                                } else {
                                    // ============= gloups ! 5 enseignements ou plus sur le même créneau
                                    //               il y a une erreur dans la table edt_cours ou c'est une situation non envisagée
                                    RemplirBox($elapse_time, $tab_data[$jour], $index_box, "erreur", $tab_id_creneaux[$j], "none", "none", "cellule2", "cadreRouge", "C05");
                                    $elapse_time += 2;
                                }
                            }
                        }
                    }
                }
                $j = (int) ($elapse_time / 2);
            }
        }
        $jour++;
        $index_box = 0;
    }
    // ***************************************    Remplissage des créneaux
    $reglages_creneaux = GetSettingEdt("edt_aff_creneaux");
    //Cas où le nom des créneaux sont inscrits à gauche
    if ($reglages_creneaux == "noms") {
        $tab_creneaux = retourne_creneaux();
        $i = 0;
        while ($i < count($tab_creneaux)) {
            $tab_id_creneaux = retourne_id_creneaux();
            $c = 0;
            while ($c < count($tab_id_creneaux)) {
                //echo("                <div class=\"horaires\"><div class=\"cadre\"><strong>".$tab_creneaux[$i]."</strong></div></div>\n");
                $tab_data['creneaux'][$jour] = $tab_creneaux[$jour];
                $i++;
                $c++;
            }
        }
    } elseif ($reglages_creneaux == "heures") {
        $tab_horaire = retourne_horaire();
        for ($i = 0; $i < count($tab_horaire);) {
            $tab_id_creneaux = retourne_id_creneaux();
            $c = 0;
            while ($c < count($tab_id_creneaux)) {
                //echo("                <div class=\"horaires\"><div class=\"cadre\"><strong>".$tab_horaire[$i]["heure_debut"]."<br />".$tab_horaire[$i]["heure_fin"]."</strong></div></div>\n");
                $tab_data['creneaux'][$i] = $tab_horaire[$i]["heure_debut"] . "<br />" . $tab_horaire[$i]["heure_fin"];
                $i++;
                $c++;
            }
        }
    }
    return $tab_data;
}
Ejemplo n.º 5
0
Archivo: edt.php Proyecto: rhertzog/lcs
 public function launch(Request $request, Response $response)
 {
     $type_edt = null;
     $id = null;
     if ($request->getParam('login_prof')) {
         $id = $request->getParam('login_prof');
         $type_edt = "prof";
     } else {
         if ($request->getParam('id_classe')) {
             $id = $request->getParam('id_classe');
             $type_edt = "classe";
         } else {
             if ($request->getParam('id_salle')) {
                 $id = $request->getParam('id_salle');
                 $type_edt = "salle";
             }
         }
     }
     if ($request->getParam('message') != "") {
         $_SESSION["message"] = "";
     }
     // =================== Gérer la bascule entre emplois du temps périodes et emplois du temps semaines.
     if ($request->getParam('bascule_edt')) {
         $_SESSION['bascule_edt'] = $bascule_edt;
     }
     if (!isset($_SESSION['bascule_edt'])) {
         $_SESSION['bascule_edt'] = 'periode';
     }
     if ($_SESSION['bascule_edt'] == 'periode') {
         if (PeriodesExistent()) {
             if ($period_id != NULL) {
                 $_SESSION['period_id'] = $period_id;
             }
             if (!isset($_SESSION['period_id'])) {
                 $_SESSION['period_id'] = ReturnIdPeriod(date("U"));
             }
             if (!PeriodExistsInDB($_SESSION['period_id'])) {
                 $_SESSION['period_id'] = ReturnFirstIdPeriod();
             }
             $DisplayPeriodBar = true;
             $DisplayWeekBar = false;
         } else {
             $DisplayWeekBar = false;
             $DisplayPeriodBar = false;
             $_SESSION['period_id'] = 0;
         }
     } else {
         $DisplayPeriodBar = false;
         $DisplayWeekBar = true;
         if ($week_selected != NULL) {
             $_SESSION['week_selected'] = $week_selected;
         }
         if (!isset($_SESSION['week_selected'])) {
             $_SESSION['week_selected'] = date("W");
         }
     }
     // =================== Forcer l'affichage d'un edt si l'utilisateur est un prof
     if (!$id) {
         if ($_SESSION['statut'] == "professeur" and $type_edt == "prof") {
             $id = $_SESSION['login'];
             $_GET["login_edt"] = $id;
             $_GET["type_edt_2"] = "prof";
             $type_edt_2 = "prof";
             $visioedt = "prof1";
         }
     }
     // =================== Construire les emplois du temps
     if ($id) {
         if ($type_edt == "prof") {
             $tab_data = ConstruireEDTProf($id, $_SESSION['period_id']);
             $entetes = ConstruireEnteteEDT();
             $creneaux = ConstruireCreneauxEDT();
             FixColumnPositions($tab_data, $entetes);
             // en cours de devel
             $DisplayEDT = true;
         } else {
             if ($type_edt == "classe") {
                 $tab_data = ConstruireEDTClasse($id, $_SESSION['period_id']);
                 $entetes = ConstruireEnteteEDT();
                 $creneaux = ConstruireCreneauxEDT();
                 $DisplayEDT = true;
             } else {
                 if ($type_edt == "salle") {
                     $tab_data = ConstruireEDTSalle($id, $_SESSION['period_id']);
                     $entetes = ConstruireEnteteEDT();
                     $creneaux = ConstruireCreneauxEDT();
                     //FixColumnPositions($tab_data, $entetes);		// en cours de devel
                     $DisplayEDT = true;
                 } else {
                     if ($type_edt == "eleve") {
                         $tab_data = ConstruireEDTEleve($id, $_SESSION['period_id']);
                         $entetes = ConstruireEnteteEDT();
                         $creneaux = ConstruireCreneauxEDT();
                         $DisplayEDT = true;
                     } else {
                         $DisplayEDT = false;
                     }
                 }
             }
         }
     } else {
         $DisplayEDT = false;
     }
     $response->addVar('message', $message);
     $response->addVar('NomPeriode', calendar::getPeriodName(time()));
     $response->addVar('TypeSemaineCourante', calendar::getTypeCurrentWeek());
     $response->addVar('SemaineCourante', calendar::getCurrentWeek());
     $this->render("./lib/template/edtSuccess.php");
     $this->printOut();
 }