# Craig Barratt <cbarratt@users.sourceforge.net>
#
# 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
#
#========================================================================
#
-# Version 2.1.0_CVS, released 3 Jul 2003.
+# Version 3.2.0, released 31 Jul 2010.
#
# See http://backuppc.sourceforge.net.
#
package BackupPC::CGI::Browse;
use strict;
+use Encode qw/decode_utf8/;
use BackupPC::CGI::Lib qw(:all);
use BackupPC::View;
use BackupPC::Attrib qw(:all);
#
# 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};
}
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});
if ( $dir eq "" || $dir eq "." || $dir eq ".." ) {
$attr = $view->dirAttrib($num, "", "");
$attr = $view->dirAttrib($num, $share, $relDir);
if ( !defined($attr) ) {
+ $relDir = decode_utf8($relDir);
ErrorExit(eval("qq{$Lang->{Can_t_browse_bad_directory_name2}}"));
}
}
my $dirName = $f;
$dirName =~ s/ / /g;
+ $dirName = decode_utf8($dirName);
push(@DirStr, {needTick => 1,
tdArgs => " class=\"$tdStyle\"",
link => <<EOF});
$a->{type});
my $modeStr = sprintf("0%o", $a->{mode} & 07777);
$iconStr = <<EOF;
-<img src="$Conf{CgiImageDirURL}/icon-$typeStr.gif" align="center">
+<img src="$Conf{CgiImageDirURL}/icon-$typeStr.png" valign="top">
EOF
$attrStr .= <<EOF;
<td align="center" class="fviewborder">$typeStr</td>
$attrStr .= "<td colspan=\"5\" align=\"center\" class=\"fviewborder\"> </td>\n";
}
(my $fDisp = "${EscHTML($f)}") =~ s/ / /g;
+ $fDisp = decode_utf8($fDisp);
if ( $gotDir ) {
$fileStr .= <<EOF;
<tr><td class="fviewborder">
}
}
$share = $currDir;
- my $dirDisplay = "$share/$dir";
+ my $dirDisplay = decode_utf8("$share/$dir");
$dirDisplay =~ s{//+}{/}g;
$dirDisplay =~ s{/+$}{}g;
$dirDisplay = "/" if ( $dirDisplay eq "" );
}
$filledBackup .= eval("qq{$Lang->{Visit_this_directory_in_backup}}");
}
+ $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();