1, the submit method is GET. else if(count($_GET) > 1) { array_shift($_GET); $params = $_GET; } $result = array(); // if params is not empty, then class method with parameters. if($params) $result = $obj -> $method($params); else $result = $obj -> $method(); // Return result json string into xml object. if(!$cExecuteFormReturn) { $dom = new DOMDocument;//('1.0', 'UTF-8'); if ( $returnMode == 'JSON') { $root = $dom->appendChild(new DOMElement('retorno')); encode($result, 'encode'); $result = ( !is_object($result) && !is_array($result) ) ? $result : json_encode($result); $root->appendChild($dom->createCDATASection($result)); } else { $_SESSION['phpgw_info']['instant_messenger']['debug2'] = $result; $dom->loadXML('' . utf8_encode($result) . ''); } $dom->normalizeDocument(); $retorno = $dom->saveXML(); header('Pragma: anytextexeptno-cache', true); header('Content-type: text/xml, charset=UTF-8'); print $retorno; } else $_SESSION['response'] = $result; function encode(&$item, $val = 'encode') { switch( gettype($item) ) { case 'object' : $item = get_object_vars($item); encode($item); break; case 'array' : array_walk_recursive($item, 'encode'); break; default : $item = utf8_encode($item); } } ?>