'.($data ? '1' : '0').''; case 'integer': return ''.$data.''; case 'double': return ''.$data.''; case 'string': return ''.htmlspecialchars($data).''; case 'object': case 'array': $is_array = range(0, count($data) - 1) === array_keys($data); if ($is_array) { $return = ''."\n"; foreach ($data as $item) { $return .= ' '.xmlrpc_encode($item)."\n"; } $return .= ''; } else { $return = ''."\n"; foreach ($data as $name => $value) { $name = htmlspecialchars($name); $return .= " $name"; $return .= xmlrpc_encode($value)."\n"; } $return .= ''; } return $return; } } class PwgXmlRpcEncoder extends PwgResponseEncoder { function encodeResponse($response) { $respClass = strtolower( @get_class($response) ); if ($respClass=='pwgerror') { $code = $response->code(); $msg = htmlspecialchars($response->message()); $ret = << faultCode {$code} faultString {$msg} EOD; return $ret; } parent::flattenResponse($response); $ret = xmlrpc_encode($response); $ret = << $ret EOD; return $ret; } function getContentType() { return 'text/xml'; } } ?>