<?php
/*
$Id: logiciel.class.php,v 1.5 2007-07-10 14:09:16 fgiva Exp $
*/
require_once ("formulaire.class.php");
require_once ("element.class.php");

class logiciel extends element {

function logiciel($id,&$db,$DEBUG) {
$this->constructeur($id,$db,$DEBUG);
} // fin constructeur

function setValsousformulaire(&$form,$maj,$validation,$idxformulaire,$retourformulaire,$typeformulaire,&$db){
if ($validation==0) {
  if ($maj == 0){
    $form->setVal('idstation', $idxformulaire);    //fixe lors ajout element à station
  }
}
if ($maj==1) {
  if ($this->val[array_search('dateatelier', $this->champs)]!="0000-00-00")
    $form->setVal('scanner', "Oui");
}
}

function setvalF($val){
  parent::setvalF($val);
  $this->valF['idstation'] = $val['idstation'];
  $this->valF['version'] = $val['version'];
  $this->valF['numserie'] = $val['numserie'];
  if ($val['scanner']=="Oui" && ($val['dateatelier']=="0000-00-00" || !$val['dateatelier']))
    $this->valF['dateatelier'] = date('y/m/d'); 
  if ($val['scanner']=="Non" && $val['dateatelier']!="0000-00-00")
    $this->valF['dateatelier'] = "0/0/0";
}

function setSelect(&$form, $maj,$db,$debug) {
  include ("../dyn/connexion.php");
  include ("../sql/".$dsn['phptype']."/".$this->table.".form.inc");
  if($maj<2){
    $contenu=array();
    $contenu[0]=array('Non','Oui');
    $contenu[1]=array('Non','Oui');
    $form->setSelect("scanner",$contenu);
    $contenu="";
    $res = $db->query($sql_modelelogiciel);
    if (DB :: isError($res))
       die($res->getMessage().$sql_modelelogiciel);
    else{
      if ($debug == 1)
        echo " la requete ".$sql_modelelogiciel." est exécutée<br>";
      $contenu[0][0]="";
      $contenu[1][0]=" Choisir un logiciel ";
      $k=1;
      while ($row=& $res->fetchRow()){
        $contenu[0][$k]=$row[0];
        $contenu[1][$k]=$row[1];
        $k++;
      }
      $res->free();
      $form->setSelect("idmodele",$contenu);
    }
  }
}

function setType(&$form,$maj) {
  parent::setType($form,$maj); 
  if ($maj < 2) { //ajouter et modifier
    $form->setType('numserie', 'text');
    $form->setType('typeelement', 'hidden');
    $form->setType('version', 'text');
    $form->setType('scanner', 'select');
  }
  if ($maj < 3) $form->setType('station', 'hiddenstatic');    //numero station
}

function setLib(&$form,$maj) {
  parent::setLib($form,$maj);
  $form->setLib('numserie','Numéro de série');
  $form->setLib('scanner','Outrepasser rapport WMI?');
}

// =================================
//         TOUT    SUPPRIMER
// =================================

function toutsupprimer($val,$idxformulaire,&$db,$DEBUG){
    $sql2="select idelement from element inner join modeleelement on element.idmodele=modeleelement.idmodele where idstation=".$idxformulaire." and classe='logiciel'";
    $res2 = $db->query($sql2);
    if (DB :: isError($res2))
      die($res2->getMessage().$sql2);
    else{
      if ($DEBUG == 1)
        echo " la requete ".$sql2." est exécutée<br>";
      while ($row=& $res2->fetchRow()) { //archivage des interv de la station
        $id=$row[0];
        $this->cleSecondaire($id,$db,$val,$DEBUG);
        $this->testverrou();
        if($this->correct) {
          $this->triggersupprimer($id,$db,$val,$DEBUG);
          if($this->typeCle=="A")
            $cle= $this->clePrimaire." = '".$id."'";
          else
            $cle= $this->clePrimaire." = ".$id;
          $sql= "delete from ".$this->table." where ".$cle;
          $res= $db->query($sql);
          if (DB :: isError($res))
            $this->erreur_db($res->getDebugInfo(),$res->getMessage(),'');
          else {
            if ($DEBUG == 1)
               echo "La requête".$sql." est effectuée.<br>";
            $this->msg=$this->msg."Enregistrement ".$id." de la table ".
            $this->table." [".$db->affectedRows()." enregistrement supprimé]" ;
            $this->verrouille(); // *** 1.16
          } // requete maj
          $this->triggersupprimerapres($id,$db,$val,$DEBUG);
        }
      }
    }
}

}// fin de classe
?>