Source for file jServer.class.php

Documentation is available at jServer.class.php

  1. <?php
  2. /**
  3. @package    jelix
  4. @subpackage core
  5. @author     Laurent Jouanneau
  6. @copyright  2012 Laurent Jouanneau
  7. @link       http://jelix.org
  8. @licence    http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public Licence, see LICENCE file
  9. */
  10.  
  11. /**
  12. * Static class providing some utilities to retrieve informations about the server
  13. @package    jelix
  14. @subpackage core
  15. @since Jelix 1.3.2
  16. */
  17. class jServer {
  18.     
  19.     /**
  20.      * tells if we are in a CLI (Command Line Interface) context or not.
  21.      * If this is the case, fills some missing $_SERVER variables when cgi is used
  22.      * @return boolean true if we are in a CLI context
  23.      */
  24.     static function isCLI({
  25.         if (PHP_SAPI != 'cli' && strpos(PHP_SAPI'cgi'=== false{
  26.             return false;
  27.         }
  28.  
  29.         if (PHP_SAPI != 'cli'{
  30.             // only php-cgi used from the command line can be used, not the one called by apache
  31.             if (isset($_SERVER['HTTP_HOST']|| isset($_SERVER['REDIRECT_URL'])  || isset($_SERVER['SERVER_PORT'])) {
  32.                 return false;
  33.             }
  34.             header('Content-type: text/plain');
  35.             if (!isset($_SERVER['argv'])) {
  36.                 $_SERVER['argv'array_keys($_GET);
  37.                 $_SERVER['argc'count($_GET);
  38.             }
  39.             if (!isset($_SERVER['SCRIPT_NAME'])) {
  40.                 $_SERVER['SCRIPT_NAME'$_SERVER['argv'][0];
  41.             }
  42.             if (!isset($_SERVER['DOCUMENT_ROOT'])) {
  43.                 $_SERVER['DOCUMENT_ROOT''';
  44.             }
  45.         }
  46.         return true;
  47.     }
  48. }

Documentation generated on Wed, 24 Sep 2014 22:02:05 +0200 by phpDocumentor 1.4.3