X-Git-Url: https://defaria.com/gitweb/?a=blobdiff_plain;f=maps%2Flib%2FMAPSLog.pm;h=433de2b6d5d8502bccd1125f3b018ff582fddc90;hb=8d6e59ba7728e19d42da1533b9f24d0216867899;hp=4a869543975a2d4c00134379d3fad3adfbabcfb3;hpb=16babf81ce331af378de565ba73e927ff5491f65;p=clearscm.git diff --git a/maps/lib/MAPSLog.pm b/maps/lib/MAPSLog.pm index 4a86954..433de2b 100644 --- a/maps/lib/MAPSLog.pm +++ b/maps/lib/MAPSLog.pm @@ -17,23 +17,19 @@ package MAPSLog; use strict; use warnings; -use FindBin; +use base qw(Exporter); use MAPS; -use MAPSUtil; -use vars qw(@ISA @EXPORT); -use Exporter; +use DateUtils; +use Utils; -@ISA = qw (Exporter); - -@EXPORT = qw ( +our @EXPORT = qw ( Debug Error GetStats Info Logmsg - getstats @Types ); @@ -52,16 +48,18 @@ sub nbr_msgs($) { return FindEmail($sender); } # nbr_msgs -sub GetStats(;$$) { - my ($nbr_days, $date) = @_; +sub GetStats(%) { + my (%params) = @_; + + CheckParms(['userid'], \%params); - $nbr_days ||= 1; - $date ||= Today2SQLDatetime(); + $params{days} ||= 1; + $params{date} ||= Today2SQLDatetime; my %dates; - while ($nbr_days > 0) { - my $ymd = substr $date, 0, 10; + while ($params{days} > 0) { + my $ymd = substr $params{date}, 0, 10; my $sod = $ymd . ' 00:00:00'; my $eod = $ymd . ' 23:59:59'; @@ -70,50 +68,56 @@ sub GetStats(;$$) { for (@Types) { my $condition = "type=\'$_\' and (timestamp > \'$sod\' and timestamp < \'$eod\')"; - # Not sure why I need to qualify countlog - $stats{$_} = MAPS::countlog($condition); + $stats{$_} = MAPS::CountLogDistinct( + userid => $params{userid}, + column => 'sender', + additional => $condition, + ); } # for $dates{$ymd} = \%stats; - $date = SubtractDays $date, 1; - $nbr_days--; + $params{date} = SubtractDays $params{date}, 1; + $params{days}--; } # while return %dates } # GetStats -sub Logmsg($$$) { - my ($type, $sender, $msg) = @_; +sub Logmsg(%) { + my(%params) = @_; - # Todo: Why do I need to specify MAPS:: here? - MAPS::AddLog($type, $sender, $msg); + CheckParms(['userid', 'type', 'message'], \%params); - return; + # TODO Why do I need to qualify this? + return MAPS::AddLog(%params); } # logmsg -sub Debug($) { - my ($msg) = @_; - - Logmsg('debug', '', $msg); +sub Debug(%) { + my (%params) = @_; - return; + return Logmsg( + userid => $params{userid}, + type => 'debug', + message => $params{message}); } # Debug -sub Error($) { - my ($msg) = @_; - - Logmsg('error', '', $msg); - - return; -} # Error +sub Error(%) { + my (%params) = @_; -sub Info($) { - my ($msg) = @_; + return Logmsg( + userid => $params{userid}, + type => 'error', + message => $params{message}); + } # Error - Logmsg('info', '', $msg); +sub Info(%) { + my (%params) = @_; - return; + return Logmsg( + userid => $params{userid}, + type => 'info', + message => $params{message}); } # info 1;