From: Stig Bakken Date: Mon, 10 Dec 2001 17:04:56 +0000 (+0000) Subject: * now using ext/overload X-Git-Tag: ChangeLog~48 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=79f5dcf7d6c985d86655faf235543246389cc123;p=php * now using ext/overload # how to use: # # $remote = new PEAR_Remote; # $remote->package_listAll(); # $remote->user_activate("johndoe"); # # (when using overloading, "_" is replaced with "." before doing # the xmlrpc call) --- diff --git a/pear/PEAR/Remote.php b/pear/PEAR/Remote.php index 920c2d68aa..c89aeff080 100644 --- a/pear/PEAR/Remote.php +++ b/pear/PEAR/Remote.php @@ -46,11 +46,22 @@ class PEAR_Remote extends PEAR // {{{ call(method, [args...]) function call($method) + { + $args = func_get_args(); + array_shift($args); + return $this->__call($method, $args); + } + + // }}} + + // {{{ __call(method, args) + + function __call($method, $params) { if (!extension_loaded("xmlrpc")) { return $this->raiseError("xmlrpc support not loaded"); } - $params = array_slice(func_get_args(), 1); + $method = str_replace("_", ".", $method); $request = xmlrpc_encode_request($method, $params); $server_host = $this->config_object->get("master_server"); if (empty($server_host)) { @@ -99,4 +110,6 @@ class PEAR_Remote extends PEAR // }}} } +overload("PEAR_Remote"); + ?> \ No newline at end of file