View | Details | Raw Unified | Return to bug 22070
Collapse All | Expand All

(-)a/opac/opac-detail.pl (-6 / +5 lines)
Lines 203-209 if ($OpacBrowseResults) { Link Here
203
my $session = get_session($query->cookie("CGISESSID"));
203
my $session = get_session($query->cookie("CGISESSID"));
204
my %paging = (previous => {}, next => {});
204
my %paging = (previous => {}, next => {});
205
if ($session->param('busc')) {
205
if ($session->param('busc')) {
206
    use URI::Escape qw( uri_escape_utf8 uri_unescape );
206
    use C4::Search;
207
207
208
    # Rebuild the string to store on session
208
    # Rebuild the string to store on session
209
    # param value is URI encoded and params separator is HTML encode (&)
209
    # param value is URI encoded and params separator is HTML encode (&)
Lines 217-230 if ($session->param('busc')) { Link Here
217
            if ($_ =~ /^(?:query|listBiblios|newlistBiblios|query_type|simple_query|total|offset|offsetSearch|next|previous|count|expand|scan)/) {
217
            if ($_ =~ /^(?:query|listBiblios|newlistBiblios|query_type|simple_query|total|offset|offsetSearch|next|previous|count|expand|scan)/) {
218
                if (defined($arrParamsBusc->{$_})) {
218
                if (defined($arrParamsBusc->{$_})) {
219
                    $pasarParams .= '&' if ($j);
219
                    $pasarParams .= '&' if ($j);
220
                    $pasarParams .= $_ . '=' . Encode::decode('UTF-8', uri_escape_utf8( $arrParamsBusc->{$_} ));
220
                    $pasarParams .= $_ . '=' . $arrParamsBusc->{$_};
221
                    $j++;
221
                    $j++;
222
                }
222
                }
223
            } else {
223
            } else {
224
                for my $value (@{$arrParamsBusc->{$_}}) {
224
                for my $value (@{$arrParamsBusc->{$_}}) {
225
                    next if !defined($value);
225
                    next if !defined($value);
226
                    $pasarParams .= '&' if ($j);
226
                    $pasarParams .= '&' if ($j);
227
                    $pasarParams .= $_ . '=' . Encode::decode('UTF-8', uri_escape_utf8($value));
227
                    $pasarParams .= $_ . '=' . $value;
228
                    $j++;
228
                    $j++;
229
                }
229
                }
230
            }
230
            }
Lines 291-302 if ($session->param('busc')) { Link Here
291
    for (@arrBusc) {
291
    for (@arrBusc) {
292
        ($key, $value) = split(/=/, $_, 2);
292
        ($key, $value) = split(/=/, $_, 2);
293
        if ($key =~ /^(?:query|listBiblios|newlistBiblios|query_type|simple_query|next|previous|total|offset|offsetSearch|count|expand|scan)/) {
293
        if ($key =~ /^(?:query|listBiblios|newlistBiblios|query_type|simple_query|next|previous|total|offset|offsetSearch|count|expand|scan)/) {
294
            $arrParamsBusc{$key} = uri_unescape($value);
294
            $arrParamsBusc{$key} = $value;
295
        } else {
295
        } else {
296
            unless (exists($arrParamsBusc{$key})) {
296
            unless (exists($arrParamsBusc{$key})) {
297
                $arrParamsBusc{$key} = [];
297
                $arrParamsBusc{$key} = [];
298
            }
298
            }
299
            push @{$arrParamsBusc{$key}}, uri_unescape($value);
299
            push @{$arrParamsBusc{$key}}, $value;
300
        }
300
        }
301
    }
301
    }
302
    my $searchAgain = 0;
302
    my $searchAgain = 0;
303
- 

Return to bug 22070