* @author Sina Asghari (aka stranger) <*****@*****.**> * @version $Id: xmlrpc.php 10806 2010-11-20 17:09:38Z phoenyx $ */ define('XOOPS_XMLRPC', 1); include './mainfile.php'; error_reporting(0); include_once ICMS_LIBRARIES_PATH . '/xml/rpc/xmlrpctag.php'; include_once ICMS_LIBRARIES_PATH . '/xml/rpc/xmlrpcparser.php'; icms::$logger->disableLogger(); $response = new XoopsXmlRpcResponse(); $parser = new XoopsXmlRpcParser(rawurlencode($GLOBALS['HTTP_RAW_POST_DATA'])); if (!$parser->parse()) { $response->add(new XoopsXmlRpcFault(102)); } else { $module_handler = icms::handler('icms_module'); $module =& $module_handler->getByDirname('news'); if (!is_object($module)) { $response->add(new XoopsXmlRpcFault(110)); } else { $methods = explode('.', $parser->getMethodName()); switch($methods[0]) { case 'blogger': include_once ICMS_LIBRARIES_PATH. ' /xml/rpc/bloggerapi.php'; $rpc_api = new BloggerApi($parser->getParam(), $response, $module); break; case 'metaWeblog':
include_once XOOPS_ROOT_PATH . '/modules/xoonips/class/xmlrpc/logic/xmlrpclogic.class.php'; include_once XOOPS_ROOT_PATH . '/modules/xoonips/class/base/logicfactory.class.php'; include_once XOOPS_ROOT_PATH . '/modules/xoonips/class/xmlrpc/xmlrpcfault.class.php'; include_once XOOPS_ROOT_PATH . '/modules/xoonips/class/xmlrpc/xmlrpcrequest.class.php'; include_once XOOPS_ROOT_PATH . '/modules/xoonips/class/xmlrpc/xmlrpcresponse.class.php'; include_once XOOPS_ROOT_PATH . '/modules/xoonips/class/xmlrpc/view/xmlrpcview.class.php'; include_once XOOPS_ROOT_PATH . '/modules/xoonips/class/xmlrpc/view/xmlrpcviewfactory.class.php'; error_reporting(E_ALL & ~E_NOTICE); ini_set('display_errors', 0); ini_set('log_errors', 1); ini_set('error_log', 'syslog'); $allow_methods = array('XooNIps.getChildIndexes', 'XooNIps.getFile', 'XooNIps.getFileMetadata', 'XooNIps.getIndex', 'XooNIps.getItem', 'XooNIps.getItemPermission', 'XooNIps.getItemtype', 'XooNIps.getItemtypes', 'XooNIps.getPreference', 'XooNIps.getRootIndex', 'XooNIps.getSimpleItems', 'XooNIps.login', 'XooNIps.logout', 'XooNIps.putItem', 'XooNIps.removeItem', 'XooNIps.searchItem', 'XooNIps.updateItem2'); $rpc_response = new XoopsXmlRpcResponse(); $parser = new XooNIpsXmlRpcParser(file_get_contents("php://input")); if (!$parser->parse()) { $rpc_response->add(new XooNIpsXmlRpcFault(102)); } else { if (!in_array($parser->getMethodName(), $allow_methods)) { $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()) {