47 lines
		
	
	
		
			920 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			920 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * ManiaPlanet dedicated server Xml-RPC client
 | 
						|
 *
 | 
						|
 * @license     http://www.gnu.org/licenses/lgpl.html LGPL License 3
 | 
						|
 */
 | 
						|
 | 
						|
// TODO XMLRPCLib: remettre les credits
 | 
						|
 | 
						|
namespace Maniaplanet\DedicatedServer\Xmlrpc;
 | 
						|
 | 
						|
if (!defined('LF')) define('LF', "\n");
 | 
						|
 | 
						|
class ClientMulticall extends Client
 | 
						|
{
 | 
						|
	public $calls = array();
 | 
						|
 | 
						|
	function addCall($methodName, $args)
 | 
						|
	{
 | 
						|
		$struct = array('methodName' => $methodName, 'params' => $args);
 | 
						|
		$this->calls[] = $struct;
 | 
						|
 | 
						|
		return (count($this->calls) - 1);
 | 
						|
	}
 | 
						|
	
 | 
						|
	function multiquery()
 | 
						|
	{
 | 
						|
		$result = array();
 | 
						|
		if(count($this->calls))
 | 
						|
		{
 | 
						|
			$result = parent::query('system.multicall', $this->calls);
 | 
						|
			$this->calls = array();  // reset for next calls
 | 
						|
		}
 | 
						|
		return $result;
 | 
						|
	}
 | 
						|
 | 
						|
	function multiqueryIgnoreResult()
 | 
						|
	{
 | 
						|
		if(count($this->calls))
 | 
						|
		{
 | 
						|
			parent::queryIgnoreResult('system.multicall', $this->calls);
 | 
						|
			$this->calls = array();  // reset for next calls
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
?>
 |