mirror of
https://github.com/silverstripe/silverstripe-cms
synced 2024-10-22 08:05:56 +02:00
MINOR Refactored onSessionLost() javascript functionality
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/trunk@92651 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
parent
9980de9c1d
commit
baf23e5883
@ -15,7 +15,7 @@
|
|||||||
return/** @lends ss.EditMemberProfile */ {
|
return/** @lends ss.EditMemberProfile */ {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @type Number
|
* @type Number Interval in which /Security/ping will be checked for a valid login session.
|
||||||
*/
|
*/
|
||||||
PingIntervalSeconds: 5*60,
|
PingIntervalSeconds: 5*60,
|
||||||
|
|
||||||
@ -41,10 +41,31 @@
|
|||||||
this._super();
|
this._super();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This function is called by prototype when it receives notification that the user was logged out.
|
||||||
|
* It uses /Security/ping for this purpose, which should return '1' if a valid user session exists.
|
||||||
|
* It redirects back to the login form if the URL is either unreachable, or returns '0'.
|
||||||
|
*/
|
||||||
_setupPinging: function() {
|
_setupPinging: function() {
|
||||||
|
var onSessionLost = function(response, type, XMLHttpRequest) {
|
||||||
|
if(XMLHttpRequest.status > 400 || response == 0) {
|
||||||
|
// TODO will pile up additional alerts when left unattended
|
||||||
|
if(window.open('Security/login')) {
|
||||||
|
alert("Please log in and then try again");
|
||||||
|
} else {
|
||||||
|
alert("Please enable pop-ups for this site");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// setup pinging for login expiry
|
// setup pinging for login expiry
|
||||||
setInterval(function() {
|
setInterval(function() {
|
||||||
jQuery.get("Security/ping");
|
jQuery.ajax({
|
||||||
|
url: "Security/ping",
|
||||||
|
global: false,
|
||||||
|
error: onSessionLost,
|
||||||
|
success: onSessionLost
|
||||||
|
});
|
||||||
}, this.PingIntervalSeconds() * 1000);
|
}, this.PingIntervalSeconds() * 1000);
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -582,19 +603,6 @@ returnFalse = function() {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* This function is called by prototype when it receives notification that the user was logged out.
|
|
||||||
* It redirects back to the login form.
|
|
||||||
*/
|
|
||||||
function onSessionLost() {
|
|
||||||
w = window.open('Security/login');
|
|
||||||
if(w) {
|
|
||||||
alert("Please log in and then try again");
|
|
||||||
} else {
|
|
||||||
alert("Please enable pop-ups for this site");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var _CURRENT_CONTEXT_MENU = null;
|
var _CURRENT_CONTEXT_MENU = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user