Exemple #1
0
function enregistreCoursCsv2($jour, $creneau, $classe, $matiere, $prof, $salle, $groupe, $regroupement, $effectif, $modalite, $frequence, $aire)
{
    $retour["msg_erreur"] = '';
    // Les étapes vont de 0 à 11 en suivant l'ordre des variables ci-dessus
    // Si un cours est enregistré, on renvoie 'oui', sinon on renvoie 'non'
    // le jour => il est bon, il faut juste l'écrire en minuscule
    $jour_e = my_strtolower($jour);
    // Cette fonction renvoie l'id du créneau de départ, la durée et le moment du début du cours
    $test_creneau = rechercheCreneauCsv2($creneau);
    $creneau_e = $test_creneau["id_creneau"];
    $duree_e = $test_creneau["duree"];
    $heuredeb_dec = $test_creneau["debut"];
    // On récupère les concordances
    $classe_e = renvoiConcordances($classe, 2);
    $matiere_e = renvoiConcordances($matiere, 3);
    $prof_e = renvoiConcordances($prof, 4);
    $salle_e = renvoiIdSalle($salle);
    // on peut se le permettre puisque le travail sur les salles a déjà été effectué
    $type_semaine = renvoiConcordances($frequence, 10);
    if ($type_semaine == '' or $type_semaine == 'erreur') {
        $type_semaine = '0';
    }
    // Il reste à déterminer le groupe
    if ($regroupement != '') {
        //echo "\$regroupement=$regroupement<br />";
        $test = explode("|", $regroupement);
        if ($test[0] == 'EDT') {
            $groupe_e = $regroupement;
        } else {
            $groupe_e = renvoiConcordances($regroupement, 7);
            //echo "\$groupe_e=$groupe_e<br />";
            if ($groupe_e == 'erreur') {
                $regrp = '';
                $groupe_e = renvoiIdGroupe($prof_e, $classe_e, $matiere_e, $regrp, $groupe, 'csv2');
            }
        }
    } else {
        // On recherche le groupe
        $regrp = '';
        $groupe_e = renvoiIdGroupe($prof_e, $classe_e, $matiere_e, $regrp, $groupe, 'csv2');
        //echo "\$groupe_e = renvoiIdGroupe($prof_e, $classe_e, $matiere_e, $regrp, $groupe, 'csv2');=$groupe_e<br />";
    }
    // On vérifie si tous les champs importants sont précisés ou non
    if ($jour_e == '' or $creneau_e == 'erreur' or $groupe_e == 'aucun' or $groupe_e == 'plusieurs' or $groupe_e == 'erreur' or $matiere_e == 'inc' or $classe_e == 'inc' or $prof_e == 'inc' or $prof_e == 'erreur' or $prof_e == 'aucun') {
        // Il manque des informations
        $retour["reponse"] = 'non';
        $retour["msg_erreur"] .= $jour_e . '|' . $creneau_e . '|' . $groupe_e . '|' . $matiere_e . '|' . $classe_e . '|' . $prof_e;
        //echo "Il manque des infos.<br />";
    } else {
        // On vérifie que cette ligne n'existe pas déjà
        // On ne tient pas compte du type de semaine car on estime que si un enseignement a lieu sur deux types de semaines, c'est qu'il a lieu toutes les semaines
        if (preg_match("/^AID/", $groupe_e)) {
            $tmp_tab = explode('|', $groupe_e);
            $id_aid_courant = $tmp_tab[1];
            $sql = "SELECT id_cours FROM edt_cours WHERE\r\n\t\t\t\t\t\t\tid_aid = '" . $id_aid_courant . "' AND\r\n\t\t\t\t\t\t\tid_salle = '" . $salle_e . "' AND\r\n\t\t\t\t\t\t\tjour_semaine = '" . $jour_e . "' AND\r\n\t\t\t\t\t\t\tid_definie_periode = '" . $creneau_e . "' AND\r\n\t\t\t\t\t\t\tduree = '" . $duree_e . "' AND\r\n\t\t\t\t\t\t\theuredeb_dec = '" . $heuredeb_dec . "' AND\r\n\t\t\t\t\t\t\tid_calendrier = '0' AND\r\n\t\t\t\t\t\t\tmodif_edt = '0' AND\r\n\t\t\t\t\t\t\tlogin_prof = '" . $prof_e . "';";
        } else {
            $sql = "SELECT id_cours FROM edt_cours WHERE\r\n\t\t\t\t\t\t\tid_groupe = '" . $groupe_e . "' AND\r\n\t\t\t\t\t\t\tid_salle = '" . $salle_e . "' AND\r\n\t\t\t\t\t\t\tjour_semaine = '" . $jour_e . "' AND\r\n\t\t\t\t\t\t\tid_definie_periode = '" . $creneau_e . "' AND\r\n\t\t\t\t\t\t\tduree = '" . $duree_e . "' AND\r\n\t\t\t\t\t\t\theuredeb_dec = '" . $heuredeb_dec . "' AND\r\n\t\t\t\t\t\t\tid_calendrier = '0' AND\r\n\t\t\t\t\t\t\tmodif_edt = '0' AND\r\n\t\t\t\t\t\t\tlogin_prof = '" . $prof_e . "';";
        }
        //echo "Test ifexists : $sql<br />";
        $ifexists = mysqli_query($GLOBALS["mysqli"], $sql) or die('erreur dans la requête ' . $ifexists . ' : ' . mysqli_error($GLOBALS["mysqli"]));
        $erreur_report = mysqli_fetch_array($ifexists);
        $retour["msg_erreur"] .= 'Ce cours existe déjà (' . $erreur_report["id_cours"] . ').';
        if (mysqli_num_rows($ifexists) < 1) {
            // On enregistre la ligne
            //echo "\$groupe_e=$groupe_e<br />";
            if (preg_match("/^AID/", $groupe_e)) {
                $tmp_tab = explode('|', $groupe_e);
                $id_aid_courant = $tmp_tab[1];
                $sql = "INSERT INTO `edt_cours` (`id_cours`,\r\n\t\t\t\t\t\t\t\t\t\t`id_aid`,\r\n\t\t\t\t\t\t\t\t\t\t`id_salle`,\r\n\t\t\t\t\t\t\t\t\t\t`jour_semaine`,\r\n\t\t\t\t\t\t\t\t\t\t`id_definie_periode`,\r\n\t\t\t\t\t\t\t\t\t\t`duree`,\r\n\t\t\t\t\t\t\t\t\t\t`heuredeb_dec`,\r\n\t\t\t\t\t\t\t\t\t\t`id_semaine`,\r\n\t\t\t\t\t\t\t\t\t\t`id_calendrier`,\r\n\t\t\t\t\t\t\t\t\t\t`modif_edt`,\r\n\t\t\t\t\t\t\t\t\t\t`login_prof`)\r\n\t\t\t\t\t\t\t\tVALUES ('',\r\n\t\t\t\t\t\t\t\t\t\t'" . $id_aid_courant . "',\r\n\t\t\t\t\t\t\t\t\t\t'" . $salle_e . "',\r\n\t\t\t\t\t\t\t\t\t\t'" . $jour_e . "',\r\n\t\t\t\t\t\t\t\t\t\t'" . $creneau_e . "',\r\n\t\t\t\t\t\t\t\t\t\t'" . $duree_e . "',\r\n\t\t\t\t\t\t\t\t\t\t'" . $heuredeb_dec . "',\r\n\t\t\t\t\t\t\t\t\t\t'" . $type_semaine . "',\r\n\t\t\t\t\t\t\t\t\t\t'0',\r\n\t\t\t\t\t\t\t\t\t\t'0',\r\n\t\t\t\t\t\t\t\t\t\t'" . $prof_e . "')";
            } else {
                $sql = "INSERT INTO `edt_cours` (`id_cours`,\r\n\t\t\t\t\t\t\t\t\t\t`id_groupe`,\r\n\t\t\t\t\t\t\t\t\t\t`id_salle`,\r\n\t\t\t\t\t\t\t\t\t\t`jour_semaine`,\r\n\t\t\t\t\t\t\t\t\t\t`id_definie_periode`,\r\n\t\t\t\t\t\t\t\t\t\t`duree`,\r\n\t\t\t\t\t\t\t\t\t\t`heuredeb_dec`,\r\n\t\t\t\t\t\t\t\t\t\t`id_semaine`,\r\n\t\t\t\t\t\t\t\t\t\t`id_calendrier`,\r\n\t\t\t\t\t\t\t\t\t\t`modif_edt`,\r\n\t\t\t\t\t\t\t\t\t\t`login_prof`)\r\n\t\t\t\t\t\t\t\tVALUES ('',\r\n\t\t\t\t\t\t\t\t\t\t'" . $groupe_e . "',\r\n\t\t\t\t\t\t\t\t\t\t'" . $salle_e . "',\r\n\t\t\t\t\t\t\t\t\t\t'" . $jour_e . "',\r\n\t\t\t\t\t\t\t\t\t\t'" . $creneau_e . "',\r\n\t\t\t\t\t\t\t\t\t\t'" . $duree_e . "',\r\n\t\t\t\t\t\t\t\t\t\t'" . $heuredeb_dec . "',\r\n\t\t\t\t\t\t\t\t\t\t'" . $type_semaine . "',\r\n\t\t\t\t\t\t\t\t\t\t'0',\r\n\t\t\t\t\t\t\t\t\t\t'0',\r\n\t\t\t\t\t\t\t\t\t\t'" . $prof_e . "')";
            }
            //echo "$sql<br />";
            $retour["msg_erreur"] .= '<br />&nbsp;&nbsp;&nbsp;&nbsp;' . $sql;
            $envoi = mysqli_query($GLOBALS["mysqli"], $sql) or die('Erreur dans la requête ' . $sql);
            if ($envoi) {
                // et on renvoie 'ok'
                $retour["reponse"] = 'ok';
            } else {
                $retour["reponse"] = 'non';
            }
        } else {
            $retour["reponse"] = 'non';
        }
    }
    return $retour;
}
                $week_type = "0";
            } else {
                $week_type = $elements_cours[1];
            }
            // On veut récupérer le jour de la semaine
            $jour = renvoiJour($elements_cours[2]);
            // Ainsi que l'id du créneau id_definie_periode
            $debut = renvoiIdCreneau($elements_cours[3], $jour);
            // La durée (est-ce qu'on la met à 1 ? )
            $duree = renvoiDuree($elements_cours[3], $elements_cours[4]);
            // on détermine si le cours commence au début ou au milieu d'un créneau
            $debut_dec = renvoiDebut($debut, $elements_cours[3], $jour);
            // Il reste à afficher le login du professeur
            $prof = renvoiLoginProf($elements_cours[5]);
            // On cherche à reconstituer le groupe/enseignement/AID concerné
            $groupe = renvoiIdGroupe($prof, $elements_cours[0], $elements_cours[8], $elements_cours[6], $elements_cours[7], 'texte');
            $choix_groupe = "non";
            if ($groupe == "aucun") {
                // On n'enregistre pas le cours avec "inc" comme id_groupe
                $groupe_insert = "inc";
                //$choix_groupe = "oui";
                $msg .= '<p>Pour la ligne n° ' . $c . ', Gepi ne trouve pas la concordance, impossible de l\'enregistrer(' . $prof . ' ' . renvoiConcordances($elements_cours[8], 5) . ').</p>';
            } elseif ($groupe == "plusieurs") {
                // On propose un message
                $msg .= '<p>Pour la ligne n° ' . $c . ', Gepi renvoie trop de réponses possibles.
							Impossible de l\'enregistrer.</p>';
            } else {
                // On vérifie que ce cours n'existe pas déjà
                $query = mysqli_query($GLOBALS["mysqli"], "SELECT id_cours FROM edt_cours WHERE\r\n\t\t\t\t\t\t\t\t\t\tid_groupe = '" . $groupe . "' AND\r\n\t\t\t\t\t\t\t\t\t\tid_salle = '" . $salle . "' AND\r\n\t\t\t\t\t\t\t\t\t\tjour_semaine = '" . $jour . "' AND\r\n\t\t\t\t\t\t\t\t\t\tid_definie_periode = '" . $debut . "' AND\r\n\t\t\t\t\t\t\t\t\t\tduree = '" . $duree . "' AND\r\n\t\t\t\t\t\t\t\t\t\theuredeb_dec = '" . $debut_dec . "' AND\r\n\t\t\t\t\t\t\t\t\t\tid_semaine = '" . $week_type . "' AND\r\n\t\t\t\t\t\t\t\t\t\tid_calendrier = '0' AND\r\n\t\t\t\t\t\t\t\t\t\tmodif_edt = '0' AND\r\n\t\t\t\t\t\t\t\t\t\tlogin_prof = '" . $prof . "'") or die('Erreur dans la vérification sur l\'existence du cours : ' . mysqli_error($GLOBALS["mysqli"]));
                $verif_exist = mysqli_num_rows($query);
                if ($verif_exist >= 1) {