X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=C4%2FLog.pm;h=6b8ff17e45b26fad3a0cb26a22bcb6b292660d46;hb=refs%2Fheads%2Fffzg-1059-zebra_spine_label;hp=141621a118c7a3cfd83fbd9d78ce3f63992564c2;hpb=f46abf8b909257a54c9e2c1fdd999ba30c7ac0ae;p=koha.git diff --git a/C4/Log.pm b/C4/Log.pm index 141621a118..6b8ff17e45 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. # @@ -213,26 +214,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 ? ";