Fix error in server class: undefined function php_xmlrpc_encode
[plcapi.git] / src / Server.php
index b098d68..ab17168 100644 (file)
@@ -5,6 +5,9 @@ namespace PhpXmlRpc;
 use PhpXmlRpc\Helper\XMLParser;
 use PhpXmlRpc\Helper\Charset;
 
+/**
+ * Allows effortless implementation of XML-RPC servers
+ */
 class Server
 {
     /**
@@ -332,7 +335,7 @@ class Server
                             $pt = $p->kindOf();
                         }
                     } else {
-                        $pt = $in[$n] == 'i4' ? 'int' : strtolower($in[$n]); // dispatch maps never use i4...
+                        $pt = ($in[$n] == 'i4') ? 'int' : strtolower($in[$n]); // dispatch maps never use i4...
                     }
 
                     // param index is $n+1, as first member of sig is return type
@@ -672,7 +675,8 @@ class Server
                         } else {
                             // functions using EPI api should NOT return resp objects,
                             // so make sure we encode the return type correctly
-                            $r = new Response(php_xmlrpc_encode($r, array('extension_api')));
+                            $encoder = new Encoder();
+                            $r = new Response($encoder->encode($r, array('extension_api')));
                         }
                     } else {
                         $r = call_user_func_array($func, $params);
@@ -682,7 +686,8 @@ class Server
                 if (!is_a($r, '\PhpXmlRpc\Response')) {
                     // what should we assume here about automatic encoding of datetimes
                     // and php classes instances???
-                    $r = new Response(php_xmlrpc_encode($r, $this->phpvals_encoding_options));
+                    $encoder = new Encoder();
+                    $r = new Response($encoder->encode($r, $this->phpvals_encoding_options));
                 }
             }
         } catch (\Exception $e) {
@@ -720,7 +725,7 @@ class Server
     }
 
     /**
-     * add a string to the 'internal debug message' (separate from 'user debug message').
+     * Add a string to the 'internal debug message' (separate from 'user debug message').
      *
      * @param string $string
      */