security_check(); if ($resultat_session == "c") { header("Location:utilisateurs/mon_compte.php?change_mdp=yes&retour=accueil#changemdp"); die(); } else if ($resultat_session == "0") { header("Location: ../logout.php?auto=1"); die(); } // Sécurité // SQL : INSERT INTO droits VALUES ( '/eleves/import_bull_eleve.php', 'V', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'Importation bulletin élève', ''); // maj : $tab_req[] = "INSERT INTO droits VALUES ( '/eleves/import_bull_eleve.php', 'V', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'Importation bulletin élève', '');"; // if (!checkAccess()) { header("Location: ../logout.php?auto=2"); die(); } function get_nom_prenom_from_login($ele_login,$mode) { $retour=""; $sql="SELECT nom,prenom FROM eleves WHERE login='$ele_login';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { $retour="LOGIN INCONNU"; } else { $lig=mysqli_fetch_object($res); if($mode=="np") { $retour=my_strtoupper($lig->nom)." ".casse_mot($lig->prenom,'majf2'); } else { $retour=casse_mot($lig->prenom,'majf2')." ".my_strtoupper($lig->nom); } } return $retour; } function get_infos_from_ele_login($ele_login,$mode) { $retour=array(); //$sql="SELECT nom,prenom FROM eleves WHERE login='$ele_login';"; $sql="SELECT * FROM eleves WHERE login='$ele_login';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { $retour['denomination']="LOGIN INCONNU"; } else { $lig=mysqli_fetch_object($res); if($mode=="np") { $retour['denomination']=my_strtoupper($lig->nom)." ".casse_mot($lig->prenom,'majf2'); } else { $retour['denomination']=casse_mot($lig->prenom,'majf2')." ".my_strtoupper($lig->nom); } $retour['nom']=$lig->nom; $retour['prenom']=$lig->prenom; $retour['no_gep']=$lig->no_gep; $retour['ele_id']=$lig->ele_id; $retour['elenoet']=$lig->elenoet; $retour['sexe']=$lig->sexe; } return $retour; } // PB: Il faut remplacer le login PROF par ANONYME_EXT... ou le nom de l'établissement // A l'import, il faut avoir créé l'élève, // créer des enseignements? dans une classe EXTERIEUR... il faut une classe par élève... // si on a plusieurs arrivées, ça fait des matières en plus,... pas un pb... // seules les matières suivies par l'élève sont prises en compte... // créer des cours différents pour chaque élève pour éviter des moyennes de classe fantaisistes // A l'export, une ligne pour l'association: LOGIN_ETAB -> Nom, prénom pour la table utilisateurs // Nom: gepiSchoolName // Prénom: gepiSchoolCity // ======================== CSS et js particuliers ======================== $utilisation_win = "non"; $utilisation_jsdivdrag = "non"; //$javascript_specifique = ".js"; //$style_specifique = ".css"; // ===================== entete Gepi ======================================// require_once("../lib/header.inc.php"); // ===================== fin entete =======================================// $page="import_bull_eleve.php"; $ele_login=isset($_POST['ele_login']) ? $_POST['ele_login'] : (isset($_GET['ele_login']) ? $_GET['ele_login'] : NULL); //debug_var(); //echo "

Retour Retour\n"; echo "

Retour Retour\n"; if(getSettingValue('exp_imp_chgt_etab')!='yes') { // Pour activer le dispositif: // DELETE FROM setting WHERE name='exp_imp_chgt_etab';INSERT INTO setting SET name='exp_imp_chgt_etab', value='yes'; echo "

Cette page est destinée à importer les moyennes et appréciations du bulletin d'un élève arrivant d'un autre établissement
\n"; echo "L'élève doit avoir été préalablement créé dans votre base et affecté dans une classe pour une période au moins.

\n"; echo "


\n"; echo "

Le dispositif (encore en cours de test au 17/07/2008) ne semble pas activé.

\n"; require_once("../lib/footer.inc.php"); die(); } //if(!isset($ele_login)) { if((!isset($ele_login))&&(!isset($_POST['Recherche_sans_js']))) { echo "

\n"; echo "
\n"; echo "

