function wikiplugin_slider($data, $params) { global $tikilib, $headerlib; extract($params, EXTR_SKIP); $headerlib->add_jsfile('vendor/jquery/plugins/anythingslider/js/swfobject.js'); $headerlib->add_jsfile('vendor/jquery/plugins/anythingslider/js/jquery.anythingslider.js'); $headerlib->add_jsfile('vendor/jquery/plugins/anythingslider/js/jquery.anythingslider.fx.js'); $headerlib->add_jsfile('vendor/jquery/plugins/anythingslider/js/jquery.anythingslider.video.js'); $headerlib->add_cssfile('vendor/jquery/plugins/anythingslider/css/anythingslider.css'); $headerlib->add_cssfile('vendor/jquery/plugins/anythingslider/css/theme-construction.css'); $headerlib->add_cssfile('vendor/jquery/plugins/anythingslider/css/theme-cs-portfolio.css'); $headerlib->add_cssfile('vendor/jquery/plugins/anythingslider/css/theme-metallic.css'); $headerlib->add_cssfile('vendor/jquery/plugins/anythingslider/css/theme-minimalist-round.css'); $headerlib->add_cssfile('vendor/jquery/plugins/anythingslider/css/theme-minimalist-square.css'); if (isset($theme) && !empty($theme)) { switch (strtolower($theme)) { case 'construction': case 'portfolio': case 'metallic': case 'minimalist-round': case 'minimalist-square': $theme = $theme; break; default: $theme = 'default'; } } else { $theme = 'default'; } $animationtime = (int) $animationtime; $animationtime = empty($animationtime) === false ? $animationtime : 600; $delay = (int) $delay; $delay = empty($delay) === false ? $delay : 3000; $showmultiple = (int) $showmultiple; $showmultiple = empty($showmultiple) === false ? $showmultiple : 1; $headerlib->add_jq_onready("function formatText(i, p) {\n\t\t\tvar possibleText = \$('.tiki-slider-title').eq(i - 1).text();\n\t\t\treturn (possibleText ? possibleText : 'slide_' + i);\n\t\t}\n\n\t\t\$('.tiki-slider').anythingSlider({\n\t\t\ttheme : '{$theme}',\n\t\t\texpand : " . makeBool($expand, false) . ",\n\t\t\tresizeContents : " . makeBool($resizecontents, true) . ",\n\t\t\tshowMultiple : {$showmultiple},\n\t\t\teasing : 'swing',\n\n\t\t\tbuildArrows : " . makeBool($buildarrows, true) . ",\n\t\t\tbuildNavigation : " . makeBool($buildnavigation, true) . ",\n\t\t\tbuildStartStop : " . makeBool($buildstartstop, true) . ",\n\n\t\t\ttoggleArrows : " . makeBool($togglearrows, false) . ",\n\t\t\ttoggleControls : " . makeBool($togglecontrols, false) . ",\n\n\t\t\tstartText : 'Start',\n\t\t\tstopText : 'Stop',\n\t\t\tforwardText : '»',\n\t\t\tbackText : '«',\n\t\t\ttooltipClass : 'tooltip',\n\n\t\t\t// Function\n\t\t\tenableArrows : " . makeBool($enablearrows, true) . ",\n\t\t\tenableNavigation : " . makeBool($enablenavigation, true) . ",\n\t\t\tenableStartStop : " . makeBool($enablestartstop, true) . ",\n\t\t\tenableKeyboard : " . makeBool($enablekeyboard, true) . ",\n\n\t\t\t// Navigation\n\t\t\tstartPanel : 1,\n\t\t\tchangeBy : 1,\n\n\t\t\t// Slideshow options\n\t\t\tautoPlay : " . makeBool($autoplay, false) . ",\n\t\t\tautoPlayLocked : " . makeBool($autoplaylocked, false) . ",\n\t\t\tautoPlayDelayed : " . makeBool($autoplaydelayed, false) . ",\n\t\t\tpauseOnHover : " . makeBool($pauseonhover, true) . ",\n\t\t\tstopAtEnd : " . makeBool($stopatend, false) . ",\n\t\t\tplayRtl : " . makeBool($playrtl, false) . ",\n\n\t\t\t// Times\n\t\t\tdelay : {$delay},\n\t\t\tresumeDelay : 15000,\n\t\t\tanimationTime : {$animationtime},\n\n\t\t\t// Video\n\t\t\tresumeOnVideoEnd : " . makeBool($resumeonvideoend, true) . ",\n\t\t\taddWmodeToObject : 'opaque',\n\n\t\t\tnavigationFormatter: formatText\n\t\t});"); if (!empty($titles)) { $titles = $tikilib->parse_data($titles, array('suppress_icons' => true)); $titles = explode('|', $titles); } $sliderData = array(); if (!empty($data)) { $data = $tikilib->parse_data($data, array('suppress_icons' => true)); $data = preg_replace('/<p>\\/\\/\\/\\/\\/\\s*<\\/p>/', '/////', $data); // remove surrounding <p> tags on slide boundaries $sliderData = explode('/////', $data); } $ret = ''; foreach ($sliderData as $i => $slide) { $ret .= "<div>\n\t\t\t" . (isset($titles[$i]) ? "<span class='tiki-slider-title' style='display: none;'>" . $titles[$i] . "</span>" : "") . "\n\t\t\t{$slide}\n\t\t</div>"; } return <<<EOF \t~np~<div class='tiki-slider' style='width: {$width}; height: {$height};'>{$ret}</div>~/np~ EOF; }
function wikiplugin_slider($data, $params) { global $tikilib, $headerlib; extract($params, EXTR_SKIP); $headerlib->add_jsfile('lib/jquery/anythingslider/js/swfobject.js'); $headerlib->add_jsfile('lib/jquery/anythingslider/js/jquery.anythingslider.js'); $headerlib->add_jsfile('lib/jquery/anythingslider/js/jquery.anythingslider.fx.js'); $headerlib->add_jsfile('lib/jquery/anythingslider/js/jquery.anythingslider.video.js'); $headerlib->add_cssfile('lib/jquery/anythingslider/css/anythingslider.css'); $headerlib->add_cssfile('lib/jquery/anythingslider/css/theme-construction.css'); $headerlib->add_cssfile('lib/jquery/anythingslider/css/theme-cs-portfolio.css'); $headerlib->add_cssfile('lib/jquery/anythingslider/css/theme-metallic.css'); $headerlib->add_cssfile('lib/jquery/anythingslider/css/theme-minimalist-round.css'); $headerlib->add_cssfile('lib/jquery/anythingslider/css/theme-minimalist-square.css'); if (isset($theme) && !empty($theme)) { switch (strtolower($theme)) { case 'construction': case 'portfolio': case 'metallic': case 'minimalist-round': case 'minimalist-square': $theme = $theme; break; default: $theme = 'default'; } } else { $theme = 'default'; } $headerlib->add_jq_onready( "function formatText(i, p) { var possibleText = $('.tiki-slider-title').eq(i - 1).text(); return (possibleText ? possibleText : i); } $('.tiki-slider').anythingSlider({ theme : '$theme', expand : ".makeBool($expand, false).", resizeContents : ".makeBool($resizecontents, true).", showMultiple : false, easing : 'swing', buildArrows : ".makeBool($buildarrows, true).", buildNavigation : ".makeBool($buildnavigation, true).", buildStartStop : ".makeBool($buildstartstop, true).", toggleArrows : ".makeBool($togglearrows, false).", toggleControls : ".makeBool($togglecontrols, false).", startText : 'Start', stopText : 'Stop', forwardText : '»', backText : '«', tooltipClass : 'tooltip', // Function enableArrows : ".makeBool($enablearrows, true).", enableNavigation : ".makeBool($enablenavigation, true).", enableStartStop : ".makeBool($enablestartstop, true).", enableKeyboard : ".makeBool($enablekeyboard, true).", // Navigation startPanel : 1, changeBy : 1, // Slideshow options autoPlay : ".makeBool($autoplay, false).", autoPlayLocked : ".makeBool($autoplaylocked, false).", autoPlayDelayed : ".makeBool($autoplaydelayed, false).", pauseOnHover : ".makeBool($pauseonhover, true).", stopAtEnd : ".makeBool($stopatend, false).", playRtl : ".makeBool($playrtl, false).", // Times delay : 3000, resumeDelay : 15000, animationTime : 600, // Video resumeOnVideoEnd : ".makeBool($resumeonvideoend, true).", addWmodeToObject : 'opaque', navigationFormatter: formatText });" ); $titles = array(); if (!empty($titles)) { $titles = $tikilib->parse_data($titles, array('suppress_icons' => true)); $titles = explode('|', $titles); } $sliderData = array(); if (!empty($data)) { $data = $tikilib->parse_data($data, array('suppress_icons' => true)); $sliderData = explode('/////', $data); } $ret = ''; foreach ($sliderData as $i => $slide) { $ret .= "<div> ".(isset($titles[$i]) ? "<span class='tiki-slider-title' style='display: none;'>".$titles[$i]."</span>" : "")." $slide </div>"; } return <<<EOF ~np~<div class='tiki-slider' style='width: $width; height: $height;'>$ret</div>~/np~ EOF; }