[ Index ] |
|
Code source de eGroupWare 1.2.106-2 |
1 <?php 2 // by Edd Dumbill (C) 1999-2001 3 // <edd@usefulinc.com> 4 // xmlrpc.inc,v 1.18 2001/07/06 18:23:57 edmundd 5 6 // License is granted to use or modify this software ("XML-RPC for PHP") 7 // for commercial or non-commercial use provided the copyright of the author 8 // is preserved in any distributed or derivative work. 9 10 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESSED OR 11 // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 12 // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 13 // IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 14 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 15 // NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 16 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 17 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 18 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 19 // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 20 21 class xmlrpcresp 22 { 23 var $val = 0; 24 var $errno = 0; 25 var $errstr = ''; 26 var $hdrs = array(); 27 28 /// @todo add check that $val is of correct type??? 29 function xmlrpcresp($val, $fcode = 0, $fstr = '') 30 { 31 if($fcode != 0) 32 { 33 // error 34 $this->errno = $fcode; 35 $this->errstr = $fstr; 36 //$this->errstr = htmlspecialchars($fstr); // XXX: encoding probably shouldn't be done here; fix later. 37 } 38 elseif(!is_object($val) || (get_class($val) != 'xmlrpcval' && !is_subclass_of($val, 'xmlrpcval'))) 39 { 40 // programmer error 41 // TODO 42 error_log("Invalid type '" . gettype($val) . "' (value: $val) passed to xmlrpcresp. Defaulting to empty value."); 43 $this->val =& new xmlrpcval(); 44 } 45 else 46 { 47 // success 48 $this->val = $val; 49 } 50 } 51 52 function faultCode() 53 { 54 return $this->errno; 55 } 56 57 function faultString() 58 { 59 return $this->errstr; 60 } 61 62 function value() 63 { 64 return $this->val; 65 } 66 67 function serialize() 68 { 69 $result = "<methodResponse>\n"; 70 if($this->errno) 71 { 72 // G. Giunta 2005/2/13: let non-ASCII response messages be tolerated by clients 73 $result .= '<fault> 74 <value> 75 <struct> 76 <member> 77 <name>faultCode</name> 78 <value><int>' . $this->errno . '</int></value> 79 </member> 80 <member> 81 <name>faultString</name> 82 <value><string>' . xmlrpc_encode_entitites($this->errstr) . '</string></value> 83 </member> 84 </struct> 85 </value> 86 </fault>'; 87 } 88 else 89 { 90 $result .= "<params>\n<param>\n" . 91 $this->val->serialize() . 92 "</param>\n</params>"; 93 } 94 $result .= "\n</methodResponse>"; 95 return $result; 96 } 97 }
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Feb 25 17:20:01 2007 | par Balluche grâce à PHPXref 0.7 |