| Server IP : 217.160.0.251 / Your IP : 216.73.216.236 Web Server : Apache System : Linux info 3.0 #1337 SMP Tue Jan 01 00:00:00 CEST 2000 all GNU/Linux User : u94981163 ( 8991765) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /lib/php7.3/test/XML_RPC2/tests/XML_RPC2/phpBackend/server/ |
Upload File : |
--TEST--
PHP Backend XML-RPC server Validator1 test (nestedStructTest)
--FILE--
<?php
class TestServer {
/**
* test function
*
* see http://www.xmlrpc.com/validator1Docs
*
* @param array $struct
* @return int result
*/
public static function nestedStructTest($struct) {
// just to avoir problems with numeric indexes...
$struct2 = array();
while (list($key, $year) = each($struct)) {
if ($key=='2000') {
while (list($key2, $month) = each($year)) {
if ($key2=='04') {
while (list($key3, $day) = each($month)) {
if ($key3=='01') {
return $day['moe'] + $day['larry'] + $day['curly'];
}
}
}
}
}
}
}
}
set_include_path(realpath(dirname(__FILE__) . '/../../../../') . PATH_SEPARATOR . get_include_path());
require_once 'XML/RPC2/Server.php';
$options = array(
'prefix' => 'validator1.',
'backend' => 'Php'
);
$server = XML_RPC2_Server::create('TestServer', $options);
$GLOBALS['HTTP_RAW_POST_DATA'] = <<<EOS
<?xml version="1.0" encoding="iso-8859-1"?>
<methodCall>
<methodName>validator1.nestedStructTest</methodName>
<params>
<param>
<value>
<struct>
<member>
<name>1999</name>
<value>
<struct>
<member>
<name>04</name>
<value>
<array>
<data/>
</array>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>2000</name>
<value>
<struct>
<member>
<name>04</name>
<value>
<struct>
<member>
<name>01</name>
<value>
<struct>
<member>
<name>moe</name>
<value>
<int>12</int>
</value>
</member>
<member>
<name>larry</name>
<value>
<int>14</int>
</value>
</member>
<member>
<name>curly</name>
<value>
<int>9</int>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>2001</name>
<value>
<struct>
<member>
<name>04</name>
<value>
<array>
<data/>
</array>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>
EOS
;
$response = $server->getResponse();
$result = (XML_RPC2_Backend_Php_Response::decode(simplexml_load_string($response)));
var_dump($result);
?>
--EXPECT--
int(35)