/* * +----------------------------------+ * Nom du Filtre : decouper_en_page * +----------------------------------+ * Date : Vendredi 6 juin 2003 * Auteur : "gpl" : gpl@macplus.org * Aurélien PIERARD : aurelien.pierard@sig.premier-ministre.fr * +-------------------------------------+ * Fonctions de ce filtre : * Il sert a présenter un article sur plusieurs pages * +-------------------------------------+ * * Pour toute suggestion, remarque, proposition d'ajout * reportez-vous au forum de l'article : * http://www.uzine.net/spip_contrib/article.php3?id_article=62 */ function decouper_en_page($texte) { global $artsuite, $var_recherche, $num_pages; if (empty($artsuite)) $artsuite = 0; // on divise la page (séparateur : "-----") $page = split('-----', $texte); // Nombre total de pages $num_pages = count($page); // Si une seule page ou numéro illégal, alors retourner tout le texte. // Cas spécial : si var_recherche positionné, tout renvoyer pour permettre à la surbrillance de fonctionner correctement. if ($num_pages == 1 || !empty($var_recherche) || $artsuite < 0 || $artsuite > $num_pages) { // On place les ancres sur les intertitres $texte = preg_replace("|\{\{\{(.*)\}\}\}|U","$0", $texte); $array = explode("#NB_TITRE_DE_MON_ARTICLE#" , $texte); $res =count($array); $i =1; $texte=$array[0]; while($i<$res){ $texte=$texte.$i.$array[$i]; $i++; } return $texte; } $p_prec = $artsuite - 1; $p_suiv = $artsuite + 1; $uri_art = generer_url_article($GLOBALS['id_article']); $uri_art .= strpos($uri_art, '?') ? '&' : '?'; // On place les ancres sur les intertitres $page[$artsuite] = preg_replace("|\{\{\{(.*)\}\}\}|U","$0", $page[$artsuite]); $array = explode("#NB_TITRE_DE_MON_ARTICLE#" , $page[$artsuite]); $res =count($array); $i =1; $page[$artsuite]=$array[0]; while($i<$res){ $page[$artsuite]=$page[$artsuite].$i.$array[$i]; $i++; } // Pagination switch (TRUE) { case ($artsuite == 0): $precedent = ""; $suivant = ">>"; break; case ($artsuite == ($num_pages-1)): $precedent = "<<"; $suivant = ""; break; default: $precedent = "<<"; $suivant = ">>"; break; } for ($i = 0; $i < $num_pages; $i++) { $j = $i; if ($i == $artsuite) { $milieu .= " " . ++$j . " "; } else { $milieu .= " " . ++$j . " "; } } // Ici, on peut personnaliser la présentation $resultat .= $page[$artsuite]; $resultat .= "

"; return $resultat; } // FIN du Filtre decouper_en_page /* * +----------------------------------+ * Nom du Filtre : Sommaire de l'article * +----------------------------------+ * Date : Vendredi 6 juin 2003 * Auteur : Noplay (noplay@altern.org) * Aurélien PIERARD : aurelien.pierard@sig.premier-ministre.fr * +-------------------------------------+ * Fonctions de ce filtre : * Cette modification permet d'afficher le sommaire de l'article * généré dynamiquement à partir du texte de l'article. Vous pouvez naviguer * dans l'article en cliquant sur les titres du sommaires. * * Tous ce qui ce trouve entre {{{ et }}} est considéré comme un titre à ajouter au sommaire de l'article. * +-------------------------------------+ * * Pour toute suggestion, remarque, proposition d'ajout * reportez-vous au forum de l'article : * http://www.uzine.net/spip_contrib/article.php3?id_article=76 */ //SOMMAIRE function sommaire_article($texte) { $artsuite = 0; $page = split('-----', $texte); $uri_art = generer_url_article($GLOBALS['id_article']); $uri_art .= strpos($uri_art, '?') ? '&' : '?'; $i=0; $texte=""; while($page[$i]){ // On ajoute une ancre aux intertitres "{{{ }}}" que l'on utilise pour créer le sommaire preg_match_all("|\{\{\{(.*)\}\}\}|U",$page[$i], $regs); $nb=1; for($j=0;$j".$regs[1][$j].", p$p
"; $nb++; } $i++; } return $texte; } // Fin du filtre sommaire