XML_RPC
[ class tree: XML_RPC ] [ index: XML_RPC ] [ all elements ]

Procedural File: rpc.php

Source Location: /modules/pearxmlrpc/rpc.php



Classes:

XML_RPC_Base
The common methods and properties for all of the XML_RPC classes
XML_RPC_Client
The methods and properties for submitting XML RPC requests
XML_RPC_Response
The methods and properties for interpreting responses to XML RPC requests
XML_RPC_Message
The methods and properties for composing XML RPC messages
XML_RPC_Value
The methods and properties that represent data in XML RPC format


Page Details:

PHP implementation of the XML-RPC protocol

This is a PEAR-ified version of Useful inc's XML-RPC for PHP. It has support for HTTP transport, proxies and authentication.

PHP versions 4 and 5

LICENSE: License is granted to use or modify this software ("XML-RPC for PHP") for commercial or non-commercial use provided the copyright of the author is preserved in any distributed or derivative work.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.




Tags:

author:  Daniel Convissor <danielc@php.net>
author:  Stig Bakken <stig@php.net>
author:  Edd Dumbill <edd@usefulinc.com>
author:  Martin Jansen <mj@php.net>
version:  CVS: $Id$
copyright:  1999-2001 Edd Dumbill, 2001-2006 The PHP Group
link:  http://pear.php.net/package/XML_RPC


Includes:

include_once('PEAR.php') [line 41]
PHP implementation of the XML-RPC protocol

This is a PEAR-ified version of Useful inc's XML-RPC for PHP. It has support for HTTP transport, proxies and authentication.

PHP versions 4 and 5

LICENSE: License is granted to use or modify this software ("XML-RPC for PHP") for commercial or non-commercial use provided the copyright of the author is preserved in any distributed or derivative work.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.




Tags:

author:  Daniel Convissor <danielc@php.net>
author:  Stig Bakken <stig@php.net>
author:  Edd Dumbill <edd@usefulinc.com>
author:  Martin Jansen <mj@php.net>
version:  CVS: $Id$
copyright:  1999-2001 Edd Dumbill, 2001-2006 The PHP Group
link:  http://pear.php.net/package/XML_RPC



string $GLOBALS['XML_RPC_Array'] [line 121]

Data types

Default value:   'array'


[ Top ]



boolean $GLOBALS['XML_RPC_auto_base64'] [line 228]

Should we automatically base64 encode strings that contain characters

which can cause PHP's SAX-based XML parser to break?


Default value:   false


[ Top ]



string $GLOBALS['XML_RPC_backslash'] [line 199]

Compose backslashes for escaping regexp

Default value:   chr(92) . chr(92)


[ Top ]



string $GLOBALS['XML_RPC_Base64'] [line 115]

Data types

Default value:   'base64'


[ Top ]



string $GLOBALS['XML_RPC_Boolean'] [line 91]

Data types

Default value:   'boolean'


[ Top ]



string $GLOBALS['XML_RPC_DateTime'] [line 109]

Data types

Default value:   'dateTime.iso8601'


[ Top ]



string $GLOBALS['XML_RPC_defencoding'] [line 180]

Default XML encoding (ISO-8859-1, UTF-8 or US-ASCII)

Default value:   'UTF-8'


[ Top ]



string $GLOBALS['XML_RPC_Double'] [line 97]

Data types

Default value:   'double'


[ Top ]



array $GLOBALS['XML_RPC_err'] [line 151]

Error message numbers

Default value:   array(
    'unknown_method'      => 1,
    'invalid_return'      => 2,
    'incorrect_params'    => 3,
    'introspect_unknown'  => 4,
    'http_error'          => 5,
    'not_response_object' => 6,
    'invalid_request'     => 7,
)


[ Top ]



int $GLOBALS['XML_RPC_erruser'] [line 186]

User error codes start at 800

Default value:   800


[ Top ]



int $GLOBALS['XML_RPC_errxml'] [line 192]

XML parse error codes start at 100

Default value:   100


[ Top ]



string $GLOBALS['XML_RPC_func_ereg'] [line 207]

Default value:   'mb_eregi'


[ Top ]



string $GLOBALS['XML_RPC_func_ereg_replace'] [line 209]

Default value:   'mb_eregi_replace'


[ Top ]



string $GLOBALS['XML_RPC_func_split'] [line 211]

Default value:   'mb_split'


[ Top ]



string $GLOBALS['XML_RPC_I4'] [line 79]

Data types

Default value:   'i4'


[ Top ]



string $GLOBALS['XML_RPC_Int'] [line 85]

Data types

Default value:   'int'


[ Top ]



array $GLOBALS['XML_RPC_str'] [line 165]

Error message strings

Default value:   array(
    'unknown_method'      => 'Unknown method',
    'invalid_return'      => 'Invalid return payload: enable debugging to examine incoming payload',
    'incorrect_params'    => 'Incorrect parameters passed to method',
    'introspect_unknown'  => 'Can\'t introspect: method unknown',
    'http_error'          => 'Didn\'t receive 200 OK from remote server.',
    'not_response_object' => 'The requested method didn\'t return an XML_RPC_Response object.',
    'invalid_request'     => 'Invalid request payload',
)


[ Top ]



string $GLOBALS['XML_RPC_String'] [line 103]

Data types

Default value:   'string'


[ Top ]



string $GLOBALS['XML_RPC_Struct'] [line 127]

Data types

Default value:   'struct'


[ Top ]



array $GLOBALS['XML_RPC_Types'] [line 134]

Data type meta-types

