+[% USE raw %]
[% USE Koha %]
+[% USE KohaDates %]
+[% USE Branches %]
+[% USE Categories %]
+[% USE Price %]
+[% USE AdditionalContents %]
+[% PROCESS 'i18n.inc' %]
+[% SET OpacNav = AdditionalContents.get( location => "OpacNav", lang => lang, library => logged_in_user.branchcode || default_branch, blocktitle => 0 ) %]
+[% SET OpacNavBottom = AdditionalContents.get( location => "OpacNavBottom", lang => lang, library => logged_in_user.branchcode || default_branch, blocktitle => 0 ) %]
+[% SET OpacNavRight = AdditionalContents.get( location => "OpacNavRight", lang => lang, library => logged_in_user.branchcode || default_branch ) %]
+[% SET OpacMainUserBlock = AdditionalContents.get( location => "OpacMainUserBlock", lang => lang, library => logged_in_user.branchcode || default_branch ) %]
+[% SET OpacLoginInstructions = AdditionalContents.get( location => "OpacLoginInstructions", lang => lang, library => branchcode || default_branch ) %]
[% INCLUDE 'doc-head-open.inc' %]
-[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog
+<title>[% IF ( LibraryNameTitle ) %][% LibraryNameTitle | html %][% ELSE %]Koha online[% END %] catalog</title>
[% INCLUDE 'doc-head-close.inc' %]
[% BLOCK cssinclude %][% END %]
</head>
[% INCLUDE 'masthead.inc' %]
<div class="main">
- <ul class="breadcrumb">
- <li><a href="#">Home</a></li>
- </ul>
+ <nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumbs">
+ <ol class="breadcrumb">
+ [% IF news_item %]
+ <li class="breadcrumb-item">
+ <a href="/cgi-bin/koha/opac-main.pl">Home</a>
+ </li>
+ <li class="breadcrumb-item active">
+ <a href="#" aria-current="page">[% news_item.title | html %]</a>
+ </li>
+ [% ELSE %]
+ <li class="breadcrumb-item active">
+ <a href="#" aria-current="page">Home</a>
+ </li>
+ [% END %]
+ </ol>
+ </nav> <!-- /#breadcrumbs -->
[% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
[% IF ( loggedinusername ) %]
<div id="notloggedin" class="container-fluid">
[% END %]
- <div class="row-fluid">
- [% IF ( OpacNav || OpacNavBottom ) %]
- <div class="span2">
- <div id="navigation">
- [% INCLUDE 'navigation.inc' %]
+ <div class="row">
+ [% IF ( OpacNav || OpacNavBottom ) %]
+ <div class="col-12 col-lg-2 order-3 order-lg-1">
+ <div id="navigation">
+ [% INCLUDE 'navigation.inc' %]
+ </div>
</div>
- </div>
- [% END %]
+ [% END %]
- [% IF ( OpacNav || OpacNavBottom ) %]
- <div class="span7">
- [% ELSE %]
- <div class="span9">
- [% END %]
+ [% IF ( OpacNav || OpacNavBottom ) && (Koha.Preference( 'opacuserlogin' ) == 1 || OpacNavRight) %]
+ [% # Three-column layout with right and left sidebars %]
+ <div class="col-12 col-lg-7 order-md-1 maincontent">
+ [% ELSIF (Koha.Preference( 'opacuserlogin' ) == 1 || OpacNavRight) %]
+ [% # Two-column layout with right sidebar %]
+ <div class="col-12 col-lg-9 order-md-1 maincontent">
+ [% ELSIF ( OpacNav || OpacNavBottom ) %]
+ <div class="col-12 col-lg-10 order-md-1 maincontent">
+ [% ELSE %]
+ <div class="col order-md-1 maincontent">
+ [% END %]
- [% IF ( koha_news_count ) %]
- <div id="news" class="newscontainer">
- [% FOREACH koha_new IN koha_news %]
+ <h1 class="sr-only">Koha home</h1>
+
+ [% IF Koha.Preference( 'OpacNewsLibrarySelect' ) %]
+ [% UNLESS news_item %]
+ <form id="news-branch-select" class="form-inline" name="news-branch-select" method="get" action="/cgi-bin/koha/opac-main.pl">
+ <legend class="sr-only">News</legend>
+ <label for="news-branch">Display news for: </label>
+ <select id="news-branch" name="branch">
+ [% IF ( branchcode == "" ) %]
+ <option value="" selected="selected">System-wide only</option>
+ [% ELSE %]
+ <option value="">System-wide only</option>
+ [% END %]
+ [% PROCESS options_for_libraries libraries => Branches.all( selected => branchcode, unfiltered => 1, ) %]
+ </select>
+ </form>
+ [% END %]
+ [% END %]
+
+ [% IF koha_news.count %]
+
+ [% IF single_news_error %]
+
+ <div class="alert alert-error">
+ This news item does not exist.
+ </div>
+
+ [% ELSE %]
+
+ <div id="news" class="newscontainer">
+ [% SET show_author = Koha.Preference('NewsAuthorDisplay') == 'opac' || Koha.Preference('NewsAuthorDisplay') == 'both' %]
+ [% FOREACH koha_new IN koha_news %]
+ <div class="newsitem">
+ <h4 class="newsheader">
+ [% IF ( news_item ) %]
+ [% koha_new.title | html %]
+ [% ELSE %]
+ <a name="newsitem[% koha_new.idnew | html %]" href="/cgi-bin/koha/opac-main.pl?news_id=[% koha_new.idnew | uri %]">[% koha_new.title | html %]</a>
+ [% END %]
+ </h4>
+ <div class="newsbody">[% koha_new.content | $raw %]</div>
+ <div class="newsfooter">
+ Published on [% koha_new.published_on | $KohaDates %]
+ [% IF ( show_author && koha_new.author ) %]
+ by <span class="newsauthor">[% INCLUDE 'patron-title.inc' patron=koha_new.author %]</span>
+ [% END %]
+ [% IF ( news_item ) %]
+ • <a href="/cgi-bin/koha/opac-main.pl">Show all news</a>
+ [% END %]
+ </div>
+ </div>
+ [% END %]
+
+ [% UNLESS news_item %]
+ <div id="rssnews-container">
+ <!-- Logged in users have a branch code or it could be explicitly set -->
+ <a href="[% OPACBaseURL | url %]/cgi-bin/koha/opac-news-rss.pl?branchcode=[% branchcode | uri %]">
+ <i class="fa fa-rss" aria-hidden="true"></i>
+ [% IF Branches.all.size == 1 %]
+ [% IF branchcode %]
+ RSS feed for [% Branches.GetName( branchcode ) | html %] library news
+ [% ELSE %]
+ RSS feed for library news
+ [% END %]
+ [% ELSE %]
+ [% IF branchcode %]
+ RSS feed for [% Branches.GetName( branchcode ) | html %] and system-wide library news
+ [% ELSE %]
+ RSS feed for system-wide library news
+ [% END %]
+ [% END %]
+ </a>
+ </div>
+ [% END %]
+ </div>
+
+ [% END # /IF single_news_error %]
+
+ [% ELSE %] <!-- koha news -->
+ [% IF Koha.Preference( 'OpacNewsLibrarySelect' ) %]
+ <div id="news" class="newscontainer">
<div class="newsitem">
- <h4 class="newsheader">[% koha_new.title %]</h4>
- <div class="newsbody">[% koha_new.new %]</div>
- <div class="newsfooter">(published on [% koha_new.newdate %])</div>
+ <div class="newsbody">No news to display.</div>
+ <div class="newsfooter"></div>
</div>
- [% END %]
- </div>
- [% END %]
+ </div>
+ [% END %]
+
+ [% END # IF koha_news %]
- [% IF ( display_daily_quote && daily_quote ) %]
- <div id="daily-quote">
- <h3>Quote of the Day</h3>
- <div>
- <span id="daily-quote-text">[% daily_quote.text %]</span><span id="daily-quote-sep"> ~ </span><span id="daily-quote-source">[% daily_quote.source %]</span>
+ [% UNLESS news_item # Don't show under single news item %]
+ [% IF ( daily_quote ) %]
+ <div id="daily-quote">
+ <h2>Quote of the day</h2>
+ <div>
+ <span id="daily-quote-text">[% daily_quote.text | html %]</span><span id="daily-quote-sep"> ~ </span><span id="daily-quote-source">[% daily_quote.source | html %]</span>
+ </div>
</div>
- </div>
+ [% END %]
+
+ [% IF ( OpacMainUserBlock ) %]
+ [% PROCESS koha_news_block news => OpacMainUserBlock %]
+ [% END %]
[% END %]
- [% IF ( OpacMainUserBlock ) %]<div id="opacmainuserblock">[% OpacMainUserBlock %]</div>[% END %]
- </div> <!-- / .span 7/9 -->
+ </div> <!-- / .col 6/8 -->
[% IF ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) || OpacNavRight ) %]
- <div class="span3">
+ <div class="col-12 col-lg-3 order-md-2">
[% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
[% UNLESS ( loggedinusername ) %]
- [% UNLESS ( casAuthentication ) %]
+ [% UNLESS ( casAuthentication || shibbolethAuthentication || Koha.Preference('opacShibOnly') ) %]
<div id="login">
- <form action="/cgi-bin/koha/opac-user.pl" method="post" name="auth" id="auth">
+ <form action="/cgi-bin/koha/opac-user.pl" method="post" name="auth" id="auth" autocomplete="off">
<input type="hidden" name="koha_login_context" value="opac" />
<fieldset class="brief">
<legend>Log in to your account:</legend>
- <label for="userid">Login:</label><input type="text" id="userid" name="userid" />
- <label for="password">Password:</label><input type="password" id="password" name="password" />
- <fieldset class="action">
- <input type="submit" value="Log in" class="btn" />
- </fieldset>
- [% IF PatronSelfRegistration && PatronSelfRegistrationDefaultCategory %]<div id="patronregistration"><p>Don't have an account? <a href="/cgi-bin/koha/opac-memberentry.pl">Register here.</a></p></div>[% END %]
+ [% IF ( Koha.Preference('GoogleOpenIDConnect') == 1 ) %]
+ <a href="/cgi-bin/koha/svc/auth/googleopenidconnect" class="btn btn-light" id="openid_connect"><i class="fa fa-google" aria-hidden="true"></i> Log in with Google</a>
+ <p>If you do not have a Google account, but do have a local account, you can still log in: </p>
+ [% END # /IF GoogleOpenIDConnect %]
+ <label for="userid">Login:</label>
+ <input class="form-control" type="text" id="userid" name="userid" autocomplete="off" />
+ <label for="password">Password:</label>
+ <input class="form-control" type="password" id="password" name="password" autocomplete="off" />
+ <fieldset class="action">
+ <input type="submit" value="Log in" class="btn btn-primary" />
+ </fieldset>
+ [% IF ( OpacLoginInstructions ) %]
+ <div id="nologininstructions-main" class="nologininstructions">
+ [% PROCESS koha_news_block news => OpacLoginInstructions %]
+ </div>
+ [% END %]
+ [% IF Koha.Preference('OpacPasswordChange') && Categories.can_any_reset_password %]
+ <div id="forgotpassword-main" class="forgotpassword">
+ <p><a href="/cgi-bin/koha/opac-password-recovery.pl">Forgot your password?</a></p>
+ </div>
+ [% END %]
+ [% IF PatronSelfRegistration && PatronSelfRegistrationDefaultCategory %]
+ <div id="patronregistration-main" class="patronregistration">
+ <p>Don't have an account? <a href="/cgi-bin/koha/opac-memberentry.pl">Register here.</a></p>
+ </div>
+ [% END %]
</fieldset>
- [% IF Koha.Preference( 'NoLoginInstructions' ) %]
- <div id="nologininstructions-main">
- [% Koha.Preference( 'NoLoginInstructions' ) %]
- </div>
- [% END %]
</form>
</div> <!-- /#login -->
[% END # /casAuthentication %]
- [% IF persona %]
- <a href="#" class="persona-button" id="browserid" ><span>Sign in with your email</span></a>
- [% END # /persona %]
- [% END # / loggedinusername %]
+ [% ELSE %]
+ [% IF Koha.Preference('OPACUserSummary') && dashboard_info %]
+ <div id="user_summary">
+ <h2>User summary</h2>
+ <p>Welcome, <a href="/cgi-bin/koha/opac-user.pl"><span class="loggedinusername">[% INCLUDE 'patron-title.inc' patron = logged_in_user %]</span></a></p>
+ <ul id="user_summary_shortcuts">
+ [% IF checkouts && checkouts > 0 %]
+ <li>
+ <a href="/cgi-bin/koha/opac-user.pl#opac-user-checkouts">
+ <span class="user_checkouts_count count_label">[% checkouts | html %]</span>
+ [% tn('checkout', 'checkouts', checkouts ) | html %]
+ </a>
+ </li>
+ [% END %]
+ [% IF overdues && overdues > 0 %]
+ <li>
+ <a href="/cgi-bin/koha/opac-user.pl#opac-user-overdues">
+ <span class="user_overdues_count count_label">[% overdues | html %]</span>
+ [% tn('overdue', 'overdues', overdues ) | html %]
+ </a>
+ </li>
+ [% END %]
+ [% IF holds_pending && holds_pending > 0 %]
+ <li>
+ <a href="/cgi-bin/koha/opac-user.pl#opac-user-holds">
+ <span class="user_holds_pending_count count_label">[% holds_pending | html %]</span>
+ [% tn('hold pending', 'holds pending', holds_pending ) | html %]
+ </a>
+ </li>
+ [% END %]
+ [% IF holds_waiting && holds_waiting > 0 %]
+ <li>
+ <a href="/cgi-bin/koha/opac-user.pl#opac-user-holds">
+ <span class="user_holds_waiting_count count_label">[% holds_waiting | html %]</span>
+ [% tn('hold waiting', 'holds waiting', holds_waiting ) | html %]
+ </a>
+ </li>
+ [% END %]
+ [% IF total_owing && total_owing > 0 %]
+ <li>
+ <a href="/cgi-bin/koha/opac-account.pl">
+ <span class="user_fines_count count_label">[% total_owing | $Price with_symbol => 1 %]</span>
+ due in fines and charges
+ </a>
+ </li>
+ [% END %]
+ [% IF patron_messages && patron_messages.count > 0 || opacnote %]
+ [% IF opacnote %]
+ <li>
+ <a href="/cgi-bin/koha/opac-user.pl">
+ <span class="count_label">[% patron_messages.count + 1 | html %]</span>
+ [% tn('message', 'messages', patron_messages.count + 1 ) | html %]
+ </a>
+ </li>
+ [% ELSE %]
+ <li>
+ <a href="/cgi-bin/koha/opac-user.pl">
+ <span class="count_label">[% patron_messages.count | html %]</span>
+ [% tn('message', 'messages', patron_messages.count ) | html %]
+ </a>
+ </li>
+ [% END %]
+ [% END %]
+ </ul>
+ </div>
+ [% END %]
+ [% END # /loggedinusername %]
[% END # /opacuserlogin %]
- [% IF ( OpacNavRight ) %]
- <div id="opacnavright">
- [% OpacNavRight %]
- </div>
- [% END # /OpacNavRight %]
- </div> <!-- / .span3 -->
+ [% PROCESS koha_news_block news => OpacNavRight %]
+ </div> <!-- / .col -->
[% END # /opacuserlogin || OpacNavRight %]
</div> <!-- /.container-fluid -->
- </div> <!-- /.row-fluid -->
+ </div> <!-- /.row -->
</div> <!-- /.main -->
[% INCLUDE 'opac-bottom.inc' %]