git://git.onelab.eu
/
plcapi.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Implement interface ArrayAccess in the Value class
[plcapi.git]
/
src
/
Server.php
diff --git
a/src/Server.php
b/src/Server.php
index
d530fcd
..
20ec5a0
100644
(file)
--- a/
src/Server.php
+++ b/
src/Server.php
@@
-914,7
+914,8
@@
class Server
if ($call->kindOf() != 'struct') {
return static::_xmlrpcs_multicall_error('notstruct');
}
if ($call->kindOf() != 'struct') {
return static::_xmlrpcs_multicall_error('notstruct');
}
- $methName = @$call->structmem('methodName');
+ //$methName = $call->structmem('methodName');
+ $methName = @$call['methodName'];
if (!$methName) {
return static::_xmlrpcs_multicall_error('nomethod');
}
if (!$methName) {
return static::_xmlrpcs_multicall_error('nomethod');
}
@@
-925,20
+926,22
@@
class Server
return static::_xmlrpcs_multicall_error('recursion');
}
return static::_xmlrpcs_multicall_error('recursion');
}
- $params = @$call->structmem('params');
+ //$params = @$call->structmem('params');
+ $params = @$call['params'];
if (!$params) {
return static::_xmlrpcs_multicall_error('noparams');
}
if ($params->kindOf() != 'array') {
return static::_xmlrpcs_multicall_error('notarray');
}
if (!$params) {
return static::_xmlrpcs_multicall_error('noparams');
}
if ($params->kindOf() != 'array') {
return static::_xmlrpcs_multicall_error('notarray');
}
- $numParams = $params->count();
+
//
$numParams = $params->count();
$req = new Request($methName->scalarval());
$req = new Request($methName->scalarval());
- for ($i = 0; $i < $numParams; $i++) {
- if (!$req->addParam($params->arraymem($i))) {
- $i++;
-
+ //for ($i = 0; $i < $numParams; $i++) {
+ foreach($params as $i => $param) {
+ //if (!$req->addParam($params->arraymem($i))) {
+ if (!$req->addParam($param)) {
+ $i++; // for error message, we count params from 1
return static::_xmlrpcs_multicall_error(new Response(0,
PhpXmlRpc::$xmlrpcerr['incorrect_params'],
PhpXmlRpc::$xmlrpcstr['incorrect_params'] . ": probable xml error in param " . $i));
return static::_xmlrpcs_multicall_error(new Response(0,
PhpXmlRpc::$xmlrpcerr['incorrect_params'],
PhpXmlRpc::$xmlrpcstr['incorrect_params'] . ": probable xml error in param " . $i));
@@
-999,10
+1002,11
@@
class Server
// let accept a plain list of php parameters, beside a single xmlrpc msg object
if (is_object($req)) {
$calls = $req->getParam(0);
// let accept a plain list of php parameters, beside a single xmlrpc msg object
if (is_object($req)) {
$calls = $req->getParam(0);
- $numCalls = $calls->count();
- for ($i = 0; $i < $numCalls; $i++) {
- $call = $calls->arraymem($i);
- $result[$i] = static::_xmlrpcs_multicall_do_call($server, $call);
+ //$numCalls = $calls->count();
+ //for ($i = 0; $i < $numCalls; $i++) {
+ foreach($calls as $call) {
+ //$call = $calls->arraymem($i);
+ $result[] = static::_xmlrpcs_multicall_do_call($server, $call);
}
} else {
$numCalls = count($req);
}
} else {
$numCalls = count($req);