X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=lib%2FBackupPC%2FCGI%2FBrowse.pm;h=aa52543b6ad70a86672a4664bb88563601ff38b3;hp=c16307a6709b126ee7e84655ad8e240237787ff2;hb=refs%2Fheads%2Fmaster;hpb=66d662b5a21271649aad1562bd931beab0c0deb3 diff --git a/lib/BackupPC/CGI/Browse.pm b/lib/BackupPC/CGI/Browse.pm index c16307a..aa52543 100644 --- a/lib/BackupPC/CGI/Browse.pm +++ b/lib/BackupPC/CGI/Browse.pm @@ -10,7 +10,7 @@ # Craig Barratt # # COPYRIGHT -# Copyright (C) 2003 Craig Barratt +# Copyright (C) 2003-2009 Craig Barratt # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -28,7 +28,7 @@ # #======================================================================== # -# Version 3.0.0alpha, released 23 Jan 2006. +# Version 3.2.0, released 31 Jul 2010. # # See http://backuppc.sourceforge.net. # @@ -37,7 +37,7 @@ package BackupPC::CGI::Browse; use strict; -use Encode; +use Encode qw/decode_utf8/; use BackupPC::CGI::Lib qw(:all); use BackupPC::View; use BackupPC::Attrib qw(:all); @@ -65,7 +65,7 @@ sub action # # default to the newest backup # - if ( !defined($In{num}) && defined(@Backups) ) { + if ( !defined($In{num}) && defined(@Backups) && @Backups > 0 ) { $i = @Backups - 1; $num = $Backups[$i]{num}; } @@ -80,7 +80,7 @@ sub action my $backupTime = timeStamp2($Backups[$i]{startTime}); my $backupAge = sprintf("%.1f", (time - $Backups[$i]{startTime}) / (24 * 3600)); - my $view = BackupPC::View->new($bpc, $host, \@Backups); + my $view = BackupPC::View->new($bpc, $host, \@Backups, {nlink => 1, only_increment => $In{only_increment}}); if ( $dir eq "" || $dir eq "." || $dir eq ".." ) { $attr = $view->dirAttrib($num, "", ""); @@ -107,6 +107,7 @@ sub action $attr = $view->dirAttrib($num, $share, $relDir); if ( !defined($attr) ) { + $relDir = decode_utf8($relDir); ErrorExit(eval("qq{$Lang->{Can_t_browse_bad_directory_name2}}")); } @@ -161,7 +162,7 @@ sub action push(@DirStr, {needTick => 1, tdArgs => " class=\"$tdStyle\"", link => <$imgStr $dirName +$imgStr $dirName EOF $fileCnt++; $gotDir = 1; @@ -203,7 +204,7 @@ EOF $a->{type}); my $modeStr = sprintf("0%o", $a->{mode} & 07777); $iconStr = < + EOF $attrStr .= <$typeStr @@ -221,7 +222,7 @@ EOF if ( $gotDir ) { $fileStr .= < -  $iconStr $fDisp +  $iconStr $fDisp $attrStr @@ -254,11 +255,10 @@ EOF } } $share = $currDir; - my $dirDisplay = "$share/$dir"; + my $dirDisplay = decode_utf8("$share/$dir"); $dirDisplay =~ s{//+}{/}g; $dirDisplay =~ s{/+$}{}g; $dirDisplay = "/" if ( $dirDisplay eq "" ); - $dirDisplay = decode_utf8($dirDisplay); my $filledBackup; if ( (my @mergeNums = @{$view->mergeNums}) > 1 ) { @@ -297,10 +297,16 @@ EOF my $showDate = timeStamp2($Backups[$i]{startTime}); my $backupNum = $Backups[$i]{num}; $selected = " selected" if ( $backupNum == $num ); - $otherDirs .= "\n"; + $otherDirs .= "\n"; } $filledBackup .= eval("qq{$Lang->{Visit_this_directory_in_backup}}"); } + + # XXX ASA + $filledBackup .= "
  • show only this increment"; + + $dir = decode_utf8($dir); + $share = decode_utf8($share); my $content = eval("qq{$Lang->{Backup_browse_for__host}}"); Header(eval("qq{$Lang->{Browse_backup__num_for__host}}"), $content); Trailer();