X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=C4%2FLog.pm;h=671fcdb8a468831557469d3ed188bc855013b80a;hb=1b08f924513daadaff1258659e17d5caf0a53ea4;hp=2f791deb14b86510e76e79e407ae50f181011e6c;hpb=29eadaa1f7be053c347e02825a3080ba6cbfd9db;p=koha_fer diff --git a/C4/Log.pm b/C4/Log.pm index 2f791deb14..671fcdb8a4 100644 --- a/C4/Log.pm +++ b/C4/Log.pm @@ -4,6 +4,7 @@ package C4::Log; # Copyright 2000-2002 Katipo Communications +# Copyright 2011 MJ Ray and software.coop # # This file is part of Koha. # @@ -30,7 +31,7 @@ use vars qw($VERSION @ISA @EXPORT); BEGIN { # set the version for version checking - $VERSION = 3.01; + $VERSION = 3.07.00.049; require Exporter; @ISA = qw(Exporter); @EXPORT = qw(&logaction &GetLogStatus &displaylog &GetLogs); @@ -72,6 +73,7 @@ sub logaction { # the scalar '0'. my $userenv = C4::Context->userenv(); my $usernumber = (ref($userenv) eq 'HASH') ? $userenv->{'number'} : 0; + $usernumber ||= 0; my $dbh = C4::Context->dbh; my $sth=$dbh->prepare("Insert into action_logs (timestamp,user,module,action,object,info) values (now(),?,?,?,?,?)"); @@ -213,26 +215,21 @@ sub GetLogs { my @parameters; $query .= " AND DATE_FORMAT(timestamp, '%Y-%m-%d') >= \"".$iso_datefrom."\" " if $iso_datefrom; #fix me - mysql specific $query .= " AND DATE_FORMAT(timestamp, '%Y-%m-%d') <= \"".$iso_dateto."\" " if $iso_dateto; - if($user) { - $query .= " AND user LIKE ? "; - push(@parameters,"%".$user."%"); + if($user ne "") { + $query .= " AND user = ? "; + push(@parameters,$user); } - if(scalar @$modules > 1 or @$modules[0] ne "") { - $query .= " AND (1 = 2"; #always false but used to build the query - foreach my $module (@$modules) { - next if $module eq ""; - $query .= " or module = ?"; - push(@parameters,$module); - } - $query .= ")"; + if($modules && scalar(@$modules)) { + $query .= " AND module IN (".join(",",map {"?"} @$modules).") "; + push(@parameters,@$modules); } - if($action) { - $query .= " AND action LIKE ? "; - push(@parameters,"%".$action."%"); + if($action && scalar(@$action)) { + $query .= " AND action IN (".join(",",map {"?"} @$action).") "; + push(@parameters,@$action); } if($object) { - $query .= " AND object LIKE ? "; - push(@parameters,"%".$object."%"); + $query .= " AND object = ? "; + push(@parameters,$object); } if($info) { $query .= " AND info LIKE ? "; @@ -257,6 +254,6 @@ __END__ =head1 AUTHOR -Koha Development Team +Koha Development Team =cut