Example #1
0
 public function __construct($util, $get = null)
 {
     parent::__construct($util);
     $this->model();
     $model = new Model();
     $this->setViewMenu();
     if (isset($get["vers"])) {
         $vers = $get["vers"];
     } else {
         $vers = 1;
     }
     if (isset($get["depuis"])) {
         $depuis = $get["depuis"];
     } else {
         $depuis = 1;
     }
     if (isset($get["numsitu"])) {
         $numsitu = $get["numsitu"];
     } else {
         $numsitu = 0;
     }
     if (isset($get["commenter"])) {
         $commenter = $get["commenter"];
     } else {
         $commenter = "N";
     }
     if (isset($get["modif"])) {
         $modif = $get["modif"];
     } else {
         $modif = "n";
     }
     //debut enregistrements
     if (isset($get["enregistrer"]) || $modif == "o") {
         //cliqué bouton enregistrer ou changement onglet
         switch ($depuis) {
             case 1:
                 //écran description
                 if ($this->util->estEtudiant()) {
                     $lc = $this->ha($get["libcourt"]);
                     $de = $this->ha($get["description"]);
                     $pa = $this->ha($get["lieu"]);
                     $lo = $this->ha($get["localisation"]);
                     $so = $this->ha($get["source"]);
                     $ca = $this->ha($get["cadre"]);
                     $dd = $this->dteusa($this->ha($get["datedebut"]));
                     $df = $this->dteusa($this->ha($get["datefin"]));
                     if ($this->nbJ($dd, $df) < 0) {
                         $df = $dd;
                     }
                     $ty = $this->ha($get["typedecrit"]);
                     $te = $this->ha($get["techno"]);
                     $ac = $this->ha($get["acteur"]);
                     $sg = $this->ha($get["situoblig"]);
                     $to = array();
                     if ($sg == "O" && isset($get["typologie"])) {
                         $to = $get["typologie"];
                     }
                     $av = $this->ha($get["avisperso"]);
                     $ideleve = $this->util->getId();
                     if ($numsitu == 0) {
                         //enregistrer données
                         $numsitu = $model->setDescription($lc, $de, $pa, $lo, $so, $ca, $to, $dd, $df, $ty, $te, $ac, $av, $ideleve);
                     } else {
                         //modifier les données
                         $model->updateDescription($numsitu, $lc, $de, $pa, $lo, $so, $ca, $to, $dd, $df, $ty, $te, $ac, $av);
                     }
                 }
                 break;
             case 2:
                 //écran caractérisation
                 if ($this->util->estEtudiant()) {
                     $activchoisies = $get["lesactivschoisies"];
                     $model->gereActivChoisie($numsitu, $activchoisies);
                 }
                 break;
             case 3:
                 //saisie reformulation
                 if ($this->util->estEtudiant()) {
                     $lescom = $get["comm"];
                     $idact = $get["idact"];
                     for ($i = 0; $i < count($lescom); $i++) {
                         $model->enregReformul($numsitu, $this->ha($lescom[$i]), $idact[$i]);
                     }
                 }
                 break;
             case 4:
                 // productions
                 if ($this->util->estEtudiant()) {
                     $de = $get["designation"];
                     // tableau de désignations
                     $ad = $get["adresse"];
                     // tableau des adresses
                     $codeP = $get["codeP"];
                     //tableau des codes productions
                     if (isset($get["chksup"])) {
                         $chksup = $get["chksup"];
                     } else {
                         $chksup = null;
                     }
                     //les tableaux ont la même taille, sauf chksup
                     $nb = count($de);
                     for ($i = 0; $i < $nb - 1; $i++) {
                         $model->updateProduction($numsitu, $codeP[$i], $this->ha($de[$i]), $this->ha($ad[$i]));
                     }
                     if ($de[$nb - 1] != "") {
                         $model->ajouteProduction($numsitu, $this->ha($de[$nb - 1]), $this->ha($ad[$i]));
                     }
                     for ($i = 0; $i < count($chksup); $i++) {
                         $model->supprProduction($numsitu, $chksup[$i]);
                     }
                 }
                 break;
             case 5:
                 //commentaires prof(s)
                 if ($commenter == "P" && $this->util->estProf()) {
                     if ($numsitu > 0) {
                         $txt = $this->ha($get["commnew"]);
                         if ($txt != '') {
                             $model->setCommentaire($numsitu, $txt, $this->util->getId());
                         }
                         if (isset($get["chksup"])) {
                             $model->supprCommentaire($get["chksup"]);
                         }
                         if (isset($get["comm"])) {
                             $model->majCommentaire($get["commref"], $get["comm"]);
                         }
                     }
                 }
                 break;
         }
     }
     //fin gestion du bouton enregistrer
     //pr�paration donn�es ihm � afficher
     switch ($vers) {
         case 1:
             //donn�es situation
             $data = array("typesitu" => $model->getTypeSitu(), "localisation" => $model->getLocalisation(), "source" => $model->getSource(), "cadre" => $model->getCadre(), "type" => $model->getType(), "typologie" => $model->getTypologie());
             if ($numsitu != 0) {
                 $data["lasitu"] = $model->getSitu1($numsitu);
             }
             break;
         case 2:
             //s�lection activit�s
             $data = array("typeactiv" => $model->getActivites(), "lescomp" => $model->getCompetences());
             if ($numsitu != 0) {
                 $data["lasitu"] = $model->getSitu3($numsitu);
                 $data["lesactiv"] = $model->getSitu2($numsitu);
             }
             break;
         case 3:
             //ecran reformulation activit�(s) par �l�ve
             if ($numsitu != 0) {
                 $data["lasitu"] = $model->getSitu3($numsitu);
             }
             $data["lesactiv"] = $model->getSitu4($numsitu);
             break;
         case 4:
             //saisie productions
             $data = array();
             if ($numsitu != 0) {
                 $data["lasitu"] = $model->getSitu3($numsitu);
                 $data["lesprod"] = $model->getProd($numsitu);
             }
             break;
         case 5:
             //saisie ou affichage commentaires profs
             $data = array();
             if ($numsitu != 0) {
                 $data["lasitu"] = $model->getSitu3($numsitu);
                 $data["lescomm"] = $model->getCommentaire($numsitu);
                 $data["idprof"] = $this->util->getId();
             }
             break;
     }
     //fin pr�parations sp�cifiques
     //pour toutes les ihm :
     $data["etudiant"] = $model->getAuteurSitu($numsitu);
     $model->close();
     $data["numsitu"] = $numsitu;
     $data["commenter"] = $commenter;
     $data["auth"] = $this->util->estAuthent();
     //appel page sp�cifique avec $data
     $this->view->init('saisie' . $vers . '.php', $data);
     $this->setViewBas();
 }