|
Lines 170-175
my $template_type;
Link Here
|
| 170 |
my @params = $cgi->multi_param("limit"); |
170 |
my @params = $cgi->multi_param("limit"); |
| 171 |
if ((@params>=1) || ($cgi->param("q")) || ($cgi->param('multibranchlimit')) || ($cgi->param('limit-yr')) ) { |
171 |
if ((@params>=1) || ($cgi->param("q")) || ($cgi->param('multibranchlimit')) || ($cgi->param('limit-yr')) ) { |
| 172 |
$template_name = 'catalogue/results.tt'; |
172 |
$template_name = 'catalogue/results.tt'; |
|
|
173 |
$template_type = 'results'; |
| 173 |
} |
174 |
} |
| 174 |
else { |
175 |
else { |
| 175 |
$template_name = 'catalogue/advsearch.tt'; |
176 |
$template_name = 'catalogue/advsearch.tt'; |
|
Lines 449-455
my $offset = $params->{'offset'} || 0;
Link Here
|
| 449 |
$offset = 0 if $offset < 0; |
450 |
$offset = 0 if $offset < 0; |
| 450 |
my $page = $cgi->param('page') || 1; |
451 |
my $page = $cgi->param('page') || 1; |
| 451 |
#my $offset = ($page-1)*$results_per_page; |
452 |
#my $offset = ($page-1)*$results_per_page; |
| 452 |
my $hits; |
|
|
| 453 |
my $expanded_facet = $params->{'expand'}; |
453 |
my $expanded_facet = $params->{'expand'}; |
| 454 |
|
454 |
|
| 455 |
# Define some global variables |
455 |
# Define some global variables |
|
Lines 474-515
my @query_inputs;
Link Here
|
| 474 |
my $scan_index_to_use; |
474 |
my $scan_index_to_use; |
| 475 |
my $scan_search_term_to_use; |
475 |
my $scan_search_term_to_use; |
| 476 |
|
476 |
|
| 477 |
for my $this_cgi ( split('&',$query_cgi) ) { |
477 |
if ($query_cgi) { |
| 478 |
next unless $this_cgi; |
478 |
for my $this_cgi ( split('&', $query_cgi) ) { |
| 479 |
$this_cgi =~ m/(.*?)=(.*)/; |
479 |
next unless $this_cgi; |
| 480 |
my $input_name = $1; |
480 |
$this_cgi =~ m/(.*?)=(.*)/; |
| 481 |
my $input_value = $2; |
481 |
my $input_name = $1; |
| 482 |
push @query_inputs, { input_name => $input_name, input_value => Encode::decode_utf8( uri_unescape( $input_value ) ) }; |
482 |
my $input_value = $2; |
| 483 |
if ($input_name eq 'idx') { |
483 |
push @query_inputs, { input_name => $input_name, input_value => Encode::decode_utf8( uri_unescape( $input_value ) ) }; |
| 484 |
$scan_index_to_use = $input_value; # unless $scan_index_to_use; |
484 |
if ($input_name eq 'idx') { |
| 485 |
} |
485 |
$scan_index_to_use = $input_value; # unless $scan_index_to_use; |
| 486 |
if ($input_name eq 'q') { |
486 |
} |
| 487 |
$scan_search_term_to_use = Encode::decode_utf8( uri_unescape( $input_value )); |
487 |
if ($input_name eq 'q') { |
|
|
488 |
$scan_search_term_to_use = Encode::decode_utf8( uri_unescape( $input_value )); |
| 489 |
} |
| 488 |
} |
490 |
} |
| 489 |
} |
491 |
} |
|
|
492 |
|
| 490 |
$template->param ( QUERY_INPUTS => \@query_inputs, |
493 |
$template->param ( QUERY_INPUTS => \@query_inputs, |
| 491 |
scan_index_to_use => $scan_index_to_use, |
494 |
scan_index_to_use => $scan_index_to_use, |
| 492 |
scan_search_term_to_use => $scan_search_term_to_use ); |
495 |
scan_search_term_to_use => $scan_search_term_to_use ); |
| 493 |
|
496 |
|
| 494 |
## parse the limit_cgi string and put it into a form suitable for <input>s |
497 |
## parse the limit_cgi string and put it into a form suitable for <input>s |
| 495 |
my @limit_inputs; |
498 |
my @limit_inputs; |
| 496 |
for my $this_cgi ( split('&',$limit_cgi) ) { |
499 |
if ($limit_cgi) { |
| 497 |
next unless $this_cgi; |
500 |
for my $this_cgi ( split('&', $limit_cgi) ) { |
| 498 |
# handle special case limit-yr |
501 |
next unless $this_cgi; |
| 499 |
if ($this_cgi =~ /yr,st-numeric/) { |
502 |
# handle special case limit-yr |
| 500 |
push @limit_inputs, { input_name => 'limit-yr', input_value => $limit_yr_value }; |
503 |
if ($this_cgi =~ /yr,st-numeric/) { |
| 501 |
next; |
504 |
push @limit_inputs, { input_name => 'limit-yr', input_value => $limit_yr_value }; |
|
|
505 |
next; |
| 506 |
} |
| 507 |
$this_cgi =~ m/(.*=)(.*)/; |
| 508 |
my $input_name = $1; |
| 509 |
my $input_value = $2; |
| 510 |
$input_name =~ s/=$//; |
| 511 |
push @limit_inputs, { input_name => $input_name, input_value => Encode::decode_utf8( uri_unescape($input_value) ) }; |
| 502 |
} |
512 |
} |
| 503 |
$this_cgi =~ m/(.*=)(.*)/; |
|
|
| 504 |
my $input_name = $1; |
| 505 |
my $input_value = $2; |
| 506 |
$input_name =~ s/=$//; |
| 507 |
push @limit_inputs, { input_name => $input_name, input_value => Encode::decode_utf8( uri_unescape($input_value) ) }; |
| 508 |
} |
513 |
} |
| 509 |
$template->param ( LIMIT_INPUTS => \@limit_inputs ); |
514 |
$template->param ( LIMIT_INPUTS => \@limit_inputs ); |
| 510 |
|
515 |
|
| 511 |
## II. DO THE SEARCH AND GET THE RESULTS |
516 |
## II. DO THE SEARCH AND GET THE RESULTS |
| 512 |
my $total; # the total results for the whole set |
517 |
my $total = 0; # the total results for the whole set |
| 513 |
my $facets; # this object stores the faceted results that display on the left-hand of the results page |
518 |
my $facets; # this object stores the faceted results that display on the left-hand of the results page |
| 514 |
my $results_hashref; |
519 |
my $results_hashref; |
| 515 |
|
520 |
|
|
Lines 534-544
my @sup_results_array;
Link Here
|
| 534 |
for (my $i=0;$i<@servers;$i++) { |
539 |
for (my $i=0;$i<@servers;$i++) { |
| 535 |
my $server = $servers[$i]; |
540 |
my $server = $servers[$i]; |
| 536 |
if ($server =~/biblioserver/) { # this is the local bibliographic server |
541 |
if ($server =~/biblioserver/) { # this is the local bibliographic server |
| 537 |
$hits = $results_hashref->{$server}->{"hits"}; |
542 |
my $hits = $results_hashref->{$server}->{"hits"} // 0; |
| 538 |
my $page = $cgi->param('page') || 0; |
543 |
my $page = $cgi->param('page') || 0; |
| 539 |
my @newresults = searchResults('intranet', $query_desc, $hits, $results_per_page, $offset, $scan, |
544 |
my @newresults = searchResults('intranet', $query_desc, $hits, $results_per_page, $offset, $scan, |
| 540 |
$results_hashref->{$server}->{"RECORDS"}); |
545 |
$results_hashref->{$server}->{"RECORDS"}); |
| 541 |
$total = $total + $results_hashref->{$server}->{"hits"}; |
546 |
$total = $total + $hits; |
| 542 |
|
547 |
|
| 543 |
# Search history |
548 |
# Search history |
| 544 |
if (C4::Context->preference('EnableSearchHistory')) { |
549 |
if (C4::Context->preference('EnableSearchHistory')) { |
|
Lines 586-594
for (my $i=0;$i<@servers;$i++) {
Link Here
|
| 586 |
|
591 |
|
| 587 |
if ($hits) { |
592 |
if ($hits) { |
| 588 |
$template->param(total => $hits); |
593 |
$template->param(total => $hits); |
| 589 |
my $limit_cgi_not_availablity = $limit_cgi; |
594 |
if ($limit_cgi) { |
| 590 |
$limit_cgi_not_availablity =~ s/&limit=available//g; |
595 |
my $limit_cgi_not_availablity = $limit_cgi; |
| 591 |
$template->param(limit_cgi_not_availablity => $limit_cgi_not_availablity); |
596 |
$limit_cgi_not_availablity =~ s/&limit=available//g; |
|
|
597 |
$template->param(limit_cgi_not_availablity => $limit_cgi_not_availablity); |
| 598 |
} |
| 592 |
$template->param(limit_cgi => $limit_cgi); |
599 |
$template->param(limit_cgi => $limit_cgi); |
| 593 |
$template->param(query_cgi => $query_cgi); |
600 |
$template->param(query_cgi => $query_cgi); |
| 594 |
$template->param(query_desc => $query_desc); |
601 |
$template->param(query_desc => $query_desc); |
|
Lines 703-715
for (my $i=0;$i<@servers;$i++) {
Link Here
|
| 703 |
$template->{'VARS'}->{'searchid'} = $cgi->param('searchid'); |
710 |
$template->{'VARS'}->{'searchid'} = $cgi->param('searchid'); |
| 704 |
|
711 |
|
| 705 |
my $gotonumber = $cgi->param('gotoNumber'); |
712 |
my $gotonumber = $cgi->param('gotoNumber'); |
| 706 |
if ($gotonumber eq 'last' || $gotonumber eq 'first') { |
713 |
if ( $gotonumber && ( $gotonumber eq 'last' || $gotonumber eq 'first' ) ) { |
| 707 |
$template->{'VARS'}->{'gotoNumber'} = $gotonumber; |
714 |
$template->{'VARS'}->{'gotoNumber'} = $gotonumber; |
| 708 |
} |
715 |
} |
| 709 |
$template->{'VARS'}->{'gotoPage'} = 'detail.pl'; |
716 |
$template->{'VARS'}->{'gotoPage'} = 'detail.pl'; |
| 710 |
my $gotopage = $cgi->param('gotoPage'); |
717 |
my $gotopage = $cgi->param('gotoPage'); |
| 711 |
$template->{'VARS'}->{'gotoPage'} = $gotopage |
718 |
$template->{'VARS'}->{'gotoPage'} = $gotopage |
| 712 |
if $gotopage =~ m/^(ISBD|labeledMARC|MARC|more)?detail.pl$/; |
719 |
if $gotopage && $gotopage =~ m/^(ISBD|labeledMARC|MARC|more)?detail.pl$/; |
| 713 |
|
720 |
|
| 714 |
for my $facet ( @$facets ) { |
721 |
for my $facet ( @$facets ) { |
| 715 |
for my $entry ( @{ $facet->{facets} } ) { |
722 |
for my $entry ( @{ $facet->{facets} } ) { |
| 716 |
- |
|
|