Default value:   array(
    $GLOBALS['XML_RPC_I4']       => 1,
    $GLOBALS['XML_RPC_Int']      => 1,
    $GLOBALS['XML_RPC_Boolean']  => 1,
    $GLOBALS['XML_RPC_String']   => 1,
    $GLOBALS['XML_RPC_Double']   => 1,
    $GLOBALS['XML_RPC_DateTime'] => 1,
    $GLOBALS['XML_RPC_Base64']   => 1,
    $GLOBALS['XML_RPC_Array']    => 2,
    $GLOBALS['XML_RPC_Struct']   => 3,
)


[ Top ]



array $GLOBALS['XML_RPC_valid_parents'] [line 235]

Valid parents of XML elements

Default value:   array(
    'BOOLEAN' => array('VALUE'),'I4'=>array('VALUE'),'INT'=>array('VALUE'),'STRING'=>array('VALUE'),'DOUBLE'=>array('VALUE'),'DATETIME.ISO8601'=>array('VALUE'),'BASE64'=>array('VALUE'),'ARRAY'=>array('VALUE'),'STRUCT'=>array('VALUE'),'PARAM'=>array('PARAMS'),'METHODNAME'=>array('METHODCALL'),'PARAMS'=>array('METHODCALL','METHODRESPONSE'),'MEMBER'=>array('STRUCT'),'NAME'=>array('MEMBER'),'DATA'=>array('ARRAY'),'FAULT'=>array('METHODRESPONSE'),'VALUE'=>array('MEMBER','DATA','PARAM','FAULT'),)


[ Top ]



array $GLOBALS['XML_RPC_xh'] [line 271]

Stores state during parsing

quick explanation of components:

  • ac = accumulates values
  • qt = decides if quotes are needed for evaluation
  • cm = denotes struct or array (comma needed)
  • isf = indicates a fault
  • lv = indicates "looking for a value": implements the logic to allow values with no types to be strings
  • params = stores parameters in method calls
  • method = stores method name


Default value:   array()


[ Top ]





XML_RPC_ERROR_ALREADY_INITIALIZED [line 63]

XML_RPC_ERROR_ALREADY_INITIALIZED = 104
The array or struct has already been started

Error constants



[ Top ]



XML_RPC_ERROR_CONNECTION_FAILED [line 59]

XML_RPC_ERROR_CONNECTION_FAILED = 103
Communication error

Error constants



[ Top ]



XML_RPC_ERROR_INCORRECT_PARAMS [line 67]

XML_RPC_ERROR_INCORRECT_PARAMS = 105
Incorrect parameters submitted

Error constants



[ Top ]



XML_RPC_ERROR_INVALID_TYPE [line 51]

XML_RPC_ERROR_INVALID_TYPE = 101
Parameter values don't match parameter types

Error constants



[ Top ]



XML_RPC_ERROR_NON_NUMERIC_FOUND [line 55]

XML_RPC_ERROR_NON_NUMERIC_FOUND = 102
Parameter declared to be numeric but the values are not

Error constants



[ Top ]



XML_RPC_ERROR_PROGRAMMING [line 71]

XML_RPC_ERROR_PROGRAMMING = 106
Programming error by developer

Error constants



[ Top ]




XML_RPC_cd [line 545]

void XML_RPC_cd( $parser_resource, $data)

Character data handler for the XML parser



Parameters

   $parser_resource  
   $data  
[ Top ]



XML_RPC_decode [line 1980]

mixed XML_RPC_decode( object $XML_RPC_val)

Converts an XML_RPC_Value object into native PHP types



Tags:

return:  the PHP values


Parameters

object   $XML_RPC_val   the XML_RPC_Value object to decode
[ Top ]



XML_RPC_ee [line 408]

void XML_RPC_ee( $parser_resource, $name)

End element handler for the XML parser



Parameters

   $parser_resource  
   $name  
[ Top ]



XML_RPC_encode [line 2012]

object the XML_RPC_encode( mixed $php_val)

Converts native PHP types into an XML_RPC_Value object



Tags:

return:  XML_RPC_Value object


Parameters

mixed   $php_val   the PHP value or variable you want encoded
[ Top ]



XML_RPC_iso8601_decode [line 1960]

int XML_RPC_iso8601_decode( $idate, [ $utc = 0])

Convert a datetime string into a Unix timestamp

While timezones ought to be supported, the XML-RPC spec says:

"Don't assume a timezone. It should be specified by the server in its documentation what assumptions it makes about timezones."

This routine always assumes localtime unless $utc is set to 1, in which case UTC is assumed and an adjustment for locale is made when encoding.




Tags:

return:  the unix timestamp of the date submitted


Parameters

   $idate  
   $utc  
[ Top ]



XML_RPC_iso8601_encode [line 1931]

string XML_RPC_iso8601_encode( $timet, [ $utc = 0])

Return an ISO8601 encoded string

While timezones ought to be supported, the XML-RPC spec says:

"Don't assume a timezone. It should be specified by the server in its documentation what assumptions it makes about timezones."

This routine always assumes localtime unless $utc is set to 1, in which case UTC is assumed and an adjustment for locale is made when encoding.




Tags:

return:  the formatted date


Parameters

   $timet  
   $utc  
[ Top ]



XML_RPC_se [line 279]

void XML_RPC_se( $parser_resource, $name, $attrs)

Start element handler for the XML parser



Parameters

   $parser_resource  
   $name  
   $attrs  
[ Top ]



Documentation generated on Thu, 12 Feb 2009 08:00:06 +0900 by phpDocumentor 1.4.2