summaryrefslogtreecommitdiff
path: root/swat/scripting
diff options
context:
space:
mode:
Diffstat (limited to 'swat/scripting')
-rw-r--r--swat/scripting/client/status.js49
-rw-r--r--swat/scripting/server/status.esp27
2 files changed, 76 insertions, 0 deletions
diff --git a/swat/scripting/client/status.js b/swat/scripting/client/status.js
new file mode 100644
index 0000000000..fa2c3b57e7
--- /dev/null
+++ b/swat/scripting/client/status.js
@@ -0,0 +1,49 @@
+/*
+ server status library for SWAT
+
+ released under the GNU GPL Version 2 or later
+*/
+
+
+/* Ensure we always include the proper libs
+ Playing with a way to add/del scripts on the fly...
+*/
+var lib = document.createElement('script');
+lib.setAttribute('type', 'text/javascript');
+lib.setAttribute('src', '/scripting/client/call.js');
+var head = document.getElementsByTagName('head')[0];
+head.appendChild(lib);
+
+// Format for a server status table
+var s = [
+ { id : "server",
+ label : "Server",
+ content: "text",
+ defaultValue : "-",
+ width : 100,
+ },
+
+ { id : "status",
+ label : "Status",
+ content: "text",
+ defaultValue : "-",
+ width: 100,
+ }
+];
+
+function __load_status_table(info, container)
+{
+ var table = new QxListView(s);
+ var i;
+ for (i in info) {
+ table.addData( {server : i, status : info[i]} );
+ }
+ container.add(table);
+ container.setVisible(true);
+}
+
+function getServerStatus(container)
+{
+ server_call_url("/scripting/server/status.esp", 'serverInfo',
+ function(info) { __load_status_table(info, container); });
+}
diff --git a/swat/scripting/server/status.esp b/swat/scripting/server/status.esp
new file mode 100644
index 0000000000..8ca2067d49
--- /dev/null
+++ b/swat/scripting/server/status.esp
@@ -0,0 +1,27 @@
+<%
+
+libinclude("management.js");
+libinclude("server_call.js");
+
+function serverInfo()
+{
+ var info = new Object();
+ info["NBT Server"] = server_status("nbt");
+ info["WINS Server"] = server_status("wins");
+ info["CLDAP Server"] = server_status("cldap");
+ info["Kerberos Server"] = server_status("kdc");
+ info["SMB Server"] = stream_server_status("smb");
+ info["LDAP Server"] = stream_server_status("ldap");
+ info["RPC Server"] = stream_server_status("rpc");
+
+ return info;
+}
+
+/* register a call for clients to make */
+var call = servCallObj();
+call.add('serverInfo', serverInfo);
+
+/* run the function that was asked for */
+call.run();
+
+%>