From a36bd6f4555cf410712611b5efcb82fdf5898551 Mon Sep 17 00:00:00 2001 From: Andreas Unterkircher Date: Sun, 22 Jul 2007 07:31:40 +0000 Subject: [PATCH] issue46, slideshow control (rew, pause/play/stop, fwd) git-svn-id: file:///var/lib/svn/phpfspot/trunk@239 fa6a889d-dae6-447d-9e79-4ba9a3039384 --- phpfspot.class.php | 31 ++++++++++++++++++++- phpfspot.js | 36 ++++++++++++++++++++++--- resources/32_fwd.png | Bin 0 -> 1017 bytes resources/32_rew.png | Bin 0 -> 1013 bytes resources/32_stop.png | Bin 0 -> 259 bytes rpc.php | 4 +++ themes/default/templates/slideshow.tpl | 6 +++++ 7 files changed, 73 insertions(+), 4 deletions(-) create mode 100644 resources/32_fwd.png create mode 100644 resources/32_rew.png create mode 100644 resources/32_stop.png diff --git a/phpfspot.class.php b/phpfspot.class.php index 825f92d..2a28135 100644 --- a/phpfspot.class.php +++ b/phpfspot.class.php @@ -105,6 +105,7 @@ class PHPFSPOT { $this->tmpl->assign('searchfor', $_SESSION['searchfor']); $this->tmpl->assign('page_title', $this->cfg->page_title); $this->tmpl->assign('current_condition', $_SESSION['tag_condition']); + $this->tmpl->assign('template_path', 'themes/'. $this->cfg->theme_name); $_SESSION['start_action'] = $_GET['mode']; @@ -150,7 +151,6 @@ class PHPFSPOT { $this->tmpl->assign('to_date', $this->get_calendar('to')); $this->tmpl->assign('sort_field', $this->get_sort_field()); $this->tmpl->assign('content_page', 'welcome.tpl'); - $this->tmpl->assign('template_path', 'themes/'. $this->cfg->theme_name); $this->tmpl->show("index.tpl"); @@ -1666,6 +1666,12 @@ class PHPFSPOT { } // get_sort_order() + /*** + * return the next to be shown slide show image + * + * this function returns the URL of the next image + * in the slideshow sequence. + */ public function getNextSlideShowImage() { $all_photos = $this->getPhotoSelection(); @@ -1683,6 +1689,29 @@ class PHPFSPOT { } // getNextSlideShowImage() + /*** + * return the previous to be shown slide show image + * + * this function returns the URL of the previous image + * in the slideshow sequence. + */ + public function getPrevSlideShowImage() + { + $all_photos = $this->getPhotoSelection(); + + if(!isset($_SESSION['slideshow_img']) || $_SESSION['slideshow_img'] == 0) + $_SESSION['slideshow_img'] = 0; + else + $_SESSION['slideshow_img']--; + + $server_name = $_SERVER['SERVER_NAME']; + if(!isset($_SERVER['HTTPS'])) $protocol = "http"; + else $protocol = "https"; + + return $protocol ."://". $server_name . $this->cfg->web_path ."phpfspot_img.php?idx=". $all_photos[$_SESSION['slideshow_img']] ."&width=". $this->cfg->photo_width; + + } // getPrevSlideShowImage() + public function resetSlideShow() { if(isset($_SESSION['slideshow_img'])) diff --git a/phpfspot.js b/phpfspot.js index 6bc0d2c..1e074bb 100644 --- a/phpfspot.js +++ b/phpfspot.js @@ -302,9 +302,17 @@ function preloadPhotos(lbImg) { function startSlideShow() { - HTML_AJAX.grab(encodeURI('rpc.php?action=reset_slideshow')); - nextSlide(); - setInterval("nextSlide()", 3000); + if(!sliding) { + HTML_AJAX.grab(encodeURI('rpc.php?action=reset_slideshow')); + nextSlide(); + sliding = setInterval("nextSlide()", 3000); + document.getElementById('stop_ico').src = "resources/32_stop.png"; + } + else { + clearInterval(sliding); + sliding = 0; + document.getElementById('stop_ico').src = "resources/32_play.png"; + } } function nextSlide() @@ -313,6 +321,26 @@ function nextSlide() document.getElementById('slide_img').src = next_img; } +function prevSlide() +{ + prev_img = HTML_AJAX.grab(encodeURI('rpc.php?action=get_prev_slideshow_img')); + document.getElementById('slide_img').src = prev_img; +} + +function pauseSlideShow() +{ + if(!sliding_paused) { + sliding_paused = 1; + clearInterval(sliding); + document.getElementById('pause_ico').src = "resources/32_play.png"; + } + else { + sliding_paused = 0; + sliding = setInterval("nextSlide()", 3000); + document.getElementById('pause_ico').src = "resources/32_pause.png"; + } +} + function startAutoBrowse() { if(!autobrowse) { @@ -339,3 +367,5 @@ var startup = 1; var calendar_shown = 0; var calendar_mode = ''; var autobrowse = 0; +var sliding = 0; +var sliding_paused = 0; diff --git a/resources/32_fwd.png b/resources/32_fwd.png new file mode 100644 index 0000000000000000000000000000000000000000..128920e2994825131d08202acccde27ca9c49d3a GIT binary patch literal 1017 zcmVJl6^7FGAwntm5Oq?jROr@CgVMPbp%r3?*qPnl?<8yEwzNGyRfXPO9N>Oz3tiXSgb)vu!U`d(ji_nbexaC@7bWC%UFb)4OO%j9B&=Cd zBcDVNi9~#Nb9bj!(krSV0$VXVJF5f&fkzjY7B7>acM84b%*+hJ?}v|MSF=}z5KhAc z06^0;3=IugCMG8OvUjpqNKivQZed|T85|g_zxn&kD@63HVFCakrNs2~H2VAdo8s~K z_ax{{GMU_wx4gWJU@*uRmlnSyqLYRR{8iw$WefxdDx%S7sKQ$D4S+*`XI58Naqj#% z%cZ$XACjQ=QmIs#VFCcKvAKb0G>Tv__;f0jdLl2gzJamPF=cXcvZu^k_Ss5i#|e5I5A+P(__Ksu8~C=@yni^axB&{-*^XE`6a_Aq3yiU%oYU!)y}i9ls$G3DU-5tR1#C7OIy*bp8yXsDZf@>iA+EW( zS$e(RSh=O##TdI)h})AuV`HQAcs#$_Y_?YboCNT4KJM6a$KY;vUxY*lV{EP1m?a5V z%oZGXAIH&Wj(%z~nS6{fBC+$2rzi^CZa3Q6+CGw-@|0><*LNFxSApv4YWRGy<4nEdgd@fkND#1X^2LWk-9*kL3r-UsAdHQ^6j$TG8FzojdG2 ze2O#v@m{7iuRvvGB|ILFY-(!yKyJ#nRIc7B*5f_?p0yfBO$X=vi@h%D9Rl_B_2}yA zx@EW9y`1sSi}rYp11DZRk*cy+y}%j&?q6>jBxr;LT@^yql)y%G(toBjJ!06dMMRIs nW!zMv?3+aN(Ean||33Z%yc2kAXI!!Y00000NkvXXu0mjfPOafJ literal 0 HcmV?d00001 diff --git a/resources/32_rew.png b/resources/32_rew.png new file mode 100644 index 0000000000000000000000000000000000000000..d94192d3c607499db49038ea0650f775268cd5fe GIT binary patch literal 1013 zcmVuA}UxUm-2DP$;3 zokdDtm6h#9HN_FEEG|JAPlD=X1}$-yOhHv&a}@&z7P?#A;;Ny!k9VX<%K~?a1&72mWaZ!H;v`_XrS= zB>;>uWh1-s^W5Cr$EIm!i|AYw>5td0U;A!kWJKYFr#H{+I}MJA2Uh-CiAN%l17ev7 zb#--lb(GO}Q(EfVXf*0dBof5q@oYKY5ddZMjpgO#tKo3ixwyCp%?Fzw)le#f0GDpv zymfqdc$j1|nY_NX4M35eOx{oSUJhR_ORuC0X<7`!xDt!Ss%K_qNHKpU11v2q*~D`3 z;*F^r!J+67$z~rdxt7){gq-k|s;ZwwhoVB-NI%xEy~IwJvbpT=*x1-RlarHqHH47n zjFC}CM@L_nnwlb|zSv^{P{*3gY9>A~Fwm%~YF>?C7a*BTz88r^2&HseB`pe|QSDVN zrTr8RhpQGA77FSTvkAB}eTQ()x82b8BF*;E{QP{RudlCM*Y%=K3U&C7066D_>FoUU z^mO;&;2>FFU;j^6_!fYak*Yw3(TRzP!|`|=c9PO30uW5$%xq%z@c8)nu3chV?gB+t z&bb@i7h79f!6w*t1;GBVSvCRSG)4M{EX&{Y_xIb@*4B0}1DobloR=EijmJ7WJO7p{ zrQHVr0B|~-S8Hl&-U^)#VO3RCQ785F^>FCrL)HR3%*3yIpV{jPg+jmA*47r(Ns-B!o*4~yAMX^{D|DrgQ7lXmz#F6)pfX#04a-&E;xI1%qwYRUA zYgGHPkdAXsD5Gtvs;<>&kweU5uT>a+;poL!i(EPZ!6Kh{MSV60FLy29G9HeE%2A z!pz*vGWE^R^Cu4M2nY!Hz`Tov+i$v|k=WT8hKHv}ZL_wpFj$ejDnC6TLE#=F4-llE zo3pU%dud6D#1+Xa8&4VXmPkpI9$3NbCTsAjA&|YtD&Y#_Vm^sdhI3&bfAhZ&ulxHe xbh6a64VyO`Z``n{g8LJ`=SSEK*{ literal 0 HcmV?d00001 diff --git a/rpc.php b/rpc.php index d5a7e8f..b691bd8 100644 --- a/rpc.php +++ b/rpc.php @@ -121,6 +121,10 @@ class PHPFSPOT_RPC { case 'get_next_slideshow_img': print $fspot->getNextSlideShowImage(); break; + + case 'get_prev_slideshow_img': + print $fspot->getPrevSlideShowImage(); + break; } diff --git a/themes/default/templates/slideshow.tpl b/themes/default/templates/slideshow.tpl index bba5cd2..3d0ab27 100644 --- a/themes/default/templates/slideshow.tpl +++ b/themes/default/templates/slideshow.tpl @@ -5,5 +5,11 @@ slideshow_img +
+ + + + +
{include file="footer.tpl"} -- 2.34.1