<?php
#=
/****************************************************************************
Copyright 2002, Daniel Deycard, Jacques Messines, Alain Pomirol
(CATICE Académie de Bordeaux)

This file is part of GiBii/Melia.

GiBii/Melia is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

GiBii/Melia is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GiBii/Melia; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

****************************************************************************/
include("../include/vars_adm.php");
include("../include/util.inc.php");
include("../include/utiljs.php");
opensession("Admin",false);
if ($PAS_IMPORT_EXPORT) {
    alert("Cette possibilité a été désactivée\npar le super-administrateur de GiSCCo");
    exit();
}
creertousrep($HIDEDATA);

function entete() {
    global $etab_theme;

    print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
?>
<html><head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Exportation d'items pour d'anciens élèves</title>
<link rel="stylesheet" href="<?php echo "../themes/".$etab_theme."/b2i.css" ?>">
<script language="javascript">
    function clic()
    {
    var frm=document.formulaire;
    //on ne peut pas invoquer les checkboxes par leur nom du fait des crochets utiles à PHP
       for (i=0;i<frm.elements.length; i++) {
           if (frm.elements[i].type=='checkbox') {
                       frm.elements[i].checked=!frm.elements[i].checked ;
                       //alert('name='+frm.elements[i].name);
           }
       }
    return true;
    }
</script>
</head>
<body class="arialadmin">
<p class='sous_titre'>Exportation d'items pour d'anciens élèves</p>
<?php
//fin de la fonction entete
}

function download($nomfic) {
global $HIDEDATA;
header("Content-Disposition: attachment; filename=$nomfic\n");
header("Content-Type: x/y\n"); // en-tête du type MIME (inconnu)
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
set_magic_quotes_runtime(0);   // pas d'encodage magic quotes
readfile("$HIDEDATA/$nomfic");             // lire le fichier et l'envoyer à la sortie standard
unlink("$HIDEDATA/$nomfic");
}

function ligne(&$f,$ligne="") {
fputs($f,"$ligne\n");
return $ligne;
}

