diff options
author | Vincent Petry <pvince81@owncloud.com> | 2014-03-06 14:49:12 +0100 |
---|---|---|
committer | Vincent Petry <pvince81@owncloud.com> | 2014-03-06 14:49:12 +0100 |
commit | 6e4ea09d52b23c216109d020dcceea5370817a73 (patch) | |
tree | 8863e3147343b96917d8b2cc19e1efc2d29829de /core/js/js.js | |
parent | bfd0d799d81ce4a805055ce17b67272b13fff035 (diff) | |
parent | 32b29c9d735ae235641a7ea3869c14d7eb69cb4f (diff) | |
download | nextcloud-server-6e4ea09d52b23c216109d020dcceea5370817a73.tar.gz nextcloud-server-6e4ea09d52b23c216109d020dcceea5370817a73.zip |
Merge pull request #7494 from owncloud/fix-7307
Replace OC.Router.generate() with OC.generateUrl()
Diffstat (limited to 'core/js/js.js')
-rw-r--r-- | core/js/js.js | 34 |
1 files changed, 28 insertions, 6 deletions
diff --git a/core/js/js.js b/core/js/js.js index 21ccee0f1d5..77aadd23e03 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -194,6 +194,30 @@ var OC={ linkToRemoteBase:function(service) { return OC.webroot + '/remote.php/' + service; }, + + /** + * Generates the absolute url for the given relative url, which can contain parameters. + * + * @returns {string} + * @param {string} url + * @param params + */ + generateUrl: function(url, params) { + var _build = function (text, vars) { + return text.replace(/{([^{}]*)}/g, + function (a, b) { + var r = vars[b]; + return typeof r === 'string' || typeof r === 'number' ? r : a; + } + ); + }; + if (url.charAt(0) !== '/') { + url = '/' + url; + + } + return OC.webroot + '/index.php' + _build(url, params); + }, + /** * @brief Creates an absolute url for remote use * @param string $service id @@ -791,12 +815,10 @@ function initCore() { if (interval < 60) { interval = 60; } - OC.Router.registerLoadedCallback(function(){ - var url = OC.Router.generate('heartbeat'); - setInterval(function(){ - $.post(url); - }, interval * 1000); - }); + var url = OC.generateUrl('/heartbeat'); + setInterval(function(){ + $.post(url); + }, interval * 1000); } // session heartbeat (defaults to enabled) |