From: Tim Düsterhus Date: Fri, 26 Apr 2013 20:16:32 +0000 (+0200) Subject: Fix object property access in WCF.Template X-Git-Tag: 2.0.0_Beta_1~295^2^2~1 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=5a6819febf7e66235c4438e921643a8276e2afd0;p=GitHub%2FWoltLab%2FWCF.git Fix object property access in WCF.Template --- diff --git a/wcfsetup/install/files/js/WCF.js b/wcfsetup/install/files/js/WCF.js index 6c08977146..3d5a3da90f 100755 --- a/wcfsetup/install/files/js/WCF.js +++ b/wcfsetup/install/files/js/WCF.js @@ -3314,25 +3314,25 @@ WCF.Template = Class.extend({ }; template = template.replace(/\{(\$[^\}]+?)\}/g, function(_, content) { - content = unescape(content.replace(/\$([^.\s]+)/g, "(v['$1'])")); + content = unescape(content.replace(/\$([^.\[\s]+)/g, "(v['$1'])")); return "' + WCF.String.escapeHTML(" + content + ") + '"; }) // Numeric Variable .replace(/\{#(\$[^\}]+?)\}/g, function(_, content) { - content = unescape(content.replace(/\$([^.\s]+)/g, "(v['$1'])")); + content = unescape(content.replace(/\$([^.\[\s]+)/g, "(v['$1'])")); return "' + WCF.String.formatNumeric(" + content + ") + '"; }) // Variable without escaping .replace(/\{@(\$[^\}]+?)\}/g, function(_, content) { - content = unescape(content.replace(/\$([^.\s]+)/g, "(v['$1'])")); + content = unescape(content.replace(/\$([^.\[\s]+)/g, "(v['$1'])")); return "' + " + content + " + '"; }) // {if} .replace(/\{if (.+?)\}/g, function(_, content) { - content = unescape(content.replace(/\$([^.\s]+)/g, "(v['$1'])")); + content = unescape(content.replace(/\$([^.\[\s]+)/g, "(v['$1'])")); return "';\n" + "if (" + content + ") {\n" + @@ -3340,7 +3340,7 @@ WCF.Template = Class.extend({ }) // {elseif} .replace(/\{else ?if (.+?)\}/g, function(_, content) { - content = unescape(content.replace(/\$([^.\s]+)/g, "(v['$1'])")); + content = unescape(content.replace(/\$([^.\[\s]+)/g, "(v['$1'])")); return "';\n" + "}\n" + @@ -3358,7 +3358,7 @@ WCF.Template = Class.extend({ if (typeof $parameters['item'] === 'undefined') throw new Error('Missing item attribute in implode-tag'); if (typeof $parameters['glue'] === 'undefined') $parameters['glue'] = "', '"; - $parameters['from'] = $parameters['from'].replace(/\$([^.\s]+)/g, "(v.$1)"); + $parameters['from'] = $parameters['from'].replace(/\$([^.\[\s]+)/g, "(v.$1)"); return "';\n"+ "var $implode_" + $tagID + " = false;\n" + @@ -3378,7 +3378,7 @@ WCF.Template = Class.extend({ if (typeof $parameters['from'] === 'undefined') throw new Error('Missing from attribute in foreach-tag'); if (typeof $parameters['item'] === 'undefined') throw new Error('Missing item attribute in foreach-tag'); - $parameters['from'] = $parameters['from'].replace(/\$([^.\s]+)/g, "(v.$1)"); + $parameters['from'] = $parameters['from'].replace(/\$([^.\[\s]+)/g, "(v.$1)"); return "';\n" + "$foreach_"+$tagID+" = false;\n" +