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;$loop0) {
$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";
}
elseif(acces("/classes/index.php", $_SESSION['statut'])) {
echo "
Retour";
}
else {
echo "
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";
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";
$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";
$chaine_div_coche_lot="Pour toutes les classes,
";
for($j=0;$jCocher / décocher $tab_id_matiere[$j]
";
for($k=0;$kCocher / décocher tous les enseignements";
if(isset($_SESSION['export_csv_liste_matieres'])) {
$chaine_div_coche_lot.="Utiliser la même sélection de matières que lors du précédent export.
";
}
echo "\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";
}
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");
?>