Class mark |
<!DOCTYPE html><!-- TEMPLATE FILE: auth.tt --><html lang="en"><head><title> Log in to Koha IP address change › Koha</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /> <style id="antiClickjack">body{display:none !important;}</style><link rel="shortcut icon" href="https://www.efdss.org/favicon.ico" type="image/x-icon" /> <link rel="stylesheet" href="/intranet-tmpl/lib/jquery/jquery-ui-1.13.1.min_23.0500000.css" type="text/css"><link rel="stylesheet" href="/intranet-tmpl/lib/bootstrap/bootstrap.min_23.0500000.css" type="text/css"><link type="text/css" href="/intranet-tmpl/lib/bootstrap/bootstrap-theme.min_23.0500000.css" rel="stylesheet"><link type="text/css" rel="stylesheet" href="/intranet-tmpl/lib/font-awesome/css/font-awesome.min_23.0500000.css"><link rel="stylesheet" href="/intranet-tmpl/lib/datatables/datatables.min_23.0500000.css" type="text/css"><link rel="stylesheet" href="/intranet-tmpl/prog/css/print_23.0500000.css" media="print" type="text/css"> <link type="text/css" href="/intranet-tmpl/prog/css/staff-global_23.0500000.css" rel="stylesheet"><!-- local colors --><script>var Koha = {}; var CAN_user_parameters_manage_column_config = 0;</script><script src="/intranet-tmpl/js/Gettext_23.0500000.js"></script><script src="/intranet-tmpl/js/i18n_23.0500000.js"></script> <link href="/intranet-tmpl/prog/css/login_23.0500000.css" rel="stylesheet" type="text/css"></head><body id="main_auth" class="main_main-auth"><div class="main container-fluid"><div id="login"><h1><a href="http://koha-community.org">Koha</a></h1><div id="login_error"><strong>Error: </strong>IP address has changed. Please log in again </div> <!-- login prompt time--> <form action="/cgi-bin/koha/cataloguing/plugin_launcher.pl" method="post" name="loginform" id="loginform"> <input type="hidden" name="koha_login_context" value="intranet" /> <input type="hidden" name="plugin_name" value="callnumber.pl" /> <input type="hidden" name="code" value="SCD 3297" /> <p><label for="userid">Username:</label> <input type="text" name="userid" id="userid" class="input focus" value="" size="20" tabindex="1" autocomplete="off" /> </p> <p><label for="password">Password:</label> <input type="password" name="password" id="password" class="input" value="" size="20" tabindex="2" autocomplete="off" /> </p> <!-- <p><label><input name="rememberme" type="checkbox" id="rememberme" value="forever" tabindex="3" />Remember me</label></p> --> <p class="submit"><input id="submit-button" type="submit" class="btn btn-primary" value="Log in" tabindex="4" /></p> </form> <!--<ul> --><!-- <li><a href="/cgi-bin/koha/lostpassword.pl" title="Password lost and found">Lost your password?</a></li> --><!-- </ul> --></div><!-- the main div is closed in intranet-bottom.inc --> </div> <div id="changelanguage" class="navbar navbar-default navbar-fixed-bottom"> <div class="container-fluid"> <ul id="i18nMenu" class="nav navbar-nav"> <li class="dropdown"><a class="dropdown-toggle dropup" data-toggle="dropdown" id="showen" href="#"> English <span class="sublanguage-selected">(en)</span> <span class="caret"></span></a> <ul id="suben" class="dropdown-menu dropdown-menu-left"> <li class="navbar-text"> <span class="currentlanguage disabled">English (en)</span></li> <li><a href="/cgi-bin/koha/changelanguage.pl?language=en-GB"> English United Kingdom (en-GB)</a></li> </ul></li> </ul> </div> </div> <span id="audio-alert"></span> <script> if (self === top) { var antiClickjack = document.getElementById("antiClickjack"); antiClickjack.parentNode.removeChild(antiClickjack); } else { top.location = self.location; } </script><script src="/intranet-tmpl/lib/jquery/jquery-3.6.0.min_23.0500000.js"></script><script src="/intranet-tmpl/lib/jquery/jquery-migrate-3.3.2.min_23.0500000.js"></script><script src="/intranet-tmpl/lib/jquery/jquery-ui-1.13.1.min_23.0500000.js"></script><script src="/intranet-tmpl/lib/shortcut/shortcut_23.0500000.js"></script><script src="/intranet-tmpl/lib/js-cookie/js.cookie-2.2.1.min_23.0500000.js"></script><script src="/intranet-tmpl/lib/jquery/plugins/jquery.highlight-3_23.0500000.js"></script><script src="/intranet-tmpl/lib/bootstrap/bootstrap.min_23.0500000.js"></script><script src="/intranet-tmpl/lib/jquery/plugins/jquery.validate.min_23.0500000.js"></script><!-- koha core js --><script src="/intranet-tmpl/prog/js/staff-global_23.0500000.js"></script><script src="/intranet-tmpl/lib/dayjs/dayjs.min_23.0500000.js"></script><script src="/intranet-tmpl/lib/dayjs/plugin/utc_23.0500000.js"></script><script src="/intranet-tmpl/lib/dayjs/plugin/timezone_23.0500000.js"></script><script src="/intranet-tmpl/lib/dayjs/plugin/customParseFormat_23.0500000.js"></script><script> dayjs.extend(window.dayjs_plugin_utc); dayjs.extend(window.dayjs_plugin_timezone); dayjs.extend(window.dayjs_plugin_customParseFormat);</script><!-- js-date-format.inc --><script> (function() { var def_date_format = 'iso'; var def_time_format = '24hr'; var def_tz = 'Europe/London'; var get_date_pattern = function(format) { var date_pattern = 'YYYY-MM-DD'; if(format == 'us') date_pattern = 'MM/DD/YYYY'; if(format == 'metric') date_pattern = 'DD/MM/YYYY'; if(format == 'dmydot') date_pattern = 'DD.MM.YYYY'; return date_pattern; }; var get_time_pattern = function(format) { var time_pattern = 'HH:mm'; if(format == '12hr') time_pattern = 'hh:mm a'; return time_pattern; }; /* * A JS equivilent of the KohaDates TT Plugin. Passed an rfc3339 formatted date string, * or JS Date, the function will return a date string formatted as per the koha instance config. * Optionally accepts a dateformat parameter to allow override of the configured output format * as well as a 'withtime' boolean denoting whether to include time or not in the output string. */ window.$date = function(value, options) { if(!value) return ''; var tz = (options&&options.tz)||def_tz; var m = dayjs(value); if ( ! value.match(/^\d{4}-\d{2}-\d{2}$/ ) ) { m = m.tz(tz); } var dateformat = (options&&options.dateformat)||def_date_format; var withtime = (options&&options.withtime)||false; if(dateformat=='rfc3339' && withtime) return m.format(); var timeformat = (options&&options.timeformat)||def_time_format; var date_pattern = get_date_pattern(dateformat); var time_pattern = !withtime?'':' '+get_time_pattern(timeformat); return m.format(date_pattern+time_pattern); } window.$datetime = function(value, options) { options = options||{}; options.withtime = true; return $date(value, options); }; window.$time = function(value, options) { if(!value) return ''; var tz = (options&&options.tz)||def_tz; var m = dayjs(value); if(tz) m = m.tz(tz); var dateformat = (options&&options.dateformat); var timeformat = (dateformat=='rfc3339'&&'24hr')||(options&&options.timeformat)||def_time_format; return m.format(get_time_pattern(timeformat)+(dateformat=='rfc3339'?':ss'+(!m.isUTC()?'Z':''):''))+(dateformat=='rfc3339' && m.isUTC()?'Z':''); } window.$date_to_rfc3339 = function(value, options) { var dateformat = (options&&options.dateformat)||def_date_format; let m = dayjs(value, get_date_pattern(dateformat)); return m.format("YYYY-MM-DD"); } })();</script><!-- / js-date-format.inc --><!-- js-patron-get-age.inc --><script> (function() { const tz = 'Europe/London'; window.$get_age = function(dob, options) { if(!dob) return ''; let today = new Date(); dob = new Date(dob); if ( tz ) { let today_tz = new Date(today.toLocaleString('en-US', {timeZone: tz})); let diff = today.getTime() - today_tz.getTime(); today = new Date(today.getTime() - diff); let dob_tz = new Date(dob.toLocaleString('en-US', {timeZone: tz})); diff = dob.getTime() - dob_tz.getTime(); dob = new Date(dob.getTime() - diff); } let age = today.getFullYear() - dob.getFullYear(); let m = today.getMonth() - dob.getMonth(); if (m < 0 || (m === 0 && today.getDate() < dob.getDate())) { age--; } return age; } })();</script><!-- / js-patron-get-age.inc --><!-- js-patron-format-address.inc --><script> (function() { const roadtypes = []; let roadtypes_map = roadtypes.reduce((map, r) => { map[r.street_type] = r; return map; }, {}); function member_display_address_style_us(data, line_break, include_li) { let address = ""; if ( data.address || data.address2 ) { if ( data.address ) { let roadtype_desc = ''; if ( data.street_type ) { roadtype_desc = roadtypes_map[data.street_type] ? roadtypes_map[data.street_type].street_type : data.street_type; } address += include_li ? '<li class="patronaddress1">' : ''; address += escape_str(data.street_number) + ' ' + escape_str(data.address) + ' ' + escape_str(roadtype_desc); address += include_li ? '</li>' : ''; } } if ( data.address2 ) { address += include_li ? '<li class="patronaddress2">' : ' '; address += escape_str(data.address2); address += include_li ? '</li>' : ''; } if ( data.city || data.postal_code || data.state || data.country ) { address += include_li ? '<li class="patroncity">' : ' '; address += escape_str(data.city); if ( data.state ) { if ( data.city ) { address += ', '; } address += escape_str(data.state); } if ( data.postal_code ) { address += " " + escape_str(data.postal_code); } if ( data.country ) { if ( data.postal_code || data.state || data.city ) { address += ', '; } address += escape_str(data.country) } address += include_li ? '</li>' : ''; } return address; } function member_display_address_style_de(data, line_break, include_li) { let address = ""; if ( data.address || data.address2 ) { if ( data.address ) { let roadtype_desc = ''; if ( data.street_type ) { roadtype_desc = roadtypes_map[data.street_type] ? roadtypes_map[data.street_type].street_type : data.street_type; } address += include_li ? '<li class="patronaddress1">' : ' '; address += escape_str(data.address) + ' ' + escape_str(roadtype_desc) + escape_str(data.street_number); address += include_li ? '</li>' : ''; } } if ( data.address2 ) { address += include_li ? '<li class="patronaddress2">' : ' '; address += escape_str(data.address2); address += include_li ? '</li>' : ''; } if ( data.city || data.postal_code || data.state || data.country ) { address += include_li ? '<li class="patroncity">' : ' '; address += escape_str(data.postal_code) + ' ' + escape_str(data.city); address += data.state ? line_break + escape_str(data.state) : ''; address += data.country ? line_break + escape_str(data.country) : ''; address += include_li ? '</li>' : ''; } return address; } function member_display_address_style_fr(data, line_break, include_li) { let address = ""; if ( data.address || data.address2 ) { if ( data.address ) { let roadtype_desc = ''; if ( data.street_type ) { roadtype_desc = roadtypes_map[data.street_type] ? roadtypes_map[data.street_type].street_type : data.street_type; } address += include_li ? '<li class="patronaddress1">' : ''; address += escape_str(data.street_number) + ' ' + escape_str(roadtype_desc) + escape_str(data.address); address += include_li ? '</li>' : ''; } } if ( data.address2 ) { address += include_li ? '<li class="patronaddress2">' : ' '; address += escape_str(data.address2); address += include_li ? '</li>' : ''; } if ( data.city || data.postal_code || data.state || data.country ) { address += include_li ? '<li class="patroncity">' : ' '; address += escape_str(data.postal_code) + ' ' + escape_str(data.city); address += data.state ? line_break + escape_str(data.state) : ''; address += data.country ? line_break + escape_str(data.country) : ''; address += include_li ? '</li>' : ''; } return address; } window.$format_address = function(data, options) { let line_break = options && options.no_line_break ? ' ' : '<br/>'; let include_li = options && options.include_li;return member_display_address_style_us(data, line_break, include_li);} })();</script><!-- / js-patron-format-address.inc --><script src="/intranet-tmpl/prog/js/patron-autocomplete_23.0500000.js"></script><!-- validator-strings.inc --><script> $(document).ready(function(){ jQuery.extend(jQuery.validator.messages, { required: _("This field is required."), remote: _("Please fix this field."), email: _("Please enter a valid email address."), url: _("Please enter a valid URL."), date: _("Please enter a valid date."), dateISO: _("Please enter a valid date (ISO)."), number: _("Please enter a valid number."), digits: _("Please enter only digits."), equalTo: _("Please enter the same value again."), maxlength: $.validator.format(_("Please enter no more than {0} characters.")), minlength: $.validator.format(_("Please enter at least {0} characters.")), rangelength: $.validator.format(_("Please enter a value between {0} and {1} characters long.")), range: $.validator.format(_("Please enter a value between {0} and {1}.")), max: $.validator.format(_("Please enter a value less than or equal to {0}.")), min: $.validator.format(_("Please enter a value greater than or equal to {0}.")), phone: $.validator.format(_("Please enter a valid phone number.")) }); });</script><!-- / validator-strings.inc --> <!-- js_includes.inc: IntranetUserJS --> <script> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-21537846-2']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })();$(document).ready(function(){$("#main_intranet-main li:contains('Check out')").attr("class","");$("#main_intranet-main li:contains('Search the catalog')").attr("class","ui-tabs-selected");$("#main_intranet-main #circ_search").hide();$("#main_intranet-main #catalog_search").show();}); </script> <!-- / js_includes.inc: IntranetUserJS --><!-- js_includes.inc --> <script src="/intranet-tmpl/prog/js/basket_23.0500000.js"></script><script> var defaultPatronSearchFields = "firstname,middle_name,surname,othernames,cardnumber,userid"; var loggedInLibrary = ''; var singleBranchMode = '';</script><!-- / js_includes.inc --> <script src="/intranet-tmpl/prog/js/desk_selection_23.0500000.js"></script> <script src="/intranet-tmpl/prog/js/register_selection_23.0500000.js"></script> <script> $(document).ready( function() { if ( document.location.hash ) { $( '#loginform' ).append( '<input name="auth_forwarded_hash" type="hidden" value="' + document.location.hash + '"/>' ); } // Clear last borrowers, rememberd sql reports, carts, etc. logOut(); $("#send_otp").on("click", function(e){ e.preventDefault(); alert("Cannot send the notice, you don't have an email address defined.") }); if( $("#registration-form").length ) { $.ajax({ data: {}, type: 'POST', url: '/api/v1/auth/two-factor/registration', success: function (data) { $("#qr_code").attr('src', data.qr_code); $("#secret32").val(data.secret32); $("#issuer").html(data.issuer); $("#key_id").html(data.key_id); $("#registration-form").show(); }, error: function (data) { alert(data); }, }); }; $("#register-2FA").on("click", function(e){ e.preventDefault(); const data = { secret32: $("#secret32").val(), pin_code: $("#pin_code").val(), }; if (!data.pin_code) return; $.ajax({ data: data, type: 'POST', url: '/api/v1/auth/two-factor/registration/verification', success: function (data) { return; }, error: function (data) { const error = data.responseJSON.error; if ( error == 'Invalid pin' ) { $("#errors").html(_("Invalid PIN code")).show(); } else { alert(error); } }, }).then(function(){ alert(_("Two-factor authentication correctly configured. You will be redirected to the login screen.")); window.location = "/cgi-bin/koha/mainpage.pl"; }); }); }); </script> </body></html> |