Exemple #1
0
 public function formxGlobals($ids)
 {
     $this->ids = $ids;
     $this->isModif = false;
     $this->dom = new DomDocument("1.0", "UTF-8");
     $obReq = formxSession::getInstance()->getObjRequeteGlobals();
     $tabReq = $obReq->getGen(" ids = '{$ids}' ", 'tab');
     //on crée l'objet DOM
     if (count($tabReq) >= 1) {
         $dataxml = formxTools::decodeFromBdd($tabReq[0]['data']);
         $this->dom->loadXML($dataxml);
     } else {
         //sinon ben va bien falloir le créer
         $bal = $this->dom->createElement('GLOBVARS');
         $this->dom->appendChild($bal);
         $this->set('ids', $ids);
         $this->save(true);
     }
 }
Exemple #2
0
 function loadInstance($id_instance)
 {
     $req = $this->getSession()->getObjResultQuery();
     $param['table'] = $this->session->tableInstances;
     $param['cw'] = "WHERE id_instance = '{$id_instance}'";
     $res = $req->Execute("Fichier", "FX_getGen", $param, "ResultQuery");
     if ($res['INDIC_SVC'][2] == 1) {
         //si l'ids chargé n'est pas la même, rechargement du contructeur
         if ($this->ids != $res['ids'][0]) {
             $this->debug('Note: la classe a été instanciée avec l\'ids \'' . $this->ids . "' et doit editer un formulaire dont l'ids est " . $res['ids'][0]);
             $this->__construct($res['ids'][0], " NO_POST_THREAT");
         }
         $this->dt_modif = $res['dt_modif'][0];
         $this->libelle = $res['libelle'][0];
         $this->author = $res['author'][0];
         if (isset($res['id_application'])) {
             $this->session->idApplication = $res['id_application'][0];
         }
         //on crée l'objet DOM
         $this->XMLDOM = new DomDocument();
         //echo('<xmp>'.utf8_encode($res["data"][0]).'</xmp>');
         $a = $this->XMLDOM->loadXML(formxTools::decodeFromBdd(utf8_encode($res["data"][0])));
         if (!$a) {
             $this->addErreur("Les données XML de l'instance " . $id_instance . " sont corrompues.", "1");
             return false;
         }
         $this->getRootDom()->getElementsByTagName('ETAPE');
         //liste de nodes
         //die('ok');
         $this->debug("chargement de l'instance " . $id_instance);
         $this->makeBalVal($this->XMLDOM->documentElement, "STATUS", $res["status"][0]);
         //eko("val bal status:".$this->XMLDOM->getElementsByTagName('STATUS')->item(0)->nodeValue);
         $this->debug('<xmp>' . utf8_encode($res["data"][0]) . '</xmp>');
         //on le copie en objet EasyXML, plus facile à utiliser en lecture seule
         $this->updtXML();
         $this->updtXML();
         //print $id_instance ;
         $this->idformx = $this->XMLDOM->getElementsByTagName('FORMX')->item(0)->getAttribute('id');
         if (is_object($this->XMLDOM->documentElement->getElementsByTagName('Groupe')->item(0))) {
             $this->groupeClassement = $this->XMLDOM->documentElement->getElementsByTagName('Groupe')->item(0)->nodeValue;
         }
         $this->setIdInstance($id_instance);
         //si formulaire défini en lecture seule
         if ($this->XMLDOM->getElementsByTagName('FORMX')->item(0)->hasAttribute('closeOnLoad')) {
             $this->close();
             //si le formulaire doit disparaitre ou pas
             if ($state = $this->getAndCloseState()) {
                 formxTools::setDomState($this, $state);
                 $this->saveInstance();
             }
         }
         return true;
     } else {
         $this->addErreur("Impossible de charger l'instance '{$id_instance}' dans la table " . $param['table'] . " " . $res['INDIC_SVC'][2], "1");
         return false;
     }
 }