Exemple #1
0
 public function set($var, $val, $isSave = false)
 {
     $this->isModif = true;
     foreach (formxTools::domSearch(formxTools::domGetRoot($this->dom), 'ITEM') as $item) {
         if ($item->getAttribute('id') == $var) {
             try {
                 formxTools::domSetTagValue($item, 'Val', $val);
                 if ($isSave) {
                     $this->save();
                 }
                 return true;
             } catch (Exception $e) {
                 eko("attention");
             }
         }
     }
     //eko('pas trouve');
     //si on est encore là c'est qu'on a pas trouvé la balise.on va la créer
     //TODO découpler ci dessous
     $bal = $this->dom->createElement('ITEM');
     $this->dom->getElementsByTagName('GLOBVARS')->item(0)->appendChild($bal);
     $bal->setAttribute('id', $var);
     formxTools::createTagValue($bal, 'Val', $val, $this->dom);
     if ($isSave) {
         $this->save();
     }
     return true;
 }
Exemple #2
0
 public function makeBalVal($item, $bal = 'Val', $val, $xmlobj = '')
 {
     if (!$xmlobj) {
         $xmlobj = $this->XMLDOM;
     }
     formxTools::createTagValue($item, $bal, $val, $xmlobj);
     return;
     //On regarde si la balise  existe
     $hasValBal = '';
     //eko("je set ".$item->getAttribute("id")." à ".$val);
     foreach ($item->childNodes as $child) {
         if ($child->nodeName == $bal) {
             $hasValBal = 'y';
             break;
         }
     }
     //si elle existe pas on la crée
     if (!$hasValBal) {
         $BalVal = $xmlobj->createElement($bal);
         $item->appendChild($BalVal);
     }
     //suppression  des caracteres interdits
     $conv = array('§' => '');
     $val = strtr($val, $conv);
     //on regle le pb du caractere &
     $val = preg_replace("#&(?!(amp|lt|gt);)#U", "&", $val);
     //On donne la bonne valeur à la balise
     $item->getElementsByTagName($bal)->item(0)->nodeValue = utf8_encode($val);
     //eko("nouvelle valeur: ".$item->getElementsByTagName($bal)->item(0)->nodeValue);
 }