security_check(); if ($resultat_session == 'c') { header("Location: ../utilisateurs/mon_compte.php?change_mdp=yes"); die(); } else if ($resultat_session == '0') { header("Location: ../logout.php?auto=1"); die(); } $sql="SELECT 1=1 FROM droits WHERE id='/classes/export_ele_opt.php';"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)==0) { $sql="INSERT INTO droits SET id='/classes/export_ele_opt.php', administrateur='V', professeur='V', cpe='V', scolarite='V', eleve='F', responsable='F', secours='F', autre='F', description='Export options élèves', statut='';"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); } if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } //debug_var(); $id_classe=isset($_POST['id_classe']) ? $_POST['id_classe'] : (isset($_GET['id_classe']) ? $_GET['id_classe'] : NULL); $choix_periodes=isset($_POST['choix_periodes']) ? $_POST['choix_periodes'] : NULL; $max_per=isset($_POST['max_per']) ? $_POST['max_per'] : NULL; $choix_matieres=isset($_POST['choix_matieres']) ? $_POST['choix_matieres'] : NULL; $choix_donnees=isset($_POST['choix_donnees']) ? $_POST['choix_donnees'] : NULL; if(isset($choix_donnees)) { check_token(); $id_groupe=array(); $tab_id_groupe=array(); $tab_matieres=array(); if($choix_matieres=="toutes") { for($loop=0;$loop"; $res=mysqli_query($GLOBALS["mysqli"],$sql); while($lig=mysqli_fetch_object($res)) { if(!array_key_exists($lig->id, $id_groupe)) { $id_groupe[$lig->id]=get_group($lig->id, array('matieres', 'eleves')); $tab_id_groupe[]=$lig->id; if(!in_array($id_groupe[$lig->id]['matiere']['matiere'], $tab_matieres)) { $tab_matieres[]=$id_groupe[$lig->id]['matiere']['matiere']; } } } } } else { for($loop=0;$loop $current_group) { if($_POST['choix_periodes']=='toutes') { for($loop=0;$loop $current_tab_ele_per) { if(isset($current_tab_ele_per['telle_classe'])) { foreach($current_tab_ele_per['telle_classe'] as $current_id_classe => $current_tab_ele_per_classe) { if((isset($_POST['num_periode_'.$current_id_classe]))&&($_POST['num_periode_'.$current_id_classe]==$current_periode)) { for($loop=0;$looplogin, $tab_ele)) { for($loop=0;$looplogin."' ORDER BY periode;"; $res_clas=mysqli_query($GLOBALS["mysqli"],$sql); $cpt_clas=0; while($lig_clas=mysqli_fetch_object($res_clas)) { if($cpt_clas>0) { $lignes_csv.=", "; } $lignes_csv.=$lig_clas->id_classe; $cpt_clas++; } } else { $sql="SELECT distinct id_classe, periode FROM j_eleves_classes jec WHERE jec.login='".$lig->login."' ORDER BY periode;"; $res_clas=mysqli_query($GLOBALS["mysqli"],$sql); $cpt_clas=0; while($lig_clas=mysqli_fetch_object($res_clas)) { if($cpt_clas>0) { $lignes_csv.=", "; } if((isset($_POST['num_periode_'.$lig_clas->id_classe]))&&($_POST['num_periode_'.$lig_clas->id_classe]==$lig_clas->periode)) { $lignes_csv.=$lig_clas->id_classe; $cpt_clas++; } } } $lignes_csv.=";"; } elseif($tab_champs_retenus[$loop]=='classe') { if($_POST['choix_periodes']=='toutes') { $sql="SELECT distinct classe FROM j_eleves_classes jec, classes c WHERE c.id=jec.id_classe AND jec.login='".$lig->login."' ORDER BY periode;"; $res_clas=mysqli_query($GLOBALS["mysqli"],$sql); $cpt_clas=0; while($lig_clas=mysqli_fetch_object($res_clas)) { if($cpt_clas>0) { $lignes_csv.=", "; } $lignes_csv.=$lig_clas->classe; $cpt_clas++; } } else { $sql="SELECT distinct id_classe, classe, periode FROM j_eleves_classes jec, classes c WHERE c.id=jec.id_classe AND jec.login='".$lig->login."' ORDER BY periode;"; $res_clas=mysqli_query($GLOBALS["mysqli"],$sql); $cpt_clas=0; while($lig_clas=mysqli_fetch_object($res_clas)) { if($cpt_clas>0) { $lignes_csv.=", "; } if((isset($_POST['num_periode_'.$lig_clas->id_classe]))&&($_POST['num_periode_'.$lig_clas->id_classe]==$lig_clas->periode)) { $lignes_csv.=$lig_clas->classe; $cpt_clas++; } } } $lignes_csv.=";"; } else { $champ_courant=$tab_champs_retenus[$loop]; if($champ_courant=="naissance") { $lignes_csv.=formate_date($lig->$champ_courant).";"; } else { $lignes_csv.=$lig->$champ_courant.";"; } } } // Traiter les colonnes d'options if($_POST['format_export']==1) { for($loop=0;$looplogin])) { $lignes_csv.=1; } $lignes_csv.=";"; } } elseif($_POST['format_export']==2) { for($loop=0;$looplogin])) { $lignes_csv.=$tab_matieres[$loop]; } $lignes_csv.=";"; } } elseif($_POST['format_export']==3) { $cpt_opt_ele=0; for($loop=0;$looplogin])) { $lignes_csv.=$tab_matieres[$loop].";"; $cpt_opt_ele++; } } if($cpt_opt_ele>$nb_max_opt) { $nb_max_opt=$cpt_opt_ele; } } elseif($_POST['format_export']==4) { for($loop=0;$looplogin]))) { $lignes_csv.=1; } $lignes_csv.=";"; } } elseif($_POST['format_export']==5) { for($loop=0;$looplogin]))) { $lignes_csv.=$id_groupe[$tab_id_groupe[$loop]]['matiere']['matiere']; } $lignes_csv.=";"; } } $lignes_csv.="\n"; } } } if($_POST['format_export']==3) { for($loop=0;$loop<$nb_max_opt;$loop++) { $n=$loop+1; $ligne_entete.="OPT$n;"; } $ligne_entete.="\n"; } $csv=$ligne_entete.$lignes_csv; $nom_fic="liste_options_eleves_".strftime("%Y%m%d_%H%M%S").".csv"; send_file_download_headers('text/x-csv',$nom_fic); echo echo_csv_encoded($csv); die(); } $themessage = 'Des modifications ont été effectuées. Voulez-vous vraiment quitter sans enregistrer ?'; //**************** EN-TETE ******************************* $titre_page = "Export matières élèves"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE **************************** if((isset($id_classe))) { if(is_array($id_classe)) { if(isset($id_classe[0])) { $id_premiere_classe=$id_classe[0]; } } elseif((preg_match("/^$[0-9]*$/", $id_classe))&&($id_classe>0)) { $id_premiere_classe=$id_classe; } } if((acces("/classes/classes_const.php", $_SESSION['statut']))&&(isset($id_premiere_classe))) { echo "

