3 [% USE AdditionalContents %]
4 [%- USE KohaPlugins -%]
6 [% SET opaccredits = AdditionalContents.get( location => "opaccredits", lang => lang, library => branchcode ) %]
7 [% PROCESS 'html_helpers.inc' %]
8 [% UNLESS ( is_popup ) %]
9 [% SET OpacLangSelectorMode = Koha.Preference('OpacLangSelectorMode') %]
10 [% IF ( opaccredits ) %]
11 <div class="container-fluid">
14 [% PROCESS koha_news_block news => opaccredits %]
18 [% END #/ opaccredits %]
20 [% IF ( Koha.Preference('OPACReportProblem') && Koha.Preference('KohaAdminEmailAddress') ) || OpacKohaUrl %]
21 <div class="container-fluid">
24 <div id="report-koha-url">
25 <div class="row justify-content-between">
26 [% IF Koha.Preference('OPACReportProblem') && Koha.Preference('KohaAdminEmailAddress') %]
28 <div id="report_a_problem" class="noprint">
29 <a class="koha-url" href="/cgi-bin/koha/opac-reportproblem.pl">Report a problem</a>
32 [% END # / IF Koha.Preference('OPACReportProblem') && Koha.Preference('KohaAdminEmailAddress') %]
35 <div id="koha_url" class="clearfix noprint">
37 [% IF template.name.match('opac-main.tt') %]
38 <a class="koha_url" href="http://koha-community.org">Koha</a>
40 <a class="koha_url" rel="nofollow" href="http://koha-community.org">Koha</a>
42 </div> <!-- /#koha_url -->
44 [% END # /IF OpacKohaUrl %]
45 </div> <!-- /.row.justify-content-between -->
46 </div> <!-- /#report-koha-url -->
49 </div> <!-- /.container-fluid -->
50 [% END # / OPACReportProblem || OpacKohaUrl %]
51 </div> <!-- / #wrapper in masthead.inc -->
53 [% IF OpacLangSelectorMode == 'both' || OpacLangSelectorMode == 'footer' %]
54 [% IF ( opaclanguagesdisplay ) %]
55 [% IF ( languages_loop && opaclanguagesdisplay ) %]
56 [% UNLESS ( one_language_enabled ) %]
57 <footer id="changelanguage" class="noprint">
60 <span class="navbar-text">Languages:</span>
62 [% FOREACH languages_loo IN languages_loop %]
63 [% IF ( languages_loo.group_enabled ) %]
64 [% IF ( languages_loo.plural ) %]
65 <li class="nav-item dropup">
66 <a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" id="show[% languages_loo.rfc4646_subtag | html %]">
67 [% IF ( languages_loo.native_description ) %]
68 [% languages_loo.native_description | html %]
70 [% languages_loo.rfc4646_subtag | html %]
72 </a><!-- /.nav-link.dropdown-toggle -->
73 <div id="sub[% languages_loo.rfc4646_subtag | html %]" class="dropdown-menu" aria-labelledby="show[% languages_loo.rfc4646_subtag | html %]">
74 [% FOREACH sublanguages_loo IN languages_loo.sublanguages_loop %]
75 [% IF ( sublanguages_loo.enabled ) %]
76 [% IF ( sublanguages_loo.sublanguage_current ) %]
77 <a class="dropdown-item" href="#">[% sublanguages_loo.native_description | html %] [% sublanguages_loo.script_description | html %] [% sublanguages_loo.region_description | html %] [% sublanguages_loo.variant_description | html %] ([% sublanguages_loo.rfc4646_subtag | html %])</a>
79 <a class="dropdown-item" href="/cgi-bin/koha/opac-changelanguage.pl?language=[% sublanguages_loo.rfc4646_subtag | uri %]"> [% sublanguages_loo.native_description | html %] [% sublanguages_loo.script_description | html %] [% sublanguages_loo.region_description | html %] [% sublanguages_loo.variant_description | html %] ([% sublanguages_loo.rfc4646_subtag | html %])</a>
81 [% END # / IF sublanguages_loo.enabled %]
82 [% END # / FOREACH sublanguages_loo %]
83 </div> <!-- /#sub[% languages_loo.rfc4646_subtag | html %] -->
84 </li> <!-- /.nav-item.dropup -->
86 [% IF ( languages_loo.group_enabled ) %]
87 [% IF ( languages_loo.current ) %]
89 <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">
90 [% IF ( languages_loo.native_description ) %]
91 [% languages_loo.native_description | html %]
93 [% languages_loo.rfc4646_subtag | html %]
95 </a> <!-- /.nav-link -->
96 </li> <!-- /.nav-item -->
99 <a class="nav-link" href="/cgi-bin/koha/opac-changelanguage.pl?language=[% languages_loo.rfc4646_subtag | uri %]">
100 [% IF ( languages_loo.native_description ) %]
101 [% languages_loo.native_description | html %]
103 [% languages_loo.rfc4646_subtag | html %]
105 </a> <!-- /.nav-link -->
106 </li> <!-- /.nav-item -->
107 [% END # /IF ( languages_loo.current ) %]
108 [% END # / IF languages_loo.current %]
109 [% END # / IF ( languages_loo.plural ) %]
110 [% END # / IF ( languages_loo.group_enabled ) %]
111 [% END # / FOREACH languages_loo IN languages_loop %]
113 </footer> <!-- / #changelanguage -->
114 [% END # / UNLESS ( one_language_enabled ) %]
115 [% END # / IF ( languages_loop && opaclanguagesdisplay ) %]
116 [% END # / IF opaclanguagesdisplay %]
117 [% END # /IF OpacLangSelectorMode == 'both' || OpacLangSelectorMode == 'footer' %]
118 [% END # / UNLESS is_popup %]
120 <!-- JavaScript includes -->
121 [% Asset.js("lib/jquery/jquery-3.4.1.min.js") | $raw %]
122 [% Asset.js("lib/jquery/jquery-migrate-3.1.0.min.js") | $raw %]
123 [% Asset.js("lib/jquery/jquery-ui-1.12.1.min.js") | $raw %]
125 // Resolve name collision between jQuery UI and Twitter Bootstrap
126 $.widget.bridge('uitooltip', $.ui.tooltip);
128 [% Asset.js("lib/bootstrap/js/bootstrap.bundle.min.js") | $raw %]
129 [% Asset.js("lib/fontfaceobserver.min.js") | $raw %]
130 [% Asset.js("js/global.js") | $raw %]
133 // Test need for polyfill
135 test: window.matchMedia,
136 nope: "[% Asset.url('lib/media.match.min.js') | $raw %]"
138 // and then load enquire
139 "[% Asset.url('lib/enquire.min.js') | $raw %]",
140 "[% Asset.url('js/script.js') | $raw %]",
143 // Fix for datepicker in a modal
144 $.fn.modal.Constructor.prototype.enforceFocus = function () {};
146 [% IF ( OPACAmazonCoverImages || SyndeticsCoverImages ) %]
148 var NO_AMAZON_IMAGE = _("No cover image available");
151 [% Asset.js("js/amazonimages.js") | $raw %]
156 var MSG_CONFIRM_AGAIN = _("Warning: Cannot be undone. Please confirm once again")
157 var MSG_DELETE_SEARCH_HISTORY = _("Are you sure you want to delete your search history?");
158 var MSG_NO_SUGGESTION_SELECTED = _("No suggestion was selected");
159 var MSG_SEARCHING = _("Searching %s...");
160 var MSG_ERROR_SEARCHING_COLLECTION = _("Error searching %s collection");
161 var MSG_NO_RESULTS_FOUND_IN_COLLECTION = _("No results found in the library's %s collection");
162 var MSG_RESULTS_FOUND_IN_COLLECTION = _("Found %s results in the library's %s collection");
163 var MSG_BY = _("by");
164 var MSG_TYPE = _("Type");
165 var MSG_NEXT = _("Next");
166 var MSG_PREVIOUS = _("Previous");
167 var MSG_CHECKOUTS = _("Checkouts");
168 var MSG_NO_CHECKOUTS = _("No checkouts");
169 var MSG_CHECK_OUT = _("Check out");
170 var MSG_CHECK_OUT_CONFIRM = _("Are you sure you want to check out this item?");
171 var MSG_CHECKED_OUT_UNTIL = _("Checked out until %s");
172 var MSG_CHECK_IN = _("Check in");
173 var MSG_CHECK_IN_CONFIRM = _("Are you sure you want to return this item?");
174 var MSG_NO_CHECKOUTS = _("No checkouts");
175 var MSG_DOWNLOAD = _("Download");
176 var MSG_HOLDS = _("Holds");
177 var MSG_NO_HOLDS = _("No holds");
178 var MSG_PLACE_HOLD = _("Place hold");
179 var MSG_CANCEL_HOLD = _("Cancel");
180 var MSG_CANCEL_HOLD_CONFIRM = _("Are you sure you want to cancel this hold?");
181 var MSG_ON_HOLD = _("On hold");
183 [% IF ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'TagsEnabled' ) == 1 ) %]
184 var MSG_TAGS_DISABLED = _("Sorry, tags are not enabled on this system.");
185 var MSG_TAG_ALL_BAD = _("Error! Your tag was entirely markup code. It was NOT added. Please try again with plain text.");
186 var MSG_ILLEGAL_PARAMETER = _("Error! Illegal parameter");
187 var MSG_TAG_SCRUBBED = _("Note: your tag contained markup code that was removed. The tag was added as ");
188 var MSG_ADD_TAG_FAILED = _("Error! Adding tags failed at");
189 var MSG_ADD_TAG_FAILED_NOTE = _("Note: you can only tag an item with a given term once. Check 'My Tags' to see your current tags.");
190 var MSG_DELETE_TAG_FAILED = _("Error! You cannot delete the tag");
191 var MSG_DELETE_TAG_FAILED_NOTE = _("Note: you can only delete your own tags.")
192 var MSG_LOGIN_REQUIRED = _("You must be logged in to add tags.");
193 var MSG_TAGS_ADDED = _("Tags added: ");
194 var MSG_TAGS_DELETED = _("Tags added: ");
195 var MSG_TAGS_ERRORS = _("Errors: ");
196 var MSG_MULTI_ADD_TAG_FAILED = _("Unable to add one or more tags.");
197 var MSG_NO_TAG_SPECIFIED = _("No tag was specified.");
199 [% IF ( Koha.Preference('OverDriveClientKey') && Koha.Preference('OverDriveClientSecret') ) %]
200 var MSG_OVERDRIVE_LOGIN = _("Log in to your OverDrive account");
201 var MSG_OVERDRIVE_LINK = _( "OverDrive account page" );
202 var MSG_OVERDRIVE_LOGOUT = _("Log out from your OverDrive account");
203 var MSG_OVERDRIVE_CHECKEDOUT_UNTIL = _( "Checked out until: " );
204 var MSG_OVERDRIVE_ACCESS_ONLINE = _("Access online");
205 var MSG_OVERDRIVE_DOWNLOAD_AS = _( "Download as: " );
206 var MSG_OVERDRIVE_CANNOT_CHECKOUT = _("Item cannot be checked out. There are no available formats");
208 [% IF OpenLibraryCovers || OpenLibrarySearch %]
209 var NO_OL_JACKET = _("No cover image available");
211 [% IF (query_desc) %]
212 var query_desc = "[% query_desc | html %]";
213 var querystring = "[% querystring | html %]";
214 var query_cgi = "[% query_cgi | html %]";
217 [% IF ( OPACAmazonCoverImages || SyndeticsCoverImages ) %]
218 $(window).load(function() {
222 $(".print-large").on("click",function(){
226 $(".addtoshelf").on("click",function(e){
230 $("body").on("click", ".addtocart", function(e){
232 var biblionumber = $(this).data("biblionumber");
233 addRecord( biblionumber );
235 $("body").on("click", ".cartRemove", function(e){
237 var biblionumber = $(this).data("biblionumber");
238 delSingleRecord( biblionumber );
240 $(".clearsh").on("click", function(){
241 return confirmDelete(MSG_DELETE_SEARCH_HISTORY);
246 [% IF Koha.Preference( 'opacbookbag' ) == 1 %]
247 [% Asset.js("js/basket.js") | $raw %]
248 [% ELSIF ( Koha.Preference( 'virtualshelves' ) == 1 ) %]
249 [% Asset.js("js/basket.js") | $raw %]
251 <script>var readCookie;</script>
254 [% IF Koha.Preference( 'opacuserlogin' ) == 1 %][% IF Koha.Preference( 'TagsEnabled' ) == 1 %][% Asset.js("js/tags.js") | $raw %][% END %][% ELSE %][% END %]
255 [% IF ( GoogleJackets ) %]
256 [% Asset.js("js/google-jackets.js") | $raw %]
259 var NO_GOOGLE_JACKET = _("No cover image available");
263 [% IF ( Koha.Preference('OpacCoce') && Koha.Preference('CoceProviders') ) %]
264 [% Asset.js("js/coce.js") | $raw %]
267 var NO_COCE_JACKET = _("No cover image available");
272 [% IF OPACLocalCoverImages %]
273 [% Asset.js("js/localcovers.js") | $raw %]
276 var NO_LOCAL_JACKET = _("No cover image available");
281 [% IF ( BakerTaylorEnabled ) %]
282 [% Asset.js("js/bakertaylorimages.js") | $raw %]
285 var NO_BAKERTAYLOR_IMAGE = _("No cover image available");
286 $(window).load(function(){
293 [% IF Koha.Preference( 'OpacNewsLibrarySelect' ) %]
295 $("#news-branch-select").change(function() {
296 $( "#news-branch-select" ).submit();
301 [% IF Koha.Preference('RecordedBooksClientSecret') && Koha.Preference('RecordedBooksLibraryID') %]
303 var SPINNER_THROBBER = "[% interface | html %]/lib/jquery/plugins/themes/classic/throbber.gif";
307 [% Asset.js("lib/jquery/plugins/jquery.cookie.min.js") | $raw %]
309 $(document).ready(function() {
310 if($('#searchsubmit').length) {
311 $(document).on("click", '#searchsubmit', function(e) {
312 jQuery.removeCookie("form_serialized", { path: '/'});
313 jQuery.removeCookie("form_serialized_limits", { path: '/'});
314 jQuery.removeCookie("search_path_code", { path: '/'});
319 [% PROCESS jsinclude %]
320 [% IF ( Koha.Preference('OPACUserJS') ) %]
322 [% Koha.Preference('OPACUserJS') | $raw %]
326 [% SET SCOUserJS = Koha.Preference('SCOUserJS') %]
327 [% IF ( SCOUserJS ) %]
330 [% SCOUserJS | $raw %]
335 [% KohaPlugins.get_plugins_opac_js | $raw %]