diff -r 000000000000 -r d970ebf37754 enmi12/glossaire/index.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/enmi12/glossaire/index.php Wed Nov 06 03:21:17 2013 +0000 @@ -0,0 +1,324 @@ + + + + + + + + + + + + + + + + + + + + + + + " size="35"> +
+ + + + + + + +
+ + + + + + + + + + + + +
+ '; + $definitionContent = '

'; + $champCommentaire = '

'; + $commentLanding = ''; + $commentSection = ''; + + $balise_1 = array('glossaire' => '', + 'mot' => '

$1

Copier
$5
', + 'arsIndustrialis' => '

Glossaire Arsindustrialis

' . $innerMenu . $definitionContent, + 'discipline' => '

$1

'. $innerMenu . $definitionContent, + 'intervenant' => '

$1

'. $innerMenu . $definitionContent, + 'thematique' => '

$1

'. $innerMenu . $definitionContent, + 'vulgarisation' => '

Vulgarisation

'. $innerMenu . $definitionContent, + '#text' => ''); // Tableau des balises ouvrantes + + $balise_2 = array('glossaire' => '', + 'mot' => '
', + 'arsIndustrialis' => '

' . $commentSection . '
', + 'discipline' => '

' . $commentSection . '
', + 'intervenant' => '

' . $commentSection . '
', + 'thematique' => '

' . $commentSection . '
','vulgarisation' => '

' . $commentSection . '
', + '#text' => ''); // Tableau des balises ouvrantes + + $attributs = array('mot' => 'name', + 'discipline' => 'name', + 'intervenant' => 'name', + 'thematique' => 'name', + 'vulgarisation' => 'name', + ); // Tableau des attributs + + $nom = $noeud->nodeName; + + if(!empty($contenu_a_inserer)) + { + $contenu = $contenu_a_inserer; // Si c'est le cas, on met la variable de fonction en contenu + } + else + { + $contenu = $noeud->nodeValue; + } + + $premiere_balise = $balise_1[$nom]; + + if($noeud->hasAttributes()) // On remplace les attributs (sauf pour les images) + { + $un = $noeud->attributes->getNamedItem($attributs[$nom])->nodeValue; // + $premiere_balise = str_replace("$1", $un, $premiere_balise); // On remplace la valeur $1 par celle de l'attribut + } + + if($nom == 'mot') + { + $decriptions = $noeud -> childNodes; + $tags = ''; + $wordName = $noeud -> getAttribute('name'); + $wordName = strtolower($wordName); + $wordName = removeAccents($wordName); + $wordName = strtolower($wordName); + $wordUrl = 'http://enmi12.org/glossaire/index.php?mot=' . $wordName; + + foreach($decriptions as $description) + { + + if($description->hasAttributes()) + { + $nodeAttribute = $description->getAttribute('name'); + $nodeAttribute = strtolower($nodeAttribute); + $nodeName = $description -> nodeName; + $nodeClasses = ''; + $nodeClasses .= $nodeName . ' '; + $formatedClass = removeAccents($nodeAttribute) . ' ' . $nodeName; + + $tags .= '' . $nodeAttribute . ""; + } + else + { + $nodeName = $description -> nodeName; + if($nodeName == 'arsIndustrialis'){ + $tags .= 'ArsIndustrialis'; + } + else if($nodeName == 'vulgarisation'){ + $tags .= 'Vulgarisation'; + } + } + + + + + //else // ... s'il n'en a plus ! + //{ + // //$accumulation .= parsage_normal($enfant); + //} + + } + + if(strstr($nodeClasses, 'discipline') == '') + { + $nodeClasses .= 'discipline '; + } + + $wordName = removeAccents($wordName); + $premiere_balise = str_replace("$7", $wordUrl, $premiere_balise); + $premiere_balise = str_replace("$8", $nodeClasses, $premiere_balise); + $premiere_balise = str_replace("$6", $wordName, $premiere_balise); + $premiere_balise = str_replace("$5", $tags, $premiere_balise); + } + + if($nom == 'arsIndustrialis' || $nom == 'discipline' || $nom == 'intervenant' || $nom == 'thematique'|| $nom == 'vulgarisation') + { + $classeMot = $noeud -> parentNode -> getAttribute('name'); + $classeMot = removeAccents($classeMot); + $classeMot = strtolower($classeMot); + + $premiere_balise = str_replace("$6", $classeMot, $premiere_balise); + } + + if($nom == 'image') // Cas particulier des images + + { + $un = $contenu; + $premiere_balise = str_replace("$1", $un, $premiere_balise); + + if($noeud->hasAttributes()) + + { + $deux = $noeud->attributes->getNamedItem('legende')->nodeValue; + } + else + { + $deux = 'Image'; + } + + $premiere_balise = str_replace("$2", $deux, $premiere_balise); + $intermediaire = $premiere_balise; + + } + else + { + $intermediaire = $premiere_balise . $contenu . $balise_2[$nom]; // On assemble le tout + if($nom == 'liste' or $nom == 'puce') + { + $intermediaire = preg_replace("#", $intermediaire); + } + + if($nom == 'zcode') + { + $intermediaire = nl2br($intermediaire); + } + } + return $intermediaire; + } + + function parsage_enfant($noeud) + { + if(!isset($accumulation)) + { + $accumulation = ''; + } + + $enfants_niv1 = $noeud->childNodes; + + foreach($enfants_niv1 as $enfant) + { + if($enfant->hasChildNodes() == true) + { + $accumulation .= parsage_enfant($enfant); // Dans ce cas, on revient sur parsage_enfant + } + else // ... s'il n'en a plus ! + { + $accumulation .= parsage_normal($enfant); + } + } + return parsage_normal($noeud, $accumulation); + } + + function parsage($document) + { + $document_xml = new DomDocument(); + $document_xml->load($document); + $elements = $document_xml->getElementsByTagName('glossaire'); + $resultat_html = ''; + $arbre = $elements->item(0); + + $resultat_html = parsage_enfant($arbre); + + return $resultat_html; + } + + echo parsage('mots.xml'); + + + ?> + + + + + + + + + + + + + + +