diff --git a/core/js/js.js b/core/js/js.js index e373fca886..597ca2af9a 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -584,6 +584,7 @@ function fillWindow(selector) { } $(document).ready(function(){ + sessionHeartBeat(); if(!SVGSupport()){ //replace all svg images with png images for browser that dont support svg replaceSVG(); @@ -815,3 +816,17 @@ OC.set=function(name, value) { } context[tail]=value; }; + + +/** + * Calls the server periodically every 15 mins to ensure that session doesnt + * time out + */ +function sessionHeartBeat(){ + OC.Router.registerLoadedCallback(function(){ + setInterval(function(){ + var url = OC.Router.generate('heartbeat'); + $.post(url); + }, 15000); + }); +} \ No newline at end of file diff --git a/core/routes.php b/core/routes.php index 2527816b66..be19b66bf7 100644 --- a/core/routes.php +++ b/core/routes.php @@ -69,3 +69,8 @@ $this->create('app_script', '/apps/{app}/{file}') ->defaults(array('file' => 'index.php')) ->requirements(array('file' => '.*.php')) ->action('OC', 'loadAppScriptFile'); + +// used for heartbeat +$this->create('heartbeat', '/heartbeat')->action(function(){ + // do nothing +}); \ No newline at end of file