From 2c9acd05eb1da5aedd808d152da434d546fd2b39 Mon Sep 17 00:00:00 2001 From: Galen Charlton Date: Mon, 13 Aug 2018 15:10:21 -0400 Subject: [PATCH] fix issues with managing multiple query (and other) CGI params Signed-off-by: Galen Charlton --- Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm | 12 ++++++++---- Open-ILS/src/templates/opac/parts/header.tt2 | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm index 5bc2f56a78..e76c2d10bd 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm @@ -934,7 +934,8 @@ sub handle_hold_update { $url = $self->ctx->{proto} . '://' . $self->ctx->{hostname} . $self->ctx->{opac_root} . '/myopac/holds'; foreach my $param (('loc', 'qtype', 'query')) { if ($self->cgi->param($param)) { - $url .= ";$param=" . uri_escape_utf8($self->cgi->param($param)); + my @vals = $self->cgi->param($param); + $url .= ";$param=" . uri_escape_utf8($_) foreach @vals; } } } @@ -2400,7 +2401,8 @@ sub load_myopac_bookbags { foreach my $param (('loc', 'qtype', 'query', 'sort', 'offset', 'limit')) { if ($self->cgi->param($param)) { - $url .= ";$param=" . uri_escape_utf8($self->cgi->param($param)); + my @vals = $self->cgi->param($param); + $url .= ";$param=" . uri_escape_utf8($_) foreach @vals; } } @@ -2514,7 +2516,8 @@ sub load_myopac_bookbag_update { foreach my $param (('loc', 'qtype', 'query', 'sort')) { if ($cgi->param($param)) { - $url .= "$param=" . uri_escape_utf8($cgi->param($param)) . ";"; + my @vals = $cgi->param($param); + $url .= ";$param=" . uri_escape_utf8($_) foreach @vals; } } @@ -2577,7 +2580,8 @@ sub load_myopac_bookbag_update { $url .= ';hold_target=' . $_ for @hold_recs; foreach my $param (('loc', 'qtype', 'query')) { if ($cgi->param($param)) { - $url .= ";$param=" . uri_escape_utf8($cgi->param($param)); + my @vals = $cgi->param($param); + $url .= ";$param=" . uri_escape_utf8($_) foreach @vals; } } return $self->generic_redirect($url); diff --git a/Open-ILS/src/templates/opac/parts/header.tt2 b/Open-ILS/src/templates/opac/parts/header.tt2 index 1d3550d42c..76b2314187 100644 --- a/Open-ILS/src/templates/opac/parts/header.tt2 +++ b/Open-ILS/src/templates/opac/parts/header.tt2 @@ -9,7 +9,7 @@ # Don't wrap in l() here; do that where this format string is actually used. SET HUMAN_NAME_FORMAT = '[_1] [_2] [_3] [_4] [_5]'; - is_advanced = CGI.param("_adv").size; + is_advanced = CGI.param("_adv").size || CGI.param("query").size; is_special = CGI.param("_special").size; # Check if we want to show the detail record view. Doing this -- 2.11.0