* Added multi-level incrementals. Still needs testing.
[BackupPC.git] / lib / BackupPC / CGI / View.pm
index a17e240..172e0e1 100644 (file)
@@ -28,7 +28,7 @@
 #
 #========================================================================
 #
-# Version 2.1.0beta2, released 23 May 2004.
+# Version 3.0.0alpha, released 23 Jan 2006.
 #
 # See http://backuppc.sourceforge.net.
 #
@@ -78,23 +78,25 @@ 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 ( $type ne "docs" && !$Privileged ) {
@@ -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}}");