コード例 #1
0
//===========================================================================
// Create the XML-RPC Server
//===========================================================================
require_once IPS_KERNEL_PATH . 'classApiServer.php';
$server = new classApiServer();
$api = $server->decodeRequest();
//===========================================================================
// Define Service
//===========================================================================
$valid_api = 0;
switch ($api) {
    case 'blogger':
        $valid_api = 1;
        break;
    case 'metaWeblog':
        $valid_api = 1;
        break;
}
if ($valid_api) {
    require_once DOC_IPS_ROOT_PATH . 'interface/blog/apis/server_' . strtolower($api) . '.php';
    $webservice = new xmlrpc_server($registry);
    $webservice->classApiServer =& $server;
    $server->addObjectMap($webservice, 'UTF-8');
    //-----------------------------------------
    // Process....
    //-----------------------------------------
    $server->getXmlRpc();
} else {
    $server->apiSendError(100, "Requested API not found");
}
exit;
コード例 #2
0
//===========================================================================
// Create the XML-RPC Server
//===========================================================================
$server = new classApiServer();
$api = $server->decodeRequest();
$module = $server->params['api_module'];
$user = IPSText::md5Clean($server->params['api_key']);
//-----------------------------------------
// Check for module
//-----------------------------------------
if ($module and file_exists(DOC_IPS_ROOT_PATH . 'interface/board/modules/' . $module . '/api.php')) {
    require_once DOC_IPS_ROOT_PATH . 'interface/board/modules/' . $module . '/api.php';
    $webservice = new API_Server($registry);
    $webservice->classApiServer =& $server;
} else {
    $server->apiSendError('2', "IP.Board could not locate an API module called '{$module}'");
    $registry->DB()->insert('api_log', array('api_log_key' => $user, 'api_log_ip' => $_SERVER['REMOTE_ADDR'], 'api_log_date' => time(), 'api_log_query' => $server->raw_request, 'api_log_allowed' => 0));
    exit;
}
//-----------------------------------------
// Check user...
//-----------------------------------------
if ($user) {
    $webservice->api_user = $registry->DB()->buildAndFetch(array('select' => '*', 'from' => 'api_users', 'where' => "api_user_key='" . $user . "'"));
    if (!$webservice->api_user['api_user_id']) {
        $registry->DB()->insert('api_log', array('api_log_key' => $user, 'api_log_ip' => $_SERVER['REMOTE_ADDR'], 'api_log_date' => time(), 'api_log_query' => $server->raw_request, 'api_log_allowed' => 0));
        $server->apiSendError('3', "IP.Board could not locate a valid API user with that API key");
        exit;
    }
} else {
    $registry->DB()->insert('api_log', array('api_log_key' => $user, 'api_log_ip' => $_SERVER['REMOTE_ADDR'], 'api_log_date' => time(), 'api_log_query' => $server->raw_request, 'api_log_allowed' => 0));