From 8942ac69f01acc2e09a56e6accef6034622d40d4 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Wed, 10 Aug 2005 06:58:05 +0000 Subject: r9227: cleanup and simplify the AJAJ code (This used to be commit ceb7669e5991e9dda759d60a09a0a65e6caba991) --- swat/esptest/registry.esp | 42 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 3 deletions(-) (limited to 'swat/esptest/registry.esp') diff --git a/swat/esptest/registry.esp b/swat/esptest/registry.esp index 2b6a214473..6adeb78b81 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; } -- cgit