$rpc_response->add(new XooNIpsXmlRpcFault(107)); } else { global $xoopsModule; $module =& $xoopsModule; $methods = explode('.', $parser->getMethodName()); if ($methods[0] == 'XooNIps') { $request = new XooNIpsXmlRpcRequest($methods[1], $parser->getParam()); $response = new XooNIpsXmlRpcResponse(); $factory =& XooNIpsXmlRpcLogicFactory::getInstance(); $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 {
/** * * @brief return XoopsXmlRpcTag that has response of this request * * @return XoopsXmlRpcTag */ function render() { $factory = XooNIpsXmlRpcViewFactory::getInstance(); $view = $factory->create('getRootIndex', $this->response); return $view->render(); }