diff options
Diffstat (limited to 'wp-includes/IXR/class-IXR-clientmulticall.php')
-rw-r--r-- | wp-includes/IXR/class-IXR-clientmulticall.php | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/wp-includes/IXR/class-IXR-clientmulticall.php b/wp-includes/IXR/class-IXR-clientmulticall.php new file mode 100644 index 0000000..d7aa67b --- /dev/null +++ b/wp-includes/IXR/class-IXR-clientmulticall.php @@ -0,0 +1,55 @@ +<?php +/** + * IXR_ClientMulticall + * + * @package IXR + * @since 1.5.0 + */ +class IXR_ClientMulticall extends IXR_Client +{ + var $calls = array(); + + /** + * PHP5 constructor. + */ + function __construct( $server, $path = false, $port = 80 ) + { + parent::IXR_Client($server, $path, $port); + $this->useragent = 'The Incutio XML-RPC PHP Library (multicall client)'; + } + + /** + * PHP4 constructor. + */ + public function IXR_ClientMulticall( $server, $path = false, $port = 80 ) { + self::__construct( $server, $path, $port ); + } + + /** + * @since 1.5.0 + * @since 5.5.0 Formalized the existing `...$args` parameter by adding it + * to the function signature. + */ + function addCall( ...$args ) + { + $methodName = array_shift($args); + $struct = array( + 'methodName' => $methodName, + 'params' => $args + ); + $this->calls[] = $struct; + } + + /** + * @since 1.5.0 + * @since 5.5.0 Formalized the existing `...$args` parameter by adding it + * to the function signature. + * + * @return bool + */ + function query( ...$args ) + { + // Prepare multicall, then call the parent::query() method + return parent::query('system.multicall', $this->calls); + } +} |