4 [% SET TagsShowEnabled = ( ( Koha.Preference( 'TagsEnabled' ) == 1 ) && TagsShowOnList ) %]
5 [% SET TagsInputEnabled = ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'TagsEnabled' ) == 1 ) && TagsInputOnList ) %]
6 [% SET AdlibrisEnabled = Koha.Preference('AdlibrisCoversEnabled') %]
7 [% SET AdlibrisURL = Koha.Preference('AdlibrisCoversURL') %]
10 [% SET OverDriveEnabled = Koha.Preference('OverDriveClientKey') && Koha.Preference('OverDriveClientSecret') %]
11 [% SET RecordedBooksEnabled = Koha.Preference('RecordedBooksLibraryID') && Koha.Preference('RecordedBooksClientSecret') %]
14 [% INCLUDE 'doc-head-open.inc' %]
15 <title>[% IF ( LibraryNameTitle ) %][% LibraryNameTitle | html %][% ELSE %]Koha online[% END %] catalog ›
16 [% IF ( searchdesc ) %]
18 Results of search for '[% ms_value | html %]'
23 You did not specify any search criteria.
25 [% INCLUDE 'doc-head-close.inc' %]
27 <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=rss2" />
29 [% BLOCK cssinclude %][% END %]
30 [% INCLUDE 'bodytag.inc' bodyid='results' bodyclass='scrollto' %]
31 [% INCLUDE 'masthead.inc' %]
34 <ul class="breadcrumb">
35 <li><a href="/cgi-bin/koha/opac-main.pl">Home</a> <span class="divider">›</span></li>
36 [% IF ( searchdesc ) %]
37 [% IF ( ReturnPath ) %]
39 <a href="[% ReturnPath | url %]">Advanced search</a> <span class="divider">›</span>
44 <a href="#" 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 %]'</a>
46 <a href="#" title="You searched [% IF ( query_desc ) %] for '[% query_desc | html %]'[% END %][% IF ( limit_desc ) %] with limit(s): '[% limit_desc | html %]'[% END %]">Search results</a>
51 <a href="#">You did not specify any search criteria</a>
56 [% UNLESS ( total ) %]
57 <div class="container-fluid maincontent">
58 <div class="row-fluid">
60 <strong>No results found!</strong>
62 [% IF ( searchdesc ) %]
63 No results found for that in [% LibraryName | html %] catalog.
64 <a href="[% OPACBaseURL | url %]/cgi-bin/koha/opac-search.pl?[% query_cgi | $raw %][% limit_cgi | $raw %]&format=rss2" class="rsssearchlink noprint">
65 <i class="fa fa-rss rsssearchicon" title="Subscribe to this search"></i>
68 You did not specify any search criteria.
71 [% IF ( ReturnPath ) %]
72 <div class="returntosearch">
73 <p><a href="[% ReturnPath | url %]">Return to the last advanced search</a></p>
76 [% IF ( OPACNoResultsFound ) %]
77 <div id="noresultsfound">
78 [% OPACNoResultsFound | $raw %]
81 </div> <!-- / .span12 -->
82 </div> <!-- / .row-fluid -->
83 </div> <!-- / .container-fluid -->
84 [% END # / UNLESS searchdesc %]
86 <div id="maincontent" class="container-fluid">
87 <div class="row-fluid">
88 [% IF ( opacfacets && total ) %]
90 <div id="facetcontainer">
92 [% INCLUDE 'opac-facets.inc' %]
98 [% IF ( opacfacets && total ) %]<div class="span10 maincontent">[% ELSE %]<div class="span12 maincontent">[% END %]
100 [% IF ( searchdesc ) %]
102 [% IF ( total ) %]<strong>Your search returned [% total | html %] results.</strong>
105 [% FOREACH relate IN related %]
106 [% relate.related_search | html %]
110 <a href="[% OPACBaseURL | url %]/cgi-bin/koha/opac-search.pl?[% query_cgi | $raw %][% limit_cgi | $raw %]&format=rss2" class="rsssearchlink noprint">
111 <i class="fa fa-rss rsssearchicon" title="Subscribe to this search"></i>
113 [% END # / IF total %]
115 [% END # / IF searchdesc %]
117 <div id="userresults">
118 [% IF ( DidYouMean ) %]
119 <div id="didyoumean">Not what you expected? Check for <a href="/cgi-bin/koha/svc/suggestion?render=standalone&q=[% querystring |uri %]">suggestions</a></div>
122 [% IF ( koha_spsuggest ) %]
124 <ul style="list-style: none;">
125 [% FOREACH SPELL_SUGGES IN SPELL_SUGGEST %]
127 <a href="/cgi-bin/koha/opac-search.pl?q=[% SPELL_SUGGES.spsuggestion | uri %]">[% SPELL_SUGGES.spsuggestion | html %]</a>
131 [% END # / IF koha_spsuggest%]
133 [% IF ( ReturnPath ) %]
134 <div class="returntosearch">
135 <p><a href="[% ReturnPath | url %]">Return to the last advanced search</a></p>
139 [% IF ( query_error ) %]
140 <div class="dialog alert">
142 [% query_error | html %]
146 <!-- Search Results Table -->
149 <div class="searchresults">
150 <form action="/cgi-bin/koha/opac-search.pl" method="get" name="bookbag_form" id="bookbag_form" class="checkboxed">
151 [% IF ( searchdesc ) %]
152 [% FOREACH QUERY_INPUT IN QUERY_INPUTS %]
153 <input type="hidden" name="[% QUERY_INPUT.input_name | html %]" value="[% QUERY_INPUT.input_value | html %]"/>
155 [% FOREACH LIMIT_INPUT IN LIMIT_INPUTS %]
156 <input type="hidden" name="[% LIMIT_INPUT.input_name | html %]" value="[% LIMIT_INPUT.input_value | html %]"/>
158 [% END # IF /searchdesc %]
161 <div id="toolbar" class="toolbar clearfix">
162 <div id="top-pages" class="pull-left">[% INCLUDE 'page-numbers.inc' %]</div>
164 <div class="sort_by pull-right">
165 <select id="sort_by" class="resort" name="sort_by"> [% INCLUDE 'resort_form.inc' %] </select>
166 <input type="submit" class="btn btn-sm clearfix" id="sortsubmit" value="Go" />
169 </div> <!-- / #toolbar -->
171 <div id="selections-toolbar" class="toolbar noprint">
172 [% IF ( OpacHighlightedWords ) %]
173 <div class="highlight_controls noprint">
174 <a href="#" class="highlight_toggle" id="highlight_toggle_off">Unhighlight</a>
175 <a href="#" class="highlight_toggle" id="highlight_toggle_on">Highlight</a>
177 <span class="sep">|</span>
179 <!-- checkall, clearall are now needed for placehold -->
180 <span class="checkall"></span>
181 <span class="clearall"></span> <span class="sep">|</span>
184 [% IF ( ( Koha.Preference( 'opacbookbag' ) == 1 ) || ( Koha.Preference( 'virtualshelves' ) == 1 ) ) %]
185 <span class="addto"></span>
187 <span id="placehold"><!-- input class="submit" type="submit" value="Place Hold"/ --></span>
189 [% IF ( TagsInputEnabled && loggedinusername ) %]
190 <span id="tagsel_span">
191 <input id="tagsel_tag" class="disabled" type="submit" value="Tag"/>
193 <div id="tagsel_form" style="display:none">
194 <label for="tagsel_new">New tag:</label>
195 <input type="text" name="tagsel_new" id="tagsel_new" maxlength="100" />
196 <input id="tagsel_button" name="tagsel_button" class="tagsel_button btn btn-small" title="Add" type="submit" value="Add" />
197 <a href="#" id="tagsel_cancel">(done)</a>
199 <div id="tagsel_status" class="tagsel_tatus" style="display:none;">
203 </span> <!-- / .links -->
204 </div> <!-- / #selections-toolbar -->
205 </div> <!-- /#floating -->
207 <!-- TABLE RESULTS START -->
208 <table class="table table-striped">
210 <!-- Actual Search Results -->
211 [% FOREACH SEARCH_RESULT IN SEARCH_RESULTS %]
213 [% # Cell 1: Checkbox %]
214 <td class="select selectcol">
215 [% IF Koha.Preference( 'opacbookbag' ) == 1 %]
216 <input type="checkbox" class="cb" id="bib[% SEARCH_RESULT.biblionumber | html %]" name="biblionumber" value="[% SEARCH_RESULT.biblionumber | html %]" /> <label for="bib[% SEARCH_RESULT.biblionumber | html %]"></label>
218 [% IF Koha.Preference( 'virtualshelves' ) == 1 %]
219 <input type="checkbox" class="cb" id="bib[% SEARCH_RESULT.biblionumber | html %]" name="biblionumber" value="[% SEARCH_RESULT.biblionumber | html %]" /> <label for="bib[% SEARCH_RESULT.biblionumber | html %]"></label>
221 [% IF Koha.Preference( 'RequestOnOpac' ) == 1 %]
222 [% UNLESS ( SEARCH_RESULT.norequests ) %]
223 [% IF Koha.Preference( 'opacuserlogin' ) == 1 %]<input type="checkbox" class="cb" id="bib[% SEARCH_RESULT.biblionumber | html %]" name="biblionumber" value="[% SEARCH_RESULT.biblionumber | html %]" /> <label for="bib[% SEARCH_RESULT.biblionumber | html %]"></label>
226 [% END # IF RequestOnOpac %]
227 [% END # IF virtualshelves %]
228 [% END # IF opacbookbag%]
230 [% # Cell 2: Show result number if OpacHiddenItems is empty %]
231 <td class="select selectcol">
232 [% UNLESS suppress_result_number %]
233 [% SEARCH_RESULT.result_number | html %].
237 [% IF ( !item_level_itypes && !noItemTypeImages ) %]
238 [% # Cell 3: Show item type image %]
239 <td class="itypecol">
240 [% IF ( SEARCH_RESULT.imageurl ) %]
241 <img src="[% SEARCH_RESULT.imageurl | html %]" title="[% SEARCH_RESULT.description | html %]" alt="[% SEARCH_RESULT.description | html %]" />
243 [% IF ( SEARCH_RESULT.score_avg ) %]
244 <img src="[% themelang | html %]/../images/bonus.png" title="bonus" style="max-height: 35px;"/>
249 [% # Cell 4: Search result details and controls %]
250 <td class="bibliocol">
251 <div class="coverimages itemtype_[% SEARCH_RESULT.itemtype | html %]">
252 <a class="p1" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% SEARCH_RESULT.biblionumber | html %]">
253 [% IF ( OPACLocalCoverImages ) %]
254 <span title="[% SEARCH_RESULT.biblionumber |url %]" class="[% SEARCH_RESULT.biblionumber | html %]" id="local-thumbnail[% loop.count | html %]"></span>
257 [% IF ( AdlibrisEnabled && SEARCH_RESULT.normalized_isbn ) %]
258 <span title="[% SEARCH_RESULT.biblionumber | html %]" id="adlibris-thumbnail[% loop.count | html %]">
259 <img src="[% AdlibrisURL | html %]?isbn=[% SEARCH_RESULT.normalized_isbn | html %]"
260 alt="Adlibris thumbnail for ISBN: [% SEARCH_RESULT.normalized_isbn | html %]" class="adlibris-cover" />
263 [% IF ( OPACAmazonCoverImages ) %]
264 [% IF ( SEARCH_RESULT.normalized_isbn ) %]
265 <span title="[% SEARCH_RESULT.biblionumber | html %]" id="amazon-thumbnail[% loop.count | html %]"><img src="https://images-na.ssl-images-amazon.com/images/P/[% SEARCH_RESULT.normalized_isbn | html %].01.TZZZZZZZ.jpg" alt="" class="item-thumbnail" /></span>
267 <span class="no-image">No cover image available</span>
271 [% IF ( SyndeticsEnabled && SyndeticsCoverImages ) %]
272 [% IF ( SEARCH_RESULT.normalized_isbn || SEARCH_RESULT.normalized_upc || SEARCH_RESULT.normalized_oclc ) %]
273 <span title="[% SEARCH_RESULT.biblionumber | html %]" id="syndetics-thumbnail[% loop.count | html %]"><img src="https://secure.syndetics.com/index.aspx?isbn=[% SEARCH_RESULT.normalized_isbn | html %]/SC.GIF&client=[% SyndeticsClientCode | html %]&type=xw10&upc=[% SEARCH_RESULT.normalized_upc | html %]&oclc=[% SEARCH_RESULT.normalized_oclc | html %]" alt="" class="item-thumbnail" /></span>
275 <span class="no-image">No cover image available</span>
279 [% IF ( GoogleJackets ) %]
280 [% IF ( SEARCH_RESULT.normalized_isbn ) %]
281 <span title="[% SEARCH_RESULT.biblionumber |url %]" class="[% SEARCH_RESULT.normalized_isbn | html %]" id="gbs-thumbnail[% loop.count | html %]"></span>
283 <span class="no-image">No cover image available</span>
287 [% IF ( Koha.Preference('Coce') && Koha.Preference('CoceProviders') ) %]
288 [% coce_id = SEARCH_RESULT.normalized_ean || SEARCH_RESULT.normalized_isbn %]
290 <span title="[% SEARCH_RESULT.biblionumber |url %]" class="[% coce_id | html %]" id="coce-thumbnail[% loop.count | html %]"></span>
292 <span class="no-image">No cover image available</span>
296 [% IF OpenLibraryCovers %]
297 [% IF SEARCH_RESULT.normalized_isbn %]
298 <span title="[% SEARCH_RESULT.biblionumber | html %]" class="[% SEARCH_RESULT.normalized_isbn | html %]" id="openlibrary-thumbnail[% loop.count | html %]"></span>
300 <span class="no-image">No cover image available</span>
304 [% IF ( BakerTaylorEnabled && !BakerTaylorBookstoreURL ) %]
305 [% bt_id = ( SEARCH_RESULT.normalized_upc || SEARCH_RESULT.normalized_isbn ) %]
307 <img alt="See Baker & Taylor" src="[% BakerTaylorImageURL | html %][% bt_id | html %]" />
309 <span class="no-image">No cover image available</span>
314 [% IF ( BakerTaylorEnabled && BakerTaylorBookstoreURL ) %]
315 [% bt_id = ( SEARCH_RESULT.normalized_upc || SEARCH_RESULT.normalized_isbn ) %]
317 <a href="https://[% BakerTaylorBookstoreURL | uri %][% bt_id | uri %]">
318 <img alt="See Baker & Taylor" src="[% BakerTaylorImageURL | html %][% bt_id | html %]" />
321 <span class="no-image">No cover image available</span>
325 [% IF ( IDreamBooksResults && SEARCH_RESULT.normalized_isbn ) %]
326 <div class="idbresult" style="display: none;">
327 [% IF ( IDreamBooksReviews ) %]
328 <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% SEARCH_RESULT.biblionumber | uri %]#idb_critic_reviews">
330 <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% SEARCH_RESULT.biblionumber | uri %]">
332 [% SEARCH_RESULT.normalized_isbn | html %]</a>
336 [% IF ( COinSinOPACResults && SEARCH_RESULT.coins ) %]
337 <!-- COinS / Openurl -->
338 <span class="Z3988" title="[% SEARCH_RESULT.coins | html %]"></span>
341 [% IF ( OPACXSLTResultsDisplay ) %]
342 [% SEARCH_RESULT.XSLTResultsRecord | $raw %]
344 [% IF ( BiblioDefaultViewmarc ) %]
345 <a class="title" href="/cgi-bin/koha/opac-MARCdetail.pl?biblionumber=[% SEARCH_RESULT.biblionumber |url %]" title="View details for this title">
347 [% IF ( BiblioDefaultViewisbd ) %]
348 <a class="title" href="/cgi-bin/koha/opac-ISBDdetail.pl?biblionumber=[% SEARCH_RESULT.biblionumber |url %]" title="View details for this title">
350 <a class="title" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% SEARCH_RESULT.biblionumber |url %]" title="View details for this title">
354 [% IF ( SEARCH_RESULT.title ) %]
355 [% SEARCH_RESULT.title | html %]
360 [% FOREACH subtitl IN SEARCH_RESULT.subtitle %]
361 , [% subtitl | html %]
364 [% IF ( SEARCH_RESULT.author ) %]
365 by <a href="/cgi-bin/koha/opac-search.pl?q=au:[% SEARCH_RESULT.author |url %]" title="Search for works by this author" class="author">[% SEARCH_RESULT.author | html %]</a>
370 <span class="results_summary publisher">
371 <span class="label">Publication:</span>
372 [% IF ( SEARCH_RESULT.place ) %][% SEARCH_RESULT.place | html %] [% END %]
373 [% IF ( SEARCH_RESULT.publishercode ) %][% SEARCH_RESULT.publishercode | html %][% END %]
374 [% IF ( SEARCH_RESULT.publicationyear ) %]
375 [% SEARCH_RESULT.publicationyear | html %]
377 [% IF ( SEARCH_RESULT.copyrightdate ) %]
378 [% SEARCH_RESULT.copyrightdate | html %]
381 [% IF ( SEARCH_RESULT.pages ) %]. [% SEARCH_RESULT.pages | html %][% END %]
382 [% IF ( SEARCH_RESULT.notes ) %], [% SEARCH_RESULT.notes | html %][% END %]
383 [% IF ( SEARCH_RESULT.size ) %] [% SEARCH_RESULT.size | html %][% END %]
384 [% IF ( SEARCH_RESULT.timestamp ) %] <i>(modified on [% SEARCH_RESULT.timestamp | html %])</i>[% END %]
387 [% IF ( SEARCH_RESULT.summary ) %]
388 <span class="result_summary">
389 [% SEARCH_RESULT.summary | html %]
393 [% IF ( SEARCH_RESULT.copyrightdate ) %]
394 <span class="results_summary date">
395 <span class="label">Date:</span>
396 [% SEARCH_RESULT.copyrightdate | html %]
400 <span class="results_summary">
401 <span class="label">Availability:</span>
402 [% IF ( SEARCH_RESULT.available_items_loop.size() ) %]
403 <span class="available"><strong>Items available:</strong>
404 [% FOREACH available_items_loo IN SEARCH_RESULT.available_items_loop %]
405 [% IF available_items_loo.this_branch %]
406 <span class="highlight-row-results">
411 [% IF ( singleBranchMode ) %]
412 <span class="shelvingloc">[% available_items_loo.location | html %]</span>
414 [% available_items_loo.branchname | html %]
417 [% IF ( OPACItemsResultsDisplay ) %]
418 [% UNLESS ( singleBranchMode ) %]<span class="shelvingloc">[% available_items_loo.location | html %]</span>[% END %]
419 [% IF ( available_items_loo.itemcallnumber ) %][<a href="/cgi-bin/koha/opac-search.pl?q=callnum:%22[% available_items_loo.itemcallnumber |url %]%22">[% available_items_loo.itemcallnumber | html %]</a>][% END %]
421 ([% available_items_loo.count | html %]),
423 [% END # / FOREACH available_items_loo %]
426 [% IF ( SEARCH_RESULT.ALTERNATEHOLDINGS ) %]
427 [% FOREACH ALTERNATEHOLDING IN SEARCH_RESULT.ALTERNATEHOLDINGS %]
428 <span id="alternateholdings">[% ALTERNATEHOLDING.holding | html %]</span>,
431 <span class="unavailable">No items available:</span>
433 [% END # / IF SEARCH_RESULT.available_items_loop.size %]
435 <span class="unavailable">
436 [% IF ( SEARCH_RESULT.onloancount ) %] Checked out ([% SEARCH_RESULT.onloancount | html %]), [% END %]
437 [% IF ( SEARCH_RESULT.withdrawncount ) %] Withdrawn ([% SEARCH_RESULT.withdrawncount | html %]), [% END %]
438 [% UNLESS ( SEARCH_RESULT.hidelostitems ) %][% IF ( SEARCH_RESULT.itemlostcount ) %] Lost ([% SEARCH_RESULT.itemlostcount | html %]),[% END %][% END %]
439 [% IF ( SEARCH_RESULT.damagedcount ) %] Damaged ([% SEARCH_RESULT.damagedcount | html %]),[% END %]
440 [% IF ( SEARCH_RESULT.orderedcount ) %] On order ([% SEARCH_RESULT.orderedcount | html %]),[% END %]
441 [% IF ( SEARCH_RESULT.onholdcount ) %] On hold ([% SEARCH_RESULT.onholdcount | html %]),[% END %]
442 [% IF ( SEARCH_RESULT.intransitcount ) %] In transit ([% SEARCH_RESULT.intransitcount | html %]),[% END %]
444 </span> <!-- / .results_summary -->
445 [% END # / IF OPACXSLTResultsDisplay %]
447 [% IF ( SEARCH_RESULT.score_avg ) %]
448 <div class="results_summary">
449 [% FOREACH i IN [ 1 2 3 4 5 ] %]
450 [% IF ( SEARCH_RESULT.score_int >= i ) %]
451 <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>
453 <div class="star-rating rater-[% i | html %] star star-rating-applied star-rating-readonly"><a title="[% i | html %]">[% i | html %]</a></div>
456 <span id="babeltheque-rating_total_[% SEARCH_RESULT.biblionumber | html %]"> [% SEARCH_RESULT.score_avg | html %] / 5 (on [% SEARCH_RESULT.num_scores | html %] rates)</span>
458 [% IF ( SEARCH_RESULT.num_critics ) %]
459 <span class="social_data">[% SEARCH_RESULT.num_critics | html %] Internet user critics</span>
461 [% IF ( SEARCH_RESULT.num_critics_pro ) %]
462 <span class="social_data">[% SEARCH_RESULT.num_critics_pro | html %] Professional critics</span>
464 [% IF ( SEARCH_RESULT.num_videos ) %]
465 <span class="social_data">[% SEARCH_RESULT.num_videos | html %] Video extracts</span>
467 [% IF ( SEARCH_RESULT.num_quotations ) %]
468 <span class="social_data">[% SEARCH_RESULT.num_quotations | html %] Quotations</span>
470 </div> <!-- / .results_summary -->
471 [% END # / IF SEARCH_RESULT.score_avg %]
473 [% IF ( LibraryThingForLibrariesID ) %]
474 <div class="ltfl_reviews"></div>
477 [% IF ( TagsShowEnabled && SEARCH_RESULT.TagLoop.size ) %]
478 <div class="results_summary tags">
479 <span class="label">Tags:</span>
481 [% FOREACH TagLoo IN SEARCH_RESULT.TagLoop %]
483 <a href="/cgi-bin/koha/opac-search.pl?tag=[% TagLoo.term |url %]&q=[% TagLoo.term |url %]">[% TagLoo.term | html %]</a>
484 <span class="weight">([% TagLoo.weight_total | html %])</span>
491 [% IF Koha.Preference('virtualshelves') AND SEARCH_RESULT.shelves.count %]
492 <div class="results_summary shelves">
493 <span class="label">Lists:</span>
495 [% FOREACH shelf IN SEARCH_RESULT.shelves %]
497 <a href="/cgi-bin/koha/opac-shelves.pl?op=view&shelfnumber=[% shelf.shelfnumber | uri %]">[% shelf.shelfname | html %]</a>
498 [%~ UNLESS loop.last %], [% ELSE %].[% END ~%]
505 [% IF ( SEARCH_RESULT.searchhighlightblob ) %]
506 <span class="results_summary">
507 <span class="label">Match:</span>
508 [% SEARCH_RESULT.searchhighlightblob | html %]
512 [% IF ( OpacStarRatings == 'all' ) %]
513 <div class="results_summary ratings">
514 [% SET rating_avg = SEARCH_RESULT.ratings.get_avg_rating() %]
515 [% rating_avg_int = BLOCK %][% rating_avg | format("%.0f") %][% END %]
516 <div class="br-wrapper br-theme-fontawesome-stars">
517 <div class="br-widget br-readonly">
518 [% FOREACH i IN [ 1 2 3 4 5 ] %]
519 [% IF rating_avg_int == i %]
520 <a href="#" class="br-selected br-current"></a>
521 [% ELSIF rating_avg_int > i %]
522 <a href="#" class="br-selected"></a>
530 [% IF SEARCH_RESULT.ratings.count > 0 %]
531 <span id="rating_total_[% SEARCH_RESULT.biblionumber | html %]"> ([% SEARCH_RESULT.ratings.count | html %] votes)</span>
535 </div> <!-- / .results_summary -->
536 [% END # / IF OpacStarRatings %]
538 <div class="actions-menu noprint">
539 [% IF Koha.Preference( 'RequestOnOpac' ) == 1 %]
540 [% UNLESS ( SEARCH_RESULT.norequests ) %]
541 [% IF ( Koha.Preference( 'opacuserlogin' ) == 1 ) %]
542 <span class="actions"><a class="hold" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% SEARCH_RESULT.biblionumber | html %]">Place hold</a></span><!-- add back when available 0 holds in queue-->
543 [% END # / IF opacuserlogin && holdable %]
544 [% END # UNLESS SEARCH_RESULT.norequests %]
545 [% END # IF RequestOnOpac %]
547 [% IF ( Koha.Preference( 'opacuserlogin' ) == 1 ) %]
548 [% IF SEARCH_RESULT.artreqpossible %]
549 <span class="actions"><a class="article_request" href="/cgi-bin/koha/opac-request-article.pl?biblionumber=[% SEARCH_RESULT.biblionumber | html %]">Request article</a></span>
553 [% IF ( TagsInputEnabled ) %]
554 [% IF ( loggedinusername ) %]
555 <span class="actions"><a class="tag_add" id="tag_add[% SEARCH_RESULT.biblionumber | html %]" href="#">Add tag</a></span>
556 <div id="tagform[% SEARCH_RESULT.biblionumber | html %]" class="tag_results_input" style="display:none;">
557 <label for="newtag[% SEARCH_RESULT.biblionumber | html %]">New tag(s), separated by a comma:</label>
558 <input type="text" name="newtag[% SEARCH_RESULT.biblionumber | html %]" id="newtag[% SEARCH_RESULT.biblionumber | html %]" class="newtag" maxlength="100" />
559 <input name="tagbutton" class="btn btn-small tagbutton" title="[% SEARCH_RESULT.biblionumber | html %]" type="submit" value="Add" />
560 <a class="cancel_tag_add" id="cancel[% SEARCH_RESULT.biblionumber | html %]" href="#">(done)</a>
562 <span id="newtag[% SEARCH_RESULT.biblionumber | html %]_status" class="tagstatus" style="display:none;">
565 [% ELSIF ( loop.first ) %]
566 <span class="actions"><span id="login4tags">Log in to add tags.</span></span>
567 [% END # IF loggedinusername %]
568 [% END # if TagsInputEnabled %]
570 [% IF ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && loggedinusername && ( Koha.Preference( 'virtualshelves' ) == 1 ) ) %]
571 <span class="actions"><a class="addtoshelf" href="/cgi-bin/koha/opac-addbybiblionumber.pl?biblionumber=[% SEARCH_RESULT.biblionumber | html %]" onclick="Dopop('opac-addbybiblionumber.pl?biblionumber=[% SEARCH_RESULT.biblionumber | html %]'); return false;">Save to lists</a></span>
574 [% IF Koha.Preference( 'opacbookbag' ) == 1 %]
575 [% IF ( SEARCH_RESULT.incart ) %]
576 <span class="actions"><a data-biblionumber="[% SEARCH_RESULT.biblionumber | html %]" class="addtocart cart[% SEARCH_RESULT.biblionumber | html %]" href="#">In your cart</a> <a data-biblionumber="[% SEARCH_RESULT.biblionumber | html %]" class="cartRemove cartR[% SEARCH_RESULT.biblionumber | html %]" href="#">(remove)</a></span>
578 <span class="actions"><a data-biblionumber="[% SEARCH_RESULT.biblionumber | html %]" class="addtocart cart[% SEARCH_RESULT.biblionumber | html %]" href="#">Add to your cart</a> <a style="display:none;" data-biblionumber="[% SEARCH_RESULT.biblionumber | html %]" class="cartRemove cartR[% SEARCH_RESULT.biblionumber | html %]" href="#">(remove)</a></span>
580 [% END # / IF opacbookbag %]
583 [% INCLUDE "openlibrary-readapi.inc" bib = SEARCH_RESULT %]
587 [% END # / FOREACH SEARCH_RESULT %]
589 </form> <!-- / #bookbag_form -->
591 <form id="hold_form" name="hold_form" method="get" action="/cgi-bin/koha/opac-reserve.pl">
592 <!-- The value will be set by holdBiblioNums() in basket.js -->
593 <input id="hold_form_biblios" type="hidden" name="biblionumbers" value=""/>
595 </div> <!-- / .searchresults -->
597 <div id="bottom-pages">[% INCLUDE 'page-numbers.inc' %]</div>
599 [% END # / IF total %]
601 [% IF Koha.Preference( 'suggestion' ) == 1 && ( Koha.Preference( 'AnonSuggestions' ) == 1 || loggedinusername || Koha.Preference( 'ILLModule' ) == 1 ) %]
602 <div class="suggestion">
603 Not finding what you're looking for?
605 [% IF Koha.Preference( 'AnonSuggestions' ) == 1 %]
606 <li>Make a <a href="/cgi-bin/koha/opac-suggestions.pl?op=add">purchase suggestion</a></li>
608 [% IF ( loggedinusername ) %]
609 <li>Make a <a href="/cgi-bin/koha/opac-suggestions.pl?op=add">purchase suggestion</a></li>
612 [% IF Koha.Preference( 'ILLModule' ) == 1 && loggedinusername %]
613 <li>Make an <a href="/cgi-bin/koha/opac-illrequests.pl?op=create">Interlibrary loan request</a></li>
618 </div> <!-- / #userresults -->
619 </div> <!-- /.span10/12 -->
620 </div> <!-- / .row-fluid -->
621 </div> <!-- / .container-fluid -->
622 </div><!-- / .main -->
624 [% INCLUDE 'opac-bottom.inc' %]
625 [% BLOCK jsinclude %]
626 [% IF ( LibraryThingForLibrariesID ) %]
627 <script src="https://ltfl.librarything.com/forlibraries/widget.js?id=[% LibraryThingForLibrariesID | html %]&systype=koha"></script>
629 [% IF ( OverDriveEnabled ) %][% Asset.js("js/overdrive.js") | $raw %][% END %]
630 [% IF ( RecordedBooksEnabled ) %][% Asset.js("js/recordedbooks.js") | $raw %][% END %]
631 [% Asset.js("lib/jquery/plugins/jquery.checkboxes.min.js") | $raw %]
632 [% Asset.js("js/authtoresults.js") | $raw %]
633 [% Asset.js("lib/hc-sticky.js") | $raw %]
634 [% IF ( OpacHighlightedWords ) %][% Asset.js("lib/jquery/plugins/jquery.highlight-3.js") | $raw %]
637 [% IF ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'RequestOnOpac' ) == 1 ) %]
638 function holdMultiple() {
639 var checkedBiblioNums = ""; // Separated by "/"
640 var checkedCount = 0;
641 if(document.bookbag_form.biblionumber.length > 0) {
642 for (var i=0; i < document.bookbag_form.biblionumber.length; i++) {
643 if (document.bookbag_form.biblionumber[i].checked) {
644 checkedBiblioNums += (document.bookbag_form.biblionumber[i].value + "/");
650 if (checkedCount > 0) {
651 holdBiblioNums(checkedBiblioNums);
653 alert(MSG_NO_RECORD_SELECTED);
657 function holdBiblioNums(numList) {
658 // numList: biblio numbers separated by "/"
659 $("#hold_form_biblios").attr("value", numList);
660 $("#hold_form").submit();
663 [% IF ( TagsInputEnabled && loggedinusername ) %]
664 function tagSelected() {
665 var checkedBoxes = $(".searchresults :checkbox:checked");
666 if ($(checkedBoxes).size() == 0) {
667 alert(MSG_NO_RECORD_SELECTED);
669 $("#tagsel_tag").hide();
671 $("#tagsel_form").show();
675 function tagCanceled() {
676 $("#tagsel_form").hide();
677 $("#tagsel_tag").show();
679 $("#tagsel_new").val("");
680 $("#tagsel_status, .tagstatus").empty().hide();
683 function tagAdded() {
684 var checkedBoxes = $(".searchresults :checkbox:checked");
685 if ($(checkedBoxes).size() == 0) {
686 alert(MSG_NO_RECORD_SELECTED);
690 var tag = $("#tagsel_new").val();
691 if (!tag || (tag == "")) {
692 alert(MSG_NO_TAG_SPECIFIED);
697 for (var i = 0; i < $(checkedBoxes).size(); i++) {
698 var box = $(checkedBoxes).get(i);
699 bibs[i] = $(box).val();
702 KOHA.Tags.add_multitags_button(bibs, tag);
707 function enableCheckboxActions(){
708 // Enable/disable controls if checkboxes are checked
709 var checkedBoxes = $(".checkboxed input:checkbox:checked");
710 var controls = $("#selections-toolbar .links a, #selections-toolbar .links input, #selections-toolbar .links select, , #selections-toolbar .links label")
711 if ($(checkedBoxes).size()) {
712 $("#selections").html(_("With selected titles: "));
713 $(controls).removeClass("disabled");
715 $("#selections").html(_("Select titles to: "));
716 $(controls).addClass("disabled");
720 [% IF ( OpacHighlightedWords ) %]
721 var q_array = new Array(); // holds search terms if available
723 function highlightOff() {
724 $("td").removeHighlight();
725 $(".highlight_toggle").toggle();
727 function highlightOn() {
730 q_array[x] = q_array[x].replace(/\w*:([\w])/, "$1");
731 q_array[x] = q_array[x].toLowerCase();
732 var myStopwords = "[% Koha.Preference('NotHighlightedWords') | html %]".toLowerCase().split('|');
733 if ( (q_array[x].length > 0) && ($.inArray(q_array[x], myStopwords) == -1) ) {
734 $(".title").highlight(q_array[x]);
735 $(".author").highlight(q_array[x]);
736 $(".results_summary").highlight(q_array[x]);
739 $(".highlight_toggle").toggle();
742 $(document).ready(function(){
744 $(".moretoggle").click(function(e){
746 $(this).siblings(".collapsible-facet").toggle();
747 $(this).siblings(".moretoggle").toggle();
751 [% IF ( OpacHighlightedWords ) %]
752 $('a.title').each(function() {
753 $(this).attr("href", $(this).attr("href") + "&query_desc=[% query_desc | uri %]");
757 $(".cb").click(function(){
758 enableCheckboxActions();
760 enableCheckboxActions();
762 $(".br-readonly a").on("click", function(e){
766 [% IF ( IDreamBooksResults ) %]
767 $('.idbresult').each(function() {
768 var isbn = $(this).children('a').text().replace(/\s*/,'');
771 if ($.browser.msie && parseInt($.browser.version, 10) >= 8 && window.XDomainRequest) {
772 // Use Microsoft XDR for IE version 8 or above
773 var xdr = new XDomainRequest();
774 xdr.open("get", "https://idreambooks.com/newbooks/api.json?q="+encodeURIComponent(isbn)+"&key=8bf66516232d1b72f3e47df939653e1e");
775 xdr.onload = function() {
776 json = 'json = '+xdr.responseText; // the string now looks like.. json = { ... };
777 eval(json); // json is now a regular JSON object
778 if(json.total_results > 0 && json.book.rating > 0){
779 $(element).children('a').html("<img src='"+json.book.to_read_or_not_small+"' alt='"+json.book.title+_(" by ")+json.book.author+"' title='"+_("Rating based on reviews of ")+json.book.title+"'>"+json.book.rating+"%");
787 $.getJSON("https://idreambooks.com/newbooks/api.json?q="+encodeURIComponent(isbn)+"&key=8bf66516232d1b72f3e47df939653e1e", function(json){
788 if(json.total_results > 0 && json.book.rating > 0){
789 $(element).children('a').html("<img src='"+json.book.to_read_or_not_small+"' alt='"+json.book.title+_(" by ")+json.book.author+"' title='"+_("Rating based on reviews of ")+json.book.title+"'>"+json.book.rating+"%");
800 [% IF ( ( Koha.Preference( 'opacbookbag' ) == 1 ) || ( Koha.Preference( 'virtualshelves' ) == 1 ) || loggedinusername ) %]
801 param1 += "<span id=\"selections\">"+_("Select titles to: ")+"</span>";
804 [% IF Koha.Preference( 'opacbookbag' ) == 1 OR Koha.Preference('virtualshelves') %]
805 param1 += "<select class=\"disabled\" name=\"addto\" id=\"addto\"><option>"+_("Add to...")+"</option>";
807 [% IF Koha.Preference( 'opacbookbag' ) == 1 %]
808 param1 += "<option value=\"addtocart\">"+_("Cart")+"<\/option>";
810 [% IF Koha.Preference('virtualshelves') %]
811 [% IF loggedinusername AND add_to_some_private_shelves.count %]
812 param1 += "<optgroup label=\""+_("Your lists:")+"\">";
813 [% SET number_of_private_shelves = 0 %]
814 [% FOREACH s IN add_to_some_private_shelves %]
815 [% IF shelfnumber != s.shelfnumber %]
816 param1 += "<option id=\"s[% s.shelfnumber | html %]\" value=\"addtolist\">[% s.shelfname | html %]<\/option>";
817 [% SET number_of_private_shelves = number_of_private_shelves + 1 %]
818 [% IF number_of_private_shelves == 10 %][% LAST %][% END %]
821 param1 += "<\/optgroup>";
823 [% IF add_to_some_public_shelves.count %]
824 param1 += "<optgroup label=\""+_("Public lists:")+"\">";
825 [% SET number_of_public_shelves = 0 %]
826 [% FOREACH s IN add_to_some_public_shelves %]
827 [% IF shelfnumber != s.shelfnumber %]
828 param1 += "<option id=\"s[% s.shelfnumber | html %]\" value=\"addtolist\">[% s.shelfname | html %]<\/option>";
829 [% SET number_of_public_shelves = number_of_public_shelves + 1 %]
830 [% IF number_of_public_shelves == 10 %][% LAST %][% END %]
833 param1 += "<\/optgroup>";
835 [% IF ( add_to_some_private_shelves and add_to_some_private_shelves.count > 10 ) or ( add_to_some_public_shelves and add_to_some_public_shelves.count > 10 ) %]
836 param1 += "<option value=\"morelists\">[ "+_("More lists")+" ]<\/option>";
838 param1 +="<option value=\"newlist\">"+_("[ New list ]")+"<\/option>"
840 param1 += "<\/select> <input type=\"submit\" class=\"btn btn-small\" value=\""+_("Save")+"\" />";
843 $('#sortsubmit').hide();
844 $('.resort').change(function() {
845 $('#bookbag_form').submit();
847 $("span.clearall").html("<a id=\"CheckNone\" href=\"#\">"+_("Clear all")+"<\/a>");
848 $("span.checkall").html("<a id=\"CheckAll\" href=\"#\">"+_("Select all")+"<\/a>");
850 [% IF Koha.Preference( 'opacbookbag' ) == 1 %]
851 $("span.addto").html(param1);
853 [% IF ( ( Koha.Preference( 'virtualshelves' ) == 1 ) && loggedinusername ) %]
854 $("span.addto").html(param1);
858 [% IF ( ( Koha.Preference( 'opacbookbag' ) == 1 ) || ( Koha.Preference( 'virtualshelves' ) == 1 ) ) %]
859 [% IF Koha.Preference( 'virtualshelves' ) == 1 %]
860 $("#addto").on("change",function(){
863 $(".addto").find("input:submit").click(function(){
868 $("#addto").on("click",function(){
876 addtoOption = $("#addto").find("option:selected");
877 addtoval = addtoOption.val();
878 if(addtoval == "addtolist"){
879 var shelfnumber = addtoOption.attr("id").replace("s","");
881 Dopop('/cgi-bin/koha/opac-addbybiblionumber.pl?selectedshelf='+shelfnumber+'&' + vShelfAdd());
884 } else if(addtoval == "newlist"){
885 [% IF ( loggedinusername ) %]if (vShelfAdd()) {
886 Dopop('/cgi-bin/koha/opac-addbybiblionumber.pl?newshelf=1&' + vShelfAdd());
888 alert(_("You must be logged in to create or add to lists"));
891 } else if(addtoval == "morelists"){
892 [% IF ( loggedinusername ) %]
894 Dopop('/cgi-bin/koha/opac-addbybiblionumber.pl?' + vShelfAdd());
897 alert(_("You must be logged in to create or add to lists"));
901 if(addtoval == "addtocart" || $("#addto").attr("class") == "addtocart"){
906 $("#CheckAll").click(function(){
907 $("#bookbag_form").checkCheckboxes();
908 enableCheckboxActions();
911 $("#CheckNone").click(function(){
912 $("#bookbag_form").unCheckCheckboxes();
913 enableCheckboxActions();
917 [% IF ( ( Koha.Preference( 'RequestOnOpac' ) == 1 ) && ( Koha.Preference( 'opacuserlogin' ) == 1 ) && DisplayMultiPlaceHold ) %]
918 $("#placehold").html("<input class=\"hold disabled\" type=\"submit\" value=\""+_("Place hold")+"\"/>");
919 $("#placehold").find("input:submit").click(function(){
925 [% IF ( query_desc ) %]
926 var query_desc = "[% query_desc |replace("'", "\'") |replace('\n', '\\n') |replace('\r', '\\r') | html %]";
927 var querystring = "[% querystring |replace("'", "\'") |replace('\n', '\\n') |replace('\r', '\\r') | html %]";
928 [% IF ( OpacHighlightedWords ) %]
929 q_array = query_desc.split(" ");
930 // ensure that we don't have "" at the end of the array, which can
931 // break the highlighter
932 while (q_array.length > 0 && q_array[q_array.length-1] == "") {
933 q_array = q_array.splice(0,-1);
936 $("#highlight_toggle_on" ).hide().click(function() {highlightOn() ;});
937 $("#highlight_toggle_off").show().click(function() {highlightOff();});
939 [% IF ( OverDriveEnabled ) %]
940 var $overdrive_results = $( '<div id="overdrive-results">' + MSG_SEARCHING.format('OverDrive') + ' <img class="throbber" src="[% interface | html %]/lib/jquery/plugins/themes/classic/throbber.gif" /></div>' );
941 $( '#numresults' ) .append( ' ' )
942 .append( $overdrive_results );
943 KOHA.OverDrive.Search( "[% Koha.Preference('OverDriveLibraryID') | html %]", querystring, 1, 0, function( data ) {
945 $overdrive_results.html( MSG_ERROR_SEARCHING_COLLECTION.format('OverDrive') );
949 if ( data.totalItems ) {
950 $overdrive_results.html( '<a href="/cgi-bin/koha/opac-overdrive-search.pl?q=' + escape( querystring ) + '">' + MSG_RESULTS_FOUND_IN_COLLECTION.format(data.totalItems, 'OverDrive') + '</a>' );
952 $overdrive_results.remove();
956 [% IF ( RecordedBooksEnabled ) %]
957 var $recordedbooks_results = $( '<div id="recordedbooks-results">' + MSG_SEARCHING.format('RecordedBooks') + ' <img class="throbber" src="[% interface | html %]/lib/jquery/plugins/themes/classic/throbber.gif" /></div>' );
958 $( '#numresults' ) .append( ' ' )
959 .append( $recordedbooks_results );
960 KOHA.RecordedBooks.search( querystring, [% OPACnumSearchResults || "null" | html %], null, function( data ) {
962 $recordedbooks_results.html( MSG_ERROR_SEARCHING_COLLECTION.format('RecordedBooks') + ': ' + data.error);
966 // data.total can be either 42 or "60+"
967 if ( typeof(data.total) === 'string' && data.total.charAt(0) > 0 || typeof(data.total) === 'number' && data.total > 0 ) {
968 $recordedbooks_results.html( '<a href="/cgi-bin/koha/opac-recordedbooks-search.pl?q=' + escape( querystring ) + '">' + MSG_RESULTS_FOUND_IN_COLLECTION.format(data.total, 'RecordedBooks') + '</a>' );
970 $recordedbooks_results.remove();
974 [% IF ( OpenLibrarySearch ) %]
975 var $openlibrary_results = $( '<div id="openlibrary-results">' + MSG_SEARCHING.format('OpenLibrary' ) + ' <img class="throbber" src="[% interface | html %]/lib/jquery/plugins/themes/classic/throbber.gif" /></div>' );
976 $( '#numresults' ) .append( ' ' )
977 .append( $openlibrary_results );
978 KOHA.OpenLibrary.search( querystring, null, function( data ) {
980 $openlibrary_results.html( MSG_ERROR_SEARCHING_COLLECTION.format('OpenLibrary') );
984 if ( data.numFound > 0 ) {
985 $openlibrary_results.html( '<a href="' + KOHA.OpenLibrary.searchUrl(querystring) + '" target="openlibrary">' + MSG_RESULTS_FOUND_IN_COLLECTION.format(data.numFound, 'OpenLibrary') + '</a>' );
987 $openlibrary_results.remove();
993 [% IF ( TagsInputEnabled && loggedinusername ) %]
994 $("#tagsel_tag").click(function(){
998 $("#tagsel_cancel").click(function(){
1002 $("#tagsel_button").click(function(){
1007 $(".tag_add").click(function(){
1008 var thisid = $(this).attr("id");
1009 thisid = thisid.replace("tag_add","");
1010 $(this).addClass("hidden");
1011 $("#tagform"+thisid).show();
1012 $("#newtag"+thisid).focus();
1013 $("#newtag"+thisid+"_status").empty().hide();
1016 $(".cancel_tag_add").click(function(){
1017 var thisid = $(this).attr("id");
1018 thisid = thisid.replace("cancel","");
1019 $("#tagform"+thisid).hide();
1020 $("#tag_add"+thisid).removeClass("hidden");
1021 $("#newtag"+thisid).val("");
1022 $("#newtag"+thisid+"_status").empty().hide();
1025 $(".tagbutton").click(function(){
1026 var thisid = $(this).attr("title");
1027 var tag = $("#newtag"+thisid).val();
1028 if (!tag || (tag == "")) {
1029 alert(MSG_NO_TAG_SPECIFIED);
1032 KOHA.Tags.add_tag_button(thisid, tag);
1037 [% IF OpenLibraryCovers %]KOHA.OpenLibrary.GetCoverFromIsbn();[% END %]
1038 [% IF OPACLocalCoverImages %]KOHA.LocalCover.GetCoverFromBibnumber(false);[% END %]
1039 [% IF ( GoogleJackets ) %]KOHA.Google.GetCoverFromIsbn();[% END %]
1040 [% IF ( Koha.Preference('Coce') && Koha.Preference('CoceProviders') ) %]
1041 KOHA.coce.getURL('[% Koha.Preference('CoceHost') | html %]', '[% Koha.Preference('CoceProviders') | html %]');
1044 [% IF ( DidYouMean ) %]
1045 $("#didyoumean").load("/cgi-bin/koha/svc/suggestion?render=stub&q=[% querystring |uri %]",
1047 $(this).addClass("dym-loaded");
1051 $("input.newtag").on('keydown', function(e){
1052 if (e.keyCode == 13) { e.preventDefault(); }
1055 Sticky = $("#floating");
1057 stickTo: ".searchresults",
1058 stickyClass: "floating"