); $c++; } elsif ( -s "$appdir/_filebank/$pfad/$datei" && $datei !~ /^__/ && $datei ne "." && $datei ne ".." ) { next if $datei eq "Thumbs.db"; my $info_text = "$file_titel{$datei}" if $file_titel{$datei}; my $title_text = "$fileinfo{$datei}"; $alttext =~ s/"/'/; my $goto_path; $goto_path = $in{imagebrowser_path}; $goto_path .= "/" unless $goto_path =~ /\/$/ || $goto_path eq ""; $goto_path =~ s/\/$//; if ( $datei =~ /(gif|jpg|jpeg)$/i) { require "mod_filebank.pl"; my $resizedfile = &filebank_get_resized( "$appdir/_filebank/$pfad/$datei" , $thumbnail_width); $resizedfile = $datei unless $resizedfile; $html_thumbnails .= qq() if $info_text ne ""; $c++; } else { my $datatype = "dummy"; $html_thumbnails .= qq(); $c++; } } if ($c >= $columns) { $html_thumbnails .= ""; $c=0; } } # Boxen auffüllen if ($c > 0) { if ($c < 5 && $c >= 0) { foreach ($c .. $columns - 1) { $html_thumbnails .= qq(); } } } $content = qq(

<% my @origvalue = @value; my $pfad = $origvalue[0]; # Vorgegebenener Pfad $pfad =~ s/\/$//g; # alle "/" entfernen return if $pfad eq ""; # aussteigen, falls Pfad leer -> Sicherheit, Unlogisch my $download_highres = $origvalue[2]; # Highres-Download erlauben my $columns = $origvalue[3] > 0 && $origvalue[3] <= 9 ? $origvalue[3] : 5; my $thumbnail_width = $origvalue[4] > 0 && $origvalue[4] <= 999 ? $origvalue[4] : 150; my $thumbnail_height = int($thumbnail_width * 0.65); my $preview_width = 450; my $press = qq(press=$in{press}) if $in{press}; my $content; my $html_thumbnails; my (@fileinfo, @dateien, @safe); $in{imagebrowser_path} =~ s/\.\.//g; # Sicherheit: "../" verhindern, aber Datumsangaben lassen $pfad .= "/$in{imagebrowser_path}/" if $in{imagebrowser_path}; my %file_titel; my %file_description; my %file_sort; local $/ = "\n"; local *FILEINFO; if ( open(FILEINFO, "$appdir/_filebank/$pfad/__") ) { @fileinfo = ; close (FILEINFO); foreach (@fileinfo) { chomp; my @finf = split(/\t/); $file_titel{$finf[0]} = $finf[3]; $file_sort{$finf[0]} = $finf[2]; $file_description{$finf[0]} = $finf[1]; } } my $html_path = qq(Bildergalerie); my $pfad_inkrementell; my $titel; my (%dir_titel,%dir_sort,%dir_description,@dirinfo,$titel); my $debug; foreach ( split(/\//, $in{imagebrowser_path}) ) { $pfad_inkrementell .= qq($_/); # eventuellen titel jedes ordners abfragen if ( open(DIRINFO, "$appdir/_filebank/$value[0]/$pfad_inkrementell/__") ) { @dirinfo = ; close (DIRINFO); foreach (@dirinfo) { chomp; my @dinf = split(/\t/); $dir_titel{$dinf[0]} = $dinf[3]; $dir_sort{$dinf[0]} = $dinf[2]; $dir_description{$dinf[0]} = $dinf[1]; } } $titel = $dir_titel{$_} ? $dir_titel{$_} : $_; $html_path .= " » "; $html_path .= qq($titel); } if ($in{imagebrowser_file}) { require "mod_filebank.pl"; my $resizedfile = &filebank_get_resized( "$appdir/_filebank/$pfad/$in{imagebrowser_file}" , $preview_width); $resizedfile = $in{imagebrowser_file} unless $resizedfile; use Image::Size; my ($x,$y,$format) = imgsize("$appdir/_filebank/$pfad/$in{imagebrowser_file}"); my $html_download; if ($download_highres) { $html_download = qq(  

»  Auflösung: ${x} x ${y} px
»  Format: $format
»  DOWNLOAD
); } #else { # $html_download = qq( #  

# »  Presse-Download
# ); #} $content = qq(
$file_titel{$in{imagebrowser_file}}

$file_description{$in{imagebrowser_file}}

$html_download  

»  ZURÜCK

); } else { local *IN; if ( opendir(IN, "$appdir/_filebank/$pfad") ) { @dateien = readdir(IN); closedir(IN); } my @ordner_nicht_zeigen = split(/,/,$origvalue[1]); my (%dir_titel,%dir_sort,%dir_description,@dirinfo,$titel); my $c; foreach my $datei ( reverse sort { $file_sort{$a} ? ( $file_sort{$b} ? ( $file_sort{$a} <=> $file_sort{$b} || $file_sort{$a} cmp $file_sort{$b} ) : -1 ) : ( $file_sort{$b} ? 1 : ( uc($a) cmp uc($b) ) ) } @dateien) { if ( -d "$appdir/_filebank/$pfad/$datei" && $datei ne "." && $datei ne ".." && $datei !~ /^__/ ) { # ordner ausblenden if ($origvalue[1]) { if (grep /\b$datei\b/,@ordner_nicht_zeigen) { next; } } # ordner-info (titel) holen und ausgeben if ( open(DIRINFO, "$appdir/_filebank/$pfad/$datei/__") ) { @dirinfo = ; close (DIRINFO); foreach (@dirinfo) { chomp; my @dinf = split(/\t/); $dir_titel{$dinf[0]} = $dinf[3]; $dir_sort{$dinf[0]} = $dinf[2]; $dir_description{$dinf[0]} = $dinf[1]; } } $titel = $dir_titel{$datei} ? $dir_titel{$datei} : $datei; my $goto_path; $goto_path = $in{imagebrowser_path}; $goto_path .= "/" unless $goto_path =~ /\/$/ || $goto_path eq ""; $goto_path .= $datei if $datei; $goto_path =~ s/\/$//; $html_thumbnails .= qq(


$titel); $html_thumbnails .= qq(
); $html_thumbnails .= qq(
$info_text

$datei
$info_text
 
$html_thumbnails
); } @value = @origvalue; my $out= qq(
$debug $html_path
$content
); %>