<?php /* http://www.cyaneus.net By Cárlisson Galdino <bardo@swissinfo.org> This cookbook for PmWiki 2 uses S5 http://www.meyerweb.com/eric/tools/s5/ Installing: Download S5 and uncompress it to pub/s5 folder in your "Farm" directory Using: Include this (slideshow.php) file in your config.php. Create a page using "!" titles-1level to define slides and then access the page with action=slideshow History 1.2: added contribution by JonHaupt */ $SlidesSkin = "pmwiki"; # Slideshow skin list global $SlideShowSkinList; SDVA($SlideShowSkinList, array ( 'pmwiki' => 'pmwiki', 'blue' => 'blue', 'flower' => 'flower', 'pixel' => 'pixel', 'pretty' => 'pretty', )); # ?theme= to specify a particular theme on display if(isset($_REQUEST['theme'])) { if (@$SlideShowSkinList[$_REQUEST['theme']]) { $SlidesSkin = ($_REQUEST['theme']); } } else { if (! @$SlideShowSkinList[$SlidesSkin]) { $SlidesSkin = "pmwiki"; } } SDV($HandleActions['slideshow'],'HandleSlides'); Markup('slide','_begin','/\(:RSS *(.+):\)/e',"RSS('\$1')"); SDV($SlideList,array()); SDV($SlideShowFmt, '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>$Title</title> <!-- metadata --> <meta name="generator" content="S5" /> <meta name="version" content="S5 1.1" /> <!-- configuration parameters --> <meta name="defaultView" content="slideshow" /> <meta name="controlVis" content="hidden" /> <!-- style sheet links --> <link rel="stylesheet" href="$FarmPubDirUrl/s5/ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> <link rel="stylesheet" href="$FarmPubDirUrl/s5/ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> <link rel="stylesheet" href="$FarmPubDirUrl/s5/skins/$SlidesSkin/skin.css" type="text/css" media="screen" id="themeStyle" /> <link rel="stylesheet" href="$FarmPubDirUrl/s5/ui/default/print.css" type="text/css" media="print" id="slidePrint" /> <link rel="stylesheet" href="$FarmPubDirUrl/s5/ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> <!-- embedded styles --> <style type="text/css" media="all"> .imgcon {width: 525px; margin: 0 auto; padding: 0; text-align: center;} #anim {width: 270px; height: 320px; position: relative; margin-top: 0.5em;} #anim img {position: absolute; top: 42px; left: 24px;} img#me01 {top: 0; left: 0;} img#me02 {left: 23px;} img#me04 {top: 44px;} img#me05 {top: 43px;left: 36px;} </style> <!-- S5 JS --> <script src="$FarmPubDirUrl/s5/ui/default/slides.js" type="text/javascript"></script> </head> <body> <div class="layout"> <div id="controls"><!-- DO NOT EDIT --></div> <div id="currentSlide"><!-- DO NOT EDIT --></div> <div id="header"></div> <div id="footer"> <h1>PmWiki Slideshow - running from <a href="$PageUrl">$WikiTitle</a></h1> <h2>Powered by <a href="http://www.meyerweb.com/eric/tools/s5/" title="A Simple Standards-Based Slide Show System">S5</a></h2> </div> </div> <div class="presentation">'); SDV($SlideSoloFmt,' <div class="slide"> $SlideContent </div>'); SDV($HandleSlideShowFmt,array(&$SlideShowFmt,&$SlideList,'</div></body></html>')); function HandleSlides($pagename, $auth = 'read') { global $SlideShowFmt, $SlideSoloFmt, $SlideList,$RssItemFmt, $HandleSlideShowFmt,$FmtV,$ScriptUrl,$Group,$Name; $t = ReadTrail($pagename,$pagename); $page = RetrieveAuthPage($pagename, $auth, false, READPAGE_CURRENT); if (!$page) Abort("?cannot read $pagename"); $cbgmt = $page['time']; $source = $page['text']; $number_of_items = preg_match_all('/\n\!([\ \w].*)/', $source, $titles); // get the number of items and the dates $body_of_items = preg_split('/\n\!([\ \w].*)/', $source); // get the number of items and the dates $titles = $titles[0]; for ($i = 0; $i < $number_of_items; $i++) { $FmtV['$SlideContent'] = MarkupToHTML($pagename, $titles[$i] . "\n" . $body_of_items[$i + 1]); $SlideList[] = FmtPageName($SlideSoloFmt, $pagename); } PrintFmt($pagename,$HandleSlideShowFmt); exit(); } ?>