I've adapted the slideshow handler from wikini to work in wikka. It needs two files.... Otherwise, the handler is called (as per normal) with //pagename/slide_show//. If you want to see an example page setup, go and look at http://www.wikini.net/wakka.php?wiki=DocumentationSlideShow . Insert file below as ##slide_show.php## in the handlers/page directory.... %%(php)
HasAccess("read")) { return; } else { // On teste si la page existe if (!$this->page) { return; } else { /* Exemple de page : (1) Présentation xxxxxxxxxxxxxx ===== (2) Titre ===== Diapo 2. ===== (3) Titre ===== Diapo 3. ===== (4) Titre ===== Diapo 4. ===== (5) Titre ===== Diapo 5. ===== (6) Titre ===== Diapo 6. ===== (7) Titre ===== Diapo 7. Autre exemple : ===== (1) Titre ===== Diapo 1. ===== (2) Titre ===== Diapo 2. ===== (3) Titre ===== Diapo 3. ===== (4) Titre ===== Diapo 4. ===== (5) Titre ===== Diapo 5. ===== (6) Titre ===== Diapo 6. ===== (7) Titre ===== Diapo 7. */ // // découpe la page $body_f = $this->format($this->page["body"]); $body = preg_split('/(.*

.*<\/h2>)/',$body_f,-1,PREG_SPLIT_DELIM_CAPTURE); if ($_REQUEST["debug"] == "1") print_r("
".$body."
"); // Si la première diapositive commence par un titre de niveau 1 if (preg_match('/^

.*<\/h2>/', $body_f)) $major = "0"; else $major = "1"; $user = $this->GetUser(); // echo $this->GetUser(); // On teste toutes les paramètres du handler "slide_show" ; s'il n'y en a pas, c'est le paramètre "slide=1" qui est invoqué par défaut /* switch ($_REQUEST["method"]) { case "export": export(); break; case "show": showSlide(); break; default: showSlide(); break; } */ //if ($_REQUEST["export"]) { return; } if (!$body) { return; } else { // Si on ne précise pas de paramètre, on affiche par défaut la première diapo if (!$_REQUEST["slide"] or $_REQUEST["slide"] == "1") $slide = "1"; else $slide = $_REQUEST["slide"]; // Affiche l'en-tête echo "\n"; echo "\n\n\n", "\n", "", $this->GetWakkaName(), ":", $this->GetPageTag(), "\n", "\n", "\n"; echo "\n"; // Teste s'il existe une feuille de style externe, sinon utilise des styles par défaut if (!file_exists("css/slideshow.css")) { echo "\n"; } else { echo "\n"; } echo "\n\n\n"; // Affiche le corps de la page echo "href("edit")."';\" " : "", ">\n"; // Affichage du sommaire [à compléter] /* if ($_REQUEST["sum"] == "on") { echo "\n\n"; } */ // Affichage du menu de navigation echo "
\n", "

"; if ($slide !== "1") echo "href(),"/slide_show&slide=",$_REQUEST['slide']-1,"\"><< previous", " :: href(),"/slide_show&slide=1\">[start]\n"; echo " :: "; if ($body[($slide)*2-($nb*2)+2] or $slide == "1") echo "href(),"/slide_show&slide=",$slide+1,"\">next >>\n"; echo "

\n"; echo "

"; // echo "href(),"/edit\">Editor :: "; echo "href(),"\">[end]

\n"; echo "
\n"; echo "
\n"; // Si c'est la première diapositive if ($slide == "1" and $major == "1") { echo $body[0], "

"; } // A partir de la deuxième diapositive else { echo $body[($slide*2)-($major*2)-1].$body[($slide*2)-($major*2)],"\n"; echo "\n"; } echo "
\n\n"; echo "\n", ""; } } } die (0); ?>

%% and this one as ##slideshow.css## in the directory css.... %% .slide { font-size: 160%; margin: 5%; background-color: #FFFFFF; padding: 30px; border: 1px inset; line-height: 1.5; } .slide UL, LI { font-size: 100%; } .slide LI LI { font-size: 90% } .sl_nav p { text-decoration: none; text-align: right; font-size: 80%; line-height: 0.4; } .sl_nav A { text-decoration: none; } .sl_nav a:hover { color: #CF8888 } .sum { font-size: 8px; } %%