Source for file jResponseCmdline.class.php

Documentation is available at jResponseCmdline.class.php

  1. <?php
  2. /**
  3. @package     jelix
  4. @subpackage  core_response
  5. @author      Christophe Thiriot
  6. @contributor Laurent Jouanneau
  7. @copyright   2008 Christophe Thiriot, 2008 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. * Command line response
  14. @package  jelix
  15. @subpackage core_response
  16. */
  17. class jResponseCmdline extends jResponse {
  18.     /**
  19.      * Code used by exit function in the end of the process if no error occured
  20.      */
  21.     const EXIT_CODE_OK = 0;
  22.  
  23.     /**
  24.      * Code used by exit function in the end of the process if an error occured
  25.      */
  26.     const EXIT_CODE_ERROR = 1;
  27.  
  28.     /**
  29.     * @var string 
  30.     */
  31.     protected $_type = 'cmdline';
  32.  
  33.     /**
  34.      * @var string 
  35.      */
  36.     protected $_buffer = '';
  37.  
  38.     /**
  39.      * @var int 
  40.      */
  41.     protected $_exit_code = self::EXIT_CODE_OK;
  42.  
  43.     /**
  44.      * output the content with the text/plain mime type
  45.      * @return boolean 
  46.      */
  47.     public function output(){
  48.         if ($this->hasErrors())
  49.             $this->outputErrors();
  50.         else
  51.             $this->flushContent();
  52.         return true;
  53.     }
  54.  
  55.     /**
  56.      * Send the specified content to the standard output.
  57.      * The content can be bufferized and displayed only when you call flushContent
  58.      * or do a non-bufferized addContent
  59.      * 
  60.      * @param string $content 
  61.      * @param bool   $bufferize 
  62.      * @return void 
  63.      */
  64.     public function addContent($content$bufferize=false){
  65.         if ($bufferize){
  66.             $this->_buffer.= $content;
  67.         else {
  68.             $this->flushContent();
  69.             echo $content;
  70.         }
  71.     }
  72.  
  73.     /**
  74.      * Send the bufferized content to the standard output
  75.      * 
  76.      * @return void 
  77.      */
  78.     public function flushContent(){
  79.         echo $this->_buffer;
  80.         $this->_buffer = '';
  81.     }
  82.  
  83.     /**
  84.      * Get the exit code of the command line response
  85.      * 
  86.      * @return int 
  87.      */
  88.     public function getExitCode(){
  89.         return $this->_exit_code;
  90.     }
  91.  
  92.     /**
  93.      * Set the exit code of the command line
  94.      * 
  95.      * @param mixed $code The code that will be passed to the exit() function
  96.      * @return void 
  97.      */
  98.     public function setExitCode($code){
  99.         $this->_exit_code = $code;
  100.     }
  101.  
  102.     /**
  103.      * output errors
  104.      */
  105.     public function outputErrors(){
  106.         global $gJConfig;
  107.         $this->flushContent();
  108.         $message '';
  109.         if($this->hasErrors()){
  110.             foreach$GLOBALS['gJCoord']->errorMessages  as $e){
  111.                $message.= '['.$e[0].' '.$e[1].'] '.$e[2]." \t".$e[3]." \t".$e[4]."\n";
  112.             }
  113.         }else{
  114.             $message.= "[unknown error]\n";
  115.         }
  116.         fwrite(STDERR$message);
  117.  
  118.         $this->setExitCode(self::EXIT_CODE_ERROR);
  119.     }
  120.  
  121.     /**
  122.      * No Http Header here
  123.      */
  124.     protected function sendHttpHeaders(){}
  125. }

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