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

Documentation generated on Thu, 22 Mar 2012 22:16:56 +0100 by phpDocumentor 1.4.3