Пример #1
0
 function loadForm($ressource)
 {
     if (!ereg("xml", $ressource)) {
         $ressource .= ".xml";
     }
     //on crée l'objet DOM
     $this->XMLDOM = new DomDocument();
     $location = $this->session->xmlLocation;
     if (class_exists('objPlugin')) {
         $location = objPlugin::getAnEventualOtherLocationForFormx($location, $ressource);
     }
     if (!$this->XMLDOM->load($location . $ressource)) {
         $this->addErreur("Impossible de charger le fichier {$ressource}");
         return '';
     }
     //on va verifier que la balise <val/> existe pour chaque <item/> sinon, on le crée
     foreach (formxTools::domSearch($this->getRootDom(), 'ITEM') as $item) {
         $val = '';
         if (!formxTools::isTag($item, 'Val')) {
             if (formxTools::isTag($item, 'From')) {
                 $this->makeBalVal($item, 'Val', $this->getValueFrom(formxTools::getTagValue($item, 'From')));
             } else {
                 $this->makeBalVal($item, 'Val', '');
             }
             //reinject /  creation
         }
     }
     //on crée la balise qui marque l'application qui a créé le formulaire
     $this->makeBalVal($this->XMLDOM->documentElement, 'IdApplication', $this->session->idApplication);
     //reinject /  creation
     $etapes = $this->XMLDOM->documentElement->getElementsByTagName('ETAPE');
     //liste de nodes
     //on numerote les etapes
     $i = 0;
     foreach ($etapes as $etape) {
         //par defaut on optimise
         if (!$etape->hasAttribute('optimize') || in_array($etape->getAttribute('optimize'), array('n', 'N', 'non')) || $etape->getAttribute('optimize') == '') {
             $etape->setAttribute('optimize', 'y');
         }
         $i++;
         $etape->setAttribute('no_etape', $i);
     }
     //on reporte le nombre d'etapes
     $this->XMLDOM->documentElement->setAttribute('nb_etapes', $i);
     //on le copie en objet EasyXML, plus facile à utiliser en lecture seule
     $this->updtXML();
     //on génère les balises conditionnelles explicitement lorsqu'elles sont déclarées implicitement (ShowItemsOnVal)
     $this->makeExplicitConds();
     //stockage des variables privées
     $this->idformx = $this->XMLCore['id'];
     if ((string) $this->XMLCore['access']) {
         $this->session->droit = (string) $this->XMLCore['access'];
     }
     return 'padaireur';
 }
Пример #2
0
 static function createTagValue(DOMNode $item, $tag, $value, DOMDocument $domdoc)
 {
     if (!formxTools::isTag($item, $tag)) {
         formxTools::createTag($item, $tag, $domdoc);
     }
     formxTools::setTagValue($item, $tag, $value);
 }