GBrowse
view release on metacpan or search on metacpan
htdocs/js/login.js view on Meta::CPAN
return;
}
//Adds the user to the database if they didn't previously exist (openid login)
function add_openid_user(openid,html) {
var username = $('loginUser').getValue();
var email = $('loginEmail').getValue();
var gecos = $('loginFullName').getValue();
var remember;
$('loginWarning').hide();
if($('loginRemember').checked) {remember=1;}
else {remember=0;}
$('loginBusy').show();
new Ajax.Request(LoginScript+Source+'/',{
method: 'post',
parameters: {
action: 'gbrowse_login',
login_action: ['add_openid_user'],
user: username,
email: email,
fullname: gecos,
openid: openid,
session: SessionID,
remember: remember
},
onSuccess: function (transport) {
var results = transport.responseText;
$('loginBusy').hide();
if(results == 'Session Error') {
login_loading(false);
$('loginCancel').value = Controller.translate('BACK');
$('loginWarning').innerHTML = Controller.translate('USER_ALREADY_CREATED') +
'<a href=#reset onClick="$(\'balloon\').hide();$(\'closeButton\').hide();' +
'login_get_account(\'Reset\',\'Reset\',0,false);return false;">' +
Controller.translate('CREATE_NEW_SESSION') + '</a>' ;
$('loginURow').hide(); $('loginSubmit').hide();
$('loginBreak').hide(); $('loginWarning').show();
} else {
if(results != 'Success') {
$('loginWarning').innerHTML = results + '<br>' + html;
} else {
$('loginWarning').innerHTML = results;
LoginPage = 'main';
UsingOpenID = true;
}
login_user(username,SessionID,remember);
}
}
});
return;
}
//******************************************************************
// Log In Validation Functions:
//******************************************************************
//Checks to make sure that the provided credentials are valid
function login_validation() {
var username = $('loginUser').getValue();
var password = $('loginPass').getValue();
var session = '';
var remember;
if(LoginPage=='edit') {remember=2;}
else {
if($('loginRemember').checked) {remember=1;}
else {remember=0;}
}
$('loginBusy').show();
new Ajax.Request(LoginScript+Source+'/',{
method: 'post',
parameters: {
action: 'gbrowse_login',
login_action: ['validate'],
user: username,
pass: password,
remember: remember
},
onSuccess: function (transport) {
$('loginBusy').hide();
var results = transport.responseText;
if(results.indexOf('session')!=-1) {
session = results.slice(7);
$('loginWarning').innerHTML = 'Success';
} else if (results.indexOf('unconfirmed')!=-1) {
var email = results.slice(11);
ask_resend_confirmation(email);
} else {
$('loginWarning').innerHTML = results;
}
UsingOpenID = false;
login_user(username,session,remember);
}
});
return;
}
//Logs in the user or sends them to the proper screen when credentials are provided
function login_user(username,session,remember) {
if ($('loginWarning').innerHTML != 'Success') {
$('loginWarning').show();
login_loading(false);
return;
} else {
switch(LoginPage) {
case 'edit':
CurrentUser = username;
edit_details('home');
return;
case 'create':
$('loginCancel').value = Controller.translate('BACK');
$('loginWarning').style.color = 'blue';
$('loginWarning').innerHTML = Controller.translate('CONFIRMATION_EMAIL_SENT');
$('loginURow').hide(); $('loginERow').hide(); $('loginBreak').hide();
$('loginPRow').hide(); $('loginP2Row').hide(); $('loginSubmit').hide();
$('loginFRow').hide()
login_loading(false);
$('loginWarning').show();
return;
case 'main':
login_get_account(username,session,remember,false)
return;
default:
return;
}
}
}
//Refresh the page with the user logged in
function login_get_account(username,session,remember,openid) {
if ($('loginBusy') != null) $('loginBusy').show();
new Ajax.Request(Controller.url,{
method: 'post',
parameters: {action: 'authorize_login',
username: username,
session: session,
remember: remember,
openid: UsingOpenID
},
onSuccess: function(transport) {
if ($('loginBusy') != null) $('loginBusy').hide();
var results = transport.responseJSON;
if(results.id != null) {
if(results.id == 'error') {
if(openid) {
var command = 'load_login_balloon(new fakeEvent(),"'+session+'",false,false);' +
'login_blackout(false,"");login_get_account_error();';
setTimeout(command,2000);
} else {
login_get_account_error();
}
} else {
login_load_account(String(location.href).split('?')[0],results);
}
}
}
});
return;
( run in 0.940 second using v1.01-cache-2.11-cpan-ceb78f64989 )