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 /> ' . $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) {