Bug 26037: openlibrary.org is hit on every Koha requests
[koha.git] / koha-tmpl / opac-tmpl / bootstrap / en / includes / opac-bottom.inc
1 [% USE raw %]
2 [% USE Koha %]
3 [% USE KohaNews %]
4 [%- USE KohaPlugins -%]
5 [% USE Asset %]
6 [% SET opaccredits = KohaNews.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">
12             <div class="row-fluid">
13                 <div id="opaccredits">
14                     [% PROCESS koha_news_block news => opaccredits %]
15                 </div>
16             </div>
17         </div>
18     [% END #/ opaccredits %]
19
20     [% IF ( Koha.Preference('OPACReportProblem') && Koha.Preference('KohaAdminEmailAddress') ) || OpacKohaUrl %]
21         <div class="container-fluid">
22             <div class="row-fluid">
23                 <div class="span12">
24                     [% IF Koha.Preference('OPACReportProblem') && Koha.Preference('KohaAdminEmailAddress') %]
25                     <div id="report_a_problem" class="noprint" style="float:left;">
26                         <a class="koha-url" href="/cgi-bin/koha/opac-reportproblem.pl">Report a problem</a>
27                     </div>
28                     [% END %]
29                     [% IF OpacKohaUrl %]
30                     <div id="koha_url" class="clearfix noprint">
31                         <p>Powered by
32                         [% IF template.name.match('opac-main.tt') %]
33                             <a class="koha_url" href="http://koha-community.org">Koha</a>
34                         [% ELSE %]
35                             <a class="koha_url" rel="nofollow" href="http://koha-community.org">Koha</a>
36                         [% END %]</p>
37                     </div>
38                     [% END %]
39                 </div> <!-- /.span12 -->
40             </div> <!-- /.row-fluid -->
41         </div> <!-- /.container-fluid -->
42     [% END # / OPACReportProblem || OpacKohaUrl %]
43
44 </div> <!-- / #wrap in masthead.inc -->
45 [% IF OpacLangSelectorMode == 'both' || OpacLangSelectorMode == 'footer' %]
46     [% IF ( opaclanguagesdisplay ) %]
47         [% IF ( languages_loop && opaclanguagesdisplay ) %]
48             [% UNLESS ( one_language_enabled ) %]
49                 <div id="changelanguage" class="navbar navbar-fixed-bottom navbar-static-bottom noprint">
50                     <div class="navbar-inner">
51                         <ul id="i18nMenu" class="nav">
52                             <li><p class="lang navbar-text"><strong>Languages:&nbsp;</strong></p></li>
53                             [% FOREACH languages_loo IN languages_loop %]
54                                 [% IF ( languages_loo.group_enabled ) %]
55                                     [% IF ( languages_loo.plural ) %]
56                                         <li class="dropdown">
57                                             <a data-toggle="dropdown" class="dropdown-toggle sublangs" id="show[% languages_loo.rfc4646_subtag | html %]" href="#">[% IF ( languages_loo.native_description ) %][% languages_loo.native_description | html %][% ELSE %][% languages_loo.rfc4646_subtag | html %][% END %] <b class="caret"></b></a>
58                                                 <ul id="sub[% languages_loo.rfc4646_subtag | html %]" class="dropdown-menu">
59                                                     [% FOREACH sublanguages_loo IN languages_loo.sublanguages_loop %]
60                                                         [% IF ( sublanguages_loo.enabled ) %]
61                                                             [% IF ( sublanguages_loo.sublanguage_current ) %]
62                                                                 <li> <p>[% 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 %])</p></li>
63                                                             [% ELSE %]
64                                                                 <li><a 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></li>
65                                                             [% END %]
66                                                         [% END # / IF sublanguages_loo.enabled %]
67                                                     [% END # / FOREACH sublanguages_loo %]
68                                                 </ul>
69                                         </li> <!-- / .more -->
70                                     [% ELSE %]
71                                         [% IF ( languages_loo.group_enabled ) %]
72                                             [% IF ( languages_loo.current ) %]
73                                                 <li class="active"><p class="navbar-text">[% IF ( languages_loo.native_description ) %][% languages_loo.native_description | html %][% ELSE %][% languages_loo.rfc4646_subtag | html %][% END %]</p></li>
74                                             [% ELSE %]
75                                                 <li><a href="/cgi-bin/koha/opac-changelanguage.pl?language=[% languages_loo.rfc4646_subtag | uri %]">[% IF ( languages_loo.native_description ) %][% languages_loo.native_description | html %][% ELSE %][% languages_loo.rfc4646_subtag | html %][% END %]</a></li>
76                                             [% END %]
77                                         [% END # / IF languages_loo.current %]
78                                     [% END # / IF ( languages_loo.plural ) %]
79                                 [% END # / IF ( languages_loo.group_enabled ) %]
80                             [% END # / FOREACH languages_loo IN languages_loop %]
81                         </ul> <!-- / #i18menu -->
82                     </div> <!-- / .navbar-inner -->
83                 </div> <!-- / #changelanguage -->
84             [% END # / UNLESS ( one_language_enabled ) %]
85         [% END # / IF ( languages_loop && opaclanguagesdisplay ) %]
86     [% END # / IF opaclanguagesdisplay %]
87 [% END %]
88 [% END # / UNLESS is_popup %]
89
90
91 <!-- JavaScript includes -->
92 [% Asset.js("lib/jquery/jquery-3.4.1.min.js") | $raw %]
93 [% Asset.js("lib/jquery/jquery-migrate-3.1.0.min.js") | $raw %]
94 [% Asset.js("lib/jquery/jquery-ui-1.12.1.min.js") | $raw %]
95 <script>
96 // Resolve name collision between jQuery UI and Twitter Bootstrap
97 $.widget.bridge('uitooltip', $.ui.tooltip);
98 </script>
99 [% Asset.js("lib/bootstrap/js/bootstrap.min.js") | $raw %]
100 [% Asset.js("lib/fontfaceobserver.min.js") | $raw %]
101 [% Asset.js("js/global.js") | $raw %]
102 <script>
103     Modernizr.load([
104         // Test need for polyfill
105         {
106             test: window.matchMedia,
107             nope: "[% Asset.url('lib/media.match.min.js') | $raw %]"
108         },
109         // and then load enquire
110         "[% Asset.url('lib/enquire.min.js') | $raw %]",
111         "[% Asset.url('js/script.js') | $raw %]",
112     ]);
113
114     // Fix for datepicker in a modal
115     $.fn.modal.Constructor.prototype.enforceFocus = function () {};
116 </script>
117 [% IF ( OPACAmazonCoverImages || SyndeticsCoverImages ) %]
118 <script>//<![CDATA[
119         var NO_AMAZON_IMAGE = _("No cover image available");
120     //]]>
121 </script>
122 [% Asset.js("js/amazonimages.js") | $raw %]
123 [% END %]
124
125 <script>
126     //<![CDATA[
127     var MSG_CONFIRM_AGAIN = _("Warning: Cannot be undone. Please confirm once again")
128     var MSG_DELETE_SEARCH_HISTORY = _("Are you sure you want to delete your search history?");
129     var MSG_NO_SUGGESTION_SELECTED = _("No suggestion was selected");
130     var MSG_SEARCHING = _("Searching %s...");
131     var MSG_ERROR_SEARCHING_COLLECTION = _("Error searching %s collection");
132     var MSG_NO_RESULTS_FOUND_IN_COLLECTION = _("No results found in the library's %s collection");
133     var MSG_RESULTS_FOUND_IN_COLLECTION = _("Found %s results in the library's %s collection");
134     var MSG_BY = _("by");
135     var MSG_TYPE = _("Type");
136     var MSG_NEXT = _("Next");
137     var MSG_PREVIOUS = _("Previous");
138     var MSG_CHECKOUTS = _("Checkouts");
139     var MSG_NO_CHECKOUTS = _("No checkouts");
140     var MSG_CHECK_OUT = _("Check out");
141     var MSG_CHECK_OUT_CONFIRM = _("Are you sure you want to check out this item?");
142     var MSG_CHECKED_OUT_UNTIL = _("Checked out until %s");
143     var MSG_CHECK_IN = _("Check in");
144     var MSG_CHECK_IN_CONFIRM = _("Are you sure you want to return this item?");
145     var MSG_NO_CHECKOUTS = _("No checkouts");
146     var MSG_DOWNLOAD = _("Download");
147     var MSG_HOLDS = _("Holds");
148     var MSG_NO_HOLDS = _("No holds");
149     var MSG_PLACE_HOLD = _("Place hold");
150     var MSG_CANCEL_HOLD = _("Cancel");
151     var MSG_CANCEL_HOLD_CONFIRM = _("Are you sure you want to cancel this hold?");
152     var MSG_ON_HOLD = _("On hold");
153
154     [% IF ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'TagsEnabled' ) == 1 ) %]
155         var MSG_TAGS_DISABLED = _("Sorry, tags are not enabled on this system.");
156         var MSG_TAG_ALL_BAD = _("Error! Your tag was entirely markup code.  It was NOT added.  Please try again with plain text.");
157         var MSG_ILLEGAL_PARAMETER = _("Error! Illegal parameter");
158         var MSG_TAG_SCRUBBED = _("Note: your tag contained markup code that was removed. The tag was added as ");
159         var MSG_ADD_TAG_FAILED = _("Error! Adding tags failed at");
160         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.");
161         var MSG_DELETE_TAG_FAILED = _("Error! You cannot delete the tag");
162         var MSG_DELETE_TAG_FAILED_NOTE = _("Note: you can only delete your own tags.")
163         var MSG_LOGIN_REQUIRED = _("You must be logged in to add tags.");
164         var MSG_TAGS_ADDED = _("Tags added: ");
165         var MSG_TAGS_DELETED = _("Tags added: ");
166         var MSG_TAGS_ERRORS = _("Errors: ");
167         var MSG_MULTI_ADD_TAG_FAILED = _("Unable to add one or more tags.");
168         var MSG_NO_TAG_SPECIFIED = _("No tag was specified.");
169     [% END %]
170     [% IF ( Koha.Preference('OverDriveClientKey') && Koha.Preference('OverDriveClientSecret') ) %]
171         var MSG_OVERDRIVE_LOGIN = _("Log in to your OverDrive account");
172         var MSG_OVERDRIVE_LINK = _( "OverDrive account page" );
173         var MSG_OVERDRIVE_LOGOUT = _("Log out from your OverDrive account");
174         var MSG_OVERDRIVE_CHECKEDOUT_UNTIL = _( "Checked out until: " );
175         var MSG_OVERDRIVE_ACCESS_ONLINE = _("Access online");
176         var MSG_OVERDRIVE_DOWNLOAD_AS = _( "Download as: " );
177         var MSG_OVERDRIVE_CANNOT_CHECKOUT = _("Item cannot be checked out. There are no available formats");
178     [% END %]
179     [% IF OpenLibraryCovers || OpenLibrarySearch %]
180         var NO_OL_JACKET = _("No cover image available");
181         var OL_PREVIEW = _("Preview");
182     [% END %]
183     [% IF ( OPACAmazonCoverImages || SyndeticsCoverImages ) %]
184         $(window).load(function() {
185             verify_images();
186          });
187     [% END %]
188     $(".print-large").on("click",function(){
189         window.print();
190         return false;
191     });
192     $("#ulactioncontainer > ul > li > a.addtoshelf").on("click",function(){
193         Dopop('opac-addbybiblionumber.pl?biblionumber=[% biblionumber | uri %]');
194         return false;
195     });
196     $("body").on("click", ".addtocart", function(e){
197         e.preventDefault();
198         var biblionumber = $(this).data("biblionumber");
199         addRecord( biblionumber );
200     });
201     $("body").on("click", ".cartRemove", function(e){
202         e.preventDefault();
203         var biblionumber = $(this).data("biblionumber");
204         delSingleRecord( biblionumber );
205     });
206     $(".clearsh").on("click", function(){
207         return confirmDelete(MSG_DELETE_SEARCH_HISTORY);
208     });
209     //]]>
210 </script>
211
212 [% IF Koha.Preference( 'opacbookbag' ) == 1 %]
213     [% Asset.js("js/basket.js") | $raw %]
214 [% ELSIF ( Koha.Preference( 'virtualshelves' ) == 1 ) %]
215     [% Asset.js("js/basket.js") | $raw %]
216 [% ELSE %]
217     <script>var readCookie;</script>
218 [% END %]
219
220 [% IF Koha.Preference( 'opacuserlogin' ) == 1 %][% IF Koha.Preference( 'TagsEnabled' ) == 1 %][% Asset.js("js/tags.js") | $raw %][% END %][% ELSE %][% END %]
221 [% IF ( GoogleJackets ) %]
222     [% Asset.js("js/google-jackets.js") | $raw %]
223     <script>
224         //<![CDATA[
225         var NO_GOOGLE_JACKET = _("No cover image available");
226         //]]>
227     </script>
228 [% END %]
229 [% IF ( Koha.Preference('OpacCoce') && Koha.Preference('CoceProviders') ) %]
230     [% Asset.js("js/coce.js") | $raw %]
231     <script>
232         //<![CDATA[
233         var NO_COCE_JACKET = _("No cover image available");
234         //]]>
235     </script>
236 [% END %]
237
238 [% IF OPACLocalCoverImages %]
239     [% Asset.js("js/localcovers.js") | $raw %]
240     <script>
241     //<![CDATA[
242     var NO_LOCAL_JACKET = _("No cover image available");
243     //]]>
244     </script>
245 [% END %]
246
247 [% IF ( BakerTaylorEnabled ) %]
248     [% Asset.js("js/bakertaylorimages.js") | $raw %]
249     <script>
250         //<![CDATA[
251         var NO_BAKERTAYLOR_IMAGE = _("No cover image available");
252         $(window).load(function(){
253             bt_verify_images();
254         });
255         //]]>
256     </script>
257 [% END %]
258
259 [% IF Koha.Preference( 'OpacNewsLibrarySelect' ) %]
260 <script>
261     $("#news-branch-select").change(function() {
262         $( "#news-branch-select" ).submit();
263     });
264 </script>
265 [% END %]
266
267 [% IF Koha.Preference('RecordedBooksClientSecret') && Koha.Preference('RecordedBooksLibraryID') %]
268 <script>
269   var SPINNER_THROBBER = "[% interface | html %]/lib/jquery/plugins/themes/classic/throbber.gif";
270 </script>
271 [% END %]
272
273 [% Asset.js("lib/jquery/plugins/jquery.cookie.min.js") | $raw %]
274 <script>
275 $(document).ready(function() {
276     if($('#searchsubmit').length) {
277         $(document).on("click", '#searchsubmit', function(e) {
278             jQuery.removeCookie("form_serialized", { path: '/'});
279             jQuery.removeCookie("form_serialized_limits", { path: '/'});
280             jQuery.removeCookie("num_paragraph", { path: '/'});
281             jQuery.removeCookie("search_path_code", { path: '/'});
282         });
283     }
284 });
285 </script>
286 [% PROCESS jsinclude %]
287 [% IF ( Koha.Preference('OPACUserJS') ) %]
288     <script>
289         [% Koha.Preference('OPACUserJS') | $raw %]
290     </script>
291 [% END %]
292 [% IF SCO_login %]
293     [% SET SCOUserJS = Koha.Preference('SCOUserJS') %]
294     [% IF ( SCOUserJS ) %]
295         <script>
296             //<![CDATA[
297             [% SCOUserJS | $raw %]
298             //]]>
299         </script>
300     [% END %]
301 [% END %]
302 [% KohaPlugins.get_plugins_opac_js | $raw %]
303 </body>
304 </html>