function _xmlrpcs_multicall($server, $m) { $calls = $m->getParam(0); $numCalls = $calls->arraysize(); $result = array(); for ($i = 0; $i < $numCalls; $i++) { $call = $calls->arraymem($i); $result[$i] = _xmlrpcs_multicall_do_call($server, $call); } return new xmlrpcresp(new xmlrpcval($result, 'array')); }
function _xmlrpcs_multicall($server, $m) { $result = array(); // let accept a plain list of php parameters, beside a single xmlrpc msg object if (is_object($m)) { $calls = $m->getParam(0); $numCalls = $calls->arraysize(); for ($i = 0; $i < $numCalls; $i++) { $call = $calls->arraymem($i); $result[$i] = _xmlrpcs_multicall_do_call($server, $call); } } else { $numCalls = count($m); for ($i = 0; $i < $numCalls; $i++) { $result[$i] = _xmlrpcs_multicall_do_call_phpvals($server, $m[$i]); } } return new xmlrpcresp(new xmlrpcval($result, 'array')); }
function _xmlrpcs_multicall($server, $m) { $result = array(); // let accept a plain list of php parameters, beside a single xmlrpc msg object if (is_object($m)) { if (count($m->params) > 1) { // One call per param foreach ($m->params as $call) { if ($call->kindOf('struct')) { $result[] = _xmlrpcs_multicall_do_call($server, $call); } } } else { // Array of calls in a single param $calls = $m->getParam(0); if (is_array($calls)) { $numCalls = $calls->arraysize(); for ($i = 0; $i < $numCalls; $i++) { $call = $calls->arraymem($i); $result[$i] = _xmlrpcs_multicall_do_call($server, $call); } } } } else { $numCalls = count($m); for ($i = 0; $i < $numCalls; $i++) { $result[$i] = _xmlrpcs_multicall_do_call_phpvals($server, $m[$i]); } } return new xmlrpcresp(new xmlrpcval($result, 'array')); }