<?php
#G
#=
/****************************************************************************
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/creerlogin.inc.php");
include("../include/purges.inc.php");
include("../include/suppr.inc.php");

opensession("Admin",false);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
 <title>Traitement du formulaire</title>
 <?php include("../include/utiljs.php"); ?>
<link rel="stylesheet" href="<?php echo "../themes/".$etab_theme."/b2i.css" ?>">
</head>
<body class="arialadmin">
<?php

function enregistrer($eleve_id) {
$chgtcl=0; //flag pour pister un changement de classe
//enregistre un élève :
//si l'élève existait déjà ($eleve_id!=0), c'est une modification
     //enregistre nom, prénom (table ELEVES) et classes (table CLASSES)
//si c'est un nouveau ($eleve_id==0), c'est une création
     //enregistre les mêmes choses, en créant un eleve_id et un compte (table COMPTES)
global $etab_id,$sess_ascol,$MODULE,
       $IMPOSE_CHGT_MDP;


//récupération des variables du formulaire en local
$t=$_POST;
foreach ($t as $c => $v) $$c=$v;    //on dispose de toutes les variables du formulaire
//on récupère $nom, $prenom, $login, $civilite, $uid
//            $classe_id, $oldlogin (champ caché) et $oldclasse_id


//écriture dans les tables ELEVES, COMPTES
$dnaiss=normerdatenaiss($dnaiss);
if ($eleve_id) {     //modification d'un élève
                    //------------------------
    if ($login!=$oldlogin) { // le login a été changé : maj de la table COMPTES
        $login=LoginUnique($login); //cherche le login possible avec $login
        query("UPDATE comptes SET login='".secs($login)."' WHERE eleve_id=$eleve_id;");
    	}
    if ((isset($mdpinit)) && ($mdpinit=="on"))   { //demande d 'initialisation du mdp
        $passwd=md5($dnaiss);
        if ($IMPOSE_CHGT_MDP) $chg_mdp=", actif='0' ";
        else $chg_mdp="";
        query("UPDATE comptes SET mdp='$passwd' $chg_mdp WHERE eleve_id=$eleve_id;");
    	}
    if (!isset($uid)) $uid='';
    $sql="UPDATE eleves
          SET nom='".secs($nom)."', prenom='".secs($prenom)."',
              classe_id=$newclasse_id, civil='".secs($civilite)."' , dnaiss='".secs($dnaiss)."', uid='".secs($uid)."'
          WHERE eleve_id=$eleve_id;";
    
    
    query($sql);
    if ($newclasse_id!=$oldclasse_id) {
        $chgtcl=1;
        $sql_="UPDATE lien_eleves_classes
              SET classe_id=$newclasse_id
              WHERE eleve_id=$eleve_id and classe_id=$oldclasse_id;";
        query($sql_);
        }
    else $chgtcl=0; //classe changée, il faut rafraîchir

    //Modif groupes !




    //suppression des langues (ajout plus bas)
    query("DELETE FROM lien_eleves_disciplines WHERE eleve_id=$eleve_id;");
    message('Modifications effectuées.',$eleve_id,$newclasse_id,$nom,$prenom,$dnaiss,$login,$uid);
}
else {              //création d'un nouvel élève
                    //--------------------------
    $login=LoginUnique(($login) ? $login : $prenom[0].$nom[0]);
    //ajouter l'élève dans ELEVES
    $sql="INSERT INTO eleves 
            SET nom='".secs($nom)."', prenom='".secs($prenom)."', civil='".secs($civilite)."', 
			tag=0, uid='".secs($uid)."', 
            etab_id=$etab_id,   annee=$sess_ascol, dnaiss='".secs($dnaiss)."', classe_id=$newclasse_id ";
    query($sql);
    $eleve_id=mysql_insert_id();

    //rajouter un compte dans COMPTES
    $passwd=md5($dnaiss); //pas d'autre choix commode pour tous !
    if ($IMPOSE_CHGT_MDP) $actif=0; else $actif=1;

    $sql="INSERT INTO comptes
                 SET login      = '".secs($login)."',
                     mdp        = '$passwd',
                     statut     = 'Eleve',
                     actif      = ".seci($actif).",
                     nbsessions = 0,
                     eleve_id   = ".seci($eleve_id).",
                     etab_id    = ".seci($etab_id);
    query($sql);
    $compte_id=mysql_insert_id();
    //Mettre à jour la table élève avec compte_id
    $sql="UPDATE eleves ".
         "SET compte_id=".seci($compte_id)." WHERE eleve_id=".seci($eleve_id);
    query($sql);
    //Mettre à jour la classe dans la table des liens
    $sql_cla="INSERT INTO lien_eleves_classes SET classe_id=".seci($newclasse_id).", eleve_id=".seci($eleve_id);
    query($sql_cla);



    message("Création effectuée.",$eleve_id,$newclasse_id,$nom,$prenom,$dnaiss,$login,$uid);
}
if ($MODULE=="Melia") {
//ajout des langues dans tous les cas (MELIA)
for ($r=1; $r<=3; $r++) {
    if ($combolangue[$r]>=0)
        query("INSERT INTO lien_eleves_disciplines
               SET rang=$r,
                   disc_id=".seci($combolangue[$r]).",
                   eleve_id=".seci($eleve_id));
  }
 }//Fin du module pour Melia

return $chgtcl; //on retourne le chgt de classe pour le prog principal...
}



function supprimer($eleve_id) {
global $host, $user, $mdp, $db, $etab_id;     // pour connexion à la base
//récupérer les données de l'élève pour les afficher
$resele=query("SELECT nom,prenom,dnaiss,classe_id, uid
               FROM eleves WHERE eleve_id=".seci($eleve_id));
list($nom,$prenom,$dnaiss,$classe_id,$uid)=mysql_fetch_array($resele);
list($loginquot)=mysql_fetch_array(query("SELECT login FROM comptes WHERE eleve_id=".seci($eleve_id)));
$login=stripslashes($loginquot);
// on supprime l'élève des tables dans lesquelles il n'est plus nécessaire


query("DELETE FROM brevets WHERE eleve_id=$eleve_id");
query("DELETE FROM eleves WHERE eleve_id=$eleve_id");
query("DELETE FROM lien_eleves_classes WHERE eleve_id=$eleve_id");
query("DELETE FROM lien_eleves_disciplines WHERE eleve_id=$eleve_id");
query("DELETE FROM comptes WHERE eleve_id=$eleve_id");
$resdem=query("SELECT message_id FROM demandes WHERE eleve_id=$eleve_id");
while (list($message_id)=mysql_fetch_array($resdem)) {
      query("DELETE FROM reponses WHERE message_id=$message_id");
}
query("DELETE FROM demandes WHERE eleve_id=$eleve_id");
query("UPDATE eleves SET etab_id=-etab_id WHERE eleve_id=".seci($eleve_id));
suppr_resultats($eleve_id);
message('Suppression effectuée.',$eleve_id,$classe_id,$nom,$prenom,$dnaiss,$login,$uid);
}

function message($m,$eleve_id,$classe_id,$nom,$prenom,$dnaiss,$login,$uid) {
$resclasse=query("SELECT divcod FROM classes WHERE classe_id=$classe_id");
list($divcod)=mysql_fetch_array($resclasse);

$t=array('id'=>$eleve_id,'Nom'=>$nom,'Prénom'=>$prenom,
         'Date de naissance'=>$dnaiss,'Classe'=>$divcod,'Login'=>$login,'INE'=>$uid);

print "$m<br><br>";
print "<table border=1>\n";
foreach($t as $c => $v) {
  print "<tr>\n<td>$c</td>\n";
  print "<td>$v</td>\n</tr>\n";
}
print "</table>\n";
}
//*******************
//Programme principal
//*******************
//On arrive ici depuis eleves_form, après avoir cliqué sur l'un des boutons de la page :
//enregistrer, supprimer, quitter, désactiver
//include "../include/debug.php";

$continuer=true;
if (!isset($id)) $continuer=false;
elseif ($id==0)
	$eid=0; //rien, on continue, c'est une création
else {
	$eid=@$_SESSION['temp']['eleve'][(int) $id];
	if (!isset($eid)) $continuer=false;
	}

if (!$continuer) {
	print "</body></html>";
	piratage();
	exit();
	}


$cible="eleves_liste.php";
if (isset($enregistrer)) {
    $classe_change=enregistrer($eid);
    //if (($eid==0)||($classe_change==1)) 
	js("parent.liste.location.href='$cible'");
    //if ($id==0) js("refreshframe()");
	}
elseif (isset($supprimer) && $eid) {
    supprimer($eid);
    js("parent.liste.location.href='$cible'");
	}
elseif (isset($enreserve)) {
	query("UPDATE eleves SET annee=annee-1 WHERE eleve_id=$eid");
    js("parent.liste.location.href='$cible'");
	}
elseif (isset($invalider)) {
	query("UPDATE comptes SET actif=-1 WHERE eleve_id=$eid");
    js("parent.liste.location.href='$cible'");
	}
elseif (isset($revalider)) {
	query("UPDATE comptes SET actif=1 WHERE eleve_id=$eid");
    js("parent.liste.location.href='$cible'");
	}
	
echo "<br />\n";

?>
</body></html>
