예제 #1
0
파일: clFoRmX.php 프로젝트: jeromecc/tuv2
 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
 function loadFunc($func)
 {
     $location = $this->getFxLocalPath();
     if (class_exists('objPlugin')) {
         $location = objPlugin::getAnEventualOtherLocationForFormxFunc($location, $func);
     }
     if (strpos($func, '/')) {
         $funcname = basename($func);
         require_once $location . 'functions/' . $func . '.php';
         return $funcname;
     } else {
         if (file_exists($location . 'functions/' . $func . '.php')) {
             require_once $location . 'functions/' . $func . '.php';
             return $func;
         } else {
             if (file_exists($location . 'functions/helpers/' . $func . '.php')) {
                 require_once $location . 'functions/helpers/' . $func . '.php';
                 return $func;
             } else {
                 if (file_exists($location . 'functions/getters/' . $func . '.php')) {
                     require_once $location . 'functions/getters/' . $func . '.php';
                     return $func;
                 } else {
                     if (file_exists($location . 'functions/setters/' . $func . '.php')) {
                         require_once $location . 'functions/setters/' . $func . '.php';
                         return $func;
                     }
                 }
             }
         }
     }
 }