<?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/utiljs.php");
include("../include/vars_adm.php");
include("../include/util.inc.php");
$PHP_SELF=basename($_SERVER['PHP_SELF']);
//$statut sera passé en paramètre de l'URL
opensession("Sadmin",false);
if ($sess_login=='admstats') {
	aneantir_session();
	goto("./index.php");
	}

?>
<?php
    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>modif_items</title>
   <BASE TARGET="_self">
   <link rel="stylesheet" href="../include/general.css">

</head>
<BODY class="arial_sadmin">

     <p class=titre>Modification des items</p><hr width="30%">

<?php


connecte($host, $user, $mdp, $db);

//Prévoir un choix du niveau : pré-passage 1

if (!isset($brevet_no)) {
    //Message d'avertissement
    print "<table align = center border=\"0\" width='80%'> <tr><td>";
    print "<p class='libelle_prof'>La modification des items est à manipuler avec précaution pour plusieurs raisons.
		<br>Tout d'abord, ils ont indexés dans la base, et pour refaire un référentiel, il vaut mieux modifier le fichier SQL des items.</p>";
    print "<p>Ensuite :</p>";
    print "<br>Pour le B2i, ils sont imposés<br>";
    print "<br>Pour le C2i :<br>";
    print "<ul><li>pour le niveau 1 ils sont imposés.</li>";
    print "<li>pour le niveau 2, n'est livré ici que le référentiel enseignant</li></ul>";
    print "Pour Melia :<br>";
    print "<ul><li>Tous sont déterminés au niveau du Cadre Européen</li></ul>";
    print "<p><i>Conclusion : contentez-vous de modifier quelques libellés !</i></p>";
    //print "Cette option sera donc utile pour la saisie du libellé des items du niveau 3 lorsqu'ils seront définitifs, en principe en 2004.<br />";
      print "<form name='formniv' method='post' action='".$PHP_SELF."?statut=$statut'>\n";
      print "Choisissez le niveau à modifier : ";
      print "<select name='brevet_no' value='' size='1'>\n";
      print "  <option value='1'>Cycle 2</option>\n";
      print "  <option value='2'>Cycle 3</option>\n";
      print "  <option value='3'>Collège</option>\n";
      print "</select>&nbsp;&nbsp;\n";
      print "<input type='submit' class='coul' name='btn_niv' value='Choix du Niveau'>\n";
      print "</td></tr></table></p>";
      exit;
}

