From cf97a72abf3e2a2f93f335bc0e6b04f9859056eb Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 22 Aug 2012 14:12:09 +0200 Subject: [PATCH] Bug 4491: FIX buildQuery if called with an empty limit if @limit=('') buildQuery failed Signed-off-by: Jared Camins-Esakov All searches that I tried (keyword, indexed, CCL, with limits, without, etc.) worked fine. There are warnings about uninitialized variables in the OPAC, but they exist on master as well and therefore should not block these patches. Signed-off-by: Paul Poulain --- C4/Search.pm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/C4/Search.pm b/C4/Search.pm index 91bfbb0dfb..04ebe3bc4e 100644 --- a/C4/Search.pm +++ b/C4/Search.pm @@ -1101,7 +1101,8 @@ sub buildQuery { my $q=$'; # This is needed otherwise ccl= and &limit won't work together, and # this happens when selecting a subject on the opac-detail page - if (@limits) { + @limits = grep {!/^$/} @limits; + if ( @limits ) { $q .= ' and '.join(' and ', @limits); } return ( undef, $q, $q, "q=ccl=$q", $q, '', '', '', '', 'ccl' ); @@ -1318,6 +1319,7 @@ sub buildQuery { my %group_OR_limits; my $availability_limit; foreach my $this_limit (@limits) { + next unless $this_limit; if ( $this_limit =~ /available/ ) { # ## 'available' is defined as (items.onloan is NULL) and (items.itemlost = 0) -- 2.39.5