diff options
author | Karl 'vollmerk' Vollmer <vollmer@ampache.org> | 2007-06-21 07:17:14 +0000 |
---|---|---|
committer | Karl 'vollmerk' Vollmer <vollmer@ampache.org> | 2007-06-21 07:17:14 +0000 |
commit | 42f1115c2ed920d9624f73b64d9c5e1c0df675b2 (patch) | |
tree | ce49f1ec5de024d2f601a407eb0bf689b350e408 /modules/xmlrpc/doc | |
parent | 68a94efc6ad1ce1b4f9a103a05267316806eb7e7 (diff) | |
download | ampache-42f1115c2ed920d9624f73b64d9c5e1c0df675b2.tar.gz ampache-42f1115c2ed920d9624f73b64d9c5e1c0df675b2.tar.bz2 ampache-42f1115c2ed920d9624f73b64d9c5e1c0df675b2.zip |
updated to the latest version of the xmlrpc library, and removed some useless files
Diffstat (limited to 'modules/xmlrpc/doc')
-rwxr-xr-x | modules/xmlrpc/doc/Makefile | 17 | ||||
-rw-r--r-- | modules/xmlrpc/doc/apidocs.html | 598 | ||||
-rw-r--r-- | modules/xmlrpc/doc/arrayuse.html | 253 | ||||
-rw-r--r-- | modules/xmlrpc/doc/bugs.html | 159 | ||||
-rw-r--r-- | modules/xmlrpc/doc/custom.dsl | 25 | ||||
-rw-r--r-- | modules/xmlrpc/doc/debugging.html | 188 | ||||
-rw-r--r-- | modules/xmlrpc/doc/examples.html | 159 | ||||
-rw-r--r-- | modules/xmlrpc/doc/helpers.html | 318 | ||||
-rw-r--r-- | modules/xmlrpc/doc/index.html | 6 | ||||
-rw-r--r-- | modules/xmlrpc/doc/introduction.html | 280 | ||||
-rw-r--r-- | modules/xmlrpc/doc/jellyfish.html | 180 | ||||
-rw-r--r-- | modules/xmlrpc/doc/manifest.html | 310 | ||||
-rw-r--r-- | modules/xmlrpc/doc/reserved.html | 191 | ||||
-rw-r--r-- | modules/xmlrpc/doc/support.html | 209 | ||||
-rw-r--r-- | modules/xmlrpc/doc/sysmethhelp.html | 155 | ||||
-rw-r--r-- | modules/xmlrpc/doc/sysmethodsig.html | 191 | ||||
-rw-r--r-- | modules/xmlrpc/doc/xmlrpc-server.html | 487 | ||||
-rw-r--r-- | modules/xmlrpc/doc/xmlrpc_php.sgml | 1487 | ||||
-rw-r--r-- | modules/xmlrpc/doc/xmlrpcmsg.html | 507 | ||||
-rw-r--r-- | modules/xmlrpc/doc/xmlrpcresp.html | 374 | ||||
-rw-r--r-- | modules/xmlrpc/doc/xmlrpcval.html | 933 |
21 files changed, 0 insertions, 7027 deletions
diff --git a/modules/xmlrpc/doc/Makefile b/modules/xmlrpc/doc/Makefile deleted file mode 100755 index 77a47180..00000000 --- a/modules/xmlrpc/doc/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -WEB=/var/www/xmlrpc/doc - -all: index.html - -index.html: xmlrpc_php.sgml - jade -t sgml -d custom.dsl xmlrpc_php.sgml - -clean: - rm -f *.html - -install: - mkdir -p ${WEB} - cp *.html ${WEB} - -web: - mkdir -p ${WEB} - cp *.html ${WEB} diff --git a/modules/xmlrpc/doc/apidocs.html b/modules/xmlrpc/doc/apidocs.html deleted file mode 100644 index 6178742e..00000000 --- a/modules/xmlrpc/doc/apidocs.html +++ /dev/null @@ -1,598 +0,0 @@ -<HTML -><HEAD -><TITLE ->Class documentation</TITLE -><META -NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.77+"><LINK -REV="MADE" -HREF="edd@usefulinc.com"><LINK -REL="HOME" -TITLE="XML-RPC for PHP" -HREF="index.html"><LINK -REL="PREVIOUS" -TITLE="The Jellyfish Book" -HREF="jellyfish.html"><LINK -REL="NEXT" -TITLE="xmlrpcmsg" -HREF="xmlrpcmsg.html"></HEAD -><BODY -CLASS="CHAPTER" -BGCOLOR="#FFFFFF" -TEXT="#000000" -LINK="#0000FF" -VLINK="#840084" -ALINK="#0000FF" -><DIV -CLASS="NAVHEADER" -><TABLE -SUMMARY="Header navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TH -COLSPAN="3" -ALIGN="center" ->XML-RPC for PHP: version 1.1</TH -></TR -><TR -><TD -WIDTH="10%" -ALIGN="left" -VALIGN="bottom" -><A -HREF="jellyfish.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="80%" -ALIGN="center" -VALIGN="bottom" -></TD -><TD -WIDTH="10%" -ALIGN="right" -VALIGN="bottom" -><A -HREF="xmlrpcmsg.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -></TABLE -><HR -ALIGN="LEFT" -WIDTH="100%"></DIV -><DIV -CLASS="CHAPTER" -><H1 -><A -NAME="APIDOCS" -></A ->Chapter 5. Class documentation</H1 -><DIV -CLASS="TOC" -><DL -><DT -><B ->Table of Contents</B -></DT -><DT -><A -HREF="apidocs.html#XMLRPC-CLIENT" ->xmlrpc_client</A -></DT -><DT -><A -HREF="xmlrpcmsg.html" ->xmlrpcmsg</A -></DT -><DT -><A -HREF="xmlrpcresp.html" ->xmlrpcresp</A -></DT -><DT -><A -HREF="xmlrpcval.html" ->xmlrpcval</A -></DT -><DT -><A -HREF="xmlrpc-server.html" ->xmlrpc_server</A -></DT -></DL -></DIV -><DIV -CLASS="SECT1" -><H1 -CLASS="SECT1" -><A -NAME="XMLRPC-CLIENT" -></A ->xmlrpc_client</H1 -><P ->This is the basic class used to represent a client of an - XML-RPC server.</P -><DIV -CLASS="SECT2" -><H2 -CLASS="SECT2" -><A -NAME="AEN174" -></A ->Creation</H2 -><P ->The constructor has the following syntax:</P -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN177" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$client=new xmlrpc_client</CODE ->($server_path, $server_hostname, $server_port);</CODE -></P -><P -></P -></DIV -><P ->Here's an example client set up to query Userland's XML-RPC - server at <SPAN -CLASS="emphasis" -><I -CLASS="EMPHASIS" ->betty.userland.com</I -></SPAN ->:</P -><PRE -CLASS="PROGRAMLISTING" ->$client=new xmlrpc_client("/RPC2", "betty.userland.com", 80);</PRE -><P ->The <TT -CLASS="PARAMETER" -><I ->server_port</I -></TT -> parameter is - optional, and if omitted will default to 80 when using - HTTP and 443 when using HTTPS (see the "send" method below.)</P -></DIV -><DIV -CLASS="SECT2" -><H2 -CLASS="SECT2" -><A -NAME="AEN191" -></A ->Methods</H2 -><P ->This class supports the following methods.</P -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="XMLRPC-CLIENT-SEND" -></A ->send</H3 -><P ->This method takes the form:</P -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN197" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$response=$client->send</CODE ->($xmlrpc_message, $timeout, $server_method);</CODE -></P -><P -></P -></DIV -><P ->Where <TT -CLASS="PARAMETER" -><I ->$xmlrpc_message</I -></TT -> is an - instance of <TT -CLASS="CLASSNAME" ->xmlrpcmsg</TT -> (see <A -HREF="xmlrpcmsg.html" ->xmlrpcmsg</A ->), and - <TT -CLASS="PARAMETER" -><I ->$response</I -></TT -> is an - instance of <TT -CLASS="CLASSNAME" ->xmlrpcresp</TT -> (see <A -HREF="xmlrpcresp.html" ->xmlrpcresp</A ->).</P -><P ->The <TT -CLASS="PARAMETER" -><I ->$timeout</I -></TT -> is optional, and - will be set to <TT -CLASS="LITERAL" ->0</TT -> (wait forever) if - omitted. This timeout value is passed to - <TT -CLASS="FUNCTION" ->fsockopen()</TT ->.</P -><P ->The <TT -CLASS="PARAMETER" -><I ->server_method</I -></TT -> parameter is - optional, and if omitted will default to 'http'. The only - other valid value is 'https', which will use an SSL HTTP - connection to connect to the remote server. Note that your - PHP must have the "curl" extensions compiled in in order to - use this feature. Note that when using SSL you should - normally set your port number to 443, unless the SSL server - you are contacting runs at any other port.</P -><DIV -CLASS="WARNING" -><P -></P -><TABLE -CLASS="WARNING" -BORDER="1" -WIDTH="100%" -><TR -><TD -ALIGN="CENTER" -><B ->Warning</B -></TD -></TR -><TR -><TD -ALIGN="LEFT" -><P ->PHP 4.0.2 or greater is required for SSL - functionality. - PHP 4.0.6 has a bug which prevents SSL - working.</P -></TD -></TR -></TABLE -></DIV -><P ->If the value of <TT -CLASS="PARAMETER" -><I ->$response</I -></TT -> is - <TT -CLASS="LITERAL" ->0</TT -> rather than an - <TT -CLASS="CLASSNAME" ->xmlrpcresp</TT -> object, then this - signifies an I/O error has occured. You can find out what - the I/O error was from the values - <TT -CLASS="FUNCTION" ->$client->errno</TT -> and - <TT -CLASS="FUNCTION" ->$client->errstring</TT ->. - </P -><P ->In addition to low-level errors, the XML-RPC server you - were querying may return an error in the - <TT -CLASS="CLASSNAME" ->xmlrpcresp</TT -> object. See <A -HREF="xmlrpcresp.html" ->xmlrpcresp</A -> for details of - how to handle these errors. - </P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN230" -></A ->setCredentials</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN232" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$client->setCredentials</CODE ->($username, $password);</CODE -></P -><P -></P -></DIV -><P ->This method sets the username and password for authorizing the - client to a server. With the default (HTTP) transport, this - information is used for HTTP Basic authorization. - - </P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN240" -></A ->setCertificate</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN242" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$client->setCertificate</CODE ->($certificate, $passphrase);</CODE -></P -><P -></P -></DIV -><P ->This method sets the optional certificate and passphrase - used in SSL-enabled communication with a remote server - (when the <TT -CLASS="PARAMETER" -><I ->server_method</I -></TT -> is set to - 'https' in the client's construction). - </P -><P ->The <TT -CLASS="PARAMETER" -><I ->certificate</I -></TT -> parameter must - be the filename of a PEM formatted certificate. The - <TT -CLASS="PARAMETER" -><I ->passphrase</I -></TT -> parameter must contain - the password required to use the certificate.</P -><P ->This requires the "curl" extensions to be compiled - into your installation of PHP.</P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN255" -></A ->setSSLVerifyPeer</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN257" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$client->setSSLVerifyPeer</CODE ->($i);</CODE -></P -><P -></P -></DIV -><P ->This method defines whether connections made to XMLRPC - backends via HTTPS should verify the remote host's SSL - certificate, and cause the connection to fail if the cert - verification fails. $i should be a boolean value. - </P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN263" -></A ->setSSLVerifyHost</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN265" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$client->setSSLVerifyHost</CODE ->($i);</CODE -></P -><P -></P -></DIV -><P ->This method defines whether connections made to XMLRPC - backends via HTTPS should verify the remote host's SSL - certificate's common name (CN). By default, only the existence - of a CN is checked. $i should be an integer value; 0 to not - check the CN at all, 1 to merely check for its existence, and - 2 to check that the CN on the certificate matches the hostname - that is being connected to. - </P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN271" -></A ->setDebug</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN273" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$client->setDebug</CODE ->($debugOn);</CODE -></P -><P -></P -></DIV -><P -><TT -CLASS="PARAMETER" -><I ->$debugOn</I -></TT -> is either - <TT -CLASS="LITERAL" ->0</TT -> or <TT -CLASS="LITERAL" ->1</TT -> depending on - whether you require the client to print debugging - information to the browser. The default is not to output - this information.</P -><P -> The debugging information includes the raw data returned - from the XML-RPC server it was querying, and the PHP value - the client attempts to create to represent the value - returned by the server. This option can be very useful when - debugging servers as it allows you to see exactly what the - server returns. - </P -></DIV -></DIV -></DIV -></DIV -><DIV -CLASS="NAVFOOTER" -><HR -ALIGN="LEFT" -WIDTH="100%"><TABLE -SUMMARY="Footer navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" -><A -HREF="jellyfish.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="index.html" -ACCESSKEY="H" ->Home</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" -><A -HREF="xmlrpcmsg.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" ->The Jellyfish Book</TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -> </TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" ->xmlrpcmsg</TD -></TR -></TABLE -></DIV -></BODY -></HTML ->
\ No newline at end of file diff --git a/modules/xmlrpc/doc/arrayuse.html b/modules/xmlrpc/doc/arrayuse.html deleted file mode 100644 index e8011ed4..00000000 --- a/modules/xmlrpc/doc/arrayuse.html +++ /dev/null @@ -1,253 +0,0 @@ -<HTML -><HEAD -><TITLE ->Easy use with PHP arrays</TITLE -><META -NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.77+"><LINK -REV="MADE" -HREF="edd@usefulinc.com"><LINK -REL="HOME" -TITLE="XML-RPC for PHP" -HREF="index.html"><LINK -REL="UP" -TITLE="Helper functions" -HREF="helpers.html"><LINK -REL="PREVIOUS" -TITLE="Helper functions" -HREF="helpers.html"><LINK -REL="NEXT" -TITLE="Debugging aids" -HREF="debugging.html"></HEAD -><BODY -CLASS="SECT1" -BGCOLOR="#FFFFFF" -TEXT="#000000" -LINK="#0000FF" -VLINK="#840084" -ALINK="#0000FF" -><DIV -CLASS="NAVHEADER" -><TABLE -SUMMARY="Header navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TH -COLSPAN="3" -ALIGN="center" ->XML-RPC for PHP: version 1.1</TH -></TR -><TR -><TD -WIDTH="10%" -ALIGN="left" -VALIGN="bottom" -><A -HREF="helpers.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="80%" -ALIGN="center" -VALIGN="bottom" ->Chapter 6. Helper functions</TD -><TD -WIDTH="10%" -ALIGN="right" -VALIGN="bottom" -><A -HREF="debugging.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -></TABLE -><HR -ALIGN="LEFT" -WIDTH="100%"></DIV -><DIV -CLASS="SECT1" -><H1 -CLASS="SECT1" -><A -NAME="ARRAYUSE" -></A ->Easy use with PHP arrays</H1 -><P ->Dan Libby was kind enough to contribute two helper functions - that make it easier to translate to and from PHP arrays. This - makes it easier to deal with complex structures. At the moment - support is limited to <SPAN -CLASS="TYPE" ->int</SPAN ->, <SPAN -CLASS="TYPE" ->double</SPAN ->, - <SPAN -CLASS="TYPE" ->string</SPAN ->, <SPAN -CLASS="TYPE" ->array</SPAN -> and <SPAN -CLASS="TYPE" ->struct</SPAN -> - datatypes; note also that all PHP arrays are encoded as structs - due to PHP not being able to tell the difference between a hash - and a linear array.</P -><P ->These functions reside in <TT -CLASS="FILENAME" ->xmlrpc.inc</TT ->.</P -><DIV -CLASS="SECT2" -><H2 -CLASS="SECT2" -><A -NAME="XMLRPCDECODE" -></A ->xmlrpc_decode</H2 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN791" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$arr=xmlrpc_decode</CODE ->($xmlrpc_val);</CODE -></P -><P -></P -></DIV -><P -> Returns a PHP array stuffed with the values found in the - <SPAN -CLASS="TYPE" ->xmlrpcval</SPAN -> <TT -CLASS="PARAMETER" -><I ->$xmlrpc_val</I -></TT ->, - translated into native PHP types. - </P -></DIV -><DIV -CLASS="SECT2" -><H2 -CLASS="SECT2" -><A -NAME="XMLRPCENCODE" -></A ->xmlrpc_encode</H2 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN801" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$xmlrpc_val=xmlrpc_encode</CODE ->($phpval);</CODE -></P -><P -></P -></DIV -><P -> Returns an <SPAN -CLASS="TYPE" ->xmlrpcval</SPAN -> populated with the PHP - values in <TT -CLASS="PARAMETER" -><I ->$phpval</I -></TT ->. Works recursively on - arrays and structs. Note that there's no support for non-base - types like base-64 values or date-times. - </P -></DIV -></DIV -><DIV -CLASS="NAVFOOTER" -><HR -ALIGN="LEFT" -WIDTH="100%"><TABLE -SUMMARY="Footer navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" -><A -HREF="helpers.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="index.html" -ACCESSKEY="H" ->Home</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" -><A -HREF="debugging.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" ->Helper functions</TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="helpers.html" -ACCESSKEY="U" ->Up</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" ->Debugging aids</TD -></TR -></TABLE -></DIV -></BODY -></HTML ->
\ No newline at end of file diff --git a/modules/xmlrpc/doc/bugs.html b/modules/xmlrpc/doc/bugs.html deleted file mode 100644 index be925b65..00000000 --- a/modules/xmlrpc/doc/bugs.html +++ /dev/null @@ -1,159 +0,0 @@ -<HTML -><HEAD -><TITLE ->Bugs</TITLE -><META -NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.77+"><LINK -REV="MADE" -HREF="edd@usefulinc.com"><LINK -REL="HOME" -TITLE="XML-RPC for PHP" -HREF="index.html"><LINK -REL="PREVIOUS" -TITLE="Files in the distribution" -HREF="manifest.html"><LINK -REL="NEXT" -TITLE="Support" -HREF="support.html"></HEAD -><BODY -CLASS="CHAPTER" -BGCOLOR="#FFFFFF" -TEXT="#000000" -LINK="#0000FF" -VLINK="#840084" -ALINK="#0000FF" -><DIV -CLASS="NAVHEADER" -><TABLE -SUMMARY="Header navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TH -COLSPAN="3" -ALIGN="center" ->XML-RPC for PHP: version 1.1</TH -></TR -><TR -><TD -WIDTH="10%" -ALIGN="left" -VALIGN="bottom" -><A -HREF="manifest.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="80%" -ALIGN="center" -VALIGN="bottom" -></TD -><TD -WIDTH="10%" -ALIGN="right" -VALIGN="bottom" -><A -HREF="support.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -></TABLE -><HR -ALIGN="LEFT" -WIDTH="100%"></DIV -><DIV -CLASS="CHAPTER" -><H1 -><A -NAME="BUGS" -></A ->Chapter 3. Bugs</H1 -><P ->This is a bare framework. The "nice" bits haven't been put in - yet. Specifically, no HTTP response checking is performed, and no type - validation or coercion has been put in. PHP being a loosely-typed - language, this is going to have to be done explicitly.</P -><P ->dateTime.iso8601 is supported opaquely. It can't be done - natively as the XML-RPC specification explictly forbids passing of - timezone specifiers in ISO8601 format dates. You can, however, use - the <A -HREF="helpers.html#ISO8601ENCODE" ->iso8601_encode()</A -> and <A -HREF="helpers.html#ISO8601DECODE" ->iso8601_decode()</A -> functions to do the encoding and decoding for you.</P -><P ->If alternative character set encoding is sent in HTTP header - than it will be ignored for the moment. We speak only UTF-8...</P -><P ->If more than 32k of HTTP headers are encountered (like, why?) then the - response parsing code will break.</P -></DIV -><DIV -CLASS="NAVFOOTER" -><HR -ALIGN="LEFT" -WIDTH="100%"><TABLE -SUMMARY="Footer navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" -><A -HREF="manifest.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="index.html" -ACCESSKEY="H" ->Home</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" -><A -HREF="support.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" ->Files in the distribution</TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -> </TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" ->Support</TD -></TR -></TABLE -></DIV -></BODY -></HTML ->
\ No newline at end of file diff --git a/modules/xmlrpc/doc/custom.dsl b/modules/xmlrpc/doc/custom.dsl deleted file mode 100644 index 24d4b4bf..00000000 --- a/modules/xmlrpc/doc/custom.dsl +++ /dev/null @@ -1,25 +0,0 @@ -<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [ -<!ENTITY dbstyle SYSTEM "/usr/lib/sgml/stylesheet/dsssl/docbook/nwalsh/html/docbook.dsl" CDATA DSSSL> -]> - -<style-sheet> -<style-specification use="docbook"> -<style-specification-body> - -(define %link-mailto-url% - "edd@usefulinc.com") - -(define %html-ext% - ".html") - -(define %use-id-as-filename% - #t) - -(define %root-filename% - "index") - - -</style-specification-body> -</style-specification> -<external-specification id="docbook" document="dbstyle"> -</style-sheet> diff --git a/modules/xmlrpc/doc/debugging.html b/modules/xmlrpc/doc/debugging.html deleted file mode 100644 index 7a0e567b..00000000 --- a/modules/xmlrpc/doc/debugging.html +++ /dev/null @@ -1,188 +0,0 @@ -<HTML -><HEAD -><TITLE ->Debugging aids</TITLE -><META -NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.77+"><LINK -REV="MADE" -HREF="edd@usefulinc.com"><LINK -REL="HOME" -TITLE="XML-RPC for PHP" -HREF="index.html"><LINK -REL="UP" -TITLE="Helper functions" -HREF="helpers.html"><LINK -REL="PREVIOUS" -TITLE="Easy use with PHP arrays" -HREF="arrayuse.html"><LINK -REL="NEXT" -TITLE="Reserved methods" -HREF="reserved.html"></HEAD -><BODY -CLASS="SECT1" -BGCOLOR="#FFFFFF" -TEXT="#000000" -LINK="#0000FF" -VLINK="#840084" -ALINK="#0000FF" -><DIV -CLASS="NAVHEADER" -><TABLE -SUMMARY="Header navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TH -COLSPAN="3" -ALIGN="center" ->XML-RPC for PHP: version 1.1</TH -></TR -><TR -><TD -WIDTH="10%" -ALIGN="left" -VALIGN="bottom" -><A -HREF="arrayuse.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="80%" -ALIGN="center" -VALIGN="bottom" ->Chapter 6. Helper functions</TD -><TD -WIDTH="10%" -ALIGN="right" -VALIGN="bottom" -><A -HREF="reserved.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -></TABLE -><HR -ALIGN="LEFT" -WIDTH="100%"></DIV -><DIV -CLASS="SECT1" -><H1 -CLASS="SECT1" -><A -NAME="DEBUGGING" -></A ->Debugging aids</H1 -><DIV -CLASS="SECT2" -><H2 -CLASS="SECT2" -><A -NAME="AEN811" -></A ->xmlrpc_debugmsg</H2 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN813" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->xmlrpc_debugmsg</CODE ->($debugstring);</CODE -></P -><P -></P -></DIV -><P ->Sends the contents of <TT -CLASS="PARAMETER" -><I ->$debugstring</I -></TT -> - in XML comments in the server return payload. If a PHP client - has debugging turned on, the user will be able to see server - debug information.</P -><P ->Use this function in your methods so you can pass back - diagnostic information. It is only available from - <TT -CLASS="FILENAME" ->xmlrpcs.inc</TT ->.</P -></DIV -></DIV -><DIV -CLASS="NAVFOOTER" -><HR -ALIGN="LEFT" -WIDTH="100%"><TABLE -SUMMARY="Footer navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" -><A -HREF="arrayuse.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="index.html" -ACCESSKEY="H" ->Home</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" -><A -HREF="reserved.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" ->Easy use with PHP arrays</TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="helpers.html" -ACCESSKEY="U" ->Up</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" ->Reserved methods</TD -></TR -></TABLE -></DIV -></BODY -></HTML ->
\ No newline at end of file diff --git a/modules/xmlrpc/doc/examples.html b/modules/xmlrpc/doc/examples.html deleted file mode 100644 index e8d44415..00000000 --- a/modules/xmlrpc/doc/examples.html +++ /dev/null @@ -1,159 +0,0 @@ -<HTML -><HEAD -><TITLE ->Examples</TITLE -><META -NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.77+"><LINK -REV="MADE" -HREF="edd@usefulinc.com"><LINK -REL="HOME" -TITLE="XML-RPC for PHP" -HREF="index.html"><LINK -REL="PREVIOUS" -TITLE="system.methodHelp" -HREF="sysmethhelp.html"></HEAD -><BODY -CLASS="CHAPTER" -BGCOLOR="#FFFFFF" -TEXT="#000000" -LINK="#0000FF" -VLINK="#840084" -ALINK="#0000FF" -><DIV -CLASS="NAVHEADER" -><TABLE -SUMMARY="Header navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TH -COLSPAN="3" -ALIGN="center" ->XML-RPC for PHP: version 1.1</TH -></TR -><TR -><TD -WIDTH="10%" -ALIGN="left" -VALIGN="bottom" -><A -HREF="sysmethhelp.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="80%" -ALIGN="center" -VALIGN="bottom" -></TD -><TD -WIDTH="10%" -ALIGN="right" -VALIGN="bottom" -> </TD -></TR -></TABLE -><HR -ALIGN="LEFT" -WIDTH="100%"></DIV -><DIV -CLASS="CHAPTER" -><H1 -><A -NAME="EXAMPLES" -></A ->Chapter 8. Examples</H1 -><P ->The best examples are to be found in the sample files - included with the distribution. Some are included here.</P -><DIV -CLASS="SECT1" -><H1 -CLASS="SECT1" -><A -NAME="STATENAME" -></A ->XML-RPC client: state name query</H1 -><P ->Code to get the corresponding - state name from a number (1-50) from Dave Winer's server</P -><PRE -CLASS="PROGRAMLISTING" -> $f=new xmlrpcmsg('examples.getStateName', - array(new xmlrpcval($HTTP_POST_VARS["stateno"], "int"))); - $c=new xmlrpc_client("/RPC2", "betty.userland.com", 80); - $r=$c->send($f); - $v=$r->value(); - if (!$r->faultCode()) { - print "State number ". $HTTP_POST_VARS["stateno"] . " is " . - $v->scalarval() . "<BR>"; - print "<HR>I got this value back<BR><PRE>" . - htmlentities($r->serialize()). "</PRE><HR>\n"; - } else { - print "Fault: "; - print "Code: " . $r->faultCode() . - " Reason '" .$r->faultString()."'<BR>"; - } - </PRE -></DIV -></DIV -><DIV -CLASS="NAVFOOTER" -><HR -ALIGN="LEFT" -WIDTH="100%"><TABLE -SUMMARY="Footer navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" -><A -HREF="sysmethhelp.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="index.html" -ACCESSKEY="H" ->Home</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" -> </TD -></TR -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" ->system.methodHelp</TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -> </TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" -> </TD -></TR -></TABLE -></DIV -></BODY -></HTML ->
\ No newline at end of file diff --git a/modules/xmlrpc/doc/helpers.html b/modules/xmlrpc/doc/helpers.html deleted file mode 100644 index 4f0c1319..00000000 --- a/modules/xmlrpc/doc/helpers.html +++ /dev/null @@ -1,318 +0,0 @@ -<HTML -><HEAD -><TITLE ->Helper functions</TITLE -><META -NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.77+"><LINK -REV="MADE" -HREF="edd@usefulinc.com"><LINK -REL="HOME" -TITLE="XML-RPC for PHP" -HREF="index.html"><LINK -REL="PREVIOUS" -TITLE="xmlrpc_server" -HREF="xmlrpc-server.html"><LINK -REL="NEXT" -TITLE="Easy use with PHP arrays" -HREF="arrayuse.html"></HEAD -><BODY -CLASS="CHAPTER" -BGCOLOR="#FFFFFF" -TEXT="#000000" -LINK="#0000FF" -VLINK="#840084" -ALINK="#0000FF" -><DIV -CLASS="NAVHEADER" -><TABLE -SUMMARY="Header navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TH -COLSPAN="3" -ALIGN="center" ->XML-RPC for PHP: version 1.1</TH -></TR -><TR -><TD -WIDTH="10%" -ALIGN="left" -VALIGN="bottom" -><A -HREF="xmlrpc-server.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="80%" -ALIGN="center" -VALIGN="bottom" -></TD -><TD -WIDTH="10%" -ALIGN="right" -VALIGN="bottom" -><A -HREF="arrayuse.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -></TABLE -><HR -ALIGN="LEFT" -WIDTH="100%"></DIV -><DIV -CLASS="CHAPTER" -><H1 -><A -NAME="HELPERS" -></A ->Chapter 6. Helper functions</H1 -><DIV -CLASS="TOC" -><DL -><DT -><B ->Table of Contents</B -></DT -><DT -><A -HREF="helpers.html#AEN739" ->Date functions</A -></DT -><DT -><A -HREF="arrayuse.html" ->Easy use with PHP arrays</A -></DT -><DT -><A -HREF="debugging.html" ->Debugging aids</A -></DT -></DL -></DIV -><P ->XML-RPC for PHP contains some helper functions which you can - use to make processing of XML-RPC requests easier.</P -><DIV -CLASS="SECT1" -><H1 -CLASS="SECT1" -><A -NAME="AEN739" -></A ->Date functions</H1 -><P ->The XML-RPC specification has this to say on dates:</P -><A -NAME="AEN742" -></A -><BLOCKQUOTE -CLASS="BLOCKQUOTE" -><P ->Don't assume a timezone. It should be specified by the server in its - documentation what assumptions it makes about timezones. </P -></BLOCKQUOTE -><P ->Unfortunately, this means that date processing isn't - straightforward. Although XML-RPC uses ISO 8601 format dates, it - doesn't use the timezone specifier.</P -><P ->We strongly recommend that in every case where you pass - dates in XML-RPC calls, you use UTC (GMT) as your timezone. Most computer - languages include routines for handling GMT times natively, and - you won't have to translate between timezones.</P -><P ->For more information about dates, see <A -HREF="http://www.uic.edu/year2000/datefmt.html" -TARGET="_top" ->ISO 8601: The Right Format for Dates</A ->, which has a handy link to a PDF of the ISO 8601 specification. Note that XML-RPC uses exactly one of the available representations: CCYYMMDDTHH:MM:SS.</P -><DIV -CLASS="SECT2" -><H2 -CLASS="SECT2" -><A -NAME="ISO8601ENCODE" -></A ->iso8601_encode</H2 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN750" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$isoString=iso8601_encode</CODE ->($time_t, $utc=0);</CODE -></P -><P -></P -></DIV -><P ->Returns an ISO 8601 formatted date generated from the - UNIX timestamp <TT -CLASS="PARAMETER" -><I ->$time_t</I -></TT ->, as returned by - the PHP function <TT -CLASS="FUNCTION" ->time()</TT ->. </P -><P ->The argument <TT -CLASS="PARAMETER" -><I ->$utc</I -></TT -> can be omitted, - in which case it defaults to <TT -CLASS="LITERAL" ->0</TT ->. If it is - set to <TT -CLASS="LITERAL" ->1</TT ->, then the function corrects the - time passed in for UTC. Example: if you're in the GMT-6:00 - timezone and set <TT -CLASS="PARAMETER" -><I ->$utc</I -></TT ->, you will receive - a date representation six hours ahead of your local - time.</P -><P ->The included demo program <TT -CLASS="FILENAME" ->vardemo.php</TT -> - includes a demonstration of this function.</P -></DIV -><DIV -CLASS="SECT2" -><H2 -CLASS="SECT2" -><A -NAME="ISO8601DECODE" -></A ->iso8601_decode</H2 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN768" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$time_t=iso8601_decode</CODE ->($isoString, $utc=0);</CODE -></P -><P -></P -></DIV -><P ->Returns a UNIX timestamp from an ISO 8601 encoded time and - date string passed in. If <TT -CLASS="PARAMETER" -><I ->$utc</I -></TT -> is - <TT -CLASS="LITERAL" ->1</TT -> then <TT -CLASS="PARAMETER" -><I ->$isoString</I -></TT -> is - assumed to be in the UTC timezone, and thus the - <TT -CLASS="PARAMETER" -><I ->$time_t</I -></TT -> result is also UTC: otherwise, - the timezone is assumed to be your local timezone and you receive a local timestamp.</P -></DIV -></DIV -></DIV -><DIV -CLASS="NAVFOOTER" -><HR -ALIGN="LEFT" -WIDTH="100%"><TABLE -SUMMARY="Footer navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" -><A -HREF="xmlrpc-server.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="index.html" -ACCESSKEY="H" ->Home</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" -><A -HREF="arrayuse.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" ->xmlrpc_server</TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -> </TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" ->Easy use with PHP arrays</TD -></TR -></TABLE -></DIV -></BODY -></HTML ->
\ No newline at end of file diff --git a/modules/xmlrpc/doc/index.html b/modules/xmlrpc/doc/index.html deleted file mode 100644 index f2cb5762..00000000 --- a/modules/xmlrpc/doc/index.html +++ /dev/null @@ -1,6 +0,0 @@ -<html><head> - <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> - <title>XML-RPC for PHP</title><link rel="stylesheet" href="html.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.67.0"><link rel="start" href="index.html" title="XML-RPC for PHP"><link rel="next" href="ch01.html" title="Chapter 1. Introduction"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">XML-RPC for PHP</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html">Next</a></td></tr></table><hr></div><div class="book" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="d0e1"></a>XML-RPC for PHP</h1></div><div><h2 class="subtitle">version 1.1</h2></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname">Edd</span> <span class="surname">Dumbill</span></h3><div class="affiliation"><span class="orgname"><a href="http://usefulinc.com/" target="_top">Useful Information Company</a><br></span><div class="address"><p><br> - <code class="email"><<a href="mailto:edd@usefulinc.com">edd@usefulinc.com</a>></code><br> - </p></div></div></div></div></div><div><p class="copyright">Copyright © 1999,2000,2001 Edd Dumbill, Useful Information Company</p></div><div><div class="legalnotice"><a name="d0e29"></a><p>All rights reserved.</p><p>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:</p><div class="itemizedlist"><ul type="disc"><li><p>Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.</p></li><li><p>Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.</p></li><li><p>Neither the name of the "XML-RPC for PHP" nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.</p></li></ul></div><p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS 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 REGENTS OR CONTRIBUTORS 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.</p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="ch01.html">1. Introduction</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch01s01.html">1. Acknowledgements</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch02.html">2. Files in the distribution</a></span></dt><dt><span class="chapter"><a href="ch03.html">3. Known bugs</a></span></dt><dt><span class="chapter"><a href="ch04.html">4. Support</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch04s01.html">1. Online Support</a></span></dt><dt><span class="sect1"><a href="ch04s02.html">2. The Jellyfish Book</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch05.html">5. Class documentation</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch05s01.html">1. xmlrpc_client</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05s01.html#d0e322">1.1. Creation</a></span></dt><dt><span class="sect2"><a href="ch05s01.html#d0e352">1.2. Methods</a></span></dt><dd><dl><dt><span class="sect3"><a href="ch05s01.html#xmlrpc-client-send">1.2.1. send</a></span></dt><dt><span class="sect3"><a href="ch05s01.html#d0e439">1.2.2. setCredentials</a></span></dt><dt><span class="sect3"><a href="ch05s01.html#d0e454">1.2.3. setCertificate</a></span></dt><dt><span class="sect3"><a href="ch05s01.html#d0e482">1.2.4. setSSLVerifyPeer</a></span></dt><dt><span class="sect3"><a href="ch05s01.html#d0e497">1.2.5. setSSLVerifyHost</a></span></dt><dt><span class="sect3"><a href="ch05s01.html#d0e512">1.2.6. setDebug</a></span></dt></dl></dd></dl></dd><dt><span class="sect1"><a href="ch05s02.html">2. xmlrpcmsg</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05s02.html#d0e547">2.1. Creation</a></span></dt><dt><span class="sect2"><a href="ch05s02.html#d0e589">2.2. Methods</a></span></dt><dd><dl><dt><span class="sect3"><a href="ch05s02.html#d0e592">2.2.1. serialize</a></span></dt><dt><span class="sect3"><a href="ch05s02.html#d0e602">2.2.2. addParam</a></span></dt><dt><span class="sect3"><a href="ch05s02.html#d0e620">2.2.3. getParam</a></span></dt><dt><span class="sect3"><a href="ch05s02.html#d0e638">2.2.4. getNumParams</a></span></dt><dt><span class="sect3"><a href="ch05s02.html#d0e648">2.2.5. method</a></span></dt><dt><span class="sect3"><a href="ch05s02.html#d0e664">2.2.6. parseResponse</a></span></dt><dt><span class="sect3"><a href="ch05s02.html#d0e686">2.2.7. parseResponseFile</a></span></dt></dl></dd></dl></dd><dt><span class="sect1"><a href="ch05s03.html">3. xmlrpcresp</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05s03.html#d0e722">3.1. Creation</a></span></dt><dt><span class="sect2"><a href="ch05s03.html#d0e764">3.2. Methods</a></span></dt><dd><dl><dt><span class="sect3"><a href="ch05s03.html#d0e767">3.2.1. faultCode</a></span></dt><dt><span class="sect3"><a href="ch05s03.html#d0e780">3.2.2. faultString</a></span></dt><dt><span class="sect3"><a href="ch05s03.html#d0e793">3.2.3. value</a></span></dt><dt><span class="sect3"><a href="ch05s03.html#d0e809">3.2.4. serialize</a></span></dt></dl></dd></dl></dd><dt><span class="sect1"><a href="ch05s04.html">4. xmlrpcval</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05s04.html#d0e841">4.1. Notes on types</a></span></dt><dd><dl><dt><span class="sect3"><a href="ch05s04.html#d0e844">4.1.1. int</a></span></dt><dt><span class="sect3"><a href="ch05s04.html#d0e864">4.1.2. base64</a></span></dt><dt><span class="sect3"><a href="ch05s04.html#d0e869">4.1.3. boolean</a></span></dt><dt><span class="sect3"><a href="ch05s04.html#d0e886">4.1.4. string</a></span></dt></dl></dd><dt><span class="sect2"><a href="ch05s04.html#xmlrpcval-creation">4.2. Creation</a></span></dt><dt><span class="sect2"><a href="ch05s04.html#xmlrpcval-methods">4.3. Methods</a></span></dt><dd><dl><dt><span class="sect3"><a href="ch05s04.html#d0e980">4.3.1. addScalar</a></span></dt><dt><span class="sect3"><a href="ch05s04.html#d0e1027">4.3.2. addArray</a></span></dt><dt><span class="sect3"><a href="ch05s04.html#d0e1048">4.3.3. addStruct</a></span></dt><dt><span class="sect3"><a href="ch05s04.html#d0e1069">4.3.4. kindOf</a></span></dt><dt><span class="sect3"><a href="ch05s04.html#d0e1079">4.3.5. serialize</a></span></dt><dt><span class="sect3"><a href="ch05s04.html#d0e1089">4.3.6. scalarval</a></span></dt><dt><span class="sect3"><a href="ch05s04.html#d0e1102">4.3.7. scalartyp</a></span></dt><dt><span class="sect3"><a href="ch05s04.html#d0e1121">4.3.8. arraymem</a></span></dt><dt><span class="sect3"><a href="ch05s04.html#d0e1142">4.3.9. arraysize</a></span></dt><dt><span class="sect3"><a href="ch05s04.html#d0e1158">4.3.10. structmem</a></span></dt><dt><span class="sect3"><a href="ch05s04.html#d0e1179">4.3.11. structeach</a></span></dt><dt><span class="sect3"><a href="ch05s04.html#structreset">4.3.12. structreset</a></span></dt></dl></dd></dl></dd><dt><span class="sect1"><a href="ch05s05.html">5. xmlrpc_server</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05s05.html#d0e1229">5.1. The dispatch map</a></span></dt><dt><span class="sect2"><a href="ch05s05.html#signatures">5.2. Method signatures</a></span></dt><dt><span class="sect2"><a href="ch05s05.html#d0e1280">5.3. Delaying the server response</a></span></dt><dt><span class="sect2"><a href="ch05s05.html#d0e1293">5.4. Fault reporting</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch06.html">6. Global variables</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch06s01.html">1. "Constant" variables</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch06s01.html#d0e1418">1.1. $xmlrpcerruser</a></span></dt><dt><span class="sect2"><a href="ch06s01.html#d0e1428">1.2. $xmlrpcI4, $xmlrpcInt, $xmlrpcDouble, $xmlrpcString, $xmlrpcDateTime, $xmlrpcBase64 -, $xmlrpcArray, $xmlrpcStruct</a></span></dt><dt><span class="sect2"><a href="ch06s01.html#d0e1435">1.3. $xmlrpcTypes, $xmlEntities, $xmlrpcerr, $xmlrpcstr, $xmlrpcerrxml, $xmlrpc_backslash, $_xh</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch06s02.html">2. Variables whose value can be modified</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch06s02.html#d0e1443">2.1. xmlrpc_defencoding</a></span></dt><dt><span class="sect2"><a href="ch06s02.html#d0e1463">2.2. xmlrpc_internalencoding</a></span></dt><dt><span class="sect2"><a href="ch06s02.html#d0e1473">2.3. xmlrpcName</a></span></dt><dt><span class="sect2"><a href="ch06s02.html#d0e1483">2.4. xmlrpcVersion</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch07.html">7. Helper functions</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch07s01.html">1. Date functions</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch07s01.html#iso8601encode">1.1. iso8601_encode</a></span></dt><dt><span class="sect2"><a href="ch07s01.html#iso8601decode">1.2. iso8601_decode</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch07s02.html">2. Easy use with PHP arrays</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch07s02.html#phpxmlrpcdecode">2.1. php_xmlrpc_decode</a></span></dt><dt><span class="sect2"><a href="ch07s02.html#phpxmlrpcencode">2.2. php_xmlrpc_encode</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch07s03.html">3. Deprecated functions</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch07s03.html#xmlrpcdecode">3.1. xmlrpc_decode</a></span></dt><dt><span class="sect2"><a href="ch07s03.html#xmlrpcencode">3.2. xmlrpc_encode</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch07s04.html">4. Debugging aids</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch07s04.html#d0e1694">4.1. xmlrpc_debugmsg</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch08.html">8. Reserved methods</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch08s01.html">1. system.listMethods</a></span></dt><dt><span class="sect1"><a href="ch08s02.html">2. system.methodSignature</a></span></dt><dt><span class="sect1"><a href="ch08s03.html">3. system.methodHelp</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch09.html">9. Examples</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch09s01.html">1. XML-RPC client: state name query</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Chapter 1. Introduction</td></tr></table></div></body></html>
\ No newline at end of file diff --git a/modules/xmlrpc/doc/introduction.html b/modules/xmlrpc/doc/introduction.html deleted file mode 100644 index 09b314e4..00000000 --- a/modules/xmlrpc/doc/introduction.html +++ /dev/null @@ -1,280 +0,0 @@ -<HTML -><HEAD -><TITLE ->Introduction</TITLE -><META -NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.77+"><LINK -REV="MADE" -HREF="edd@usefulinc.com"><LINK -REL="HOME" -TITLE="XML-RPC for PHP" -HREF="index.html"><LINK -REL="PREVIOUS" -TITLE="XML-RPC for PHP" -HREF="index.html"><LINK -REL="NEXT" -TITLE="Files in the distribution" -HREF="manifest.html"></HEAD -><BODY -CLASS="CHAPTER" -BGCOLOR="#FFFFFF" -TEXT="#000000" -LINK="#0000FF" -VLINK="#840084" -ALINK="#0000FF" -><DIV -CLASS="NAVHEADER" -><TABLE -SUMMARY="Header navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TH -COLSPAN="3" -ALIGN="center" ->XML-RPC for PHP: version 1.1</TH -></TR -><TR -><TD -WIDTH="10%" -ALIGN="left" -VALIGN="bottom" -><A -HREF="index.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="80%" -ALIGN="center" -VALIGN="bottom" -></TD -><TD -WIDTH="10%" -ALIGN="right" -VALIGN="bottom" -><A -HREF="manifest.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -></TABLE -><HR -ALIGN="LEFT" -WIDTH="100%"></DIV -><DIV -CLASS="CHAPTER" -><H1 -><A -NAME="INTRODUCTION" -></A ->Chapter 1. Introduction</H1 -><P ->XML-RPC is a format devised by <A -HREF="http://www.userland.com/" -TARGET="_top" ->Userland Software</A -> for - achieving remote procedure call via XML. XML-RPC has its own web - site, <A -HREF="http://www.xmlrpc.com/" -TARGET="_top" ->www.XmlRpc.com</A -></P -><P ->The most common implementations of XML-RPC available at the - moment use HTTP as the transport. A list of implementations for - other languages such as Perl and Python can be found on the - <A -HREF="http://www.xmlrpc.com/" -TARGET="_top" ->www.xmlrpc.com</A ->.</P -><P ->This collection of PHP classes provides a framework for - writing XML-RPC clients and servers in PHP.</P -><DIV -CLASS="WARNING" -><P -></P -><TABLE -CLASS="WARNING" -BORDER="1" -WIDTH="100%" -><TR -><TD -ALIGN="CENTER" -><B ->Warning</B -></TD -></TR -><TR -><TD -ALIGN="LEFT" -><P ->The <SPAN -CLASS="emphasis" -><I -CLASS="EMPHASIS" ->server code</I -></SPAN -> works only with versions of PHP3 - >= 3.0.12. The code is also known to work with PHP4. - </P -><P ->If you wish to use SSL to communicate with remote servers, - you need the "curl" extension compiled into your PHP - installation, this is available in PHP 4.0.2 and greater, - although 4.0.6 has a bug preventing SSL working.</P -></TD -></TR -></TABLE -></DIV -><DIV -CLASS="SECT1" -><H1 -CLASS="SECT1" -><A -NAME="AEN43" -></A ->Acknowledgements</H1 -><P ->Jim Winstead <TT -CLASS="EMAIL" -><<A -HREF="mailto:jimw@php.net" ->jimw@php.net</A ->></TT -></P -><P ->Peter Kocks <TT -CLASS="EMAIL" -><<A -HREF="mailto:peter.kocks@baygate.com" ->peter.kocks@baygate.com</A ->></TT -></P -><P ->Nicolay Mausz <TT -CLASS="EMAIL" -><<A -HREF="mailto:mausz@flying-dog.com" ->mausz@flying-dog.com</A ->></TT -></P -><P ->Ben Margolin - <TT -CLASS="EMAIL" -><<A -HREF="mailto:ben@wendy.auctionwatch.com" ->ben@wendy.auctionwatch.com</A ->></TT -></P -><P ->Dan Libby <TT -CLASS="EMAIL" -><<A -HREF="mailto:dan@libby.com" ->dan@libby.com</A ->></TT -></P -><P ->Gaetano Giunta <TT -CLASS="EMAIL" -><<A -HREF="mailto:g.giunta@libero.it" ->g.giunta@libero.it</A ->></TT -></P -><P ->Idan Sofer <TT -CLASS="EMAIL" -><<A -HREF="mailto:i_sofer@yahoo.com" ->i_sofer@yahoo.com</A ->></TT -></P -><P ->Giancarlo Pinerolo <TT -CLASS="EMAIL" -><<A -HREF="mailto:ping@alt.it" ->ping@alt.it</A ->></TT -></P -><P ->Justin Miller <TT -CLASS="EMAIL" -><<A -HREF="mailto:justin@voxel.net" ->justin@voxel.net</A ->></TT -></P -></DIV -></DIV -><DIV -CLASS="NAVFOOTER" -><HR -ALIGN="LEFT" -WIDTH="100%"><TABLE -SUMMARY="Footer navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" -><A -HREF="index.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="index.html" -ACCESSKEY="H" ->Home</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" -><A -HREF="manifest.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" ->XML-RPC for PHP</TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -> </TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" ->Files in the distribution</TD -></TR -></TABLE -></DIV -></BODY -></HTML ->
\ No newline at end of file diff --git a/modules/xmlrpc/doc/jellyfish.html b/modules/xmlrpc/doc/jellyfish.html deleted file mode 100644 index a4154100..00000000 --- a/modules/xmlrpc/doc/jellyfish.html +++ /dev/null @@ -1,180 +0,0 @@ -<HTML -><HEAD -><TITLE ->The Jellyfish Book</TITLE -><META -NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.77+"><LINK -REV="MADE" -HREF="edd@usefulinc.com"><LINK -REL="HOME" -TITLE="XML-RPC for PHP" -HREF="index.html"><LINK -REL="UP" -TITLE="Support" -HREF="support.html"><LINK -REL="PREVIOUS" -TITLE="Support" -HREF="support.html"><LINK -REL="NEXT" -TITLE="Class documentation" -HREF="apidocs.html"></HEAD -><BODY -CLASS="SECT1" -BGCOLOR="#FFFFFF" -TEXT="#000000" -LINK="#0000FF" -VLINK="#840084" -ALINK="#0000FF" -><DIV -CLASS="NAVHEADER" -><TABLE -SUMMARY="Header navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TH -COLSPAN="3" -ALIGN="center" ->XML-RPC for PHP: version 1.1</TH -></TR -><TR -><TD -WIDTH="10%" -ALIGN="left" -VALIGN="bottom" -><A -HREF="support.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="80%" -ALIGN="center" -VALIGN="bottom" ->Chapter 4. Support</TD -><TD -WIDTH="10%" -ALIGN="right" -VALIGN="bottom" -><A -HREF="apidocs.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -></TABLE -><HR -ALIGN="LEFT" -WIDTH="100%"></DIV -><DIV -CLASS="SECT1" -><H1 -CLASS="SECT1" -><A -NAME="JELLYFISH" -></A ->The Jellyfish Book</H1 -><P -> - <P -><IMG -SRC="http://www.oreilly.com/catalog/covers/progxmlrpc.s.gif" -ALIGN="RIGHT" -WIDTH="145" -HEIGHT="190"></P -> - Together with Simon St.Laurent and Joe Johnston, I wrote a - book on XML-RPC for O'Reilly and Associates on XML-RPC. It - features a rather fetching jellyfish on the cover. - </P -><P ->Complete details of the book are - <A -HREF="http://www.oreilly.com/catalog/progxmlrpc/" -TARGET="_top" ->available - from O'Reilly's web site.</A -> - </P -><P ->I'm responsible for the chapter on PHP, which includes a - worked example of creating a forum server, and hooking it up - the O'Reilly's <A -HREF="http://meerkat.oreillynet.com/" -TARGET="_top" ->Meerkat</A -> service - in order to allow commenting on news stories from around the - Web.</P -><P ->If you've benefitted from the effort I've put into writing - this software, then please consider buying the book!</P -></DIV -><DIV -CLASS="NAVFOOTER" -><HR -ALIGN="LEFT" -WIDTH="100%"><TABLE -SUMMARY="Footer navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" -><A -HREF="support.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="index.html" -ACCESSKEY="H" ->Home</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" -><A -HREF="apidocs.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" ->Support</TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="support.html" -ACCESSKEY="U" ->Up</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" ->Class documentation</TD -></TR -></TABLE -></DIV -></BODY -></HTML ->
\ No newline at end of file diff --git a/modules/xmlrpc/doc/manifest.html b/modules/xmlrpc/doc/manifest.html deleted file mode 100644 index 1586e41c..00000000 --- a/modules/xmlrpc/doc/manifest.html +++ /dev/null @@ -1,310 +0,0 @@ -<HTML -><HEAD -><TITLE ->Files in the distribution</TITLE -><META -NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.77+"><LINK -REV="MADE" -HREF="edd@usefulinc.com"><LINK -REL="HOME" -TITLE="XML-RPC for PHP" -HREF="index.html"><LINK -REL="PREVIOUS" -TITLE="Introduction" -HREF="introduction.html"><LINK -REL="NEXT" -TITLE="Bugs" -HREF="bugs.html"></HEAD -><BODY -CLASS="CHAPTER" -BGCOLOR="#FFFFFF" -TEXT="#000000" -LINK="#0000FF" -VLINK="#840084" -ALINK="#0000FF" -><DIV -CLASS="NAVHEADER" -><TABLE -SUMMARY="Header navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TH -COLSPAN="3" -ALIGN="center" ->XML-RPC for PHP: version 1.1</TH -></TR -><TR -><TD -WIDTH="10%" -ALIGN="left" -VALIGN="bottom" -><A -HREF="introduction.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="80%" -ALIGN="center" -VALIGN="bottom" -></TD -><TD -WIDTH="10%" -ALIGN="right" -VALIGN="bottom" -><A -HREF="bugs.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -></TABLE -><HR -ALIGN="LEFT" -WIDTH="100%"></DIV -><DIV -CLASS="CHAPTER" -><H1 -><A -NAME="MANIFEST" -></A ->Chapter 2. Files in the distribution</H1 -><DIV -CLASS="GLOSSLIST" -><DL -><DT -><B ->xmlrpc.inc</B -></DT -><DD -><P ->the XML-RPC classes. <TT -CLASS="FUNCTION" ->include()</TT -> this in - your PHP files to use the classes.</P -></DD -><DT -><B ->xmlrpcs.inc</B -></DT -><DD -><P ->the XML-RPC server class. <TT -CLASS="FUNCTION" ->include()</TT -> - this in addition to xmlrpc.inc to get server - functionality</P -></DD -><DT -><B ->bettydemo.php</B -></DT -><DD -><P ->demo which retrieves a state name from a number using Dave - Winer's XML-RPC server at betty.userland.com</P -></DD -><DT -><B ->server.php</B -></DT -><DD -><P ->a sample server hosting three functions: a US State lookup - tool, a struct sorter and an echo function.</P -></DD -><DT -><B ->client.php, agesort.php, echotest.php</B -></DT -><DD -><P ->client code to exercise the various functions in - server.php</P -></DD -><DT -><B ->base64test.php, stringtest.php</B -></DT -><DD -><P -> Tests to verify that encoding and decoding of base 64 and - entities is functioning correctly. - </P -></DD -><DT -><B ->vardemo.php</B -></DT -><DD -><P ->examples of how to construct xmlrpcval types</P -></DD -><DT -><B ->demo1.txt, demo2.txt, demo3.txt</B -></DT -><DD -><P ->XML-RPC responses captured in a file for testing purposes (you - can use these to test the - <TT -CLASS="FUNCTION" ->xmlrpcmsg->parseResponse()</TT -> - method).</P -></DD -><DT -><B ->httptest.php</B -></DT -><DD -><P ->Testing that HTTP response detection works OK.</P -></DD -><DT -><B ->test.pl, test.py</B -></DT -><DD -><P ->Perl and Python programs to exercise server.php to test - that some of the methods work. - Make sure you point these at your server, not mine!</P -></DD -><DT -><B ->workspace.testPhpServer.fttb</B -></DT -><DD -><P ->Frontier scripts to exercise the demo server. Thanks to Dave - Winer for permission to include these. See <A -HREF="http://www.xmlrpc.com/discuss/msgReader$853" -TARGET="_top" ->Dave's announcement of these.</A -></P -></DD -><DT -><B ->phpunit.php</B -></DT -><DD -><P ->Fred Yankowski's unit test framework for PHP.</P -></DD -><DT -><B ->testsuite.php</B -></DT -><DD -><P ->Start of a unit test suite for this software - package. If you do development on this software, please - consider submitting tests for this suite.</P -></DD -><DT -><B ->which.php</B -></DT -><DD -><P ->A demo of the - <TT -CLASS="FUNCTION" ->interopEchoTests.whichToolkit</TT -> - method.</P -></DD -><DT -><B ->discuss.php, comment.php</B -></DT -><DD -><P ->Software used in the PHP chapter of <A -HREF="jellyfish.html" ->The Jellyfish Book</A -> to - provide a comment server and allow the attachment of - comments to stories from Meerkat's data store.</P -></DD -><DT -><B ->rsakey.pem</B -></DT -><DD -><P ->A test certificate for the SSL support. It has the - passphrase "test."</P -></DD -></DL -></DIV -></DIV -><DIV -CLASS="NAVFOOTER" -><HR -ALIGN="LEFT" -WIDTH="100%"><TABLE -SUMMARY="Footer navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" -><A -HREF="introduction.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="index.html" -ACCESSKEY="H" ->Home</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" -><A -HREF="bugs.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" ->Introduction</TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -> </TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" ->Bugs</TD -></TR -></TABLE -></DIV -></BODY -></HTML ->
\ No newline at end of file diff --git a/modules/xmlrpc/doc/reserved.html b/modules/xmlrpc/doc/reserved.html deleted file mode 100644 index d5525d6a..00000000 --- a/modules/xmlrpc/doc/reserved.html +++ /dev/null @@ -1,191 +0,0 @@ -<HTML -><HEAD -><TITLE ->Reserved methods</TITLE -><META -NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.77+"><LINK -REV="MADE" -HREF="edd@usefulinc.com"><LINK -REL="HOME" -TITLE="XML-RPC for PHP" -HREF="index.html"><LINK -REL="PREVIOUS" -TITLE="Debugging aids" -HREF="debugging.html"><LINK -REL="NEXT" -TITLE="system.methodSignature" -HREF="sysmethodsig.html"></HEAD -><BODY -CLASS="CHAPTER" -BGCOLOR="#FFFFFF" -TEXT="#000000" -LINK="#0000FF" -VLINK="#840084" -ALINK="#0000FF" -><DIV -CLASS="NAVHEADER" -><TABLE -SUMMARY="Header navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TH -COLSPAN="3" -ALIGN="center" ->XML-RPC for PHP: version 1.1</TH -></TR -><TR -><TD -WIDTH="10%" -ALIGN="left" -VALIGN="bottom" -><A -HREF="debugging.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="80%" -ALIGN="center" -VALIGN="bottom" -></TD -><TD -WIDTH="10%" -ALIGN="right" -VALIGN="bottom" -><A -HREF="sysmethodsig.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -></TABLE -><HR -ALIGN="LEFT" -WIDTH="100%"></DIV -><DIV -CLASS="CHAPTER" -><H1 -><A -NAME="RESERVED" -></A ->Chapter 7. Reserved methods</H1 -><DIV -CLASS="TOC" -><DL -><DT -><B ->Table of Contents</B -></DT -><DT -><A -HREF="reserved.html#AEN827" ->system.listMethods</A -></DT -><DT -><A -HREF="sysmethodsig.html" ->system.methodSignature</A -></DT -><DT -><A -HREF="sysmethhelp.html" ->system.methodHelp</A -></DT -></DL -></DIV -><P ->In order to extend the functionality offered by XML-RPC - servers without impacting on the protocol, I've included - experimental support in this release for reserved methods.</P -><P ->All methods starting with <TT -CLASS="FUNCTION" ->system.</TT -> are - considered reserved by the server. PHP for XML-RPC itself provides - three special methods, detailed in this chapter.</P -><DIV -CLASS="SECT1" -><H1 -CLASS="SECT1" -><A -NAME="AEN827" -></A ->system.listMethods</H1 -><P ->This method may be used to enumerate the methods implemented - by the XML-RPC server.</P -><P ->The <TT -CLASS="FUNCTION" ->system.listMethods</TT -> method requires - no parameters. It returns an array of strings, each of which is - the name of a method implemented by the server.</P -></DIV -></DIV -><DIV -CLASS="NAVFOOTER" -><HR -ALIGN="LEFT" -WIDTH="100%"><TABLE -SUMMARY="Footer navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" -><A -HREF="debugging.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="index.html" -ACCESSKEY="H" ->Home</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" -><A -HREF="sysmethodsig.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" ->Debugging aids</TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -> </TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" ->system.methodSignature</TD -></TR -></TABLE -></DIV -></BODY -></HTML ->
\ No newline at end of file diff --git a/modules/xmlrpc/doc/support.html b/modules/xmlrpc/doc/support.html deleted file mode 100644 index 6c60c9cb..00000000 --- a/modules/xmlrpc/doc/support.html +++ /dev/null @@ -1,209 +0,0 @@ -<HTML -><HEAD -><TITLE ->Support</TITLE -><META -NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.77+"><LINK -REV="MADE" -HREF="edd@usefulinc.com"><LINK -REL="HOME" -TITLE="XML-RPC for PHP" -HREF="index.html"><LINK -REL="PREVIOUS" -TITLE="Bugs" -HREF="bugs.html"><LINK -REL="NEXT" -TITLE="The Jellyfish Book" -HREF="jellyfish.html"></HEAD -><BODY -CLASS="CHAPTER" -BGCOLOR="#FFFFFF" -TEXT="#000000" -LINK="#0000FF" -VLINK="#840084" -ALINK="#0000FF" -><DIV -CLASS="NAVHEADER" -><TABLE -SUMMARY="Header navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TH -COLSPAN="3" -ALIGN="center" ->XML-RPC for PHP: version 1.1</TH -></TR -><TR -><TD -WIDTH="10%" -ALIGN="left" -VALIGN="bottom" -><A -HREF="bugs.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="80%" -ALIGN="center" -VALIGN="bottom" -></TD -><TD -WIDTH="10%" -ALIGN="right" -VALIGN="bottom" -><A -HREF="jellyfish.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -></TABLE -><HR -ALIGN="LEFT" -WIDTH="100%"></DIV -><DIV -CLASS="CHAPTER" -><H1 -><A -NAME="SUPPORT" -></A ->Chapter 4. Support</H1 -><DIV -CLASS="TOC" -><DL -><DT -><B ->Table of Contents</B -></DT -><DT -><A -HREF="support.html#AEN146" ->Online Support</A -></DT -><DT -><A -HREF="jellyfish.html" ->The Jellyfish Book</A -></DT -></DL -></DIV -><DIV -CLASS="SECT1" -><H1 -CLASS="SECT1" -><A -NAME="AEN146" -></A ->Online Support</H1 -><P ->XML-RPC for PHP is offered "as-is" without any warranty or - commitment to support. However, informal advice and help is - available via the XML-RPC for PHP mailing list and XML-RPC.com. - </P -><P -></P -><UL -><LI -><P ->The <SPAN -CLASS="emphasis" -><I -CLASS="EMPHASIS" ->PHP XML-RPC interest mailing list</I -></SPAN -> - is run by the author. More details <A -HREF="http://www.usefulinc.com/xmlrpc/list.html" -TARGET="_top" ->can be found - here</A ->.</P -></LI -><LI -><P ->For more general XML-RPC questions, there is a - Yahoo! Groups <A -HREF="http://groups.yahoo.com/group/xml-rpc/" -TARGET="_top" ->XML-RPC mailing list</A ->.</P -></LI -><LI -><P ->The <A -HREF="http://www.xmlrpc.com/discuss" -TARGET="_top" ->XML-RPC.com</A -> - discussion group is a useful place to get help with using - XML-RPC. This group is also gatewayed into the Yahoo! Groups mailing list.</P -></LI -></UL -></DIV -></DIV -><DIV -CLASS="NAVFOOTER" -><HR -ALIGN="LEFT" -WIDTH="100%"><TABLE -SUMMARY="Footer navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" -><A -HREF="bugs.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="index.html" -ACCESSKEY="H" ->Home</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" -><A -HREF="jellyfish.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" ->Bugs</TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -> </TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" ->The Jellyfish Book</TD -></TR -></TABLE -></DIV -></BODY -></HTML ->
\ No newline at end of file diff --git a/modules/xmlrpc/doc/sysmethhelp.html b/modules/xmlrpc/doc/sysmethhelp.html deleted file mode 100644 index 151d8d16..00000000 --- a/modules/xmlrpc/doc/sysmethhelp.html +++ /dev/null @@ -1,155 +0,0 @@ -<HTML -><HEAD -><TITLE ->system.methodHelp</TITLE -><META -NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.77+"><LINK -REV="MADE" -HREF="edd@usefulinc.com"><LINK -REL="HOME" -TITLE="XML-RPC for PHP" -HREF="index.html"><LINK -REL="UP" -TITLE="Reserved methods" -HREF="reserved.html"><LINK -REL="PREVIOUS" -TITLE="system.methodSignature" -HREF="sysmethodsig.html"><LINK -REL="NEXT" -TITLE="Examples" -HREF="examples.html"></HEAD -><BODY -CLASS="SECT1" -BGCOLOR="#FFFFFF" -TEXT="#000000" -LINK="#0000FF" -VLINK="#840084" -ALINK="#0000FF" -><DIV -CLASS="NAVHEADER" -><TABLE -SUMMARY="Header navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TH -COLSPAN="3" -ALIGN="center" ->XML-RPC for PHP: version 1.1</TH -></TR -><TR -><TD -WIDTH="10%" -ALIGN="left" -VALIGN="bottom" -><A -HREF="sysmethodsig.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="80%" -ALIGN="center" -VALIGN="bottom" ->Chapter 7. Reserved methods</TD -><TD -WIDTH="10%" -ALIGN="right" -VALIGN="bottom" -><A -HREF="examples.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -></TABLE -><HR -ALIGN="LEFT" -WIDTH="100%"></DIV -><DIV -CLASS="SECT1" -><H1 -CLASS="SECT1" -><A -NAME="SYSMETHHELP" -></A ->system.methodHelp</H1 -><P ->This method takes one parameter, the name of a method - implemented by the XML-RPC server.</P -><P -> It returns a documentation string describing the use of that - method. If no such string is available, an empty string is returned. - </P -><P -> The documentation string may contain HTML markup. - </P -></DIV -><DIV -CLASS="NAVFOOTER" -><HR -ALIGN="LEFT" -WIDTH="100%"><TABLE -SUMMARY="Footer navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" -><A -HREF="sysmethodsig.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="index.html" -ACCESSKEY="H" ->Home</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" -><A -HREF="examples.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" ->system.methodSignature</TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="reserved.html" -ACCESSKEY="U" ->Up</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" ->Examples</TD -></TR -></TABLE -></DIV -></BODY -></HTML ->
\ No newline at end of file diff --git a/modules/xmlrpc/doc/sysmethodsig.html b/modules/xmlrpc/doc/sysmethodsig.html deleted file mode 100644 index bb0bb7ca..00000000 --- a/modules/xmlrpc/doc/sysmethodsig.html +++ /dev/null @@ -1,191 +0,0 @@ -<HTML -><HEAD -><TITLE ->system.methodSignature</TITLE -><META -NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.77+"><LINK -REV="MADE" -HREF="edd@usefulinc.com"><LINK -REL="HOME" -TITLE="XML-RPC for PHP" -HREF="index.html"><LINK -REL="UP" -TITLE="Reserved methods" -HREF="reserved.html"><LINK -REL="PREVIOUS" -TITLE="Reserved methods" -HREF="reserved.html"><LINK -REL="NEXT" -TITLE="system.methodHelp" -HREF="sysmethhelp.html"></HEAD -><BODY -CLASS="SECT1" -BGCOLOR="#FFFFFF" -TEXT="#000000" -LINK="#0000FF" -VLINK="#840084" -ALINK="#0000FF" -><DIV -CLASS="NAVHEADER" -><TABLE -SUMMARY="Header navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TH -COLSPAN="3" -ALIGN="center" ->XML-RPC for PHP: version 1.1</TH -></TR -><TR -><TD -WIDTH="10%" -ALIGN="left" -VALIGN="bottom" -><A -HREF="reserved.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="80%" -ALIGN="center" -VALIGN="bottom" ->Chapter 7. Reserved methods</TD -><TD -WIDTH="10%" -ALIGN="right" -VALIGN="bottom" -><A -HREF="sysmethhelp.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -></TABLE -><HR -ALIGN="LEFT" -WIDTH="100%"></DIV -><DIV -CLASS="SECT1" -><H1 -CLASS="SECT1" -><A -NAME="SYSMETHODSIG" -></A ->system.methodSignature</H1 -><P ->This method takes one parameter, the name of a method - implemented by the XML-RPC server.</P -><P ->It returns an array of possible signatures for this - method. A signature is an array of types. The first of these - types is the return type of the method, the rest are parameters.</P -><P ->Multiple signatures (ie. overloading) are permitted: this is - the reason that an array of signatures are returned by this - method.</P -><P ->Signatures themselves are restricted to the top level - parameters expected by a method. For instance if a method - expects one array of structs as a parameter, and it returns a - string, its signature is simply "string, array". If it expects - three integers, its signature is "string, int, int, - int".</P -><P -> If no signature is defined for the method, a none-array value is - returned. Therefore this is the way to test for a non-signature, - if <TT -CLASS="PARAMETER" -><I ->$resp</I -></TT -> below is the response object - from a method call to <TT -CLASS="FUNCTION" ->system.methodSignature</TT ->: - </P -><PRE -CLASS="PROGRAMLISTING" ->$v=$resp->value(); -if ($v->kindOf()!="array") { - // then the method did not have a signature defined -} - </PRE -><P -> See the <TT -CLASS="FILENAME" ->introspect.php</TT -> demo included in - this distribution for an example of using this method. - </P -></DIV -><DIV -CLASS="NAVFOOTER" -><HR -ALIGN="LEFT" -WIDTH="100%"><TABLE -SUMMARY="Footer navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" -><A -HREF="reserved.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="index.html" -ACCESSKEY="H" ->Home</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" -><A -HREF="sysmethhelp.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" ->Reserved methods</TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="reserved.html" -ACCESSKEY="U" ->Up</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" ->system.methodHelp</TD -></TR -></TABLE -></DIV -></BODY -></HTML ->
\ No newline at end of file diff --git a/modules/xmlrpc/doc/xmlrpc-server.html b/modules/xmlrpc/doc/xmlrpc-server.html deleted file mode 100644 index da18e0f7..00000000 --- a/modules/xmlrpc/doc/xmlrpc-server.html +++ /dev/null @@ -1,487 +0,0 @@ -<HTML -><HEAD -><TITLE ->xmlrpc_server</TITLE -><META -NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.77+"><LINK -REV="MADE" -HREF="edd@usefulinc.com"><LINK -REL="HOME" -TITLE="XML-RPC for PHP" -HREF="index.html"><LINK -REL="UP" -TITLE="Class documentation" -HREF="apidocs.html"><LINK -REL="PREVIOUS" -TITLE="xmlrpcval" -HREF="xmlrpcval.html"><LINK -REL="NEXT" -TITLE="Helper functions" -HREF="helpers.html"></HEAD -><BODY -CLASS="SECT1" -BGCOLOR="#FFFFFF" -TEXT="#000000" -LINK="#0000FF" -VLINK="#840084" -ALINK="#0000FF" -><DIV -CLASS="NAVHEADER" -><TABLE -SUMMARY="Header navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TH -COLSPAN="3" -ALIGN="center" ->XML-RPC for PHP: version 1.1</TH -></TR -><TR -><TD -WIDTH="10%" -ALIGN="left" -VALIGN="bottom" -><A -HREF="xmlrpcval.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="80%" -ALIGN="center" -VALIGN="bottom" ->Chapter 5. Class documentation</TD -><TD -WIDTH="10%" -ALIGN="right" -VALIGN="bottom" -><A -HREF="helpers.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -></TABLE -><HR -ALIGN="LEFT" -WIDTH="100%"></DIV -><DIV -CLASS="SECT1" -><H1 -CLASS="SECT1" -><A -NAME="XMLRPC-SERVER" -></A ->xmlrpc_server</H1 -><P ->The current implementation of this class has been - kept as simple as possible. The constructor for the server - basically does all the work. Here's a minimal example:</P -><PRE -CLASS="PROGRAMLISTING" -> function foo ($params) { - ... - } - - $s=new xmlrpc_server( array("examples.myFunc" => - array("function" => "foo"))); - </PRE -><P -> This performs everything you need to do with a server. The single - argument is an associative array from method names to function - names. The request is parsed and despatched to the relevant function, - which is reponsible for returning a - <TT -CLASS="CLASSNAME" ->xmlrpcresp</TT -> - object, which gets - serialized back to the caller. See server.php in this distribution for - examples of how to do this. - </P -><P ->Here is a more detailed look at what the handler function - <TT -CLASS="FUNCTION" ->foo</TT -> may do:</P -><PRE -CLASS="PROGRAMLISTING" -> function foo ($params) { - global $xmlrpcerruser; // import user errcode value - - // $params is an Array of xmlrpcval objects - - if ($err) { - // this is an error condition - return new xmlrpcresp(0, $xmlrpcerruser+1, // user error 1 - "There's a problem, Captain"); - } else { - // this is a successful value being returned - return new xmlrpcresp(new xmlrpcval("All's fine!", "string")); - } - } - </PRE -><DIV -CLASS="SECT2" -><H2 -CLASS="SECT2" -><A -NAME="AEN658" -></A ->The dispatch map</H2 -><P ->The first argument to the - <TT -CLASS="FUNCTION" ->xmlrpc_server</TT -> constructor is an array, - called the <SPAN -CLASS="emphasis" -><I -CLASS="EMPHASIS" ->dispatch map</I -></SPAN ->. In this array is the - information the server needs to service the XML-RPC methods - you define.</P -><P -> The dispatch map takes the form of an associative array of - associative arrays: the outer array has one entry for each - method, the key being the method name. The corresponding value - is another associative array, which can have the following members: - </P -><P -></P -><UL -><LI -><P -><TT -CLASS="FUNCTION" ->function</TT -> - this entry is - mandatory. It must be a name of a function in the - global scope which services the XML-RPC method.</P -></LI -><LI -><P -><TT -CLASS="FUNCTION" ->signature</TT -> - this entry is an - array containg the possible signatures (see <A -HREF="xmlrpc-server.html#SIGNATURES" ->Signatures</A ->) for the method. If - this entry is present then the server will check that the - correct number and type of parameters have been sent for - this method before dispatching it. - </P -></LI -><LI -><P -> <TT -CLASS="FUNCTION" ->docstring</TT -> - this entry is a string - containing documentation for the method. The - documentation may contain HTML markup. - </P -></LI -></UL -><P ->Look at the <TT -CLASS="FILENAME" ->server.php</TT -> example in the - distribution to see what a dispatch map looks like.</P -></DIV -><DIV -CLASS="SECT2" -><H2 -CLASS="SECT2" -><A -NAME="SIGNATURES" -></A ->Method signatures</H2 -><P ->A signature is a description of a method's return type and - its parameter types. A method may have more than one - signature.</P -><P ->Within a server's dispatch map, each method has an array - of possible signatures. Each signature is an array of - types. The first entry is the return type. For instance, the - method <PRE -CLASS="PROGRAMLISTING" ->string examples.getStateName(int)</PRE -> has the signature -<PRE -CLASS="PROGRAMLISTING" ->array($xmlrpcString, $xmlrpcInt)</PRE -> and, assuming that it the only possible signature for - the method, might be used like this in server creation: -<PRE -CLASS="PROGRAMLISTING" ->$findstate_sig=array(array($xmlrpcString, $xmlrpcInt)); - -$findstate_doc='When passed an integer between 1 and 51 returns the -name of a US state, where the integer is the index of that state name -in an alphabetic order.'; - -$s=new xmlrpc_server( array( "examples.getStateName" => - array("function" => "findstate", - "signature" => $findstate_sig, - "docstring" => $findstate_doc)));</PRE -> - - </P -><P ->For convenience the strings representing the XML-RPC types - have been encoded as global variables:<PRE -CLASS="PROGRAMLISTING" ->$xmlrpcI4="i4"; -$xmlrpcInt="int"; -$xmlrpcBoolean="boolean"; -$xmlrpcDouble="double"; -$xmlrpcString="string"; -$xmlrpcDateTime="dateTime.iso8601"; -$xmlrpcBase64="base64"; -$xmlrpcArray="array"; -$xmlrpcStruct="struct";</PRE -></P -></DIV -><DIV -CLASS="SECT2" -><H2 -CLASS="SECT2" -><A -NAME="AEN686" -></A ->Delaying the server response</H2 -><P ->You may want to construct the server, but for some reason - not fulfill the request immediately (security verification, for - instance). If you pass the constructor a second argument of - <TT -CLASS="LITERAL" ->0</TT -> this will have the desired effect. You - can then use the <TT -CLASS="FUNCTION" ->service()</TT -> method of the - server class to service the request. For example:</P -><PRE -CLASS="PROGRAMLISTING" ->$s=new xmlrpc_server($myDispMap, 0); - -// ... some code that does other stuff here - -$s->service();</PRE -></DIV -><DIV -CLASS="SECT2" -><H2 -CLASS="SECT2" -><A -NAME="AEN692" -></A ->Fault reporting</H2 -><P ->Fault codes for your servers should start at the - value indicated by - the global <TT -CLASS="LITERAL" ->$xmlrpcerruser</TT -> + 1.</P -><P ->Standard errors returned by the server include:</P -><P -></P -><DIV -CLASS="VARIABLELIST" -><DL -><DT -><TT -CLASS="LITERAL" ->1</TT -> <SPAN -CLASS="phrase" -><SPAN -CLASS="PHRASE" ->Unknown method</SPAN -></SPAN -></DT -><DD -><P ->Returned if the server was asked to dispatch a - method it didn't know about</P -></DD -><DT -><TT -CLASS="LITERAL" ->2</TT -> <SPAN -CLASS="phrase" -><SPAN -CLASS="PHRASE" ->Invalid return payload</SPAN -></SPAN -></DT -><DD -><P ->This error is actually generated by the client, not - server, code, but signifies that a server returned - something it couldn't understand.</P -></DD -><DT -><TT -CLASS="LITERAL" ->3</TT -> <SPAN -CLASS="phrase" -><SPAN -CLASS="PHRASE" ->Incorrect parameters</SPAN -></SPAN -></DT -><DD -><P ->This error is generated when the server has signature(s) - defined for a method, and the parameters passed by the - client do not match any of signatures.</P -></DD -><DT -><TT -CLASS="LITERAL" ->4</TT -> <SPAN -CLASS="phrase" -><SPAN -CLASS="PHRASE" ->Can't introspect: method unknown</SPAN -></SPAN -></DT -><DD -><P ->This error is generated by the builtin - <TT -CLASS="FUNCTION" ->system.*</TT -> methods when any kind of - introspection is attempted on a method undefined by the - server.</P -></DD -><DT -><TT -CLASS="LITERAL" ->5</TT -> <SPAN -CLASS="phrase" -><SPAN -CLASS="PHRASE" ->Didn't receive 200 OK from remote server</SPAN -></SPAN -></DT -><DD -><P ->This error is generated by the client when a remote server - doesn't return HTTP/1.1 200 OK in response to a - request. A more detailed error report is added onto the - end of the phrase above.</P -></DD -><DT -><TT -CLASS="LITERAL" ->100-</TT -> <SPAN -CLASS="phrase" -><SPAN -CLASS="PHRASE" ->XML parse errors</SPAN -></SPAN -></DT -><DD -><P ->Returns 100 plus the XML parser error code for the - fault that occurred. The - <TT -CLASS="FUNCTION" ->faultString</TT -> returned explains where - the parse error was in the incoming XML stream.</P -></DD -></DL -></DIV -></DIV -></DIV -><DIV -CLASS="NAVFOOTER" -><HR -ALIGN="LEFT" -WIDTH="100%"><TABLE -SUMMARY="Footer navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" -><A -HREF="xmlrpcval.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="index.html" -ACCESSKEY="H" ->Home</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" -><A -HREF="helpers.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" ->xmlrpcval</TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="apidocs.html" -ACCESSKEY="U" ->Up</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" ->Helper functions</TD -></TR -></TABLE -></DIV -></BODY -></HTML ->
\ No newline at end of file diff --git a/modules/xmlrpc/doc/xmlrpc_php.sgml b/modules/xmlrpc/doc/xmlrpc_php.sgml deleted file mode 100644 index 4f9bc7b2..00000000 --- a/modules/xmlrpc/doc/xmlrpc_php.sgml +++ /dev/null @@ -1,1487 +0,0 @@ -<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3//EN" []> -<book> - <bookinfo> - <title>XML-RPC for PHP</title> - <subtitle>version 1.1</subtitle> - <date>December 17, 2002</date> - <authorgroup> - <author> - <firstname>Edd</firstname> - <surname>Dumbill</surname> - <affiliation> - <orgname><ulink url="http://usefulinc.com/">Useful - Information Company</ulink></orgname> - <address> - <email>edd@usefulinc.com</email> - </address> - </affiliation> - </author> - </authorgroup> - <copyright> - <year>1999,2000,2001</year> - <holder>Edd Dumbill, Useful Information Company</holder> - </copyright> - <legalnotice> - <para> - All rights reserved. - </para> - <para> - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - </para> - - <para> - <itemizedlist> - <listitem> - <para> - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - </para> - </listitem> - - <listitem><para> - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - </para></listitem> - - <listitem><para> - Neither the name of the "XML-RPC for PHP" nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - </para></listitem> - </itemizedlist> - </para> - <para> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS 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 REGENTS OR CONTRIBUTORS 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.</para> - - </legalnotice> - </bookinfo> - <toc> - </toc> - <chapter id="introduction"> - - <title>Introduction</title> - - <para>XML-RPC is a format devised by <ulink - url="http://www.userland.com/">Userland Software</ulink> for - achieving remote procedure call via XML. XML-RPC has its own web - site, <ulink - url="http://www.xmlrpc.com/">www.XmlRpc.com</ulink></para> - <para>The most common implementations of XML-RPC available at the - moment use HTTP as the transport. A list of implementations for - other languages such as Perl and Python can be found on the - <ulink - url="http://www.xmlrpc.com/">www.xmlrpc.com</ulink>.</para> - <para>This collection of PHP classes provides a framework for - writing XML-RPC clients and servers in PHP.</para> - <warning> - <para>The <emphasis>server code</emphasis> works only with versions of PHP3 - >= 3.0.12. The code is also known to work with PHP4. - </para> - <para>If you wish to use SSL to communicate with remote servers, - you need the "curl" extension compiled into your PHP - installation, this is available in PHP 4.0.2 and greater, - although 4.0.6 has a bug preventing SSL working.</para> - </warning> - - <sect1> - <title>Acknowledgements</title> - <para>Jim Winstead <email>jimw@php.net</email></para> - <para>Peter Kocks <email>peter.kocks@baygate.com</email></para> - <para>Nicolay Mausz <email>mausz@flying-dog.com</email></para> - <para>Ben Margolin - <email>ben@wendy.auctionwatch.com</email></para> - <para>Dan Libby <email>dan@libby.com</email></para> - <para>Gaetano Giunta <email>g.giunta@libero.it</email></para> - <para>Idan Sofer <email>i_sofer@yahoo.com</email></para> - <para>Giancarlo Pinerolo <email>ping@alt.it</email></para> - <para>Justin Miller <email>justin@voxel.net</email></para> - </sect1> - </chapter> - - <chapter id="manifest"> - <title>Files in the distribution</title> - - <glosslist> - <glossentry> - <glossterm>xmlrpc.inc</glossterm> - <glossdef> - <para>the XML-RPC classes. <function>include()</function> this in - your PHP files to use the classes.</para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>xmlrpcs.inc</glossterm> - <glossdef> - <para>the XML-RPC server class. <function>include()</function> - this in addition to xmlrpc.inc to get server - functionality</para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>bettydemo.php</glossterm> - <glossdef> - <para>demo which retrieves a state name from a number using Dave - Winer's XML-RPC server at betty.userland.com</para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>server.php</glossterm> - <glossdef> - <para>a sample server hosting three functions: a US State lookup - tool, a struct sorter and an echo function.</para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>client.php, agesort.php, echotest.php</glossterm> - <glossdef> - <para>client code to exercise the various functions in - server.php</para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>base64test.php, stringtest.php</glossterm> - <glossdef> - <para> - Tests to verify that encoding and decoding of base 64 and - entities is functioning correctly. - </para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>vardemo.php</glossterm> - <glossdef> - <para>examples of how to construct xmlrpcval types</para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>demo1.txt, demo2.txt, demo3.txt</glossterm> - <glossdef> - <para>XML-RPC responses captured in a file for testing purposes (you - can use these to test the - <function>xmlrpcmsg->parseResponse()</function> - method).</para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>httptest.php</glossterm> - <glossdef> - <para>Testing that HTTP response detection works OK.</para> - </glossdef> - </glossentry> - <glossentry> - <glossterm>test.pl, test.py</glossterm> - <glossdef> - <para>Perl and Python programs to exercise server.php to test - that some of the methods work. - Make sure you point these at your server, not mine!</para> - </glossdef> - </glossentry> - <glossentry> - <glossterm>workspace.testPhpServer.fttb</glossterm> - <glossdef> - <para>Frontier scripts to exercise the demo server. Thanks to Dave - Winer for permission to include these. See <ulink - url="http://www.xmlrpc.com/discuss/msgReader$853">Dave's announcement of these.</ulink></para> - - </glossdef> - </glossentry> - - <glossentry> - <glossterm>phpunit.php</glossterm> - <glossdef> - <para>Fred Yankowski's unit test framework for PHP.</para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>testsuite.php</glossterm> - <glossdef> - <para>Start of a unit test suite for this software - package. If you do development on this software, please - consider submitting tests for this suite.</para> - </glossdef> - </glossentry> - <glossentry> - <glossterm>which.php</glossterm> - <glossdef> - <para>A demo of the - <function>interopEchoTests.whichToolkit</function> - method.</para> - </glossdef> - </glossentry> - <glossentry> - <glossterm>discuss.php, comment.php</glossterm> - <glossdef> - <para>Software used in the PHP chapter of <xref linkend="jellyfish"> to - provide a comment server and allow the attachment of - comments to stories from Meerkat's data store.</para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>rsakey.pem</glossterm> - <glossdef> - <para>A test certificate for the SSL support. It has the - passphrase "test."</para> - </glossdef> - </glossentry> - </glosslist> - </chapter> - <chapter id="bugs"> - <title>Bugs</title> - <para>This is a bare framework. The "nice" bits haven't been put in - yet. Specifically, no HTTP response checking is performed, and no type - validation or coercion has been put in. PHP being a loosely-typed - language, this is going to have to be done explicitly.</para> - <para>dateTime.iso8601 is supported opaquely. It can't be done - natively as the XML-RPC specification explictly forbids passing of - timezone specifiers in ISO8601 format dates. You can, however, use - the <xref linkend="iso8601encode"> and <xref - linkend="iso8601decode"> functions to do the encoding and decoding for you.</para> - <para>If alternative character set encoding is sent in HTTP header - than it will be ignored for the moment. We speak only UTF-8...</para> - <para>If more than 32k of HTTP headers are encountered (like, why?) then the - response parsing code will break.</para> - - </chapter> - <chapter id="support"> - <title>Support</title> - <sect1> - <title>Online Support</title> - - <para>XML-RPC for PHP is offered "as-is" without any warranty or - commitment to support. However, informal advice and help is - available via the XML-RPC for PHP mailing list and XML-RPC.com. - </para> - <itemizedlist> - <listitem> - <para>The <emphasis>PHP XML-RPC interest mailing list</emphasis> - is run by the author. More details <ulink - url="http://www.usefulinc.com/xmlrpc/list.html">can be found - here</ulink>.</para> - </listitem> - <listitem><para>For more general XML-RPC questions, there is a - Yahoo! Groups <ulink - url="http://groups.yahoo.com/group/xml-rpc/">XML-RPC mailing list</ulink>.</para> - <listitem> - <para>The <ulink - url="http://www.xmlrpc.com/discuss">XML-RPC.com</ulink> - discussion group is a useful place to get help with using - XML-RPC. This group is also gatewayed into the Yahoo! Groups mailing list.</para> - </listitem> - </itemizedlist> - </sect1> - <sect1 id="jellyfish" xreflabel="The - Jellyfish Book"> - <title>The Jellyfish Book</title> - <para> - <graphic - fileref="http://www.oreilly.com/catalog/covers/progxmlrpc.s.gif" - format="gif" width="145" depth="190" align="right"></graphic> - Together with Simon St.Laurent and Joe Johnston, I wrote a - book on XML-RPC for O'Reilly and Associates on XML-RPC. It - features a rather fetching jellyfish on the cover. - </para> - <para>Complete details of the book are - <ulink - url="http://www.oreilly.com/catalog/progxmlrpc/">available - from O'Reilly's web site.</ulink> - </para> - <para>I'm responsible for the chapter on PHP, which includes a - worked example of creating a forum server, and hooking it up - the O'Reilly's <ulink - url="http://meerkat.oreillynet.com/">Meerkat</ulink> service - in order to allow commenting on news stories from around the - Web.</para> - <para>If you've benefitted from the effort I've put into writing - this software, then please consider buying the book!</para> - </sect1> - </chapter> - <chapter id="apidocs"> - <title>Class documentation</title> - <sect1 id="xmlrpc-client" xreflabel="xmlrpc_client"> - <title>xmlrpc_client</title> - <para>This is the basic class used to represent a client of an - XML-RPC server.</para> - <sect2> - <title>Creation</title> - <para>The constructor has the following syntax:</para> - <funcsynopsis> - <funcprototype> - <funcdef>$client=new xmlrpc_client</funcdef> - <paramdef><parameter>$server_path</parameter></paramdef> - <paramdef><parameter>$server_hostname</parameter></paramdef> - <paramdef><parameter>$server_port</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para>Here's an example client set up to query Userland's XML-RPC - server at <emphasis>betty.userland.com</emphasis>:</para> - <programlisting> -$client=new xmlrpc_client("/RPC2", "betty.userland.com", 80);</programlisting> - <para>The <parameter>server_port</parameter> parameter is - optional, and if omitted will default to 80 when using - HTTP and 443 when using HTTPS (see the "send" method below.)</para> - - </sect2> - <sect2> - <title>Methods</title> - <para>This class supports the following methods.</para> - <sect3 id="xmlrpc-client-send" xreflabel="xmlrpc_client->send"> - <title>send</title> - <para>This method takes the form:</para> - <funcsynopsis> - <funcprototype> - <funcdef>$response=$client->send</funcdef> - <paramdef><parameter>$xmlrpc_message</parameter></paramdef> - <paramdef><parameter>$timeout</parameter></paramdef> - <paramdef><parameter>$server_method</parameter></paramdef> - </funcprototype> - </funcsynopsis> - - <para>Where <parameter>$xmlrpc_message</parameter> is an - instance of <classname>xmlrpcmsg</classname> (see <xref - linkend="xmlrpcmsg">), and - <parameter>$response</parameter> is an - instance of <classname>xmlrpcresp</classname> (see <xref - linkend="xmlrpcresp">).</para> - - <para>The <parameter>$timeout</parameter> is optional, and - will be set to <literal>0</literal> (wait forever) if - omitted. This timeout value is passed to - <function>fsockopen()</function>.</para> - - <para>The <parameter>server_method</parameter> parameter is - optional, and if omitted will default to 'http'. The only - other valid value is 'https', which will use an SSL HTTP - connection to connect to the remote server. Note that your - PHP must have the "curl" extensions compiled in in order to - use this feature. Note that when using SSL you should - normally set your port number to 443, unless the SSL server - you are contacting runs at any other port.</para> - <warning> - <para>PHP 4.0.2 or greater is required for SSL - functionality. - PHP 4.0.6 has a bug which prevents SSL - working.</para> - </warning> - <para>If the value of <parameter>$response</parameter> is - <literal>0</literal> rather than an - <classname>xmlrpcresp</classname> object, then this - signifies an I/O error has occured. You can find out what - the I/O error was from the values - <function>$client->errno</function> and - <function>$client->errstring</function>. - </para> - <para>In addition to low-level errors, the XML-RPC server you - were querying may return an error in the - <classname>xmlrpcresp</classname> object. See <xref - linkend="xmlrpcresp"> for details of - how to handle these errors. - </para> - </sect3> - - <sect3> - <title>setCredentials</title> - <funcsynopsis> - <funcprototype> - <funcdef>$client->setCredentials</funcdef> - <paramdef><parameter>$username</parameter></paramdef> - <paramdef><parameter>$password</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para>This method sets the username and password for authorizing the - client to a server. With the default (HTTP) transport, this - information is used for HTTP Basic authorization. - - </para> - </sect3> - <sect3> - <title>setCertificate</title> - <funcsynopsis> - <funcprototype> - <funcdef>$client->setCertificate</funcdef> - <paramdef><parameter>$certificate</parameter></paramdef> - <paramdef><parameter>$passphrase</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para>This method sets the optional certificate and passphrase - used in SSL-enabled communication with a remote server - (when the <parameter>server_method</parameter> is set to - 'https' in the client's construction). - </para> - <para>The <parameter>certificate</parameter> parameter must - be the filename of a PEM formatted certificate. The - <parameter>passphrase</parameter> parameter must contain - the password required to use the certificate.</para> - <para>This requires the "curl" extensions to be compiled - into your installation of PHP.</para> - </sect3> - <sect3> - <title>setSSLVerifyPeer</title> - <funcsynopsis> - <funcprototype> - <funcdef>$client->setSSLVerifyPeer</funcdef> - <paramdef><parameter>$i</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para>This method defines whether connections made to XMLRPC - backends via HTTPS should verify the remote host's SSL - certificate, and cause the connection to fail if the cert - verification fails. $i should be a boolean value. - </para> - </sect3> - <sect3> - <title>setSSLVerifyHost</title> - <funcsynopsis> - <funcprototype> - <funcdef>$client->setSSLVerifyHost</funcdef> - <paramdef><parameter>$i</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para>This method defines whether connections made to XMLRPC - backends via HTTPS should verify the remote host's SSL - certificate's common name (CN). By default, only the existence - of a CN is checked. $i should be an integer value; 0 to not - check the CN at all, 1 to merely check for its existence, and - 2 to check that the CN on the certificate matches the hostname - that is being connected to. - </para> - </sect3> - - - <sect3> - <title>setDebug</title> - <funcsynopsis> - <funcprototype> - <funcdef>$client->setDebug</funcdef> - <paramdef><parameter>$debugOn</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para><parameter>$debugOn</parameter> is either - <literal>0</literal> or <literal>1</literal> depending on - whether you require the client to print debugging - information to the browser. The default is not to output - this information.</para> - <para> - The debugging information includes the raw data returned - from the XML-RPC server it was querying, and the PHP value - the client attempts to create to represent the value - returned by the server. This option can be very useful when - debugging servers as it allows you to see exactly what the - server returns. - </para> - </sect3> - </sect2> - </sect1> - <sect1 id="xmlrpcmsg" xreflabel="xmlrpcmsg"> - <title>xmlrpcmsg</title> - <para>This class provides a representation for a request to an - XML-RPC server. A client sends an - <classname>xmlrpcmsg</classname> to a server, and receives back - an <classname>xmlrpcresp</classname> (see <xref - linkend="xmlrpc-client-send">).</para> - <sect2> - <title>Creation</title> - <para>The constructor takes the following form:</para> - <funcsynopsis> - <!-- one of (funcprototype funcdef) --> - <funcprototype> - <funcdef>$msg=new xmlrpcmsg</funcdef> - <paramdef><parameter>$methodName</parameter></paramdef> - <paramdef><parameter>$parameterArray</parameter></paramdef> - </funcprototype> - </funcsynopsis> - - <para>Where <parameter>$methodName</parameter> is a string - indicating the name of the method you wish to invoke, and - <parameter>$parameterArray</parameter> is a simple - <classname>Array</classname> of - <classname>xmlrpcval</classname> objects. Here's an example - message to the <emphasis>US state name</emphasis> server: - </para> - <programlisting> -$msg=new xmlrpcmsg("examples.getStateName", - array(new xmlrpcval(23, "int"))); - </programlisting> - <para> - This example requests the name of state number 23. For more - information on <classname>xmlrpcval</classname> objects, see - <xref linkend="xmlrpcval">. - </para> - </sect2> - <sect2> - <title>Methods</title> - <sect3> - <title>serialize</title> - <funcsynopsis> - <funcprototype> - <funcdef>$outString=$msg->serialize</funcdef> - <paramdef></paramdef> - </funcprototype> - </funcsynopsis> - <para>Returns the an XML string representing the XML-RPC - message.</para> - </sect3> - <sect3> - <title>addParam</title> - <funcsynopsis> - <funcprototype> - <funcdef>$msg->addParam</funcdef> - <paramdef><parameter>$xmlrpcVal</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para>Adds the <classname>xmlrpcval</classname> - <parameter>$xmlrpcVal</parameter> to the parameter list for - this method call.</para> - </sect3> - <sect3> - <title>getParam</title> - <funcsynopsis> - <funcprototype> - <funcdef>$xmlrpcVal=$msg->getParam</funcdef> - <paramdef><parameter>$n</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para>Gets the <parameter>$n</parameter>th parameter in the - message. Use this method in server implementations. Returns - the <literal>undef</literal> value if no such parameter - exists.</para> - </sect3> - <sect3> - <title>getNumParams</title> - <funcsynopsis> - <funcprototype> - <funcdef>$n=$msg->getNumParams</funcdef> - <paramdef></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Returns the number of parameters attached to this message. - </para> - </sect3> - <sect3> - <title>method</title> - <funcsynopsis> - <funcprototype> - <funcdef>$methName=$msg->method</funcdef> - <paramdef></paramdef> - </funcprototype> - <funcprototype> - <funcdef>$msg->method</funcdef> - <paramdef><parameter>$methName</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para>Gets or sets the method contained in the XML-RPC message.</para> - </sect3> - <sect3> - <title>parseResponse</title> - <funcsynopsis> - - <funcprototype> - <funcdef>$response=$msg->parseResponse</funcdef> - <paramdef><parameter>$xmlString</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para>Given an incoming XML-RPC server response contained in - the string - <parameter>$xmlString</parameter>, this method constructs - an <classname>xmlrpcresp</classname> response object and - returns it, setting error codes as appropriate (see <xref - linkend="xmlrpc-client-send">). - </para> - <para> - This method processes any HTTP/MIME headers it finds. - </para> - </sect3> - <sect3> - <title>parseResponseFile</title> - <funcsynopsis> - <funcprototype> - <funcdef>$response=$msg->parseResponseFile</funcdef> - <paramdef><parameter>$fileHandle</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para>Given an incoming XML-RPC server response on the file handle - <parameter>$fileHandle</parameter>, this method reads the - data and passes it to <function>parseResponse</function> - </para> - <para> - This method is useful to construct responses from - pre-prepared files (see files <literal>demo1.txt, demo2.txt, - demo3.txt</literal> in this distribution). It processes - any HTTP headers it finds. - </para> - </sect3> - </sect2> - </sect1> - <sect1 id="xmlrpcresp" xreflabel="xmlrpcresp"> - <title>xmlrpcresp</title> - <para>This class is used to contain responses to XML-RPC - requests. A server method handler will construct an - <classname>xmlrpcresp</classname> and pass it as a return value. - This same value will be returned by the result of an invocation of - the <function>send</function> method of the - <classname>xmlrpc_client</classname> class.</para> - <sect2> - <title>Creation</title> - <funcsynopsis> - <!-- one of (funcprototype funcdef) --> - <funcprototype> - <funcdef>$resp=new xmlrpcresp</funcdef> - <!-- one of (paramdef varargs void) --> - <paramdef><parameter>$xmlrpcval</parameter></paramdef> - </funcprototype> - <funcprototype> - <funcdef>$resp=new xmlrpcresp</funcdef> - <paramdef><parameter>0</parameter></paramdef> - <paramdef><parameter - >$errcode</parameter></paramdef> - <paramdef><parameter - >$errstring</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para>The first instance is used when execution has happened - without difficulty: <parameter>$xmlrpcval</parameter> is an - <classname>xmlrpcval</classname> value with the result of the - method execution contained in it.</para> - <para> - The second type of constructor is used in case of - failure. <parameter>$errcode</parameter> and - <parameter>$errstring</parameter> are used to provide - indication of what has gone wrong. See <xref - linkend="xmlrpc-server"> for more information on passing - error codes. - </para> - </sect2> - <sect2> - <title>Methods</title> - <sect3> - <title>faultCode</title> - <funcsynopsis> - <funcprototype> - <funcdef>$fn=$resp->faultCode</funcdef> - <paramdef></paramdef> - </funcprototype> - </funcsynopsis> - <para>Returns the integer fault code return from the XML-RPC - response <parameter>$resp</parameter>. - A zero value indicates success, any other value - indicates a failure response.</para> - </sect3> - <sect3> - <title>faultString</title> - <funcsynopsis> - <funcprototype> - <funcdef>$fs=$resp->faultString</funcdef> - <paramdef></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Returns the human readable explanation of the fault - indicated by <function>$resp->faultCode</function>. - </para> - </sect3> - <sect3> - <title>value</title> - <funcsynopsis> - <funcprototype> - <funcdef>$xmlrpcVal=$resp->value</funcdef> - <paramdef></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Returns an <classname>xmlrpcval</classname> object - containing the return value sent by the server. If the - response's <function>faultCode</function> is non-zero then - the value returned by this method should not be used (it may - not even be an object). - </para> - </sect3> - <sect3> - <title>serialize</title><para></para> - <funcsynopsis> - <funcprototype> - <funcdef>$outString=$resp->serialize</funcdef> - <paramdef></paramdef> - </funcprototype> - </funcsynopsis> - <para>Returns an XML string representation of the response.</para> - </sect3> - </sect2> - </sect1> - <sect1 id="xmlrpcval" xreflabel="xmlrpcval"> - <title>xmlrpcval</title> - <para>This is where a lot of the hard work gets done. This class - enables the creation and encapsulation of values for XML-RPC. - </para> - <para> - Ensure you've read the XML-RPC spec at <ulink - url="http://www.xmlrpc.com/stories/storyReader$7">http://www.xmlrpc.com/stories/storyReader$7</ulink> - before reading on as it will make things clearer. - </para> - <para>The <classname>xmlrpcval</classname> class can store - arbitrarily complicated values using the following types: - <literal>i4 int boolean string double dateTime.iso8601 base64 - array struct</literal>. You should refer to the <ulink - url="http://www.xmlrpc.com/stories/storyReader$7">spec</ulink> - for more information on what each of these types mean. - </para> - <sect2> - <title>Notes on types</title> - <sect3> - <title>int</title> - <para>The type <classname>i4</classname> is accepted as a - synonym for <classname>int</classname>. The value parsing - code will always convert <classname>i4</classname> to - <classname>int</classname>: <classname>int</classname> - is regarded by this implementation as the canonical name for - this type.</para> - </sect3> - <sect3> - <title>base64</title> - <para>Base 64 encoding is performed transparently to the - caller when using this type. Therefore you ought to - consider it as a "binary" data type, for use when you want - to pass none 7-bit clean data. Decoding is also - transparent. - </para> - </sect3> - <sect3> - <title>boolean</title> - <para>The values <literal>true</literal> and - <literal>1</literal> map to <literal>true</literal>. All - other values (including the empty string) - are converted to <literal>false</literal>. - </para> - </sect3> - <sect3> - <title>string</title> - <para> - The characters <literal>< > "</literal> and - <literal>&</literal> are converted to their entity - equivalents <literal>&lt; &gt; - &quot;</literal> and <literal>&amp;</literal> - for transport through XML-RPC. The current XML-RPC spec - recommends only encoding <literal>< &</literal> but - this implementation goes further, for reasons explained by - <ulink url="http://www.w3.org/TR/REC-xml#syntax">the XML 1.0 - recommendation</ulink>. - </para><para>TODO: <literal> &apos;</literal> entity not - yet supported</para> - </sect3> - </sect2> - <sect2 id="xmlrpcval-creation" xreflabel="xmlrpcval constructors"> - <title>Creation</title> - <para>The constructor is the normal way to create an - <classname>xmlrpcval</classname>. The constructor can take - these forms: - </para> - <funcsynopsis> - <!-- one of (funcprototype funcdef) --> - <funcprototype> - <funcdef>$myVal=new xmlrpcval</funcdef> - <!-- one of (paramdef varargs void) --> - <paramdef></paramdef> - </funcprototype> - <funcprototype> - <funcdef>$myVal=new xmlrpcval</funcdef> - <!-- one of (paramdef varargs void) --> - <paramdef><parameter>$stringVal</parameter></paramdef> - </funcprototype> - <funcprototype> - <funcdef>$myVal=new xmlrpcval</funcdef> - <!-- one of (paramdef varargs void) --> - <paramdef><parameter>$scalarVal</parameter></paramdef> - <paramdef><parameter>"int" | "boolean" | "string" | "double" | "dateTime.iso8601" | "base64"</parameter></paramdef> - </funcprototype> - <funcprototype> - <funcdef>$myVal=new xmlrpcval</funcdef> - <!-- one of (paramdef varargs void) --> - <paramdef><parameter>$arrayVal</parameter></paramdef> - <paramdef><parameter>"array" | "struct"</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para>The first constructor creates an empty value, which must - be altered using the methods <function>addScalar</function>, - <function>addArray</function> or - <function>addStruct</function> before it can be used. - </para> - <para> - The second constructor creates a simple string value. - </para> - <para> - The third constructor is used to create a scalar value. The - second parameter must be a name of an XML-RPC type. Examples: - </para> - <programlisting> - $myInt=new xmlrpcvalue(1267, "int"); - $myString=new xmlrpcvalue("Hello, World!", "string"); - $myBool=new xmlrpcvalue(1, "boolean"); - </programlisting> - - <para> - The fourth constructor form can be used to compose complex - XML-RPC values. The first argument is either a simple array in - the case of an XML-RPC <classname>array</classname> or - an associative array in the case of a - <classname>struct</classname>. The elements of the array - <emphasis>must be <classname>xmlrpcval</classname> objects - themselves</emphasis>. - Examples:</para> - <programlisting> - $myArray=new xmlrpcval(array( - new xmlrpcval("Tom"), new xmlrpcval("Dick"), - new xmlrpcval("Harry")), "array"); - - $myStruct=new xmlrpcval(array( - "name" => new xmlrpcval("Tom"), - "age" => new xmlrpcval(34, "int"), - "geek" => new xmlrpcval(1, "boolean")), "struct"); - </programlisting> - <para>See the file <literal>vardemo.php</literal> in this - distribution for more examples.</para> - </sect2> - <sect2 id="xmlrpcval-methods" xreflabel="xmlrpcval methods"> - <title>Methods</title> - <sect3> - <title>addScalar</title> - <funcsynopsis> - <!-- one of (funcprototype funcdef) --> - <funcprototype> - <funcdef>$ok=$val->addScalar</funcdef> - <!-- one of (paramdef varargs void) --> - <paramdef><parameter>$stringVal</parameter></paramdef> - </funcprototype> - <funcprototype> - <funcdef>$ok=$val->addScalar</funcdef> - <!-- one of (paramdef varargs void) --> - <paramdef><parameter>$scalarVal</parameter></paramdef> - <paramdef><parameter>"int" | "boolean" | "string" | "double" | "dateTime.iso8601" | "base64"</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - <para> - If <parameter>$val</parameter> is an empty - <classname>xmlrpcval</classname> this method makes it a - scalar value, and sets that value. If - <parameter>$val</parameter> is already a scalar value, then - no more scalars can be added and <literal>0</literal> is - returned. If all went OK, <literal>1</literal> is returned. - </para> - <para>There is a special case if <parameter>$val</parameter> - is an <classname>array</classname>: the scalar value passed - is appended to the array.</para> - </sect3> - <sect3> - <title>addArray</title> - <funcsynopsis> - <funcprototype> - <funcdef>$ok=$val->addArray</funcdef> - <paramdef><parameter>$arrayVal</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para>Turns an empty <classname>xmlrpcval</classname> into an - <classname>array</classname> with contents as specified by - <parameter>$arrayVal</parameter>. See the fourth - constructor form for more information.</para> - </sect3> - <sect3> - <title>addStruct</title> - <funcsynopsis> - <funcprototype> - <funcdef>$ok=$val->addArray</funcdef> - <paramdef><parameter>$assocArrayVal</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para>Turns an empty <classname>xmlrpcval</classname> into a - <classname>struct</classname> with contents as specified by - <parameter>$assocArrayVal</parameter>. See the fourth - constructor form for more information.</para> - </sect3> - <sect3> - <title>kindOf</title> - <funcsynopsis> - <funcprototype> - <funcdef>$kind=$val->kindOf</funcdef> - <paramdef></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Returns a string containing "struct", "array" or "scalar" - describing the base type of the value. If it returns - "undef" it means that the value hasn't been initialised. - </para> - </sect3> - <sect3> - <title>serialize</title> - <funcsynopsis> - <funcprototype> - <funcdef>$outString=$val->serialize</funcdef> - <paramdef></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Returns a string containing the XML-RPC representation of - this value. - </para> - </sect3> - <sect3> - <title>scalarval</title> - <funcsynopsis> - <funcprototype> - <funcdef>$scalarVal=$val->scalarval</funcdef> - <paramdef></paramdef> - </funcprototype> - </funcsynopsis> - <para> - If <function>$val->kindOf()=="scalar"</function>, this - method returns the actual PHP-language value of the scalar - (base 64 decoding is automatically handled here). - </para> - </sect3> - <sect3> - <title>scalartyp</title> - <funcsynopsis> - <funcprototype> - <funcdef>$typeName=$val->scalartyp</funcdef> - <paramdef></paramdef> - </funcprototype> - </funcsynopsis> - <para> - If <function>$val->kindOf()=="scalar"</function>, this - method returns a string denoting the type of the scalar. - As mentioned before, - <literal>i4</literal> is always coerced to <literal>int</literal>. - </para> - </sect3> - <sect3> - <title>arraymem</title> - <funcsynopsis> - <funcprototype> - <funcdef>$xmlrpcVal=$val->arraymem</funcdef> - <paramdef><parameter>$n</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Returns the <parameter>$n</parameter>th element in the array - represented by the value <parameter>$val</parameter>. The - value returned is an <classname>xmlrpcval</classname> object. - </para> - </sect3> - <sect3> - <title>arraysize</title> - <funcsynopsis> - <funcprototype> - <funcdef>$len=$val->arraysize</funcdef> - <paramdef></paramdef> - </funcprototype> - </funcsynopsis> - <para>If <parameter>$val</parameter> is an - <classname>array</classname>, returns the number of elements - in that array. - </para> - </sect3> - <sect3> - <title>structmem</title> - <funcsynopsis> - <funcprototype> - <funcdef>$xmlrpcVal=$val->structmem</funcdef> - <paramdef><parameter>$memberName</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Returns the element called - <parameter>$memberName</parameter> from the struct - represented by the value <parameter>$val</parameter>. The - value returned is an <classname>xmlrpcval</classname> object. - </para> - </sect3> - <sect3> - <title>structeach</title> - <funcsynopsis> - <funcprototype> - <funcdef>list($key,$value)=$val->structeach</funcdef> - <paramdef></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Returns the next (key,value) pair from the struct, when - <parameter>$val</parameter> is a struct. See also - <xref linkend="structreset">. - </para> - </sect3> - - <sect3 id="structreset" xreflabel="structreset()"> - <title>structreset</title> - <funcsynopsis> - <funcprototype> - <funcdef>$val->structreset</funcdef> - <paramdef></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Resets the internal pointer for - <function>structeach()</function> to the beginning of the - struct, where <parameter>$val</parameter> is a struct. - </para> - </sect3> - - </sect2> - </sect1> - <sect1 id="xmlrpc-server" xreflabel="xmlrpc_server"> - <title>xmlrpc_server</title> - <para>The current implementation of this class has been - kept as simple as possible. The constructor for the server - basically does all the work. Here's a minimal example:</para> - <programlisting> - function foo ($params) { - ... - } - - $s=new xmlrpc_server( array("examples.myFunc" => - array("function" => "foo"))); - </programlisting> - <para> - This performs everything you need to do with a server. The single - argument is an associative array from method names to function - names. The request is parsed and despatched to the relevant function, - which is reponsible for returning a - <classname>xmlrpcresp</classname> - object, which gets - serialized back to the caller. See server.php in this distribution for - examples of how to do this. - </para> - <para>Here is a more detailed look at what the handler function - <function>foo</function> may do:</para> - <programlisting> - - function foo ($params) { - global $xmlrpcerruser; // import user errcode value - - // $params is an Array of xmlrpcval objects - - if ($err) { - // this is an error condition - return new xmlrpcresp(0, $xmlrpcerruser+1, // user error 1 - "There's a problem, Captain"); - } else { - // this is a successful value being returned - return new xmlrpcresp(new xmlrpcval("All's fine!", "string")); - } - } - </programlisting> - <sect2> - <title>The dispatch map</title> - <para>The first argument to the - <function>xmlrpc_server</function> constructor is an array, - called the <emphasis>dispatch map</emphasis>. In this array is the - information the server needs to service the XML-RPC methods - you define.</para> - <para> - The dispatch map takes the form of an associative array of - associative arrays: the outer array has one entry for each - method, the key being the method name. The corresponding value - is another associative array, which can have the following members: - </para> - <itemizedlist> - <listitem> - <para><function>function</function> - this entry is - mandatory. It must be a name of a function in the - global scope which services the XML-RPC method.</para> - </listitem> - <listitem> - <para><function>signature</function> - this entry is an - array containg the possible signatures (see <xref - linkend="signatures">) for the method. If - this entry is present then the server will check that the - correct number and type of parameters have been sent for - this method before dispatching it. - </para> - </listitem> - <listitem> - <para> - <function>docstring</function> - this entry is a string - containing documentation for the method. The - documentation may contain HTML markup. - </para> - </listitem> - </itemizedlist> - <para>Look at the <filename>server.php</filename> example in the - distribution to see what a dispatch map looks like.</para> - </sect2> - <sect2 id="signatures" xreflabel="Signatures"><title>Method signatures</title> - <para>A signature is a description of a method's return type and - its parameter types. A method may have more than one - signature.</para> - <para>Within a server's dispatch map, each method has an array - of possible signatures. Each signature is an array of - types. The first entry is the return type. For instance, the - method <programlisting> -string examples.getStateName(int) -</programlisting> has the signature -<programlisting> -array($xmlrpcString, $xmlrpcInt) -</programlisting> and, assuming that it the only possible signature for - the method, might be used like this in server creation: -<programlisting> -$findstate_sig=array(array($xmlrpcString, $xmlrpcInt)); - -$findstate_doc='When passed an integer between 1 and 51 returns the -name of a US state, where the integer is the index of that state name -in an alphabetic order.'; - -$s=new xmlrpc_server( array( "examples.getStateName" => - array("function" => "findstate", - "signature" => $findstate_sig, - "docstring" => $findstate_doc))); -</programlisting> - - </para> - <para>For convenience the strings representing the XML-RPC types - have been encoded as global variables:<programlisting> -$xmlrpcI4="i4"; -$xmlrpcInt="int"; -$xmlrpcBoolean="boolean"; -$xmlrpcDouble="double"; -$xmlrpcString="string"; -$xmlrpcDateTime="dateTime.iso8601"; -$xmlrpcBase64="base64"; -$xmlrpcArray="array"; -$xmlrpcStruct="struct"; -</programlisting></para> - </sect2> - <sect2> - <title>Delaying the server response</title> - <para>You may want to construct the server, but for some reason - not fulfill the request immediately (security verification, for - instance). If you pass the constructor a second argument of - <literal>0</literal> this will have the desired effect. You - can then use the <function>service()</function> method of the - server class to service the request. For example:</para> - <programlisting> -$s=new xmlrpc_server($myDispMap, 0); - -// ... some code that does other stuff here - -$s->service(); -</programlisting> - </sect2> - <sect2> - <title>Fault reporting</title> - <para>Fault codes for your servers should start at the - value indicated by - the global <literal>$xmlrpcerruser</literal> + 1.</para> - <para>Standard errors returned by the server include:</para> - <variablelist> - <varlistentry> - <term><literal>1</literal> <phrase>Unknown method</phrase></term> - <listitem> - <para>Returned if the server was asked to dispatch a - method it didn't know about</para> - </listitem> - </varlistentry> - <varlistentry> - <term><literal>2</literal> <phrase>Invalid return payload</phrase></term> - <listitem> - <para>This error is actually generated by the client, not - server, code, but signifies that a server returned - something it couldn't understand.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><literal>3</literal> <phrase>Incorrect parameters</phrase></term> - <listitem> - <para>This error is generated when the server has signature(s) - defined for a method, and the parameters passed by the - client do not match any of signatures.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><literal>4</literal> <phrase>Can't introspect: method unknown</phrase></term> - <listitem> - <para>This error is generated by the builtin - <function>system.*</function> methods when any kind of - introspection is attempted on a method undefined by the - server.</para> - </listitem> - </varlistentry> -<varlistentry> - <term><literal>5</literal> <phrase>Didn't receive 200 OK from remote server</phrase></term> - <listitem> - <para>This error is generated by the client when a remote server - doesn't return HTTP/1.1 200 OK in response to a - request. A more detailed error report is added onto the - end of the phrase above.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>100-</literal> <phrase>XML parse errors</phrase></term> - <listitem> - <para>Returns 100 plus the XML parser error code for the - fault that occurred. The - <function>faultString</function> returned explains where - the parse error was in the incoming XML stream.</para> - </listitem> - </varlistentry> - </variablelist> - </sect2> - </sect1> - </chapter> - - <chapter id="helpers"> - <title>Helper functions</title> - <para>XML-RPC for PHP contains some helper functions which you can - use to make processing of XML-RPC requests easier.</para> - <sect1> - <title>Date functions</title> - <para>The XML-RPC specification has this to say on dates:</para> - <blockquote> - <para>Don't assume a timezone. It should be specified by the server in its - documentation what assumptions it makes about timezones. </para> - </blockquote> - <para>Unfortunately, this means that date processing isn't - straightforward. Although XML-RPC uses ISO 8601 format dates, it - doesn't use the timezone specifier.</para> - <para>We strongly recommend that in every case where you pass - dates in XML-RPC calls, you use UTC (GMT) as your timezone. Most computer - languages include routines for handling GMT times natively, and - you won't have to translate between timezones.</para> - <para>For more information about dates, see <ulink - url="http://www.uic.edu/year2000/datefmt.html">ISO 8601: The Right Format for Dates</ulink>, which has a handy link to a PDF of the ISO 8601 specification. Note that XML-RPC uses exactly one of the available representations: CCYYMMDDTHH:MM:SS.</para> - - <sect2 id="iso8601encode" xreflabel="iso8601_encode()"> - <title>iso8601_encode</title> - <funcsynopsis> - <funcprototype> - <funcdef>$isoString=iso8601_encode</funcdef> - <paramdef><parameter>$time_t</parameter><parameter>$utc=0</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para>Returns an ISO 8601 formatted date generated from the - UNIX timestamp <parameter>$time_t</parameter>, as returned by - the PHP function <function>time()</function>. </para> - <para>The argument <parameter>$utc</parameter> can be omitted, - in which case it defaults to <literal>0</literal>. If it is - set to <literal>1</literal>, then the function corrects the - time passed in for UTC. Example: if you're in the GMT-6:00 - timezone and set <parameter>$utc</parameter>, you will receive - a date representation six hours ahead of your local - time.</para> - <para>The included demo program <filename>vardemo.php</filename> - includes a demonstration of this function.</para> - </sect2> - <sect2 id="iso8601decode" xreflabel="iso8601_decode()"> - <title>iso8601_decode</title> - <funcsynopsis> - <funcprototype> - <funcdef>$time_t=iso8601_decode</funcdef> - <paramdef><parameter>$isoString</parameter><parameter>$utc=0</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para>Returns a UNIX timestamp from an ISO 8601 encoded time and - date string passed in. If <parameter>$utc</parameter> is - <literal>1</literal> then <parameter>$isoString</parameter> is - assumed to be in the UTC timezone, and thus the - <parameter>$time_t</parameter> result is also UTC: otherwise, - the timezone is assumed to be your local timezone and you receive a local timestamp.</para> - </sect2> - </sect1> - - <sect1 id="arrayuse"> - <title>Easy use with PHP arrays</title> - <para>Dan Libby was kind enough to contribute two helper functions - that make it easier to translate to and from PHP arrays. This - makes it easier to deal with complex structures. At the moment - support is limited to <type>int</type>, <type>double</type>, - <type>string</type>, <type>array</type> and <type>struct</type> - datatypes; note also that all PHP arrays are encoded as structs - due to PHP not being able to tell the difference between a hash - and a linear array.</para> - <para>These functions reside in <filename>xmlrpc.inc</filename>.</para> - <sect2 id="xmlrpcdecode"> - <title>xmlrpc_decode</title> - <funcsynopsis> - <funcprototype> - <funcdef>$arr=xmlrpc_decode</funcdef> - <paramdef><parameter>$xmlrpc_val</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Returns a PHP array stuffed with the values found in the - <type>xmlrpcval</type> <parameter>$xmlrpc_val</parameter>, - translated into native PHP types. - </para> - </sect2> - <sect2 id="xmlrpcencode"> - <title>xmlrpc_encode</title> - <funcsynopsis> - <funcprototype> - <funcdef>$xmlrpc_val=xmlrpc_encode</funcdef> - <paramdef><parameter>$phpval</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Returns an <type>xmlrpcval</type> populated with the PHP - values in <parameter>$phpval</parameter>. Works recursively on - arrays and structs. Note that there's no support for non-base - types like base-64 values or date-times. - </para> - </sect2> - </sect1> - - <sect1 id="debugging"> - <title>Debugging aids</title> - <sect2> - <title>xmlrpc_debugmsg</title> - <funcsynopsis> - <funcprototype> - <funcdef>xmlrpc_debugmsg</funcdef> - <paramdef><parameter>$debugstring</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para>Sends the contents of <parameter>$debugstring</parameter> - in XML comments in the server return payload. If a PHP client - has debugging turned on, the user will be able to see server - debug information.</para> - <para>Use this function in your methods so you can pass back - diagnostic information. It is only available from - <filename>xmlrpcs.inc</filename>.</para> - </sect2> - </sect1> - - </chapter> - - <chapter id="reserved" xreflabel="Reserved methods"> - <title>Reserved methods</title> - <para>In order to extend the functionality offered by XML-RPC - servers without impacting on the protocol, I've included - experimental support in this release for reserved methods.</para> - <para>All methods starting with <function>system.</function> are - considered reserved by the server. PHP for XML-RPC itself provides - three special methods, detailed in this chapter.</para> - <sect1> - <title>system.listMethods</title> - <para>This method may be used to enumerate the methods implemented - by the XML-RPC server.</para> - <para>The <function>system.listMethods</function> method requires - no parameters. It returns an array of strings, each of which is - the name of a method implemented by the server.</para> - </sect1> - <sect1 id="sysmethodsig"> - <title>system.methodSignature</title> - <para>This method takes one parameter, the name of a method - implemented by the XML-RPC server.</para> - <para>It returns an array of possible signatures for this - method. A signature is an array of types. The first of these - types is the return type of the method, the rest are parameters.</para> - <para>Multiple signatures (ie. overloading) are permitted: this is - the reason that an array of signatures are returned by this - method.</para> - <para>Signatures themselves are restricted to the top level - parameters expected by a method. For instance if a method - expects one array of structs as a parameter, and it returns a - string, its signature is simply "string, array". If it expects - three integers, its signature is "string, int, int, - int".</para> - <para> - If no signature is defined for the method, a none-array value is - returned. Therefore this is the way to test for a non-signature, - if <parameter>$resp</parameter> below is the response object - from a method call to <function>system.methodSignature</function>: - </para> - - <programlisting> -$v=$resp->value(); -if ($v->kindOf()!="array") { - // then the method did not have a signature defined -} - </programlisting> - <para> - See the <filename>introspect.php</filename> demo included in - this distribution for an example of using this method. - </para> - </sect1> - <sect1 id="sysmethhelp"> - <title>system.methodHelp</title> - <para>This method takes one parameter, the name of a method - implemented by the XML-RPC server.</para> - <para> - It returns a documentation string describing the use of that - method. If no such string is available, an empty string is returned. - </para> - <para> - The documentation string may contain HTML markup. - </para> - </sect1> - </chapter> - - - <chapter id="examples" xreflabel="Examples"> - <title>Examples</title> - <para>The best examples are to be found in the sample files - included with the distribution. Some are included here.</para> - <sect1 id="statename"> - <title>XML-RPC client: state name query</title> - <para>Code to get the corresponding - state name from a number (1-50) from Dave Winer's server</para> - <programlisting> - $f=new xmlrpcmsg('examples.getStateName', - array(new xmlrpcval($HTTP_POST_VARS["stateno"], "int"))); - $c=new xmlrpc_client("/RPC2", "betty.userland.com", 80); - $r=$c->send($f); - $v=$r->value(); - if (!$r->faultCode()) { - print "State number ". $HTTP_POST_VARS["stateno"] . " is " . - $v->scalarval() . "<BR>"; - print "<HR>I got this value back<BR><PRE>" . - htmlentities($r->serialize()). "</PRE><HR>\n"; - } else { - print "Fault: "; - print "Code: " . $r->faultCode() . - " Reason '" .$r->faultString()."'<BR>"; - } - </programlisting> - </sect1> - </chapter> -</book> -<!-- Keep this comment at the end of the file -Local variables: -mode: sgml -sgml-omittag:nil -sgml-shorttag:t -sgml-minimize-attributes:nil -sgml-always-quote-attributes:t -sgml-indent-step:2 -sgml-indent-data:t -sgml-parent-document:nil -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -sgml-namecase-general:t -sgml-general-insert-case:lower -End: ---> diff --git a/modules/xmlrpc/doc/xmlrpcmsg.html b/modules/xmlrpc/doc/xmlrpcmsg.html deleted file mode 100644 index 958ff3a2..00000000 --- a/modules/xmlrpc/doc/xmlrpcmsg.html +++ /dev/null @@ -1,507 +0,0 @@ -<HTML -><HEAD -><TITLE ->xmlrpcmsg</TITLE -><META -NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.77+"><LINK -REV="MADE" -HREF="edd@usefulinc.com"><LINK -REL="HOME" -TITLE="XML-RPC for PHP" -HREF="index.html"><LINK -REL="UP" -TITLE="Class documentation" -HREF="apidocs.html"><LINK -REL="PREVIOUS" -TITLE="Class documentation" -HREF="apidocs.html"><LINK -REL="NEXT" -TITLE="xmlrpcresp" -HREF="xmlrpcresp.html"></HEAD -><BODY -CLASS="SECT1" -BGCOLOR="#FFFFFF" -TEXT="#000000" -LINK="#0000FF" -VLINK="#840084" -ALINK="#0000FF" -><DIV -CLASS="NAVHEADER" -><TABLE -SUMMARY="Header navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TH -COLSPAN="3" -ALIGN="center" ->XML-RPC for PHP: version 1.1</TH -></TR -><TR -><TD -WIDTH="10%" -ALIGN="left" -VALIGN="bottom" -><A -HREF="apidocs.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="80%" -ALIGN="center" -VALIGN="bottom" ->Chapter 5. Class documentation</TD -><TD -WIDTH="10%" -ALIGN="right" -VALIGN="bottom" -><A -HREF="xmlrpcresp.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -></TABLE -><HR -ALIGN="LEFT" -WIDTH="100%"></DIV -><DIV -CLASS="SECT1" -><H1 -CLASS="SECT1" -><A -NAME="XMLRPCMSG" -></A ->xmlrpcmsg</H1 -><P ->This class provides a representation for a request to an - XML-RPC server. A client sends an - <TT -CLASS="CLASSNAME" ->xmlrpcmsg</TT -> to a server, and receives back - an <TT -CLASS="CLASSNAME" ->xmlrpcresp</TT -> (see <A -HREF="apidocs.html#XMLRPC-CLIENT-SEND" ->xmlrpc_client->send</A ->).</P -><DIV -CLASS="SECT2" -><H2 -CLASS="SECT2" -><A -NAME="AEN289" -></A ->Creation</H2 -><P ->The constructor takes the following form:</P -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN292" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$msg=new xmlrpcmsg</CODE ->($methodName, $parameterArray);</CODE -></P -><P -></P -></DIV -><P ->Where <TT -CLASS="PARAMETER" -><I ->$methodName</I -></TT -> is a string - indicating the name of the method you wish to invoke, and - <TT -CLASS="PARAMETER" -><I ->$parameterArray</I -></TT -> is a simple - <TT -CLASS="CLASSNAME" ->Array</TT -> of - <TT -CLASS="CLASSNAME" ->xmlrpcval</TT -> objects. Here's an example - message to the <SPAN -CLASS="emphasis" -><I -CLASS="EMPHASIS" ->US state name</I -></SPAN -> server: - </P -><PRE -CLASS="PROGRAMLISTING" ->$msg=new xmlrpcmsg("examples.getStateName", - array(new xmlrpcval(23, "int"))); - </PRE -><P -> This example requests the name of state number 23. For more - information on <TT -CLASS="CLASSNAME" ->xmlrpcval</TT -> objects, see - <A -HREF="xmlrpcval.html" ->xmlrpcval</A ->. - </P -></DIV -><DIV -CLASS="SECT2" -><H2 -CLASS="SECT2" -><A -NAME="AEN309" -></A ->Methods</H2 -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN311" -></A ->serialize</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN313" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$outString=$msg->serialize</CODE ->();</CODE -></P -><P -></P -></DIV -><P ->Returns the an XML string representing the XML-RPC - message.</P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN318" -></A ->addParam</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN320" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$msg->addParam</CODE ->($xmlrpcVal);</CODE -></P -><P -></P -></DIV -><P ->Adds the <TT -CLASS="CLASSNAME" ->xmlrpcval</TT -> - <TT -CLASS="PARAMETER" -><I ->$xmlrpcVal</I -></TT -> to the parameter list for - this method call.</P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN328" -></A ->getParam</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN330" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$xmlrpcVal=$msg->getParam</CODE ->($n);</CODE -></P -><P -></P -></DIV -><P ->Gets the <TT -CLASS="PARAMETER" -><I ->$n</I -></TT ->th parameter in the - message. Use this method in server implementations. Returns - the <TT -CLASS="LITERAL" ->undef</TT -> value if no such parameter - exists.</P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN338" -></A ->getNumParams</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN340" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$n=$msg->getNumParams</CODE ->();</CODE -></P -><P -></P -></DIV -><P -> Returns the number of parameters attached to this message. - </P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN345" -></A ->method</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN347" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$methName=$msg->method</CODE ->();</CODE -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$msg->method</CODE ->($methName);</CODE -></P -><P -></P -></DIV -><P ->Gets or sets the method contained in the XML-RPC message.</P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN356" -></A ->parseResponse</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN358" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$response=$msg->parseResponse</CODE ->($xmlString);</CODE -></P -><P -></P -></DIV -><P ->Given an incoming XML-RPC server response contained in - the string - <TT -CLASS="PARAMETER" -><I ->$xmlString</I -></TT ->, this method constructs - an <TT -CLASS="CLASSNAME" ->xmlrpcresp</TT -> response object and - returns it, setting error codes as appropriate (see <A -HREF="apidocs.html#XMLRPC-CLIENT-SEND" ->xmlrpc_client->send</A ->). - </P -><P -> This method processes any HTTP/MIME headers it finds. - </P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN368" -></A ->parseResponseFile</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN370" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$response=$msg->parseResponseFile</CODE ->($fileHandle);</CODE -></P -><P -></P -></DIV -><P ->Given an incoming XML-RPC server response on the file handle - <TT -CLASS="PARAMETER" -><I ->$fileHandle</I -></TT ->, this method reads the - data and passes it to <TT -CLASS="FUNCTION" ->parseResponse</TT -> - </P -><P -> This method is useful to construct responses from - pre-prepared files (see files <TT -CLASS="LITERAL" ->demo1.txt, demo2.txt, - demo3.txt</TT -> in this distribution). It processes - any HTTP headers it finds. - </P -></DIV -></DIV -></DIV -><DIV -CLASS="NAVFOOTER" -><HR -ALIGN="LEFT" -WIDTH="100%"><TABLE -SUMMARY="Footer navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" -><A -HREF="apidocs.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="index.html" -ACCESSKEY="H" ->Home</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" -><A -HREF="xmlrpcresp.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" ->Class documentation</TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="apidocs.html" -ACCESSKEY="U" ->Up</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" ->xmlrpcresp</TD -></TR -></TABLE -></DIV -></BODY -></HTML ->
\ No newline at end of file diff --git a/modules/xmlrpc/doc/xmlrpcresp.html b/modules/xmlrpc/doc/xmlrpcresp.html deleted file mode 100644 index d48216e3..00000000 --- a/modules/xmlrpc/doc/xmlrpcresp.html +++ /dev/null @@ -1,374 +0,0 @@ -<HTML -><HEAD -><TITLE ->xmlrpcresp</TITLE -><META -NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.77+"><LINK -REV="MADE" -HREF="edd@usefulinc.com"><LINK -REL="HOME" -TITLE="XML-RPC for PHP" -HREF="index.html"><LINK -REL="UP" -TITLE="Class documentation" -HREF="apidocs.html"><LINK -REL="PREVIOUS" -TITLE="xmlrpcmsg" -HREF="xmlrpcmsg.html"><LINK -REL="NEXT" -TITLE="xmlrpcval" -HREF="xmlrpcval.html"></HEAD -><BODY -CLASS="SECT1" -BGCOLOR="#FFFFFF" -TEXT="#000000" -LINK="#0000FF" -VLINK="#840084" -ALINK="#0000FF" -><DIV -CLASS="NAVHEADER" -><TABLE -SUMMARY="Header navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TH -COLSPAN="3" -ALIGN="center" ->XML-RPC for PHP: version 1.1</TH -></TR -><TR -><TD -WIDTH="10%" -ALIGN="left" -VALIGN="bottom" -><A -HREF="xmlrpcmsg.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="80%" -ALIGN="center" -VALIGN="bottom" ->Chapter 5. Class documentation</TD -><TD -WIDTH="10%" -ALIGN="right" -VALIGN="bottom" -><A -HREF="xmlrpcval.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -></TABLE -><HR -ALIGN="LEFT" -WIDTH="100%"></DIV -><DIV -CLASS="SECT1" -><H1 -CLASS="SECT1" -><A -NAME="XMLRPCRESP" -></A ->xmlrpcresp</H1 -><P ->This class is used to contain responses to XML-RPC - requests. A server method handler will construct an - <TT -CLASS="CLASSNAME" ->xmlrpcresp</TT -> and pass it as a return value. - This same value will be returned by the result of an invocation of - the <TT -CLASS="FUNCTION" ->send</TT -> method of the - <TT -CLASS="CLASSNAME" ->xmlrpc_client</TT -> class.</P -><DIV -CLASS="SECT2" -><H2 -CLASS="SECT2" -><A -NAME="AEN386" -></A ->Creation</H2 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN388" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$resp=new xmlrpcresp</CODE ->($xmlrpcval);</CODE -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$resp=new xmlrpcresp</CODE ->(0, $errcode, $errstring);</CODE -></P -><P -></P -></DIV -><P ->The first instance is used when execution has happened - without difficulty: <TT -CLASS="PARAMETER" -><I ->$xmlrpcval</I -></TT -> is an - <TT -CLASS="CLASSNAME" ->xmlrpcval</TT -> value with the result of the - method execution contained in it.</P -><P -> The second type of constructor is used in case of - failure. <TT -CLASS="PARAMETER" -><I ->$errcode</I -></TT -> and - <TT -CLASS="PARAMETER" -><I ->$errstring</I -></TT -> are used to provide - indication of what has gone wrong. See <A -HREF="xmlrpc-server.html" ->xmlrpc_server</A -> for more information on passing - error codes. - </P -></DIV -><DIV -CLASS="SECT2" -><H2 -CLASS="SECT2" -><A -NAME="AEN408" -></A ->Methods</H2 -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN410" -></A ->faultCode</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN412" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$fn=$resp->faultCode</CODE ->();</CODE -></P -><P -></P -></DIV -><P ->Returns the integer fault code return from the XML-RPC - response <TT -CLASS="PARAMETER" -><I ->$resp</I -></TT ->. - A zero value indicates success, any other value - indicates a failure response.</P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN418" -></A ->faultString</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN420" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$fs=$resp->faultString</CODE ->();</CODE -></P -><P -></P -></DIV -><P -> Returns the human readable explanation of the fault - indicated by <TT -CLASS="FUNCTION" ->$resp->faultCode</TT ->. - </P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN426" -></A ->value</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN428" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$xmlrpcVal=$resp->value</CODE ->();</CODE -></P -><P -></P -></DIV -><P -> Returns an <TT -CLASS="CLASSNAME" ->xmlrpcval</TT -> object - containing the return value sent by the server. If the - response's <TT -CLASS="FUNCTION" ->faultCode</TT -> is non-zero then - the value returned by this method should not be used (it may - not even be an object). - </P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN435" -></A ->serialize</H3 -><P -></P -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN438" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$outString=$resp->serialize</CODE ->();</CODE -></P -><P -></P -></DIV -><P ->Returns an XML string representation of the response.</P -></DIV -></DIV -></DIV -><DIV -CLASS="NAVFOOTER" -><HR -ALIGN="LEFT" -WIDTH="100%"><TABLE -SUMMARY="Footer navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" -><A -HREF="xmlrpcmsg.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="index.html" -ACCESSKEY="H" ->Home</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" -><A -HREF="xmlrpcval.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" ->xmlrpcmsg</TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="apidocs.html" -ACCESSKEY="U" ->Up</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" ->xmlrpcval</TD -></TR -></TABLE -></DIV -></BODY -></HTML ->
\ No newline at end of file diff --git a/modules/xmlrpc/doc/xmlrpcval.html b/modules/xmlrpc/doc/xmlrpcval.html deleted file mode 100644 index 68489699..00000000 --- a/modules/xmlrpc/doc/xmlrpcval.html +++ /dev/null @@ -1,933 +0,0 @@ -<HTML -><HEAD -><TITLE ->xmlrpcval</TITLE -><META -NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.77+"><LINK -REV="MADE" -HREF="edd@usefulinc.com"><LINK -REL="HOME" -TITLE="XML-RPC for PHP" -HREF="index.html"><LINK -REL="UP" -TITLE="Class documentation" -HREF="apidocs.html"><LINK -REL="PREVIOUS" -TITLE="xmlrpcresp" -HREF="xmlrpcresp.html"><LINK -REL="NEXT" -TITLE="xmlrpc_server" -HREF="xmlrpc-server.html"></HEAD -><BODY -CLASS="SECT1" -BGCOLOR="#FFFFFF" -TEXT="#000000" -LINK="#0000FF" -VLINK="#840084" -ALINK="#0000FF" -><DIV -CLASS="NAVHEADER" -><TABLE -SUMMARY="Header navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TH -COLSPAN="3" -ALIGN="center" ->XML-RPC for PHP: version 1.1</TH -></TR -><TR -><TD -WIDTH="10%" -ALIGN="left" -VALIGN="bottom" -><A -HREF="xmlrpcresp.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="80%" -ALIGN="center" -VALIGN="bottom" ->Chapter 5. Class documentation</TD -><TD -WIDTH="10%" -ALIGN="right" -VALIGN="bottom" -><A -HREF="xmlrpc-server.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -></TABLE -><HR -ALIGN="LEFT" -WIDTH="100%"></DIV -><DIV -CLASS="SECT1" -><H1 -CLASS="SECT1" -><A -NAME="XMLRPCVAL" -></A ->xmlrpcval</H1 -><P ->This is where a lot of the hard work gets done. This class - enables the creation and encapsulation of values for XML-RPC. - </P -><P -> Ensure you've read the XML-RPC spec at <A -HREF="http://www.xmlrpc.com/stories/storyReader$7" -TARGET="_top" ->http://www.xmlrpc.com/stories/storyReader$7</A -> - before reading on as it will make things clearer. - </P -><P ->The <TT -CLASS="CLASSNAME" ->xmlrpcval</TT -> class can store - arbitrarily complicated values using the following types: - <TT -CLASS="LITERAL" ->i4 int boolean string double dateTime.iso8601 base64 - array struct</TT ->. You should refer to the <A -HREF="http://www.xmlrpc.com/stories/storyReader$7" -TARGET="_top" ->spec</A -> - for more information on what each of these types mean. - </P -><DIV -CLASS="SECT2" -><H2 -CLASS="SECT2" -><A -NAME="AEN452" -></A ->Notes on types</H2 -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN454" -></A ->int</H3 -><P ->The type <TT -CLASS="CLASSNAME" ->i4</TT -> is accepted as a - synonym for <TT -CLASS="CLASSNAME" ->int</TT ->. The value parsing - code will always convert <TT -CLASS="CLASSNAME" ->i4</TT -> to - <TT -CLASS="CLASSNAME" ->int</TT ->: <TT -CLASS="CLASSNAME" ->int</TT -> - is regarded by this implementation as the canonical name for - this type.</P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN462" -></A ->base64</H3 -><P ->Base 64 encoding is performed transparently to the - caller when using this type. Therefore you ought to - consider it as a "binary" data type, for use when you want - to pass none 7-bit clean data. Decoding is also - transparent. - </P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN465" -></A ->boolean</H3 -><P ->The values <TT -CLASS="LITERAL" ->true</TT -> and - <TT -CLASS="LITERAL" ->1</TT -> map to <TT -CLASS="LITERAL" ->true</TT ->. All - other values (including the empty string) - are converted to <TT -CLASS="LITERAL" ->false</TT ->. - </P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN472" -></A ->string</H3 -><P -> The characters <TT -CLASS="LITERAL" ->< > "</TT -> and - <TT -CLASS="LITERAL" ->&</TT -> are converted to their entity - equivalents <TT -CLASS="LITERAL" ->&lt; &gt; - &quot;</TT -> and <TT -CLASS="LITERAL" ->&amp;</TT -> - for transport through XML-RPC. The current XML-RPC spec - recommends only encoding <TT -CLASS="LITERAL" ->< &</TT -> but - this implementation goes further, for reasons explained by - <A -HREF="http://www.w3.org/TR/REC-xml#syntax" -TARGET="_top" ->the XML 1.0 - recommendation</A ->. - </P -><P ->TODO: <TT -CLASS="LITERAL" -> &apos;</TT -> entity not - yet supported</P -></DIV -></DIV -><DIV -CLASS="SECT2" -><H2 -CLASS="SECT2" -><A -NAME="XMLRPCVAL-CREATION" -></A ->Creation</H2 -><P ->The constructor is the normal way to create an - <TT -CLASS="CLASSNAME" ->xmlrpcval</TT ->. The constructor can take - these forms: - </P -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN487" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$myVal=new xmlrpcval</CODE ->();</CODE -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$myVal=new xmlrpcval</CODE ->($stringVal);</CODE -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$myVal=new xmlrpcval</CODE ->($scalarVal, "int" | "boolean" | "string" | "double" | "dateTime.iso8601" | "base64");</CODE -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$myVal=new xmlrpcval</CODE ->($arrayVal, "array" | "struct");</CODE -></P -><P -></P -></DIV -><P ->The first constructor creates an empty value, which must - be altered using the methods <TT -CLASS="FUNCTION" ->addScalar</TT ->, - <TT -CLASS="FUNCTION" ->addArray</TT -> or - <TT -CLASS="FUNCTION" ->addStruct</TT -> before it can be used. - </P -><P -> The second constructor creates a simple string value. - </P -><P -> The third constructor is used to create a scalar value. The - second parameter must be a name of an XML-RPC type. Examples: - </P -><PRE -CLASS="PROGRAMLISTING" -> $myInt=new xmlrpcvalue(1267, "int"); - $myString=new xmlrpcvalue("Hello, World!", "string"); - $myBool=new xmlrpcvalue(1, "boolean"); - </PRE -><P -> The fourth constructor form can be used to compose complex - XML-RPC values. The first argument is either a simple array in - the case of an XML-RPC <TT -CLASS="CLASSNAME" ->array</TT -> or - an associative array in the case of a - <TT -CLASS="CLASSNAME" ->struct</TT ->. The elements of the array - <SPAN -CLASS="emphasis" -><I -CLASS="EMPHASIS" ->must be <TT -CLASS="CLASSNAME" ->xmlrpcval</TT -> objects - themselves</I -></SPAN ->. - Examples:</P -><PRE -CLASS="PROGRAMLISTING" -> $myArray=new xmlrpcval(array( - new xmlrpcval("Tom"), new xmlrpcval("Dick"), - new xmlrpcval("Harry")), "array"); - - $myStruct=new xmlrpcval(array( - "name" => new xmlrpcval("Tom"), - "age" => new xmlrpcval(34, "int"), - "geek" => new xmlrpcval(1, "boolean")), "struct"); - </PRE -><P ->See the file <TT -CLASS="LITERAL" ->vardemo.php</TT -> in this - distribution for more examples.</P -></DIV -><DIV -CLASS="SECT2" -><H2 -CLASS="SECT2" -><A -NAME="XMLRPCVAL-METHODS" -></A ->Methods</H2 -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN524" -></A ->addScalar</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN526" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$ok=$val->addScalar</CODE ->($stringVal);</CODE -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$ok=$val->addScalar</CODE ->($scalarVal, "int" | "boolean" | "string" | "double" | "dateTime.iso8601" | "base64");</CODE -></P -><P -></P -></DIV -><P -> If <TT -CLASS="PARAMETER" -><I ->$val</I -></TT -> is an empty - <TT -CLASS="CLASSNAME" ->xmlrpcval</TT -> this method makes it a - scalar value, and sets that value. If - <TT -CLASS="PARAMETER" -><I ->$val</I -></TT -> is already a scalar value, then - no more scalars can be added and <TT -CLASS="LITERAL" ->0</TT -> is - returned. If all went OK, <TT -CLASS="LITERAL" ->1</TT -> is returned. - </P -><P ->There is a special case if <TT -CLASS="PARAMETER" -><I ->$val</I -></TT -> - is an <TT -CLASS="CLASSNAME" ->array</TT ->: the scalar value passed - is appended to the array.</P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN546" -></A ->addArray</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN548" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$ok=$val->addArray</CODE ->($arrayVal);</CODE -></P -><P -></P -></DIV -><P ->Turns an empty <TT -CLASS="CLASSNAME" ->xmlrpcval</TT -> into an - <TT -CLASS="CLASSNAME" ->array</TT -> with contents as specified by - <TT -CLASS="PARAMETER" -><I ->$arrayVal</I -></TT ->. See the fourth - constructor form for more information.</P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN557" -></A ->addStruct</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN559" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$ok=$val->addArray</CODE ->($assocArrayVal);</CODE -></P -><P -></P -></DIV -><P ->Turns an empty <TT -CLASS="CLASSNAME" ->xmlrpcval</TT -> into a - <TT -CLASS="CLASSNAME" ->struct</TT -> with contents as specified by - <TT -CLASS="PARAMETER" -><I ->$assocArrayVal</I -></TT ->. See the fourth - constructor form for more information.</P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN568" -></A ->kindOf</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN570" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$kind=$val->kindOf</CODE ->();</CODE -></P -><P -></P -></DIV -><P -> Returns a string containing "struct", "array" or "scalar" - describing the base type of the value. If it returns - "undef" it means that the value hasn't been initialised. - </P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN575" -></A ->serialize</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN577" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$outString=$val->serialize</CODE ->();</CODE -></P -><P -></P -></DIV -><P -> Returns a string containing the XML-RPC representation of - this value. - </P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN582" -></A ->scalarval</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN584" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$scalarVal=$val->scalarval</CODE ->();</CODE -></P -><P -></P -></DIV -><P -> If <TT -CLASS="FUNCTION" ->$val->kindOf()=="scalar"</TT ->, this - method returns the actual PHP-language value of the scalar - (base 64 decoding is automatically handled here). - </P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN590" -></A ->scalartyp</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN592" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$typeName=$val->scalartyp</CODE ->();</CODE -></P -><P -></P -></DIV -><P -> If <TT -CLASS="FUNCTION" ->$val->kindOf()=="scalar"</TT ->, this - method returns a string denoting the type of the scalar. - As mentioned before, - <TT -CLASS="LITERAL" ->i4</TT -> is always coerced to <TT -CLASS="LITERAL" ->int</TT ->. - </P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN600" -></A ->arraymem</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN602" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$xmlrpcVal=$val->arraymem</CODE ->($n);</CODE -></P -><P -></P -></DIV -><P -> Returns the <TT -CLASS="PARAMETER" -><I ->$n</I -></TT ->th element in the array - represented by the value <TT -CLASS="PARAMETER" -><I ->$val</I -></TT ->. The - value returned is an <TT -CLASS="CLASSNAME" ->xmlrpcval</TT -> object. - </P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN611" -></A ->arraysize</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN613" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$len=$val->arraysize</CODE ->();</CODE -></P -><P -></P -></DIV -><P ->If <TT -CLASS="PARAMETER" -><I ->$val</I -></TT -> is an - <TT -CLASS="CLASSNAME" ->array</TT ->, returns the number of elements - in that array. - </P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN620" -></A ->structmem</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN622" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$xmlrpcVal=$val->structmem</CODE ->($memberName);</CODE -></P -><P -></P -></DIV -><P -> Returns the element called - <TT -CLASS="PARAMETER" -><I ->$memberName</I -></TT -> from the struct - represented by the value <TT -CLASS="PARAMETER" -><I ->$val</I -></TT ->. The - value returned is an <TT -CLASS="CLASSNAME" ->xmlrpcval</TT -> object. - </P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="AEN631" -></A ->structeach</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN633" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->list($key,$value)=$val->structeach</CODE ->();</CODE -></P -><P -></P -></DIV -><P -> Returns the next (key,value) pair from the struct, when - <TT -CLASS="PARAMETER" -><I ->$val</I -></TT -> is a struct. See also - <A -HREF="xmlrpcval.html#STRUCTRESET" ->structreset()</A ->. - </P -></DIV -><DIV -CLASS="SECT3" -><H3 -CLASS="SECT3" -><A -NAME="STRUCTRESET" -></A ->structreset</H3 -><DIV -CLASS="FUNCSYNOPSIS" -><A -NAME="AEN642" -></A -><P -></P -><P -><CODE -><CODE -CLASS="FUNCDEF" ->$val->structreset</CODE ->();</CODE -></P -><P -></P -></DIV -><P -> Resets the internal pointer for - <TT -CLASS="FUNCTION" ->structeach()</TT -> to the beginning of the - struct, where <TT -CLASS="PARAMETER" -><I ->$val</I -></TT -> is a struct. - </P -></DIV -></DIV -></DIV -><DIV -CLASS="NAVFOOTER" -><HR -ALIGN="LEFT" -WIDTH="100%"><TABLE -SUMMARY="Footer navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" -><A -HREF="xmlrpcresp.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="index.html" -ACCESSKEY="H" ->Home</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" -><A -HREF="xmlrpc-server.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" ->xmlrpcresp</TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="apidocs.html" -ACCESSKEY="U" ->Up</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" ->xmlrpc_server</TD -></TR -></TABLE -></DIV -></BODY -></HTML ->
\ No newline at end of file |