/******************************************************************************
*
- *** DEPRECATED ***
+ * *** DEPRECATED ***
*
* This file is only used to insure backwards compatibility
* with the API of the library <= rev. 3
+ *
+ * If it is included, the library will work without any further autoloading.
+ *
+ * NB: including this file will also alter the library configuration setting the
+ * expected charset encoding used by the app to ISO-8859-1. Please see the
+ * file api_changes_v4.md for how to change this if required.
*****************************************************************************/
+include_once(__DIR__.'/../src/Client.php');
+include_once(__DIR__.'/../src/Encoder.php');
include_once(__DIR__.'/../src/PhpXmlRpc.php');
-include_once(__DIR__.'/../src/Value.php');
include_once(__DIR__.'/../src/Request.php');
include_once(__DIR__.'/../src/Response.php');
-include_once(__DIR__.'/../src/Client.php');
-include_once(__DIR__.'/../src/Encoder.php');
-
+include_once(__DIR__.'/../src/Value.php');
+include_once(__DIR__.'/../src/Helper/Charset.php');
+include_once(__DIR__.'/../src/Helper/Date.php');
+include_once(__DIR__.'/../src/Helper/Http.php');
+include_once(__DIR__.'/../src/Helper/Logger.php');
+include_once(__DIR__.'/../src/Helper/XMLParser.php');
+
+use PhpXmlRpc\Client;
+use PhpXmlRpc\Encoder;
+use PhpXmlRpc\Request;
+use PhpXmlRpc\Response;
+use PhpXmlRpc\Value;
+use PhpXmlRpc\Helper\Charset;
+use PhpXmlRpc\Helper\Date;
+use PhpXmlRpc\Helper\Http;
+use PhpXmlRpc\Helper\XMLParser;
/* Expose the global variables which used to be defined */
+PhpXmlRpc\PhpXmlRpc::$xmlrpc_internalencoding = 'ISO-8859-1'; // old default
PhpXmlRpc\PhpXmlRpc::exportGlobals();
+/* some stuff deprecated enough that we do not want to put it in the new lib version */
+
+/// @deprecated
+$GLOBALS['xmlEntities'] = array(
+ 'amp' => '&',
+ 'quot' => '"',
+ 'lt' => '<',
+ 'gt' => '>',
+ 'apos' => "'"
+);
+
+// formulate backslashes for escaping regexp
+// Not in use anymore since 2.0. Shall we remove it?
+/// @deprecated
+$GLOBALS['xmlrpc_backslash'] = chr(92).chr(92);
+
/* Expose with the old names the classes which have been namespaced */
-class xmlrpcval extends PhpXmlRpc\Value
+/**
+ * @todo reinstate access to method serializedata ?
+ */
+class xmlrpcval extends Value
{
+ /**
+ * @deprecated
+ * @param xmlrpcval $o
+ * @return string
+ */
+ public function serializeval($o)
+ {
+ // add check? slower, but helps to avoid recursion in serializing broken xmlrpcvals...
+ //if (is_object($o) && (get_class($o) == 'xmlrpcval' || is_subclass_of($o, 'xmlrpcval')))
+ //{
+ $ar = $o->me;
+ $val = reset($ar);
+ $typ = key($ar);
+
+ return '<value>' . $this->serializedata($typ, $val) . "</value>\n";
+ //}
+ }
+
+ /**
+ * @deprecated this code looks like it is very fragile and has not been fixed
+ * for a long long time. Shall we remove it for 2.0?
+ */
+ public function getval()
+ {
+ // UNSTABLE
+ $b = reset($this->me);
+ $a = key($this->me);
+ // contributed by I Sofer, 2001-03-24
+ // add support for nested arrays to scalarval
+ // i've created a new method here, so as to
+ // preserve back compatibility
+
+ if (is_array($b)) {
+ foreach($b as $id => $cont) {
+ $b[$id] = $cont->scalarval();
+ }
+ }
+
+ // add support for structures directly encoding php objects
+ if (is_object($b)) {
+ $t = get_object_vars($b);
+ foreach($t as $id => $cont) {
+ $t[$id] = $cont->scalarval();
+ }
+ foreach($t as $id => $cont) {
+ @$b->$id = $cont;
+ }
+ }
+ // end contrib
+ return $b;
+ }
+
+ /// reset functionality added by parent class: same as it would happen if no interface was declared
+ public function count()
+ {
+ return 1;
+ }
+
+ /// reset functionality added by parent class: same as it would happen if no interface was declared
+ public function getIterator()
+ {
+ return new ArrayIterator($this);
+ }
}
-class xmlrpcmsg extends PhpXmlRpc\Request
+/**
+ * @todo reinstate access to method parseResponseHeaders ?
+ */
+class xmlrpcmsg extends Request
{
}
-class xmlrpcresp extends PhpXmlRpc\Response
+class xmlrpcresp extends Response
{
}
-class xmlrpc_client extends PhpXmlRpc\Client
+/**
+ * @todo reinstate access to methods sendPayloadHTTP10, sendPayloadHTTPS, sendPayloadCURL, _try_multicall ?
+ */
+class xmlrpc_client extends Client
{
}
/* Expose as global functions the ones which are now class methods */
+/// Wrong speling, but we are adamant on backwards compatibility!
function xmlrpc_encode_entitites($data, $srcEncoding='', $destEncoding='')
{
- return PhpXmlRpc\Helper\Charset::instance()->encode_entitites($data, $srcEncoding, $destEncoding);
+ return Charset::instance()->encodeEntities($data, $srcEncoding, $destEncoding);
}
function iso8601_encode($timeT, $utc=0)
{
- return PhpXmlRpc\Helper\Date::iso8601_encode($timeT, $utc);
+ return Date::iso8601Encode($timeT, $utc);
}
function iso8601_decode($iDate, $utc=0)
{
- return PhpXmlRpc\Helper\Date::iso8601_decode($iDate, $utc);
+ return Date::iso8601Decode($iDate, $utc);
}
function decode_chunked($buffer)
{
- return PhpXmlRpc\Helper\Http::decode_chunked($buffer);
+ return Http::decodeChunked($buffer);
}
function php_xmlrpc_decode($xmlrpcVal, $options=array())
{
- $encoder = new PhpXmlRpc\Encoder();
+ $encoder = new Encoder();
return $encoder->decode($xmlrpcVal, $options);
}
function php_xmlrpc_encode($phpVal, $options=array())
{
- $encoder = new PhpXmlRpc\Encoder();
+ $encoder = new Encoder();
return $encoder->encode($phpVal, $options);
}
function php_xmlrpc_decode_xml($xmlVal, $options=array())
{
- $encoder = new PhpXmlRpc\Encoder();
- return $encoder->decode_xml($xmlVal, $options);
+ $encoder = new Encoder();
+ return $encoder->decodeXml($xmlVal, $options);
}
function guess_encoding($httpHeader='', $xmlChunk='', $encodingPrefs=null)
{
+ return XMLParser::guessEncoding($httpHeader, $xmlChunk, $encodingPrefs);
+}
+
+function has_encoding($xmlChunk)
+{
+ return XMLParser::hasEncoding($xmlChunk);
}
function is_valid_charset($encoding, $validList)
{
- return PhpXmlRpc\Helper\Charset::instance()->is_valid_charset($encoding, $validList);
-}
\ No newline at end of file
+ return Charset::instance()->isValidCharset($encoding, $validList);
+}