Some work done on glossary in CSH
[Packages/TYPO3.CMS.git] / t3lib / config_default.php
1 <?php
2 /**
3 * TYPO3 default configuration
4 *
5 * TYPO3_CONF_VARS is a global array with configuration for the TYPO3 libraries
7 *
8 * 'IM' is short for 'ImageMagick', which is an external image manipulation package available from Version is ABSOLUTELY preferred to be 4.2.9, but may be 5+. See the install notes for TYPO3!!
9 * 'GD' is short for 'GDLib/FreeType', which are libraries that should be compiled into PHP4. GDLib <=1.3 supports GIF, while the latest version 1.8.x and 2.x supports only PNG. GDLib is available from Freetype has a link from there.
10 *
11 * $Id$
12 * Revised for TYPO3 3.6 2/2003 by Kasper Skaarhoj
13 *
14 * @author Kasper Skaarhoj <>
15 */
17 if (!defined ('PATH_typo3conf')) die ('The configuration path was not properly defined!');
19 $TYPO3_CONF_VARS = Array(
20 'GFX' => array( // Configuration of the image processing features in TYPO3. 'IM' and 'GD' are short for ImageMagick and GD library respectively.
21 'image_processing' => 1, // Boolean. Enables image processing features. Disabling this means NO image processing with either GD or IM!
22 'thumbnails' => 1, // Boolean. Enables the use of thumbnails in the backend interface. Thumbnails are generated by IM/partly GD in the file typo3/thumbs.php
23 'thumbnails_png' => 0, // Bits. Bit0: If set, thumbnails from non-jpegs will be 'png', otherwise 'gif' (0=gif/1=png). Bit1: Even JPG's will be converted to png or gif (2=gif/3=png)
24 'noIconProc' => 1, // Boolean. If true, icons are never processed with overlays for hidden, starttime, endtime etc. They must be available pre-processed. If this is disabled, do so only if you have full image processing capabilities on the server for TYPO3.
25 'gif_compress' => 1, // Boolean. Enables the use of the t3lib_div::gif_compress() workaround function for compressing giffiles made with GD or IM, which probably use only RLE or no compression at all.
26 'imagefile_ext' => 'gif,jpg,jpeg,tif,bmp,pcx,tga,png,pdf,ai', // Commalist of file extensions perceived as images by TYPO3. List should be set to 'gif,png,jpeg,jpg' if IM is not available. Lowercase and no spaces between!
28 'gdlib' => 1, // Boolean. Enables the use of GD.
29 'gdlib_png' => 0, // Boolean. Enables the use of GD, with PNG only. This means that all items normally generated as gif-files will be png-files instead!
30 'gdlib_2' => 0, // String/Boolean. Set this if you are using the new GDlib 2.0.1+. If you don't set this flag and still uses GDlib2, you might encounter strange behaviours like black images etc. This feature might take effect only if ImageMagick is installed and working as well! You can also use the value "no_imagecopyresized_fix" - in that case it will NOT try to fix a known issue where "imagecopyresized" does not work correctly.
32 'im' => 1, // Boolean. Enables the use of IM.
33 'im_path' => '/usr/X11R6/bin/', // Path to the IM tools 'convert', 'combine', 'identify'. Version 4.2.9 of ImageMagick is highly recommended due to features and speed!
34 'im_path_lzw' => '/usr/bin/', // Path to the IM tool 'convert' with LZW enabled! See 'gif_compress'. If your version 4.2.9 of ImageMagick is compiled with LZW you may leave this field blank AND disable the flag 'gif_compress'! Tip: You can call LZW 'convert' with a prefix like 'myver_convert' by setting this path with it, eg. '/usr/bin/myver_' instead of just '/usr/bin/'.
36 'im_version_5' => 0, // Boolean. Set this if you're using IM 5+. If this is set, 'im_negate_mask', 'im_no_effects' and 'im_mask_temp_ext_gif' are automatically configured for use with ImageMagick version 5 +
37 'im_negate_mask' => 0, // Boolean. Indicates if the mask images should be inverted first. This depends of the ImageMagick version. Below ver. 5.1 this should be false. Above ImageMagick version 5.2+ it should be true. Just set the flag if the masks works opposite the intension!
38 'im_imvMaskState' => 0, // Boolean. If set, the 'im_negate_mask' state is inverted. This is very useful with newer versions of IM5 (at least 5.4.3+) where the 'im_version_5' setting will set 'im_negate_mask' which will eventually be wrong... Halleluja for ImageMagick - have I ever regreted using that package...
39 'im_no_effects' => 0, // Boolean. This is necessary if using ImageMagick 5+. Approved version for using effects is version 4.2.9. Effects in Imagemagick 5+ tends to render very slowly! Therefore this must be disabled in order not to perform sharpen, blurring and such. (However lately IM5 is allowed for effects again, but syntax has changed!)
40 'im_v5effects' => 0, // Integer -1,0,1. 0=disabled. -1=Do not sharpen images by default. 1=All; blur and sharpening is allowed in ImageMagick again and the 'im_no_effects' flag is cancelled. Blurring and sharpening has new syntaxes though. See class.t3lib_stdgraphic.php for details.
41 'im_mask_temp_ext_gif' => 0, // Boolean. This should be set if ImageMagick is version 5+. This is used in class.tslib_content.php for masking images and the extension png is normally used because it's faster than gif for temporary files. But png seems not to work with some IM 5+ versions, so...
42 'im_mask_temp_ext_noloss' => 'miff', // String. Loss-less ImageMagick extension to use for mask processing in temporary filenames. Normally 'miff' (ImageMagick's OWN format) will do fine. However at least IM 5.4.9 has proved not to be able to write to its own file format which forced me to add this option. You can try and set this to tif/png/jpg if some masking doesn't work the way it should.
43 'im_noScaleUp' => 0, // Boolean. If set, images are not being scaled up if told so (in t3lib/stdgraphics.php)
44 'im_combine_filename' => 'combine', // String. Latest ImageMagick versions has changed the name of combine to composite. Configure here if needed.
45 'im_noFramePrepended' => 0, // Boolean. If set, the the [x] frame indicator is NOT prepended to filenames in stdgraphic. Some IM5+ version didn't work at all with the typical [0]-prefix, which allow multipage pdf's and animated gif's to be scaled only for the first frame/page and that seriously cuts down rendering time. Set this flag only if your ImageMagick version cannot find the files. Notice that changing this flag causes temporary filenames to change, thus the server will begin scaling images again which were previously cached.
46 'im_jpg_quality' => 70, // Integer. Default JPEG generation quality
47 'enable_typo3temp_db_tracking' => 0, // Boolean. If set, then all files in typo3temp will be logged in a database table. In addition to being a log of the files with original filenames, it also serves to secure that the same image is not rendered simultaneously by two different processes.
48 'TTFLocaleConv' => '', // String. Enter locale conversion string used to recode input to TrueType functions. Eg. 'cp1250..UTF-8'. Works ONLY if 'recode' is enabled in PHP. Depreciated from ver. 3.6.0 of TYPO3. Set up [BE][forceCharset] as strings are automatically converted from databsae charset to UTF-8.
49 'TTFdpi' => '72', // Integer. Enter how many dpi the FreeType module uses. Freetype1 should be set to 72. Freetype2 should be set to 96 (otherwise fonts are rendered way bigger than FreeType1). This works as a global scaling factor for Freetype.
50 ),
51 'SYS' => Array( // System related concerning both frontend and backend.
52 'sitename' => 'TYPO3', // Name of the base-site. This title shows up in the root of the tree structure if you're an 'admin' backend user.
53 'encryptionKey' => '', // This is a "salt" used for various kinds of encryption, CRC checksums and validations. You can enter any rubbish string here but try to keep it secret. You should notice that a change to this value might invalidate temporary information, URLs etc. At least, clear all cache if you change this so any such information can be rebuild with the new key.
54 'doNotCheckReferer' => 0, // Boolean. If set, it's NOT checked numerous places that the refering host is the same as the current. This is an option you should set if you have problems with proxies not passing the HTTP_REFERER variable.
55 'recursiveDomainSearch' => 0, // Boolean. If set, the search for domain records will be done recursively by stripping parts of the host name off until a matching domain record is found.
56 'devIPmask' => '192.168.*,', // Defines a list of IP addresses which will allow development-output to display. The debug() function will use this as a filter. See the function t3lib_div::cmpIP() for details on syntax. Setting this to blank value will deny all. Setting to '*' will allow all.
57 'enable_DLOG' => FALSE, // Whether the developer log is enabled. See constant "TYPO3_DLOG"
58 'ddmmyy' => 'd-m-y', // Format of Date-Month-Year - see php-function date()
59 'hhmm' => 'H:i', // Format of Hours-minutes - see php-function date()
60 'loginCopyrightWarrantyProvider' => '', // String: If you provide warranty for TYPO3 to your customers insert you (company) name here. It will appear in the login-dialog as the warranty provider. (You must also set URL below).
61 'loginCopyrightWarrantyURL' => '', // String: Add the URL where you explain the extend of the warranty you provide. This URL is displayed in the login dialog as the place where people can learn more about the conditions of your warranty. Must be set (more than 10 chars) in addition with the 'loginCopyrightWarrantyProvider' message.
62 'loginCopyrightShowVersion' => 0, // Boolean: If set, the current TYPO3 version is shown.
63 'curlUse' => 0, // Boolean: If set, try to use Curl to fetch external URLs (implemented by Arco <>)
64 'curlProxyServer' => '', // String: Proxyserver as http://proxy:port/.
65 'curlProxyTunnel' => 0, // Boolean: If set, use a tunneled connection through the proxy (usefull for websense etc.).
66 'curlProxyUserPass' => '', // String: Proxyserver authentication user:pass.
67 'form_enctype' => 'multipart/form-data', // String: This is the default form encoding type for most forms in TYPO3. It allows for file uploads to be in the form. However if file-upload is disabled for your PHP version even ordinary data sent with this encryption will not get to the server. So if you have file_upload disabled, you will have to change this to eg. 'application/x-www-form-urlencoded'
68 'textfile_ext' => 'txt,html,htm,css,inc,php,php3,tmpl,js,sql', // Text file extensions. Those that can be edited. php,php3 cannot be edited in webspace if they are disallowed! Notice:
69 'contentTable' => '', // This is the page-content table (Normally 'tt_content')
70 'T3instID' => 'N/A', // A unique installation ID - not used yet. The idea is that a TYPO3 installation can identify itself by this ID string to the Extension Repository on so that we can keep a realistic count of serious TYPO3 installations.
71 'binPath' => '', // String, comma seperated list: list of absolute paths where external programs should be searched for
72 't3lib_cs_convMethod' => '', // String (values: "iconv", "recode", "mbstring", default is homemade PHP-code). Defines which of these PHP-features to use for various Charset conversing functions in t3lib_cs. Will speed up charset conversion radically.
73 't3lib_cs_utils' => '', // String (values: "iconv", "recode", "mbstring", default is homemade PHP-code). Defines which of these PHP-features to use for various Charset processing functions in t3lib_cs. Will speed up charset functions radically.
74 'no_pconnect' => 0, // Boolean: If true, "connect" is used instead of "pconnect" when connecting to the database!
75 'multiplyDBfieldSize' => 1, // Double: 1-5: Amount used to multiply the DB field size when the install tool is evaluating the database size (eg. "2.5"). This is useful if you want to expand the size of fields for utf-8 etc. For western european sites using utf-8 the need should not be for more than twice the normal single-byte size (2) and for chinese / asian languages 3 should suffice.
76 'setMemoryLimit' => 0, // Integer, memory_limit in MB: If more than 16, TYPO3 will try to use ini_set() to set the memory limit of PHP to the value. This works only if the function ini_set() is not disabled by your sysadmin.
77 ),
78 'EXT' => Array ( // Options related to the Extension Management
79 'noEdit' => 1, // Boolean: If set, the Extension Manager does NOT allow extension files to be edited! (Otherwise both local and global extensions can be edited.)
80 'allowGlobalInstall' => 0, // Boolean: If set, global extensions in typo3/ext/ are allowed to be installed, updated and deleted etc.
81 'allowLocalInstall' => 1, // Boolean: If set, local extensions in typo3conf/ext/ are allowed to be installed, updated and deleted etc.
82 'em_devVerUpdate' => 0, // If set, developer versions will also appear as red - ready for upgrade
83 'em_alwaysGetOOManual' => 0, // If set, OO-manuals are always downloaded
84 'em_systemInstall' => 0, // If set, you can install extensions in the sysext/ dir. Use this to upgrade the 'cms' and 'lang' extensions.
85 'em_TERurls' => array(''),
87 'requiredExt' => 'cms,lang,sv', // String list: List of extensions which are REQUIRED and cannot be unloaded by the Extension Manager!
88 'extCache' => 1, // Int. 0,1,2: 0: ext-scripts (ext_localconf.php and ext_tables.php) are NOT cached, but included every time. 1: scripts cached to typo3conf/temp_CACHED_[sitePathHash]* (saves some milliseconds even with PHP-A), 2: scripts cached and prefix includes a hash based on the 'extList' string, 3: scripts cached to typo3conf/temp_CACHED_* (no hash included at all...)
89 'extList' => 'tsconfig_help,context_help,extra_page_cm_options,impexp,belog,aboutmodules,setup', // String list: List of extensions which are enabled for this install. Use the Extension Manager (EM) to manage this!
90 'extConf' => array( // Config-options for extensions, stored as serialized arrays by extension-keys. Handled automatically by the EM.
91 // '--key--' => array()
92 )
93 ),
94 'BE' => Array( // Backend Configuration.
95 'unzip_path' => '', // Path to "unzip".
96 'diff_path' => 'diff', // Path to "diff". For Windows this program can be downloaded here:
97 'fileadminDir' => 'fileadmin/', // Path to the fileadmin dir. This is relative to PATH_site. (Automatically mounted for admin-users if set)
98 'RTEenabled' => 1, // Boolean. If set, the Rich Text editor will be an option in the backend. Notice that the editor must be enabled per-user and options are configurable. See admin guide.
99 'RTE_imageStorageDir' => 'uploads/', // Default storage directory for Rich Text Editor files
100 'RTE_reg' => array(), // Contains arrays of possible RTEs available (keys=extKey, values=cfg-array). Each array contains a key, "objRef", which contains a user function call with prefixed script path and instanciating a persistent global object. This can report back if browser requirements are OK, draw the RTE and do the transformations needed.
101 'staticFileEditPath' => 'fileadmin/static/', // Path to directory with static files for editing (see table sys_staticfiles_edit). Relative to PATH_site.
102 'lockRootPath' => '', // This path is used to evaluate if paths outside the PATH_site should be allowed. Ending slash required! This path is also used to restrict userHomePath/groupHomePath. Observe that the first part of 'userHomePath' and 'groupHomePath' must be the value of 'lockRootPath'. Eg. '/home/typo3/'.
103 'userHomePath' => '', // Path to the directory where TYPO3 backend-users have their home-dirs. Eg. '/home/typo3/users/'. A home for backend user 2 would be: '/home/typo3/users/2/'. Ending slash required!
104 'groupHomePath' => '', // Path to the directory where TYPO3 backend-groups have their home-dirs. Remember that the first part of this path must be 'lockRootPath'. Eg. '/home/typo3/groups/'. A home for backend group 1 would be: '/home/typo3/groups/1/'. Ending slash required!
105 'userUploadDir' => '', // Suffix to the user home dir which is what gets mounted in TYPO3. Eg. if the user dir is "../123_user/" and this value is "/upload" then "../123_user/upload" gets mounted.
106 'fileCreateMask' => '0775', // File mode mask for unix file systems (when files are uploaded/created). Execute bit is set since some files installed in extensions might need that.
107 'folderCreateMask' => '0775', // As above, but for folders.
108 'createGroup' => '', // Group for newly created files and folders (UNIX only). Group ownership can be changed on unix file systems (see above). Set this if you want to change the group ownership of created files/folders to a specific group. This makes sense in all cases where the webserver is running with a different user/group as you do. Create a new group on your system and add you and the webserver user to the group. Now you can safely set the last bit in fileCreateMask/folderCreateMask to 0 (e.g. 770). Important: The user who is running your webserver needs to be a member of the group you specify here! Otherwise you might get some errors.
109 'warning_email_addr' => '', // Email-address that will receive a warning if there has been failed logins 4 times within an hour (all users).
110 'warning_mode' => '', // Bit 1: If set, warning_email_addr gets a mail everytime a user logs in. Bit 2: If set, a mail is sent if an ADMIN user logs in! Other bits reserved for future options.
111 'lockIP' => 4, // Integer (0-4). Session IP locking for backend users. See [FE][lockIP] for details. Default is 4 (which is locking the FULL IP address to session).
112 'sessionTimeout' => 3600, // Integer, seconds. Session time out for backend users. Default is 3600 seconds = 1 hour.
113 'IPmaskList' => '', // String. Lets you define a list of IP-numbers (with *-wildcards) that are the ONLY ones allowed access to ANY backend activity. On error an error header is sent and the script exits. Works like IP masking for users configurable through TSconfig. See syntax for that (or look up syntax for the function t3lib_div::cmpIP())
114 'lockBeUserToDBmounts' => 1, // Boolean. If set, the backend user is allowed to work only within his page-mount. It's advisable to leave this on because it makes security easy to manage.
115 'lockSSL' => 0, // Int. 0,1,2: If set (1+2), the backend can only be operated from an ssl-encrypted connection (https). Set to 2 you will be redirected to the https admin-url supposed to be the http-url, but with https scheme instead.
116 'enabledBeUserIPLock' => 1, // Boolean. If set, the User/Group TSconfig option 'option.lockToIP' is enabled.
117 'adminOnly' => 0, // Boolean. If set (>=1), the only "admin" users can log in to the backend. If "<=-1" then the backend is totally shut down! For maintenance purposes.
118 'disable_exec_function' => 0, // Boolean. Don't use exec() function (except for ImageMagick which is disabled by [GFX][im]=0). If set, all fileoperations are done by the default PHP-functions. This is nescessary under windows! On UNIX the system commands by exec() can be used, unless this is disabled.
119 'usePHPFileFunctions' => 1, // Boolean. If set, all fileoperations are done by the default PHP-functions. Default on UNIX is using the system commands by exec(). You need to set this flag under safe_mode.
120 'compressionLevel' => 0, // Determines output compression. Requires zlib in your php4 install. Range 1-9, where 1 is least compression (approx. 50%) and 9 is greatest compression (approx 33%). 'true' as value will set the compression based on system load (works with Linux, freebsd). Good default value is 3. For more info, see class in t3lib/class.gzip_encode.php written by Sandy McArthur, Jr. <>
121 'maxFileSize' => '10000', // Integer. If set this is the max fileoperation filesize in kb's set in t3lib/extFileFunctions.
122 'forceCharset' => '', // String. Normally the charset of the backend users language selection is used. If you set this value to a charset found in t3lib/csconvtbl/ (or "utf-8") the backend (and database) will ALWAYS use this charset. Always use a lowercase value.
123 'installToolPassword' => '', // String. This is the md5-hashed password for the Install Tool. Set this to '' and access will be totally denied. PLEASE consider to externally password protect the typo3/install/ folder, eg. with a .htaccess file.
124 'trackBeUser' => 0, // Boolean. If set, every invokation of a backend script is logged in sys_trackbeuser. This is used to get a view of the backend users behaviour. Mostly for debugging, support and user interaction analysis. Requires 'beuser_tracking' extension.
125 'defaultUserTSconfig' => '', // Enter lines of default backend user/group TSconfig.
126 'defaultPageTSconfig' => '', // Enter lines of default Page TSconfig.
127 'defaultPermissions' => array ( // Default permissions set for new pages in t3lib/tce_main.php. Keys are 'show,edit,delete,new,editcontent'. Enter as comma-list
128 // 'user' => '', READFILE: // default in tce_main is 'show,edit,delete,new,editcontent'. If this is set (uncomment), this value is used instead.
129 // 'group' => '', // default in tce_main is 'show,edit,new,editcontent'. If this is set (uncomment), this value is used instead.
130 // 'everybody' => '' // default in tce_main is ''. If this is set (uncomment), this value is used instead.
131 ),
132 'defaultUC' => array ( // Override default settings for BE-users. See class.t3lib_beuserauth.php, array $uc_default
133 ),
134 // The control of fileextensions goes in two catagories. Webspace and Ftpspace. Webspace is folders accessible from a webbrowser (below TYPO3_DOCUMENT_ROOT) and ftpspace is everything else.
135 // The control is done like this: If an extension matches 'allow' then the check returns true. If not and an extension matches 'deny' then the check return false. If no match at all, returns true.
136 // You list extensions comma-separated. If the value is a '*' every extension is matched
137 // If no fileextension, true is returned if 'allow' is '*', false if 'deny' is '*' and true if none of these matches
138 // This configuration below accepts everything in ftpspace and everything in webspace except php3 or php files
139 'fileExtensions' => array (
140 'webspace' => array('allow'=>'', 'deny'=>'php,php3,php4,php5'),
141 'ftpspace' => array('allow'=>'*', 'deny'=>'')
142 ),
143 'customPermOptions' => array(), // Array with sets of custom permission options. Syntax is; 'key' => array('header' => 'header string, language splitted', 'items' => array('key' => array('label, language splitted', 'icon reference', 'Description text, language splitted'))). Keys cannot contain ":|," characters.
144 'fileDenyPattern' => '\.php$|\.php.$', // A regular expression that - if it matches a filename - will deny the file upload/rename or whatever in the webspace. Matching with eregi() (case-insensitive).
145 'interfaces' => 'backend', // This determines which interface options is available in the login prompt and in which order (All options: ",backend,frontend")
146 'loginLabels' => 'Username|Password|Interface|Log In|Log Out|Backend,Front End|Administration Login on ###SITENAME###|(Note: Cookies and JavaScript must be enabled!)|Important Messages:|Your login attempt did not succeed. Make sure to spell your username and password correctly, including upper/lowercase characters.', // Language labels of the login prompt.
147 'loginNews' => array(), // In this array you can define news-items for the login screen. To this array, add arrays with assoc keys 'date', 'header', 'content' (HTML content) and for those appropriate value pairs
148 'XCLASS' => Array(), // See 'Inside TYPO3' document for more information.
149 'XLLfile' => Array(), // For extension/overriding of the arrays in 'locallang' files in the backend. See 'Inside TYPO3' for more information.
150 'notificationPrefix' => '[TYPO3 Note]',
151 'accessListRenderMode' => 'singlebox', // Can be "singlebox", "checkbox" or blank. Refers to the "renderMode" for the selector boxes in be-groups configuration.
152 'explicitADmode' => 'explicitDeny', // Sets the general allow/deny mode for selector box values. Value can be either "explicitAllow" or "explicitDeny", nothing else!
153 ),
154 'FE' => Array( // Configuration for the TypoScript frontend (FE). Nothing here relates to the administration backend!
155 'png_to_gif' => 0, // Boolean. Enables conversion back to gif of all png-files generated in the frontend libraries. Notice that this leaves an increased number of temporary files in typo3temp/
156 'tidy' => 0, // Boolean. If set, the output html-code will be passed through 'tidy' which is a little program you can get from 'Tidy' cleans the HTML-code for nice display!
157 'tidy_option' => 'cached', // options [all, cached, output]. 'all' = the content is always passed through 'tidy' before it may be stored in cache. 'cached' = only if the page is put into the cache, 'output' = only the output code just before it's echoed out.
158 'tidy_path' => 'tidy -i --quiet true --tidy-mark true -wrap 0', // Path with options for tidy. For XHTML output, add " --output-xhtml true"
159 'logfile_dir' => '', // Path where TYPO3 should write webserver-style logfiles to. This path must be write-enabled for the webserver. Doesn't work for Windows! Remember slash AFTER! Eg: 'fileadmin/' or '/var/typo3logs/'. Please see the TypoScript reference!
160 'logfile_write' => '', // Keywords for write-mode of logfiles. Default is unix "echo". Keyword "fputs" will make PHP use "fputs" instead (compliant with safe_mode)
161 'publish_dir' => '', // Path where TYPO3 should write staticly published documents. This path must be write-enabled for the webserver. Remember slash AFTER! Eg: 'publish/' or '/www/htdocs/publish/'. See admPanel option 'publish'
162 'addAllowedPaths' => '', // Additional relative paths (comma-list) to allow TypoScript resources be in. Should be prepended with '/'. If not, then any path where the first part is like this path will match. That is: 'myfolder/ , myarchive' will match eg. 'myfolder/', 'myarchive/', 'myarchive_one/', 'myarchive_2/' ... No check is done to see if this directory actually exists in the root of the site. Paths are matched by simply checking if these strings equals the first part of any TypoScript resource filepath. (See class template, function init() in t3lib/class.t3lib_tsparser.php)
163 'allowedTempPaths' => '', // Additional paths allowed for temporary images. Used with imgResource. Eg. 'alttypo3temp/,another_temp_dir/';
164 'debug' => 0, // Boolean. If set, some debug HTML-comments may be output somewhere. Can also be set by TypoScript.
165 'simulateStaticDocuments' => 0, // Boolean. This is the default value for simulateStaticDocuments (configurable with TypoScript which overrides this, if the TypoScript value is present)
166 'noPHPscriptInclude' => 0, // Boolean. If set, PHP-scripts are not included by TypoScript configurations, unless they reside in 'media/scripts/'-folder. This is a security option to ensure that users with template-access do not terrorize
167 'strictFormmail' => TRUE, // Boolean. If set, the internal "formmail" feature in TYPO3 will send mail ONLY to recipients which has been encoded by the system itself. This protects against spammers misusing the formmailer.
168 'compressionLevel' => 0, // Determines output compression. Requires zlib in your php4 install. Range 1-9, where 1 is least compression (approx. 50%) and 9 is greatest compression (approx 33%). 'true' as value will set the compression based on system load (works with Linux, freebsd). Good default value is 3. For more info, see class in t3lib/class.gzip_encode.php written by Sandy McArthur, Jr. <>
169 'compressionDebugInfo' => 0, // Boolean. If set, then in the end of the pages, the sizes of the compressed and non-compressed document is output. This should be used ONLY as a test, because the content is compressed twice in order to output this statistics!
170 'pageNotFound_handling' => '', // How TYPO3 should handle requests for non-existing/accessible pages. false (default): The 'nearest' page is shown. TRUE or '1': An TYPO3 error box is displayed. Integer > 1: Not used yet (outputs "ERROR: ###"). Strings: redirect URL, eg. 'notfound.html' or ''. If prefixed with "READFILE:" then it will expect the remaining string to be a HTML file which will be read and outputted directly after having the marker "###CURRENT_URL###" substituted with REQUEST_URI and ###REASON### with reason text, for example: "READFILE:fileadmin/notfound.html"
171 'pageNotFound_handling_statheader' => 'Status: 404 Not Found', // If 'pageNotFound_handling' is enabled, this string will always be sent as header before the actual handling.
172 'userFuncClassPrefix' => 'user_', // This prefix must be the first part of any function or class name called from TypoScript, for instance in the stdWrap function.
173 'addRootLineFields' => '', // Comma-list of fields from the 'pages'-table. These fields are added to the select query for fields in the rootline.
174 'checkFeUserPid' => 1, // Boolean. If set, the pid of fe_user logins must be sent in the form as the field 'pid' and then the user must be located in the pid. Default is 1 from Typo32+. If you unset this, you should change the fe_users.username eval-flag 'uniqueInPid' to 'unique' in $TCA. This will do: $TCA['fe_users']['columns']['username']['config']['eval']= 'nospace,lower,required,unique';
175 'lockIP' => 2, // Integer (0-4). If >0, fe_users are locked to (a part of) their REMOTE_ADDR IP for their session. Enhances security but may throw off users that may change IP during their session (in which case you can lower it to 2 or 3). The integer indicates how many parts of the IP address to include in the check. Reducing to 1-3 means that only first, second or third part of the IP address is used. 4 is the FULL IP address and recommended. 0 (zero) disables checking of course.
176 'lifetime' => 0, // Integer, positive. If >0, the cookie of FE users will NOT be a session cookie (deleted when browser is shut down) but rather a cookie with a lifetime of the number of seconds this value indicates. Setting this value to 3600*24*7 will result in automatic login of FE users during a whole week.
177 'lockHashKeyWords' => 'useragent', // Keyword list (Strings commaseparated). Currently only "useragent"; If set, then the FE user session is locked to the value of HTTP_USER_AGENT. This lowers the risk of session hi-jacking. However some cases (like payment gateways) might have to use the session cookie and in this case you will have to disable that feature (eg. with a blank string).
178 'defaultUserTSconfig' => '', // Enter lines of default frontend user/group TSconfig.
179 'defaultTypoScript_constants' => '', // Enter lines of default TypoScript, constants-field.
180 'defaultTypoScript_constants.' => Array(), // Lines of TS to include after a static template with the uid = the index in the array (Constants)
181 'defaultTypoScript_setup' => '', // Enter lines of default TypoScript, setup-field.
182 'defaultTypoScript_setup.' => Array(), // As above, but for Setup
183 'defaultTypoScript_editorcfg' => '', // Enter lines of default TypoScript, editorcfg-field (Backend Editor Configuration)
184 'defaultTypoScript_editorcfg.' => Array(), // As above, but for Backend Editor Configuration
185 'dontSetCookie' => 0, // If set, the no cookies is attempted to be set in the front end. Of course no userlogins are possible either...
186 'XCLASS' => Array(), // See 'Inside TYPO3' document for more information.
187 // 'IPmaskMountGroups' => array(array('IPmaskList_1','fe_group uid'), array('IPmaskList_2','fe_group uid')), // This allows you to specify an array of IPmaskLists/fe_group-uids. If the REMOTE_ADDR of the user matches an IPmaskList, then the given fe_group is add to the gr_list. So this is an automatic mounting of a user-group. But no fe_user is logged in though!
188 'get_url_id_token' => '#get_URL_ID_TOK#', // This is the token, which is substituted in the output code in order to keep a GET-based session going. Normally the GET-session-id is 5 chars ('&ftu=') + hash_length (norm. 10)
189 'content_doktypes' => '1,2,5,7', // List of pages.doktype values which can contain content (so shortcut pages and external url pages are excluded, but all pages below doktype 199 should be included. doktype=6 is not either (backend users only...). For doktypes going into menus see class.tslib_menu.php, line 494 (search for 'doktype'))
190 'enable_mount_pids' => 1, // If set to "1", the mount_pid feature allowing 'symlinks' in the page tree (for frontend operation) is allowed.
191 'pageOverlayFields' => 'uid,title,subtitle,nav_title,media,keywords,description,abstract,author,author_email', // List of fields from the table "pages_language_overlay" which should be overlaid on page records. See t3lib_page::getPageOverlay()
192 ),
193 'MODS' => Array( // Backend Module Configuration (obsolete, make extension instead)
194 ),
195 'USER' => Array( // Here you may define your own setup-vars for use in your include-scripts. (obsolete, make extension instead)
196 ),
197 'SC_OPTIONS' => Array( // Here you can more or less freely define additional configuration for scripts in TYPO3. Of course the features supported depends on the script. See documentation "Inside TYPO3" for examples. Keys in the array are the relative path of a script (for output scripts it should be the "script ID" as found in a comment in the HTML header ) and values can then be anything that scripts wants to define for itself.
198 ),
199 'EXTCONF' => Array ( // Here you may add manually set configuration options for your extensions. Eg. $TYPO3_CONF_VARS['EXTCONF']['my_extension_key']['my_option'] = 'my_value';
200 // '--key--' => array()
201 ),
202 'SVCONF' => Array ( // Here you may add manually set configuration options for services.
203 // Eg. ...['service_type']['setup']['my_option'] = 'my_value'; Setup options how to handle the service (call it or not and how when)
204 // Eg. ...['service_type']['default']['my_option'] = 'my_value';
205 // Eg. ...['service_type']['service_key']['my_option'] = 'my_value';
206 )
207 );
208 $T3_VAR = array(); // Initialize.
210 // TYPO3 version
211 $TYPO_VERSION = '3.8.0-dev';
212 define('TYPO3_version', $TYPO_VERSION);
214 // Database-variables are cleared!
215 $typo_db = ''; // The database name
216 $typo_db_username = ''; // The database username
217 $typo_db_password = ''; // The database password
218 $typo_db_host = ''; // The database host
219 $typo_db_tables_script = ''; // The filename of the tables.php script in typo3conf/ folder IF the default t3lib/stddb/tables.php should NOT be used for some reason. It's recommended to use the default and modify it through the extTableDef-script, see below.
220 $typo_db_extTableDef_script = ''; // The filename of an additional script in typo3conf/-folder which is included after tables.php. Code in this script should modify the tables.php-configuration only, and this provides a good way to extend the standard-distributed tables.php file.
222 // Include localconf.php. Use this file to configure TYPO3 for your needs and database
223 if (!@is_file(PATH_typo3conf.'localconf.php')) die(PATH_typo3conf.'localconf.php is not found!');
224 require(PATH_typo3conf.'localconf.php');
226 // Defining the database setup as constants
227 define('TYPO3_db', $typo_db);
228 define('TYPO3_db_username', $typo_db_username);
229 define('TYPO3_db_password', $typo_db_password);
230 define('TYPO3_db_host', $typo_db_host);
231 define('TYPO3_tables_script', $typo_db_tables_script);
232 define('TYPO3_extTableDef_script', $typo_db_extTableDef_script);
234 // Defining backend system languages
235 // Remember to
236 // - update 'setup' extension labels (sysext/setup/mod/locallang.xml)
237 // - pages.lang item array (t3lib/stddb/tbl_be.php)
238 // - Kickstarter wizard (ext/kickstarter/modfunc1/class.tx_kickstarter_wizard.php)
239 // - Add character encoding for lang key in t3lib/class.t3lib_cs.php
240 define('TYPO3_languages', 'default|dk|de|no|it|fr|es|nl|cz|pl|si|fi|tr|se|pt|ru|ro|ch|sk|lt|is|hr|hu|gl|th|gr|hk|eu|bg|br|et|ar|he|ua|lv|jp|vn|ca|ba|kr');
242 // Unsetting the configured values. Use of these are depreciated.
243 unset($typo_db);
244 unset($typo_db_username);
245 unset($typo_db_password);
246 unset($typo_db_host);
247 unset($typo_db_tables_script);
248 unset($typo_db_extTableDef_script);
250 // Based on the configuration of the image processing some options may be forced:
251 if (!$GLOBALS['TYPO3_CONF_VARS']['GFX']['image_processing']) {
252 $GLOBALS['TYPO3_CONF_VARS']['GFX']['im']=0;
253 $GLOBALS['TYPO3_CONF_VARS']['GFX']['gdlib']=0;
254 }
255 if (!$GLOBALS['TYPO3_CONF_VARS']['GFX']['im']) {
256 $GLOBALS['TYPO3_CONF_VARS']['GFX']['im_path']='';
257 $GLOBALS['TYPO3_CONF_VARS']['GFX']['im_path_lzw']='';
258 $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']='gif,jpg,jpeg,png';
259 $GLOBALS['TYPO3_CONF_VARS']['GFX']['thumbnails'] = 0;
260 }
261 if ($GLOBALS['TYPO3_CONF_VARS']['GFX']['im_version_5']) {
262 $GLOBALS['TYPO3_CONF_VARS']['GFX']['im_negate_mask'] = 1;
263 $GLOBALS['TYPO3_CONF_VARS']['GFX']['im_no_effects'] = 1;
264 $GLOBALS['TYPO3_CONF_VARS']['GFX']['im_mask_temp_ext_gif'] = 1;
265 }
266 if ($GLOBALS['TYPO3_CONF_VARS']['GFX']['im_imvMaskState']) {
267 $GLOBALS['TYPO3_CONF_VARS']['GFX']['im_negate_mask']=$GLOBALS['TYPO3_CONF_VARS']['GFX']['im_negate_mask']?0:1;
268 }
270 // simple debug function which prints output immediately
271 function xdebug($var='',$br=0) {
272 // If you wish to use the debug()-function, and it does not output something, please edit the IP mask in TYPO3_CONF_VARS
273 if (!t3lib_div::cmpIP(t3lib_div::getIndpEnv('REMOTE_ADDR'), $GLOBALS['TYPO3_CONF_VARS']['SYS']['devIPmask'])) return;
274 t3lib_div::debug($var,$br);
275 }
276 // Debug function which calls $GLOBALS['error'] error handler if available
277 function debug($variable='', $name='*variable*', $line='*line*', $file='*file*', $recursiveDepth=3, $debugLevel=E_DEBUG) {
278 // If you wish to use the debug()-function, and it does not output something, please edit the IP mask in TYPO3_CONF_VARS
279 if (!t3lib_div::cmpIP(t3lib_div::getIndpEnv('REMOTE_ADDR'), $GLOBALS['TYPO3_CONF_VARS']['SYS']['devIPmask'])) return;
281 if(@is_callable(array($GLOBALS['error'],'debug'))) {
282 $GLOBALS['error']->debug($variable, $name, $line, $file, $recursiveDepth, $debugLevel);
283 } else {
284 $br = ($name == '*variable*') ? 0 : $name;
285 t3lib_div::debug($variable, $br);
286 }
287 }
288 function debugBegin() {
289 if(@is_callable(array($GLOBALS['error'],'debugBegin'))) {
290 $GLOBALS['error']->debugBegin();
291 }
292 }
293 function debugEnd() {
294 if(@is_callable(array($GLOBALS['error'],'debugEnd'))) {
295 $GLOBALS['error']->debugEnd();
296 }
297 }
300 // Init services array:
301 $T3_SERVICES = array();
304 // Set PHP memory limit depending on value of $TYPO3_CONF_VARS["SYS"]["setMemoryLimit"]
305 if(intval($TYPO3_CONF_VARS["SYS"]["setMemoryLimit"])>16) {
306 @ini_set('memory_limit',intval($TYPO3_CONF_VARS["SYS"]["setMemoryLimit"]).'m');
307 }
311 // Load extensions:
312 if (TYPO3_MODE=='FE' && is_object($TT)) $TT->push('Loading localconf.php extensions','');
313 $TYPO3_LOADED_EXT = t3lib_extMgm::typo3_loadExtensions();
315 require(PATH_typo3conf.$TYPO3_LOADED_EXT['_CACHEFILE'].'_ext_localconf.php');
316 } else {
318 reset($temp_TYPO3_LOADED_EXT);
319 while(list($_EXTKEY,$temp_lEDat)=each($temp_TYPO3_LOADED_EXT)) {
320 if (is_array($temp_lEDat) && $temp_lEDat['ext_localconf.php']) {
321 $_EXTCONF = $TYPO3_CONF_VARS['EXT']['extConf'][$_EXTKEY];
322 require($temp_lEDat['ext_localconf.php']);
323 }
324 }
325 }
326 if (TYPO3_MODE=='FE' && is_object($TT)) $TT->pull();
328 // Define "TYPO3_DLOG" constant
329 define('TYPO3_DLOG', $GLOBALS['TYPO3_CONF_VARS']['SYS']['enable_DLOG']);
331 // Unsetting other reserved global variables:
332 // Those which are/can be set in "stddb/tables.php" files:
333 unset($PAGES_TYPES);
334 unset($ICON_TYPES);
336 unset($TCA);
337 unset($TBE_MODULES);
338 unset($TBE_STYLES);
339 unset($FILEICONS);
341 // Those set in init.php
342 unset($WEBMOUNTS);
343 unset($FILEMOUNTS);
344 unset($BE_USER);
346 // Those set otherwise:
347 unset($TBE_MODULES_EXT);
348 unset($TCA_DESCR);
349 unset($LOCAL_LANG);
352 // Setting some global vars:
353 $EXEC_TIME = time(); // $EXEC_TIME is set so that the rest of the script has a common value for the script execution time
354 $SIM_EXEC_TIME = $EXEC_TIME; // $SIM_EXEC_TIME is set to $EXEC_TIME but can be altered later in the script if we want to simulate another execution-time when selecting from eg. a database
355 ?>