|
Lines 624-630
sub getRecords {
Link Here
|
| 624 |
foreach my $f (@facets_loop) { |
624 |
foreach my $f (@facets_loop) { |
| 625 |
$f->{facets} = [ sort { uc($a->{facet_label_value}) cmp uc($b->{facet_label_value}) } @{ $f->{facets} } ]; |
625 |
$f->{facets} = [ sort { uc($a->{facet_label_value}) cmp uc($b->{facet_label_value}) } @{ $f->{facets} } ]; |
| 626 |
} |
626 |
} |
| 627 |
@facets_loop = sort {$a->{expand} cmp $b->{expand}} @facets_loop; |
627 |
@facets_loop = sort {defined $a->{expand} && defined $b->{expand} && $a->{expand} cmp $b->{expand}} @facets_loop; |
| 628 |
} |
628 |
} |
| 629 |
|
629 |
|
| 630 |
return ( undef, $results_hashref, \@facets_loop ); |
630 |
return ( undef, $results_hashref, \@facets_loop ); |
|
Lines 1536-1542
sub buildQuery {
Link Here
|
| 1536 |
$operands[$i] =~ s/\?/{?}/g; # need to escape question marks |
1536 |
$operands[$i] =~ s/\?/{?}/g; # need to escape question marks |
| 1537 |
} |
1537 |
} |
| 1538 |
my $operand = $operands[$i]; |
1538 |
my $operand = $operands[$i]; |
| 1539 |
my $index = $indexes[$i]; |
1539 |
my $index = $indexes[$i] || 'kw'; |
| 1540 |
|
1540 |
|
| 1541 |
# Add index-specific attributes |
1541 |
# Add index-specific attributes |
| 1542 |
|
1542 |
|
|
Lines 1573-1590
sub buildQuery {
Link Here
|
| 1573 |
if ( C4::Context->preference("SearchWithISBNVariations") ) { |
1573 |
if ( C4::Context->preference("SearchWithISBNVariations") ) { |
| 1574 |
my @isbns = C4::Koha::GetVariationsOfISBN( $operand ); |
1574 |
my @isbns = C4::Koha::GetVariationsOfISBN( $operand ); |
| 1575 |
$operands[$i] = $operand = '(nb=' . join(' OR nb=', @isbns) . ')'; |
1575 |
$operands[$i] = $operand = '(nb=' . join(' OR nb=', @isbns) . ')'; |
| 1576 |
$indexes[$i] = $index = ''; |
1576 |
$indexes[$i] = $index = 'kw'; |
| 1577 |
} |
1577 |
} |
| 1578 |
} |
1578 |
} |
| 1579 |
} |
1579 |
} |
| 1580 |
|
1580 |
|
| 1581 |
if(not $index){ |
|
|
| 1582 |
$index = 'kw'; |
| 1583 |
} |
| 1584 |
|
| 1585 |
# Set default structure attribute (word list) |
1581 |
# Set default structure attribute (word list) |
| 1586 |
my $struct_attr = q{}; |
1582 |
my $struct_attr = q{}; |
| 1587 |
unless ( $indexes_set || !$index || $index =~ /,(st-|phr|ext|wrdl)/ || $index =~ /^(nb|ns)$/ ) { |
1583 |
unless ( $indexes_set || $index =~ /,(st-|phr|ext|wrdl)/ || $index =~ /^(nb|ns)$/ ) { |
| 1588 |
$struct_attr = ",wrdl"; |
1584 |
$struct_attr = ",wrdl"; |
| 1589 |
} |
1585 |
} |
| 1590 |
|
1586 |
|
|
Lines 1750-1755
sub buildQuery {
Link Here
|
| 1750 |
$query =~ s/(?<=(st-numeric)):/=/g; |
1746 |
$query =~ s/(?<=(st-numeric)):/=/g; |
| 1751 |
$query =~ s/(?<=(st-year)):/=/g; |
1747 |
$query =~ s/(?<=(st-year)):/=/g; |
| 1752 |
$query =~ s/(?<=(st-date-normalized)):/=/g; |
1748 |
$query =~ s/(?<=(st-date-normalized)):/=/g; |
|
|
1749 |
|
| 1750 |
# Removing warnings for later substitutions |
| 1751 |
$query //= q{}; |
| 1752 |
$query_desc //= q{}; |
| 1753 |
$query_cgi //= q{}; |
| 1754 |
$limit //= q{}; |
| 1755 |
$limit_desc //= q{}; |
| 1753 |
$limit =~ s/:/=/g; |
1756 |
$limit =~ s/:/=/g; |
| 1754 |
for ( $query, $query_desc, $limit, $limit_desc ) { |
1757 |
for ( $query, $query_desc, $limit, $limit_desc ) { |
| 1755 |
s/ +/ /g; # remove extra spaces |
1758 |
s/ +/ /g; # remove extra spaces |
|
Lines 1939-1947
sub searchResults {
Link Here
|
| 1939 |
my $oldbiblio = TransformMarcToKoha( $marcrecord, $fw ); |
1942 |
my $oldbiblio = TransformMarcToKoha( $marcrecord, $fw ); |
| 1940 |
$oldbiblio->{result_number} = $i + 1; |
1943 |
$oldbiblio->{result_number} = $i + 1; |
| 1941 |
|
1944 |
|
| 1942 |
# add imageurl to itemtype if there is one |
|
|
| 1943 |
$oldbiblio->{imageurl} = getitemtypeimagelocation( $search_context->{'interface'}, $itemtypes{ $oldbiblio->{itemtype} }->{imageurl} ); |
| 1944 |
|
| 1945 |
$oldbiblio->{normalized_upc} = GetNormalizedUPC( $marcrecord,$marcflavour); |
1945 |
$oldbiblio->{normalized_upc} = GetNormalizedUPC( $marcrecord,$marcflavour); |
| 1946 |
$oldbiblio->{normalized_ean} = GetNormalizedEAN( $marcrecord,$marcflavour); |
1946 |
$oldbiblio->{normalized_ean} = GetNormalizedEAN( $marcrecord,$marcflavour); |
| 1947 |
$oldbiblio->{normalized_oclc} = GetNormalizedOCLCNumber($marcrecord,$marcflavour); |
1947 |
$oldbiblio->{normalized_oclc} = GetNormalizedOCLCNumber($marcrecord,$marcflavour); |
|
Lines 1950-1960
sub searchResults {
Link Here
|
| 1950 |
|
1950 |
|
| 1951 |
# edition information, if any |
1951 |
# edition information, if any |
| 1952 |
$oldbiblio->{edition} = $oldbiblio->{editionstatement}; |
1952 |
$oldbiblio->{edition} = $oldbiblio->{editionstatement}; |
| 1953 |
$oldbiblio->{description} = $itemtypes{ $oldbiblio->{itemtype} }->{translated_description}; |
1953 |
|
| 1954 |
# Build summary if there is one (the summary is defined in the itemtypes table) |
1954 |
my $itemtype = $oldbiblio->{itemtype} ? $itemtypes{$oldbiblio->{itemtype}} : undef; |
|
|
1955 |
# add imageurl to itemtype if there is one |
| 1956 |
$oldbiblio->{imageurl} = $itemtype ? getitemtypeimagelocation( $search_context->{'interface'}, $itemtype->{imageurl} ) : q{}; |
| 1957 |
# Build summary if there is one (the summary is defined in the itemtypes table) |
| 1958 |
$oldbiblio->{description} = $itemtype ? $itemtype->{translated_description} : q{}; |
| 1955 |
|
1959 |
|
| 1956 |
# FIXME: this is only used in the deprecated non-XLST opac results |
1960 |
# FIXME: this is only used in the deprecated non-XLST opac results |
| 1957 |
if ( !$xslfile && $is_opac && $itemtypes{ $oldbiblio->{itemtype} }->{summary} ) { |
1961 |
if ( !$xslfile && $is_opac && $itemtype && $itemtype->{summary} ) { |
| 1958 |
my $summary = $itemtypes{ $oldbiblio->{itemtype} }->{summary}; |
1962 |
my $summary = $itemtypes{ $oldbiblio->{itemtype} }->{summary}; |
| 1959 |
my @fields = $marcrecord->fields(); |
1963 |
my @fields = $marcrecord->fields(); |
| 1960 |
|
1964 |
|
|
Lines 2096-2102
sub searchResults {
Link Here
|
| 2096 |
$item->{'branchname'} = $branches{$item->{$otherbranch}}; |
2100 |
$item->{'branchname'} = $branches{$item->{$otherbranch}}; |
| 2097 |
} |
2101 |
} |
| 2098 |
|
2102 |
|
| 2099 |
my $prefix = $item->{$hbranch} . '--' . $item->{location} . $item->{itype} . $item->{itemcallnumber}; |
2103 |
my $prefix = |
|
|
2104 |
( $item->{$hbranch} ? $item->{$hbranch} . '--' : q{} ) |
| 2105 |
. ( $item->{location} ? $item->{location} : q{} ) |
| 2106 |
. ( $item->{itype} ? $item->{itype} : q{} ) |
| 2107 |
. ( $item->{itemcallnumber} ? $item->{itemcallnumber} : q{} ); |
| 2100 |
# For each grouping of items (onloan, available, unavailable), we build a key to store relevant info about that item |
2108 |
# For each grouping of items (onloan, available, unavailable), we build a key to store relevant info about that item |
| 2101 |
if ( $item->{onloan} |
2109 |
if ( $item->{onloan} |
| 2102 |
and $logged_in_user |
2110 |
and $logged_in_user |
|
Lines 2247-2253
sub searchResults {
Link Here
|
| 2247 |
|
2255 |
|
| 2248 |
# if biblio level itypes are used and itemtype is notforloan, it can't be reserved either |
2256 |
# if biblio level itypes are used and itemtype is notforloan, it can't be reserved either |
| 2249 |
if (!C4::Context->preference("item-level_itypes")) { |
2257 |
if (!C4::Context->preference("item-level_itypes")) { |
| 2250 |
if ($itemtypes{ $oldbiblio->{itemtype} }->{notforloan}) { |
2258 |
if ($itemtype && $itemtype->{notforloan}) { |
| 2251 |
$can_place_holds = 0; |
2259 |
$can_place_holds = 0; |
| 2252 |
} |
2260 |
} |
| 2253 |
} |
2261 |
} |
| 2254 |
- |
|
|