rendered paste body<?php
hook( "js_frontend", "slideshowJs" );
function slideshowJs()
{
$self= SYSTEM_URL . "plugins/displayers/slideshow/";
echo requireJs( "jquery.js", true );
echo requireJs( $self . "jquery.cycle.js" );
}
function slideshow( $project, $files, $group )
{
global $clerk;
$html= "";
$slides= "";
$totalFiles= 0;
foreach ( $files as $file => $data )
{
if ( $data['filegroup'] == $group['num'] )
{
$totalFiles++;
$width= ( $data['width'] == 0 ) ? "auto" : $data['width'];
$height= ( $data['height'] == 0 ) ? "auto" : $data['height'];
switch ( $data['type'] )
{
case "image":
$slides.= '<div class="file">
<img src="' . PROJECTS_URL . $project['slug'] . '/' . $data['file'] . '" width="' . $width . '" height="' . $height . '" alt="" />';
break;
case "viadeo":
$slides.= '<div class="file">' . mediaplayer( $data, $project );
break;
case "audio":
$slides.= '<div class="file">' . audioplayer( $data, $project );
break;
}
if ( $clerk->getSetting( "projects_hideFileInfo", 1 ) == false && ( !empty( $data['title'] ) || !empty( $data['caption'] ) ) )
{
$info= "";
$info_html= '<div class="info">
<span class="title">' . $data['title'] . '</span>
<span class="caption">' . html_entity_decode( $data['caption'] ) . '</span>';
$info_html= call_anchor( "slideshow_info", array( 'html' => $info_html, 'file' => $data ) );
$info= $info_html['html'] . '</div>';
}
$slides.= $info . '</div>';
}
$info= "";
}
if ( $totalFiles == 0 ) return;
$nav_html= <<<HTML
<div class="slideshow-nav"><span class="currentSlide">1</span>/{$totalFiles}</div>
HTML;
$nav= call_anchor( "slideshow_nav", array( "html" => $nav_html, "total_files" => $totalFiles ) );
$jquery_slideshow_opts= call_anchor( "jquery_slideshow_opts", array( 'js' => '', 'project' => $project, 'group' => $group ) );
$html= <<<HTML
<div class="slides">
{$slides}
</div>
{$nav['html']}
<script type="text/javascript" charset="utf-8">
jQuery( function($)
{
$("#{$project['slug']}-{$group['num']} .slides").cycle(
{
slideExpr: '.file',
timeout: 0,
speed: 500,
next: '#{$project['slug']}-{$group['num']} .next, #{$project['slug']}-{$group['num']} .file',
prev: '#{$project['slug']}-{$group['num']} .prev',
prevNextClick: function(isNext, index, el)
{
$("#{$project['slug']}-{$group['num']} .currentSlide").text(index + 1);
},
{$jquery_slideshow_opts['js']}
}
);
});
</script>
HTML;
return $html;
}
?>