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 @@
+
+
+
+
+
+
+
+
Définition';
+ $definitionContent = '
';
+ $champCommentaire = '
';
+ $commentLanding = '';
+ $commentSection = '';
+
+ $balise_1 = array('glossaire' => '',
+ 'mot' => '
',
+ '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("#
(\s)*- #sU", "
- ", $intermediaire);
+ $intermediaire = preg_replace("#
(\s)*- #sU", "
- ", $intermediaire);
+ $intermediaire = preg_replace("#
(\s)*
#sU", "
", $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');
+
+
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+