* xmlrpcs.inc, xmlrpcs.inc: remove code that was left for compatibility with php...
[plcapi.git] / demo / server / server.php
index 2a8d185..bc8200e 100644 (file)
@@ -27,7 +27,7 @@ if ($_SERVER['REQUEST_METHOD'] != 'POST' && isset($_GET['showSource']))
        */
        class xmlrpc_server_methods_container
        {
-               /*
+               /**
                * Method used to test logging of php warnings generated by user functions.
                */
                function phpwarninggenerator($m)
@@ -36,14 +36,22 @@ if ($_SERVER['REQUEST_METHOD'] != 'POST' && isset($_GET['showSource']))
                        return new xmlrpcresp(new xmlrpcval(1, 'boolean'));
                }
 
-        /**
-        * a PHP version of the state-number server. Send me an integer and i'll sell you a state
-        * @param integer $s
-        * @return string
-        * */
-               function findstate($s)
-        {
-                   return inner_findstate($s);
+           /**
+            * Method used to testcatching of exceptions in the server.
+            */
+           function exceptiongenerator($m)
+           {
+               throw new Exception("it's just a test", 1);
+           }
+
+               /**
+               * a PHP version of the state-number server. Send me an integer and i'll sell you a state
+               * @param integer $s
+               * @return string
+               */
+               static function findstate($s)
+               {
+                       return inner_findstate($s);
                }
        }
 
@@ -129,8 +137,9 @@ in an alphabetic order.';
 
        $findstate3_sig = wrap_php_function(array('xmlrpc_server_methods_container', 'findstate'));
 
-    $obj = new xmlrpc_server_methods_container();
+       $findstate5_sig = wrap_php_function('xmlrpc_server_methods_container::findstate');
 
+       $obj = new xmlrpc_server_methods_container();
        $findstate4_sig = wrap_php_function(array($obj, 'findstate'));
 
        $addtwo_sig=array(array($xmlrpcInt, $xmlrpcInt, $xmlrpcInt));
@@ -227,8 +236,8 @@ in an alphabetic order.';
 
                // don't even ask me _why_ these come padded with
                // hyphens, I couldn't tell you :p
-               $a=ereg_replace("-", "", $a);
-               $b=ereg_replace("-", "", $b);
+               $a=str_replace("-", "", $a);
+               $b=str_replace("-", "", $b);
 
                if ($agesorter_arr[$a]==$agesorter[$b])
                {
@@ -241,7 +250,7 @@ in an alphabetic order.';
        $agesorter_doc='Send this method an array of [string, int] structs, eg:
 <pre>
  Dave   35
- Edd    45
+ Edd   45
  Fred   23
  Barney 37
 </pre>
@@ -570,9 +579,9 @@ mimetype, a string, is a standard MIME type, for example, text/plain.
                return new xmlrpcresp(new xmlrpcval(array(
                        "ctLeftAngleBrackets"  => new xmlrpcval($lt, "int"),
                        "ctRightAngleBrackets" => new xmlrpcval($gt, "int"),
-                       "ctAmpersands"         => new xmlrpcval($amp, "int"),
-                       "ctApostrophes"        => new xmlrpcval($ap, "int"),
-                       "ctQuotes"             => new xmlrpcval($qu, "int")),
+                       "ctAmpersands"           => new xmlrpcval($amp, "int"),
+                       "ctApostrophes"         => new xmlrpcval($ap, "int"),
+                       "ctQuotes"                       => new xmlrpcval($qu, "int")),
                        "struct"
                ));
        }
@@ -692,6 +701,9 @@ mimetype, a string, is a standard MIME type, for example, text/plain.
                        "function" => array($o, "phpwarninggenerator")
                        //'function' => 'xmlrpc_server_methods_container::phpwarninggenerator'
                ),
+               "examples.raiseException" => array(
+                       "function" => array($o, "exceptiongenerator")
+               ),
                "examples.getallheaders" => array(
                        "function" => 'getallheaders_xmlrpc',
                        "signature" => $getallheaders_sig,
@@ -823,6 +835,9 @@ mimetype, a string, is a standard MIME type, for example, text/plain.
        if ($findstate4_sig)
                $a['examples.php3.getStateName'] = $findstate4_sig;
 
+    if ($findstate5_sig)
+        $a['examples.php4.getStateName'] = $findstate5_sig;
+
        $s=new xmlrpc_server($a, false);
        $s->setdebug(3);
        $s->compress_response = true;
@@ -831,7 +846,8 @@ mimetype, a string, is a standard MIME type, for example, text/plain.
        // we do this to help the testsuite script: do not reproduce in production!
        if (isset($_GET['RESPONSE_ENCODING']))
                $s->response_charset_encoding = $_GET['RESPONSE_ENCODING'];
-
+       if (isset($_GET['EXCEPTION_HANDLING']))
+               $s->exception_handling = $_GET['EXCEPTION_HANDLING'];
        $s->service();
        // that should do all we need!
 ?>
\ No newline at end of file