svn commit: samba r9136 - in branches/SAMBA_4_0/swat/scripting/client: .

tridge at samba.org tridge at samba.org
Fri Aug 5 19:36:15 GMT 2005


Author: tridge
Date: 2005-08-05 19:36:15 +0000 (Fri, 05 Aug 2005)
New Revision: 9136

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=9136

Log:
made the 'AJAJ' code portable to IE and Opera

Modified:
   branches/SAMBA_4_0/swat/scripting/client/call.js


Changeset:
Modified: branches/SAMBA_4_0/swat/scripting/client/call.js
===================================================================
--- branches/SAMBA_4_0/swat/scripting/client/call.js	2005-08-05 19:16:49 UTC (rev 9135)
+++ branches/SAMBA_4_0/swat/scripting/client/call.js	2005-08-05 19:36:15 UTC (rev 9136)
@@ -5,8 +5,39 @@
 	released under the GNU GPL Version 2 or later
 */
 
+var __call = new Object();
 
 /*
+  we can't use the qooxdoo portability layer for this, as it assumes
+  you are using an XML transport, so instead replicate the portability
+  code for remote calls here. Don't look too closely or you will go
+  blind.
+*/
+__call._activex = window.ActiveXObject && !(new QxClient).isOpera() ? true : false;
+__call._activexobj = null;
+__call._ok = QxXmlHttpLoader._http || QxXmlHttpLoader._activex;
+
+if (__call._activex) {
+	var servers = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];
+	for (var i=0; i<servers.length; i++) {
+		try {
+			var o = new ActiveXObject(servers[i] + ".XMLHTTP");
+			__call._activexobj = servers[i];
+			o = null;
+		} catch(ex) {};
+	};
+};
+
+/*
+  return a http object ready for a remote call
+*/
+function __http_object() {
+	return __call._activex ? 
+		new ActiveXObject(__call._activexobj + ".XMLHTTP") : 
+		new XMLHttpRequest();
+}
+
+/*
 	usage:
 
 	  server_call(url, func, callback, ...);
@@ -18,7 +49,7 @@
 	object. 'callback' may be null.
 */
 function server_call(url, func, callback) {
-	var req = new XMLHttpRequest();
+	var req = __http_object();
 	req.open("POST", url, true);
 	req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
 	var args = new Object();



More information about the samba-cvs mailing list