Retour Retour"; } elseif(acces("/classes/index.php", $_SESSION['statut'])) { echo "

Retour Retour"; } else { echo "

Retour Retour"; } if(!isset($id_classe)) { echo "

\n"; echo "

Choix des classes :

\n"; // Liste des classes avec élève: $sql="SELECT DISTINCT c.* FROM j_eleves_classes jec, classes c WHERE (c.id=jec.id_classe) ORDER BY c.classe;"; $call_classes=mysqli_query($GLOBALS["mysqli"], $sql); $nb_classes=mysqli_num_rows($call_classes); if($nb_classes==0){ echo "

Aucune classe avec élève affecté n'a été trouvée.

\n"; require("../lib/footer.inc.php"); die(); } echo "
\n"; // Affichage sur 3 colonnes $nb_classes_par_colonne=round($nb_classes/3); echo "\n"; echo "\n"; $cpt = 0; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
     \n"; while($lig_clas=mysqli_fetch_object($call_classes)) { //affichage 2 colonnes if(($cpt>0)&&(round($cpt/$nb_classes_par_colonne)==$cpt/$nb_classes_par_colonne)){ echo "\n"; } echo ""; echo "
\n"; $cpt++; } echo "
\n"; echo "

Tout cocher / Tout décocher

\n"; echo "

\n"; echo "
\n"; echo " \n"; } elseif(!isset($choix_periodes)) { echo " | Retour au choix des classes"; echo "

\n"; echo "

Choix des périodes :

\n"; //echo "

A FAIRE: afficher les périodes closes...

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

Extraire les élèves inscrits dans les enseignements (que vous choisirez plus loin) sur les périodes suivantes :