Cette page est destinée à importer les moyennes et appréciations du bulletin d'un élève arrivant d'un autre établissement
\n"; echo "L'élève doit avoir été préalablement créé dans votre base et affecté dans une classe pour une période au moins.

\n"; echo "

Exemple:

\n"; echo "
\n"; echo "

On inscrit un élève arrivant en décembre dans une classe pour les trimestres 2 et 3.
Et seul le trimestre 1 sera importé depuis un fichier CSV.\n"; echo "

\n"; echo "
\n"; echo "

Choix de l'élève:

\n"; // Formulaire pour navigateur SANS Javascript: echo "\n"; // Portion d'AJAX: echo "\n"; // DIV avec formulaire pour navigateur AVEC Javascript: echo "\n"; echo "\n"; echo "


\n"; echo "

Remarque:

\n"; echo "
\n"; echo "

Les bulletins de l'ancien établissement comporteront une information erronée:
La structure de la table 'j_eleves_cpe' ne tient pas compte des périodes si bien que le CPE responsable pour les périodes où l'élève était dans son précédent établissement appraîtra comme étant le CPE de votre établissement.
Il faudra changer la structure de 'j_eleves_cpe' dans une prochaine version de Gepi pour corriger ce bug.

\n"; echo "
\n"; } elseif(isset($_POST['Recherche_sans_js'])) { // On ne passe ici que si JavaScript est désactivé echo " | Choisir un autre élève\n"; echo "

\n"; echo "
\n"; include("recherche_eleve.php"); } else { echo " | Choisir un autre élève\n"; echo "

\n"; echo "\n"; //$info_eleve=get_nom_prenom_from_login($ele_login,"pn"); $info_eleve=get_infos_from_ele_login($ele_login,"pn"); //if($info_eleve=="LOGIN INCONNU") { if($info_eleve['denomination']=="LOGIN INCONNU") { echo "

Le login '$ele_login' est inconnu dans la table 'eleves'.

\n"; require_once("../lib/footer.inc.php"); die; } echo "

