some mods to xmlrpc library to handle data types better, and to exit() content so Output class does not muck with it
diff --git a/system/libraries/Xmlrpc.php b/system/libraries/Xmlrpc.php
index 4a5b97f..2022a7e 100644
--- a/system/libraries/Xmlrpc.php
+++ b/system/libraries/Xmlrpc.php
@@ -1351,13 +1351,13 @@
switch ($typ)
{
case $this->xmlrpcBase64:
- $rs .= "<{$typ}>" . base64_encode($val) . "</{$typ}>\n";
+ $rs .= "<{$typ}>" . base64_encode((string)$val) . "</{$typ}>\n";
break;
case $this->xmlrpcBoolean:
- $rs .= "<{$typ}>" . ($val ? '1' : '0') . "</{$typ}>\n";
+ $rs .= "<{$typ}>" . ((bool)$val ? '1' : '0') . "</{$typ}>\n";
break;
case $this->xmlrpcString:
- $rs .= "<{$typ}>" . htmlspecialchars($val). "</{$typ}>\n";
+ $rs .= "<{$typ}>" . htmlspecialchars((string)$val). "</{$typ}>\n";
break;
default:
$rs .= "<{$typ}>{$val}</{$typ}>\n";
diff --git a/system/libraries/Xmlrpcs.php b/system/libraries/Xmlrpcs.php
index b7382fa..c7daa60 100644
--- a/system/libraries/Xmlrpcs.php
+++ b/system/libraries/Xmlrpcs.php
@@ -123,7 +123,7 @@
header("Content-Type: text/xml");
header("Content-Length: ".strlen($payload));
- echo $payload;
+ exit($payload);
}
//-------------------------------------