if (!isset($envoi)) { //premier passage
 //  print "<p class='sous_titre' align='center'>Gestion des items<br><br></p>";
//   print "<hr>";

   print "<table border='0' align='center' width='80%'><tr><td>";
   print "<p class='libelle_prof'>";
   print "Vous pourrez ici proposer un premier niveau de simplification des items, chaque établissement pouvant ajouter des libellés personnalisés de 2° niveau.<br><br>";
   print "Choisissez la rubrique à traiter :</p>";
   print "</td></tr>";
   print "<tr><td>";

   //obtenir les rubriques du brevet $brevet_no
   $resrub=query("select rubriques.*, count(*) as nbitems ".  //nb d'items/rubrique
              "from rubriques,items ".
              "where rubriques.rub_no=items.rub_no ".
              " and brevet_no=$brevet_no ".
              "group by rubriques.rub_no ".
              "order by rubriques.rub_no;");

   $action=$PHP_SELF."?statut=$statut&brevet_no=$brevet_no";
   //print $action."<br>";
   print "<form name=\"choix_rub\" target=\"_self\" method=\"POST\" action=\"$action\"> ";
   print "<p align=\"center\">";
   print "<input type=\"hidden\" name=\"brevet_no\" value=$brevet_no>";
   print "<select name='rub_no' size=\"1\">";
   while ($rowrub=mysql_fetch_array($resrub)) {
       $nbitems=$rowrub["nbitems"];
       $rub_no=$rowrub["rub_no"];
       print "<option value=\"$rub_no\" >".$rowrub["libelle"];
       }
   print "</select>";

   print "<br><br><input type=\"submit\" class=\"coul\" name=\"envoi\" value=\"Choisir\">";
   print "</form>";
   print "</p>";
   print "</td></tr></table>";
   print "<hr>";

}  else {  //traitement du formulaire   = 2° et 3° passages

   if (!isset($sauver))     { // 2° passage formulaire
       //print "vous avez choisi la rubrique numéro $rub_no";
       //obtenir les items de la rubrique $rub_no
       $resit =query("select items.item_id, brevet_no, s_rub_no, ".
          " inst, base from items, libelles ".
          " WHERE rub_no=$rub_no AND ".
          " items.item_id=libelles.item_id ".
          " ORDER BY s_rub_no;");

         //Récupérer le libellé de la rubrique pour le titre
         $resrub=query("SELECT libelle FROM rubriques WHERE rub_no=$rub_no;");
         list($libelle)=mysql_fetch_array($resrub);

 //        print "<p class='sous_titre' align='center'>Modifications des items de \"<i><font color= 'Maroon'>$libelle</font></i>\"</p>";
          print "<p class='titre'>\"<i><font color= 'Maroon' >$libelle</font></i>\"</p>";
         $action=$PHP_SELF."?statut=$statut&envoi=$envoi";
         //print $action."<br>";
         print "<form name=\"traiter\" target=\"_self\" method=\"POST\" action=\"$action\"> ";
         print "<input type=\"hidden\" name=\"brevet_no\" value=$brevet_no>";
         //Préparation tableau
         print "<table border='1' align='center' width='100%'>";
         //print "<tr class=\"rubrique\"><td>Cochez pour supprimer</td><td>N° d'item</td><td>Libellé institutionnel</td><td>Libellé simplifié</td></tr>";
         print "<tr class=\"rubrique\"><td>N° d'item</td><td>Libellé institutionnel</td><td>Libellé simplifié 1er niveau</td></tr>";
         $nbit=0;
         while ($rowit=mysql_fetch_array($resit)) {
               $item_id=$rowit["item_id"];
               $brevet_no=$rowit["brevet_no"];
               $s_rub_no=$rowit["s_rub_no"];
               $inst=$rowit["inst"];
               $base=$rowit["base"];
               $nbit++;

               //Stockage n° item et n° de rubrique
               print  "<input type=\"hidden\" name=\"item_id[]\" value=$item_id>";
               print  "<input type=\"hidden\" name=\"rub_no\" value=$rub_no>";

               //Affichage une ligne du tableau
               print "<tr align=\"center\">\n";
               /*
               print "<td><input type=\"checkbox\"
                                 name=\"CBItem[]\" value=\"$item_id\"
                                 onclick=\"confirmation(this,'Attention, la suppression sera définitive ')\"></td>\n";
               */
               
               print "<td>$s_rub_no</td>\n";
               print "<td><textarea readonly class=\"admin\" name=\"inst[$item_id]\" rows=\"4\" cols=40  >$inst</textarea></td>\n";
               print "<td><textarea class=\"admin\" name=\"base[$item_id]\" rows=\"4\" cols=40 >$base</textarea></td>\n";
               print "</tr>";
          }
          //On rajoute une ligne vide pour rajouter un item
          /*
          print "<tr align=\"center\">\n";
          print "<td>Nouvel item ?</td>\n";


          //Afficher une combo pour placer l'item avec les autres
          print "<td><font size='-1'>placé en :<br><br></font>";
          print "<select name=\"rang_new\" size=\"1\"\n>";
          for ($k=1;$k<=$nbit;$k++) {
              print "<option value=\"$k\">$k</option>\n";
              }
              $nb=$nbit+1;
              print "<option value=\"$nb\" selected>$nb</option>\n";
          print "</select></td>\n";


          print "<td><textarea class=\"admin\" name=\"inst_new\" rows=\"4\" cols=40 ></textarea></td>\n";
          print "<td><textarea class=\"admin\" name=\"base_new\" rows=\"4\" cols=40 ></textarea></td>\n";
          print "</tr>";
            */



          //Fin tableau
          print "</table>";

          print  "<input type=\"hidden\" name=\"nb_items\" value=$nbit>";
          print "<br><p align=\"center\"><input type=\"submit\" class=\"coul\" name=\"sauver\" value=\"Sauvegarde\"></p>";
          print "</form>";
    } //fin 2° passage, tout est prêt pour faire le boulot
    else { //3° passage, entrée par le bouton sauvegarde, sauver est affecté

    //Message pour l'info finale :
    $message="";


    //On commence par supprimer s'il le faut
    if (isset($CBItem)) $nbsup=count($CBItem);
    else $nbsup=0;
    //Print "a supprimer : ".$nbsup."<br>";

    //On va sauver en même temps le nouveau num de sous rubrique
    $s_rub_no_new=1;

    for($i=0;$i<$nb_items;$i++) {
        //Recherche suppression ?
        $supprimer=false;
         for ($j=0;$j<$nbsup;$j++) {
            if($item_id[$i]==$CBItem[$j]) $supprimer=true;
            }
        if ($supprimer) {
            //Suppression item n° CBItem[$i]
            $num_sup=$item_id[$i];
            $message=$message."  Suppression item n° ".$num_sup;
            $sql_sup1="DELETE FROM items WHERE item_id=$num_sup";
            $sql_sup2="DELETE FROM demandes WHERE item_id=$num_sup";
            $sql_sup3="DELETE FROM libelles WHERE item_id=$num_sup";
            $sql_sup4="DELETE FROM resultats WHERE item_id=$num_sup";
            $sql_sup5="DELETE FROM libelles_perso WHERE item_id=$num_sup";

            //Suppression principale
            if (query($sql_sup1)) $message=$message." ... \t\t OK \n";
               else print "<br><font color='red'>la demande a échoué.</font> Essayez plus tard...";
            //print "\n<br>\n";

            //Suppression des entrées avec item_id partout ailleurs (pas de gestion d'erreur)
            for ($j=2;$j<6;$j++) {
                $req="sql_sup".$j;
                query($$req);
                }
            //Recaler les autres items vers le haut ?
            //Me semble inutile, ça se fera dessous dans la sauvegarde   ?

        } else { //Sauvegarde tous libellés
            $message=$message."  Sauvegarde libellés item n° ".$item_id[$i];

            //A faire !
            $sql_modif="UPDATE libelles ".
                       "SET inst='".secs($inst[$item_id[$i]])."', ".
                       "    base='".secs($base[$item_id[$i]])."' ".
                       "WHERE item_id=".seci($item_id[$i]);
            if (query($sql_modif))   $message=$message." ... \t OK \n";
               else print "<br><font color='red'>la demande a échoué.</font> Essayez plus tard...";

        } //Fin sauvegarde

    } //fin boucle for

    //Reste à faire l'ajout !
    /*
    if ($inst_new || $base_new) {
       $new_item_no=$nb_items+1;
       $rang_max=$nb_items-$nbsup+1;
       //print $rang_max;
       //Calculer le rang du nouveau, à décrémenter s'il y a des suppressions
       while ($rang_new>$rang_max)  {
             $rang_new--;
       }
       $message=$message."  Ajout item n° ".$new_item_no." dans la rubrique ".$rub_no." \n";
       $sql_add1="INSERT INTO items ".
                  "SET brevet_no=$brevet_no, ".
                  "    rub_no=$rub_no, ".
                  "    s_rub_no=$rang_new;";
       if (query($sql_add1)) $message=$message."  \tItem ajouté ... \t\t OK \n";
          else print "<br><font color='red'>la demande a échoué.</font> Essayez plus tard...";
       //retrouver l' item_id  généré !
       $num_item=@mysql_insert_id();

       $sql_add2= "INSERT INTO libelles ".
                  "SET item_id=$num_item, ".
                  "    inst='$inst_new', ".
                  "    base='$base_new';";
                  //les perso seront générés ailleurs !

       if (query($sql_add2)) $message=$message."  \tLibellés ajoutés ... \t\t OK \n";
          else print "<br><font color='red'>la demande a échoué.</font> Essayez plus tard...";
       //print "\n<br>\n";
       } //Fin ajout
      */

    //On affiche le tableau des résultats ???
    $resit =query("select items.item_id, brevet_no, s_rub_no, ".
          " inst, base  from items, libelles ".
          " WHERE rub_no=$rub_no AND ".
          " items.item_id=libelles.item_id ".
          " ORDER BY s_rub_no;");
    print "<p class='titre' >Résultats de vos modifications :</p>";
    $message="Travail terminé : \n"."Les items perso par établissement sont à gérer par le menu ADMIN \"items personnalisés\"\n".$message;
    alert($message);



    $action="../sadmin/sadmin_bas.php";
    //$action=$PHP_SELF."?statut=$statut&envoi=$envoi";
    print "<form name=\"fin\" target=\"_self\" method=\"POST\" action=\"$action\"> ";
    //Préparation tableau
    print "<table border='1' align='center' width='90%'>";
    print "<tr class=\"rubrique\"><td>N° d'item</td><td>Libellé institutionnel</td><td>Libellé simplifié</td></tr>";
    $nbit=0;
    while ($rowit=mysql_fetch_array($resit)) {
               $item_id=$rowit["item_id"];
               $brevet_no=$rowit["brevet_no"];
               $s_rub_no=$rowit["s_rub_no"];
               $inst=$rowit["inst"];
               $base=$rowit["base"];
               $nbit++;

               //Affichage une ligne du tableau
               print "<tr align=\"center\">\n";
               print "<td>$s_rub_no</td>\n";
               print "<td><textarea readonly=true class=\"admin\" name=\"inst[$item_id]\" rows=\"4\" cols=55 >$inst</textarea></td>\n";
               print "<td><textarea readonly=true class=\"admin\" name=\"base[$item_id]\" rows=\"4\" cols=55 >$base</textarea></td>\n";
               print "</tr>";
          }
          print "</table>";


    //Fin traitement
    print "<br><p align=\"center\"><input type=\"submit\" class=\"coul\" name=\"retour\" value=\"Retour\"></p>";
    print "</form>";
    }

}//fin 2° et 3° passages

?>

</body>
</html>
