package PictureGalleryObject
@ISA = qw()
sub new
my ($module) = @_;
# $this->SUPER::new(
return $this;
sub DESTROY
my $this = shift;
$this->SUPER::DESTROY(
sub Configure
my ($this, $modulename, $privilege, $privilegemakephotoalbum, $rootpath, $keyword,
$picturemask, $picturethumbnailwidth, #$imagesourcetemplate, $thumbnaillinktemplate,
$pPermittedDirs, $pBrowseFiles, $pDenyFiles,
$pSubstitutionSource, $pSubstitutionTarget,
$pURLSubstitutionList, $pURLReverseSubstitutionList,
$showdate, $showdirectory, $showparentdirectory, $showfilesize, $targetpage,
%hash) = @_;
sub GetParameterHash
my ($this, $App, $pParams) = @_;
return {};
sub IsOpen
my ($this, $App, $pParams, $IsPrint) = @_;
return if($this->{RootPath} eq '');
return $ret;
sub ShowMenu
my ($this, $App, $pParams, $ProgramPath, $BaseOption) = @_;
return 0;
sub ShowPage
my ($this, $App, $pParams, $Path, $pPrevFunc, $pPostFunc, %args) = @_;
return if(!$this->IsOpen($App, $pParams, 0));
return;
my $fmask = Utils::MakePath($pParams->{Path}, '*', '/', 0);
#$App->print("fmask[$fmask]\n");
my @files = $App->GetFileList($pParams, $fmask, 1);
#$App->print("nFiles: ", scalar @files, "\n");
my $MultiFunctionTableJScript = JSParams->new()->GetMultiFunctionalTableString('#TableTest3', sortList => '[[1,1]]', excludeColumns => '[2,3]');
my %MultiFunctionTableConfigByClass = (
id => 'TestTable3',
class => 'tablesorter'
);
# $pParams->{NextAction} = '';
# $pParams->{SubMenuFunction} = ''; #"ManageDownload::ShowSubMenu" if($pParams->{SubMenuFunction} ne '');
if($CanShowDirTreeLinkPrivilege) {
#$App->print("Path[$pParams->{Path}] RootPath[$this->{RootPath}]\n");
my $link = $this->MakeDirTreeLink($App, $pParams, $pParams->{Path});
#$App->print("link[$link]\n");
Jcode::convert(\$link, $pParams->{WebCharCode});
$App->mlPrintRawHTML('en' => "
Browse [$link]
", 'jp' => "[$link]を表示
");
}
# 写真表示
if($MakePDFFirstPageImage) {
$this->MakePDFFirstPageImage( $App, $pParams, $Path, %args, pFiles => \@files);
@files = $App->GetFileList($pParams, Utils::MakePath($pParams->{Path}, '*', '/', 0), 1);
}
$this->MakeThumbnail( $App, $pParams, $Path, %args, pFiles => \@files) if($MakeThumbnail);
$this->ShowPictureList( $App, $pParams, $Path, %args, pFiles => \@files);
$this->ShowMakeArchiveLinks($App, $pParams, $Path, %args);
# フォルダー・ファイルリスト表示
$this->SUPER::ShowPage($App, $pParams, $Path, $pPrevFunc, $pPostFunc,
MultiFunctionTableJScript => $MultiFunctionTableJScript,
pMultiFunctionTableConfig => \%MultiFunctionTableConfigByClass,
ShowDirTreeLink => 0,
pFilterFunc => sub {
my ($this, $App, $pParams, $path) = @_;
return 0 if($this->{ImageFilesRegExp} and $path =~ /$this->{ImageFilesRegExp}/i);
return 1;
sub PrintFileFunc
my ($this, $App, $pParams, $path) = @_;
sub ViewImage
my ($this, $App, $pParams) = @_;
return if(!$this->IsOpen($App, $pParams, 0));
sub MakePhotoAlbum
my ($this, $App, $pParams) = @_;
return if(!$this->IsOpen($App, $pParams, 0));
sub ShowMakeArchiveLinks
my ($this, $App, $pParams) = @_;
return if(!$this->IsOpen($App, $pParams, 0));
sub IsThumbnailFile
my ($this, $fname) = @_;
return 1 if($fname =~ /tiny-/i);
return 1 if($fname =~ /small\.[a-z]+$/i);
return 0;
sub ExecuteCommand
my ($this, $App, $pParams, $cmd, $UsePipe) = @_;
return 0;
return 1;
return 1;
return 0;
return 1;
sub MakePDFFirstPageImage
my ($this, $App, $pParams, $Path, %args) = @_;
return if(!$this->IsOpen($App, $pParams, 0));
return;
return;
return;
return;
return;
sub MakeThumbnail
my ($this, $App, $pParams, $Path, %args) = @_;
return if(!$this->IsOpen($App, $pParams, 0));
return;
return;
return;
sub ShowPictureList
my ($this, $App, $pParams, $Path, %args) = @_;
return if(!$this->IsOpen($App, $pParams, 0));
return;
sub Download
my ($this, $App, $pParams, $Path) = @_;
sub MakeShowImageLink
my ($this, $App, $pParams, $path, $label, %args) = @_;
return $link;
sub ShowImageHTML
my ($this, $App, $pParams, $Path, $border, $width, %args) = @_;
sub ShowImage
my ($this, $App, $pParams, $Path) = @_;
return if(!$this->IsOpen($App, $pParams, 0));