summaryrefslogtreecommitdiff
path: root/swat/scripting/client/encoder.js
diff options
context:
space:
mode:
authorDerrell Lipman <derrell@samba.org>2006-12-31 20:12:12 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:35:23 -0500
commitd1e09e2e6f9db62bbab84abb53e23ee73764178a (patch)
tree18e57f756611c9d3e10fb41bf7c09eeb795028dd /swat/scripting/client/encoder.js
parent710dfce70ca9024d2f026518638bb193e914f4a0 (diff)
downloadsamba-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.js84
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);
-}