Version 3.1.4

This commit is contained in:
Neo committed 2025-12-19 00:32:22 -08:00
1 parent 1d4720f3e2
commit ae5c01cc78
2563 files changed
+283048 -240689

No files matched your search

+143 -149
View File
@@ -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
}
}
}
?>