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'));
 }
Example #2
0
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'));
}
Example #3
0
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'));
}