function exporter($tab,$nom,$prenom) {
//Voir la structure du fichier exporté dans... l'import !
global $etab_nom,$etab_codepostal, $HIDEDATA;
$PHP_SELF=basename($_SERVER['PHP_SELF']);
entete();
switch (count($tab)) {
    case 0 : die("Aucun élève choisi !");
    case 1 : //print_r($_POST);
             $nomfic=$nom[$tab[0]].".".$prenom[$tab[0]].".".date("Ymd").".".$etab_codepostal;
             break;
    default:
             $nomfic=date("Ymd").".".$etab_codepostal;
}
$lien= "<p style=\"text-align:left;font-weight:bold; font-size:medium;\">
        <a href=\"$PHP_SELF?op=download&nomfic=$nomfic\">
        <img src=\"download.gif\" width=\"18\" height=\"18\" alt=\"télécharger\" border=0>
        Enregistrer les données d'exportation %s
        </a></p>";
printf($lien,"ci-dessous");
$fp=fopen("$HIDEDATA/$nomfic","w");
$total=ligne($fp,$etab_nom);
ligne($fp);
foreach($tab as $id) {
    $reselv=query("SELECT * FROM eleves WHERE eleve_id='$id';");
    list($eleve_id,$nomquot,$prenomquot,$civil,$dnaiss,,,,$an_depart)=mysql_fetch_array($reselv);
    $nom=stripslashes($nomquot);$prenom=stripslashes($prenomquot);
    $resit=query("SELECT item_id,quand
                  FROM  resultats
                  WHERE eleve_id='$eleve_id';");
    print "<h3>$civil $prenom $nom, naissance : $dnaiss, départ : $an_depart</h3>";
    if (mysql_num_rows($resit)) {
        print "<table border='1' align='center'>";
        print "<tr class='rubrique'>";
        print "<th>id item</th><th>date d'acquisition</th>";
        $nbitems=0;
        ligne($fp,"+");   //nouvel élève à engranger
        $total.=ligne($fp,"$nom,$prenom,$dnaiss");
        while (list($item_id, $date)=mysql_fetch_array($resit)) {
            $nbitems++;
            print "<tr>";
            print "<td>$item_id</td>\n";
            print "<td>$date</td>\n";
            ligne($fp,"i");
            $total.=ligne($fp,"$item_id,$date");
        }
        print "</table>\n<p>\n";
        print "Nombre total d'items acquis $nbitems.";
    }
    else print "Pas d'item donc pas d'exportation d'item pour cet élève.";
    print "</p>\n<hr>\n";
}
ligne($fp,"=");           // marqueur de fin de la liste
ligne($fp,md5($total));
fclose($fp);
printf($lien,"ci-dessus");
print "</body></html>";
}

function choisir($oldtri,$newtri,$oldordre) {
global $etab_id,$sess_ascol;
$PHP_SELF=basename($_SERVER['PHP_SELF']);
entete();
$sql="SELECT * FROM eleves
       WHERE etab_id=$etab_id
         and annee<$sess_ascol
       ORDER BY ";      //suite ci-dessous !
switch ($newtri) {
    case "n" : $sql.="nom ";       break;
    case "p" : $sql.="prenom ";    break;
    //case "d" : $sql.="dnaiss ";    break;
    case "a" : $sql.="annee "; break;
}
if ($newtri==$oldtri) $newordre=($oldordre=="ASC")? "DESC":"ASC";
else $newordre="ASC";

$sql.=$newordre;
$reselv=query($sql);
$nb=mysql_num_rows($reselv);
print "<form method=\"post\" name=\"formulaire\" action=\"$PHP_SELF?op=exporter\">\n";
print "<table border='1' align='center' width=\"100%\">";
print "<tr class='rubrique'>";
print "<th><input type=\"button\" class=\"coul\" name=\"inverser\" value=\"Inverser la sélection\" onclick=\"clic();\"></th>";
print "<th><a href=\"$PHP_SELF?op=choisir&oldtri=$newtri&newtri=n&oldordre=$newordre\">Nom</a></th>";
print "<th><a href=\"$PHP_SELF?op=choisir&oldtri=$newtri&newtri=p&oldordre=$newordre\">Prénom</a></th>";
print "<th>Date de naissance</th>";
print "<th><a href=\"$PHP_SELF?op=choisir&oldtri=$newtri&newtri=a&oldordre=$newordre\">Année de départ</a></th>";
print "</tr>";
while (list($eleve_id,$nomquot,$prenomquot,$civil,$dnaiss,,,,$an_depart)=mysql_fetch_array($reselv)) {
    $nom=stripslashes($nomquot);$prenom=stripslashes($prenomquot);
    print "<tr>";
    print "<td class='centre'>
           <input type=\"checkbox\" name=\"tabelv[]\" value=\"$eleve_id\"></td>";
    //au cas où un seul élève serait sélectionné, on retient son identité pour le traitement
    print "<input type=\"hidden\" name=\"nom[$eleve_id]\" value=\"$nom\">";
    print "<input type=\"hidden\" name=\"prenom[$eleve_id]\" value=\"$prenom\">";
    print "<td>&nbsp;$nom</a></td>\n";
    print "<td>&nbsp;$prenom</td>\n";
    print "<td class='centre'>$dnaiss</td>\n";
    print "<td class='centre'>$an_depart</td>\n";
    print "</tr>";
}
print "</table>\n";
if (!$nb) {
    alert("Il n'y a pas d'ancien élève à exporter");
    goto('../admin/admin_bas.php');
    }
else {
    print "<p style=\"text-align:center;\">
       <input type=\"submit\" class=\"coul\" name=\"envoi\" value=\"Exporter les élèves sélectionnés\">
       </p>";
    }
print "</form>\n";
print "</body></html>";
}

//===================
//Programme principal =====
//===================



connecte($host, $user, $mdp, $db);
switch (@$op) {
   case "choisir" : choisir($oldtri,$newtri,$oldordre);break;
   case "exporter": exporter(@$tabelv,@$nom,@$prenom);break;
   case "download": download($nomfic);break;
   default: choisir("","n","ASC");
}
?>