"; echo "
    \n"; echo "
  • \n"; echo "\n"; echo "
  • \n"; echo "
  • \n"; echo "\n"; echo "
    \n"; echo "
    \n"; echo "
    \n"; $max_per=0; $cpt=0; for($i=0;$i"; $call_per=mysqli_query($GLOBALS["mysqli"], $sql); $nombre_ligne=mysqli_num_rows($call_per); if($nombre_ligne==0) { echo "

    Aucune période n'est définie dans la classe de ".get_class_from_id($id_classe[$i]).".

    \n"; } else { echo "\n"; $first_per[$id_classe[$i]]=$cpt; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; $alt=1; while($lig_per=mysqli_fetch_object($call_per)) { $alt=$alt*(-1); echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; $cpt++; } echo "
    \n"; echo "Classe de ".get_class_from_id($id_classe[$i])."\n"; echo "
    \n"; //echo "Cocher/décocher\n"; echo "

    Tout cocher / Tout décocher

    \n"; echo "
    NumPériodeEtat
    \n"; //echo "\n"; echo "\n"; echo "\n"; if($lig_per->num_periode>$max_per) {$max_per=$lig_per->num_periode;} echo $lig_per->num_periode; echo ""; if($lig_per->verouiller=='O') {echo "Close";} elseif($lig_per->verouiller=='P') {echo "Partiellement close";} elseif($lig_per->verouiller=='N') {echo "Ouverte en saisie";} else {echo "???";} echo "
    \n"; $last_per[$id_classe[$i]]=$cpt; } echo "
    \n"; } echo "

    Cocher / décocher toutes les périodes

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

\n"; echo "
\n"; $chaine_div_coche_lot="Pour toutes les classes,
"; for($j=1;$j<=$max_per;$j++) { $chaine_div_coche_lot.="Cocher / décocher la période $j
"; } $chaine_div_coche_lot.="Cocher / décocher toutes les périodes"; echo "\n"; } elseif(!isset($choix_matieres)) { echo " | Retour au choix des classes"; echo " | Retour au choix des périodes"; echo "

\n"; echo "

Choix des matières/enseignements :

\n"; echo "
\n"; echo "\n"; echo "\n"; echo "
    \n"; echo "
  • \n"; echo "\n"; echo "
  • \n"; echo "
  • \n"; echo "\n"; echo "
    \n"; echo "
    \n"; $tab_id_matiere=array(); $tab_id_matiere_inverse=array(); $tab_liste_index_grp_matiere=array(); $cpt=0; for($i=0;$i"; $call_group = mysqli_query($GLOBALS["mysqli"], $sql); $nombre_ligne = mysqli_num_rows($call_group); if($nombre_ligne==0) { echo "

    Aucun enseignement n'est défini dans la classe de ".get_class_from_id($id_classe[$i]).".

    \n"; } else { $temoin_classe[$i]='y'; if($choix_periodes=='certaines') { // ============= // AJOUTER UN TEST... si on a choisi 'certaines' périodes, mais sans aucune période cochée // ============= if(isset($_POST['num_periode_'.$id_classe[$i]])) { $tmp_per=$_POST['num_periode_'.$id_classe[$i]]; for($loop=0;$loop<$max_per;$loop++) { if(isset($tmp_per[$loop])) { //echo "\n"; echo "\n"; } } } else { $temoin_classe[$i]='n'; } } if($temoin_classe[$i]=='y') { echo "\n"; $first_grp[$id_classe[$i]]=$cpt; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; $alt=1; while($lig_grp=mysqli_fetch_object($call_group)) { $alt=$alt*(-1); echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; $tab_liste_index_grp_matiere[$lig_grp->id_matiere][]=$cpt; if(!in_array($lig_grp->id_matiere, $tab_id_matiere)) { $tab_id_matiere[]=$lig_grp->id_matiere; } $cpt++; } echo "
    \n"; echo "Classe de ".get_class_from_id($id_classe[$i])."\n"; echo "
    \n"; //echo "Cocher/décocher\n"; echo "

    Tout cocher / Tout décocher

    \n"; echo "
    EnseignementProfesseur
    \n"; echo "\n"; echo "\n"; $sql="SELECT DISTINCT nom,prenom,civilite FROM utilisateurs u, j_groupes_professeurs jgp WHERE u.login=jgp.login AND jgp.id_groupe='$lig_grp->id' ORDER BY u.nom, u.prenom;"; $res_prof_grp=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_prof_grp)>0) { $lig_prof_grp=mysqli_fetch_object($res_prof_grp); echo $lig_prof_grp->civilite." ".strtoupper($lig_prof_grp->nom)." ".casse_mot($lig_prof_grp->prenom,"majf2"); while($lig_prof_grp=mysqli_fetch_object($res_prof_grp)) { echo ", "; echo $lig_prof_grp->civilite." ".strtoupper($lig_prof_grp->nom)." ".casse_mot($lig_prof_grp->prenom,"majf2"); } } echo "
    \n"; $last_grp[$id_classe[$i]]=$cpt; } } echo "
    \n"; } echo "

    Cocher / décocher tous les enseignements

    \n"; if(isset($_SESSION['export_csv_liste_matieres'])) { echo "

    Utiliser la même sélection de matières que lors du précédent export.

    "; } echo "
    \n"; echo "
  • \n"; echo "
\n"; echo "
\n"; echo "

\n"; echo "
\n"; $chaine_div_coche_lot="Pour toutes les classes,
"; for($j=0;$j document.getElementById('div_liste_enseignements').style.display='none'; function display_div_liste_enseignements() { if(document.getElementById('choix_matieres_certaines').checked==true) { document.getElementById('div_liste_enseignements').style.display='block'; } else { document.getElementById('div_liste_enseignements').style.display='none'; } } if(document.getElementById('div_coche_lot')) { document.getElementById('div_coche_lot').innerHTML=\"$chaine_div_coche_lot\"; } function coche_lot(num,mode) { tab_index=new Array(); "; for($j=0;$j0) { echo ","; } echo "'".$tab_id_matiere_inverse[$tmp_tab[$loop]]."'"; $cpt++; } } echo "); for(loop=0;loop\n"; } elseif(!isset($choix_donnees)) { // Anonymat souhaité echo " | Retour au choix des classes"; echo " | Retour au choix des périodes"; echo " | Retour au choix des enseignements"; echo "

\n"; echo "

Choix des données à exporter :

\n"; echo "
\n"; echo add_token_field(); echo "\n"; echo "\n"; echo "\n"; $chaine_liste_matieres=";"; for($i=0;$i\n"; if($choix_matieres=='certaines') { // Parcours de la liste des groupes if(isset($_POST['id_groupe_'.$id_classe[$i]])) { $tmp_grp=$_POST['id_groupe_'.$id_classe[$i]]; for($loop=0;$loop\n"; $sql="SELECT id_matiere FROM j_groupes_matieres WHERE id_groupe='".$tmp_grp[$loop]."';"; //echo "$sql
"; $test_mat=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test_mat)>0) { $lig_mat=mysqli_fetch_object($test_mat); if(!preg_match('/;'.$lig_mat->id_matiere.';/', $chaine_liste_matieres)) { $chaine_liste_matieres.=$lig_mat->id_matiere.";"; //echo "\$chaine_liste_matieres=$chaine_liste_matieres
"; } } } } } if($choix_periodes=='certaines') { // Parcours de la liste des périodes if(isset($_POST['num_periode_'.$id_classe[$i]])) { $tmp_per=$_POST['num_periode_'.$id_classe[$i]]; for($loop=0;$loop<$max_per;$loop++) { if(isset($tmp_per[$loop])) { //echo "\n"; echo "\n"; } } } } } //echo "\$chaine_liste_matieres=$chaine_liste_matieres
"; if(($choix_matieres=='certaines')&&($chaine_liste_matieres!=";")) { $_SESSION['export_csv_liste_matieres']=$chaine_liste_matieres; } elseif(isset($_SESSION['export_csv_liste_matieres'])) { unset($_SESSION['export_csv_liste_matieres']); } if(in_array($_SESSION['statut'], array('administrateur', 'scolarite'))) { $tab_champ_eleve=array('login', 'ele_id', 'elenoet', 'no_gep', 'nom', 'prenom', 'sexe', 'naissance', 'id_classe', 'classe'); $tab_descr_champ_eleve=array('Login', 'Identifiant ele_id', 'Identifiant elenoet', 'Identifiant national (INE)', 'Nom', 'Prénom', 'Sexe', 'Date de naissance', 'Identifiant de classe', 'Classe'); } else { $tab_champ_eleve=array('login', 'nom', 'prenom', 'sexe', 'naissance', 'classe'); $tab_descr_champ_eleve=array('Login', 'Nom', 'Prénom', 'Sexe', 'Date de naissance', 'Classe'); } // Cochés par défaut: $tab_incl_champ_eleve=array('login', 'nom', 'prenom','sexe', 'naissance'); echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; $alt=1; for($loop=0;$loop\n"; echo "\n"; echo "\n"; echo "\n"; } echo "
\n"; echo "Données élève à inclure
\n"; echo "
\n"; echo "
\n"; echo "

Format de l'export :

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

\n"; echo "\n"; } else { // On ne devrait pas arriver là echo "

Soit on a envoyé via header() le CSV, soit il faut fournir ici un lien de telechargement depuis temp.

\n"; if(isset($csv)) { echo "
$csv
"; } } echo "


NOTE : Cette page est destinée à effectuer l'extraction des certains enseignements (de votre choix) suivis par les élèves de classes de votre choix.
Dans un premier temps, vous choisissez la ou les classes,
puis la période sur laquelle les élèves sont inscrits,
puis les enseignements à retenir
et enfin la liste des informations à extraire dans le CSV.

"; require("../lib/footer.inc.php"); ?>