summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-08-10 06:58:05 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:31:34 -0500
commit8942ac69f01acc2e09a56e6accef6034622d40d4 (patch)
tree0b89121731965c95eee5e67053538c063815690e
parent922f28fcbda983dcd6141f7c746d0f228302d368 (diff)
downloadsamba-8942ac69f01acc2e09a56e6accef6034622d40d4.tar.gz
samba-8942ac69f01acc2e09a56e6accef6034622d40d4.tar.xz
samba-8942ac69f01acc2e09a56e6accef6034622d40d4.zip
r9227: cleanup and simplify the AJAJ code
(This used to be commit ceb7669e5991e9dda759d60a09a0a65e6caba991)
-rw-r--r--source4/scripting/libjs/server_call.js13
-rw-r--r--swat/esptest/qooxdoo.esp28
-rw-r--r--swat/esptest/registry.esp42
-rw-r--r--swat/esptest/registry_calls.esp37
-rw-r--r--swat/esptest/remote.esp19
-rw-r--r--swat/scripting/general_calls.esp1
6 files changed, 71 insertions, 69 deletions
diff --git a/source4/scripting/libjs/server_call.js b/source4/scripting/libjs/server_call.js
index 316e764a531..a8c08780f9e 100644
--- a/source4/scripting/libjs/server_call.js
+++ b/source4/scripting/libjs/server_call.js
@@ -21,20 +21,20 @@ function __register_call(name, func)
*/
function __run_call() {
var c = this;
- var name = form['func'];
+ var name = form['ajaj_func'];
if (name == undefined) {
- println("no function name given in run_call");
+ /* no function to run */
return;
}
- var args = form['args'];
+ var args = form['ajaj_args'];
if (args == undefined) {
println("no function arguments given in run_call");
- return;
+ exit(0);
}
args = decodeObject(args);
if (c.calls[name] == undefined) {
println("undefined remote call " + name);
- return;
+ exit(0);
}
var f = c.calls[name];
var res;
@@ -59,11 +59,12 @@ function __run_call() {
res = f(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]);
} else {
println("too many arguments for remote call: " + name);
- return;
+ exit(0);
}
var repobj = new Object();
repobj.res = res;
write(encodeObject(repobj));
+ exit(0);
}
diff --git a/swat/esptest/qooxdoo.esp b/swat/esptest/qooxdoo.esp
index 76d3236fc97..554a4e90d5d 100644
--- a/swat/esptest/qooxdoo.esp
+++ b/swat/esptest/qooxdoo.esp
@@ -1,4 +1,26 @@
-<%
+<%
+/******************************/
+/* server side AJAJ functions */
+libinclude("server_call.js");
+
+/* this is a call that the client js code can make - it just adds
+ some more elements to the passed object, then returns the object */
+function testfunc(x) {
+ var sys = sys_init();
+ x.nttime = sys.nttime();
+ x.timestring = sys.httptime(x.nttime);
+ return x;
+}
+
+/* register a call for clients to make */
+var call = servCallObj();
+call.add('testfunc', testfunc);
+
+/* run the function that was asked for */
+call.run();
+
+ /***********************/
+ /* now the main page */
page_header("columns", "ESP qooxdoo test", "esptest");
%>
@@ -48,7 +70,7 @@
shared.rate = shared.counter / (shared.time_diff * 0.0000001);
shared.counter++;
if (stopit == 0) {
- server_call('remote.esp', 'testfunc', callback, shared);
+ server_call_url("@@request.REQUEST_URI", 'testfunc', callback, shared);
}
}
@@ -57,7 +79,7 @@
stopit = 0;
shared.counter = 0;
shared.start_time = 0;
- server_call('remote.esp', 'testfunc', callback, shared);
+ server_call_url("@@request.REQUEST_URI", 'testfunc', callback, shared);
};
function stop_call() {
diff --git a/swat/esptest/registry.esp b/swat/esptest/registry.esp
index 2b6a2144734..6adeb78b819 100644
--- a/swat/esptest/registry.esp
+++ b/swat/esptest/registry.esp
@@ -1,4 +1,38 @@
-<%
+<%
+/******************************/
+/* server side AJAJ functions */
+libinclude("base.js");
+libinclude("winreg.js");
+libinclude("server_call.js");
+
+/*
+ server side call to return a listing of elements in a winreg path
+*/
+function enum_path(binding, path) {
+ printf("enum_path(%s, %s)\n", binding, path);
+ var reg = winreg_init();
+ security_init(reg);
+
+ reg.credentials = session.authinfo.credentials;
+
+ var status = reg.connect(binding);
+ if (status.is_ok != true) {
+ printVars(status);
+ return undefined;
+ }
+ var list = winreg_enum_path(reg, path);
+ return list;
+}
+
+/* register a call for clients to make */
+var call = servCallObj();
+call.add('enum_path', enum_path);
+
+/* run the function that was asked for */
+call.run();
+
+ /***********************/
+ /* now the main page */
page_header("columns", "ESP registry edit", "esptest");
%>
@@ -33,7 +67,7 @@ function folder_list(t, list) {
function folder_click(t) {
if (!t.populated) {
- server_call("registry_calls.esp", 'enum_path',
+ server_call_url("@@request.REQUEST_URI", 'enum_path',
function(list) { folder_list(t, list); },
t.binding, t.reg_path);
}
@@ -54,8 +88,10 @@ function registry_tree(binding) {
setWidth(400);
setHeight(400);
setTop(20);
- addEventListener("click", function() { folder_click(t); });
}
+ t.addEventListener("click", function() {
+ var el = this; folder_click(el);
+ });
return t;
}
diff --git a/swat/esptest/registry_calls.esp b/swat/esptest/registry_calls.esp
deleted file mode 100644
index a5c1ae7a124..00000000000
--- a/swat/esptest/registry_calls.esp
+++ /dev/null
@@ -1,37 +0,0 @@
-<%
-libinclude("base.js");
-libinclude("winreg.js");
-libinclude("server_call.js");
-
-/*
- server side call to return a listing of elements in a winreg path
-*/
-function enum_path(binding, path) {
- printf("enum_path(%s, %s)\n", binding, path);
- if (path == "\\") {
- printf("IN ROOT\n");
- var list = new Array("HKLM", "HKCR", "HKPD");
- return list;
- }
- printf("binding=%s path=%s\n", binding, path);
- var reg = winreg_init();
- security_init(reg);
-
- reg.credentials = session.authinfo.credentials;
-
- var status = reg.connect(binding);
- if (status.is_ok != true) {
- printVars(status);
- return undefined;
- }
- var list = winreg_enum_path(reg, path);
- return list;
-}
-
-/* register a call for clients to make */
-var call = servCallObj();
-call.add('enum_path', enum_path);
-
-/* run the function that was asked for */
-call.run();
-%>
diff --git a/swat/esptest/remote.esp b/swat/esptest/remote.esp
deleted file mode 100644
index c0f12147a80..00000000000
--- a/swat/esptest/remote.esp
+++ /dev/null
@@ -1,19 +0,0 @@
-<%
-libinclude("server_call.js");
-
-/* this is a call that the client js code can make - it just adds
- some more elements to the passed object, then returns the object */
-function testfunc(x) {
- var sys = sys_init();
- x.nttime = sys.nttime();
- x.timestring = sys.httptime(x.nttime);
- return x;
-}
-
-/* register a call for clients to make */
-var call = servCallObj();
-call.add('testfunc', testfunc);
-
-/* run the function that was asked for */
-call.run();
-%>
diff --git a/swat/scripting/general_calls.esp b/swat/scripting/general_calls.esp
index 3a78ff6bbb9..f17c43205ab 100644
--- a/swat/scripting/general_calls.esp
+++ b/swat/scripting/general_calls.esp
@@ -12,7 +12,6 @@ var call = servCallObj();
*/
function srv_printf()
{
- println("in srv_printf");
var s = string_init();
print(s.vsprintf(arguments));
return undefined;