Rev 345 | Rev 375 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?phpclass Text_Wiki_Render_Xhtml_Plan extends Text_Wiki_Render {/**** Renders a token into text matching the requested format.** @access public** @param array $options The "options" portion of the token (second* element).** @return string The text rendered from the token options.**/function token($options){// Initialisation des variables$bdd =& $GLOBALS['_GEN_commun']['pear_db'];$sortie = '';$sites = $options['site'];// Récupération de l'affichage ou pas des raccourcisif (isset($options['permalien'])) {$permalien = $options['permalien'];}$tab_site = array_map('trim', explode(',', $sites));foreach ($tab_site as $cle => $site) {if (count($tab_site) > 1) {$aso_site = GEN_lireInfoSitePrincipalCodeAlpha($bdd, $site, DB_FETCHMODE_ASSOC);if (!empty($aso_site['gs_titre'])) {$titre = $aso_site['gs_titre'];} else {$titre = $aso_site['gs_nom'];}$sortie .= '<h2>'.$titre.'</h2>'."\n";}$sortie .= '<ul class="plan_site_'.$site.'" >'."\n";$aso_menus = GEN_retournerTableauMenusSiteCodeAlpha($bdd, $site);$sortie .= $this->parserTableauMenus($aso_menus, $permalien);$sortie .= '</ul>'."\n";}return $sortie;}function parserTableauMenus($aso_menus, $permalien){$sortie = '';// Création de l'urlforeach ($aso_menus as $menu_id => $menu_valeur) {$sortie .= '<li>';// Création de l'url$une_url =& new Pap_URL();$une_url->setId($menu_id);// Construction de l'attribut title$title = '';if (!empty($menu_valeur['gm_titre'])) {$title = ' title="'.$menu_valeur['gm_titre'].'"';} elseif (!empty($menu_valeur['gm_titre_alternatif'])) {$title = ' title="'.$menu_valeur['gm_titre_alternatif'].'"';}// Construction du lien$sortie .= '<a href="'.$une_url->getURL().'"'.$title.'>'.$menu_valeur['gm_nom'].'</a>';// Nous affichons ou pas le permalienif ($permalien) {$une_url->setPermalien(true);$sortie .= ' <span class="plan_permalien">'.'('.$une_url->getURL().')'.'</span>';$une_url->setPermalien(false);}// Nous ajoutons les sous-menus s'il y en a.$retour = $this->parserTableauMenus($menu_valeur['sous_menus'], $permalien);if ($retour != '') {$sortie .= "\n".'<ul>'."\n".$retour."\n".'</ul>'."\n";}$sortie .= '</li>'."\n";}return $sortie;}}?>