* Added feature #7332: htmlArea RTE: Add default target to classes configured with...
[Packages/TYPO3.CMS.git] / typo3 / cli_dispatch.phpsh
1 #! /usr/bin/php -q
2 <?php
3
4 // *****************************************
5 // CLI module dispatcher.
6 // This script can take a "cliKey" as first argument and uses that to look up the path of the script to include in the end.
7 // See configuration of this feature in $TYPO3_CONF_VARS['SC_OPTIONS']['GLOBAL']['cliKeys']
8 // The point is to have only ONE script dealing with the environment initialization while the actual processing is all a developer should care for.
9 // *****************************************
10
11 if (PHP_SAPI!='cli')    {
12         die('ERROR: Not called from a command line interface (eg. a shell or scheduler).'.chr(10));
13 }
14
15         // Defining circumstances for CLI mode:
16 define('TYPO3_cliMode', TRUE);
17
18         // Defining PATH_thisScript here: Must be the ABSOLUTE path of this script in the right context:
19         // This will work as long as the script is called by it's absolute path!
20 $temp_PATH_thisScript = isset($_SERVER['argv'][0]) ? $_SERVER['argv'][0] : (isset($_ENV['_']) ? $_ENV['_'] : $_SERVER['_']);
21
22         // Alternatively, in some environments, we might be able to figure out the absolute path (with no "../" and "./" in) from environment variables...
23 if ($temp_PATH_thisScript{0}!='/')      {
24         $temp_CURRENT_DIR = $_SERVER['PWD'].'/';
25         $temp_PATH_thisScript = $temp_CURRENT_DIR.ereg_replace('\.\/','',$temp_PATH_thisScript);
26         if (!@is_file($temp_PATH_thisScript))   {
27                 die(wordwrap('ERROR: '.$temp_PATH_thisScript.' was not a file. Maybe your environment does not support running this script with a relative path? Try to run the script with its absolute path and you should be fine.'.chr(10).chr(10)));
28         }
29 }
30 define('PATH_thisScript',$temp_PATH_thisScript);
31
32         // First argument is a key that points to the script configuration
33 define('TYPO3_cliKey', $_SERVER['argv'][1]);
34
35         // Include init file:
36 require(dirname(PATH_thisScript).'/init.php');
37
38 if (defined('TYPO3_cliInclude'))        {
39         include(TYPO3_cliInclude);
40 } else {
41         echo 'ERROR: Nothing to include.'.chr(10);
42         exit;
43 }
44 ?>