Current Path : /var/www/html/clients/kampol.e-nk.ru/OLD/includes/domit/ |
Current File : /var/www/html/clients/kampol.e-nk.ru/OLD/includes/domit/dom_xmlrpc_methodcall.php |
<?php /** * dom_xmlrpc_methodcall is a representation of an XML-RPC method call * @package dom-xmlrpc * @copyright (C) 2004 John Heinstein. All rights reserved * @license http://www.gnu.org/copyleft/lesser.html LGPL License * @author John Heinstein <johnkarl@nbnet.nb.ca> * @link http://www.engageinteractive.com/dom_xmlrpc/ DOM XML-RPC Home Page * DOM XML-RPC is Free Software **/ if (!defined('DOM_XMLRPC_INCLUDE_PATH')) { define('DOM_XMLRPC_INCLUDE_PATH', (dirname(__FILE__) . "/")); } require_once(DOM_XMLRPC_INCLUDE_PATH . 'dom_xmlrpc_builder.php'); /** * A representation of an XML-RPC method call * * @package dom-xmlrpc * @author John Heinstein <johnkarl@nbnet.nb.ca> */ class dom_xmlrpc_methodcall extends dom_xmlrpc_builder { /** @var string The method name */ var $methodName; /** @var boolean True if multiple method calls are to be made in a single request */ var $multicall = array(); /** * Constructor: Instantiates a new method call * @param string The method name */ function dom_xmlrpc_methodcall($methodName = '') { require_once(DOM_XMLRPC_INCLUDE_PATH . 'dom_xmlrpc_constants.php'); require_once(DOM_XMLRPC_INCLUDE_PATH . 'dom_xmlrpc_utilities.php'); $this->methodType = DOM_XMLRPC_TYPE_METHODCALL; $this->methodName = $methodName; $total = func_num_args(); for ($i = 1; $i < $total; $i++) { $this->add(func_get_arg($i)); } } //dom_xmlrpc_methodcall /** * Sets the method name * @param string The method name */ function setMethodName($name = '') { $this->methodName = $name; } //setMethodName /** * Appends multiple method calls to the request * @param string The method name */ function addMultiCall($methodName) { $total = func_num_args(); $paramsArray = array(); for ($i = 1; $i < $total; $i++) { $paramsArray[] = func_get_arg($i); } $this->addMultiCallByRef($methodName, $paramsArray); } //addMultiCall /** * Appends multiple method calls to the request * @param string The method name * @param array A reference to an array of method parameters */ function addMultiCallByRef($methodName, &$paramsArray) { $myCall = array(DOM_XMLRPC_TYPE_METHODNAME => $methodName, DOM_XMLRPC_TYPE_PARAMS => $paramsArray); $this->multicall[] =& $myCall; } //addMultiCallByRef /** * Returns a string representation of the method call * @return string A string representation of the method call */ function toString() { if ($this->methodName == "system.multicall") { $this->addArrayByRef($this->multicall); } $data = <<<METHODCALL <?xml version='1.0'?> <methodCall> <methodName>$this->methodName</methodName> <params>$this->params </params> </methodCall> METHODCALL; return $data; } //toString /** * Alias of toString * @return string A string representation of the method call */ function toXML() { return $this->toString(); } //toXML } //dom_xmlrpc_methodcall ?>