/* * +----------------------------------+ * Nom du Filtre : decouper_en_page * +----------------------------------+ * Date : mardi 28 janvier 2003 * Auteur : "gpl" : gpl@macplus.org * +-------------------------------------+ * 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; if (empty($artsuite)) $artsuite = 0; $page = split('-----', $texte); $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) { return $texte; } $p_prec = $artsuite - 1; $p_suiv = $artsuite + 1; $uri_art = generer_url_article($GLOBALS['id_article']); $uri_art .= strpos($uri_art, '?') ? '&' : '?'; 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 = "