Source for file jCmdLineRequest.class.php

Documentation is available at jCmdLineRequest.class.php

  1. <?php
  2. /**
  3. @package     jelix
  4. @subpackage  core_request
  5. @author      Laurent Jouanneau
  6. @contributor Loic Mathaud
  7. @contributor Thibault Piront (nuKs)
  8. @contributor Christophe Thiriot
  9. @copyright   2005-2011 Laurent Jouanneau, 2006-2007 Loic Mathaud
  10. @copyright   2007 Thibault Piront
  11. @copyright   2008 Christophe Thiriot
  12. @link        http://www.jelix.org
  13. @licence     GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html
  14. */
  15.  
  16. /**
  17.  * a request object for scripts used in a command line
  18.  * @package     jelix
  19.  * @subpackage  core_request
  20.  */
  21. class jCmdLineRequest extends jRequest {
  22.  
  23.     public $type = 'cmdline';
  24.  
  25.     public $defaultResponseType = 'cmdline';
  26.  
  27.     public $authorizedResponseClass = 'jResponseCmdline';
  28.  
  29.     protected $onlyDefaultAction = false;
  30.     
  31.     /**
  32.      * If you want to have a CLI script dedicated to the default action,
  33.      * tell it by given true, so you haven't to indicate the action
  34.      * on the command line. It means of course you couldn't execute any other
  35.      * actions with this script.
  36.      * @param boolean $onlyDefaultAction 
  37.      */
  38.     function __construct($onlyDefaultAction false){
  39.         $this->onlyDefaultAction = $onlyDefaultAction;
  40.     }
  41.  
  42.     protected function _initUrlData(){
  43.         $this->urlScriptPath = '/'
  44.         $this->urlScriptName = $this->urlScript = $_SERVER['SCRIPT_NAME']
  45.         $this->urlPathInfo = ''
  46.     }
  47.  
  48.     protected function _initParams(){
  49.         global $gJConfig;
  50.  
  51.         $argv $_SERVER['argv'];
  52.         $scriptName array_shift($argv)// shift the script name
  53.  
  54.         if ($this->onlyDefaultAction{
  55.             $mod $gJConfig->startModule;
  56.             $act $gJConfig->startAction;
  57.             if ($_SERVER['argc'&& $argv[0== 'help'{
  58.                 $mod 'jelix';
  59.                 $act 'help:index';
  60.                 $argv[0$gJConfig->startModule.'~'.$gJConfig->startAction;
  61.             }
  62.         }
  63.         else {
  64.             // note: we cannot use jSelectorAct to parse the action
  65.             // because in the opt edition, jSelectorAct needs an initialized jCoordinator
  66.             // and this is not the case here. see bug #725.
  67.     
  68.             if ($_SERVER['argc'== 1{
  69.                 $mod $gJConfig->startModule;
  70.                 $act $gJConfig->startAction;
  71.             else {
  72.                 $argsel array_shift($argv)// get the module~action selector
  73.                 if ($argsel == 'help'{
  74.                     $mod 'jelix';
  75.                     $act 'help:index';
  76.                 }else if (($pos strpos($argsel,'~')) !== false{
  77.                     $mod substr($argsel,0,$pos);
  78.                     $act substr($argsel,$pos+1);
  79.                 }else {
  80.                     $mod$gJConfig->startModule;
  81.                     $act$argsel;
  82.                 }
  83.             }
  84.         }
  85.         $this->params = $argv;
  86.         $this->params['module'$mod;
  87.         $this->params['action'$act;
  88.     }
  89.  
  90.     /**
  91.      * return the ip address of the user
  92.      * @return string the ip
  93.      */
  94.     function getIP({
  95.         return '127.0.0.1';
  96.     }
  97. }

Documentation generated on Mon, 19 Sep 2011 14:12:00 +0200 by phpDocumentor 1.4.3