]> scripts.mit.edu Git - autoinstallsdev/wordpress.git/blobdiff - wp-includes/IXR/class-IXR-clientmulticall.php
WordPress 4.7
[autoinstallsdev/wordpress.git] / wp-includes / IXR / class-IXR-clientmulticall.php
diff --git a/wp-includes/IXR/class-IXR-clientmulticall.php b/wp-includes/IXR/class-IXR-clientmulticall.php
new file mode 100644 (file)
index 0000000..bc40efd
--- /dev/null
@@ -0,0 +1,44 @@
+<?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 );
+       }
+
+    function addCall()
+    {
+        $args = func_get_args();
+        $methodName = array_shift($args);
+        $struct = array(
+            'methodName' => $methodName,
+            'params' => $args
+        );
+        $this->calls[] = $struct;
+    }
+
+    function query()
+    {
+        // Prepare multicall, then call the parent::query() method
+        return parent::query('system.multicall', $this->calls);
+    }
+}