3.1.0 changes:
[BackupPC.git] / lib / BackupPC / CGI / DirHistory.pm
index 728068f..b880c11 100644 (file)
@@ -10,7 +10,7 @@
 #   Craig Barratt  <cbarratt@users.sourceforge.net>
 #
 # COPYRIGHT
-#   Copyright (C) 2003  Craig Barratt
+#   Copyright (C) 2003-2007  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 2.1.0_CVS, released 3 Jul 2003.
+# Version 3.1.0, released 25 Nov 2007.
 #
 # See http://backuppc.sourceforge.net.
 #
@@ -40,6 +40,7 @@ use strict;
 use BackupPC::CGI::Lib qw(:all);
 use BackupPC::View;
 use BackupPC::Attrib qw(:all);
+use Encode;
 
 sub action
 {
@@ -61,7 +62,7 @@ sub action
     ErrorExit($Lang->{Empty_host_name}) if ( $host eq "" );
 
     my @Backups = $bpc->BackupInfoRead($host);
-    my $view = BackupPC::View->new($bpc, $host, \@Backups);
+    my $view = BackupPC::View->new($bpc, $host, \@Backups, {inode => 1});
     my $hist = $view->dirHistory($share, $dir);
     my($backupNumStr, $backupTimeStr, $fileStr);
 
@@ -71,7 +72,8 @@ sub action
         ErrorExit($Lang->{Nice_try__but_you_can_t_put});
     }
 
-    for ( $i = 0 ; $i < @Backups ; $i++ ) {
+    my @backupList = $view->backupList($share, $dir);
+    foreach $i ( @backupList ) {
        my $backupTime  = timeStamp2($Backups[$i]{startTime});
        my $num = $Backups[$i]{num};
        $backupNumStr  .= "<td align=center><a href=\"$MyURL?action=browse"
@@ -84,10 +86,11 @@ sub action
        my %inode2name;
        my $nameCnt = 0;
        (my $fDisp  = "${EscHTML($f)}") =~ s/ /&nbsp;/g;
-       $fileStr   .= "<tr><td align=\"left\"  class=\"histView\">$fDisp</td>";\r
-       my($colSpan, $url, $inode, $type);\r
-       my $tdClass = ' class="histView"';\r
-       for ( $i = 0 ; $i < @Backups ; $i++ ) {
+        $fDisp      = decode_utf8($fDisp);
+       $fileStr   .= "<tr><td align=\"left\"  class=\"histView\">$fDisp</td>";
+       my($colSpan, $url, $inode, $type);
+       my $tdClass = ' class="histView"';
+       foreach $i ( @backupList ) {
            my($path);
            if ( $colSpan > 0 ) {
                #
@@ -110,16 +113,16 @@ sub action
                    $colSpan++;
                    next;
                }
-               $fileStr .= "<td align=center colspan=$colSpan$tdClass>"\r
+               $fileStr .= "<td align=center colspan=$colSpan$tdClass>"
                          . "$url</td>";
                $colSpan = 0;
-               $tdClass = ' class="histView"';\r
+               $tdClass = ' class="histView"';
            }
            if ( !defined($hist->{$f}[$i]) ) {
                $colSpan = 1;
                $url     = "&nbsp;";
                $inode   = -3;                  # special value for missing
-               $tdClass = ' class="histViewMis"';\r
+               $tdClass = ' class="histViewMis"';
                next;
            }
             if ( $dir eq "" ) {
@@ -155,18 +158,18 @@ EOF
            $colSpan = 1;
        }
        if ( $colSpan > 0 ) {
-           $fileStr .= "<td align=center colspan=$colSpan$tdClass>$url</td>";\r
+           $fileStr .= "<td align=center colspan=$colSpan$tdClass>$url</td>";
            $colSpan = 0;
        }
        $fileStr .= "</tr>\n";
     }
 
-    my $dirDisplay = "$share/$dir";
+    my $dirDisplay = decode_utf8("$share/$dir");
     $dirDisplay =~ s{//+}{/}g;
     $dirDisplay =~ s{/+$}{}g;
     $dirDisplay = "/" if ( $dirDisplay eq "" );
-    my $content = eval("qq{$Lang->{DirHistory_for__host}}");\r
-    Header(eval("qq{$Lang->{DirHistory_backup_for__host}}"), $content);\r
+    my $content = eval("qq{$Lang->{DirHistory_for__host}}");
+    Header(eval("qq{$Lang->{DirHistory_backup_for__host}}"), $content);
     Trailer();
 }