Mail Index


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Slideshow feature in A::G



Nice!
Use r39 it works flawlessly, hehe.

Btw how do u make 5secs the default?
GallerySlideshowIntervals '5' ?


-----Original Message-----
From: Michael Legart [mailto:michael@xxxxxxxxx] 
Sent: Wednesday, August 21, 2002 3:58 AM
To: users@xxxxxxxxxxxxxxxx
Subject: Re: Slideshow feature in A::G

On Tue, Aug 20, 2002 at 11:53:20PM -0400, Charles Chao wrote:
> Mv *.tmpl to my templates directory.
> Edited http.conf and added  PerlSetVar   GallerySlideshowIntervals '3
5

Sorry about that, I forgot to add the new templates to the MANIFEST file
so they where missing in the distribution

Fixed in

http://svn.apachegallery.dk:8080/snapshots/Apache-Gallery-r39.tar.gz

could you try again?

Thanks,
Michael

> -----Original Message-----
> From: Michael Legart [mailto:michael@xxxxxxxxx] 
> Sent: Tuesday, August 20, 2002 11:35 AM
> To: users@xxxxxxxxxxxxxxxx
> Subject: Slideshow feature in A::G
> 
> Hello everybody
> 
> Someone suggested a slideshow feature in A::G which I think was a
> great idea.
> 
> I have done a little bit of hacking and did both some cleanup and
> a suggestion for a slideshow feature.
> 
> You can see it in action at
> 
> http://gallery.legart.dk/Test/IMG_2801.JPG?slideshow=5
> 
> The intervals that the user can select are configurable.
> 
> I'm not sure if it should work like this. Currently the slideshow
> stops if you change resolution or use the prev/next buttons. Another
> known bug is that you can only see the slideshow in the default 
> resolution.
> 
> Anyway, just checking if I am on the right track. What do you 
> think?
> 
> As you can see in the commit mail you have to update two
> old templates and install a couple of new ones.
> 
> The code can be downloaded at 
> 
> http://svn.apachegallery.dk:8080/snapshots/Apache-Gallery-r38.tar.gz
> 
> on this URL (http://svn.apachegallery.dk:8080/snapshots/) you
> will always be able to download the latest snapshot of Apache::Gallery
-
> a tarball gets created on each commit automaticly.
> 
> You can also make a checkout of the code directly from the server
> using a Subversion client (subversion.tigris.org)
> 
> The url for the HEAD version is
> http://svn.apachegallery.dk:8080/svn/gallery/trunk
> 
> Cheers,
> Michael
> 
> ----- Forwarded message from mil@xxxxxxxxxxxxxxx -----
> 
> From: mil@xxxxxxxxxxxxxxx
> Subject: rev 38 - in trunk: . lib/Apache templates
> To: michael@xxxxxxxxx
> Date: Tue, 20 Aug 2002 17:11:36 +0200 (CEST)
> 
> Author: mil
> Date: 2002-08-20 17:11:36 +0200 (Tue, 20 Aug 2002)
> New Revision: 38
> 
> Added:
>    trunk/templates/interval.tpl
>    trunk/templates/intervalactive.tpl
>    trunk/templates/refresh.tpl
>    trunk/templates/scaleactive.tpl
>    trunk/templates/slideshowisoff.tpl
>    trunk/templates/slideshowoff.tpl
> Modified:
>    trunk/Changes
>    trunk/README
>    trunk/UPGRADE
>    trunk/lib/Apache/Gallery.pm
>    trunk/templates/layout.tpl
>    trunk/templates/showpicture.tpl
> Log:
> Did some codecleanup and added a slideshow feature. The slideshow
stuff
> is still experimental, it is just proof of concept. 
> 
> 
> Modified: trunk/lib/Apache/Gallery.pm
>
========================================================================
> ======
> --- trunk/lib/Apache/Gallery.pm	(original)
> +++ trunk/lib/Apache/Gallery.pm	Tue Aug 20 17:11:36 2002
> @@ -88,6 +88,7 @@
>  		);
>  
>  		$tpl->assign(TITLE => "Index of: ".$uri);
> +		$tpl->assign(META => " ");
>  
>  		unless (opendir (DIR, $filename)) {
>  			show_error ($r, $!, "Unable to access directory
> $filename: $!");
> @@ -269,15 +270,22 @@
>  		my $tpl = new
> CGI::FastTemplate($r->dir_config('GalleryTemplateDir'));
>  
>  		$tpl->define(
> -			layout      => 'layout.tpl',
> -			picture     => 'showpicture.tpl',
> -			navpicture  => 'navpicture.tpl',
> -			info        => 'info.tpl',
> -			scale       => 'scale.tpl',
> -			orig        => 'orig.tpl'
> +			layout         => 'layout.tpl',
> +			picture        => 'showpicture.tpl',
> +			navpicture     => 'navpicture.tpl',
> +			info           => 'info.tpl',
> +			scale          => 'scale.tpl',
> +			scaleactive    => 'scaleactive.tpl',
> +			orig           => 'orig.tpl',
> +			refresh        => 'refresh.tpl',
> +			interval       => 'interval.tpl',
> +			intervalactive => 'intervalactive.tpl',
> +			slideshowisoff => 'slideshowisoff.tpl',
> +			slideshowoff   => 'slideshowoff.tpl'
>  		);
>  
>  		$tpl->assign(TITLE => "Viewing ".$r->uri()." at
> $image_width x $height");
> +		$tpl->assign(META => " ");
>  		$tpl->assign(RESOLUTION => "$image_width x $height");
>  		$tpl->assign(MENU => generate_menu($r));
>  		$tpl->assign(SRC => ".cache/".$cached);
> @@ -292,13 +300,16 @@
>  		@pictures = sort @pictures;
>  
>  		$tpl->assign(TOTAL => scalar @pictures);
> -		
> +
> +		my $prevpicture;
> +		my $nextpicture;
> +	
>  		for (my $i=0; $i <= $#pictures; $i++) {
>  			if ($pictures[$i] eq $picfilename) {
>  
>  				$tpl->assign(NUMBER => $i+1);
>  
> -				my $prevpicture = $pictures[$i-1];
> +				$prevpicture = $pictures[$i-1];
>  				my $displayprev = ($i>0 ? 1 : 0);
>  
>  				if
> ($r->dir_config("GalleryWrapNavigation")) {
> @@ -320,7 +331,7 @@
>  					$tpl->assign(BACK => "&nbsp");
>  				}
>  
> -				my $nextpicture = $pictures[$i+1];
> +				$nextpicture = $pictures[$i+1];
>  				if
> ($r->dir_config("GalleryWrapNavigation")) {
>  					$nextpicture = $pictures[$i ==
> $#pictures ? 0 : $i+1];
>  				}	
> @@ -373,7 +384,12 @@
>  				$tpl->assign(IMAGEURI =>
> uri_escape($r->uri(), $escape_rule));
>  				$tpl->assign(SIZE     => $size);
>  				$tpl->assign(WIDTH    => $size);
> +				if ($width == $size) {
> +					$tpl->parse(SIZES =>
> '.scaleactive');
> +				}
> +				else {
>  				$tpl->parse(SIZES => '.scale');
> +				}
>  			}
>  		}
>  
> @@ -382,6 +398,35 @@
>  			$tpl->parse(SIZES => '.orig');
>  		}
>  
> +		my @slideshow_intervals = split (/ /,
> $r->dir_config('GallerySlideshowIntervals') ?
> $r->dir_config('GallerySlideshowIntervals') : '3 5 10 15 30');
> +		foreach my $interval (@slideshow_intervals) {
> +			$tpl->assign(IMAGEURI => uri_escape($r->uri(),
> $escape_rule));
> +			$tpl->assign(SECONDS => $interval);
> +			if ($apr->param('slideshow') &&
> $apr->param('slideshow') == $interval and $nextpicture) {
> +				$tpl->parse(SLIDESHOW =>
> '.intervalactive');
> +			}
> +			else {
> +				$tpl->parse(SLIDESHOW => '.interval');
> +			}
> +		}
> +
> +		if ($apr->param('slideshow') and $nextpicture) {
> +
> +			$tpl->parse(SLIDESHOW => '.slideshowoff');
> +
> +			unless ((grep $apr->param('slideshow') == $_,
> @slideshow_intervals)) {
> +				show_error($r, "Invalid interval",
> $apr->param('slideshow')." is not an allowed interval.");
> +				return OK;
> +			}
> +
> +			$tpl->assign(INTERVAL =>
> $apr->param('slideshow'));
> +			$tpl->parse(META => '.refresh');
> +
> +		}
> +		else {
> +			$tpl->parse(SLIDESHOW => '.slideshowisoff');
> +		}
> +
>  		$tpl->parse("MAIN", ["picture", "layout"]);
>  		my $content = $tpl->fetch("MAIN");
>  
> @@ -650,7 +695,6 @@
>  
>  	$r->print(${$content});
>  
> -	return OK;
>  }
>  
>  sub generate_menu {
> @@ -858,6 +902,11 @@
>  resizing or putting the CopyrightImage on it.
>  
>  Set to 1 or 0, default is 0
> +
> +=item B<GallerySlideshowIntervals>
> +
> +With this option you can configure which intervals can be selected
for
> +a slideshow. The default is '3 5 10 15 30'
>  
>  =back
>  
> 
> Modified: trunk/UPGRADE
>
========================================================================
> ======
> --- trunk/UPGRADE	(original)
> +++ trunk/UPGRADE	Tue Aug 20 17:11:36 2002
> @@ -1,6 +1,18 @@
>  # $Author$ $Rev$
>  # $Date$
>  
> +For users upgrading from 0.4 to devel
> +
> +Remember to update the following templates:
> +templates/interval.tpl
> +templates/intervalactive.tpl
> +templates/layout.tpl
> +templates/refresh.tpl
> +templates/scaleactive.tpl
> +templates/showpicture.tpl
> +templates/slideshowisoff.tpl
> +templates/slideshowoff.tpl
> +
>  For users upgrading from 0.3 to 0.4:
>  
>  Two new options have been added, they are both optional:
> 
> Modified: trunk/Changes
>
========================================================================
> ======
> --- trunk/Changes	(original)
> +++ trunk/Changes	Tue Aug 20 17:11:36 2002
> @@ -3,6 +3,9 @@
>  
>  Revision history for Perl extension Apache::Gallery.
>  
> +	- Added slideshow feature (Me)	
> +	- Code cleanup (Me)
> +
>  0.4.1 Sun Aug 11 17:48:09 CEST 2002
>  
>  	- URI Escape image URL in the size selection URLs. (Me)
> 
> Modified: trunk/README
>
========================================================================
> ======
> --- trunk/README	(original)
> +++ trunk/README	Tue Aug 20 17:11:36 2002
> @@ -1,6 +1,3 @@
> -$Author$ $Rev$
> -$Date$
> -
>  NAME
>      Apache::Gallery - mod_perl handler to create an image gallery
>  
> @@ -59,7 +56,7 @@
>          Defines which widths images can be scaled to. Images cannot
be
>          scaled to other widths than the ones you define with this
> option.
>  
> -        The default is '640 1024 1600 2272'
> +        The default is '640 800 1024 1600'
>  
>      GalleryThumbnailSize
>          Defines the width and height of the thumbnail images.
> @@ -84,6 +81,10 @@
>  
>          Set to 1 or 0, default is 0
>  
> +    GallerySlideshowIntervals
> +        With this option you can configure which intervals can be
> selected
> +        for a slideshow. The default is '3 5 10 15 30'
> +
>  FEATURES
>      Rotate images
>          Pictures can be rotated on the fly without modifying the
> original
> @@ -116,11 +117,18 @@
>      Apache::Request
>      URI::Escape
>      Image::Info
> +    Image::Size
>      CGI::FastTemplate
>      Inline::C
>      X11 libraries (ie, XFree86)
>      Imlib2 Remember the -dev package when using rpm, deb or other
> package
>      formats!
> +BUGS
> +    Fatal errors are showed on a page with a HTTP OK return code.
This
> is
> +    because Internet Explorer will show it's own error page
otherwise.
> Is it
> +    possible to force IE to show our custom errormessage even when
> returning
> +    HTTP status code 500?
> +
>  AUTHOR
>      Michael Legart <michael@xxxxxxxxx>
>  
> @@ -137,10 +145,11 @@
>  
>  THANKS
>      Thanks to Thomas Kjaer for templates and design of
> -    http://apachegallery.dk and thanks to Thomas Eibner for patches.
> +    http://apachegallery.dk Thanks to Thomas Eibner and other for
> patches.
> +    (See the Changes file)
>  
>  SEE ALSO
>      the perl manpage, the mod_perl manpage, the Apache::Request
> manpage, the
> -    Inline::C manpage, the CGI::FastTemplate manpage, and the
> Image::Info
> -    manpage.
> +    Inline::C manpage, the CGI::FastTemplate manpage, the Image::Info
> +    manpage, and the Image::Size manpage.
>  
> 
> Added: trunk/templates/scaleactive.tpl
>
========================================================================
> ======
> --- trunk/templates/scaleactive.tpl	(original)
> +++ trunk/templates/scaleactive.tpl	Tue Aug 20 17:11:36 2002
> @@ -0,0 +1 @@
> +$SIZE
> 
> Added: trunk/templates/interval.tpl
>
========================================================================
> ======
> --- trunk/templates/interval.tpl	(original)
> +++ trunk/templates/interval.tpl	Tue Aug 20 17:11:36 2002
> @@ -0,0 +1 @@
> +<a href="$IMAGEURI?slideshow=$SECONDS">$SECONDS</a>
> 
> Added: trunk/templates/slideshowisoff.tpl
>
========================================================================
> ======
> --- trunk/templates/slideshowisoff.tpl	(original)
> +++ trunk/templates/slideshowisoff.tpl	Tue Aug 20 17:11:36 2002
> @@ -0,0 +1 @@
> +Off
> 
> Added: trunk/templates/slideshowoff.tpl
>
========================================================================
> ======
> --- trunk/templates/slideshowoff.tpl	(original)
> +++ trunk/templates/slideshowoff.tpl	Tue Aug 20 17:11:36 2002
> @@ -0,0 +1 @@
> +<a href="$IMAGEURI">Off</a>
> 
> Added: trunk/templates/refresh.tpl
>
========================================================================
> ======
> --- trunk/templates/refresh.tpl	(original)
> +++ trunk/templates/refresh.tpl	Tue Aug 20 17:11:36 2002
> @@ -0,0 +1 @@
> +<meta http-equiv="refresh" content="$INTERVAL;
> url=$URL?slideshow=$INTERVAL" />
> 
> Modified: trunk/templates/showpicture.tpl
>
========================================================================
> ======
> --- trunk/templates/showpicture.tpl	(original)
> +++ trunk/templates/showpicture.tpl	Tue Aug 20 17:11:36 2002
> @@ -9,7 +9,8 @@
>  						<center class="nav">
>  						Viewing picture $NUMBER
> of $TOTAL at $RESOLUTION pixels<br>
>              <img src="$SRC"><br>
> -            Size [ $SIZES ]
> +            Size [ $SIZES ]<br>
> +						Slideshow [ $SLIDESHOW ]
>            </center>
>          </td>
>        </tr>
> @@ -32,7 +33,7 @@
>  	  <tr>
>  	  	<td colspan="3">
>  		  <div id="gallery">
> -		    Indexed by <a
> href="http://apachegallery.dk";>Apache::Gallery</a> - Copyright &copy;
> 2001 Michael Legart - <a href="http://www.hestdesign.com/";>Hest
> Design!</a>
> +		    Indexed by <a
> href="http://apachegallery.dk";>Apache::Gallery</a> - Copyright &copy;
> 2001-2002 Michael Legart - <a href="http://www.hestdesign.com/";>Hest
> Design!</a>
>  		  </div>
>  		</td>
>  	  </tr>
> 
> Modified: trunk/templates/layout.tpl
>
========================================================================
> ======
> --- trunk/templates/layout.tpl	(original)
> +++ trunk/templates/layout.tpl	Tue Aug 20 17:11:36 2002
> @@ -5,6 +5,7 @@
>  <head>
>  	<title>$TITLE</title>
>  	<link rel="stylesheet" href="/gallery.css">
> +	$META
>  </head>
>  
>  <body>
> 
> Added: trunk/templates/intervalactive.tpl
>
========================================================================
> ======
> --- trunk/templates/intervalactive.tpl	(original)
> +++ trunk/templates/intervalactive.tpl	Tue Aug 20 17:11:36 2002
> @@ -0,0 +1 @@
> +$SECONDS
> 
> ----- End forwarded message -----