Source for file jResponseJson.class.php

Documentation is available at jResponseJson.class.php

  1. <?php
  2. /**
  3. @package     jelix
  4. @subpackage  core_response
  5. @author      Laurent Jouanneau
  6. @contributor Loic Mathaud
  7. @copyright   2006-2009 Laurent Jouanneau
  8. @copyright   2007-2008 Loic Mathaud
  9. @link        http://www.jelix.org
  10. @licence     GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html
  11. */
  12.  
  13.  
  14.  
  15. /**
  16. * Json response
  17. @package  jelix
  18. @subpackage core_response
  19. @see jResponse
  20. @since 1.0b1
  21. */
  22. final class jResponseJson extends jResponse {
  23.     protected $_acceptSeveralErrors=false;
  24.  
  25.     /**
  26.      * data in PHP you want to send
  27.      * @var mixed 
  28.      */
  29.     public $data = null;
  30.  
  31.  
  32.     public function output(){
  33.         global $gJCoord;
  34.         if($this->hasErrors()) return false;
  35.         $this->_httpHeaders['Content-Type'"application/json";
  36.         $content json_encode($this->data);
  37.         if($this->hasErrors()) return false;
  38.  
  39.         $this->_httpHeaders['Content-length'strlen($content);
  40.         $this->sendHttpHeaders();
  41.         echo $content;
  42.         return true;
  43.     }
  44.  
  45.     public function outputErrors(){
  46.         global $gJCoord;
  47.         $message array();
  48.         if(count($gJCoord->errorMessages)){
  49.             $e $gJCoord->errorMessages[0];
  50.             $message['errorCode'$e[1];
  51.             $message['errorMessage''['.$e[0].'] '.$e[2].' (file: '.$e[3].', line: '.$e[4].')';
  52.             if ($e[5])
  53.                $message['errorMessage'.= "\n".$e[5];
  54.         }else{
  55.             $message['errorMessage''Unknown error';
  56.             $message['errorCode'= -1;
  57.         }
  58.         $this->clearHttpHeaders();
  59.         $this->_httpStatusCode ='500';
  60.         $this->_httpStatusMsg ='Internal Server Error';
  61.         $this->_httpHeaders['Content-Type'"application/json";
  62.         $content json_encode($message);
  63.         $this->_httpHeaders['Content-length'strlen($content);
  64.         $this->sendHttpHeaders();
  65.         echo $content;
  66.     }
  67. }

Documentation generated on Thu, 19 Sep 2013 00:06:44 +0200 by phpDocumentor 1.4.3