diff options
author | Morris Jobke <hey@morrisjobke.de> | 2015-07-29 10:15:17 +0200 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2015-07-29 10:15:17 +0200 |
commit | 81d9066dc58811f88d144100cd792a19004e16f1 (patch) | |
tree | 03de4fc6eea46ea3f7b24dc12a7379930a2567d3 /core/js/share.js | |
parent | e77b2e53179d24deee1fe720f7a60b5db6f5c502 (diff) | |
parent | 5a0d41048868eddd709c6e9bb71a8c5243d239c0 (diff) | |
download | nextcloud-server-81d9066dc58811f88d144100cd792a19004e16f1.tar.gz nextcloud-server-81d9066dc58811f88d144100cd792a19004e16f1.zip |
Merge pull request #17489 from owncloud/fix-share-time-as-string
Fix parsing of sharetime as string
Diffstat (limited to 'core/js/share.js')
-rw-r--r-- | core/js/share.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/core/js/share.js b/core/js/share.js index d730d3bbf6e..99fd08c6411 100644 --- a/core/js/share.js +++ b/core/js/share.js @@ -820,6 +820,25 @@ OC.Share={ return path.replace(/\\/g,'/').replace(/\/[^\/]*$/, ''); }, /** + * Parses a string to an valid integer (unix timestamp) + * @param time + * @returns {*} + * @internal Only used to work around a bug in the backend + */ + _parseTime: function(time) { + if (_.isString(time)) { + // skip empty strings and hex values + if (time === '' || (time.length > 1 && time[0] === '0' && time[1] === 'x')) { + return null; + } + time = parseInt(time, 10); + if(isNaN(time)) { + time = null; + } + } + return time; + }, + /** * Displays the expiration date field * * @param {Date} date current expiration date @@ -834,6 +853,8 @@ OC.Share={ minDate: minDate, maxDate: null }; + // TODO: hack: backend returns string instead of integer + shareTime = OC.Share._parseTime(shareTime); if (_.isNumber(shareTime)) { shareTime = new Date(shareTime * 1000); } |