X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=lib%2FBackupPC%2FCGI%2FSummary.pm;h=012ae0e3f5e1575089e128b9825b4296536f24e4;hp=bd7f52ebf89efa084d11a3e60527372e5cffc035;hb=1015740e2b58fc43d7cf49881f190a9612e73fff;hpb=df717077755b9331fa245f72933ef03add7a3710 diff --git a/lib/BackupPC/CGI/Summary.pm b/lib/BackupPC/CGI/Summary.pm index bd7f52e..012ae0e 100644 --- a/lib/BackupPC/CGI/Summary.pm +++ b/lib/BackupPC/CGI/Summary.pm @@ -10,7 +10,7 @@ # Craig Barratt # # 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 3.0.0beta1, released 30 Jul 2006. +# Version 3.2.0beta0, released 29 Mar 2009. # # See http://backuppc.sourceforge.net. # @@ -45,15 +45,16 @@ sub action $strNone, $strGood, $hostCntGood, $hostCntNone); $hostCntGood = $hostCntNone = 0; - GetStatusInfo("hosts"); + GetStatusInfo("hosts info"); my $Privileged = CheckPermission(); foreach my $host ( GetUserHosts(1) ) { - my($fullDur, $incrCnt, $incrAge, $fullSize, $fullRate, $reasonHilite); + my($fullDur, $incrCnt, $incrAge, $fullSize, $fullRate, $reasonHilite, + $lastAge, $tempState, $tempReason, $lastXferErrors); my($shortErr); my @Backups = $bpc->BackupInfoRead($host); my $fullCnt = $incrCnt = 0; - my $fullAge = $incrAge = -1; + my $fullAge = $incrAge = $lastAge = -1; $bpc->ConfigRead($host); %Conf = $bpc->Conf(); @@ -78,6 +79,16 @@ sub action $incrSizeTot += $Backups[$i]{size} / (1024 * 1024); } } + if ( $fullAge > $incrAge && $fullAge >= 0 ) { + $lastAge = $fullAge; + } else { + $lastAge = $incrAge; + } + if ( $lastAge < 0 ) { + $lastAge = ""; + } else { + $lastAge = sprintf("%.1f", (time - $lastAge) / (24 * 3600)); + } if ( $fullAge < 0 ) { $fullAge = ""; $fullRate = ""; @@ -95,28 +106,50 @@ sub action $incrTot += $incrCnt; $fullSize = sprintf("%.2f", $fullSize / 1000); $incrAge = " " if ( $incrAge eq "" ); + $lastXferErrors = $Backups[@Backups-1]{xferErrs} if ( @Backups ); $reasonHilite = $Conf{CgiStatusHilightColor}{$Status{$host}{reason}} || $Conf{CgiStatusHilightColor}{$Status{$host}{state}}; + if ( $Conf{BackupsDisable} == 1 ) { + if ( $Status{$host}{state} ne "Status_backup_in_progress" + && $Status{$host}{state} ne "Status_restore_in_progress" ) { + $reasonHilite = $Conf{CgiStatusHilightColor}{Disabled_OnlyManualBackups}; + $tempState = "Disabled_OnlyManualBackups"; + $tempReason = ""; + } else { + $tempState = $Status{$host}{state}; + $tempReason = $Status{$host}{reason}; + } + } elsif ($Conf{BackupsDisable} == 2 ) { + $reasonHilite = $Conf{CgiStatusHilightColor}{Disabled_AllBackupsDisabled}; + $tempState = "Disabled_AllBackupsDisabled"; + $tempReason = ""; + } else { + $tempState = $Status{$host}{state}; + $tempReason = $Status{$host}{reason}; + } $reasonHilite = " bgcolor=\"$reasonHilite\"" if ( $reasonHilite ne "" ); - if ( $Status{$host}{state} ne "Status_backup_in_progress" - && $Status{$host}{state} ne "Status_restore_in_progress" + if ( $tempState ne "Status_backup_in_progress" + && $tempState ne "Status_restore_in_progress" + && $Conf{BackupsDisable} == 0 && $Status{$host}{error} ne "" ) { ($shortErr = $Status{$host}{error}) =~ s/(.{48}).*/$1.../; $shortErr = " ($shortErr)"; } $str = < ${HostLink($host)} +${HostLink($host)} ${UserLink(defined($Hosts->{$host}) ? $Hosts->{$host}{user} : "")} - $fullCnt - $fullAge - $fullSize - $fullRate - $incrCnt - $incrAge - $Lang->{$Status{$host}{state}} - $Lang->{$Status{$host}{reason}}$shortErr + $fullCnt + $fullAge + $fullSize + $fullRate + $incrCnt + $incrAge + $lastAge + $Lang->{$tempState} + $lastXferErrors + $Lang->{$tempReason}$shortErr EOF if ( @Backups == 0 ) { $hostCntNone++; @@ -129,6 +162,8 @@ EOF $fullSizeTot = sprintf("%.2f", $fullSizeTot / 1000); $incrSizeTot = sprintf("%.2f", $incrSizeTot / 1000); my $now = timeStamp2(time); + my $DUlastTime = timeStamp2($Info{DUlastValueTime}); + my $DUmaxTime = timeStamp2($Info{DUDailyMaxTime}); my $content = eval ("qq{$Lang->{BackupPC_Summary}}"); Header($Lang->{BackupPC__Server_Summary}, $content);