Mail Index
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ApacheGallery] [PATCH] per-image comments configurable in thumbnail index pages
Hello A::G users.
My name is Ian Kluft. I live in San Jose, Calfornia (a.k.a Silicon Valley.)
I got way behind on posting pictures from trips I went on in 2004,
and needed to improve my "productivity" in putting these together.
I like what I see in Apache::Gallery.
I found A::G does a lot of what I wanted to expand my old ad-hoc image
gallery script to do. Except that it didn't do something mine already
does. Just as a matter of my style, I like to have per-image comments
on the thumbnail image pages. So I've made a patch.
I knew this had to be made configurable because it would otherwise be a
performance hit if it's something you don't use. So it's disabled by
default. Otherwise I wouldn't stand a chance of getting this accepted
into A::G. To turn it on (such as just per directory in a .htaccess
file as I do) use
PerlSetVar GalleryIndexImageComments '1'
Here's an example. (If you visit in the next few hours, you'll find
I'm still adding image comments as I prepare to announce to my friends
at AeroPAC that these pictures are finally posted.)
http://www.kluft.com/~ikluft/blackrock/aeronaut2004/
Here's my patch relative to snapshot r288...
---------------------------------------------------------------------------
diff -c -r Apache-Gallery-0.9.1-r288/lib/Apache/Gallery.pm Apache-Gallery-0.9.1-r288-ikluft/lib/Apache/Gallery.pm
*** Apache-Gallery-0.9.1-r288/lib/Apache/Gallery.pm 2004-12-09 12:22:19.000000000 -0800
--- Apache-Gallery-0.9.1-r288-ikluft/lib/Apache/Gallery.pm 2005-02-07 22:54:30.549421481 -0800
***************
*** 387,392 ****
--- 387,398 ----
HEIGHT => (grep($rotate==$_, (1, 3)) ? $thumbnailwidth : $thumbnailheight),
WIDTH => (grep($rotate==$_, (1, 3)) ? $thumbnailheight : $thumbnailwidth),
SELECT => $select_mode?'<input type="checkbox" name="selection" value="'.$file.'"> ':'',);
+ if ( $r->dir_config('GalleryIndexImageComments')) {
+ my @tmp = split (/\//, $filename);
+ my $picfilename = $file;
+ my $path = (join "/", @tmp)."/";
+ read_image_comment( $path, $picfilename, \%tpl_vars );
+ }
$tpl_vars{FILES} .= $templates{picture}->fill_in(HASH => {%tpl_vars,
%file_vars,
},
***************
*** 606,618 ****
}
my $foundcomment = 0;
! if (-f $path . '/' . $picfilename . '.comment') {
! my $comment_ref = get_comment($path . '/' . $picfilename . '.comment');
$foundcomment = 1;
- $tpl_vars{COMMENT} = $comment_ref->{COMMENT} . '<br>' if $comment_ref->{COMMENT};
- $tpl_vars{TITLE} = $comment_ref->{TITLE} if $comment_ref->{TITLE};
- } else {
- $tpl_vars{COMMENT} = '';
}
my @infos = split /, /, $r->dir_config('GalleryInfo') ? $r->dir_config('GalleryInfo') : 'Picture Taken => DateTimeOriginal, Flash => Flash';
--- 612,620 ----
}
my $foundcomment = 0;
! read_image_comment( $path, $picfilename, \%tpl_vars );
! if ( $tpl_vars{TITLE} or $tpl_vars{COMMENT}) {
$foundcomment = 1;
}
my @infos = split /, /, $r->dir_config('GalleryInfo') ? $r->dir_config('GalleryInfo') : 'Picture Taken => DateTimeOriginal, Flash => Flash';
***************
*** 1459,1464 ****
--- 1461,1479 ----
return %texttemplate_objects;
}
+ # read per-image .comment file if present
+ sub read_image_comment
+ {
+ my ( $path, $picfilename, $tpl_vars_ref ) = @_;
+ if (-f $path . '/' . $picfilename . '.comment') {
+ my $comment_ref = get_comment($path . '/' . $picfilename . '.comment');
+ $tpl_vars_ref->{COMMENT} = $comment_ref->{COMMENT} . '<br>' if $comment_ref->{COMMENT};
+ $tpl_vars_ref->{TITLE} = $comment_ref->{TITLE} if $comment_ref->{TITLE};
+ } else {
+ $tpl_vars_ref->{COMMENT} = '';
+ }
+ }
+
1;
=head1 NAME
***************
*** 1731,1736 ****
--- 1746,1759 ----
Set this option to 1 to convert underscores to spaces in the listing
of directory names.
+ =item B<GalleryIndexImageComments>
+
+ Set this option if you want per-image $COMMENT variables to work in the
+ picture.tpl template, which is used on thumbnail index pages.
+ This is disabled by default because it takes more time to read the
+ comment files for each image,
+ and should only be done if you actually want it.
+
=back
=head1 FEATURES
_______________________________________________
users mailing list
users@xxxxxxxxxxxxxxxx
http://ufo.hestdesign.com/cgi-bin/mailman/listinfo/agusers