X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=lib%2FBackupPC%2FCGI%2FView.pm;h=335fde46450e085d018ca565edc0699e8ca5a74c;hp=c24b80d520ff5168057bcc1e6cb10f112044785b;hb=b81d2da5e16975674f011e4833337ac0fa24e0ea;hpb=ce708288691ba7dd95a8dac7a468bc0e4c1d6588
diff --git a/lib/BackupPC/CGI/View.pm b/lib/BackupPC/CGI/View.pm
index c24b80d..335fde4 100644
--- a/lib/BackupPC/CGI/View.pm
+++ b/lib/BackupPC/CGI/View.pm
@@ -28,7 +28,7 @@
#
#========================================================================
#
-# Version 2.1.0beta0, released 20 Mar 2004.
+# Version 3.0.0beta2, released 11 Nov 2006.
#
# See http://backuppc.sourceforge.net.
#
@@ -78,26 +78,28 @@ sub action
} elsif ( $type eq "ArchiveErr" ) {
$file = "$TopDir/pc/$host/ArchiveLOG$ext";
$comment = $Lang->{Extracting_only_Errors};
- } elsif ( $host ne "" && $type eq "config" ) {
- $file = "$TopDir/pc/$host/config.pl";
- $file = "$TopDir/conf/$host.pl"
- if ( $host ne "config" && -f "$TopDir/conf/$host.pl"
- && !-f $file );
- } elsif ( $type eq "docs" ) {
- $file = "$BinDir/../doc/BackupPC.html";
} elsif ( $type eq "config" ) {
- $file = "$TopDir/conf/config.pl";
+ # Note: only works for Storage::Text
+ $file = $bpc->{storage}->ConfigPath($host);
} elsif ( $type eq "hosts" ) {
- $file = "$TopDir/conf/hosts";
+ # Note: only works for Storage::Text
+ $file = $bpc->ConfDir() . "/hosts";
$linkHosts = 1;
+ } elsif ( $type eq "docs" ) {
+ $file = "$BinDir/../doc/BackupPC.html";
} elsif ( $host ne "" ) {
- $file = "$TopDir/pc/$host/LOG$ext";
+ if ( !defined($In{num}) ) {
+ # get the latest LOG file
+ $file = ($bpc->sortedPCLogFiles($host))[0];
+ } else {
+ $file = "$TopDir/pc/$host/LOG$ext";
+ }
$linkHosts = 1;
} else {
- $file = "$TopDir/log/LOG$ext";
+ $file = "$LogDir/LOG$ext";
$linkHosts = 1;
}
- if ( !$Privileged ) {
+ if ( $type ne "docs" && !$Privileged ) {
ErrorExit($Lang->{Only_privileged_users_can_view_log_or_config_files});
}
if ( !-f $file && -f "$file.z" ) {
@@ -106,7 +108,10 @@ sub action
}
my($contentPre, $contentSub, $contentPost);
$contentPre .= eval("qq{$Lang->{Log_File__file__comment}}");
- if ( defined($fh = BackupPC::FileZIO->open($file, 0, $compress)) ) {
+ if ( $file ne ""
+ && defined($fh = BackupPC::FileZIO->open($file, 0, $compress)) ) {
+
+ $fh->utf8(1);
my $mtimeStr = $bpc->timeStamp((stat($file))[9], 1);
$contentPre .= eval("qq{$Lang->{Contents_of_log_file}}");
@@ -186,16 +191,16 @@ sub action
last if ( $s eq "" );
$s =~ s/[\n\r]+//g;
# remove any passwords and user names
- $s =~ s/(SmbSharePasswd.*=.*['"]).*(['"])/$1$2/ig;
- $s =~ s/(SmbShareUserName.*=.*['"]).*(['"])/$1$2/ig;
- $s =~ s/(RsyncdPasswd.*=.*['"]).*(['"])/$1$2/ig;
- $s =~ s/(ServerMesgSecret.*=.*['"]).*(['"])/$1$2/ig;
+ $s =~ s/(SmbSharePasswd.*=.*['"]).*(['"])/$1****$2/ig;
+ $s =~ s/(SmbShareUserName.*=.*['"]).*(['"])/$1****$2/ig;
+ $s =~ s/(RsyncdPasswd.*=.*['"]).*(['"])/$1****$2/ig;
+ $s =~ s/(ServerMesgSecret.*=.*['"]).*(['"])/$1****$2/ig;
$s = ${EscHTML($s)};
$s =~ s[(\$Conf\{.*?\})][
my $c = $1;
my $s = lc($c);
$s =~ s{(\W)}{sprintf("%%%02x", ord($1) )}gxe;
- "$c"
+ "$c"
]eg;
$c .= $s . "\n";
}
@@ -216,7 +221,7 @@ sub action
return $c;
};
#
- # Documentation a different header and no pre or post text,
+ # Documentation has a different header and no pre or post text,
# so just handle it here
#
Header($Lang->{BackupPC__Documentation}, "", 0, $contentSub);