109 lines
2.8 KiB
PHP
109 lines
2.8 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Invision Power Services
|
|
* IP.Board v3.0.5
|
|
* Blog XMLRPC Interface
|
|
* Last Updated: $Date: 2009-09-18 17:37:08 -0400 (Fri, 18 Sep 2009) $
|
|
*
|
|
* @author $Author: josh $
|
|
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
|
* @license http://www.iinvisionpower.com/community/board/license.html
|
|
* @package IP.Blog
|
|
* @link http://www.iinvisionpower.com
|
|
* @version $Revision: 5131 $
|
|
*
|
|
*/
|
|
|
|
/**
|
|
* Script type
|
|
*
|
|
*/
|
|
define( 'IPB_THIS_SCRIPT', 'api' );
|
|
define( 'IPB_LOAD_SQL' , 'queries' );
|
|
|
|
/**
|
|
* Matches IP address of requesting API
|
|
* Set to 0 to not match with IP address
|
|
*/
|
|
define( 'CVG_IP_MATCH', 1 );
|
|
|
|
require_once( '../../initdata.php' );
|
|
|
|
//===========================================================================
|
|
// MAIN PROGRAM
|
|
//===========================================================================
|
|
|
|
define( 'IPS_CLASS_PATH', IPS_ROOT_PATH . 'sources/classes/' );
|
|
|
|
require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
|
|
require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' );
|
|
|
|
//-----------------------------------------
|
|
// Set up cookie stuff
|
|
//-----------------------------------------
|
|
|
|
$registry = ipsRegistry::instance();
|
|
$registry->init();
|
|
|
|
IPSCookie::$sensitive_cookies = array( 'session_id', 'ipb_admin_session_id', 'member_id', 'pass_hash' );
|
|
|
|
//--------------------------------
|
|
// Set up our vars
|
|
//--------------------------------
|
|
|
|
$registry->DB()->obj['use_shutdown'] = 0;
|
|
|
|
//--------------------------------
|
|
// Set debug mode
|
|
//--------------------------------
|
|
|
|
$registry->DB()->setDebugMode( ipsRegistry::$settings['sql_debug'] == 1 ? intval($_GET['debug']) : 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 'wp':
|
|
case 'metaWeblog':
|
|
$api = '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; |