X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=lib%2FBackupPC%2FCGI%2FSummary.pm;h=697ec523571290231dd76a406897d02f5c00509e;hp=0706b6209b394ea54a401f85ddcaa0f45660c1e3;hb=refs%2Ftags%2Fv3_2_0;hpb=329e870f56fb6572fa697998d33676588034c149 diff --git a/lib/BackupPC/CGI/Summary.pm b/lib/BackupPC/CGI/Summary.pm index 0706b62..697ec52 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-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 @@ -28,7 +28,7 @@ # #======================================================================== # -# Version 2.1.0_CVS, released 3 Jul 2003. +# Version 3.2.0, released 31 Jul 2010. # # See http://backuppc.sourceforge.net. # @@ -45,18 +45,23 @@ sub action $strNone, $strGood, $hostCntGood, $hostCntNone); $hostCntGood = $hostCntNone = 0; - GetStatusInfo("hosts"); + GetStatusInfo("hosts info"); my $Privileged = CheckPermission(); - if ( !$Privileged ) { - ErrorExit($Lang->{Only_privileged_users_can_view_PC_summaries} ); - } - foreach my $host ( sort(keys(%Status)) ) { - my($fullDur, $incrCnt, $incrAge, $fullSize, $fullRate, $reasonHilite); + foreach my $host ( GetUserHosts(1) ) { + 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(); + + next if ( $Conf{XferMethod} eq "archive" ); + next if ( !$Privileged && !CheckPermission($host) ); + for ( my $i = 0 ; $i < @Backups ; $i++ ) { if ( $Backups[$i]{type} eq "full" ) { $fullCnt++; @@ -74,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 = ""; @@ -91,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)} - ${UserLink(defined($Hosts->{$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++; @@ -125,10 +162,11 @@ 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}); - Header($Lang->{BackupPC__Server_Summary}); - print eval ("qq{$Lang->{BackupPC_Summary}}"); - + my $content = eval ("qq{$Lang->{BackupPC_Summary}}"); + Header($Lang->{BackupPC__Server_Summary}, $content); Trailer(); }