[% META title = 'Login' %]
<!-- BEGIN [% template.name %] -->
[%
# INCLUDE dumper.tt dump = c.cfg('settings');
IF user_profile; # INCLUDE dumper.tt dump = user_profile;
username = c.query.url.match(8080) AND NOT env.DB_SESSIONS
? user_profile.username
: user_profile.first_name _ '.' _ user_profile.last_name;
END;
%]
[% BLOCK logout_msg %]
<p>
<span class="info">
[% IF username %]
You are logged in as <b>[% username %]</b>
[% ELSE %]
You are already logged in
[% END %]
</span>
[ <a href="[% app_url %]/logout">logout</a> ]
</p>
[% END %]
[% IF c.authen.username; INCLUDE logout_msg; # already logged in %]
[% ELSIF c.cfg('settings').offline %]
<p class="warning">Logins temporarily disabled during essential maintenance.
Please try again in a few minutes ....</p>
[% ELSE %]
[% SET destination = c.query.param('destination') || destination_url %]
[% IF c.authen.login_attempts %]
<p class="error">
Login failed (login attempt [% c.authen.login_attempts %])
</p>
<div class="bold">Possible reasons:</div>
<div class="indent">- invalid username / password</div>
<div class="indent">- expired user account</div>
<p>If you have previously registered for a user account, please
reset your password below. Otherwise, you can apply for one
<a href="/">here</a>.
</p>
[% ELSIF c.authen.is_login_timeout; INCLUDE logout_msg; %]
<div class="warning indent">
Idle timeout - please re-enter your login details:
</div>
[% ELSE %]
<div class="message">Please enter your login details:</div>
[% END %]
<script type="text/javascript">
function closeMe() {
window.open('','_parent','');
window.close();
}
</script>
[% # PROCESS dumper.tt dump = c.stash.REMOTE_ADDR # test Apache mod_rpaf working %]
[% # PROCESS dumper.tt dump = CAP_Messages %]
<!-- Login form -->
<form method="post" action="[% app_url %]" id="login_form" name="login_form"
autocomplete="off">
<input type="hidden" name="destination" value="[% destination %]" />
<input type="hidden" name="access_token"
value="[% c.query.param('access_token') %]" />
<input type="hidden" name="rm" value="authen_login" />
<table class="indent" id="login_form">
<tr>
<td><b>Username</b>:</td>
<td>
<input type="text" size="20" name="authen_username"
[% IF c.authen.is_login_timeout %]
value="[% username %]" [% site.html.readonly %]
[% END %] id="authen_loginfield" />
</td>
</tr>
<tr>
<td><b>Password</b>:</td>
<td>
<input type="password" id="authen_passwordfield"
name="authen_password" size="20" />
</td>
</tr>
<tr>
<td colspan="2" align="right">
[% site.html.submit %]
<!--[if IE]>
<input type="button" name="Close" value="Close"
onclick="closeMe()" />
<![endif]-->
</td>
</tr>
</table>
<p id="result" style="color: #f00"></p>
</form>
<script type="text/javascript">
function log(msg){
document.getElementById('result').innerHTML = msg;
}
document.getElementById('authen_passwordfield').onkeypress = function(e){
if(isCapslock(e)){
log("WARNING: CAPS LOCK IS ON");
}
else {
log("");
}
}
</script>
[% PROCESS site/toggle.tt link = 'Forgotten my password' %]
<div style="padding: 10px">
<p>
<a href="javascript:toggleview('form','toggleform')"
id="toggleform">[% link %]</a>
</p>
</div>
[%
DEFAULT forgotten_pwd_class = 'itemhidden'; # overridden below
msg = CAP_Messages.0; # if failure msg set in User::password_change()
IF msg.class == 'email_address'; # PROCESS dumper.tt dump = msg;
email_address = msg.message;
forgotten_pwd_class = 'itemvisible'; # override default so it shows
%]
<p class="error">[% c.messages('login').email_not_found %]</p>
[% END %]
<div class="[% forgotten_pwd_class %]" id="form">
<form method="post" action="[% app_url %]/user/password_change"
name="forgotten_pwd" id="forgotten_pwd">
<p class="title">
Enter your email address:
<input type="text" id="email_address" name="email_address"
size="40" value="[% email_address %]" />
<input type="hidden" name="access_token"
value="[% c.query.param('access_token') %]" />
[% site.html.submit %]
</p>
<p>
[% UNLESS email_address %]
Your password will be reset and a new one e-mailed to you.
[% END %]
</p>
</form>
</div>
[% END %]
[% IF limerick AND ( c.cfg('settings').offline OR devel_server );
INCLUDE site/limerick.tt; END %]
<div align="right">
<!--<a href="http://cgi-app.org/" style="background-color: #fff; text-decoration: none">-->
<img style="border: none" src="/images/titanium_logo.png"
alt="powered by Titanium" />
<!-- Start Trustico Site Seal Tag. Do Not Edit. --><!-- // don't need it
<a target="_blank" href="http://www.trustico.co.uk/?seal=quickssl">
<img alt="Secured By QuickSSL and Trustico"
title="Secured By QuickSSL and Trustico"
src="https://secure.trustico.com/quickssl/quickssl-115x55.gif"
width="115" height="55" border="0">
</a> -->
<!-- End Trustico Site Seal Tag -->
</div>
[% # set 'active' textbox - contains cursor:
active = c.authen.is_login_timeout ? 'authen_password' : 'authen_username';
PROCESS site/field_focus.tt form_name = 'login_form', field_name = active;
%]
<!-- END [% template.name %] -->