phpgroupware-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Phpgroupware-cvs] CVS: phpgroupware xmlrpc.php,1.11.4.4,1.11.4.5


From: Joseph Engo <address@hidden>
Subject: [Phpgroupware-cvs] CVS: phpgroupware xmlrpc.php,1.11.4.4,1.11.4.5
Date: Mon, 31 Mar 2003 18:52:50 -0500

Update of /cvsroot/phpgroupware/phpgroupware
In directory subversions:/tmp/cvs-serv19283

Modified Files:
      Tag: Version-0_9_16-branch
        xmlrpc.php 
Log Message:
PHP errors are returned as an XMLRPC fault now instead of spitting out HTML


Index: xmlrpc.php
===================================================================
RCS file: /cvsroot/phpgroupware/phpgroupware/xmlrpc.php,v
retrieving revision 1.11.4.4
retrieving revision 1.11.4.5
diff -C2 -r1.11.4.4 -r1.11.4.5
*** xmlrpc.php  31 Mar 2003 23:20:55 -0000      1.11.4.4
--- xmlrpc.php  31 Mar 2003 23:52:48 -0000      1.11.4.5
***************
*** 30,33 ****
--- 30,38 ----
        include('header.inc.php');
  
+       // Return all PHP errors as faults
+       $GLOBALS['xmlrpc_server'] = xmlrpc_server_create();
+       error_reporting(E_ERROR | E_WARNING | E_PARSE);
+       set_error_handler('xmlrpc_custom_error');
+ 
        $headers = getallheaders();
        if (ereg('Basic',$headers['Authorization']))
***************
*** 112,115 ****
--- 117,132 ----
                        // kp3, this is an invailed session (The session could 
have also been killed or expired)
                        xmlrpc_error(1001,'Session expired');
+               }
+       }
+ 
+       // When PHP returns an error, return that error with a fault instead of
+       // HTML with will make most parsers fall apart
+       function xmlrpc_custom_error($error_number, $error_string, $filename, 
$line, $vars)
+       {
+               if (error_reporting() & $error_number)
+               {
+                       $error_string .= sprintf("\nFilename: %s\nLine: 
%s",$filename,$line);
+ 
+                       xmlrpc_error(1005,$error_string);
                }
        }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]