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); } }
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; } }