[ Index ]
 

Code source de eGroupWare 1.2.106-2

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/phpgwapi/inc/ -> class.xmlrpcresp.inc.php (source)

   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      }


Généré le : Sun Feb 25 17:20:01 2007 par Balluche grâce à PHPXref 0.7