Source for file jResponseXmlrpc.class.php

Documentation is available at jResponseXmlrpc.class.php

  1. <?php
  2. /**
  3. @package     jelix
  4. @subpackage  core_response
  5. @author      Laurent Jouanneau
  6. @copyright   2005-2009 Laurent Jouanneau
  7. @link        http://www.jelix.org
  8. @licence     GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html
  9. */
  10.  
  11.  
  12. /**
  13. * xmlrpc response
  14. @package  jelix
  15. @subpackage core_response
  16. @see jResponse
  17. */
  18. final class jResponseXmlRpc extends jResponse {
  19.     /**
  20.     * @var string 
  21.     */
  22.     protected $_type = 'xmlrpc';
  23.     protected $_acceptSeveralErrors=false;
  24.  
  25.     /**
  26.      * PHP Data to send into the response
  27.      */
  28.     public $response = null;
  29.  
  30.     public function output(){
  31.  
  32.         $content jXmlRpc::encodeResponse($this->response$GLOBALS['gJConfig']->charset);
  33.  
  34.         if($this->hasErrors()) return false;
  35.  
  36.         $this->_httpHeaders["Content-Type"]="text/xml;charset=".$GLOBALS['gJConfig']->charset;
  37.         $this->_httpHeaders["Content-length"]=strlen($content);
  38.         $this->sendHttpHeaders();
  39.         echo $content;
  40.         return true;
  41.     }
  42.  
  43.     public function outputErrors(){
  44.         global $gJCoord;
  45.         if(count($gJCoord->errorMessages)){
  46.             $e $gJCoord->errorMessages[0];
  47.             $errorCode $e[1];
  48.             $errorMessage '['.$e[0].'] '.$e[2].' (file: '.$e[3].', line: '.$e[4].')';
  49.             if ($e[5])
  50.                $errorMessage .= "\n".$e[5];
  51.         }else{
  52.             $errorMessage 'Unknown error';
  53.             $errorCode = -1;
  54.         }
  55.         $this->clearHttpHeaders();
  56.         $content jXmlRpc::encodeFaultResponse($errorCode,$errorMessage$GLOBALS['gJConfig']->charset);
  57.  
  58.         header("HTTP/1.0 500 Internal Server Error");
  59.         header("Content-Type: text/xml;charset=".$GLOBALS['gJConfig']->charset);
  60.         header("Content-length: ".strlen($content));
  61.         echo $content;
  62.     }
  63. }

Documentation generated on Thu, 19 Sep 2013 00:07:03 +0200 by phpDocumentor 1.4.3