X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=src%2FServer.php;h=8540553c382b6023c92532cf1c848c0c5bba10e7;hb=cc67a43993662a5a3f92801b96b89ee6e3998532;hp=96aac17ce08f6c80b38c1084f4527c94f8337af5;hpb=b44fb9a21bea5fb357ab8ab09d3c530067cb76b3;p=plcapi.git diff --git a/src/Server.php b/src/Server.php index 96aac17..8540553 100644 --- a/src/Server.php +++ b/src/Server.php @@ -678,6 +678,13 @@ class Server // in the called function, we wrap it in a proper error-response switch ($this->exception_handling) { case 2: + if ($this->debug > 2) { + if (self::$_xmlrpcs_prev_ehandler) { + set_error_handler(self::$_xmlrpcs_prev_ehandler); + } else { + restore_error_handler(); + } + } throw $e; break; case 1: @@ -925,7 +932,7 @@ class Server if ($params->kindOf() != 'array') { return static::_xmlrpcs_multicall_error('notarray'); } - $numParams = $params->arraysize(); + $numParams = $params->count(); $req = new Request($methName->scalarval()); for ($i = 0; $i < $numParams; $i++) { @@ -992,7 +999,7 @@ class Server // let accept a plain list of php parameters, beside a single xmlrpc msg object if (is_object($req)) { $calls = $req->getParam(0); - $numCalls = $calls->arraysize(); + $numCalls = $calls->count(); for ($i = 0; $i < $numCalls; $i++) { $call = $calls->arraymem($i); $result[$i] = static::_xmlrpcs_multicall_do_call($server, $call);