Vous avez choisi ".$info_eleve['denomination']."
\n"; if(!isset($_FILES["csv_file"])) { $tab_per=array(); $sql="SELECT c.classe,jec.periode,p.nom_periode FROM j_eleves_classes jec, classes c, periodes p WHERE jec.login='$ele_login' AND jec.id_classe=c.id AND p.num_periode=jec.periode ORDER BY jec.periode;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { echo "L'élève n'est inscrit"; if($info_eleve['sexe']=='F') {echo "e";} echo " dans aucune classe pour aucune période.
\n"; echo "

\n"; } else { while($lig=mysqli_fetch_object($res)) { if(!in_array($lig->periode,$tab_per)) { $tab_per[]=$lig->periode; echo "L'élève est inscrit"; if($info_eleve['sexe']=='F') {echo "e";} echo " en ".$lig->classe." pour la période ".$lig->nom_periode.".
\n"; } } echo "

\n"; echo "

Seule(s) la ou les période(s) non listée(s) ci-dessus pourra(ont) être importée(s) depuis le fichier CSV.

\n"; } //echo nl2br(get_bull($ele_login)); echo "
\n"; echo add_token_field(); echo "Fichier à importer: \n"; echo "\n"; echo "\n"; echo "
\n"; echo "

Attention : Veillez à n'importer que des fichiers CSV générés par Gepi.
Dans le doute, faites une sauvegarde préalable de la base.

\n"; } else { //if((!is_array($_FILES["csv_file"]))||(!is_uploaded_file($_FILES["csv_file"]['tmp_name']))) { if(!is_uploaded_file($_FILES["csv_file"]['tmp_name'])) { echo "

Le fichier n'a pas été uploadé...
\n"; echo "Retour au choix du fichier

\n"; require_once("../lib/footer.inc.php"); die(); } echo "

Fichier uploadé...
\n"; $csv_file=$_FILES["csv_file"]; //echo "\$csv_file['tmp_name']=".$csv_file['tmp_name']."
"; check_token(false); //flush(); $sql="SELECT MAX(num_periode) AS nb_per FROM periodes p, j_eleves_classes jec WHERE jec.login='$ele_login' AND jec.id_classe=p.id_classe;"; //echo "$sql
"; //die(); //flush(); $res=mysqli_query($GLOBALS["mysqli"], $sql); //$nb_per=3; $nb_per=0; if(mysqli_num_rows($res)>0) { $lig=mysqli_fetch_object($res); $nb_per=$lig->nb_per; } $tab_per=array(); $sql="SELECT jec.periode FROM j_eleves_classes jec WHERE jec.login='$ele_login' ORDER BY jec.periode;"; //echo "$sql
"; //flush(); $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)>0) { while($lig=mysqli_fetch_object($res)) { $tab_per[]=$lig->periode; } } echo "

Lecture du fichier:
\n"; //$csv_file=$_FILES["csv_file"]; $fich=fopen($csv_file['tmp_name'],"r"); echo "

\n"; while (!feof($fich)) { $ligne=fgets($fich, 4096); if(trim($ligne)!="") { //echo $ligne."
\n"; echo htmlspecialchars($ligne)."
\n"; } } echo "
\n"; fclose($fich); //echo "

\n"; // Recherche des infos établissement //$csv_file=$_FILES["csv_file"]; $fich=fopen($csv_file['tmp_name'],"r"); while (!feof($fich)) { $ligne=fgets($fich, 4096); if(trim($ligne)!="") { if(mb_substr($ligne,0,20)=="INFOS_ETABLISSEMENT;") { $tab_tmp=explode(";",$ligne); $nom_etab_ori=$tab_tmp[1]; $ville_etab_ori=$tab_tmp[2]; $rne_etab_ori=$tab_tmp[3]; } } } fclose($fich); //echo "

\n"; // Inscription dans j_eleves_etablissement $sql="SELECT 1=1 FROM j_eleves_etablissements WHERE id_eleve='".$info_eleve['elenoet']."';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { echo "

Insertion de l'association élève/établissement d'origine: "; $sql="INSERT INTO j_eleves_etablissements SET id_eleve='".$info_eleve['elenoet']."', id_etablissement='$rne_etab_ori';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if($res) { echo "OK"; echo "

\n"; } else { echo "ERREUR"; echo "

\n"; //require_once("../lib/footer.inc.php"); //die(); } } else { echo "

Mise à jour de l'association élève/établissement d'origine: "; $sql="UPDATE j_eleves_etablissements SET id_etablissement='$rne_etab_ori' WHERE id_eleve='".$info_eleve['elenoet']."';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if($res) { echo "OK"; echo "

\n"; } else { echo "ERREUR"; echo "

\n"; //require_once("../lib/footer.inc.php"); //die(); } } // Créer la classe //$sql="SELECT classe FROM classes WHERE classe LIKE '$nom_etab_ori%';"; $sql="SELECT classe FROM classes WHERE classe='$nom_etab_ori';"; //echo "$sql
"; //flush(); $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { echo "

Création d'une classe '$nom_etab_ori': "; //$sql="INSERT INTO classes SET classe='$nom_etab_ori', nom_complet='$nom_etab_ori';"; $sql="INSERT INTO classes SET classe='".$nom_etab_ori."', nom_complet='".$nom_etab_ori."', display_mat_cat='n', suivi_par='$nom_etab_ori', formule='Pour le conseil', format_nom='np', format_nom_eleve='np', modele_bulletin_pdf='1' ;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if($res) { $id_classe_etab=((is_null($___mysqli_res = mysqli_insert_id($GLOBALS["mysqli"]))) ? false : $___mysqli_res); $classe_etab=$nom_etab_ori; echo "OK"; echo "

\n"; } else { echo "ERREUR"; echo "

\n"; require_once("../lib/footer.inc.php"); die(); } } else { $cpt=1; while(true) { //$sql="SELECT classe FROM classes WHERE classe LIKE '".$nom_etab_ori.$cpt."';"; $sql="SELECT classe FROM classes WHERE classe='".$nom_etab_ori.$cpt."';"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)==0) { echo "

Création d'une classe '".$nom_etab_ori.$cpt."': "; $sql="INSERT INTO classes SET classe='".$nom_etab_ori.$cpt."', nom_complet='".$nom_etab_ori.$cpt."', display_mat_cat='n', suivi_par='$nom_etab_ori', formule='Pour le conseil', format_nom='np', format_nom_eleve='np', modele_bulletin_pdf='1' ;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if($res) { $id_classe_etab=((is_null($___mysqli_res = mysqli_insert_id($GLOBALS["mysqli"]))) ? false : $___mysqli_res); $classe_etab=$nom_etab_ori.$cpt; echo "OK"; echo "

\n"; break; } else { echo "ERREUR"; echo "

\n"; require_once("../lib/footer.inc.php"); die(); } } else { //echo "$cpt
"; //flush(); $cpt++; } } } echo "

Vous pourrez renommer ultérieurement la classe si vous le souhaitez.

\n"; // Insertion du même nombre de périodes pour l'ancienne classe que pour l'actuelle // L'élève ne sera pas affecté dans la classe pour toutes les périodes if($nb_per>0) {echo "

Création des périodes pour l'ancienne classe de l'élève ('$classe_etab'): ";} for($i=1;$i<=$nb_per;$i++) { if($i>1) {echo ", ";} echo $i; $sql="INSERT INTO periodes SET num_periode='$i', nom_periode='Période $i', verouiller='O', id_classe='$id_classe_etab';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if($res) { echo "OK"; //echo "

\n"; } else { echo "ERREUR"; echo "

\n"; //require_once("../lib/footer.inc.php"); //die(); } } // Créer l'utilisateur prof... $sql="SELECT login FROM utilisateurs WHERE nom='$nom_etab_ori' AND prenom='$ville_etab_ori';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { echo "

Création d'un utilisateur professeur '$nom_etab_ori': "; // CREER UN LOGIN $login_etab=generate_unique_login($nom_etab_ori,$ville_etab_ori,"nnnnnnnnnnnnnnnnnnnn"); if((!$login_etab)||($login_etab=='')) { echo "ERREUR : Aucun login n'a pu être généré pour l'établissement $nom_etab_ori ($ville_etab_ori)."; echo "

\n"; require_once("../lib/footer.inc.php"); die(); } else { $sql="INSERT INTO utilisateurs SET login='$login_etab', nom='$nom_etab_ori', prenom='$ville_etab_ori', civilite='M.', password='', statut='professeur', etat='inactif';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if($res) { echo "OK"; echo "

\n"; } else { echo "ERREUR"; echo "

\n"; require_once("../lib/footer.inc.php"); die(); } } } else { $lig=mysqli_fetch_object($test); $login_etab=$lig->login; } // Penser à inscrire dans j_scol_classe les comptes scolarité qui ont la classe actuelle de l'élève // et si l'élève n'est dans aucune classe, proposer le lien. $sql="SELECT DISTINCT jsc.login FROM j_eleves_classes jec,j_scol_classes jsc WHERE jec.login='$ele_login' AND jec.id_classe=jsc.id_classe;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)>0) { while($lig=mysqli_query($GLOBALS["mysqli"], $res)) { $sql="SELECT 1=1 FROM j_scol_classes WHERE id_classe='$id_classe_etab' AND login='$lig->login';"; $res1=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res1)==0) { echo "Insertion de l'autorisation de consultation pour ".affiche_utilisateur($lig->login,'np').": "; $sql="INSERT INTO j_scol_classes SET id_classe='$id_classe_etab', login='$lig->login';"; $res2=mysqli_query($GLOBALS["mysqli"], $sql); if($res2) { echo "OK"; echo "

\n"; } else { echo "ERREUR"; echo "

\n"; //require_once("../lib/footer.inc.php"); //die(); } } } } /* // On a forcément une info erronée sur le nom du CPE // parce que la table j_eleves_cpe n'a que deux champs e_login et cpe_login // Créer l'utilisateur CPE... $sql="SELECT login FROM utilisateurs WHERE nom='CPE $nom_etab_ori' AND prenom='$ville_etab_ori';"; $res=mysql_query($sql); if(mysql_num_rows($res)==0) { echo "

Création d'un utilisateur 'CPE $nom_etab_ori': "; // CREER UN LOGIN $login_etab=generate_unique_login("CPE $nom_etab_ori","$ville_etab_ori","name"); $sql="INSERT INTO utilisateurs SET login='$login_etab', nom='CPE $nom_etab_ori', prenom='$ville_etab_ori', civilite='M.', password='', statut='cpe', etat='inactif';"; $res=mysql_query($sql); if($res) { echo "OK"; echo "

\n"; } else { echo "ERREUR"; echo "

\n"; require_once("../lib/footer.inc.php"); die(); } } else { $lig=mysql_fetch_object($test); $login_cpe_etab=$lig->login; } */ // Pour ne pas créer autant de groupes par matière qu'il y a de périodes: //$tab_src_id_groupes_crees=array(); $tab_dst_id_groupes_crees=array(); // Recherche des infos matières,... //$csv_file=$_FILES["csv_file"]; $fich=fopen($csv_file['tmp_name'],"r"); while (!feof($fich)) { $ligne=fgets($fich, 4096); if(trim($ligne)!="") { if(mb_substr($ligne,0,20)=="AVIS_CONSEIL_CLASSE;") { $tab_tmp=explode(";",$ligne); $periode=$tab_tmp[1]; if(!in_array($periode,$tab_per)) { $avis=$tab_tmp[2]; // A REVOIR: Il y a une économie de requêtes à faire sur les tests ci-dessous en stockant les infos dans un tableau // Créer l'association dans 'periodes' si elle n'est pas déjà présente $sql="SELECT 1=1 FROM periodes WHERE num_periode='$periode' AND id_classe='$id_classe_etab';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { echo "

Inscription de l'association période/classe pour la période '$periode': "; $sql="INSERT INTO periodes SET num_periode='$periode', nom_periode='Période $periode', verouiller='O', id_classe='$id_classe_etab';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if($res) { echo "OK"; echo "

\n"; } else { echo "ERREUR"; echo "

\n"; require_once("../lib/footer.inc.php"); die(); } } // Inscription de l'élève dans la classe $sql="SELECT 1=1 FROM j_eleves_classes WHERE periode='$periode' AND id_classe='$id_classe_etab' AND login='$ele_login';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { echo "

Inscription de l'élève dans la classe '$classe_etab' pour la période '$periode': "; $sql="INSERT INTO j_eleves_classes SET periode='$periode', id_classe='$id_classe_etab', login='$ele_login';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if($res) { echo "OK"; echo "

\n"; } else { echo "ERREUR"; echo "

\n"; require_once("../lib/footer.inc.php"); die(); } } // Insertion de l'avis $sql="SELECT 1=1 FROM avis_conseil_classe WHERE login='$ele_login' AND periode='$periode';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { echo "

Inscription de l'avis du conseil de classe pour la période '$periode': "; //$sql="INSERT INTO avis_conseil_classe SET login='$ele_login', periode='$periode', avis='$avis';"; $sql="INSERT INTO avis_conseil_classe SET login='$ele_login', periode='$periode', avis='".my_ereg_replace("_POINT_VIRGULE_",";",$avis)."';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if($res) { echo "OK"; echo "

\n"; } else { echo "ERREUR"; echo "

\n"; require_once("../lib/footer.inc.php"); die(); } } else { // Ca ne devrait pas arriver... // Dans la lecture du fichier CSV, on ne retient que les périodes pour lesquelles il n'y a rien sur le bulletin de l'élève dans le nouvel établissement... // ... ou plutôt les périodes pour lesquelles l'élève n'est dans aucune classe (donc rien sur le bulletin) // Si on passe ici, c'est qu'il y a plusieurs lignes pour l'avis du conseil de classe pour une même période dans ce CSV. echo "

BIZARRE: Il semble qu'il y ait plusieurs lignes d'avis du conseil de classe pour la période '$periode'.

\n"; } } } //else { elseif(mb_substr($ligne,0,9)=="ABSENCES;") { $tab_tmp=explode(";",$ligne); $periode=$tab_tmp[1]; if(!in_array($periode,$tab_per)) { $nb_absences=$tab_tmp[2]; $non_justifie=$tab_tmp[3]; $nb_retards=$tab_tmp[4]; $app=$tab_tmp[5]; $sql="SELECT 1=1 FROM absences WHERE login='$ele_login' AND periode='$periode';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { echo "

Inscription des absences/retards pour la période '$periode': "; $sql="INSERT INTO absences SET login='$ele_login', periode='$periode', nb_absences='$nb_absences', non_justifie='$non_justifie', nb_retards='$nb_retards', appreciation='".my_ereg_replace("_POINT_VIRGULE_",";",$app)."';"; // appreciation='".$app."';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if($res) { echo "OK"; echo "

\n"; } else { echo "ERREUR"; echo "

\n"; require_once("../lib/footer.inc.php"); die(); } } else { // Ca ne devrait pas arriver... echo "

BIZARRE: Il semble qu'il y ait plusieurs lignes de totaux d'absences pour la période '$periode'.

\n"; } } } elseif((mb_substr($ligne,0,20)!="INFOS_ETABLISSEMENT;")&&(mb_substr($ligne,0,12)!="INFOS_ELEVE;")&&(mb_substr($ligne,0,9)!="ABSENCES;")) { // $ligne devrait correspondre à une matière // Il faudrait identifier auparavant les matières et les associer aux matières du nouvel établissement... $tab_tmp=explode(";",$ligne); $periode=$tab_tmp[2]; if(!in_array($periode,$tab_per)) { $matiere=$tab_tmp[0]; $matiere_nom_complet=$tab_tmp[1]; $src_id_groupe=$tab_tmp[3]; $note=$tab_tmp[4]; $statut=$tab_tmp[5]; $app=$tab_tmp[6]; // A REVOIR: Il y a une économie de requêtes à faire sur les tests ci-dessous en stockant les infos dans un tableau // Créer l'association dans 'periodes' si elle n'est pas déjà présente $sql="SELECT 1=1 FROM periodes WHERE num_periode='$periode' AND id_classe='$id_classe_etab';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { echo "

Inscription de l'association période/classe pour la période '$periode': "; $sql="INSERT INTO periodes SET num_periode='$periode', nom_periode='Période $periode', verouiller='O', id_classe='$id_classe_etab';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if($res) { echo "OK"; echo "

\n"; } else { echo "ERREUR"; echo "

\n"; require_once("../lib/footer.inc.php"); die(); } } // Inscription de l'élève dans la classe $sql="SELECT 1=1 FROM j_eleves_classes WHERE periode='$periode' AND id_classe='$id_classe_etab' AND login='$ele_login';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { echo "

Inscription de l'élève dans la classe '$classe_etab' pour la période '$periode': "; $sql="INSERT INTO j_eleves_classes SET periode='$periode', id_classe='$id_classe_etab', login='$ele_login';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if($res) { echo "OK"; echo "

\n"; } else { echo "ERREUR"; echo "

\n"; require_once("../lib/footer.inc.php"); die(); } } // Insertion de la matière //$sql="SELECT 1=1 FROM matieres WHERE matiere='$matiere' AND nom_complet='$matiere_nom_complet';"; $sql="SELECT 1=1 FROM matieres WHERE matiere='$matiere';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { echo "

Inscription de la matière '".htmlspecialchars($matiere)."' dans la table 'matieres': "; $sql="INSERT INTO matieres SET matiere='$matiere', nom_complet='$matiere_nom_complet';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if($res) { echo "OK"; echo "

\n"; } else { echo "ERREUR"; echo "

\n"; require_once("../lib/footer.inc.php"); die(); } } // Insertion de l'association prof/matière $sql="SELECT 1=1 FROM j_professeurs_matieres WHERE id_matiere='$matiere' AND id_professeur='$login_etab';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { echo "

Inscription de l'association professeur '$login_etab' / matière '".htmlspecialchars($matiere)."' dans la table 'j_professeurs_matieres': "; $sql="INSERT INTO j_professeurs_matieres SET id_matiere='$matiere', id_professeur='$login_etab';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if($res) { echo "OK"; echo "

\n"; } else { echo "ERREUR"; echo "

\n"; require_once("../lib/footer.inc.php"); die(); } } // Insertion du groupe // function create_group($_name, $_description, $_matiere, $_classes, $_categorie = 1) $tmp_classes=array($id_classe_etab); //if(in_array($src_id_groupe,$tab_src_id_groupes_crees) { if(isset($tab_dst_id_groupes_crees[$src_id_groupe])) { $current_id_groupe=$tab_dst_id_groupes_crees[$src_id_groupe]; } else { $current_id_groupe=create_group($matiere, $matiere_nom_complet, $matiere, $tmp_classes); } //$current_id_groupe=mysql_insert_id(); /* // FAIT PAR LE create_group() // Insertion de l'association groupe/classe echo "

Inscription de l'association groupe/classe dans la table 'j_groupes_classes': "; $sql="INSERT INTO j_groupes_classes SET id_groupe='$current_id_groupe', id_classe='$id_classe_etab', coef='1.0';"; $res=mysql_query($sql); if($res) { echo "OK"; echo "

\n"; } else { echo "ERREUR"; echo "

\n"; require_once("../lib/footer.inc.php"); die(); } */ // Insertion de l'association groupe/élève echo "

Inscription de l'association groupe/élève dans la table 'j_eleves_groupes': "; $sql="INSERT INTO j_eleves_groupes SET id_groupe='$current_id_groupe', login='$ele_login', periode='$periode';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if($res) { echo "OK"; echo "

\n"; } else { echo "ERREUR"; echo "

\n"; require_once("../lib/footer.inc.php"); die(); } // Insertion de l'association groupe/prof $sql="SELECT 1=1 FROM j_groupes_professeurs WHERE id_groupe='$current_id_groupe' AND login='$login_etab';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { echo "

Inscription de l'association professeur '$login_etab' / groupe '".htmlspecialchars($current_id_groupe)."' dans la table 'j_groupes_professeurs': "; $sql="INSERT INTO j_groupes_professeurs SET id_groupe='$current_id_groupe', login='$login_etab';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if($res) { echo "OK"; echo "

\n"; } else { echo "ERREUR"; echo "

\n"; //require_once("../lib/footer.inc.php"); //die(); } } /* // FAIT PAR LE create_group() // Insertion de l'association groupe/matière echo "

Inscription de l'association groupe/matière dans la table 'j_groupes_matieres': "; $sql="INSERT INTO j_groupes_matieres SET id_groupe='$current_id_groupe', matiere='$matiere';"; $res=mysql_query($sql); if($res) { echo "OK"; echo "

\n"; } else { echo "ERREUR"; echo "

\n"; require_once("../lib/footer.inc.php"); die(); } // Il manquait aussi l'insertion dans matiere_categorie... */ // Insertion de la moyenne echo "

Inscription de la moyenne sur le bulletin dans la table 'matieres_notes': "; $sql="INSERT INTO matieres_notes SET login='$ele_login', id_groupe='$current_id_groupe', periode='$periode', note='$note', statut='$statut';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if($res) { echo "OK"; echo "

\n"; } else { echo "ERREUR"; echo "

\n"; require_once("../lib/footer.inc.php"); die(); } // Insertion de l'appréciation /* $sql="SELECT 1=1 FROM matieres_appreciations WHERE login='$ele_login' AND id_groupe='$current_id_groupe' AND periode='$periode';"; $res=mysql_query($sql); if(mysql_num_rows($res)==0) { */ echo "

Inscription de l'appréciation pour la matière '".htmlspecialchars($matiere)."' sur la période '$periode': "; //$sql="INSERT INTO matieres_appreciations SET login='$ele_login', periode='$periode', id_groupe='$current_id_groupe', appreciation='$app';"; $sql="INSERT INTO matieres_appreciations SET login='$ele_login', periode='$periode', id_groupe='$current_id_groupe', appreciation='".my_ereg_replace("_POINT_VIRGULE_",";",$app)."';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if($res) { echo "OK"; echo "

\n"; } else { echo "ERREUR"; echo "

\n"; require_once("../lib/footer.inc.php"); die(); } /* } else { // Ca ne devrait pas arriver... echo "

BIZARRE: Il semble qu'il y ait plusieurs lignes d'appréciation pour un même groupe sur la période '$periode'.

\n"; } */ // Stockage de l'ancien groupe comme déjà créé: //$tab_src_id_groupes_crees[]=$src_id_groupe; $tab_dst_id_groupes_crees[$src_id_groupe]=$current_id_groupe; } } } } fclose($fich); //echo "

\n"; echo "

Terminé.

\n"; } } // Inclusion du bas de page require_once("../lib/footer.inc.php"); ?>