X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/3e7fab96d7874067884348df10bbdcdefa4a89ad..a01a150d87a096c70b6ec80332b7ce89c943eefe:/wp-includes/js/tw-sack.js diff --git a/wp-includes/js/tw-sack.js b/wp-includes/js/tw-sack.js index f93f2a42..d1b5561e 100644 --- a/wp-includes/js/tw-sack.js +++ b/wp-includes/js/tw-sack.js @@ -1,193 +1 @@ -/* Simple AJAX Code-Kit (SACK) v1.6.1 */ -/* ©2005 Gregory Wild-Smith */ -/* www.twilightuniverse.com */ -/* Software licenced under a modified X11 licence, - see documentation or authors website for more details */ - -function sack(file) { - this.xmlhttp = null; - - this.resetData = function() { - this.method = "POST"; - this.queryStringSeparator = "?"; - this.argumentSeparator = "&"; - this.URLString = ""; - this.encodeURIString = true; - this.execute = false; - this.element = null; - this.elementObj = null; - this.requestFile = file; - this.vars = new Object(); - this.responseStatus = new Array(2); - }; - - this.resetFunctions = function() { - this.onLoading = function() { }; - this.onLoaded = function() { }; - this.onInteractive = function() { }; - this.onCompletion = function() { }; - this.onError = function() { }; - this.onFail = function() { }; - }; - - this.reset = function() { - this.resetFunctions(); - this.resetData(); - }; - - this.createAJAX = function() { - try { - this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e1) { - try { - this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); - } catch (e2) { - this.xmlhttp = null; - } - } - - if (! this.xmlhttp) { - if (typeof XMLHttpRequest != "undefined") { - this.xmlhttp = new XMLHttpRequest(); - } else { - this.failed = true; - } - } - }; - - this.setVar = function(name, value){ - this.vars[name] = Array(value, false); - }; - - this.encVar = function(name, value, returnvars) { - if (true == returnvars) { - return Array(encodeURIComponent(name), encodeURIComponent(value)); - } else { - this.vars[encodeURIComponent(name)] = Array(encodeURIComponent(value), true); - } - } - - this.processURLString = function(string, encode) { - encoded = encodeURIComponent(this.argumentSeparator); - regexp = new RegExp(this.argumentSeparator + "|" + encoded); - varArray = string.split(regexp); - for (i = 0; i < varArray.length; i++){ - urlVars = varArray[i].split("="); - if (true == encode){ - this.encVar(urlVars[0], urlVars[1]); - } else { - this.setVar(urlVars[0], urlVars[1]); - } - } - } - - this.createURLString = function(urlstring) { - if (this.encodeURIString && this.URLString.length) { - this.processURLString(this.URLString, true); - } - - if (urlstring) { - if (this.URLString.length) { - this.URLString += this.argumentSeparator + urlstring; - } else { - this.URLString = urlstring; - } - } - - // prevents caching of URLString - this.setVar("rndval", new Date().getTime()); - - urlstringtemp = new Array(); - for (key in this.vars) { - if (false == this.vars[key][1] && true == this.encodeURIString) { - encoded = this.encVar(key, this.vars[key][0], true); - delete this.vars[key]; - this.vars[encoded[0]] = Array(encoded[1], true); - key = encoded[0]; - } - - urlstringtemp[urlstringtemp.length] = key + "=" + this.vars[key][0]; - } - if (urlstring){ - this.URLString += this.argumentSeparator + urlstringtemp.join(this.argumentSeparator); - } else { - this.URLString += urlstringtemp.join(this.argumentSeparator); - } - } - - this.runResponse = function() { - eval(this.response); - } - - this.runAJAX = function(urlstring) { - if (this.failed) { - this.onFail(); - } else { - this.createURLString(urlstring); - if (this.element) { - this.elementObj = document.getElementById(this.element); - } - if (this.xmlhttp) { - var self = this; - if (this.method == "GET") { - totalurlstring = this.requestFile + this.queryStringSeparator + this.URLString; - this.xmlhttp.open(this.method, totalurlstring, true); - } else { - this.xmlhttp.open(this.method, this.requestFile, true); - try { - this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") - } catch (e) { } - } - - this.xmlhttp.onreadystatechange = function() { - switch (self.xmlhttp.readyState) { - case 1: - self.onLoading(); - break; - case 2: - self.onLoaded(); - break; - case 3: - self.onInteractive(); - break; - case 4: - self.response = self.xmlhttp.responseText; - self.responseXML = self.xmlhttp.responseXML; - self.responseStatus[0] = self.xmlhttp.status; - self.responseStatus[1] = self.xmlhttp.statusText; - - if (self.execute) { - self.runResponse(); - } - - if (self.elementObj) { - elemNodeName = self.elementObj.nodeName; - elemNodeName.toLowerCase(); - if (elemNodeName == "input" - || elemNodeName == "select" - || elemNodeName == "option" - || elemNodeName == "textarea") { - self.elementObj.value = self.response; - } else { - self.elementObj.innerHTML = self.response; - } - } - if (self.responseStatus[0] == "200") { - self.onCompletion(); - } else { - self.onError(); - } - - self.URLString = ""; - break; - } - }; - - this.xmlhttp.send(this.URLString); - } - } - }; - - this.reset(); - this.createAJAX(); -} +function sack(file){this.xmlhttp=null;this.resetData=function(){this.method="POST";this.queryStringSeparator="?";this.argumentSeparator="&";this.URLString="";this.encodeURIString=true;this.execute=false;this.element=null;this.elementObj=null;this.requestFile=file;this.vars=new Object();this.responseStatus=new Array(2)};this.resetFunctions=function(){this.onLoading=function(){};this.onLoaded=function(){};this.onInteractive=function(){};this.onCompletion=function(){};this.onError=function(){};this.onFail=function(){}};this.reset=function(){this.resetFunctions();this.resetData()};this.createAJAX=function(){try{this.xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")}catch(e1){try{this.xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")}catch(e2){this.xmlhttp=null}}if(!this.xmlhttp){if(typeof XMLHttpRequest!="undefined"){this.xmlhttp=new XMLHttpRequest()}else{this.failed=true}}};this.setVar=function(name,value){this.vars[name]=Array(value,false)};this.encVar=function(name,value,returnvars){if(true==returnvars){return Array(encodeURIComponent(name),encodeURIComponent(value))}else{this.vars[encodeURIComponent(name)]=Array(encodeURIComponent(value),true)}};this.processURLString=function(string,encode){encoded=encodeURIComponent(this.argumentSeparator);regexp=new RegExp(this.argumentSeparator+"|"+encoded);varArray=string.split(regexp);for(i=0;i