X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fxmlrpc.inc;h=7e038340bb282a0663d28c7571357d3bc9d7e2e4;hb=b34e4fad9ca78985f11135cebfd697d99eaa94cb;hp=9106bd67842d1ff10d5c20223633c8f913d26f2c;hpb=7ef47445e3dc236ef5fea0d3ea5bd0492a83d2a2;p=plcapi.git diff --git a/lib/xmlrpc.inc b/lib/xmlrpc.inc index 9106bd6..7e03834 100644 --- a/lib/xmlrpc.inc +++ b/lib/xmlrpc.inc @@ -44,19 +44,30 @@ * If it is included, the library will work without any further autoloading *****************************************************************************/ +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/Helper/Date.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 */ @@ -77,7 +88,10 @@ $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 @@ -90,8 +104,8 @@ class xmlrpcval extends PhpXmlRpc\Value //if (is_object($o) && (get_class($o) == 'xmlrpcval' || is_subclass_of($o, 'xmlrpcval'))) //{ $ar = $o->me; - reset($ar); - list($typ, $val) = each($ar); + $val = reset($ar); + $typ = key($ar); return '' . $this->serializedata($typ, $val) . "\n"; //} @@ -104,16 +118,15 @@ class xmlrpcval extends PhpXmlRpc\Value public function getval() { // UNSTABLE - reset($this->me); - list($a, $b) = each($this->me); + $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)) { - @reset($b); - while (list($id, $cont) = @each($b)) { + foreach($b as $id => $cont) { $b[$id] = $cont->scalarval(); } } @@ -121,12 +134,10 @@ class xmlrpcval extends PhpXmlRpc\Value // add support for structures directly encoding php objects if (is_object($b)) { $t = get_object_vars($b); - @reset($t); - while (list($id, $cont) = @each($t)) { + foreach($t as $id => $cont) { $t[$id] = $cont->scalarval(); } - @reset($t); - while (list($id, $cont) = @each($t)) { + foreach($t as $id => $cont) { @$b->$id = $cont; } } @@ -134,27 +145,34 @@ class xmlrpcval extends PhpXmlRpc\Value return $b; } -} + /// reset functionality added by parent class: same as it would happen if no interface was declared + public function count() + { + return 1; + } -class xmlrpcmsg extends PhpXmlRpc\Request -{ - /** - * Kept the old name even if Request class was renamed, for compatibility. - * @deprecated - * - * @return string - */ - public function kindOf() + /// reset functionality added by parent class: same as it would happen if no interface was declared + public function getIterator() { - return 'msg'; + return new ArrayIterator($this); } } -class xmlrpcresp extends PhpXmlRpc\Response +/** + * @todo reinstate access to method parseResponseHeaders ? + */ +class xmlrpcmsg extends Request { } -class xmlrpc_client extends PhpXmlRpc\Client +class xmlrpcresp extends Response +{ +} + +/** + * @todo reinstate access to methods sendPayloadHTTP10, sendPayloadHTTPS, sendPayloadCURL, _try_multicall ? + */ +class xmlrpc_client extends Client { } @@ -163,48 +181,53 @@ class xmlrpc_client extends PhpXmlRpc\Client /// Wrong speling, but we are adamant on backwards compatibility! function xmlrpc_encode_entitites($data, $srcEncoding='', $destEncoding='') { - return PhpXmlRpc\Helper\Charset::instance()->encodeEntitites($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::decodeChunked($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 PhpXmlRpc\Helper\XMLParser::guessEncoding($httpHeader, $xmlChunk, $encodingPrefs); + 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); + return Charset::instance()->isValidCharset($encoding, $validList); }