mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-26 16:48:49 +01:00
- Reverted yesterdays changes back to the orginal
- Fixed returning integer values of 0 loosing the value once the XML reponse is being created
This commit is contained in:
parent
7ab7c98412
commit
ebe631bc10
@ -186,10 +186,10 @@
|
|||||||
|
|
||||||
function build_resp($_res,$recursed=False)
|
function build_resp($_res,$recursed=False)
|
||||||
{
|
{
|
||||||
if(is_array($_res))
|
if (is_array($_res))
|
||||||
{
|
{
|
||||||
@reset($_res);
|
@reset($_res);
|
||||||
while(list($key,$val) = @each($_res))
|
while (list($key,$val) = @each($_res))
|
||||||
{
|
{
|
||||||
$ele[$key] = $this->build_resp($val,True);
|
$ele[$key] = $this->build_resp($val,True);
|
||||||
}
|
}
|
||||||
@ -197,14 +197,30 @@
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$_type = (is_long($_res)?'int':gettype($_res));
|
$_type = (is_integer($_res)?'int':gettype($_res));
|
||||||
if($recursed)
|
if ($recursed)
|
||||||
{
|
{
|
||||||
return CreateObject('phpgwapi.xmlrpcval',$_res,$_type);
|
// Passing an integer of 0 to the xmlrpcval constructor results in the value being lost. (jengo)
|
||||||
|
if ($_type == 'int' && $_res == 0)
|
||||||
|
{
|
||||||
|
return CreateObject('phpgwapi.xmlrpcval','0',$_type);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return CreateObject('phpgwapi.xmlrpcval',$_res,$_type);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->resp_struct[] = CreateObject('phpgwapi.xmlrpcval',$_res,$_type);
|
// Passing an integer of 0 to the xmlrpcval constructor results in the value being lost. (jengo)
|
||||||
|
if ($_type == 'int' && $_res == 0)
|
||||||
|
{
|
||||||
|
$this->resp_struct[] = CreateObject('phpgwapi.xmlrpcval','0',$_type);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->resp_struct[] = CreateObject('phpgwapi.xmlrpcval',$_res,$_type);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -311,7 +327,7 @@
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (function_exists($dmap[$methName]['function']))
|
if(function_exists($dmap[$methName]['function']))
|
||||||
{
|
{
|
||||||
$code = '$r =' . $dmap[$methName]['function'] . '($m);';
|
$code = '$r =' . $dmap[$methName]['function'] . '($m);';
|
||||||
$code = ereg_replace(',,',",'',",$code);
|
$code = ereg_replace(',,',",'',",$code);
|
||||||
@ -319,35 +335,31 @@
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// phpgw mod - finally, execute the function call and return the values
|
/* phpgw mod - finally, execute the function call and return the values */
|
||||||
$params = $GLOBALS['_xh'][$parser]['params'][0];
|
$params = $GLOBALS['_xh'][$parser]['params'][0];
|
||||||
$code = '$p = ' . $params . ';';
|
$code = '$p = ' . $params . ';';
|
||||||
if ($code != '$p = ;')
|
eval($code);
|
||||||
{
|
$params = $p->getval();
|
||||||
eval($code);
|
|
||||||
$params = $p->getval();
|
|
||||||
}
|
|
||||||
|
|
||||||
// _debug_array($params);
|
// _debug_array($params);
|
||||||
//$this->reqtoarray($params);
|
$this->reqtoarray($params);
|
||||||
//_debug_array($this->req_array);
|
//_debug_array($this->req_array);
|
||||||
if (ereg('^service',$method))
|
if(ereg('^service',$method))
|
||||||
{
|
{
|
||||||
$res = ExecMethod('phpgwapi.service.exec',array($service,$methName,$this->req_array));
|
$res = ExecMethod('phpgwapi.service.exec',array($service,$methName,$this->req_array));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// $res = ExecMethod($method,$this->req_array);
|
$res = ExecMethod($method,$this->req_array);
|
||||||
$r = ExecMethod($method,$params);
|
|
||||||
}
|
}
|
||||||
|
/* $res = ExecMethod($method,$params); */
|
||||||
// _debug_array($res);exit;
|
/* _debug_array($res);exit; */
|
||||||
$this->resp_struct = array();
|
$this->resp_struct = array();
|
||||||
$this->build_resp($res);
|
$this->build_resp($res);
|
||||||
//_debug_array($this->resp_struct);
|
/*_debug_array($this->resp_struct); */
|
||||||
@reset($this->resp_struct);
|
@reset($this->resp_struct);
|
||||||
// $r = CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',$this->resp_struct,'struct'));
|
$r = CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',$this->resp_struct,'struct'));
|
||||||
// _debug_array($r);
|
/* _debug_array($r); */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,11 +23,12 @@
|
|||||||
var $me = array();
|
var $me = array();
|
||||||
var $mytype = 0;
|
var $mytype = 0;
|
||||||
|
|
||||||
function xmlrpcval($val=-1, $type='')
|
function xmlrpcval($val = -1, $type = '')
|
||||||
{
|
{
|
||||||
$this->me = array();
|
$this->me = array();
|
||||||
$this->mytype = 0;
|
$this->mytype = 0;
|
||||||
if ($val!=-1 || $type!='')
|
|
||||||
|
if ($val != -1 || $type != '')
|
||||||
{
|
{
|
||||||
if ($type=='')
|
if ($type=='')
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user