3c32fd1eaa
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@10609 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
91 lines
2.4 KiB
JavaScript
91 lines
2.4 KiB
JavaScript
/**
|
|
* Open login dialog
|
|
*/
|
|
$(document).ready(function() {
|
|
$('#header').remove();
|
|
$('#content').remove();
|
|
|
|
var winHeight = document.body.clientHeight;
|
|
var diagHeight = $('#login').css('height');
|
|
diagHeight = diagHeight.substr(0, diagHeight.length - 2);
|
|
diagHeight = Number(diagHeight);
|
|
|
|
// The window's height is to small to show the dialog
|
|
var tmpHeight = 0;
|
|
if ((winHeight - 50) < diagHeight){
|
|
tmpHeight = 0;
|
|
} else {
|
|
tmpHeight = parseInt((winHeight - diagHeight - 50) / 2);
|
|
}
|
|
|
|
$('#login').css('margin', tmpHeight + 'px auto');
|
|
$('button').bind('click', function(){
|
|
authenticate();
|
|
}).button();
|
|
|
|
if (document.location.protocol == 'http:') {
|
|
$('#login_status').html('You are using an unencrypted session!');
|
|
$('#login_status').css('color', 'red');
|
|
}
|
|
|
|
if (!$("#login input[name='username']").val()) {
|
|
$("#login input[name='username']").focus();
|
|
} else {
|
|
$("#login input[name='password']").focus();
|
|
}
|
|
|
|
// When enter is hit while in username, advance to password
|
|
$("#login input[name='username']").keydown(function(event) {
|
|
if (event.keyCode == 13) {
|
|
$("#login input[name='password']").focus();
|
|
}
|
|
});
|
|
|
|
// Submit authentication if enter is pressed in password field
|
|
$("#login input[name='password']").keydown(function(event) {
|
|
if (event.keyCode == 13) {
|
|
authenticate();
|
|
}
|
|
});
|
|
});
|
|
|
|
/**
|
|
* Update login dialog
|
|
*
|
|
* @param data
|
|
* Data returned from AJAX call
|
|
* @param txtStatus
|
|
* Status of login
|
|
*/
|
|
function onlogin(data, txtStatus) {
|
|
// Clear password field regardless of what happens
|
|
var usrName = $("#login input[name='username']").val();
|
|
$("#login input[name='password']").val('');
|
|
if (data.authenticated == 'yes') {
|
|
$('#login_status').text('Login successful');
|
|
window.location = 'service.php';
|
|
|
|
// Set user name cookie
|
|
var exDate = new Date();
|
|
exDate.setTime(exDate.getTime() + (240 * 60 * 1000));
|
|
$.cookie('srv_usrname', usrName, { expires: exDate });
|
|
} else {
|
|
$('#login_status').text('Authentication failure');
|
|
$('#login_status').css('color', '#FF0000');
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Authenticate user for new session
|
|
*/
|
|
function authenticate() {
|
|
$('#login_status').css('color', '#000000');
|
|
$('#login_status').html('Authenticating...');
|
|
|
|
var passwd = $("#login input[name='password']").val();
|
|
$.post('lib/srv_log.php', {
|
|
username : $("#login input[name='username']").val(),
|
|
password : passwd
|
|
}, onlogin, 'json');
|
|
}
|