include_once ICMS_LIBRARIES_PATH . '/xml/rpc/metaweblogapi.php'; $rpc_api = new MetaWeblogApi($parser->getParam(), $response, $module); break; case 'mt': include_once ICMS_LIBRARIES_PATH . '/xml/rpc/movabletypeapi.php'; $rpc_api = new MovableTypeApi($parser->getParam(), $response, $module); break; case 'xoops': default: include_once ICMS_LIBRARIES_PATH . '/xml/rpc/xoopsapi.php'; $rpc_api = new XoopsApi($parser->getParam(), $response, $module); break; } $method = $methods[1]; if (!method_exists($rpc_api, $method)) { $response->add(new XoopsXmlRpcFault(107)); } else { $rpc_api->$method(); } } } $payload =& $response->render(); //$fp = fopen(ICMS_CACHE_PATH.'/xmllog.txt', 'w'); //fwrite($fp, $payload); //fclose($fp); header('Server: XOOPS XML-RPC Server'); header('Content-type: text/xml'); header('Content-Length: '.strlen($payload)); echo $payload; ?>
$logic =& $factory->create($methods[1]); if (is_object($logic)) { $logic->execute($request, $response); if ($response->getResult()) { // succeed in XooNIpsLogic // create view and render $factory =& XooNIpsXmlRpcViewFactory::getInstance(); $view =& $factory->create($methods[1], $response); if (!is_object($view)) { $rpc_response->add(new XooNIpsXmlRpcFault(106)); } else { $rpc_response->add($view->render()); } } else { //failed in XooNIpsLogic $error = $response->getError(); $rpc_response->add(new XooNIpsXmlRpcFault(106, serialize($error->getAll()))); } } else { $rpc_response->add(new XooNIpsXmlRpcFault(107)); } } else { $rpc_response->add(new XooNIpsXmlRpcFault(107)); } } } $payload = $rpc_response->render(); header('Server: XooNIps XML-RPC Server'); header('Content-type: text/xml'); header('Content-Length: ' . strlen($payload)); echo $payload;
function test_getRecentPosts() { $title = '<title>Title</title>'; $hometext = '<hometext>Hometext</hometext>'; $moretext = '<moretext>Moretext</moretext>'; $categories = '<categories>10</categories>'; $text = $title . $hometext . $moretext . $categories; $params = array('', '', 'admin', 'adminadmin', $text); $response = new XoopsXmlRpcResponse(); $module = new XoopsModule(); $instance = new $this->myClass($params, $response, $module); $instance->getRecentPosts(); $msg = $response->render(); if (false !== strpos($msg, '<name>faultString</name><value>Module not found')) { $this->markTestSkipped(); } $this->markTestIncomplete(); }
function test_setTemplate() { $params = array(null, null, 'admin', 'goodpassword', null, null); $response = new XoopsXmlRpcResponse(); $module = new XoopsModule(); $instance = new $this->myClass($params, $response, $module); $result = $instance->setTemplate(); $msg = $response->render(); $expected = '<?xml version="1.0"?>' . '<methodResponse><fault><value><struct>' . '<member><name>faultCode</name><value>107</value></member>' . "<member><name>faultString</name><value>Method not supported\n</value></member>" . '</struct></value></fault></methodResponse>'; $this->assertSame($expected, $msg); $params = array(null, null, 'admin', 'WRONG_password', null, null); $response = new XoopsXmlRpcResponse(); $module = new XoopsModule(); $instance = new $this->myClass($params, $response, $module); $result = $instance->setTemplate(); $msg = $response->render(); $expected = '<?xml version="1.0"?>' . '<methodResponse><fault><value><struct>' . '<member><name>faultCode</name><value>104</value></member>' . "<member><name>faultString</name><value>User authentication failed\n</value></member>" . '</struct></value></fault></methodResponse>'; $this->assertSame($expected, $msg); }