<?php
/*
$Id: peripheriquetout.class.php,v 1.7 2008-04-04 14:58:42 fgiva Exp $
*/
require_once ("formulaireparc.class.php");
require_once ("peripherique.class.php");

class peripheriquetout extends peripherique {

var $obligatoire;

function peripheriquetout($id,&$db,$DEBUG,$nature) {
  parent::constructeur($id,$db,$DEBUG);
  if (isset($nature)) $this->nature=$nature;
  else $this->nature='tout';
} // fin constructeur

function setvalF($val){
  parent::setvalF($val);
  $this->valF['numero'] = $val['numero'];  //ajout 
  $this->valF['idstation'] = $val['idstation'];  //pour preserver test verifier de periphnonaffect
  $this->valF['idutilisateur'] = $val['idutilisateur'];  //ces champs sont mis à 0 par fonction java
  $this->valF['idservice'] = $val['idservice'];          //onchange etat de peripherique.class si necessaire
  $this->valF['idbatiment'] = $val['idbatiment'];        //
  $this->valF['boitierext'] = $val['boitierext'];
  $this->valF['nomelement'] = $val['nomelement'];
}

function setType(&$form,$maj) {   //modele,fournisseur,bc,dateachat,numserie à vérouiller
  parent::setType($form,$maj); 
  $form->setType('numero', 'hiddenstatic');
  if ($maj == 1) { //modif: autoriser affectation (creation interdite)
/*    $modeleperiph=$this->val[array_search('typeelement',$this->champs)];
    $numero=$this->val[array_search('numero',$this->champs)];*/
    $form->setType('dateatelier', 'hiddenstaticdate');
/*    switch ($modeleperiph) {
    case "imprimante":
    case "copieur":
      $form->setType('idservice', 'select');
      $form->setType('idbatiment', 'select');
      if ($numero<>"")
        $this->obligatoire="service";
      //else*/
      $form->setType('boitierext', 'select');
/*    case "clavier":
    case "souris":
    case "ecran":
    case "enceintes":
    case "scanner":
    case "lecteurcarte":
    case "lecteurzip":
    case "stationaccueil":
    case "tablette":
    case "webcam":*/
      $form->setType('idstation', 'select');
/*      if (is_null($this->obligatoire)) $this->obligatoire="station";
      break;
    case "telephone":
    case "fax": */
      $form->setType('nomelement', 'text');  //select
/*    case "organiseur":
    case "videoprojecteur":
    case "appareilphoto":
    case "camescope":
    case "memoireflash":
    case "disqueext":
    case "telephone":
    case "fax":*/
      $form->setType('utilisateur', 'text');  //select
      $form->setType('idutilisateur','selectliste');
      $form->setType('idservice', 'select');
      $form->setType('idbatiment', 'select');
/*      $this->obligatoire="service";
      break;
    case "elementactif":
    case "modem":
    case "routeur":
      $form->setType('idbatiment', 'select');
      $this->obligatoire="batiment";
    }*/
  }
}

function setSelect(&$form, $maj,$db,$debug) {
  include ("../dyn/connexion.php");
  include ("../sql/".$dsn['phptype']."/".$this->table.".form.inc");
  parent::setSelect($form, $maj,$db,$debug);
  if($maj<2){
/*    if ($maj==1) {  //si maj à 1 seulement (car sinon typeelement="")
      $modeleelement=$this->val[array_search('typeelement', $this->champs)]; 
      $sql= str_replace("%MODELE%",$modeleelement,$sql_autremodele);
      $form->setSelect("idmodele",$this->selectArray($db,$sql,0," Choisir un modèle"));
    }*/
//    if ($form->type["idutilisateur"]=="select")
//      $form->setSelect("idutilisateur",$this->selectArray($db,$sql_utilisateur,0," Aucun"));
    if ($form->type["idservice"]=="select") 
      $form->setSelect("idservice",$this->selectArray($db,$sql_service,0," Aucun"));
    if ($form->type["idbatiment"]=="select") 
      $form->setSelect("idbatiment",$this->selectArray($db,$sql_batiment,0," Aucun"));
    if ($form->type["idstation"]=="select") 
      $form->setSelect("idstation",$this->selectArray($db,$sql_station,0," Aucune"));
    $contenu=array();
    $contenu[0]=array('f','v');
    $contenu[1]=array('Non','Oui');
    $form->setSelect("boitierext",$contenu);
  }
}

function setLib(&$form,$maj) {
  parent::setLib($form,$maj);
  $form->setLib('idutilisateur','');
  $form->setLib('utilisateur','Affecté à l\'utilisateur');
  $form->setLib('idservice','Affecté au service');
  $form->setLib('idbatiment','Affecté au batiment');
  $form->setLib('idstation','Affecté à la station');
  $form->setLib('dateatelier','Date de retrait');
  $form->setLib('boitierext','Boitier Jet-Direct/copieur');
  $form->setLib('nomelement','Nom/Numero Tel.');
}

function setTaille(&$form,$maj){
$form->setTaille('idutilisateur', 3);
$form->setTaille('utilisateur', 30);
}

function verifier(&$db){
  // obligatoire     
  parent::verifier($db);
  if($this->valF['numserie']=="" && $this->valF['numero']=="") {  //verifier noserie present (si numero absent)
    $this->correct=false;
    $this->msg= $this->msg."<br>NoSérie ou numéro obligatoire";
  }
  if ($this->valF['idetatelement']==1){
     //si affectation, verifier qu'au moins 1 id <> 0
    if ($this->valF['idutilisateur']==0 && $this->valF['idservice']==0 && $this->valF['idbatiment']==0 && $this->valF['idstation']==0) {
      $this->correct=false;
      $this->msg= $this->msg."<br>Selectionner une affectation!";
    }
  } else {
     //si non affectation, verifier tout id = 0
    if (!($this->valF['idutilisateur']==0 && $this->valF['idservice']==0 && $this->valF['idbatiment']==0 && $this->valF['idstation']==0)) {
      $this->correct=false;
      $this->msg= $this->msg."<br>Vous avez choisi une affectation!";
    }
  }
}

function setRegroupe(&$form,$maj,&$db,$idx){
  parent::setRegroupe($form,$maj,$db,$idx);
  if ($maj<2) {
    $form->setRegroupe('utilisateur','D','Affectation');
    $form->setRegroupe('idservice','G','');
    $form->setRegroupe('idutilisateur','G','');
    $form->setRegroupe('idbatiment','G','');
    $form->setRegroupe('idetatelement','G','');
    $form->setRegroupe('idstation','F','');
  }
}

}// fin de classe
?>