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();
}
if (!checkAccess()) {
header("Location: ../logout.php?auto=1");
die();
}
$step=isset($_POST['step']) ? $_POST['step'] : (isset($_GET['step']) ? $_GET['step'] : NULL);
$num_fich=isset($_POST['num_fich']) ? $_POST['num_fich'] : (isset($_GET['num_fich']) ? $_GET['num_fich'] : NULL);
$mode=isset($_POST['mode']) ? $_POST['mode'] : (isset($_GET['mode']) ? $_GET['mode'] : NULL);
if((isset($mode))&&($mode=='telech')&&(isset($num_fich))) {
check_token();
$num_fich_test=preg_replace("/[^0-9_]/", "", $num_fich);
if($num_fich_test!=$num_fich) {
$msg="Le numéro de fichier transmis est invalide : $num_fich
";
unset($step);
}
else {
$tempdir=get_user_temp_directory();
if(!$tempdir){
$msg="Il semble que le dossier temporaire de l'utilisateur ".$_SESSION['login']." ne soit pas défini!?
";
unset($step);
}
else {
$nom_fichier="export_groupes_".$num_fich.".xml";
header('Content-type: text/html');
header('Content-Disposition: attachment; filename="'.$nom_fichier.'"');
$contenu=readfile("../temp/".$tempdir."/export_groupes_".$num_fich.".xml");
echo $contenu;
die();
//unset($step);
//unset($num_fich);
}
}
}
//**************** EN-TETE *****************
$titre_page = "Export XML Groupes";
require_once("../lib/header.inc.php");
//************** FIN EN-TETE *****************
//debug_var();
$ajout_ariane="";
if(isset($step)) {
$ajout_ariane=" | Effectuer un autre export";
}
echo "
Retour vers Classes et enseignements
Sconet peut recevoir un fichier XML des affectations élèves dans les groupes de Gepi.
La présente page permet de générer cet export en parcourant les élèves par tranches de $tranche.
Il semble que le dossier temporaire de l'utilisateur ".$_SESSION['login']." ne soit pas défini!?
\n"; require("../lib/footer.inc.php"); die(); } $num_fich=strftime("%Y%m%d%H%M%S")."_".rand(); // Numéro d'envoi à enregistrer dans setting $num_envoi=getSettingValue("NumExportGroupesSconet"); if($num_envoi=="") { $num_envoi=1; } else { $num_envoi++; } saveSetting("NumExportGroupesSconet", $num_envoi); $f=fopen("../temp/".$tempdir."/export_groupes_".$num_fich.".xml", "w+"); fwrite($f, "Préparation initiale effectuée.
"; } else { // Filtrage de num_fich $num_fich_test=preg_replace("/[^0-9_]/", "", $num_fich); if($num_fich_test!=$num_fich) { echo "Le numéro de fichier transmis est invalide : $num_fich
\n"; require("../lib/footer.inc.php"); die(); } // Parcourir par tranches la table tempo2 $tempdir=get_user_temp_directory(); if(!$tempdir){ echo "Il semble que le dossier temporaire de l'utilisateur ".$_SESSION['login']." ne soit pas défini!?
\n"; require("../lib/footer.inc.php"); die(); } $debut_annee=strftime("%Y-%m-%d", getSettingValue('begin_bookings')); $fin_annee=strftime("%Y-%m-%d", getSettingValue('end_bookings')); //echo "Fichier : export_groupes_".$num_fich.".xml
"; $f=fopen("../temp/".$tempdir."/export_groupes_".$num_fich.".xml", "a+"); $sql="SELECT COUNT(col1) AS eff FROM tempo2;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); $lig=mysqli_fetch_object($res); if($lig->eff>0) { echo "$lig->eff élève(s) restent à extraire.
Liste des élèves extraits dans cette tranche : ";
$sql="SELECT col1 AS login FROM tempo2 LIMIT $tranche;";
$res=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res)>0) {
$cpt=0;
while($lig=mysqli_fetch_object($res)) {
$sql="SELECT e.ele_id, e.nom, e.prenom, e.naissance FROM eleves e WHERE login='$lig->login';";
//echo "$sql
";
$res2=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res2)==0) {
echo "
ERREUR : $lig->login non trouvé dans la table 'eleves'.
"; } else { if($cpt>0) { echo ", "; } $lig2=mysqli_fetch_object($res2); $chaine_eleve="Parcours terminé.
"; // En l'état: clic-droit/enregistrer la cible. } fclose($f); } require("../lib/footer.inc.php"); ?>