diff --git a/js/Global/encode.js b/js/Global/encode.js new file mode 100644 index 00000000..d8895601 --- /dev/null +++ b/js/Global/encode.js @@ -0,0 +1,40 @@ +var encode = function (str, buffer, encodeNewline) { + str = String(str); + + if (str === null || !str.length) return str; + if (!buffer) buffer = []; + + for (var i = 0, len = str.length; i < len; i += 1) { + var char = str.charAt(i); + + switch (char) { + case '<': + buffer.push('<'); + break; + + case '>': + buffer.push('>'); + break; + + case '&': + buffer.push('&'); + break; + + case '"': + buffer.push('"'); + break; + + case '\n': + if (encodeNewline) { + buffer.push("
"); + } + buffer.push('\n'); + break; + + default: + buffer.push(char); + } + } + + return buffer.join(''); +}; diff --git a/src/helma/scripting/rhino/GlobalObject.java b/src/helma/scripting/rhino/GlobalObject.java index 927d8b2e..191cd7e8 100644 --- a/src/helma/scripting/rhino/GlobalObject.java +++ b/src/helma/scripting/rhino/GlobalObject.java @@ -68,7 +68,7 @@ public class GlobalObject extends ImporterTopLevel implements PropertyRecorder { public void init() { String[] globalFuncs = { "renderSkin", "renderSkinAsString", "getProperty", - "authenticate", "createSkin", "format", "encode", + "authenticate", "createSkin", "format", "encodeXml", "encodeForm", "formatParagraphs", "getXmlDocument", "getHtmlDocument", "seal", "getDBConnection", "getURL", "write", "writeln", @@ -453,17 +453,6 @@ public class GlobalObject extends ImporterTopLevel implements PropertyRecorder { return new NativeJavaObject(this, obj, null); } - /** - * - * - * @param obj ... - * - * @return ... - */ - public String encode(Object obj) { - return HtmlEncoder.encodeAll(toString(obj)); - } - /** * *