Apache-Gallery
view release on metacpan or search on metacpan
lib/Apache/Gallery.pm view on Meta::CPAN
$prevpicture = $pictures[$i-1];
my $displayprev = ($i>0 ? 1 : 0);
if ($r->dir_config("GalleryWrapNavigation")) {
$prevpicture = $pictures[$i>0 ? $i-1 : $#pictures];
$displayprev = 1;
}
if ($prevpicture and $displayprev) {
my ($orig_width, $orig_height, $type) = imgsize($path.$prevpicture);
my ($thumbnailwidth, $thumbnailheight) = get_thumbnailsize($r, $orig_width, $orig_height);
my $imageinfo = get_imageinfo($r, $path.$prevpicture, $type, $orig_width, $orig_height);
my $cached = get_scaled_picture_name($path.$prevpicture, $thumbnailwidth, $thumbnailheight);
my %nav_vars;
$nav_vars{URL} = uri_escape($prevpicture, $escape_rule);
$nav_vars{FILENAME} = $prevpicture;
$nav_vars{WIDTH} = $width;
$nav_vars{PICTURE} = uri_escape(".cache/$cached", $escape_rule);
$nav_vars{DIRECTION} = "« <u>p</u>rev";
$nav_vars{ACCESSKEY} = "P";
$tpl_vars{BACK} = $templates{navpicture}->fill_in(HASH => \%nav_vars);
}
else {
$tpl_vars{BACK} = " ";
}
$nextpicture = $pictures[$i+1];
if ($r->dir_config("GalleryWrapNavigation")) {
$nextpicture = $pictures[$i == $#pictures ? 0 : $i+1];
}
if ($nextpicture) {
my ($orig_width, $orig_height, $type) = imgsize($path.$nextpicture);
my ($thumbnailwidth, $thumbnailheight) = get_thumbnailsize($r, $orig_width, $orig_height);
my $imageinfo = get_imageinfo($r, $path.$nextpicture, $type, $thumbnailwidth, $thumbnailheight);
my $cached = get_scaled_picture_name($path.$nextpicture, $thumbnailwidth, $thumbnailheight);
my %nav_vars;
$nav_vars{URL} = uri_escape($nextpicture, $escape_rule);
$nav_vars{FILENAME} = $nextpicture;
$nav_vars{WIDTH} = $width;
$nav_vars{PICTURE} = uri_escape(".cache/$cached", $escape_rule);
$nav_vars{DIRECTION} = "<u>n</u>ext »";
$nav_vars{ACCESSKEY} = "N";
$tpl_vars{NEXT} = $templates{navpicture}->fill_in(HASH => \%nav_vars);
$tpl_vars{NEXTURL} = uri_escape($nextpicture, $escape_rule);
}
else {
$tpl_vars{NEXT} = " ";
$tpl_vars{NEXTURL} = '#';
}
}
}
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};
} elsif ($r->dir_config('GalleryCommentExifKey')) {
my $comment = decode("utf8", $imageinfo->{$r->dir_config('GalleryCommentExifKey')});
$tpl_vars{COMMENT} = encode("iso-8859-1", $comment);
} else {
$tpl_vars{COMMENT} = '';
}
my @infos = split /, /, $r->dir_config('GalleryInfo') ? $r->dir_config('GalleryInfo') : 'Picture Taken => DateTimeOriginal, Flash => Flash';
my $foundinfo = 0;
my $exifvalues;
foreach (@infos) {
my ($human_key, $exif_key) = (split " => ")[0,1];
my $value = $imageinfo->{$human_key};
if (defined($value)) {
$foundinfo = 1;
if ($exif_mode eq 'namevalue') {
my %info_vars;
$info_vars{KEY} = $human_key;
$info_vars{VALUE} = $value;
$tpl_vars{INFO} .= $templates{info}->fill_in(HASH => \%info_vars);
}
if ($exif_mode eq 'variables') {
$tpl_vars{"EXIF_".uc($exif_key)} = $value;
}
if ($exif_mode eq 'values') {
$exifvalues .= "| ".$value." ";
}
}
}
if ($exif_mode eq 'values') {
if (defined($exifvalues)) {
$tpl_vars{EXIFVALUES} = $exifvalues;
}
else {
$tpl_vars{EXIFVALUES} = "";
}
}
if ($foundcomment and !$foundinfo) {
$tpl_vars{INFO} = "";
}
if ($exif_mode ne 'namevalue') {
$tpl_vars{INFO} = "";
}
if ($exif_mode eq 'namevalue' && $foundinfo or $foundcomment) {
$tpl_vars{PICTUREINFO} = $templates{pictureinfo}->fill_in(HASH => \%tpl_vars);
unless (defined($exifvalues)) {
$tpl_vars{EXIFVALUES} = "";
}
( run in 0.691 second using v1.01-cache-2.11-cpan-524268b4103 )