diff options
author | Derrell Lipman <derrell@samba.org> | 2006-12-31 20:12:12 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:35:23 -0500 |
commit | d1e09e2e6f9db62bbab84abb53e23ee73764178a (patch) | |
tree | 18e57f756611c9d3e10fb41bf7c09eeb795028dd /swat/scripting/client/encoder.js | |
parent | 710dfce70ca9024d2f026518638bb193e914f4a0 (diff) | |
download | samba-d1e09e2e6f9db62bbab84abb53e23ee73764178a.tar.gz samba-d1e09e2e6f9db62bbab84abb53e23ee73764178a.tar.bz2 samba-d1e09e2e6f9db62bbab84abb53e23ee73764178a.zip |
r20446: rename swat directory to swat.obsolete; keeping it around since there is lots of useful info in it.
(This used to be commit 5f9f72a9cfab80561b23284001b67c4ea961757b)
Diffstat (limited to 'swat/scripting/client/encoder.js')
-rw-r--r-- | swat/scripting/client/encoder.js | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/swat/scripting/client/encoder.js b/swat/scripting/client/encoder.js deleted file mode 100644 index 4aa4cc0954..0000000000 --- a/swat/scripting/client/encoder.js +++ /dev/null @@ -1,84 +0,0 @@ -/* - client side js functions for encoding/decoding objects into linear strings - - Copyright Andrew Tridgell 2005 - released under the GNU GPL Version 2 or later -*/ -/* - usage: - - enc = encodeObject(obj); - obj = decodeObject(enc); - - The encoded format of the object is a string that is safe to - use in URLs - - Note that only data elements are encoded, not functions -*/ - -function count_members(o) { - var i, count = 0; - for (i in o) { - count++; - } - return count; -} - -function encodeObject(o) { - var i, r = count_members(o) + ":"; - for (i in o) { - var t = typeof(o[i]); - if (t == 'object') { - r = r + "" + i + ":" + t + ":" + encodeObject(o[i]); - } else if (t == 'string') { - var s = encodeURIComponent(o[i]).replace(/%/g,'#'); - r = r + "" + i + ":" + t + ":" + s + ":"; - } else if (t == 'boolean' || t == 'number') { - r = r + "" + i + ":" + t + ":" + o[i] + ":"; - } else if (t == 'undefined' || t == 'null') { - r = r + "" + i + ":" + t + ":"; - } else if (t != 'function') { - alert("Unable to encode type " + t); - } - } - return r; -} - -function decodeObjectArray(a) { - var o = new Object(); - var i, count = a[a.i]; a.i++; - for (i=0;i<count;i++) { - var name = a[a.i]; a.i++; - var type = a[a.i]; a.i++; - var value; - if (type == 'object') { - o[name] = decodeObjectArray(a); - } else if (type == "string") { - value = decodeURIComponent(a[a.i].replace(/#/g,'%')); a.i++; - o[name] = value; - } else if (type == "boolean") { - value = a[a.i]; a.i++; - if (value == 'true') { - o[name] = true; - } else { - o[name] = false; - } - } else if (type == "undefined") { - o[name] = undefined; - } else if (type == "null") { - o[name] = null; - } else if (type == "number") { - value = a[a.i]; a.i++; - o[name] = value * 1; - } else { - alert("Unable to delinearise type " + type); - } - } - return o; -} - -function decodeObject(str) { - var a = str.split(':'); - a.i = 0; - return decodeObjectArray(a); -} |