Added session_keepalive setting
When session_keepalive is true (default) the heartbeat will be send as often as the half of the session timeout value.
This commit is contained in:
parent
49f0f9f2f6
commit
912da8d277
|
@ -184,6 +184,13 @@ $CONFIG = array(
|
|||
/* Life time of a session after inactivity */
|
||||
"session_lifetime" => 60 * 60 * 24,
|
||||
|
||||
/*
|
||||
* Enable/disable session keep alive when a user is logged in in the Web UI.
|
||||
* This is achieved by sending a "heartbeat" to the server to prevent
|
||||
* the session timing out.
|
||||
*/
|
||||
"session_keepalive" => true,
|
||||
|
||||
/* Custom CSP policy, changing this will overwrite the standard policy */
|
||||
"custom_csp_policy" => "default-src 'self'; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; frame-src *; img-src *; font-src 'self' data:; media-src *",
|
||||
|
||||
|
|
|
@ -55,6 +55,12 @@ $array = array(
|
|||
)
|
||||
),
|
||||
"firstDay" => json_encode($l->l('firstday', 'firstday')) ,
|
||||
"oc_config" => json_encode(
|
||||
array(
|
||||
'session_lifetime' => \OCP\Config::getSystemValue('session_lifetime', 60 * 60 * 24),
|
||||
'session_keepalive' => \OCP\Config::getSystemValue('session_keepalive', true)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
// Echo it
|
||||
|
|
|
@ -11,6 +11,8 @@ var oc_webroot;
|
|||
var oc_current_user = document.getElementsByTagName('head')[0].getAttribute('data-user');
|
||||
var oc_requesttoken = document.getElementsByTagName('head')[0].getAttribute('data-requesttoken');
|
||||
|
||||
window.oc_config = window.oc_config || {};
|
||||
|
||||
if (typeof oc_webroot === "undefined") {
|
||||
oc_webroot = location.pathname;
|
||||
var pos = oc_webroot.indexOf('/index.php/');
|
||||
|
@ -742,8 +744,39 @@ function fillWindow(selector) {
|
|||
console.warn("This function is deprecated! Use CSS instead");
|
||||
}
|
||||
|
||||
$(document).ready(function(){
|
||||
sessionHeartBeat();
|
||||
/**
|
||||
* Initializes core
|
||||
*/
|
||||
function initCore() {
|
||||
|
||||
/**
|
||||
* Calls the server periodically to ensure that session doesnt
|
||||
* time out
|
||||
*/
|
||||
function initSessionHeartBeat(){
|
||||
// interval in seconds
|
||||
var interval = 900;
|
||||
if (oc_config.session_lifetime) {
|
||||
interval = Math.floor(oc_config.session_lifetime / 2);
|
||||
}
|
||||
// minimum one minute
|
||||
if (interval < 60) {
|
||||
interval = 60;
|
||||
}
|
||||
OC.Router.registerLoadedCallback(function(){
|
||||
var url = OC.Router.generate('heartbeat');
|
||||
setInterval(function(){
|
||||
$.post(url);
|
||||
}, interval * 1000);
|
||||
});
|
||||
}
|
||||
|
||||
// session heartbeat (defalts to enabled)
|
||||
if (typeof(oc_config.session_keepalive) === 'undefined' ||
|
||||
!!oc_config.session_keepalive) {
|
||||
|
||||
initSessionHeartBeat();
|
||||
}
|
||||
|
||||
if(!SVGSupport()){ //replace all svg images with png images for browser that dont support svg
|
||||
replaceSVG();
|
||||
|
@ -856,7 +889,9 @@ $(document).ready(function(){
|
|||
$('input[type=text]').focus(function(){
|
||||
this.select();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(initCore);
|
||||
|
||||
/**
|
||||
* Filter Jquery selector by attribute value
|
||||
|
@ -986,15 +1021,3 @@ jQuery.fn.exists = function(){
|
|||
return this.length > 0;
|
||||
};
|
||||
|
||||
/**
|
||||
* Calls the server periodically every 15 mins to ensure that session doesnt
|
||||
* time out
|
||||
*/
|
||||
function sessionHeartBeat(){
|
||||
OC.Router.registerLoadedCallback(function(){
|
||||
var url = OC.Router.generate('heartbeat');
|
||||
setInterval(function(){
|
||||
$.post(url);
|
||||
}, 900000);
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue