Bug 35147: Add classes to Shibboleth text on OPAC login page
[koha.git] / koha-tmpl / opac-tmpl / bootstrap / en / includes / masthead.inc
1 [% USE raw %]
2 [% USE Koha %]
3 [% USE Branches %]
4 [% USE Categories %]
5 [% USE AuthClient %]
6 [% USE AdditionalContents %]
7 [% PROCESS 'html_helpers.inc' %]
8 [% IF Koha.Preference( 'CookieConsent' ) %]
9     [% USE JSConsents %]
10 [% END %]
11 [% SET OpacLangSelectorMode = Koha.Preference('OpacLangSelectorMode') %]
12 [% SET OpacHeader = AdditionalContents.get( location => "opacheader", lang => lang, library => logged_in_user.branchcode || default_branch, blocktitle => 0 ) %]
13 [% SET OpacCustomSearch = AdditionalContents.get( location => "OpacCustomSearch", lang => lang, library => logged_in_user.branchcode || default_branch, blocktitle => 0 ) %]
14 [% SET OpacLoginInstructions = AdditionalContents.get( location => "OpacLoginInstructions", lang => lang, library => branchcode || default_branch ) %]
15 [% SET OpacMoreSearches = AdditionalContents.get( location => "OpacMoreSearches", lang => lang, library => branchcode || default_branch ) %]
16 [% SET CookieConsentBar = AdditionalContents.get( location => "CookieConsentBar", lang => lang, library => branchcode || default_branch ) %]
17 [% SET CookieConsentPopup = AdditionalContents.get( location => "CookieConsentPopup", lang => lang, library => branchcode || default_branch ) %]
18
19 <button id="scrolltocontent">Skip to main content</button>
20 <div id="wrapper">
21     <div id="header-region" class="noprint">
22         <nav class="navbar navbar-expand">
23             <div id="logo">
24             <a class="navbar-brand" href="/cgi-bin/koha/opac-main.pl">
25                 [% IF ( LibraryNameTitle ) %]
26                     [% LibraryNameTitle | html %]
27                 [% ELSE %]
28                     Koha online
29                 [% END %]
30             </a>
31             </div>
32             [% IF ( Koha.Preference( 'opacbookbag' ) == 1 ) %]
33                 <div id="cartDetails" class="cart-message">Your cart is empty.</div>
34             [% END %]
35             <ul id="cart-list-nav" class="navbar-nav">
36                 [% IF ( Koha.Preference( 'opacbookbag' ) == 1 ) %]
37                     <li class="nav-item js-show">
38                         <a href="#" class="nav-link" title="Collect items you are interested in" id="cartmenulink" role="button">
39                             <i id="carticon" class="fa fa-shopping-cart fa-icon-black" aria-hidden="true"></i> <span class="cartlabel">Cart</span> <span id="basketcount"></span>
40                         </a>
41                     </li>
42                 [% END %]
43                 <li class="divider-vertical"></li>
44                 [% IF ( Koha.Preference( 'virtualshelves' ) == 1 ) %]
45                     <li class="nav-item dropdown">
46                         <a href="/cgi-bin/koha/opac-shelves.pl" title="Show lists" class="nav-link dropdown-toggle" id="listsmenu" data-toggle="dropdown" role="button" aria-label="Show dropdown with detailed list information" aria-haspopup="true" aria-expanded="false"
47                             ><i class="fa fa-list fa-icon-black" aria-hidden="true"></i> <span class="listslabel">Lists</span>
48                         </a>
49                         <div aria-labelledby="listsmenu" role="menu" class="dropdown-menu">
50                             [% IF some_public_shelves.count %]
51                                 <a class="dropdown-item" href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;public=1" tabindex="-1" role="menuitem"><strong>Public lists</strong></a>
52                                 [% SET number_of_public_shelves = 0 %]
53                                 [% FOREACH s IN some_public_shelves %]
54                                     <a class="dropdown-item" href="/cgi-bin/koha/opac-shelves.pl?op=view&amp;shelfnumber=[% s.shelfnumber | uri %]&amp;sortfield=[% s.sortfield | uri %]" tabindex="-1" role="menuitem">[% s.shelfname | html %]</a>
55                                     [% SET number_of_public_shelves = number_of_public_shelves + 1 %]
56                                     [% IF number_of_public_shelves >= 10 %][% LAST %][% END %]
57                                 [% END %]
58                                 [% IF some_public_shelves > 10 %]
59                                     <a class="dropdown-item listmenulink" href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;public=1" tabindex="-1" role="menuitem">View all</a>
60                                 [% END %]
61                             [% END %]
62                             [% IF some_public_shelves.count > 0 %]
63                                 <div class="dropdown-divider"></div>
64                             [% END %]
65                             [% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
66                                 <a class="dropdown-item" href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;public=0" tabindex="-1" role="menuitem"><strong>Your lists</strong></a>
67                                 [% IF loggedinusername %]
68                                     [% IF some_private_shelves.count %]
69                                         [% SET number_of_private_shelves = 0 %]
70                                         [% FOREACH s IN some_private_shelves %]
71                                             <a class="dropdown-item" href="/cgi-bin/koha/opac-shelves.pl?op=view&amp;shelfnumber=[% s.shelfnumber | uri %]&amp;sortfield=[% s.sortfield | uri %]" tabindex="-1" role="menuitem">[% s.shelfname | html %]</a>
72                                             [% SET number_of_private_shelves = number_of_private_shelves + 1 %]
73                                             [% IF number_of_private_shelves >= 10 %][% LAST %][% END %]
74                                         [% END %]
75                                         [% IF some_private_shelves > 10 %]
76                                             <a class="dropdown-item listmenulink" href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;public=0" tabindex="-1" role="menuitem">View all</a>
77                                         [% END %]
78                                     [% ELSE %]
79                                         <a class="dropdown-item disabled" href="#" tabindex="-1" role="menuitem">No private lists</a>
80                                     [% END %]
81                                         <a class="dropdown-item listmenulink" href="/cgi-bin/koha/opac-shelves.pl?op=add_form" tabindex="-1" role="menuitem">New list</a>
82                                 [% ELSE %]
83                                     <a class="dropdown-item" href="/cgi-bin/koha/opac-shelves.pl?op=add_form" tabindex="-1" role="menuitem">Log in to create your own lists</a>
84                                 [% END # / IF loggedinusername %]
85                             [% END # / IF opacuserlogin %]
86                         </div> <!-- / .dropdown-menu -->
87                     </li> <!-- / .nav-item.dropdown -->
88                 [% END # / IF virtualshelves %]
89                 [% IF Koha.Preference( 'OpacTrustedCheckout' ) %]
90                     <li class="nav-item">
91                         <a href="#" class="nav-link" title="Self check out" id="comenulink" role="button" data-toggle="modal" data-target="#checkoutModal">
92                             <i id="checkout-icon" class="fa fa-barcode fa-icon-black" aria-hidden="true"></i> <span class="checkout-label">Self checkout</span>
93                         </a>
94                     </li>
95                 [% END %]
96                 <!-- Cookie consent button for non logged-in users -->
97                 [% IF !loggedinusername %]
98                     <li style="display:none" id="cookieConsentDivider" class="divider-vertical" aria-hidden="true"></li>
99                     <li style="display:none" id="cookieConsentLi" class="nav-item" aria-hidden="true">
100                         <a id="cookieConsentButton" href="#" name="Your cookies" class="nav-link" title="View and amend cookies you have consented to" role="button">
101                             <span class="cookieconsentlabel">Your cookies</span>
102                         </a>
103                     </li>
104                 [% END %]
105             </ul> <!-- / .navbar-nav -->
106
107             [% IF Koha.Preference( 'opacuserlogin' ) == 1 ||  Koha.Preference( 'EnableOpacSearchHistory') || Koha.Preference( 'opaclanguagesdisplay' ) %]
108                 [% IF ( Koha.Preference( 'opaclanguagesdisplay' ) ) %]
109                     [% INCLUDE 'masthead-langmenu.inc' %]
110                 [% END %]
111                 <ul id="members" class="navbar-nav">
112                     <li class="nav-item dropdown">
113                         [% IF ( Koha.Preference( 'opacuserlogin' ) == 1 ) %]
114                             [% IF ( loggedinusername ) %]
115                                 <a href="/cgi-bin/koha/opac-user.pl" class="dropdown-toggle" id="user-menu" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
116                                     <i class="fa fa-user fa-icon-black fa-fw" aria-hidden="true"></i>
117                                     <span class="userlabel">Welcome, [% INCLUDE 'patron-title.inc' patron = logged_in_user no_html = 1 %]</span>
118                                 </a>
119                                 <a tabindex="-1" role="menuitem" class="logout js-hide" href="/cgi-bin/koha/opac-main.pl?logout.x=1"><i class="fa fa-fw fa-sign-out" aria-hidden="true"></i> Log out</a>
120                             [% ELSE %]
121                                 [% IF Koha.Preference('casAuthentication') %]
122                                     [%# CAS authentication is too complicated for modal window %]
123                                         <a class="nav-link login-link" href="/cgi-bin/koha/opac-user.pl"><i class="fa fa-user fa-icon-black fa-fw" aria-hidden="true"></i> <span class="userlabel">Log in to your account</span></a>
124                                 [% ELSIF ( Koha.Preference('GoogleOpenIDConnect') == 1 ) %]
125                                     <a href="/cgi-bin/koha/svc/auth/googleopenidconnect" class="nav-link login-link loginModal-trigger"><i class="fa fa-user fa-icon-black fa-fw" aria-hidden="true"></i> <span class="userlabel">Log in to your account</span></a>
126                                 [% ELSE %]
127                                     <a href="/cgi-bin/koha/opac-user.pl" class="nav-link login-link loginModal-trigger"><i class="fa fa-user fa-icon-black fa-fw" aria-hidden="true"></i> <span class="userlabel">Log in to your account</span></a>
128                                 [% END %]
129                             [% END %]
130                         [% END %]
131
132                         [% IF ( Koha.Preference( 'opacuserlogin' ) == 1 && loggedinusername ) %]
133                             <div aria-labelledby="user-menu" role="menu" class="dropdown-menu dropdown-menu-right">
134                                 <div id="loggedinuser-menu">
135                                     <p>
136                                         <a class="login-link" href="/cgi-bin/koha/opac-user.pl"><span class="loggedinusername" data-borrowernumber="[% logged_in_user.borrowernumber | html %]" data-branchcode="[% logged_in_user.branchcode | html %]" data-categorycode="[% logged_in_user.categorycode | html %]">Your account</span></a>
137                                     </p>
138                                     [% IF Koha.Preference( 'EnableOpacSearchHistory' ) %]
139                                         <p>
140                                             <a tabindex="-1" role="menuitem" class="login-link" href="/cgi-bin/koha/opac-search-history.pl" title="View your search history">Search history</a>
141                                             <span class="divider-vertical"></span>
142                                             <a class="clearsh" href="/cgi-bin/koha/opac-search-history.pl?action=delete" title="Delete your search history"><i class="fa fa-trash-can" aria-hidden="true"></i> Clear</a>
143                                         </p>
144                                     [% END %]
145                                     <a tabindex="-1" role="menuitem" class="logout" id="logout" href="/cgi-bin/koha/opac-main.pl?logout.x=1">Log out</a>
146                                 </div>
147                             </div>
148                         [% END %]
149                     </li>
150                     [% IF ( !Koha.Preference( 'opacuserlogin') || !loggedinusername ) %]
151                         [% IF Koha.Preference( 'EnableOpacSearchHistory' ) %]
152                             <li class="nav-item search_history">
153                                 <a class="nav-link login-link" href="/cgi-bin/koha/opac-search-history.pl" title="View your search history">Search history</a>
154                             </li>
155                             <li class="divider-vertical"></li>
156                             <li class="nav-item">
157                                 <a class="nav-link logout clearsh" href="/cgi-bin/koha/opac-search-history.pl?action=delete" title="Delete your search history"><i class="fa fa-trash-can" aria-hidden="true"></i> Clear</a>
158                             </li>
159                         [% END %]
160                     [% END %]
161                 </ul>
162             [% END # IF opacuserlogin || EnableOpacSearchHistory || opaclanguagesdisplay %]
163         </nav> <!-- /navbar -->
164
165         [% IF ( OpacHeader ) %]
166             <div class="container-fluid">
167                 <div class="row">
168                     <div class="col">
169                         [% PROCESS koha_news_block news => OpacHeader %]
170                     </div>
171                 </div>
172             </div>
173         [% END %]
174
175     </div> <!-- / header-region -->
176
177     [% IF ( OpacPublic ) %]
178         <div class="container-fluid">
179             [% UNLESS ( advsearch ) %]
180                 <div class="row">
181                     <div class="col">
182                             <div id="opac-main-search" class="mastheadsearch">
183                                 [% IF ( OpacCustomSearch ) %]
184                                     [% PROCESS koha_news_block news => OpacCustomSearch %]
185                                 [% ELSE %]
186                                     <form name="searchform" method="get" action="/cgi-bin/koha/opac-search.pl" id="searchform">
187                                         <div class="form-row align-items-center">
188                                             <div class="col-sm-auto order-2 order-sm-2">
189                                                 <select name="idx" id="masthead_search" class="form-control">
190                                                     [% IF ( ms_kw ) %]
191                                                         <option selected="selected" value="">Library catalog</option>
192                                                     [% ELSE %]
193                                                         <option value="">Library catalog</option>
194                                                     [% END # /ms_kw %]
195                                                     [% IF ( ms_ti ) %]
196                                                         <option selected="selected" value="ti">Title</option>
197                                                     [% ELSE %]
198                                                         <option value="ti">Title</option>
199                                                     [% END # /ms_ti %]
200                                                     [% IF ( ms_au ) %]
201                                                         <option selected="selected" value="au">Author</option>
202                                                     [% ELSE %]
203                                                         <option value="au">Author</option>
204                                                     [% END # /ms_au%]
205                                                     [% IF ( ms_su ) %]
206                                                         <option selected="selected" value="su">Subject</option>
207                                                     [% ELSE %]
208                                                         <option value="su">Subject</option>
209                                                     [% END # /ms_su %]
210                                                     [% IF ( ms_nb ) %]
211                                                         <option selected="selected" value="nb">ISBN</option>
212                                                     [% ELSE %]
213                                                         <option value="nb">ISBN</option>
214                                                     [% END # /ms_nb%]
215                                                     [% IF ( ms_ns ) %]
216                                                         <option selected="selected" value="ns">ISSN</option>
217                                                     [% ELSE %]
218                                                         <option value="ns">ISSN</option>
219                                                     [% END # /ms_ns%]
220                                                     [% IF ( ms_se ) %]
221                                                         <option selected="selected" value="se">Series</option>
222                                                     [% ELSE %]
223                                                         <option value="se">Series</option>
224                                                     [% END # /ms_se %]
225                                                     [% IF ( Koha.Preference('OPACNumbersPreferPhrase') ) %]
226                                                         [% IF ( ms_callnumcommaphr ) %]
227                                                             <option selected="selected" value="callnum,phr">Call number</option>
228                                                         [% ELSE %]
229                                                             <option value="callnum,phr">Call number</option>
230                                                         [% END #/ms_callnumcommaphr %]
231                                                     [% ELSE %]
232                                                         [% IF ( ms_callnum ) %]
233                                                             <option selected="selected" value="callnum">Call number</option>
234                                                         [% ELSE %]
235                                                             <option value="callnum">Call number</option>
236                                                         [% END # /ms_callnum %]
237                                                     [% END # /IF OPACNumbersPreferPhrase %]
238                                                 </select>
239                                             </div> <!-- /.col-sm-auto -->
240
241                                             <div class="col order-4 order-sm-3">
242                                                 [% IF ( !Koha.Preference( 'OpacAddMastheadLibraryPulldown' ) == 1 && mylibraryfirst ) %]
243                                                     <input type="text" class="transl1 form-control form-control-filtered" id="translControl1" name="q" value="[% ms_value | html %]" data-toggle="tooltip" data-placement="top" title="Searching in [% Branches.GetName( mylibraryfirst ) | html %] only" /><span id="translControl"></span>
244                                                 [% ELSE %]
245                                                     <input type="text" class="transl1 form-control" id="translControl1" name="q" value="[% ms_value | html %]" /><span id="translControl"></span>
246                                                 [% END # /ms_value %]
247                                             </div> <!-- /.col -->
248
249                                             [% IF ( Koha.Preference( 'OpacAddMastheadLibraryPulldown' ) == 1 ) %]
250                                                 <div class="col-sm col-md-3 col-lg-2 order-3 order-sm-4">
251                                                     <select name="limit" id="select_library" class="form-control">
252                                                         <option value="">All libraries</option>
253
254                                                         [% IF LibrarySearchGroups %]<optgroup label="Libraries">[% END %]
255
256                                                         [% FOREACH library IN Branches.all( selected => opac_name ) %]
257                                                             [% NEXT UNLESS library.public %]
258                                                             [% IF library.selected %]
259                                                                 <option selected="selected" value="branch:[% library.branchcode | html %]">[% library.branchname | html %]</option>
260                                                             [% ELSE %]
261                                                                 <option value="branch:[% library.branchcode | html %]">[% library.branchname | html %]</option>
262                                                             [% END %]
263                                                         [% END %]
264
265                                                         [% IF LibrarySearchGroups %]
266                                                             </optgroup>
267                                                             <optgroup label="Groups">
268                                                                 [% FOREACH lsg IN LibrarySearchGroups %]
269                                                                     [% IF 'multibranchlimit-' _ lsg.id == opac_name || lsg.id == opac_name %]
270                                                                         <option selected="selected" value="multibranchlimit:[% lsg.id | html %]">[% lsg.title | html %]</option>
271                                                                     [% ELSE %]
272                                                                         <option value="multibranchlimit:[% lsg.id | html %]">[% lsg.title | html %]</option>
273                                                                     [% END # / bc.selected %]
274                                                                 [% END %]
275                                                             </optgroup>
276                                                         [% END # / BranchCategoriesLoop %]
277                                                     </select> <!-- /#select_library -->
278                                                 </div> <!-- /.col-sm-auto -->
279                                             [% ELSE %]
280                                                 [% IF ( opac_limit_override ) %]
281                                                     [% IF ( opac_search_limit ) %]
282                                                         [% IF ( multibranchlimit = opac_search_limit.match( 'branch:multibranchlimit-(\d+)' ) ) %]
283                                                             <input name="limit" value="multibranchlimit:[% multibranchlimit.0 | html %]" type="hidden" />
284                                                         [% ELSE %]
285                                                             <input name="limit" value="[% opac_search_limit | html %]" type="hidden" />
286                                                         [% END %]
287                                                     [% END %]
288                                                 [% ELSE %]
289                                                     [% IF ( mylibraryfirst ) %]
290                                                         <input name="limit" value="branch:[% mylibraryfirst | html %]" type="hidden" />
291                                                     [% END %]
292                                                 [% END # / opac_limit_override %]
293                                             [% END # / OpacAddMastheadLibraryPulldown %]
294
295                                             <div class="order-5 col-sm-auto">
296                                                 <button type="submit" id="searchsubmit" class="btn btn-primary" title="Search" aria-label="Search">
297                                                     <i class="fa fa-search" aria-hidden="true"></i>
298                                                 </button>
299                                             </div>
300
301                                         </div> <!-- /.form-row -->
302                                         <input type="hidden" name="weight_search" value="1">
303                                     </form>
304                                 [% END # / ( OpacCustomSearch ) %]
305                             </div><!-- /#opac-main-search -->
306                     </div> <!-- /.col -->
307                 </div> <!-- /.row -->
308             [% END # / UNLESS advsearch %]
309
310             <div class="row">
311                 <ul class="nav" id="moresearches">
312                     <li class="nav-item">
313                         <a href="/cgi-bin/koha/opac-search.pl">Advanced search</a>
314                     </li>
315                     [% IF ( Koha.Preference( 'UseCourseReserves' ) == 1 ) %]
316                         <li class="nav-item">
317                             <a href="/cgi-bin/koha/opac-course-reserves.pl">Course reserves</a>
318                         </li>
319                     [% END %]
320                     [% IF Koha.Preference( 'OpacBrowser' ) == 1 %]
321                         <li class="nav-item">
322                             <a href="/cgi-bin/koha/opac-browser.pl">Browse by hierarchy</a>
323                         </li>
324                     [% END %]
325                     [% IF Koha.Preference( 'OpacAuthorities' ) == 1 %]
326                         <li class="nav-item">
327                             <a href="/cgi-bin/koha/opac-authorities-home.pl">Authority search</a>
328                         </li>
329                     [% END %]
330                     [% IF ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'OPACComments' ) == 1 ) && ( Koha.Preference( 'OpacShowRecentComments' ) == 1 ) ) %]
331                         <li class="nav-item">
332                             <a href="/cgi-bin/koha/opac-showreviews.pl">Recent comments</a>
333                         </li>
334                     [% END %]
335                     [% IF Koha.Preference( 'TagsEnabled' ) == 1 %]
336                         <li class="nav-item">
337                             <a href="/cgi-bin/koha/opac-tags.pl">Tag cloud</a>
338                         </li>
339                     [% END %]
340                     [% IF Koha.Preference( 'OpacCloud' ) == 1 %]
341                         <li class="nav-item">
342                             <a href="/cgi-bin/koha/opac-tags_subject.pl">Subject cloud</a>
343                         </li>
344                     [% END %]
345                     [% IF Koha.Preference( 'OpacTopissue' ) == 1 %]
346                         <li class="nav-item">
347                             <a href="/cgi-bin/koha/opac-topissues.pl">Most popular</a>
348                         </li>
349                     [% END %]
350                     [% IF Koha.Preference('SearchEngine') == 'Elasticsearch' && Koha.Preference( 'OpacBrowseSearch' ) == 1 %]
351                         <li class="nav-item">
352                             <a href="/cgi-bin/koha/opac-browse.pl">Browse search</a>
353                         </li>
354                     [% END %]
355                     [% IF suggestion %]
356                         [% IF Koha.Preference( 'AnonSuggestions' ) == 1 || Koha.Preference( 'OPACViewOthersSuggestions' ) == 1 %]
357                             <li class="nav-item">
358                                 <a href="/cgi-bin/koha/opac-suggestions.pl?suggested_by_anyone=1">Purchase suggestions</a>
359                             </li>
360                         [% END %]
361                     [% END %]
362                     <li class="nav-item">
363                         <a id="library_page" href="/cgi-bin/koha/opac-library.pl">
364                             [% IF ( singleBranchMode ) %]
365                                 <span>Library</span>
366                             [% ELSE %]
367                                 <span>Libraries</span>
368                             [% END %]
369                         </a>
370                     </li>
371                     [% PROCESS koha_news_block news => OpacMoreSearches %]
372                 </ul> <!-- /.nav#moresearches -->
373             </div> <!-- /.row -->
374         </div> <!-- /.container-fluid -->
375     [% END # / OpacPublic %]
376
377     <!-- Login form hidden by default, used for modal window -->
378     <div id="loginModal" class="modal" tabindex="-1" role="dialog" aria-labelledby="modalLoginLabel" aria-hidden="true">
379         <div class="modal-dialog">
380             <div class="modal-content">
381                 <div class="modal-header">
382                     <h2 class="modal-title" id="modalLoginLabel">Log in to your account</h2>
383                     <button type="button" class="closebtn" data-dismiss="modal" aria-label="Close">
384                         <span aria-hidden="true">&times;</span>
385                     </button>
386                 </div>
387                 <form action="/cgi-bin/koha/opac-user.pl" method="post" name="auth" id="modalAuth">
388                     <input type="hidden" name="has-search-query" id="has-search-query" value="" />
389                     <div class="modal-body">
390                         [% IF ( Koha.Preference('GoogleOpenIDConnect') == 1 ) %]
391                             <a href="/cgi-bin/koha/svc/auth/googleopenidconnect" class="btn btn-light" id="openid_connect"><i class="fa-brands fa-google" aria-hidden="true"></i> Log in with Google</a>
392                             <p>If you do not have a Google account, but do have a local account, you can still log in: </p>
393                         [% END # /IF GoogleOpenIDConnect %]
394                         [% IF ( shibbolethAuthentication ) %]
395                             [% IF ( invalidShibLogin ) %]
396                                 <!-- This is what is displayed if shibboleth login has failed to match a koha user -->
397                                 <div class="alert alert-info">
398                                     <p>Sorry, your Shibboleth identity does not match a valid library identity. If you have a local login, you may use that below.</p>
399                                 </div>
400                             [% ELSE %]
401                                 <h3 class="shib_title">Shibboleth login</h3>
402                                 <p><a id="shib_url" class="shib_url" href="[% shibbolethLoginUrl | $raw %]">Log in using a Shibboleth account</a>.</p>
403                                 [% UNLESS Koha.Preference('opacShibOnly') %]
404                                     <h3 class="shib_local_title">Local login</h3>
405                                 [% END %]
406                             [% END %]
407                         [% END %]
408                         [% UNLESS Koha.Preference('opacShibOnly') %]
409                             [% SET identity_providers = AuthClient.get_providers('opac') %]
410                             [% IF ( ! identity_providers.empty ) %]
411                                 [% FOREACH provider IN identity_providers %]
412                                     <p class="clearfix">
413                                         <a href="[% provider.url | url %]" class="btn btn-light col-md-12" id="provider_[% provider.code | html %]">
414                                             [% IF provider.icon_url %]
415                                             <img src="[% provider.icon_url | url %]" />
416                                             [% ELSE %]
417                                             <i class="fa fa-user" aria-hidden="true"></i>
418                                             [% END %]
419                                             Log in with [% provider.description | html %]
420                                         </a>
421                                     </p>
422                                 [% END %]
423                                 <hr/>
424                                 <p>If you do not have an external account, but do have a local account, you can still log in: </p>
425                             [% END # /IF  identity_providers.size %]
426                             <input type="hidden" name="koha_login_context" value="opac" />
427                             <fieldset class="brief">
428                                 <div class="local-login">
429                                     <label for="muserid">Login:</label><input type="text" id="muserid" name="userid" autocomplete="off" />
430                                     <label for="mpassword">Password:</label><input type="password" id="mpassword" name="password" autocomplete="off" />
431                                     <fieldset class="action">
432                                         <input type="submit" class="btn btn-primary" value="Log in" />
433                                     </fieldset>
434                                 </div>
435                                 [% IF OpacLoginInstructions %]
436                                     <div id="nologininstructions-modal" class="nologininstructions">
437                                         [% PROCESS koha_news_block news => OpacLoginInstructions %]
438                                     </div>
439                                 [% END %]
440                                 [% IF Koha.Preference('OpacPasswordChange') && Categories.can_any_reset_password %]
441                                     <div id="forgotpassword-modal" class="forgotpassword">
442                                         <a href="/cgi-bin/koha/opac-password-recovery.pl">Forgot your password?</a>
443                                     </div>
444                                 [% END %]
445                                 [% IF Koha.Preference('PatronSelfRegistration') && Categories.all( categorycode => Koha.Preference('PatronSelfRegistrationDefaultCategory') ).count %]
446                                     <div id="patronregistration-modal" class="patronregistration">
447                                         <p>Don't have an account? <a href="/cgi-bin/koha/opac-memberentry.pl">Register here.</a></p>
448                                     </div>
449                                 [% END %]
450                             </fieldset>
451                         [% END %]
452                     </div>
453                 </form> <!-- /#auth -->
454             </div> <!-- /.modal-content -->
455         </div> <!-- /.modal-dialog -->
456     </div>  <!-- /#modalAuth  -->
457     [% IF Koha.Preference( 'CookieConsent' ) %]
458             <!-- Cookie consent bar -->
459             <div id="cookieConsentBar" aria-hidden="true">
460                 [% IF ( CookieConsentBar ) %]
461                     [% PROCESS koha_news_block news => CookieConsentBar %]
462                 [% END %]
463                 <div id="consentButtons">
464                     <button type="button" class="btn btn-primary consentAcceptAll">Accept all cookies</button>
465                     [% IF ( JSConsents.all('opacConsent').size ) %]
466                         <button type="button" class="btn btn-primary consentAcceptEssential">Accept only essential cookies</button>
467                         <button type="button" class="btn btn-info" id="consentMoreInfo" aria-label="Click to view more information about your cookie consents">More information</button>
468                     [% END %]
469                 </div>
470             </div> <!-- /#cookieConsentBar -->
471         <!-- Cookie consent modal -->
472         <div id="cookieConsentModal" class="modal" tabindex="-1" role="dialog" aria-labelledby="cookieConsentModalLabel" aria-hidden="true">
473             <div class="modal-dialog">
474                 <div class="modal-content">
475                     <div class="modal-header">
476                         <h2 class="modal-title" id="cookieConsentModalLabel">Cookie consent</h2>
477                     </div>
478                     <div class="modal-body">
479                         [% IF ( CookieConsentPopup ) %]
480                             <div id="cookieConsentPopupText">
481                                 [% PROCESS koha_news_block news => CookieConsentPopup %]
482                             </div>
483                         [% END %]
484                         <div id="consentCookieList">
485                             [% consents = JSConsents.all('opacConsent') %]
486                             [% FOREACH consent IN consents %]
487                                 <div class="consentModalItem">
488                                     <div class="consentItemCheckbox">
489                                         <input class="consentCheckbox" type="checkbox" name="consentCheckbox" value="[% consent.id | html %]" aria-label="Consent to cookie">
490                                     </div>
491                                     <div class="consentItemMeta">
492                                         <div class="consentItemName">[% consent.name | html %]</div>
493                                         <div class="consentItemDescription">[% consent.description | html %]</div>
494                                     </div>
495                                 </div>
496                             [% END %]
497                         </div>
498                     </div>
499                     <div class="modal-footer">
500                         <div id="consentButtons">
501                             <button type="button" class="btn btn-primary consentAcceptAll">Accept all cookies</button>
502                             [% IF ( JSConsents.all('opacConsent').size ) %]
503                                 <button type="button" class="btn btn-primary consentAcceptEssential">Accept only essential cookies</button>
504                                 <button type="button" class="btn btn-warning" id="consentAcceptSelected">Accept selected non-essential cookies</button>
505                             [% END %]
506                             <a type="button" href="#" class="btn btn-secondary consentCloseModal">Cancel</a>
507                         </div>
508                     </div>
509                 </div> <!-- /.modal-content -->
510             </div> <!-- /.modal-dialog -->
511         </div>  <!-- /#cookieConsentModal  -->
512     [% END %]