echo('x')."\n"; * print $client->add(1, 3)."\n"; */ class xmlrpc_client { var $url; var $urlparts; function xmlrpc_client($url) { $this->url = $url; $this->urlparts = parse_url($this->url); foreach(array('scheme', 'host', 'user', 'pass', 'path', 'query', 'fragment') as $part) { if (!isset($this->urlparts[$part])) { $this->urlparts[$part] = NULL; } } } function __call($function, $arguments, &$return) { $requestprms['host'] = $this->urlparts['host']; $requestprms['port'] = $this->urlparts['port']; $requestprms['uri'] = $this->urlparts['path']; $requestprms['method'] = $function; $requestprms['args'] = $arguments; $requestprms['debug'] = 0; $requestprms['timeout'] = 0; $requestprms['user'] = $this->urlparts['user']; $requestprms['pass'] = $this->urlparts['pass']; $requestprms['secure'] = 0; $result = xu_rpc_http_concise($requestprms); if (is_array($result) && isset($result['faultCode'])) { print('Error in xmlrpc call \''.$function.'\''."\n"); print(' code : '.$result['faultCode']."\n"); print(' message: '.$result['faultString']."\n"); return false; } $return = $result; return true; } } overload('xmlrpc_client'); // vim:set et sw=4 sts=4 sws=4: ?>