[TASK] Bootstrap: Disentangle cli and install from init.php
[Packages/TYPO3.CMS.git] / t3lib / config_default.php
index c27e034..d34484f 100644 (file)
 
 if (!defined ('PATH_typo3conf'))       die ('The configuration path was not properly defined!');
 
-//Security related constant: Default value of fileDenyPattern
-define('FILE_DENY_PATTERN_DEFAULT', '\.(php[3-6]?|phpsh|phtml)(\..*)?$|^\.htaccess$');
-
-//Security related constant: Comma separated list of file extensions that should be registered as php script file extensions
-define('PHP_EXTENSIONS_DEFAULT', 'php,php3,php4,php5,php6,phpsh,inc,phtml');
-
-// Defines a list that are basically required by a TYPO3 system.
-define('REQUIRED_EXTENSIONS', 'cms,lang,sv,em,recordlist');
-
 $TYPO3_CONF_VARS = array(
        'GFX' => array(         // Configuration of the image processing features in TYPO3. 'IM' and 'GD' are short for ImageMagick and GD library respectively.
                'image_processing' => TRUE,                             // Boolean: Enables image processing features. Disabling this means NO image processing with either GD or IM!
@@ -53,20 +44,21 @@ $TYPO3_CONF_VARS = array(
                'jpg_quality' => 70,                                    // Integer: Default JPEG generation quality
                'enable_typo3temp_db_tracking' => FALSE,        // 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.
                'TTFdpi' => 96,                                                 // 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.
-               'png_truecolor' => FALSE,                               // Boolean: If set PNGs will get created as truecolor PNGs. If you use GDlib2 you can create truecolor images if they look not well currently. Note that this results in an increased image size. JPEGs get always created in truecolor now (GDlib2 required)
+               'png_truecolor' => TRUE,                                // Boolean: If set PNGs will get created as truecolor PNGs. If you use GDlib2 you can create truecolor images if they look not well currently. Note that this results in an increased image size. JPEGs get always created in truecolor now (GDlib2 required)
        ),
        'SYS' => array(                 // System related concerning both frontend and backend.
                'lang' => array(
                        'cache' => array(
-                               'lifetime' => 86400
+                               'lifetime' => 86400,
+                               'clear_menu' => FALSE,
                        ),
                        'format' => array(
                                'priority' => 'xlf,xml,php'
                        ),
                        'parser' => array(
-                               'php' => 'tx_lang_parser_Llphp',
-                               'xml' => 'tx_lang_parser_Llxml',
-                               'xlf' => 'tx_lang_parser_Xliff',
+                               'php' => 't3lib_l10n_parser_Llphp',
+                               'xml' => 't3lib_l10n_parser_Llxml',
+                               'xlf' => 't3lib_l10n_parser_Xliff',
                        ),
                ),
                '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.
@@ -87,10 +79,14 @@ $TYPO3_CONF_VARS = array(
                '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.
                'loginCopyrightShowVersion' => FALSE,   // Boolean: If set, the current TYPO3 version is shown.
                'curlUse' => FALSE,                                             // Boolean: If set, try to use cURL to fetch external URLs
-               'curlProxyServer' => '',                                // String: Proxyserver as http://proxy:port/.
-               'curlProxyTunnel' => FALSE,                             // Boolean: If set, use a tunneled connection through the proxy (usefull for websense etc.).
-               'curlProxyUserPass' => '',                              // String: Proxyserver authentication user:pass.
-               'curlTimeout' => 0,                                             // Integer: Timeout value for cURL requests in seconds. 0 means to wait indefinitely.
+               /** @deprecated Deprecated since 4.6 - will be removed in 4.8. */
+               'curlProxyServer' => '',                                // String: Proxyserver as http://proxy:port/. Deprecated since 4.6 - will be removed in 4.8. See below for http options.
+               /** @deprecated Deprecated since 4.6 - will be removed in 4.8. */
+               'curlProxyTunnel' => FALSE,                             // Boolean: If set, use a tunneled connection through the proxy (usefull for websense etc.). Deprecated since 4.6 - will be removed in 4.8. See below for http options.
+               /** @deprecated Deprecated since 4.6 - will be removed in 4.8. */
+               'curlProxyUserPass' => '',                              // String: Proxyserver authentication user:pass. Deprecated since 4.6 - will be removed in 4.8. See below for http options.
+               /** @deprecated Deprecated since 4.6 - will be removed in 4.8. */
+               'curlTimeout' => 0,                                             // Integer: Timeout value for cURL requests in seconds. 0 means to wait indefinitely. Deprecated since 4.6 - will be removed in 4.8. See below for http options.
                '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'
                'textfile_ext' => 'txt,html,htm,css,tmpl,js,sql,xml,csv,' . PHP_EXTENSIONS_DEFAULT,     // Text file extensions. Those that can be edited. Executable PHP files may not be editable in webspace if disallowed!
                'contentTable' => '',                                   // This is the page-content table (Normally 'tt_content')
@@ -99,20 +95,17 @@ $TYPO3_CONF_VARS = array(
                'binSetup' => '',                                               // String (textarea): List of programs (separated by newline or comma). By default programs will be searched in default paths and the special paths defined by 'binPath'. When PHP has openbasedir enabled the programs can not be found and have to be configured here. Example: <code>perl=/usr/bin/perl,unzip=/usr/local/bin/unzip</code>
                't3lib_cs_convMethod' => '',                    // String (values: "iconv", "recode", "mbstring", default is homemade PHP-code). Defines which of these PHP-features to use for various charset conversion functions in t3lib_cs. Will speed up charset conversion radically.
                't3lib_cs_utils' => '',                                 // String (values: "iconv", "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.
-               'no_pconnect' => TRUE,                                  // Boolean: If TRUE, "connect" is used instead of "pconnect" when connecting to the database!
-               '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 only useful e.g. if your database is ISO-8859-1 encoded but you want to use UTF-8 for your site. 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. NOTICE: It is recommended to change the native database charset instead! (see <a href="http://wiki.typo3.org/index.php/UTF-8_support" target="_blank">TYPO3 wiki: UTF-8 support</a> for more information). NOTICE: This option is deprecated since TYPO3 4.5, and will not be used anymore in 4.7+. Please use proper tools to set your installation to native UTF-8.
-               'setDBinit' => '-1',                                            // String (textarea): Commands to send to database right after connecting, separated by newline. Ignored by the DBAL extension except for the 'native' type!
+               'no_pconnect' => TRUE,                                  // Boolean: If TRUE, "connect" is used to connect to the database. If FALSE, a persistent connection using "pconnect" will be established!
                'dbClientCompress' => FALSE,                    // Boolean: if TRUE, data exchange between TYPO3 and database server will be compressed. This may improve performance if (1) database serever is on the different server and (2) network connection speed to database server is 100mbps or less. CPU usage will be higher if this option is used but database operations will be executed faster due to much less (up to 3 times) database network traffic. This option has no effect if MySQL server is localhost.
                '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.
-               'forceReturnPath' => FALSE,                             // Boolean: <em>Note: This option is deprecated as of TYPO3 4.5 together with t3lib_htmlmail. This behaviour is the default using the new t3lib_mail methods.</em> Force return path to be applied in mail() calls. If this is set, all calls to mail() done by t3lib_htmlmail will be called with '-f&lt;return_path&gt; as the 5th parameter. This will make the return path correct on almost all Unix systems. There is a known problem with Postfix below version 2: Mails are not sent if this option is set and Postfix is used. On Windows platforms, the return path is set via a call to ini_set.
                'serverTimeZone' => 1,                                  // Integer: GMT offset of servers time (from time()). Default is "1" which is "GMT+1" (central european time). This value can be used in extensions that are GMT aware and wants to convert times to/from other timezones.
                'phpTimeZone' => '',                                    // String: timezone to force for all date() and mktime() functions. A list of supported values can be found at <a href="http://php.net/manual/en/timezones.php" target="_blank">php.net</a>. If this is not set, a valid fallback will be searched for by PHP (php.ini's <a href="http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone" target="_blank">date.timezone</a> setting, server defaults, etc); and if no fallback is found, the value of "UTC" is used instead.
                'systemLog' => '',                                              // <p>String: semi-colon separated list. Defines one or more logging methods. Possible methods:</p><dl><dt>file,&lt;abs-path-to-file&gt;[,&lt;level&gt;]</dt><dd>logs to a file</dd><dt>mail,&lt;to&gt;[/&lt;from&gt;][,&lt;level&gt;]</dt><dd>sends the log entries via mail</dd><dt>syslog,&lt;facility&gt;,[,&lt;level&gt;]</dt><dd>uses the operating system's log. Facility may be one of LOCAL0..LOCAL7, USER (on Windows USER is the only valid type).</dd><dt>error_log[,,&lt;level&gt;]</dt><dd>uses the PHP error log</dd></dl><p>The &lt;level&gt; is the individual logging level (see <a href="#SYS-systemLogLevel">[SYS][systemLogLevel]</a>).</p>
                'systemLogLevel' => 0,                                  // <p>Integer (0, 1, 2, 3, 4): Only messages with same or higher severity are logged.</p><ul><li>0: info</li><li>1: notice</li><li>2: warning</li><li>3: error</li><li>4: fatal error</li></ul>
-               'enableDeprecationLog' => 'file',               // Commalist: Enables the logging of deprecated methods and functions. Default is 'file'. The following options are allowed: 'file': The log file will be written to typo3conf/deprecation_[hash-value].log  'devlog': The log will be written to the development log  'console': The log will be displayed in the Backend's Debug Console. The logging options can be combined by comma-separating them.
+               'enableDeprecationLog' => 'file',               // Commalist: Enables the logging of deprecated methods and functions. Default is 'file'. The following options are allowed: <dl><dt>file</dt><dd>The log file will be written to typo3conf/deprecation_[hash-value].log</dd><dt>devlog</dt><dd>The log will be written to the development log</dd><dt>console<dt><dd>The log will be displayed in the Backend's Debug Console. The logging options can be combined by comma-separating them.</dd></dl>
                'maxFileNameLength' => 60,                              // Integer: This is the maximum file name length. The value will be taken into account by basic file operations like renaming or creation of files and folders.
-               'UTF8filesystem' => FALSE,                              // Boolean: If TRUE and <a href="#BE-forceCharset">[BE][forceCharset]</a> is set to utf-8, then TYPO3 uses utf-8 to store file names. This allows for accented Latin letters as well as any other non-latin characters like Cyrillic and Chinese.
-               'systemLocale' => '',                                   // String: locale used for certain system related functions; for example escaping shell commands.
+               'UTF8filesystem' => FALSE,                              // Boolean: If TRUE then TYPO3 uses utf-8 to store file names. This allows for accented Latin letters as well as any other non-latin characters like Cyrillic and Chinese.
+               'systemLocale' => '',                                   // String: locale used for certain system related functions, e.g. escaping shell commands. If problems with filenames containing special characters occur, the value of this option is probably wrong. See <a href="http://php.net/manual/en/function.setlocale.php" target="_blank">setlocale()</a>.
                'lockingMode' => 'simple',                                      // String: Define which locking mode is used to control requests to pages being generated. Can be one of either "disable" (no locking), "simple" (checks for file existance), "flock" (using PHPs <a href="http://php.net/flock" target="_blank">flock()</a> function), "semaphore" (using PHPs <a href="http://php.net/sem-acquire" target="_blank">sem_acquire()</a> function). Default is "disable".
                'reverseProxyIP' => '',                                 // String: list of IP addresses. If TYPO3 is behind one or more (intransparent) reverese proxies the IP addresses must be added here.
                'reverseProxyHeaderMultiValue' => 'none',               // String: "none","first","last": defines which values of a proxy header (eg HTTP_X_FORWARDED_FOR) to use, if more than one is found. "none" discards the value, "first" and "last" use the first/last of the values in the list.
@@ -129,12 +122,16 @@ $TYPO3_CONF_VARS = array(
                                'cache_pages' => array(
                                        'frontend' => 't3lib_cache_frontend_VariableFrontend',
                                        'backend' => 't3lib_cache_backend_DbBackend',
-                                       'options' => array(),
+                                       'options' => array(
+                                               'compression' => TRUE
+                                       ),
                                ),
                                'cache_pagesection' => array(
                                        'frontend' => 't3lib_cache_frontend_VariableFrontend',
                                        'backend' => 't3lib_cache_backend_DbBackend',
-                                       'options' => array(),
+                                       'options' => array(
+                                               'compression' => TRUE
+                                       ),
                                ),
                                'cache_phpcode' => array(
                                        'frontend' => 't3lib_cache_frontend_PhpFrontend',
@@ -148,7 +145,7 @@ $TYPO3_CONF_VARS = array(
                                ),
                        ),
                ),
-               'useCachingFramework' => -1,    // <i>Obsolete setting</i>. Please remove manually from <tt>localconf.php</tt>, if it is defined there. Caching Framework is now always enabled.
+               'additionalAllowedClassPrefixes' => NULL,       // Class names in TYPO3 must usually start with tx_, Tx, user_ or User_. This setting allows to register additional prefixes in a comma separated list.
                'displayErrors' => -1,                                  // <p>Integer (-1, 0, 1, 2). Configures whether PHP errors should be displayed.</p><dl><dt>0</dt><dd>Do not display any PHP error messages. Overrides the value of "exceptionalErrors" and sets it to 0 (= no errors are turned into exceptions), the configured "productionExceptionHandler" is used as exception handler</dd><dt>1</dt><dd>Display error messages with the registered errorhandler. The configured "debugExceptionHandler" is used as exception handler</dd><dt>2</dt><dd>Display errors only if client matches <a href="#SYS-devIPmask">[SYS][devIPmask]</a>. If devIPmask matches the users IP address  the configured "debugExceptionHandler" is used  for exceptions, if not "productionExceptionHandler" will be used</dd><dt>-1</dt><dd>Default setting. With this option, you can override the PHP setting "display_errors". If devIPmask matches the users IP address  the configured "debugExceptionHandler" is used  for exceptions, if not "productionExceptionHandler" will be used.</dd></dl>
                'productionExceptionHandler'  => 't3lib_error_ProductionExceptionHandler',      // String: Classname to handle exceptions that might happen in the TYPO3-code. Leave empty to disable exception handling. Default: "t3lib_error_ProductionExceptionHandler". This exception handler displays a nice error message when something went wrong. The error message is logged to the configured logs. Note: The configured "productionExceptionHandler" is used if displayErrors is set to "0" or to "-1" and devIPmask doesn't match the users IP.
                'debugExceptionHandler' => 't3lib_error_DebugExceptionHandler',                         // String: Classname to handle exceptions that might happen in the TYPO3-code. Leave empty to disable exception handling. Default: "t3lib_error_DebugExceptionHandler". This exception handler displays the complete stack trace of any encountered exception. The error message and the stack trace  is logged to the configured logs. Note: The configured "debugExceptionHandler" is used if displayErrors is set to "1" and if displayErrors is "-1"  or "2" and the devIPmask matches the users IP.
@@ -161,6 +158,21 @@ $TYPO3_CONF_VARS = array(
                'belogErrorReporting' => E_ALL ^ E_NOTICE,      // Integer: Configures which PHP errors should be logged to the "syslog" table (extension: belog). If set to "0" no PHP errors are logged to the sys_log table. Default is "E_ALL ^ E_NOTICE" (6135).
                'locallangXMLOverride' => array(),                              // For extension/overriding of the arrays in 'locallang' files in frontend and backend. See 'Inside TYPO3' for more information.
                'generateApacheHtaccess' => 1,                  // Boolean: TYPO3 can create <em>.htaccess</em> files which are used by Apache Webserver. They are useful for access protection or performance improvements. Currently <em>.htaccess</em> files in the following directories are created, if they do not exist: <ul><li>typo3temp/compressor/</li></ul>You want to disable this feature, if you are not running Apache or want to use own rulesets.
+               'fal' => array(
+                       'registeredDrivers' => array(
+                               'Local' => array(
+                                       'class' => 't3lib_file_Driver_LocalDriver',
+                                       'shortName' => 'Local',
+                                       'flexFormDS' => 'FILE:t3lib/file/Driver/Configuration/LocalDriverFlexForm.xml',
+                                       'label' => 'Local filesystem'
+                               )
+                       ),
+                       'callbackFilterMethods' => array(
+                               array(
+                                       't3lib_file_Utility_FilenameFilters', 'filterHiddenFilesAndFolders'
+                               )
+                       )
+               )
        ),
        'EXT' => array (        // Options related to the Extension Management
                'noEdit' => TRUE,                                               // Boolean: If set, the Extension Manager does NOT allow extension files to be edited! (Otherwise both local and global extensions can be edited.)
@@ -175,14 +187,13 @@ $TYPO3_CONF_VARS = array(
                'excludeForPackaging' => '(CVS|\..*|.*~|.*\.bak)',              // String: List of directories and files which will not be packaged into extensions nor taken into account otherwise by the Extension Manager. Perl regular expression syntax!
                'extCache' => 1,                                                // <p>Integer (0, 1)</p><dl><dt>0</dt><dd>ext-scripts (ext_localconf.php and ext_tables.php) are NOT cached, but included every time</dd><dt>1</dt><dd>scripts cached to typo3conf/temp_CACHED_[sitePathHash]* (saves some milliseconds even with PHP accelerators)</dd></dl>
                'extList' => 'filelist,version,tsconfig_help,context_help,extra_page_cm_options,impexp,belog,about,cshmanual,aboutmodules,setup,opendocs,install,t3editor,felogin,feedit,recycler',                                             // String (exclude) List of extensions which are enabled for this install. Use the Extension Manager (EM) to manage this!
-               'extList_FE' => '',                                             // String (exclude). Same as extList, but only this extensions are loaded in FE
                'extConf' => array(                                             // Config-options for extensions, stored as serialized arrays by extension-keys. Handled automatically by the EM.
 //                     '--key--' => array()
                ),
        ),
        'BE' => array(          // Backend Configuration.
                'lang' => array(
-                       'degug' => FALSE,                                       // Debug LL in the backend
+                       'debug' => FALSE,                                       // Debug LL in the backend
                ),
                'unzip_path' => '',                                             // Path to "unzip".
                'diff_path' => 'diff',                                  // Path to "diff". For Windows this program can be downloaded here: <a href="http://unxutils.sourceforge.net/" target="_blank">unxutils.sourceforge.net</a>
@@ -217,7 +228,6 @@ $TYPO3_CONF_VARS = array(
                'usePHPFileFunctions' => TRUE,                  // Boolean: If set, all fileoperations are done by the default PHP-functions. Default on Unix is using the system commands by exec().
                'compressionLevel' => 0,                                // Determines output compression of BE output. Makes output smaller but slows down the page generation depending on the compression level. Requires a) zlib in your PHP installation and b) special rewrite rules for .css.gzip and .js.gzip (please see _.htacces for an example). Range 1-9, where 1 is least compression and 9 is greatest compression. 'true' as value will set the compression based on the PHP default settings (usually 5). Suggested and most optimal value is 5.
                'maxFileSize' => '10240',                               // Integer: If set this is the max filesize in KB's for file operations in the backend. Can be overridden through $TCA per table field separately.
-               'forceCharset' => '-1',                                 // 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. NOTICE: This option is deprecated since TYPO3 4.5, and will be removed in 4.7. Please use proper tools to set your installation to native UTF-8.
                '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.
                'pageTree' => array(
                        'preloadLimit' => 50,                           // Integer: Count of pages that will be preloaded in pagetree. Big amount makes collapsing new branches faster but requires more SQL queries.
@@ -234,6 +244,21 @@ $TYPO3_CONF_VARS = array(
                        options.contextMenu.options.leftIcons = 1
                        options.contextMenu {
                                table {
+                                       virtual_root {
+                                               disableItems =
+
+                                               items {
+                                                       100 = ITEM
+                                                       100 {
+                                                               name = history
+                                                               label = LLL:EXT:lang/locallang_misc.xml:CM_history
+                                                               spriteIcon = actions-document-history-open
+                                                               displayCondition = canShowHistory != 0
+                                                               callbackAction = openHistoryPopUp
+                                                       }
+                                               }
+                                       }
+
                                        pages_root {
                                                disableItems =
 
@@ -452,13 +477,16 @@ $TYPO3_CONF_VARS = array(
                ',      // String (exclude). Enter lines of default backend user/group TSconfig.
                'defaultPageTSconfig' => 'mod.web_list.enableDisplayBigControlPanel=selectable
                        mod.web_list.enableClipBoard=selectable
-                       mod.web_list.enableLocalizationView=selectable',                        // String (exclude).Enter lines of default Page TSconfig.
+                       mod.web_list.enableLocalizationView=selectable
+                       mod.wizards.newRecord.pages.show.pageInside=1
+                       mod.wizards.newRecord.pages.show.pageAfter=1
+                       mod.wizards.newRecord.pages.show.pageSelectPosition=1
+               ',      // String (exclude).Enter lines of default Page TSconfig.
                'defaultPermissions' => array (                 // Default permissions set for new pages in t3lib/tce_main.php. Keys are 'show,edit,delete,new,editcontent'. Enter as comma-list
 //                     'user' => '',                                           // default in tce_main is 'show,edit,delete,new,editcontent'. If this is set (uncomment), this value is used instead.
 //                     'group' => '',                                          // default in tce_main is 'show,edit,new,editcontent'. If this is set (uncomment), this value is used instead.
 //                     'everybody' => ''                                       // default in tce_main is ''. If this is set (uncomment), this value is used instead.
                ),
-               'newPagesVersioningType' => -1,                 // Integer: Default versioning type for new pages create as versions. -1 means "element", 0 means "page", 1 means "branch". If using enything else than -1 ("element") here you also have to set "elementVersioningOnly=FALSE" . Please note that "page" and "branch" types are deprecated since TYPO3 4.2 and will be unsupported in TYPO3 4.6. Thus, this option will be removed in TYPO3 4.6.
                'defaultUC' => array (                                  // Override default settings for BE-users. See class.t3lib_beuserauth.php, array $uc_default
                ),
                        // 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.
@@ -468,13 +496,11 @@ $TYPO3_CONF_VARS = array(
                        // This configuration below accepts everything in ftpspace and everything in webspace except php3,php4,php5 or php files
                'fileExtensions' => array (
                        'webspace' => array('allow'=>'', 'deny'=> PHP_EXTENSIONS_DEFAULT),
-                       'ftpspace' => array('allow'=>'*', 'deny'=>'')
+                       'ftpspace' => array('allow'=>'*', 'deny'=>'')   // @todo: remove this option in the future
                ),
                '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.
                'fileDenyPattern' => FILE_DENY_PATTERN_DEFAULT ,        // A perl-compatible regular expression (without delimiters!) that - if it matches a filename - will deny the file upload/rename or whatever in the webspace. For security reasons, files with multiple extensions have to be denied on an Apache environment with mod_alias, if the filename contains a valid php handler in an arbitary position. Also, ".htaccess" files have to be denied. Matching is done case-insensitive. Default value is stored in constant FILE_DENY_PATTERN_DEFAULT
                'interfaces' => 'backend',                                      // This determines which interface options is available in the login prompt and in which order (All options: ",backend,frontend")
-               'useOnContextMenuHandler' => TRUE,              // Boolean: If set, the context menus (clickmenus) in the backend are activated on right-click - although this is not a XHTML attribute!
-               'loginLabels' => 'Username|Password|Interface|Log In|Log Out|Backend,Front End,Traditional Backend|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, separated with a pipe symbol (|). These should not be used anymore to change the labels since TYPO3 4.3, furthermore overload the labels with , see EXT:lang/locallang_login.xml for the used labels.
                '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
                'loginNewsTitle' => '',                                 // Define alternative header message for the LoginNews. If this var is empty, the default header "Important messages:" is displayed.
                'notificationPrefix' => '[TYPO3 Note]', // String: Used to prefix the subject of mails sent in the taskcenter
@@ -486,7 +512,6 @@ $TYPO3_CONF_VARS = array(
                'compactFlexFormXML' => 0,                              // If set, the flexform XML will not contain indentation spaces making XML more compact
                'flexformForceCDATA' => 0,                              // Boolean:  If set, will add CDATA to Flexform XML. Some versions of libxml have a bug that causes HTML entities to be stripped from any XML content and this setting will avoid the bug by adding CDATA.
                'explicitConfirmationOfTranslation' => FALSE,   // If set, then the diff-data of localized records is not saved automatically when updated but requires that a translator clicks the special finish_translation/save/close button that becomes available.
-               'elementVersioningOnly' => TRUE,                // If TRUE, only element versioning is allowed in the backend (see option newPagesVersioningType). Setting this flag is recommended for new installations of TYPO3 4.2+ since "page" and "branch" versioning types are known for the drawbacks of loosing ids and "element" type versions supports moving now. Please note that "page" and "branch" types are deprecated since TYPO3 4.2 and will be unsupported in TYPO3 4.6. Thus, this option will be removed in TYPO3 4.6.
                'versionNumberInFilename' => FALSE,     // <p>Boolean: If TRUE, included CSS and JS files will have the timestamp embedded in the filename, ie. filename.1269312081.js. This will make browsers and proxies reload the files if they change (thus avoiding caching issues). IMPORTANT: this feature requires extra .htaccess rules to work (please refer to _.htaccess or the _.htaccess file from the dummy package)</p><p>If FALSE the filemtime will be appended as a query-string.</p>
                'spriteIconGenerator_handler' => '',    // String: Used to register own/other spriteGenerating Handler, they have to implement the interface t3lib_spritemanager_SpriteIconGenerator. If set to "t3lib_spritemanager_SpriteBuildingHandler" icons from extensions will automatically merged into sprites.
                'debug' => FALSE,                       // Boolean: If set, the loginrefresh is disabled and pageRenderer is set to debug mode. Use this to debug the backend only!
@@ -515,7 +540,7 @@ $TYPO3_CONF_VARS = array(
                        'ExtDirect::getAPI' => 't3lib/extjs/class.t3lib_extjs_extdirectapi.php:t3lib_extjs_ExtDirectApi->getAPI',
                        'ExtDirect::route' => 't3lib/extjs/class.t3lib_extjs_extdirectrouter.php:t3lib_extjs_ExtDirectRouter->route',
                ),
-               'XCLASS' => array(),                                    // See 'Inside TYPO3' document for more information.
+               'XCLASS' => array(),                                    // Deprecated XCLASS register. See http://wiki.typo3.org/Autoload for more information
        ),
        'FE' => array(                  // Configuration for the TypoScript frontend (FE). Nothing here relates to the administration backend!
                'png_to_gif' => FALSE,                                  // 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/
@@ -526,7 +551,6 @@ $TYPO3_CONF_VARS = array(
                '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)
                'allowedTempPaths' => '',                               // Additional paths allowed for temporary images. Used with imgResource. Eg. 'alttypo3temp/,another_temp_dir/';
                'debug' => FALSE,                                               // Boolean: If set, some debug HTML-comments may be output somewhere. Can also be set by TypoScript.
-               'simulateStaticDocuments' => FALSE,             // Boolean: This is the default value for simulateStaticDocuments (configurable with TypoScript which overrides this, if the TypoScript value is present), since TYPO3 4.3 you also need to install the system extension "simulatestatic" to get this to work.
                'noPHPscriptInclude' => FALSE,                  // 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
                '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.
                'secureFormmail' => TRUE,                               // Boolean: If set, the internal "formmail" feature in TYPO3 will send mail ONLY to the recipients that are defined in the form CE record. This protects against spammers misusing the formmailer.
@@ -538,7 +562,6 @@ $TYPO3_CONF_VARS = array(
                'pageUnavailable_handling' => '',               // <p>How TYPO3 should handle requests when pages are unavailable due to system problems.</p><dl><dt>empty (default)</dt><dd>An error message is shown.</dd><dt>String</dt><dd>HTML file or URL to show (reads content and outputs with correct headers), e.g. 'unavailable.html' or 'http://www.example.org/errors/unavailable.html'.</dd><dt>Prefix "REDIRECT:"</dt><dd>If prefixed "REDIRECT:" it will redirect to the URL/script after the prefix.</dd><dt>Prefix "READFILE:"</dt><dd>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/unavailable.html".</dd><dt>Prefix "USER_FUNCTION:"</dt><dd>If prefixed "USER_FUNCTION:" then it will call a user function, eg. "USER_FUNCTION:fileadmin/class.user_unavailable.php:user_unavailable->pageUnavailable" where the file must contain a class "user_unavailable" with a method "pageUnavailable" inside with two parameters $param and $ref. If the client matches <a href="#SYS-devIPmask">[SYS][devIPmask]</a>, this setting is ignored and the page is shown as normal.</dd></dl>
                'pageUnavailable_handling_statheader' => 'HTTP/1.0 503 Service Temporarily Unavailable',                // If 'pageUnavailable_handling' is enabled, this string will always be sent as header before the actual handling.
                'pageUnavailable_force' => FALSE,               // Boolean: If TRUE, pageUnavailable_handling is used for every frontend page. If the client matches <a href="#SYS-devIPmask">[SYS][devIPmask]</a>, the page is shown as normal. This is useful during temporary site maintenance.
-               'userFuncClassPrefix' => 'user_',               // This prefix must be the first part of any function or class name called from TypoScript, for instance in the stdWrap function.
                'addRootLineFields' => '',                              // Comma-list of fields from the 'pages'-table. These fields are added to the select query for fields in the rootline.
                'checkFeUserPid' => TRUE,                               // 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. 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';
                '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.
@@ -555,8 +578,6 @@ $TYPO3_CONF_VARS = array(
                'defaultTypoScript_constants.' => array(),      // Lines of TS to include after a static template with the uid = the index in the array (Constants)
                'defaultTypoScript_setup' => '',                // Enter lines of default TypoScript, setup-field.
                'defaultTypoScript_setup.' => array(),  // As above, but for Setup
-               'defaultTypoScript_editorcfg' => '',    // String (textarea). Enter lines of default TypoScript, editorcfg-field (Backend Editor Configuration)
-               'defaultTypoScript_editorcfg.' => array(),              // As above, but for Backend Editor Configuration
                'dontSetCookie' => FALSE,                               // Boolean: If set, the no cookies is attempted to be set in the front end. Of course no userlogins are possible either...
                'additionalAbsRefPrefixDirectories' => '',      // Enter additional directories to be prepended with absRefPrefix. Directories must be comma-separated. TYPO3 already prepends the following directories: media/, typo3conf/ext/, fileadmin/
                'IPmaskMountGroups' => array(                   // 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! This feature is implemented for the default frontend user authentication and might not be implemented for alternative authentication services.
@@ -569,22 +590,46 @@ $TYPO3_CONF_VARS = array(
                'hidePagesIfNotTranslatedByDefault' => FALSE,   // Boolean: If TRUE, pages that has no translation will be hidden by default. Basically this will inverse the effect of the page localization setting "Hide page if no translation for current language exists" to "Show page even if no translation exists"
                'eID_include' => array(),                               // Array of key/value pairs where key is "tx_[ext]_[optional suffix]" and value is relative filename of class to include. Key is used as "?eID=" for index_ts.php to include the code file which renders the page from that point. (Useful for functionality that requires a low initialization footprint, eg. frontend ajax applications)
                'disableNoCacheParameter' => FALSE,             // Boolean: If set, the no_cache request parameter will become ineffective. This is currently still an experimental feature and will require a website only with plugins that don't use this parameter. However, using "&amp;no_cache=1" should be avoided anyway because there are better ways to disable caching for a certain part of the website (see COA_INT/USER_INT documentation in TSref).
+               'cHashExcludedParameters' => 'L', // String: The the given parameters will be ignored in the cHash calculation. Example: L,tx_search_pi1[query]
+               'cHashOnlyForParameters' => '', // String: Only the given parameters will be evaluated in the cHash calculation. Example: tx_news_pi1[uid]
+               'cHashRequiredParameters' => '', // Optional: Configure Parameters that require a cHash. If no cHash is given but one of the parameters are set, then TYPO3 triggers the configured cHash Error behaviour
+               'cHashExcludedParametersIfEmpty' => '', // Optional: Configure Parameters that are only relevant for the chash if there's an associated value available. And asterisk "*" can be used to skip all empty parameters.
                'workspacePreviewLogoutTemplate' => '', // If set, points to an HTML file relative to the TYPO3_site root which will be read and outputted as template for this message. Example: fileadmin/templates/template_workspace_preview_logout.html. Inside you can put the marker %1$s to insert the URL to go back to. Use this in &lt;a href="%1$s"&gt;Go back...&lt;/a&gt; links
                'versionNumberInFilename' => 'querystring',     // String: embed,querystring,''. Allows to automatically include a version number (timestamp of the file) to referred CSS and JS filenames on the rendered page. This will make browsers and proxies reload the files if they change (thus avoiding caching issues). Set to 'embed' will have the timestamp embedded in the filename, ie. filename.1269312081.js. IMPORTANT: 'embed' requires extra .htaccess rules to work (please refer to _.htaccess or the _.htaccess file from the dummy package)<p>Set to 'querystring' (default setting) to append the version number as a query parameter (doesn't require mod_rewrite). Set to '' will turn this functionality off (behaves like TYPO3 &lt; v4.4).</p>
-               'XCLASS' => array(),                                    // See 'Inside TYPO3' document for more information.
+               'XCLASS' => array(),                                    // Deprecated XCLASS register. See http://wiki.typo3.org/Autoload for more information
        ),
        'MAIL' => array(                // Mail configurations to tune how t3lib_mail classes will send their mails.
-               'transport' => 'mail',                                  // <p>String:</p><dl><dt>mail</dt><dd>Sends messages by delegating to PHP's internal mail() function. No further settings required. This is the most unreliable option. If you are serious about sending mails, consider using "smtp" or "sendmail".</dd><dt>smtp</dt><dd>Sends messages over the (standardized) Simple Message Transfer Protocol. It can deal with encryption and authentication. Most flexible option, requires a mail server and configurations in transport_smtp_* settings below. Works the same on Windows, Unix and MacOS.</dd><dt>sendmail</dt><dd>Sends messages by communicating with a locally installed MTA - such as sendmail. See setting transport_sendmail_command bellow.<dd><dt>mbox</dt><dd>This doesn't send any mail out, but instead will write every outgoing mail to a file adhering to the RFC 4155 mbox format, which is a simple text file where the mails are concatenated. Useful for debugging the mail sending process and on development machines which cannot send mails to the outside. Configure the file to write to in the 'transport_mbox_file' setting below</dd></dl>
+               'transport' => 'mail',                                  // <p>String:</p><dl><dt>mail</dt><dd>Sends messages by delegating to PHP's internal mail() function. No further settings required. This is the most unreliable option. If you are serious about sending mails, consider using "smtp" or "sendmail".</dd><dt>smtp</dt><dd>Sends messages over the (standardized) Simple Message Transfer Protocol. It can deal with encryption and authentication. Most flexible option, requires a mail server and configurations in transport_smtp_* settings below. Works the same on Windows, Unix and MacOS.</dd><dt>sendmail</dt><dd>Sends messages by communicating with a locally installed MTA - such as sendmail. See setting transport_sendmail_command bellow.<dd><dt>mbox</dt><dd>This doesn't send any mail out, but instead will write every outgoing mail to a file adhering to the RFC 4155 mbox format, which is a simple text file where the mails are concatenated. Useful for debugging the mail sending process and on development machines which cannot send mails to the outside. Configure the file to write to in the 'transport_mbox_file' setting below</dd><dt>&lt;classname&gt;</dt><dd>Custom class which implements Swift_Transport. The constructor receives all settings from the MAIL section to make it possible to add custom settings.</dd></dl>
                'transport_smtp_server' => 'localhost:25',                      // String: <em>only with transport=smtp</em>: &lt;server:port> of mailserver to connect to. &lt;port> defaults to "25".
                'transport_smtp_encrypt' => '',         // String: <em>only with transport=smtp</em>: Connect to the server using the specified transport protocol. Requires openssl library. Usually available: <em>ssl, sslv2, sslv3, tls</em>. Check <a href="http://www.php.net/stream_get_transports" target="_blank">stream_get_transports()</a>.
                'transport_smtp_username' => '',                // String: <em>only with transport=smtp</em>: If your SMTP server requires authentication, enter your username here.
                'transport_smtp_password' => '',                // String: <em>only with transport=smtp</em>: If your SMTP server requires authentication, enter your password here.
                'transport_sendmail_command' => '/usr/sbin/sendmail -bs',       // String: <em>only with transport=sendmail</em>: The command to call to send a mail locally. The default works on most modern UNIX based mail server (sendmail, postfix, exim)
                'transport_mbox_file' => '',    // String: <em>only with transport=mbox</em>: The file where to write the mails into. This file will be conforming the mbox format described in RFC 4155. It is a simple text file with a concatenation of all mails. Path must be absolute.
-               'substituteOldMailAPI' => 1,    // Boolean: If this is set, old calls to t3lib_utility_mail::Mail() will be translated to new t3lib_mail calls. This should work on most cases and thus respect the above transport settings. If you get garbled emails (or no attachments), consider setting this off. Ask the extension author to upgrade their code to make use of t3lib_mail (instead of the deprecated t3lib_htmlmail).
                'defaultMailFromAddress' => '',                 // String: This default email address is used when no other "from" address is set for a TYPO3-generated email. You can specify an email address only (ex. info@example.org).
                'defaultMailFromName' => '',                    // String: This default name is used when no other "from" name is set for a TYPO3-generated email.
        ),
+       'HTTP' => array(                                                // HTTP configuration to tune how TYPO3 behaves on HTTP request. Have a look at <a href="http://pear.php.net/manual/en/package.http.http-request2.config.php>HTTP_Request2 Manual</a> for some background information on those settings.
+               'adapter' => 'socket',                          // String: Default adapter - either "socket" or "curl".
+               'connect_timeout' => 10,                        // Integer: Default timeout for connection. Exception will be thrown if connecting to remote host takes more than this number of seconds.
+               'timeout' => 0,                                         // Integer: Default timeout for whole request. Exception will be thrown if sending the request takes more than this number of seconds. Should be greater than connection timeout (see above) or "0" to not set a limit. Defaults to "0".
+               'protocol_version' => '1.1',            // String: Default HTTP protocol version. Use either "1.0" or "1.1".
+               'follow_redirects' => FALSE,            // Boolean: If set, redirects are followed by default. If number of tries are exceeded, an exception is thrown.
+               'max_redirects' => 5,                           // Integer: Maximum number of tries before an exception is thrown.
+               'strict_redirects' => FALSE,            // Boolean: Whether to keep request method on redirects via status 301 and 302 (TRUE, needed for compatibility with <a href="http://www.faqs.org/rfcs/rfc2616">RFC 2616</a>) or switch to GET (FALSE, needed for compatibility with most browsers). There are some <a href="http://pear.php.net/manual/en/package.http.http-request2.adapters.php#package.http.http-request2.adapters.curl">issues with cURL adapter</a>. Defaults to FALSE.
+               'proxy_host' => '',                             // String: Default proxy server as "http://proxy.example.org" (You must not set the port here. Set the port below.)
+               'proxy_port' => '',                             // Integer: Default proxy server port.
+               'proxy_user' => '',                             // String: Default user name.
+               'proxy_password' => '',                         // String: Default password.
+               'proxy_auth_scheme' => 'basic',         // String: Default authentication method. Can either be "basic" or "digest". Defaults to "basic".
+               'ssl_verify_peer' => FALSE,                     // Boolean: Whether to verify peer's SSL certificate. Turned off by default, due to <a href="http://pear.php.net/manual/en/package.http.http-request2.adapters.php#package.http.http-request2.adapters.socket" target="_blank">issues with Socket adapter</a>. You are advised to use the <em>curl</em> adapter and enable this option!
+               'ssl_verify_host' => TRUE,                      // Boolean: Whether to check that Common Name in SSL certificate matches host name. There are some <a href="http://pear.php.net/manual/en/package.http.http-request2.adapters.php#package.http.http-request2.adapters.socket" target="_blank">issues with Socket Adapter</a>.
+               'ssl_cafile' => '',                                     // String: Certificate Authority file to verify the peer with (use when ssl_verify_peer is TRUE).
+               'ssl_capath' => '',                                     // String: Directory holding multiple Certificate Authority files.
+               'ssl_local_cert' => '',                         // String: Name of a file containing local certificate.
+               'ssl_passphrase' => '',                         // String: Passphrase with which local certificate was encoded.
+               'userAgent' => '',                                      // String: Default user agent. If empty, this will be "TYPO3/4.x", while x is the current branch version. This overrides the constant <em>TYPO3_user_agent</em>.
+       ),
        'MODS' => array(                // Backend Module Configuration (obsolete, make extension instead)
        ),
        'USER' => array(                // Here you may define your own setup-vars for use in your include-scripts. (obsolete, make extension instead)
@@ -612,15 +657,6 @@ $TYPO3_CONF_VARS = array(
                                'default' => 't3lib/class.t3lib_frontendedit.php:t3lib_frontendedit'
                        )
                ),
-               'ExtDirect' => array(   // array of key value pairs (provider -> location:className) that holds the classes for the ExtDirect functionality
-                       'TYPO3.CSH.ExtDirect' => 't3lib/extjs/dataprovider/class.extdirect_dataprovider_contexthelp.php:extDirect_DataProvider_ContextHelp',
-                       'TYPO3.LiveSearchActions.ExtDirect' => 't3lib/extjs/dataprovider/class.extdirect_dataprovider_backendlivesearch.php:extDirect_DataProvider_BackendLiveSearch',
-                       'TYPO3.BackendUserSettings.ExtDirect' => 't3lib/extjs/dataprovider/class.extdirect_dataprovider_beusersettings.php:extDirect_DataProvider_BackendUserSettings',
-                       'TYPO3.ExtDirectStateProvider.ExtDirect' => 't3lib/extjs/dataprovider/class.extdirect_dataprovider_state.php:extDirect_DataProvider_State',
-                       'TYPO3.Components.PageTree.DataProvider' => 't3lib/tree/pagetree/extdirect/class.t3lib_tree_pagetree_extdirect_tree.php:t3lib_tree_pagetree_extdirect_Tree',
-                       'TYPO3.Components.PageTree.Commands' => 't3lib/tree/pagetree/extdirect/class.t3lib_tree_pagetree_extdirect_tree.php:t3lib_tree_pagetree_extdirect_Commands',
-                       'TYPO3.Components.PageTree.ContextMenuDataProvider' => 't3lib/contextmenu/pagetree/extdirect/class.t3lib_contextmenu_pagetree_extdirect_contextmenu.php:t3lib_contextmenu_pagetree_extdirect_ContextMenu',
-               ),
        ),
        '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';
                'cms' => array(
@@ -643,14 +679,60 @@ $TYPO3_CONF_VARS = array(
 //             Eg.  ...['service_type']['service_key']['my_option'] = 'my_value';
        )
 );
+
+if (TYPO3_MODE === 'BE') {
+       t3lib_extMgm::registerExtDirectComponent(
+               'TYPO3.Components.PageTree.DataProvider',
+               PATH_t3lib . 'tree/pagetree/extdirect/class.t3lib_tree_pagetree_extdirect_tree.php:t3lib_tree_pagetree_extdirect_Tree',
+               'web',
+               'user,group'
+       );
+
+       t3lib_extMgm::registerExtDirectComponent(
+               'TYPO3.Components.PageTree.Commands',
+               PATH_t3lib . 'tree/pagetree/extdirect/class.t3lib_tree_pagetree_extdirect_tree.php:t3lib_tree_pagetree_extdirect_Commands',
+               'web',
+               'user,group'
+       );
+
+       t3lib_extMgm::registerExtDirectComponent(
+               'TYPO3.Components.PageTree.ContextMenuDataProvider',
+               PATH_t3lib . 'contextmenu/pagetree/extdirect/class.t3lib_contextmenu_pagetree_extdirect_contextmenu.php:t3lib_contextmenu_pagetree_extdirect_ContextMenu',
+               'web',
+               'user,group'
+       );
+
+       t3lib_extMgm::registerExtDirectComponent(
+               'TYPO3.LiveSearchActions.ExtDirect',
+               PATH_t3lib . 'extjs/dataprovider/class.extdirect_dataprovider_backendlivesearch.php:extDirect_DataProvider_BackendLiveSearch',
+               'web_list',
+               'user,group'
+       );
+
+       t3lib_extMgm::registerExtDirectComponent(
+               'TYPO3.BackendUserSettings.ExtDirect',
+               PATH_t3lib . 'extjs/dataprovider/class.extdirect_dataprovider_beusersettings.php:extDirect_DataProvider_BackendUserSettings'
+       );
+
+       t3lib_extMgm::registerExtDirectComponent(
+               'TYPO3.CSH.ExtDirect',
+               PATH_t3lib . 'extjs/dataprovider/class.extdirect_dataprovider_contexthelp.php:extDirect_DataProvider_ContextHelp'
+       );
+
+       t3lib_extMgm::registerExtDirectComponent(
+               'TYPO3.ExtDirectStateProvider.ExtDirect',
+               PATH_t3lib . 'extjs/dataprovider/class.extdirect_dataprovider_state.php:extDirect_DataProvider_State'
+       );
+}
+
 $T3_VAR = array();     // Initialize.
 
-       // TYPO3 version
-$TYPO_VERSION = '4.6-dev';     // deprecated: use the constants defined below
-define('TYPO3_version', $TYPO_VERSION);
-define('TYPO3_branch', '4.6');
-define('TYPO3_copyright_year', '1998-2011');
-define('TYPO3_user_agent', 'User-Agent: TYPO3/'.TYPO3_version);
+       // Handle $GLOBALS['TYPO3_CONF_VARS']['HTTP']['userAgent']. We can not set the default above
+       // because TYPO3_version is not yet defined.
+if (empty($GLOBALS['TYPO3_CONF_VARS']['HTTP']['userAgent'])) {
+       $GLOBALS['TYPO3_CONF_VARS']['HTTP']['userAgent'] = 'TYPO3/' . TYPO3_version;
+}
+define('TYPO3_user_agent', 'User-Agent: '. $GLOBALS['TYPO3_CONF_VARS']['HTTP']['userAgent']);
 
 // Database-variables are cleared!
 $typo_db = '';                                 // The database name
@@ -660,95 +742,147 @@ $typo_db_host = '';                              // The database host
 $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.
 $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.
 
-// TYPO3 links
-define('TYPO3_URL_GENERAL', 'http://typo3.com/');
-define('TYPO3_URL_ORG', 'http://typo3.org/');
-define('TYPO3_URL_LICENSE', 'http://typo3.org/license');
-define('TYPO3_URL_EXCEPTION', 'http://typo3.org/go/exception/v4/');
-define('TYPO3_URL_MAILINGLISTS', 'http://lists.typo3.org/cgi-bin/mailman/listinfo');
-define('TYPO3_URL_DOCUMENTATION', 'http://typo3.org/documentation/');
-define('TYPO3_URL_DOCUMENTATION_TSREF', 'http://typo3.org/documentation/document-library/references/doc_core_tsref/current/view/');
-define('TYPO3_URL_DOCUMENTATION_TSCONFIG', 'http://typo3.org/documentation/document-library/references/doc_core_tsconfig/current/view/');
-define('TYPO3_URL_CONSULTANCY', 'http://typo3.com/Consultancies.1248.0.html');
-define('TYPO3_URL_CONTRIBUTE', 'http://typo3.org/community/participate/');
-define('TYPO3_URL_SECURITY', 'http://typo3.org/teams/security/');
-define('TYPO3_URL_DOWNLOAD', 'http://typo3.org/download/packages/');
-define('TYPO3_URL_SYSTEMREQUIREMENTS', 'http://typo3.org/1275.0.html');
-define('TYPO3_URL_DONATE', 'http://typo3.org/donate/');
-
        // Include localconf.php. Use this file to configure TYPO3 for your needs and database
 if (!@is_file(PATH_typo3conf . 'localconf.php')) {
-       throw new Exception('localconf.php is not found!');
+       throw new RuntimeException('localconf.php is not found!', 1333754332);
 }
 require(PATH_typo3conf.'localconf.php');
 
 
+function initializeCachingFramework() {
+       require_once (PATH_t3lib . 'class.t3lib_cache.php');
+       require_once (PATH_t3lib . 'cache/class.t3lib_cache_exception.php');
+       require_once (PATH_t3lib . 'cache/exception/class.t3lib_cache_exception_nosuchcache.php');
+       require_once (PATH_t3lib . 'cache/exception/class.t3lib_cache_exception_invaliddata.php');
+       require_once (PATH_t3lib . 'interfaces/interface.t3lib_singleton.php');
+       require_once (PATH_t3lib . 'cache/class.t3lib_cache_factory.php');
+       require_once (PATH_t3lib . 'cache/class.t3lib_cache_manager.php');
+       require_once (PATH_t3lib . 'cache/frontend/interfaces/interface.t3lib_cache_frontend_frontend.php');
+       require_once (PATH_t3lib . 'cache/frontend/class.t3lib_cache_frontend_abstractfrontend.php');
+       require_once (PATH_t3lib . 'cache/frontend/class.t3lib_cache_frontend_stringfrontend.php');
+       require_once (PATH_t3lib . 'cache/frontend/class.t3lib_cache_frontend_phpfrontend.php');
+       require_once (PATH_t3lib . 'cache/backend/interfaces/interface.t3lib_cache_backend_backend.php');
+       require_once (PATH_t3lib . 'cache/backend/class.t3lib_cache_backend_abstractbackend.php');
+       require_once (PATH_t3lib . 'cache/backend/interfaces/interface.t3lib_cache_backend_phpcapablebackend.php');
+       require_once (PATH_t3lib . 'cache/backend/class.t3lib_cache_backend_filebackend.php');
+       require_once (PATH_t3lib . 'cache/backend/class.t3lib_cache_backend_nullbackend.php');
+       t3lib_cache::initializeCachingFramework();
+}
+
+       // The autoloader must be required BEFORE the initialization of the caching framework,
+       // because we need one method from the autoloader in t3lib_div::getClassName
+       // which will be used during the caching framework startup
+require_once(PATH_t3lib . 'class.t3lib_autoloader.php');
+
+initializeCachingFramework();
+
+
+// *********************
+// Autoloader
+// *********************
+t3lib_autoloader::registerAutoloader();
+
+/**
+ * Add typo3/contrib/pear/ as first include folder in
+ * include path, because the shipped PEAR packages use
+ * relative paths to include their files.
+ *
+ * This is required for t3lib_http_Request to work.
+ *
+ * Having the TYPO3 folder first will make sure that the
+ * shipped version is loaded before any local PEAR package,
+ * thus avoiding any incompatibilities with newer or older
+ * versions.
+ */
+set_include_path(PATH_typo3 . 'contrib/pear/' . PATH_SEPARATOR . get_include_path());
+
 /**
  * Checking for UTF-8 in the settings since TYPO3 4.5
  *
  * Since TYPO3 4.5, everything other than UTF-8 is deprecated.
- * The -1 operator is used to see if the option was set in the installations localconf.php.
  *
  *   [BE][forceCharset] is set to the charset that TYPO3 is using
  *   [SYS][setDBinit] is used to set the DB connection
  * and both settings need to be adjusted for UTF-8 in order to work properly
  */
-       // If this value is -1 then the setting has not been modified in localconf.php
-if ($TYPO3_CONF_VARS['BE']['forceCharset'] == '-1' && $typo_db) {
-       if (t3lib_div::compat_version('4.5')) {
-                       // 1) no option was set in localconf.php but the Update Wizard
-                       //    was already used, so the admin is knowing what he's doing,
-                       // 2) a new installation with the new default value
-               $TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';
-       } elseif (TYPO3_enterInstallScript !== '1') {
-                       // The value needs to be set in localconf.php
-               die('This installation was just upgraded to TYPO3 ' . TYPO3_branch . '. In this version, some default settings have changed.<br />' .
-                       'You can continue to use your settings by specifying the former default values in localconf.php.<br />' .
-                       'Please proceed to the Update Wizard in the TYPO3 Install Tool to update your configuration.');
+       // Check if [BE][forceCharset] has been set in localconf.php
+if (isset($TYPO3_CONF_VARS['BE']['forceCharset'])) {
+               // die() unless we're already on UTF-8
+       if ($TYPO3_CONF_VARS['BE']['forceCharset'] != 'utf-8' && $TYPO3_CONF_VARS['BE']['forceCharset'] && TYPO3_enterInstallScript !== '1') {
+               die('This installation was just upgraded to a new TYPO3 version. Since TYPO3 4.7, utf-8 is always enforced.<br />' .
+                       'The configuration option $TYPO3_CONF_VARS[BE][forceCharset] was marked as deprecated in TYPO3 4.5 and is now ignored.<br />' .
+                       'You have configured the value to something different, which is not supported anymore.<br />' .
+                       'Please proceed to the Update Wizard in the TYPO3 Install Tool to update your configuration.'
+               );
+       } else {
+               unset($TYPO3_CONF_VARS['BE']['forceCharset']);
        }
-
-} elseif ($TYPO3_CONF_VARS['BE']['forceCharset'] !== 'utf-8' && $typo_db) {
-       t3lib_div::deprecationLog('This TYPO3 installation does not enforce the UTF-8 character set.' . chr(10) .
-               'Everything other than UTF-8 is deprecated since TYPO3 4.5.' . chr(10) .
-               'The DB, its connection and TYPO3 should be migrated to UTF-8 therefore. Please check your setup.');
 }
 
-
-       // If this value is -1 then the setting has not been modified in localconf.php
-if ($TYPO3_CONF_VARS['SYS']['setDBinit'] == '-1' && $typo_db) {
-       if (t3lib_div::compat_version('4.5')) {
-                       // 1) no option was set in localconf.php but the Update Wizard
-                       //    was already used, so the admin is knowing what he's doing,
-                       // 2) a new installation with the new default value
-               $TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8';
-       } elseif (TYPO3_enterInstallScript !== '1' && $typo_db) {
-                       // The value needs to be set in localconf.php
-               die('This installation was just upgraded to TYPO3 ' . TYPO3_branch . '. In this version, some default settings have changed.<br />' .
-                       'You can continue to use your settings by specifying the former default values in localconf.php.<br />' .
-                       'Please proceed to the Update Wizard in the TYPO3 Install Tool to update your configuration.');
-       }
-
-       // Only accept "SET NAMES utf8" for this setting. Otherwise, a deprecation warning will be issued.
-} elseif (!preg_match('/SET NAMES utf8/', $TYPO3_CONF_VARS['SYS']['setDBinit']) && $typo_db) {
-               // TODO: Add a link to a website with more information here
-       t3lib_div::deprecationLog('This TYPO3 installation is using the $TYPO3_CONF_VARS[\'SYS\'][\'setDBinit\'] property with the following value:' . chr(10) .
+if (isset($TYPO3_CONF_VARS['SYS']['setDBinit']) &&
+       $TYPO3_CONF_VARS['SYS']['setDBinit'] !== '-1' &&
+       preg_match('/SET NAMES utf8/', $TYPO3_CONF_VARS['SYS']['setDBinit']) === FALSE &&
+       TYPO3_enterInstallScript !== '1'
+) {
+               // Only accept "SET NAMES utf8" for this setting, otherwise die with a nice error
+       die('This TYPO3 installation is using the $TYPO3_CONF_VARS[\'SYS\'][\'setDBinit\'] property with the following value:' . chr(10) .
                $TYPO3_CONF_VARS['SYS']['setDBinit'] . chr(10) . chr(10) .
                'It looks like UTF-8 is not used for this connection.' . chr(10) . chr(10) .
-               'Everything other than UTF-8 is deprecated since TYPO3 4.5.' . chr(10) .
+               'Everything other than UTF-8 is unsupported since TYPO3 4.7.' . chr(10) .
                'The DB, its connection and TYPO3 should be migrated to UTF-8 therefore. Please check your setup.');
+} else {
+       $TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8;';
 }
 
 
-       // If this value is not -1, then the setting has been modified in localconf.php
-if ($GLOBALS['TYPO3_CONF_VARS']['SYS']['useCachingFramework'] !== -1) {
-               // Deprecation log since 4.6, can be removed in 4.8. Checks if obsolete useCachingFramework is set
-       t3lib_div::deprecationLog('Setting $GLOBALS[\'TYPO3_CONF_VARS\'][\'SYS\'][\'useCachingFramework\'] is obsolete since TYPO3 4.6 and should be removed from localconf.php.');
+
+/**
+ * Parse old curl options and set new http ones instead
+ *
+ * @deprecated Deprecated since 4.6 - will be removed in 4.8.
+ */
+if (!empty($GLOBALS['TYPO3_CONF_VARS']['SYS']['curlProxyServer'])) {
+       $proxyParts = explode(':', $GLOBALS['TYPO3_CONF_VARS']['SYS']['curlProxyServer'], 2);
+       $GLOBALS['TYPO3_CONF_VARS']['HTTP']['proxy_host'] = $proxyParts[0];
+       $GLOBALS['TYPO3_CONF_VARS']['HTTP']['proxy_port'] = $proxyParts[1];
+       /* TODO: uncomment after refactoring getUrl()
+       t3lib_div::deprecationLog(
+               'This TYPO3 installation is using the $TYPO3_CONF_VARS[\'SYS\'][\'curlProxyServer\'] property with the following value: ' .
+               $TYPO3_CONF_VARS['SYS']['curlProxyServer'] . LF . 'Please make sure to set $TYPO3_CONF_VARS[\'HTTP\'][\'proxy_host\']' .
+               ' and $TYPO3_CONF_VARS[\'HTTP\'][\'proxy_port\'] instead.' . LF . 'Remove this line from your localconf.php.'
+       );*/
+}
+if (!empty($GLOBALS['TYPO3_CONF_VARS']['SYS']['curlProxyUserPass'])) {
+       $userPassParts = explode(':', $GLOBALS['TYPO3_CONF_VARS']['SYS']['curlProxyUserPass'], 2);
+       $GLOBALS['TYPO3_CONF_VARS']['HTTP']['proxy_user'] = $userPassParts[0];
+       $GLOBALS['TYPO3_CONF_VARS']['HTTP']['proxy_password'] = $userPassParts[1];
+       /* TODO: uncomment after refactoring getUrl()
+       t3lib_div::deprecationLog(
+               'This TYPO3 installation is using the $TYPO3_CONF_VARS[\'SYS\'][\'curlProxyUserPass\'] property with the following value: ' .
+               $TYPO3_CONF_VARS['SYS']['curlProxyUserPass'] . LF . 'Please make sure to set $TYPO3_CONF_VARS[\'HTTP\'][\'proxy_user\']' .
+               ' and $TYPO3_CONF_VARS[\'HTTP\'][\'proxy_password\'] instead.' . LF . 'Remove this line from your localconf.php.'
+       );*/
 }
-       // Force enabled caching framework
-       // @deprecated, constant can be removed in 4.8
-define('TYPO3_UseCachingFramework', TRUE);
-       // @deprecated, can be removed in 4.8
-$GLOBALS['TYPO3_CONF_VARS']['SYS']['useCachingFramework'] = TRUE;
+
+/**
+ * Set cacheHash options
+ */
+$GLOBALS['TYPO3_CONF_VARS']['FE']['cacheHash'] = array(
+       'cachedParametersWhiteList' => t3lib_div::trimExplode(',', $GLOBALS['TYPO3_CONF_VARS']['FE']['cHashOnlyForParameters'], TRUE),
+       'excludedParameters' => t3lib_div::trimExplode(',', $GLOBALS['TYPO3_CONF_VARS']['FE']['cHashExcludedParameters'], TRUE),
+       'requireCacheHashPresenceParameters' => t3lib_div::trimExplode(',', $GLOBALS['TYPO3_CONF_VARS']['FE']['cHashRequiredParameters'], TRUE),
+);
+if (trim($GLOBALS['TYPO3_CONF_VARS']['FE']['cHashExcludedParametersIfEmpty']) === '*') {
+       $GLOBALS['TYPO3_CONF_VARS']['FE']['cacheHash']['excludeAllEmptyParameters'] = TRUE;
+} else {
+       $GLOBALS['TYPO3_CONF_VARS']['FE']['cacheHash']['excludedParametersIfEmpty'] = t3lib_div::trimExplode(',', $GLOBALS['TYPO3_CONF_VARS']['FE']['cHashExcludedParametersIfEmpty'], TRUE);
+}
+
+
+       // ['HTTP']['proxy_auth_scheme'] can only be 'digest' or 'basic'
+$GLOBALS['TYPO3_CONF_VARS']['HTTP']['proxy_auth_scheme'] === 'digest' ?
+       $GLOBALS['TYPO3_CONF_VARS']['HTTP']['proxy_auth_scheme'] = 'digest' :
+       $GLOBALS['TYPO3_CONF_VARS']['HTTP']['proxy_auth_scheme'] = 'basic';
 
 
 $timeZone = $GLOBALS['TYPO3_CONF_VARS']['SYS']['phpTimeZone'];
@@ -772,15 +906,8 @@ define('TYPO3_db_host', $typo_db_host);
 define('TYPO3_tables_script', $typo_db_tables_script);
 define('TYPO3_extTableDef_script', $typo_db_extTableDef_script);
 
-       // Defining backend system languages
-       // When adding new keys, remember to:
-       //              - Update pages.lang item array (t3lib/stddb/tbl_be.php)
-       //              - Add character encoding for lang. key in t3lib/class.t3lib_cs.php (default for new languages is "utf-8")
-       //              - Add mappings for language in t3lib/class.t3lib_cs.php (TYPO3/ISO, language/script, script/charset)
-       //              - Update 'setup' extension labels (sysext/setup/mod/locallang.xml)
-       //              - Using translation server? Create new user with username = "language key", member of "translator" group, set to "language key" language.
-       // Thats it! Use extension "llxmltranslate" to begin translation. Language pack is automatically created in "typo3conf/l10n/[language key]/"
-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|eo|my|hi|fo|fa|sr|sq|ge|ga|km|qc');
+       // Initialize the locales handled by TYPO3
+t3lib_l10n_Locales::initialize();
 
        // Unsetting the configured values. Use of these are deprecated.
 unset($typo_db);
@@ -864,9 +991,7 @@ $TYPO3_CONF_VARS['SC_OPTIONS']['errors']['exceptionHandler'] = $TYPO3_CONF_VARS[
 $TYPO3_CONF_VARS['SC_OPTIONS']['errors']['exceptionalErrors'] = $TYPO3_CONF_VARS['SYS']['exceptionalErrors'];
 
        // Mail sending via Swift Mailer
-if ($TYPO3_CONF_VARS['MAIL']['substituteOldMailAPI']) {
-       $TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/utility/class.t3lib_utility_mail.php']['substituteMailDelivery'][] = 't3lib_mail_SwiftMailerAdapter';
-}
+$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/utility/class.t3lib_utility_mail.php']['substituteMailDelivery'][] = 't3lib_mail_SwiftMailerAdapter';
 
        // Turn error logging on/off.
 if (($displayErrors = intval($TYPO3_CONF_VARS['SYS']['displayErrors'])) != '-1')       {
@@ -914,16 +1039,7 @@ define('TYPO3_REQUESTTYPE',
 );
 
 
-// *********************
-// Autoloader
-// *********************
-require_once(PATH_t3lib . 'class.t3lib_autoloader.php');
-t3lib_autoloader::registerAutoloader();
-
-
-
 // Load extensions:
-if (TYPO3_MODE=='FE' && is_object($TT)) $TT->push('Loading localconf.php extensions','');
 $TYPO3_LOADED_EXT = t3lib_extMgm::typo3_loadExtensions();
 if ($TYPO3_LOADED_EXT['_CACHEFILE'])   {
        require(PATH_typo3conf.$TYPO3_LOADED_EXT['_CACHEFILE'].'_ext_localconf.php');
@@ -936,15 +1052,31 @@ if ($TYPO3_LOADED_EXT['_CACHEFILE'])     {
                }
        }
 }
-if (TYPO3_MODE=='FE' && is_object($TT)) $TT->pull();
 
-require_once(t3lib_extMgm::extPath('lang') . 'lang.php');
+       // Write deprecation log if the TYPO3 instance uses deprecated XCLASS
+       // registrations via $GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']
+if(count($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']) > 0) {
+       t3lib_div::deprecationLog('This installation runs with extensions that use XCLASSing by setting the XCLASS path in ext_localconf.php. This is deprecated and will be removed in TYPO3 6.2 and later. It is preferred to define XCLASSes in ext_autoload.php instead. See http://wiki.typo3.org/Autoload for more information.');
+}
 
-       // Deprecation log since 4.6, can be removed in 4.8. Checks if obsolete pageCacheToExternalFiles is set
-if (isset($GLOBALS['TYPO3_CONF_VARS']['FE']['pageCacheToExternalFiles'])) {
-       t3lib_div::deprecationLog('Setting $GLOBALS[\'TYPO3_CONF_VARS\'][\'FE\'][\'pageCacheToExternalFiles\'] is deprecated since TYPO3 4.6 and should be removed.');
+
+       // Error & Exception handling
+if ($TYPO3_CONF_VARS['SC_OPTIONS']['errors']['exceptionHandler'] !== '') {
+       if ($TYPO3_CONF_VARS['SYS']['errorHandler'] !== '') {
+                       //      Register an error handler for the given errorHandlerErrors
+               $errorHandler = t3lib_div::makeInstance($TYPO3_CONF_VARS['SYS']['errorHandler'], $TYPO3_CONF_VARS['SYS']['errorHandlerErrors']);
+                       // Set errors which will be converted in an exception
+               $errorHandler->setExceptionalErrors($TYPO3_CONF_VARS['SC_OPTIONS']['errors']['exceptionalErrors']);
+       }
+       $exceptionHandler = t3lib_div::makeInstance($TYPO3_CONF_VARS['SC_OPTIONS']['errors']['exceptionHandler']);
 }
 
+       // Extensions may register new caches, so we set the
+       // global cache array to the manager again at this point
+$GLOBALS['typo3CacheManager']->setCacheConfigurations($GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']);
+
+require_once(t3lib_extMgm::extPath('lang') . 'lang.php');
+
        // Define "TYPO3_DLOG" constant
 define('TYPO3_DLOG', $GLOBALS['TYPO3_CONF_VARS']['SYS']['enable_DLOG']);
 
@@ -954,7 +1086,6 @@ define('TYPO3_EXCEPTION_DLOG', $GLOBALS['TYPO3_CONF_VARS']['SYS']['enable_except
        // Unsetting other reserved global variables:
        // Those which are/can be set in "stddb/tables.php" files:
 unset($PAGES_TYPES);
-unset($ICON_TYPES);
 unset($TCA);
 unset($TBE_MODULES);
 unset($TBE_STYLES);
@@ -978,4 +1109,4 @@ $SIM_EXEC_TIME = $EXEC_TIME;                       // $SIM_EXEC_TIME is set to $EXEC_TIME but can be
 $ACCESS_TIME = $EXEC_TIME - ($EXEC_TIME % 60);         // $ACCESS_TIME is a common time in minutes for access control
 $SIM_ACCESS_TIME = $ACCESS_TIME;               // if $SIM_EXEC_TIME is changed this value must be set accordingly
 
-?>
+?>
\ No newline at end of file