package BrowseFilesObject @ISA = qw() sub Name return $ModuleName; sub Explanation return $ModuleExplanation; sub Privilege return $Privilege; sub new my ($module) = @_; # $this->SUPER::new( return $this; sub DESTROY my $this = shift; $this->SUPER::DESTROY( sub FindRootPath my ($this, $App, $pParams, $p) = @_; return $path if(-d $path); return undef; sub Configure my ($this, $modulename, $privilege, $rootpath, $keyword, $pPermittedDirs, $pBrowseFiles, $pDenyFiles, $pSubstitutionSource, $pSubstitutionTarget, $pURLSubstitutionList, $pURLReverseSubstitutionList, $showdate, $showdirectory, $showparentdirectory, $showfilesize, $targetpage, %args) = @_; sub GetParameterHash my ($this, $App, $pParams) = @_; return {}; sub IsOpen my ($this, $App, $pParams, $IsPrint) = @_; return 0 if($this->{RootPath} eq ''); return $App->HasPrivilege($this->{Privilege}, $IsPrint); sub ShowMenu my ($this, $App, $pParams, $ProgramPath, $BaseOption) = @_; return 0; sub HasInformation my ($this, $App, $pParams, $path) = @_; return 1 if($path =~ /$MusicFileRegExp/i); return 0; sub MakeDirLink my ($this, $App, $pParams, $dir, $label) = @_; return '' if($dir eq '.'); return '' if($dir eq '..' and !$pParams->{ShowParentDirectory}); return $s; sub MakeEditLink my ($this, $App, $pParams, $path, $label, $pAllowedExtRegExps) = @_; return '' if(!$Passed); return '' if($path eq '.'); return '' if($path eq '..' and !$pParams->{ShowParentDirectory}); sub MakeFileLink my ($this, $App, $pParams, $path, $label) = @_; sub MakeDirTreeLink my ($this, $App, $pParams, $dir) = @_; return $s; sub PrintFileFunc my ($this, $App, $pParams, $path) = @_; sub SearchRecursive my ($this, $App, $pParams, $dir, $fmask, $func) = @_; return if(!$IsPermitted); sub SearchFile my ($this, $App, $pParams) = @_; return if(!$this->IsOpen($App, $pParams, 0)); sub { $this->PrintFileFunc($App, $pParams, sub ShowSearchForm my ($this, $App, $pParams) = @_; sub UpdateFileList my ($this, $App, $pParams, $RootPath) = @_; return if(!$App->HasPrivilege($ModifyFilePrivilege, 1)); return; return; return; return; sub BeginTable my ($this, $App, $pParams, $pHash, $pTableDef) = @_; sub ViewDetailWMAFile my ($this, $App, $pParams) = @_; return; sub ViewDetailMP3File my ($this, $App, $pParams) = @_; return; sub ViewDetailMusicFile my ($this, $App, $pParams) = @_; return $this->ViewDetailWMAFile($App, $pParams); return $this->ViewDetailMP3File($App, $pParams); sub ShowPage my ($this, $App, $pParams, $RootPath, $pPrevFunc, $pPostFunc, %args) = @_; return if(!$this->IsOpen($App, $pParams, 0)); return; sub ShowCreateHTAccessPage my ($this, $App, $pParams, $Path) = @_; return if(!$this->IsOpen($App, $pParams, 0)); return if(!$App->HasPrivilege($CreateHTAccessPrivilege, 0)); return if($Path !~ /^$pParams->{WebDocumentRoot}/); sub CreateHTAccess my ($this, $App, $pParams, $pPrevFunc, $pPostFunc) = @_; return if(!$this->IsOpen($App, $pParams, 0)); return if(!$App->HasPrivilege($CreateHTAccessPrivilege, 0)); return; return; return; return; return; return; sub ShowChangePasswordPage my ($this, $App, $pParams) = @_; return if(!$this->IsOpen($App, $pParams, 0)); return if(!$App->HasPrivilege($ChangePasswordPrivilege, 0)); return; sub ChangePassword my ($this, $App, $pParams) = @_; return if(!$this->IsOpen($App, $pParams, 0)); return if(!$App->HasPrivilege($ChangePasswordPrivilege, 0)); return; return; sub DownloadFile my ($this, $App, $pParams, $Path) = @_; sub Download my ($this, $App, $pParams, $Path) = @_; sub Download2 my ($this, $App, $pParams, $Path) = @_; return if(!$this->IsOpen($App, $pParams, 0)); return; sub IsPermitted my ($this, $App, $pParams, $Path) = @_; return ($IsPermitted, $pd, $bf, $bd, $ss, $st); sub URLSubstitution my ($this, $App, $pParams, $url) = @_; return $url; sub URLReverseSubstitution my ($this, $App, $pParams, $url) = @_; return $url;