diff --git a/phpgwapi/inc/class.egw_framework.inc.php b/phpgwapi/inc/class.egw_framework.inc.php index 31a546af88..0e0d7c9965 100644 --- a/phpgwapi/inc/class.egw_framework.inc.php +++ b/phpgwapi/inc/class.egw_framework.inc.php @@ -655,13 +655,15 @@ abstract class egw_framework if ($GLOBALS['egw_info']['flags']['include_xajax']) { - require_once(EGW_SERVER_ROOT.'/phpgwapi/inc/xajax.inc.php'); - - $xajax = new xajax(egw::link('/xajax.php'), 'xajax_', translation::charset()); - $xajax->waitCursorOff(); - $xajax->registerFunction("doXMLHTTP"); - - $java_script .= $xajax->getJavascript($GLOBALS['egw_info']['server']['webserver_url'] . '/phpgwapi/js/'); + require_once(EGW_API_INC.'/xajax/xajax_core/xajax.inc.php'); + + $xajax = new xajax(); + $xajax->configure('requestURI', egw::link('/xajax.php')); + $xajax->configure('javascript URI',$GLOBALS['egw_info']['server']['webserver_url'] . '/phpgwapi/inc/xajax'); + $xajax->configure('waitCursor',false); + $xajax->register(XAJAX_FUNCTION,'doXMLHTTP'); + + $java_script .= $xajax->getJavascript(); } /* this flag is for all javascript code that has to be put before other jscode. diff --git a/phpgwapi/inc/xajax/xajax_core/xajaxResponse.inc.php b/phpgwapi/inc/xajax/xajax_core/xajaxResponse.inc.php index 483b5d1c98..60baeadcfa 100644 --- a/phpgwapi/inc/xajax/xajax_core/xajaxResponse.inc.php +++ b/phpgwapi/inc/xajax/xajax_core/xajaxResponse.inc.php @@ -39,6 +39,33 @@ */ class xajaxResponse { + /** + * Adding all legacy functions to ease the transition + */ + function outputEntitiesOn() { $this->setOutputEntities(true); } + function outputEntitiesOff() { $this->setOutputEntities(false); } + function addConfirmCommands() { $temp=func_get_args(); return call_user_func_array(array(&$this, 'confirmCommands'), $temp); } + function addAssign() { $temp=func_get_args(); return call_user_func_array(array(&$this, 'assign'), $temp); } + function addAppend() { $temp=func_get_args(); return call_user_func_array(array(&$this, 'append'), $temp); } + function addPrepend() { $temp=func_get_args(); return call_user_func_array(array(&$this, 'prepend'), $temp); } + function addReplace() { $temp=func_get_args(); return call_user_func_array(array(&$this, 'replace'), $temp); } + function addClear() { $temp=func_get_args(); return call_user_func_array(array(&$this, 'clear'), $temp); } + function addAlert() { $temp=func_get_args(); return call_user_func_array(array(&$this, 'alert'), $temp); } + function addRedirect() { $temp=func_get_args(); return call_user_func_array(array(&$this, 'redirect'), $temp); } + function addScript() { $temp=func_get_args(); return call_user_func_array(array(&$this, 'script'), $temp); } + function addScriptCall() { $temp=func_get_args(); return call_user_func_array(array(&$this, 'call'), $temp); } + function addRemove() { $temp=func_get_args(); return call_user_func_array(array(&$this, 'remove'), $temp); } + function addCreate() { $temp=func_get_args(); return call_user_func_array(array(&$this, 'create'), $temp); } + function addInsert() { $temp=func_get_args(); return call_user_func_array(array(&$this, 'insert'), $temp); } + function addInsertAfter() { $temp=func_get_args(); return call_user_func_array(array(&$this, 'insertAfter'), $temp); } + function addCreateInput() { $temp=func_get_args(); return call_user_func_array(array(&$this, 'createInput'), $temp); } + function addInsertInput() { $temp=func_get_args(); return call_user_func_array(array(&$this, 'insertInput'), $temp); } + function addInsertInputAfter() { $temp=func_get_args(); return call_user_func_array(array(&$this, 'insertInputAfter'), $temp); } + function addRemoveHandler() { $temp=func_get_args(); return call_user_func_array(array(&$this, 'removeHandler'), $temp); } + function addIncludeScript() { $temp=func_get_args(); return call_user_func_array(array(&$this, 'includeScript'), $temp); } + function addIncludeCSS() { $temp=func_get_args(); return call_user_func_array(array(&$this, 'includeCSS'), $temp); } + function &getXML() { return $this; } + /**#@+ * @access protected */ diff --git a/phpgwapi/js/xajax_js/xajax.js b/phpgwapi/js/xajax_js/xajax.js deleted file mode 100644 index 0dca8f5200..0000000000 --- a/phpgwapi/js/xajax_js/xajax.js +++ /dev/null @@ -1,172 +0,0 @@ -/* xajax Javascript library :: version 0.2.4 */ -Array.prototype.containsValue=function(valueToCheck){for(var i=0;i 1000)text=text.substr(0,1000)+"...\n[long response]\n...";try{if(this.debugWindow==undefined||this.debugWindow.closed==true){this.debugWindow=window.open('about:blank','xajax-debug','width=800,height=600,scrollbars=1,resizable,status');this.debugWindow.document.write('Xajax debug output

Xajax debug output

');} -text=text.replace(/&/g,"&") -text=text.replace(//g,">") -debugTag=this.debugWindow.document.getElementById('debugTag');debugTag.innerHTML=(''+(new Date()).toString()+': '+text+'
')+debugTag.innerHTML;}catch(e){alert("Xajax Debug:\n "+text);} -};this.workId='xajaxWork'+new Date().getTime();this.depth=0;this.responseErrorsForAlert=["400","401","402","403","404","500","501","502","503"];this.getRequestObject=function(){if(xajaxDebug)this.DebugMessage("Initializing Request Object..");var req=null;if(typeof XMLHttpRequest!="undefined") -req=new XMLHttpRequest();if(!req&&typeof ActiveXObject!="undefined"){try{req=new ActiveXObject("Msxml2.XMLHTTP");} -catch(e){try{req=new ActiveXObject("Microsoft.XMLHTTP");} -catch(e2){try{req=new ActiveXObject("Msxml2.XMLHTTP.4.0");} -catch(e3){req=null;} -} -} -} -if(!req&&window.createRequest) -req=window.createRequest();if(!req)this.DebugMessage("Request Object Instantiation failed.");return req;} -this.$=function(sId){if(!sId){return null;} -var returnObj=document.getElementById(sId);if(!returnObj&&document.all){returnObj=document.all[sId];} -if(xajaxDebug&&!returnObj&&sId!=this.workId){this.DebugMessage("Element with the id \""+sId+"\" not found.");} -return returnObj;} -this.include=function(sFileName){var objHead=document.getElementsByTagName('head');var objScript=document.createElement('script');objScript.type='text/javascript';objScript.src=sFileName;objHead[0].appendChild(objScript);} -this.stripOnPrefix=function(sEventName){sEventName=sEventName.toLowerCase();if(sEventName.indexOf('on')==0){sEventName=sEventName.replace(/on/,'');} -return sEventName;} -this.addOnPrefix=function(sEventName){sEventName=sEventName.toLowerCase();if(sEventName.indexOf('on')!=0){sEventName='on'+sEventName;} -return sEventName;} -this.addHandler=function(sElementId,sEvent,sFunctionName){if(window.addEventListener){sEvent=this.stripOnPrefix(sEvent);eval("this.$('"+sElementId+"').addEventListener('"+sEvent+"',"+sFunctionName+",false);");} -else{sAltEvent=this.addOnPrefix(sEvent);eval("this.$('"+sElementId+"').attachEvent('"+sAltEvent+"',"+sFunctionName+",false);");} -} -this.removeHandler=function(sElementId,sEvent,sFunctionName){if(window.addEventListener){sEvent=this.stripOnPrefix(sEvent);eval("this.$('"+sElementId+"').removeEventListener('"+sEvent+"',"+sFunctionName+",false);");} -else{sAltEvent=this.addOnPrefix(sEvent);eval("this.$('"+sElementId+"').detachEvent('"+sAltEvent+"',"+sFunctionName+",false);");} -} -this.create=function(sParentId,sTag,sId){var objParent=this.$(sParentId);objElement=document.createElement(sTag);objElement.setAttribute('id',sId);if(objParent) -objParent.appendChild(objElement);} -this.insert=function(sBeforeId,sTag,sId){var objSibling=this.$(sBeforeId);objElement=document.createElement(sTag);objElement.setAttribute('id',sId);objSibling.parentNode.insertBefore(objElement,objSibling);} -this.insertAfter=function(sAfterId,sTag,sId){var objSibling=this.$(sAfterId);objElement=document.createElement(sTag);objElement.setAttribute('id',sId);objSibling.parentNode.insertBefore(objElement,objSibling.nextSibling);} -this.getInput=function(sType,sName,sId){var Obj;if(!window.addEventListener){Obj=document.createElement('');} -else{Obj=document.createElement('input');Obj.setAttribute('type',sType);Obj.setAttribute('name',sName);Obj.setAttribute('id',sId);} -return Obj;} -this.createInput=function(sParentId,sType,sName,sId){var objParent=this.$(sParentId);var objElement=this.getInput(sType,sName,sId);if(objParent&&objElement) -objParent.appendChild(objElement);} -this.insertInput=function(sBeforeId,sType,sName,sId){var objSibling=this.$(sBeforeId);var objElement=this.getInput(sType,sName,sId);if(objElement&&objSibling&&objSibling.parentNode) -objSibling.parentNode.insertBefore(objElement,objSibling);} -this.insertInputAfter=function(sAfterId,sType,sName,sId){var objSibling=this.$(sAfterId);var objElement=this.getInput(sType,sName,sId);if(objElement&&objSibling&&objSibling.parentNode){objSibling.parentNode.insertBefore(objElement,objSibling.nextSibling);} -} -this.remove=function(sId){objElement=this.$(sId);if(objElement&&objElement.parentNode&&objElement.parentNode.removeChild){objElement.parentNode.removeChild(objElement);} -} -this.replace=function(sId,sAttribute,sSearch,sReplace){var bFunction=false;if(sAttribute=="innerHTML") -sSearch=this.getBrowserHTML(sSearch);eval("var txt=this.$('"+sId+"')."+sAttribute);if(typeof txt=="function"){txt=txt.toString();bFunction=true;} -if(txt.indexOf(sSearch)>-1){var newTxt='';while(txt.indexOf(sSearch)>-1){x=txt.indexOf(sSearch)+sSearch.length+1;newTxt+=txt.substr(0,x).replace(sSearch,sReplace);txt=txt.substr(x,txt.length-x);} -newTxt+=txt;if(bFunction){eval('this.$("'+sId+'").'+sAttribute+'=newTxt;');} -else if(this.willChange(sId,sAttribute,newTxt)){eval('this.$("'+sId+'").'+sAttribute+'=newTxt;');} -} -} -this.getFormValues=function(frm){var objForm;var submitDisabledElements=false;if(arguments.length > 1&&arguments[1]==true) -submitDisabledElements=true;var prefix="";if(arguments.length > 2) -prefix=arguments[2];if(typeof(frm)=="string") -objForm=this.$(frm);else -objForm=frm;var sXml="";if(objForm&&objForm.tagName=='FORM'){var formElements=objForm.elements;for(var i=0;i < formElements.length;i++){if(!formElements[i].name) -continue;if(formElements[i].name.substring(0,prefix.length)!=prefix) -continue;if(formElements[i].type&&(formElements[i].type=='radio'||formElements[i].type=='checkbox')&&formElements[i].checked==false) -continue;if(formElements[i].disabled&&formElements[i].disabled==true&&submitDisabledElements==false) -continue;var name=formElements[i].name;if(name){if(sXml!='') -sXml+='&';if(formElements[i].type=='select-multiple'){for(var j=0;j < formElements[i].length;j++){if(formElements[i].options[j].selected==true) -sXml+=name+"="+encodeURIComponent(formElements[i].options[j].value)+"&";} -} -else{sXml+=name+"="+encodeURIComponent(formElements[i].value);} -} -} -} -sXml+="";return sXml;} -this.objectToXML=function(obj){var sXml="";for(i in obj){try{if(i=='constructor') -continue;if(obj[i]&&typeof(obj[i])=='function') -continue;var key=i;var value=obj[i];if(value&&typeof(value)=="object"&&this.depth <=50){this.depth++;value=this.objectToXML(value);this.depth--;} -sXml+=""+key+""+value+"";} -catch(e){if(xajaxDebug)this.DebugMessage(e.name+": "+e.message);} -} -sXml+="";return sXml;} -this._nodeToObject=function(node){if(node.nodeName=='#cdata-section'){var data="";for(var j=0;j"+document.getElementsByTagName("HTML")[0].innerHTML+"";} -this.processResponse=function(xml){clearTimeout(loadingTimeout);this.doneLoadingFunction();if(xajaxStatusMessages==true)window.status='Processing...';var tmpXajax=null;xml=xml.documentElement;if(xml==null) -return;var skipCommands=0;for(var i=0;i 0){skipCommands--;continue;} -if(xml.childNodes[i].nodeName=="cmd"){var cmd;var id;var property;var data;var search;var type;var before;var objElement=null;for(var j=0;j 1&&xml.childNodes[i].firstChild.nodeName=="#cdata-section"){data="";for(var j=0;j 1){for(var j=0;j 1&&xml.childNodes[i].childNodes[j].firstChild.nodeName=="#cdata-section"){var internalData="";for(var k=0;k 1000) text = text.substr(0,1000)+"...\n[long response]\n..."; - try { - if (this.debugWindow == undefined || this.debugWindow.closed == true) { - this.debugWindow = window.open('about:blank', 'xajax-debug', 'width=800,height=600,scrollbars=1,resizable,status'); - this.debugWindow.document.write('Xajax debug output

Xajax debug output

'); - } - text = text.replace(/&/g, "&") - text = text.replace(//g, ">") - debugTag = this.debugWindow.document.getElementById('debugTag'); - debugTag.innerHTML = (''+(new Date()).toString()+': ' + text + '
') + debugTag.innerHTML; - } catch (e) { - alert("Xajax Debug:\n " + text); - } - }; - - this.workId = 'xajaxWork'+ new Date().getTime(); - this.depth = 0; - this.responseErrorsForAlert = ["400","401","402","403","404","500","501","502","503"]; - - //Get the XMLHttpRequest Object - this.getRequestObject = function() - { - if (xajaxDebug) this.DebugMessage("Initializing Request Object.."); - var req = null; - if (typeof XMLHttpRequest != "undefined") - req = new XMLHttpRequest(); - if (!req && typeof ActiveXObject != "undefined") - { - try - { - req=new ActiveXObject("Msxml2.XMLHTTP"); - } - catch (e) - { - try - { - req=new ActiveXObject("Microsoft.XMLHTTP"); - } - catch (e2) - { - try { - req=new ActiveXObject("Msxml2.XMLHTTP.4.0"); - } - catch (e3) - { - req=null; - } - } - } - } - if(!req && window.createRequest) - req = window.createRequest(); - - if (!req) this.DebugMessage("Request Object Instantiation failed."); - - return req; - } - - // xajax.$() is shorthand for document.getElementById() - this.$ = function(sId) - { - if (!sId) { - return null; - } - var returnObj = document.getElementById(sId); - if (!returnObj && document.all) { - returnObj = document.all[sId]; - } - if (xajaxDebug && !returnObj && sId != this.workId) { - this.DebugMessage("Element with the id \"" + sId + "\" not found."); - } - return returnObj; - } - - // xajax.include(sFileName) dynamically includes an external javascript file - this.include = function(sFileName) - { - var objHead = document.getElementsByTagName('head'); - var objScript = document.createElement('script'); - objScript.type = 'text/javascript'; - objScript.src = sFileName; - objHead[0].appendChild(objScript); - } - - this.stripOnPrefix = function(sEventName) - { - sEventName = sEventName.toLowerCase(); - if (sEventName.indexOf('on') == 0) - { - sEventName = sEventName.replace(/on/,''); - } - - return sEventName; - } - - this.addOnPrefix = function(sEventName) - { - sEventName = sEventName.toLowerCase(); - if (sEventName.indexOf('on') != 0) - { - sEventName = 'on' + sEventName; - } - - return sEventName; - } - - // xajax.addHandler adds an event handler to an element - this.addHandler = function(sElementId, sEvent, sFunctionName) - { - if (window.addEventListener) - { - sEvent = this.stripOnPrefix(sEvent); - eval("this.$('"+sElementId+"').addEventListener('"+sEvent+"',"+sFunctionName+",false);"); - } - else - { - sAltEvent = this.addOnPrefix(sEvent); - eval("this.$('"+sElementId+"').attachEvent('"+sAltEvent+"',"+sFunctionName+",false);"); - } - } - - // xajax.removeHandler removes an event handler from an element - this.removeHandler = function(sElementId, sEvent, sFunctionName) - { - if (window.addEventListener) - { - sEvent = this.stripOnPrefix(sEvent); - eval("this.$('"+sElementId+"').removeEventListener('"+sEvent+"',"+sFunctionName+",false);"); - } - else - { - sAltEvent = this.addOnPrefix(sEvent); - eval("this.$('"+sElementId+"').detachEvent('"+sAltEvent+"',"+sFunctionName+",false);"); - } - } - - // xajax.create creates a new child node under a parent - this.create = function(sParentId, sTag, sId) - { - var objParent = this.$(sParentId); - objElement = document.createElement(sTag); - objElement.setAttribute('id',sId); - if (objParent) - objParent.appendChild(objElement); - } - - // xajax.insert inserts a new node before another node - this.insert = function(sBeforeId, sTag, sId) - { - var objSibling = this.$(sBeforeId); - objElement = document.createElement(sTag); - objElement.setAttribute('id',sId); - objSibling.parentNode.insertBefore(objElement, objSibling); - } - - // xajax.insertAfter inserts a new node after another node - this.insertAfter = function(sAfterId, sTag, sId) - { - var objSibling = this.$(sAfterId); - objElement = document.createElement(sTag); - objElement.setAttribute('id',sId); - objSibling.parentNode.insertBefore(objElement, objSibling.nextSibling); - } - - this.getInput = function(sType, sName, sId) - { - var Obj; - if (!window.addEventListener) - { - Obj = document.createElement(''); - } - else - { - Obj = document.createElement('input'); - Obj.setAttribute('type',sType); - Obj.setAttribute('name',sName); - Obj.setAttribute('id',sId); - } - return Obj; - } - - // xajax.createInput creates a new input node under a parent - this.createInput = function(sParentId, sType, sName, sId) - { - var objParent = this.$(sParentId); - var objElement = this.getInput(sType, sName, sId); - if (objParent && objElement) - objParent.appendChild(objElement); - } - - // xajax.insertInput creates a new input node before another node - this.insertInput = function(sBeforeId, sType, sName, sId) - { - var objSibling = this.$(sBeforeId); - var objElement = this.getInput(sType, sName, sId); - if (objElement && objSibling && objSibling.parentNode) - objSibling.parentNode.insertBefore(objElement, objSibling); - } - - // xajax.insertInputAfter creates a new input node after another node - this.insertInputAfter = function(sAfterId, sType, sName, sId) - { - var objSibling = this.$(sAfterId); - var objElement = this.getInput(sType, sName, sId); - if (objElement && objSibling && objSibling.parentNode) { - objSibling.parentNode.insertBefore(objElement, objSibling.nextSibling); - } - } - - // xajax.remove deletes an element - this.remove = function(sId) - { - objElement = this.$(sId); - if (objElement && objElement.parentNode && objElement.parentNode.removeChild) - { - objElement.parentNode.removeChild(objElement); - } - } - - //xajax.replace searches for text in an attribute of an element and replaces it - //with a different text - this.replace = function(sId,sAttribute,sSearch,sReplace) - { - var bFunction = false; - - if (sAttribute == "innerHTML") - sSearch = this.getBrowserHTML(sSearch); - - eval("var txt=this.$('"+sId+"')."+sAttribute); - if (typeof txt == "function") - { - txt = txt.toString(); - bFunction = true; - } - if (txt.indexOf(sSearch)>-1) - { - var newTxt = ''; - while (txt.indexOf(sSearch) > -1) - { - x = txt.indexOf(sSearch)+sSearch.length+1; - newTxt += txt.substr(0,x).replace(sSearch,sReplace); - txt = txt.substr(x,txt.length-x); - } - newTxt += txt; - if (bFunction) - { - eval('this.$("'+sId+'").'+sAttribute+'=newTxt;'); - } - else if (this.willChange(sId,sAttribute,newTxt)) - { - eval('this.$("'+sId+'").'+sAttribute+'=newTxt;'); - } - } - } - - // xajax.getFormValues() builds a query string XML message from the elements of a form object - // * The first argument is the id of the form - // * The second argument (optional) can be set to true if you want to submit disabled elements - // * The third argument (optional) allows you to specify a string prefix that a form element - // name must contain if you want that element to be submitted - this.getFormValues = function(frm) - { - var objForm; - var submitDisabledElements = false; - if (arguments.length > 1 && arguments[1] == true) - submitDisabledElements = true; - var prefix=""; - if(arguments.length > 2) - prefix = arguments[2]; - - if (typeof(frm) == "string") - objForm = this.$(frm); - else - objForm = frm; - var sXml = ""; - if (objForm && objForm.tagName == 'FORM') - { - var formElements = objForm.elements; - for( var i=0; i < formElements.length; i++) - { - if (!formElements[i].name) - continue; - if (formElements[i].name.substring(0, prefix.length) != prefix) - continue; - if (formElements[i].type && (formElements[i].type == 'radio' || formElements[i].type == 'checkbox') && formElements[i].checked == false) - continue; - if (formElements[i].disabled && formElements[i].disabled == true && submitDisabledElements == false) - continue; - var name = formElements[i].name; - if (name) - { - if (sXml != '') - sXml += '&'; - if(formElements[i].type=='select-multiple') - { - for (var j = 0; j < formElements[i].length; j++) - { - if (formElements[i].options[j].selected == true) - sXml += name+"="+encodeURIComponent(formElements[i].options[j].value)+"&"; - } - } - else - { - sXml += name+"="+encodeURIComponent(formElements[i].value); - } - } - } - } - - sXml +=""; - - return sXml; - } - - // Generates an XML message that xajax can understand from a javascript object - this.objectToXML = function(obj) - { - var sXml = ""; - for (i in obj) - { - try - { - if (i == 'constructor') - continue; - if (obj[i] && typeof(obj[i]) == 'function') - continue; - - var key = i; - var value = obj[i]; - if (value && typeof(value)=="object" && this.depth <= 50) - { - this.depth++; - value = this.objectToXML(value); - this.depth--; - } - - sXml += ""+key+""+value+""; - - } - catch(e) - { - if (xajaxDebug) this.DebugMessage(e.name+": "+e.message); - } - } - sXml += ""; - - return sXml; - } - - // unserializes data structure from xajaxResponse::_buildObjXml() - this._nodeToObject = function(node) { - // parentNode here is weird, have to tune - if (node.nodeName == '#cdata-section') { - var data = ""; - for (var j=0; j"+document.getElementsByTagName("HTML")[0].innerHTML+""; - } - - //Process XML xajaxResponses returned from the request - this.processResponse = function(xml) - { - clearTimeout(loadingTimeout); - this.doneLoadingFunction(); - if (xajaxStatusMessages == true) window.status = 'Processing...'; - var tmpXajax = null; - xml = xml.documentElement; - if (xml == null) - return; - - var skipCommands = 0; - for (var i=0; i 0) { - skipCommands--; - continue; - } - if (xml.childNodes[i].nodeName == "cmd") - { - var cmd; - var id; - var property; - var data; - var search; - var type; - var before; - var objElement = null; - - for (var j=0; j 1 && xml.childNodes[i].firstChild.nodeName == "#cdata-section") - { - data = ""; - for (var j=0; j 1) - { - for (var j=0; j 1 && xml.childNodes[i].childNodes[j].firstChild.nodeName == "#cdata-section") - { - var internalData = ""; - for (var k=0; ksetCharEncoding($GLOBALS['egw']->translation->charset()); - define('XAJAX_DEFAULT_CHAR_ENCODING',$GLOBALS['egw']->translation->charset()); + $GLOBALS['xajax']->configure('characterEncoding',translation::charset()); + define('XAJAX_DEFAULT_CHAR_ENCODING',translation::charset()); $response = new xajaxResponse(); $response->addScript("location.href='".$GLOBALS['egw_info']['server']['webserver_url'].'/login.php?cd=10'."';"); - header('Content-type: text/xml; charset='.$GLOBALS['egw']->translation->charset()); + header('Content-type: text/xml; charset='.translation::charset()); echo $response->getXML(); - $GLOBALS['egw']->common->egw_exit(); + common::egw_exit(); } /** @@ -44,11 +44,11 @@ function ajax_exception_handler(Exception $e) { $response = new xajaxResponse(); $response->addAlert($e->getMessage()."\n\n".$e->getTraceAsString()); - header('Content-type: text/xml; charset='.(is_object($GLOBALS['egw'])?$GLOBALS['egw']->translation->charset():'utf-8')); + header('Content-type: text/xml; charset='.(is_object($GLOBALS['egw'])?translation::charset():'utf-8')); echo $response->getXML(); if (is_object($GLOBALS['egw'])) { - $GLOBALS['egw']->common->egw_exit(); + common::egw_exit(); } exit; } @@ -109,8 +109,8 @@ function doXMLHTTP() include('./header.inc.php'); // now the header is included, we can set the charset - $GLOBALS['xajax']->setCharEncoding($GLOBALS['egw']->translation->charset()); - define('XAJAX_DEFAULT_CHAR_ENCODING',$GLOBALS['egw']->translation->charset()); + $GLOBALS['xajax']->configure('characterEncoding',translation::charset()); + define('XAJAX_DEFAULT_CHAR_ENCODING',translation::charset()); switch($handler) { @@ -147,7 +147,7 @@ function doXMLHTTP() return call_user_func_array(array(&$ajaxClass, $functionName), (array)$argList ); } - -$xajax = new xajax($_SERVER['PHP_SELF']); -$xajax->registerFunction('doXMLHTTP'); -$xajax->processRequests(); +$xajax = new xajax(); +//$xajax->configure('requestURI',$_SERVER['PHP_SELF']); +$xajax->register(XAJAX_FUNCTION,'doXMLHTTP'); +$xajax->processRequest();