Version 3.1.4
This commit is contained in:
1 parent
1d4720f3e2
commit
ae5c01cc78
2563 files changed
+283048
-240689
No files matched your search
@@ -1,18 +1,21 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.0.5
|
||||
* IP.Board v3.1.4
|
||||
* This class can act as an API server, handling API requests
|
||||
* Last Updated: $Date: 2009-10-01 10:02:41 -0400 (Thu, 01 Oct 2009) $
|
||||
* Last Updated: $Date: 2010-08-20 17:38:30 -0400 (Fri, 20 Aug 2010) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.iinvisionpower.com/community/board/license.html
|
||||
* @package Invision Power Services Kernel
|
||||
* @link http://www.iinvisionpower.com
|
||||
* @license http://www.invisionpower.com/community/board/license.html
|
||||
* @package IP.Board
|
||||
* @subpackage Kernel
|
||||
* @link http://www.invisionpower.com
|
||||
* @since Friday 6th January 2006 (12:24)
|
||||
* @version $Revision: 334 $
|
||||
* @version $Revision: 450 $
|
||||
*
|
||||
* Examples of sending and receiving API data
|
||||
* <code>
|
||||
@@ -43,109 +46,109 @@ if ( ! defined( 'IPS_CLASSES_PATH' ) )
|
||||
class classApiServer
|
||||
{
|
||||
/**
|
||||
* XML-RPC class
|
||||
*
|
||||
* @access public
|
||||
* @var object
|
||||
*/
|
||||
* XML-RPC class
|
||||
*
|
||||
* @access public
|
||||
* @var object
|
||||
*/
|
||||
public $xmlrpc;
|
||||
|
||||
/**
|
||||
* Raw incoming data
|
||||
*
|
||||
* @access private
|
||||
* @var string
|
||||
*/
|
||||
* Raw incoming data
|
||||
*
|
||||
* @access private
|
||||
* @var string
|
||||
*/
|
||||
public $raw_request;
|
||||
|
||||
/**
|
||||
* Requested method name
|
||||
*
|
||||
* @access private
|
||||
* @var string
|
||||
*/
|
||||
* Requested method name
|
||||
*
|
||||
* @access private
|
||||
* @var string
|
||||
*/
|
||||
private $method_name;
|
||||
|
||||
/**
|
||||
* Raw data incoming
|
||||
*
|
||||
* @access private
|
||||
* @var string
|
||||
*/
|
||||
* Raw data incoming
|
||||
*
|
||||
* @access private
|
||||
* @var string
|
||||
*/
|
||||
private $_raw_in_data;
|
||||
|
||||
/**
|
||||
* Raw data output
|
||||
*
|
||||
* @access private
|
||||
* @var string
|
||||
*/
|
||||
* Raw data output
|
||||
*
|
||||
* @access private
|
||||
* @var string
|
||||
*/
|
||||
private $_raw_out_data;
|
||||
|
||||
/**
|
||||
* Method params
|
||||
*
|
||||
* @access public
|
||||
* @var array
|
||||
*/
|
||||
* Method params
|
||||
*
|
||||
* @access public
|
||||
* @var array
|
||||
*/
|
||||
public $params = array();
|
||||
|
||||
/**
|
||||
* XML-RPC serialized 64 key
|
||||
*
|
||||
* @access private
|
||||
* @var string
|
||||
*/
|
||||
* XML-RPC serialized 64 key
|
||||
*
|
||||
* @access private
|
||||
* @var string
|
||||
*/
|
||||
private $serialized_key = '__serialized64__';
|
||||
|
||||
/**
|
||||
* Server function object
|
||||
*
|
||||
* @access private
|
||||
* @var object
|
||||
*/
|
||||
* Server function object
|
||||
*
|
||||
* @access private
|
||||
* @var object
|
||||
*/
|
||||
private $xml_server;
|
||||
|
||||
/**
|
||||
* Return cookie information
|
||||
*
|
||||
* @access public
|
||||
* @var array
|
||||
*/
|
||||
* Return cookie information
|
||||
*
|
||||
* @access public
|
||||
* @var array
|
||||
*/
|
||||
public $cookies = array();
|
||||
|
||||
/**
|
||||
* XML-RPC cookie serialized 64 key
|
||||
*
|
||||
* @access private
|
||||
* @var string
|
||||
*/
|
||||
* XML-RPC cookie serialized 64 key
|
||||
*
|
||||
* @access private
|
||||
* @var string
|
||||
*/
|
||||
private $cookie_serialized_key = '__cookie__serialized64__';
|
||||
|
||||
/**
|
||||
* HTTP Auth required
|
||||
*
|
||||
* @access public
|
||||
* @var string
|
||||
* @var string
|
||||
*/
|
||||
/**#@+
|
||||
* HTTP Auth required
|
||||
*
|
||||
* @access public
|
||||
* @var string
|
||||
*/
|
||||
public $auth_user = '';
|
||||
public $auth_pass = '';
|
||||
/*#@-*/
|
||||
|
||||
/**
|
||||
* Errors array
|
||||
*
|
||||
* @access public
|
||||
* @var array
|
||||
*/
|
||||
* Errors array
|
||||
*
|
||||
* @access public
|
||||
* @var array
|
||||
*/
|
||||
public $errors = array();
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
* Constructor
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
if ( ! is_object( $this->xmlrpc ) )
|
||||
@@ -158,24 +161,17 @@ class classApiServer
|
||||
}
|
||||
|
||||
/**
|
||||
* Add object map to this class
|
||||
*
|
||||
* @access public
|
||||
* @param string Incoming data
|
||||
* @return string api
|
||||
*/
|
||||
* Add object map to this class
|
||||
*
|
||||
* @access public
|
||||
* @param string Incoming data
|
||||
* @return string api
|
||||
*/
|
||||
public function decodeRequest( $incoming='' )
|
||||
{
|
||||
if ( ! $incoming )
|
||||
{
|
||||
# PHP Bug: http://bugs.php.net/bug.php?id=41293
|
||||
|
||||
if( phpversion() == "5.2.2" )
|
||||
{
|
||||
$GLOBALS['HTTP_RAW_POST_DATA'] = file_get_contents( "php://input" );
|
||||
}
|
||||
|
||||
$incoming = isset( $GLOBALS['HTTP_RAW_POST_DATA'] ) ? $GLOBALS['HTTP_RAW_POST_DATA'] : '';
|
||||
$incoming = file_get_contents( "php://input" );
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
@@ -225,12 +221,12 @@ class classApiServer
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the XML-RPC data
|
||||
*
|
||||
* @access public
|
||||
* @param string Incoming data
|
||||
* @return mixed Boolean, Output error
|
||||
*/
|
||||
* Get the XML-RPC data
|
||||
*
|
||||
* @access public
|
||||
* @param string Incoming data
|
||||
* @return mixed Boolean, Output error
|
||||
*/
|
||||
public function getXmlRpc( $incoming='' )
|
||||
{
|
||||
if ( ! $this->xml_server )
|
||||
@@ -306,12 +302,12 @@ class classApiServer
|
||||
}
|
||||
|
||||
/**
|
||||
* Set a cookie for the API request
|
||||
*
|
||||
* @access public
|
||||
* @param array Array of params to send
|
||||
* @return void
|
||||
*/
|
||||
* Set a cookie for the API request
|
||||
*
|
||||
* @access public
|
||||
* @param array Array of params to send
|
||||
* @return void
|
||||
*/
|
||||
public function apiAddCookieData( $data )
|
||||
{
|
||||
if ( $data['name'] )
|
||||
@@ -321,14 +317,14 @@ class classApiServer
|
||||
}
|
||||
|
||||
/**
|
||||
* Return API Request
|
||||
*
|
||||
* @access public
|
||||
* @param array Array of params to send
|
||||
* @param int Complex data: Encode before sending
|
||||
* @param array Forced data type mapping
|
||||
* @return void
|
||||
*/
|
||||
* Return API Request
|
||||
*
|
||||
* @access public
|
||||
* @param array Array of params to send
|
||||
* @param int Complex data: Encode before sending
|
||||
* @param array Forced data type mapping
|
||||
* @return void
|
||||
*/
|
||||
public function apiSendReply( $data=array(), $complex_data=0, $force=array() )
|
||||
{
|
||||
//-----------------------------------------
|
||||
@@ -387,25 +383,25 @@ class classApiServer
|
||||
}
|
||||
|
||||
/**
|
||||
* Return API Request (ERROR)
|
||||
*
|
||||
* @access public
|
||||
* @param int Error Code
|
||||
* @param string Error message
|
||||
* @return void
|
||||
*/
|
||||
* Return API Request (ERROR)
|
||||
*
|
||||
* @access public
|
||||
* @param int Error Code
|
||||
* @param string Error message
|
||||
* @return void
|
||||
*/
|
||||
public function apiSendError( $error_code, $error_msg )
|
||||
{
|
||||
$this->xmlrpc->returnError( $error_code, $error_msg );
|
||||
}
|
||||
|
||||
/**
|
||||
* Decode API Request
|
||||
*
|
||||
* @access public
|
||||
* @param string Raw data picked up
|
||||
* @return void
|
||||
*/
|
||||
* Decode API Request
|
||||
*
|
||||
* @access public
|
||||
* @param string Raw data picked up
|
||||
* @return void
|
||||
*/
|
||||
public function apiDecodeRequest( $raw_data )
|
||||
{
|
||||
//-----------------------------------------
|
||||
@@ -422,15 +418,15 @@ class classApiServer
|
||||
}
|
||||
|
||||
/**
|
||||
* Send API Request
|
||||
*
|
||||
* @access public
|
||||
* @param string URL to send request to
|
||||
* @param string Method name for API to pick up
|
||||
* @param array Data to send
|
||||
* @param int Complex data: Encode before sending
|
||||
* @return boolean Data sent successfully
|
||||
*/
|
||||
* Send API Request
|
||||
*
|
||||
* @access public
|
||||
* @param string URL to send request to
|
||||
* @param string Method name for API to pick up
|
||||
* @param array Data to send
|
||||
* @param int Complex data: Encode before sending
|
||||
* @return boolean Data sent successfully
|
||||
*/
|
||||
public function apiSendRequest( $url, $method_name, $data=array(), $complex_data=0 )
|
||||
{
|
||||
//-----------------------------------------
|
||||
@@ -487,12 +483,12 @@ class classApiServer
|
||||
}
|
||||
|
||||
/**
|
||||
* Process returned data
|
||||
*
|
||||
* @access public
|
||||
* @param array Raw array
|
||||
* @return array Cleaned array
|
||||
*/
|
||||
* Process returned data
|
||||
*
|
||||
* @access public
|
||||
* @param array Raw array
|
||||
* @return array Cleaned array
|
||||
*/
|
||||
public function apiProcessData( $raw=array() )
|
||||
{
|
||||
//-----------------------------------------
|
||||
@@ -574,24 +570,24 @@ class classApiServer
|
||||
}
|
||||
|
||||
/**
|
||||
* Encode array
|
||||
*
|
||||
* @access private
|
||||
* @param array Raw array
|
||||
* @return string Encoded string
|
||||
*/
|
||||
* Encode array
|
||||
*
|
||||
* @access private
|
||||
* @param array Raw array
|
||||
* @return string Encoded string
|
||||
*/
|
||||
private function _encodeBase64Array( $array )
|
||||
{
|
||||
return base64_encode( serialize( $array ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Decode array
|
||||
*
|
||||
* @access private
|
||||
* @param string Encoded string
|
||||
* @return array Raw array
|
||||
*/
|
||||
* Decode array
|
||||
*
|
||||
* @access private
|
||||
* @param string Encoded string
|
||||
* @return array Raw array
|
||||
*/
|
||||
private function _decodeBase64Array( $data )
|
||||
{
|
||||
if ( ! is_array( $data ) )
|
||||
@@ -609,5 +605,3 @@ class classApiServer
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in new issue
Block a user