706 lines
44 KiB
Plaintext
706 lines
44 KiB
Plaintext
[% USE raw %]
|
|
[% USE Asset %]
|
|
[% USE Koha %]
|
|
[% USE KohaPlugins %]
|
|
[% USE To %]
|
|
[% PROCESS 'i18n.inc' %]
|
|
[% PROCESS 'html_helpers.inc' %]
|
|
[% SET LoginEnabled = ( Koha.Preference('opacuserlogin') == 1 ) %]
|
|
[% IF ( Koha.Preference('TagsEnabled') ) %]
|
|
[% SET TagsShowEnabled = ( ( Koha.Preference('TagsEnabled') == 1 ) && ( Koha.Preference('TagsShowOnList') > 0 ) ) %]
|
|
[% SET TagsInputEnabled = LoginEnabled && TagsShowEnabled && ( Koha.Preference('TagsInputOnList') > 0 ) %]
|
|
[% END %]
|
|
[% SET CartEnabled = ( Koha.Preference('opacbookbag') == 1 ) %]
|
|
[% SET ListsEnabled = ( Koha.Preference('virtualshelves') == 1 ) && LoginEnabled %]
|
|
[% SET HoldsEnabled = ( Koha.Preference('OPACHoldRequests') == 1 ) && LoginEnabled %]
|
|
[% SET RecallsEnabled = ( Koha.Preference('UseRecalls').match('opac') ) && LoginEnabled %]
|
|
[% SET ArticleRequestsEnabled = ( Koha.Preference('ArticleRequests') == 1 ) && LoginEnabled %]
|
|
[% SET MultiHolds = ( Koha.Preference('DisplayMultiPlaceHold') == 1 ) && HoldsEnabled %]
|
|
[% SET CoverImagePlugins = KohaPlugins.get_plugins_opac_cover_images %]
|
|
[% SET OPACLocalCoverImages = Koha.Preference('OPACLocalCoverImages') %]
|
|
[% SET OPACAmazonCoverImages = Koha.Preference('OPACAmazonCoverImages') %]
|
|
[% SET SyndeticsCoverImages = ( Koha.Preference('SyndeticsEnabled') && Koha.Preference('SyndeticsCoverImages') ) %]
|
|
[% SET GoogleJackets = Koha.Preference('GoogleJackets') %]
|
|
[% SET OpenLibraryCovers = Koha.Preference('OpenLibraryCovers') %]
|
|
[% SET OPACCoce = ( Koha.Preference('OPACCoce') && Koha.Preference('CoceProviders') ) %]
|
|
[% SET OPACCustomCoverImages = ( Koha.Preference('OPACCustomCoverImages') && Koha.Preference('CustomCoverImagesURL') ) %]
|
|
[% IF ( CoverImagePlugins || OPACLocalCoverImages || OPACAmazonCoverImages || SyndeticsCoverImages || GoogleJackets || OpenLibraryCovers || OPACCoce || OPACCustomCoverImages ) %]
|
|
[% SET CoverImages = 1 %]
|
|
[% SET OverDriveEnabled = Koha.Preference('OverDriveLibraryID') && Koha.Preference('OverDriveClientKey') && Koha.Preference('OverDriveClientSecret') %]
|
|
[% END %]
|
|
[% SET OverDriveEnabled = ( Koha.Preference( "OPACOverDrive" ) && Koha.Preference('OverDriveLibraryID') && Koha.Preference('OverDriveClientKey') && Koha.Preference('OverDriveClientSecret') ) %]
|
|
|
|
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title
|
|
>[% FILTER collapse %]
|
|
[% IF ( searchdesc ) %]
|
|
[% IF ( ms_value ) %]
|
|
[% tx("Results of search for '{keyword}'", {keyword = ms_value}) | html %]
|
|
[% ELSE %]
|
|
[% t("Search results") | html %]
|
|
[% END %]
|
|
[% ELSE %]
|
|
[% t("You did not specify any search criteria") | html %]
|
|
[% END %]
|
|
› [% PROCESS 'library_name_title' %]
|
|
[% END %]</title
|
|
>
|
|
<meta name="robots" content="noindex" />
|
|
[% Asset.css("lib/Chocolat/css/chocolat.css") | $raw %]
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
[% BLOCK cssinclude %]
|
|
[% END %]
|
|
|
|
<link
|
|
rel="alternate"
|
|
type="application/rss+xml"
|
|
title="[% LibraryName | html %] Search RSS feed"
|
|
href="[% OPACBaseURL | url %]/cgi-bin/koha/opac-search.pl?[% query_cgi | $raw %][% limit_cgi | $raw %]&count=[% countrss |uri %]&sort_by=acqdate_dsc&format=rss"
|
|
/>
|
|
</head>
|
|
[% INCLUDE 'bodytag.inc' bodyid='results' bodyclass='scrollto' %]
|
|
[% INCLUDE 'masthead.inc' %]
|
|
|
|
<main class="main">
|
|
[% WRAPPER breadcrumbs %]
|
|
[% IF ( searchdesc ) %]
|
|
[% IF ( ReturnPath ) %]
|
|
[% WRAPPER breadcrumb_item %]
|
|
<a href="[% ReturnPath | url %]">Advanced search</a>
|
|
[% END %]
|
|
[% ELSE %]
|
|
[% WRAPPER breadcrumb_item %]
|
|
<a href="/cgi-bin/koha/opac-search.pl">Advanced search</a>
|
|
[% END %]
|
|
[% END %]
|
|
[% WRAPPER breadcrumb_item bc_active= 1 %]
|
|
[% IF ( ms_value ) %]
|
|
<span title="You searched [% IF ( query_desc ) %]for '[% query_desc | html %]'[% END %][% IF ( limit_desc ) %]with limit(s): '[% limit_desc | html %]'[% END %]"
|
|
>Results of search for '[% ms_value | html %]'[% IF ( pages && pages > 1) %], page [% current_page_number | html %] of [% pages | html %][% END %]</span
|
|
>
|
|
[% ELSE %]
|
|
<span title="You searched [% IF ( query_desc ) %]for '[% query_desc | html %]'[% END %][% IF ( limit_desc ) %]with limit(s): '[% limit_desc | html %]'[% END %]">Search results</span>
|
|
[% END %]
|
|
[% END %]
|
|
[% ELSE %]
|
|
[% WRAPPER breadcrumb_item bc_active= 1 %]
|
|
<span>You did not specify any search criteria</span>
|
|
[% END %]
|
|
[% END %]
|
|
[% END #/ WRAPPER breadcrumbs %]
|
|
|
|
[% UNLESS ( total ) %]
|
|
<div class="container-fluid">
|
|
<div class="row">
|
|
<div class="col">
|
|
<h1 id="numresults">No results found!</h1>
|
|
<p>
|
|
[% IF ( searchdesc ) %]
|
|
No results found for that in [% LibraryName | html %] catalog.
|
|
<a
|
|
href="[% OPACBaseURL | url %]/cgi-bin/koha/opac-search.pl?[% query_cgi | $raw %][% limit_cgi | $raw %]&count=[% countrss |uri %]&sort_by=acqdate_dsc&format=rss"
|
|
aria-label="Subscribe to this search"
|
|
class="btn btn-link rsssearchlink noprint"
|
|
>
|
|
<i class="fa fa-rss rsssearchicon" aria-hidden="true" title="Subscribe to this search"></i>
|
|
</a>
|
|
[% ELSE %]
|
|
You did not specify any search criteria.
|
|
[% END %]
|
|
</p>
|
|
[% IF ( ReturnPath ) %]
|
|
<div class="returntosearch">
|
|
<p><a href="[% ReturnPath | url %]">Return to the last advanced search</a></p>
|
|
</div>
|
|
[% END %]
|
|
[% IF ( OPACNoResultsFound ) %]
|
|
<div id="noresultsfound"> [% OPACNoResultsFound | $raw %] </div>
|
|
[% END %]
|
|
</div>
|
|
<!-- / .col -->
|
|
</div>
|
|
<!-- / .row -->
|
|
</div>
|
|
<!-- / .container-fluid -->
|
|
[% END # / UNLESS searchdesc %]
|
|
|
|
<div class="container-fluid">
|
|
<div class="row">
|
|
[% IF ( opacfacets && total ) %]
|
|
<div class="col-lg-2">
|
|
<div id="facetcontainer">
|
|
<!-- FACETS START -->
|
|
[% INCLUDE 'opac-facets.inc' %]
|
|
<!-- FACETS END -->
|
|
</div>
|
|
</div>
|
|
[% END %]
|
|
|
|
[% SET column_class = "col maincontent" %]
|
|
[% IF ( opacfacets ) %]
|
|
[% column_class = "col-lg-10 maincontent" %]
|
|
[% END %]
|
|
<div class="[% column_class | html %]">
|
|
[% IF ( searchdesc ) %]
|
|
[% IF ( total ) %]
|
|
[% IF quoted_hits %]
|
|
<h4 class="info">
|
|
[% tx("No result(s) found for your original query: {og_query}", { og_query = og_query }) | html %]<br />
|
|
[% t("Your search was retried, quoted") | html %]
|
|
</h4>
|
|
[% END %]
|
|
<h1 id="numresults">
|
|
Your search returned [% total | html %] results.
|
|
<a
|
|
href="[% OPACBaseURL | url %]/cgi-bin/koha/opac-search.pl?[% query_cgi | $raw %][% limit_cgi | $raw %]&count=[% countrss |uri %]&sort_by=acqdate_dsc&format=rss"
|
|
class="btn btn-link rsssearchlink noprint"
|
|
aria-label="Subscribe to this search"
|
|
>
|
|
<i class="fa fa-rss rsssearchicon" aria-hidden="true" title="Subscribe to this search"></i>
|
|
</a>
|
|
</h1>
|
|
[% IF ( related ) %]
|
|
<p>(related searches:[% FOREACH relate IN related %][% relate.related_search | html %][% END %]).</p>
|
|
[% END %]
|
|
[% END # / IF total %]
|
|
[% END # / IF searchdesc %]
|
|
|
|
[% IF ( total && some_results_hidden ) %]
|
|
<p class="alert alert-info">Some results are hidden due to library policy.</p>
|
|
[% END %]
|
|
|
|
<div id="userresults">
|
|
[% IF ( DidYouMean ) %]
|
|
<div id="didyoumean">Not what you expected? Check for <a href="/cgi-bin/koha/svc/suggestion?render=standalone&q=[% querystring | uri %]">suggestions</a></div>
|
|
[% END %]
|
|
|
|
[% IF ( total ) %]
|
|
[% IF ( ReturnPath ) %]
|
|
<div class="returntosearch">
|
|
<p><a href="[% ReturnPath | url %]">Return to the last advanced search</a></p>
|
|
</div>
|
|
[% END %]
|
|
[% END %]
|
|
[% IF ( query_error ) %]
|
|
<div class="alert alert-warning">
|
|
<h2>Error:</h2>
|
|
[% query_error | html %]
|
|
</div>
|
|
[% END %]
|
|
|
|
<!-- Search Results Table -->
|
|
[% IF ( total ) %]
|
|
<div class="searchresults">
|
|
<form action="/cgi-bin/koha/opac-search.pl" method="get" name="bookbag_form" id="bookbag_form">
|
|
<legend class="visually-hidden">Sort</legend>
|
|
[% IF ( searchdesc ) %]
|
|
[% FOREACH QUERY_INPUT IN QUERY_INPUTS %]
|
|
<input type="hidden" name="[% QUERY_INPUT.input_name | html %]" value="[% QUERY_INPUT.input_value | html %]" />
|
|
[% END %]
|
|
[% FOREACH LIMIT_INPUT IN LIMIT_INPUTS %]
|
|
<input type="hidden" name="[% LIMIT_INPUT.input_name | html %]" value="[% LIMIT_INPUT.input_value | html %]" />
|
|
[% END %]
|
|
[% END # IF /searchdesc %]
|
|
|
|
<div id="floating" class="sticky">
|
|
<div id="toolbar" class="toolbar row align-items-center">
|
|
<div id="top-pages" class="col"> [% INCLUDE 'page-numbers.inc' %] </div>
|
|
[% UNLESS no_page_results %]
|
|
[% UNLESS tag %]
|
|
<div class="sort_by col-sm-auto">
|
|
<label for="sort_by">Sort results by:</label>
|
|
<label for="sort_by" class="visually-hidden">Sort by:</label>
|
|
<select id="sort_by" class="resort form-select form-select-sm" name="sort_by">
|
|
[% INCLUDE 'resort_form.inc' %]
|
|
</select>
|
|
|
|
[% IF Koha.Preference('OPACnumSearchResultsDropdown') %]
|
|
<label for="results_per_page">Results per page: </label>
|
|
<select id="results_per_page" class="form-select" name="count">
|
|
[% IF Koha.Preference('OPACnumSearchResults') %]
|
|
[% IF results_per_page == Koha.Preference('OPACnumSearchResults') %]
|
|
<option value="[% Koha.Preference('OPACnumSearchResults') | html %]" selected="selected">[% Koha.Preference('OPACnumSearchResults') | html %] (default)</option>
|
|
[% ELSE %]
|
|
<option value="[% Koha.Preference('OPACnumSearchResults') | html %]">[% Koha.Preference('OPACnumSearchResults') | html %] (default)</option>
|
|
[% END %]
|
|
[% END %]
|
|
[% IF results_per_page == '20' %]<option value="20" selected="selected">20</option>[% ELSE %]<option value="20">20</option>[% END %]
|
|
[% IF results_per_page == '40' %]<option value="40" selected="selected">40</option>[% ELSE %]<option value="40">40</option>[% END %]
|
|
[% IF results_per_page == '60' %]<option value="60" selected="selected">60</option>[% ELSE %]<option value="60">60</option>[% END %]
|
|
[% IF results_per_page == '80' %]<option value="80" selected="selected">80</option>[% ELSE %]<option value="80">80</option>[% END %]
|
|
[% IF results_per_page == '100' %]<option value="100" selected="selected">100</option>[% ELSE %]<option value="100">100</option>[% END %]
|
|
</select>
|
|
[% END # IF Koha.Preference('OPACnumSearchResultsDropdown') %]
|
|
</div>
|
|
<!-- /.sort_by -->
|
|
<div id="sortsubmit" class="sort_by col-auto">
|
|
<input type="submit" class="btn btn-primary btn-sm clearfix" value="Go" />
|
|
</div>
|
|
<!-- /.sort_by -->
|
|
[% END # /UNLESS tag %]
|
|
[% END %]
|
|
</div>
|
|
<!-- / #toolbar -->
|
|
|
|
[% INCLUDE 'result-batch-controls.inc' results=1 %]
|
|
[% IF no_page_results %]
|
|
<p>Search results on this page are not available.</p>
|
|
[% END %]
|
|
</div>
|
|
<!-- /#floating -->
|
|
|
|
[% UNLESS no_page_results %]
|
|
<!-- TABLE RESULTS START -->
|
|
<table class="table table-striped" role="presentation">
|
|
<span class="visually-hidden">Results</span>
|
|
|
|
<!-- Actual Search Results -->
|
|
[% FOREACH SEARCH_RESULT IN SEARCH_RESULTS %]
|
|
<tr>
|
|
[%# Cell 1: Checkbox %]
|
|
[% IF ( SEARCH_RESULT.title ) %]
|
|
[% check_title = SEARCH_RESULT.title %]
|
|
[% ELSE %]
|
|
[% check_title = SEARCH_RESULT.biblionumber %]
|
|
[% END %]
|
|
<td class="selectcol">
|
|
[% IF Koha.Preference( 'opacbookbag' ) == 1 %]
|
|
<input
|
|
type="checkbox"
|
|
class="cb"
|
|
id="bib[% SEARCH_RESULT.biblionumber | html %]"
|
|
name="biblionumber"
|
|
value="[% SEARCH_RESULT.biblionumber | html %]"
|
|
aria-label="Select search result: [% check_title | html %]"
|
|
/>
|
|
<label for="bib[% SEARCH_RESULT.biblionumber | html %]"></label>
|
|
[% ELSE %]
|
|
[% IF Koha.Preference( 'virtualshelves' ) == 1 %]
|
|
<input
|
|
type="checkbox"
|
|
class="cb"
|
|
id="bib[% SEARCH_RESULT.biblionumber | html %]"
|
|
name="biblionumber"
|
|
value="[% SEARCH_RESULT.biblionumber | html %]"
|
|
aria-label="Select search result: [% check_title | html %]"
|
|
/>
|
|
<label for="bib[% SEARCH_RESULT.biblionumber | html %]"></label>
|
|
[% ELSE %]
|
|
[% IF Koha.Preference( 'OPACHoldRequests' ) == 1 %]
|
|
[% UNLESS ( SEARCH_RESULT.norequests ) %]
|
|
[% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
|
|
<input
|
|
type="checkbox"
|
|
class="cb"
|
|
id="bib[% SEARCH_RESULT.biblionumber | html %]"
|
|
name="biblionumber"
|
|
value="[% SEARCH_RESULT.biblionumber | html %]"
|
|
aria-label="Select search result: [% check_title | html %]"
|
|
/>
|
|
<label for="bib[% SEARCH_RESULT.biblionumber | html %]"></label>
|
|
[% END %]
|
|
[% END %]
|
|
[% END # IF OPACHoldRequests %]
|
|
[% END # IF virtualshelves %]
|
|
[% END # IF opacbookbag %]
|
|
</td>
|
|
|
|
[%# Cell 2: Show result number if OpacHiddenItems is empty %]
|
|
<td class="numcol[%- IF suppress_result_number -%]hidden[%- END -%]">
|
|
[% UNLESS suppress_result_number %]
|
|
[% SEARCH_RESULT.result_number | html %].
|
|
[% END %]
|
|
</td>
|
|
|
|
[% IF ( !item_level_itypes || Koha.Preference('BiblioItemtypeInfo') ) && !Koha.Preference('OpacNoItemTypeImages') %]
|
|
[%# Cell 3: Show item type image %]
|
|
<td class="itypecol">
|
|
[% IF ( SEARCH_RESULT.imageurl ) %]
|
|
<img class="itemtype-image" src="[% SEARCH_RESULT.imageurl | html %]" title="[% SEARCH_RESULT.description | html %]" alt="[% SEARCH_RESULT.description | html %]" />
|
|
[% END %]
|
|
[% IF ( SEARCH_RESULT.score_avg ) %]
|
|
<img src="[% themelang | html %]/../images/bonus.png" title="bonus" style="max-height: 35px;" />
|
|
[% END %]
|
|
</td>
|
|
[% END %]
|
|
[% IF ( CoverImages) %]
|
|
<td class="covercol"> [% INCLUDE 'cover-images.inc' %] </td>
|
|
[% END %]
|
|
[%# Cell 4: Search result details and controls %]
|
|
<td class="bibliocol">
|
|
[% IF ( COinSinOPACResults && SEARCH_RESULT.coins ) %]
|
|
<!-- COinS / Openurl -->
|
|
<span class="Z3988" title="[% SEARCH_RESULT.coins | html %]"></span>
|
|
[% END %]
|
|
<div id="title_summary_[% SEARCH_RESULT.biblionumber | html %]" class="title_summary">
|
|
[% SEARCH_RESULT.XSLTResultsRecord | $raw %]
|
|
|
|
[% IF ( SEARCH_RESULT.score_avg ) %]
|
|
<div class="results_summary">
|
|
[% FOREACH i IN [ 1 2 3 4 5 ] %]
|
|
[% IF ( SEARCH_RESULT.score_int >= i ) %]
|
|
<div class="star-rating rater-[% i | html %] star star-rating-applied star-rating-readonly star-rating-on"><a title="[% i | html %]">[% i | html %]</a></div>
|
|
[% ELSE %]
|
|
<div class="star-rating rater-[% i | html %] star star-rating-applied star-rating-readonly"><a title="[% i | html %]">[% i | html %]</a></div>
|
|
[% END %]
|
|
[% END %]
|
|
<span id="babeltheque-rating_total_[% SEARCH_RESULT.biblionumber | html %]"
|
|
> [% SEARCH_RESULT.score_avg | html %] / 5 (on [% SEARCH_RESULT.num_scores | html %] rates)</span
|
|
>
|
|
|
|
[% IF ( SEARCH_RESULT.num_critics ) %]
|
|
<span class="social_data">[% SEARCH_RESULT.num_critics | html %] Internet user critics</span>
|
|
[% END %]
|
|
[% IF ( SEARCH_RESULT.num_critics_pro ) %]
|
|
<span class="social_data">[% SEARCH_RESULT.num_critics_pro | html %] Professional critics</span>
|
|
[% END %]
|
|
[% IF ( SEARCH_RESULT.num_videos ) %]
|
|
<span class="social_data">[% SEARCH_RESULT.num_videos | html %] Video extracts</span>
|
|
[% END %]
|
|
[% IF ( SEARCH_RESULT.num_quotations ) %]
|
|
<span class="social_data">[% SEARCH_RESULT.num_quotations | html %] Quotations</span>
|
|
[% END %]
|
|
</div>
|
|
<!-- / .results_summary -->
|
|
[% END # / IF SEARCH_RESULT.score_avg %]
|
|
|
|
[% IF ( LibraryThingForLibrariesID ) %]
|
|
<div class="ltfl_reviews"></div>
|
|
[% END %]
|
|
|
|
[% IF ( TagsShowEnabled && SEARCH_RESULT.TagLoop.size ) %]
|
|
<div class="results_summary tags">
|
|
<span class="label">Tags:</span>
|
|
<ul>
|
|
[% FOREACH TagLoo IN SEARCH_RESULT.TagLoop %]
|
|
<li>
|
|
<a href="/cgi-bin/koha/opac-search.pl?tag=[% TagLoo.term | uri %]&q=[% TagLoo.term | uri %]">[% TagLoo.term | html %]</a>
|
|
<span class="weight">([% TagLoo.weight_total | html %])</span>
|
|
</li>
|
|
[% END %]
|
|
</ul>
|
|
</div>
|
|
[% END %]
|
|
|
|
[% IF Koha.Preference('virtualshelves') AND SEARCH_RESULT.shelves.count %]
|
|
<div class="results_summary shelves">
|
|
<span class="label">Lists:</span>
|
|
<ul>
|
|
[% FOREACH shelf IN SEARCH_RESULT.shelves %]
|
|
<li>
|
|
<a href="/cgi-bin/koha/opac-shelves.pl?op=view&shelfnumber=[% shelf.shelfnumber | uri %]">[% shelf.shelfname | html %]</a>
|
|
[%~ UNLESS loop.last %],[% ELSE %].[% END ~%]
|
|
</li>
|
|
[% END %]
|
|
</ul>
|
|
</div>
|
|
[% END %]
|
|
|
|
[% IF ( SEARCH_RESULT.searchhighlightblob ) %]
|
|
<span class="results_summary">
|
|
<span class="label">Match:</span>
|
|
[% SEARCH_RESULT.searchhighlightblob | html %]
|
|
</span>
|
|
[% END %]
|
|
|
|
[% INCLUDE "openlibrary-readapi.inc" bib = SEARCH_RESULT %]
|
|
|
|
[% IF ( OpacStarRatings == 'all' ) %]
|
|
<span class="visually-hidden"> star rating </span>
|
|
<div class="results_summary ratings">
|
|
[% SET rating_avg = SEARCH_RESULT.ratings.get_avg_rating() %]
|
|
[% rating_avg_int = BLOCK %][% rating_avg | format("%.0f") %][% END %]
|
|
<div class="br-wrapper br-theme-fontawesome-stars">
|
|
<div class="br-widget br-readonly">
|
|
[% FOREACH i IN [ 1 2 3 4 5 ] %]
|
|
[% IF rating_avg_int == i %]
|
|
<span class="br-selected br-current"></span>
|
|
[% ELSIF rating_avg_int > i %]
|
|
<span class="br-selected"></span>
|
|
[% ELSE %]
|
|
<span></span>
|
|
[% END %]
|
|
[% END %]
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<span class="visually-hidden"> Average : [% rating_avg | html %] out of 5 stars</span>
|
|
[% IF SEARCH_RESULT.ratings.count > 0 %]
|
|
<span id="rating_total_[% SEARCH_RESULT.biblionumber | html %]"> ([% SEARCH_RESULT.ratings.count | html %] votes)</span>
|
|
[% ELSE %]
|
|
<br />
|
|
[% END %]
|
|
<!-- / .results_summary -->
|
|
[% END # / IF OpacStarRatings %]
|
|
|
|
[% INCLUDE 'title-actions-menu.inc' items=SEARCH_RESULT %]
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
[% END # / FOREACH SEARCH_RESULT %]
|
|
</table>
|
|
[% END %]
|
|
</form>
|
|
<!-- / #bookbag_form -->
|
|
|
|
<form id="hold_form" name="hold_form" method="get" action="/cgi-bin/koha/opac-reserve.pl">
|
|
<!-- The value will be set by holdBiblioNums() in basket.js -->
|
|
<input id="hold_form_biblios" type="hidden" name="biblionumbers" value="" />
|
|
</form>
|
|
</div>
|
|
<!-- / .searchresults -->
|
|
|
|
<div id="bottom-pages">[% INCLUDE 'page-numbers.inc' %]</div>
|
|
[% END # / IF total %]
|
|
|
|
[%# Display "Not finding what you're looking for" for suggestion or ILL %]
|
|
[% IF Koha.Preference( 'suggestion' ) || Koha.Preference( 'ILLModule' ) %]
|
|
<div class="suggestion">
|
|
Not finding what you're looking for?
|
|
<ul>
|
|
[% IF Koha.Preference( 'suggestion' ) %]
|
|
<li>Make a <a href="/cgi-bin/koha/opac-suggestions.pl?op=add_form">purchase suggestion</a></li>
|
|
[% END %]
|
|
[% IF Koha.Preference( 'ILLModule' ) %]
|
|
[% IF Koha.Preference( 'AutoILLBackendPriority' ) %]
|
|
<li>Make an <a href="/cgi-bin/koha/opac-illrequests.pl?op=create&backend=Standard">interlibrary loan request</a></li>
|
|
[% ELSE %]
|
|
<li>Make an <a href="/cgi-bin/koha/opac-illrequests.pl?op=create">interlibrary loan request</a></li>
|
|
[% END %]
|
|
[% END %]
|
|
</ul>
|
|
</div>
|
|
[% END %]
|
|
</div>
|
|
<!-- / #userresults -->
|
|
</div>
|
|
<!-- /.span10/12 -->
|
|
</div>
|
|
<!-- / .row -->
|
|
</div>
|
|
<!-- / .container-fluid --> </main
|
|
><!-- / .main -->
|
|
|
|
[% INCLUDE 'opac-bottom.inc' %]
|
|
[% BLOCK jsinclude %]
|
|
[% IF ( LibraryThingForLibrariesID ) %]
|
|
<script src="https://ltfl.librarything.com/forlibraries/widget.js?id=[% LibraryThingForLibrariesID | html %]&systype=koha">
|
|
</script>
|
|
[% END %]
|
|
[% IF ( OverDriveEnabled ) %][% Asset.js("js/overdrive.js") | $raw %][% END %]
|
|
[% Asset.js("js/authtoresults.js") | $raw %]
|
|
[% IF ( OpacHighlightedWords ) %]
|
|
[% Asset.js("lib/jquery/plugins/jquery.highlight-5.js") | $raw %]
|
|
[% END %]
|
|
[% IF OpenLibraryCovers || OpenLibrarySearch %]
|
|
[% Asset.js("js/openlibrary.js") | $raw %]
|
|
[% END %]
|
|
[% Asset.js("lib/Chocolat/js/chocolat.js") | $raw %]
|
|
[% CoverImagePlugins | $raw %]
|
|
<script nonce="[% Koha.CSPNonce | $raw %]" data-tt-allowed="true">
|
|
const loggedinusername = [% ( loggedinusername ) ? 1 : 0 | html %];
|
|
const opacbookbag = [% ( opacbookbag ) ? 1 : 0 | html %];
|
|
const virtualshelves = [% ( virtualshelves ) ? 1 : 0 | html %];
|
|
var interface = "[% interface | html %]";
|
|
var theme = "[% theme | html %]";
|
|
const firstPage = [% firstPage ? 1 : 0 | html %];
|
|
Koha.addPrefs({
|
|
OpacHighlightedWords: [% Koha.Preference('OpacHighlightedWords') ? 1 : 0 | html %],
|
|
NotHighlightedWords: "[% Koha.Preference("NotHighlightedWords") | html %]",
|
|
GoogleJackets: [% Koha.Preference("GoogleJackets") ? 1 : 0 | html %],
|
|
OpenLibraryCovers: [% Koha.Preference("OpenLibraryCovers") ? 1 : 0 | html %],
|
|
OPACLocalCoverImages: [% Koha.Preference("OPACLocalCoverImages") ? 1 : 0 | html %],
|
|
OpacCoce: [% Koha.Preference('OpacCoce') ? 1 : 0 | html %],
|
|
CoceHost: "[% Koha.Preference('CoceHost') | html %]",
|
|
CoceProviders: "[% Koha.Preference('CoceProviders') | html %]",
|
|
OverDriveLibraryID: "[% Koha.Preference("OverDriveLibraryID") | html %]",
|
|
OpenLibrarySearch: [% Koha.Preference("OpenLibrarySearch") ? 1 : 0 | html %],
|
|
});
|
|
const OverDriveEnabled = [% OverDriveEnabled ? 1 : 0 | html %];
|
|
const DidYouMean = [% DidYouMean ? 1 : 0 | html %];
|
|
// query_desc and querystring are set in opac-bottom.inc
|
|
let query_desc_uri = "[% query_desc | uri %]";
|
|
let querystring_uri = "[% querystring | uri %]";
|
|
</script>
|
|
[% Asset.js("js/results-list.js") | $raw %]
|
|
[% Asset.js("js/cover_images.js") | $raw %]
|
|
<script nonce="[% Koha.CSPNonce | $raw %]">
|
|
if (Koha.prefs.OpacHighlightedWords) {
|
|
var q_array = new Array(); // holds search terms if available
|
|
|
|
function highlightOff() {
|
|
$("td").removeHighlight();
|
|
$(".highlight_toggle").toggle();
|
|
}
|
|
function highlightOn() {
|
|
var x;
|
|
for (x in q_array) {
|
|
q_array[x] = q_array[x].replace(/\w*:([\w])/, "$1");
|
|
q_array[x] = q_array[x].toLowerCase();
|
|
var myStopwords = Koha.prefs.NotHighlightedWords.toLowerCase().split("|");
|
|
if (q_array[x].length > 0 && $.inArray(q_array[x], myStopwords) == -1) {
|
|
$(".title").highlight(q_array[x]);
|
|
$(".author").highlight(q_array[x]);
|
|
$(".results_summary").highlight(q_array[x]);
|
|
}
|
|
}
|
|
$(".highlight_toggle").toggle();
|
|
}
|
|
}
|
|
|
|
let counter_wait = 0;
|
|
function wait_for_images(cb) {
|
|
var loaded = 1;
|
|
counter_wait++;
|
|
|
|
if (Koha.prefs.GoogleJackets) {
|
|
if (loaded) {
|
|
loaded = KOHA.Google.done;
|
|
}
|
|
}
|
|
|
|
if (Koha.prefs.OpenLibraryCovers) {
|
|
if (loaded) {
|
|
loaded = KOHA.OpenLibrary.done;
|
|
}
|
|
}
|
|
|
|
if (Koha.prefs.OpacCoce && Koha.prefs.CoceProviders) {
|
|
if (loaded) {
|
|
loaded = KOHA.coce.done;
|
|
}
|
|
}
|
|
|
|
if (!loaded && counter_wait < 50) {
|
|
// Do not wait more than 5 seconds
|
|
window.setTimeout(function () {
|
|
wait_for_images(cb);
|
|
}, 100);
|
|
} else {
|
|
if (counter_wait >= 50) {
|
|
}
|
|
cb();
|
|
}
|
|
}
|
|
|
|
$(window).load(function () {
|
|
wait_for_images(verify_cover_images);
|
|
});
|
|
|
|
$(document).ready(function () {
|
|
$(".moretoggle").click(function (e) {
|
|
e.preventDefault();
|
|
$(this).siblings(".collapsible-facet").toggle();
|
|
$(this).siblings(".moretoggle").toggle();
|
|
$(this).toggle();
|
|
});
|
|
|
|
if (Koha.prefs.OpacHighlightedWords) {
|
|
$("a.title").each(function () {
|
|
$(this).attr("href", $(this).attr("href") + "&query_desc=" + query_desc_uri);
|
|
});
|
|
}
|
|
|
|
$(".br-readonly a").on("click", function (e) {
|
|
e.preventDefault();
|
|
});
|
|
|
|
$(".resort").change(function () {
|
|
$("#bookbag_form").submit();
|
|
});
|
|
|
|
$("#results_per_page").change(function () {
|
|
$("#bookbag_form").submit();
|
|
});
|
|
|
|
if (query_desc) {
|
|
if (Koha.prefs.OpacHighlightedWords) {
|
|
q_array = query_desc.split(" ");
|
|
// ensure that we don't have "" at the end of the array, which can
|
|
// break the highlighter
|
|
while (q_array.length > 0 && q_array[q_array.length - 1] == "") {
|
|
q_array = q_array.splice(0, -1);
|
|
}
|
|
highlightOn();
|
|
$("#highlight_toggle_on")
|
|
.hide()
|
|
.click(function (e) {
|
|
e.preventDefault();
|
|
highlightOn();
|
|
});
|
|
$("#highlight_toggle_off")
|
|
.show()
|
|
.click(function (e) {
|
|
e.preventDefault();
|
|
highlightOff();
|
|
});
|
|
}
|
|
if (OverDriveEnabled && firstPage) {
|
|
var $overdrive_results = $('<div id="overdrive-results">' + _("Searching %s...").format("OverDrive") + ' <img class="throbber" src="' + interface + "/" + theme + '/images/spinner-small.gif" /></div>');
|
|
$("#numresults").after($overdrive_results);
|
|
//Clean querystring, first we remove CCL entities, then decode HTML entities, then swap double quotes for single quotes
|
|
//as the overdrive API treats double quotes as a search term and returns extra results
|
|
od_querystring = querystring.replace(/(?:^|\W)([\w-]+)(,[\w-]+)*([:=])/g, " ");
|
|
od_querystring = new DOMParser().parseFromString(od_querystring, "text/html").body.innerText;
|
|
od_querystring = od_querystring.replace(/\"/g, "'");
|
|
KOHA.OverDrive.Search(Koha.prefs.OverDriveLibraryID, od_querystring, 1, 0, function (data) {
|
|
if (data.error) {
|
|
$overdrive_results.html(_("Error searching %s collection").format("OverDrive"));
|
|
return;
|
|
}
|
|
|
|
if (data.totalItems) {
|
|
$overdrive_results.html(
|
|
'<a href="/cgi-bin/koha/opac-overdrive-search.pl?q=' + encodeURIComponent(od_querystring) + '">' + _("Found %s results in the library's %s collection").format(data.totalItems, "OverDrive") + "</a>"
|
|
);
|
|
} else {
|
|
$overdrive_results.remove();
|
|
}
|
|
});
|
|
}
|
|
if (Koha.prefs.OpenLibrarySearch) {
|
|
var $openlibrary_results = $('<div id="openlibrary-results">' + _("Searching %s...").format("OpenLibrary") + ' <img class="throbber" src="' + interface + "/" + theme + '/images/spinner-small.gif" /></div>');
|
|
$("#numresults").after($openlibrary_results);
|
|
KOHA.OpenLibrary.search(querystring, null, function (data) {
|
|
if (data.error) {
|
|
$openlibrary_results.html(_("Error searching %s collection").format("OpenLibrary"));
|
|
return;
|
|
}
|
|
|
|
if (data.numFound > 0) {
|
|
$openlibrary_results.html('<a href="' + KOHA.OpenLibrary.searchUrl(querystring) + '" target="openlibrary">' + _("Found %s results in the library's %s collection").format(data.numFound, "OpenLibrary") + "</a>");
|
|
} else {
|
|
$openlibrary_results.remove();
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
if (Koha.prefs.OpenLibraryCovers) {
|
|
KOHA.OpenLibrary.GetCoverFromIsbn();
|
|
}
|
|
if (Koha.prefs.OPACLocalCoverImages) {
|
|
KOHA.LocalCover.GetCoverFromBibnumber(false);
|
|
}
|
|
if (Koha.prefs.GoogleJackets) {
|
|
KOHA.Google.GetCoverFromIsbn();
|
|
}
|
|
if (Koha.prefs.OpacCoce && Koha.prefs.CoceProviders) {
|
|
KOHA.coce.getURL(Koha.prefs.CoceHost, Koha.prefs.CoceProviders);
|
|
}
|
|
|
|
if (DidYouMean) {
|
|
$("#didyoumean").load("/cgi-bin/koha/svc/suggestion?render=stub&q=" + querystring_uri, function () {
|
|
$(this).addClass("dym-loaded");
|
|
});
|
|
}
|
|
|
|
$("input.newtag").on("keydown", function (e) {
|
|
if (e.keyCode == 13) {
|
|
e.preventDefault();
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
[% END %]
|