diff options
Diffstat (limited to 'core/js/js.js')
-rw-r--r-- | core/js/js.js | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/core/js/js.js b/core/js/js.js index 8f3b5a6af1e..285fb38086b 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -5,7 +5,7 @@ * @return string */ -function t(app,text){ +function t(app,text, vars){ if( !( t.cache[app] )){ $.ajax(OC.filePath('core','ajax','translations.php'),{ async:false,//todo a proper sollution for this without sync ajax calls @@ -21,15 +21,40 @@ function t(app,text){ t.cache[app] = []; } } + 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( typeof( t.cache[app][text] ) !== 'undefined' ){ - return t.cache[app][text]; + if(typeof vars === 'object') { + return _build(t.cache[app][text], vars); + } else { + return t.cache[app][text]; + } } else{ - return text; + if(typeof vars === 'object') { + return _build(text, vars); + } else { + return text; + } } } t.cache={}; +/* +* Sanitizes a HTML string +* @param string +* @return Sanitized string +*/ +function escapeHTML(s) { + return s.toString().split('&').join('&').split('<').join('<').split('"').join('"'); +} + /** * Get the path to download a file * @param file The filename @@ -37,7 +62,7 @@ t.cache={}; * @return string */ function fileDownloadPath(dir, file) { - return OC.filePath('files', 'ajax', 'download.php')+encodeURIComponent('?files='+encodeURIComponent(file)+'&dir='+encodeURIComponent(dir)); + return OC.filePath('files', 'ajax', 'download.php')+'&files='+encodeURIComponent(file)+'&dir='+encodeURIComponent(dir); } var OC={ |