From f078009b154ad6c4903e5d1a33253a55007fd5b4 Mon Sep 17 00:00:00 2001
From: Markus Klein <klein.t3@mfc-linz.at>
Date: Fri, 13 Apr 2012 19:05:13 +0200
Subject: [PATCH] [CLEANUP] Remove simulate static from Core

This patch removes the old simulate_static system extension.
Since tslib_fe still contains idPartsAnalyze(), which is a relict of
simulate static methods, this method also removed.

Change-Id: I3631909fe6a77fd0861e7be5acdb6f3bf82fdb42
Resolves: #25099
Releases: 6.0
Reviewed-on: http://review.typo3.org/9132
Reviewed-by: Stefan Galinski
Tested-by: Stefan Galinski
Reviewed-by: Wouter Wolters
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
---
 _.htaccess                                    |  20 +-
 t3lib/class.t3lib_parsehtml_proc.php          |   2 +-
 t3lib/class.t3lib_softrefproc.php             |   2 +-
 t3lib/class.t3lib_tcemain.php                 |   3 +-
 t3lib/config_default.php                      |   1 -
 typo3/sysext/cms/ext_localconf.php            |   7 +-
 .../sysext/cms/tslib/class.tslib_content.php  |   4 +-
 typo3/sysext/cms/tslib/class.tslib_fe.php     |  54 +--
 typo3/sysext/cms/tslib/class.tslib_pibase.php |   2 +-
 ...class.tx_coreupdates_installnewsysexts.php |   4 +-
 .../class.tx_coreupdates_installsysexts.php   |   2 +-
 .../class.tx_simulatestatic.php               | 396 ------------------
 typo3/sysext/simulatestatic/ext_emconf.php    |  51 ---
 typo3/sysext/simulatestatic/ext_localconf.php |   9 -
 .../parse_typoscript/tokenizetyposcript.js    |  32 +-
 typo3/sysext/t3editor/res/tsref/tsref.xml     | 122 +-----
 16 files changed, 47 insertions(+), 664 deletions(-)
 delete mode 100644 typo3/sysext/simulatestatic/class.tx_simulatestatic.php
 delete mode 100644 typo3/sysext/simulatestatic/ext_emconf.php
 delete mode 100644 typo3/sysext/simulatestatic/ext_localconf.php

diff --git a/_.htaccess b/_.htaccess
index 3c623c2b9283..c3efd3e93103 100644
--- a/_.htaccess
+++ b/_.htaccess
@@ -1,35 +1,35 @@
 #####
-# 
+#
 # Example .htaccess file for TYPO3 CMS - for use with Apache Webserver
-# 
+#
 # This file includes settings for the following configuration options:
-# 
+#
 # - Compression via TYPO3
 # - Settings for mod_rewrite (URL-Rewriting)
 # - PHP optimisation
 # - Miscellaneous
-# 
+#
 # If you want to use it, you have to copy it to the root folder of your TYPO3 installation (if its
 # not there already) and rename it to '.htaccess'. To make .htaccess files work, you might need to
 # adjust the 'AllowOverride' directive in your Apache configuration file.
-# 
+#
 # IMPORTANT: You may need to change this file depending on your TYPO3 installation!
 #
 # Lines starting with a # are treated as comment and ignored by the web server.
-# 
+#
 # You should change every occurance of TYPO3root/ to the location where you have your website in.
 # For example:
 # If you have your website located at http://mysite.com/
 # then your TYPO3root/ is just empty (remove 'TYPO3root/')
 # If you have your website located at http://mysite.com/some/path/
 # then your TYPO3root/ is some/path/ (search and replace)
-# 
+#
 # You can also use this configuration in your httpd.conf, but then you have to modify some lines,
 # see the comments (search for 'httpd.conf')
-# 
+#
 # Questions about this file go to the matching Install mailing list, see
 # http://typo3.org/documentation/mailing-lists/
-# 
+#
 ####
 
 
@@ -73,7 +73,7 @@
 
 ### Begin: Settings for mod_rewrite ###
 
-# You need rewriting, if you use a URL-Rewriting extension (RealURL, CoolUri, SimulateStatic).
+# You need rewriting, if you use a URL-Rewriting extension (RealURL, CoolUri).
 
 <IfModule mod_rewrite.c>
 
diff --git a/t3lib/class.t3lib_parsehtml_proc.php b/t3lib/class.t3lib_parsehtml_proc.php
index 8046c1cdabf1..ddba25e9b33e 100644
--- a/t3lib/class.t3lib_parsehtml_proc.php
+++ b/t3lib/class.t3lib_parsehtml_proc.php
@@ -661,7 +661,7 @@ class t3lib_parsehtml_proc extends t3lib_parsehtml {
 					$external = FALSE;
 						// Parse URL:
 					$pU = parse_url($link_param);
-						// Detects if a file is found in site-root OR is a simulateStaticDocument.
+						// Detects if a file is found in site-root.
 					list($rootFileDat) = explode('?', $link_param);
 					$rFD_fI = pathinfo($rootFileDat);
 					if (trim($rootFileDat) && !strstr($link_param, '/') && (@is_file(PATH_site . $rootFileDat) || t3lib_div::inList('php,html,htm', strtolower($rFD_fI['extension'])))) {
diff --git a/t3lib/class.t3lib_softrefproc.php b/t3lib/class.t3lib_softrefproc.php
index e280e7019a51..a7f335e624c9 100644
--- a/t3lib/class.t3lib_softrefproc.php
+++ b/t3lib/class.t3lib_softrefproc.php
@@ -616,7 +616,7 @@ class t3lib_softrefproc {
 			$fileChar = intval(strpos($link_param, '/'));
 			$urlChar = intval(strpos($link_param, '.'));
 
-				// Detects if a file is found in site-root (or is a 'virtual' simulateStaticDocument file!) and if so it will be treated like a normal file.
+				// Detects if a file is found in site-root and if so it will be treated like a normal file.
 			list($rootFileDat) = explode('?', rawurldecode($link_param));
 			$containsSlash = strstr($rootFileDat, '/');
 			$rFD_fI = pathinfo($rootFileDat);
diff --git a/t3lib/class.t3lib_tcemain.php b/t3lib/class.t3lib_tcemain.php
index 530c41ad89fb..038478093d95 100644
--- a/t3lib/class.t3lib_tcemain.php
+++ b/t3lib/class.t3lib_tcemain.php
@@ -6712,8 +6712,7 @@ class t3lib_TCEmain {
 	 * Note: The following cache_* are intentionally not cleared by
 	 * $cacheCmd='all':
 	 *
-	 * - cache_md5params:	Clearing this table would destroy all simulateStatic
-	 *						 URLs, simulates file name and RDCT redirects.
+	 * - cache_md5params:	RDCT redirects.
 	 * - cache_imagesizes:	Clearing this table would cause a lot of unneeded
 	 *						 Imagemagick calls because the size informations have
 	 *						 to be fetched again after clearing.
diff --git a/t3lib/config_default.php b/t3lib/config_default.php
index 20395a5c3c08..ec295038b9bb 100644
--- a/t3lib/config_default.php
+++ b/t3lib/config_default.php
@@ -556,7 +556,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.
diff --git a/typo3/sysext/cms/ext_localconf.php b/typo3/sysext/cms/ext_localconf.php
index 3e60ebf29930..9cc257e07ff4 100644
--- a/typo3/sysext/cms/ext_localconf.php
+++ b/typo3/sysext/cms/ext_localconf.php
@@ -166,12 +166,7 @@ $TYPO3_CONF_VARS['SC_OPTIONS']['ext/install']['compat_version']['cms'] = array(
 	'title' => 'CMS Frontend',
 	'version' => 4000000,
 	'description' => '<ul>' .
-					'<li><p>Word separator character for simulateStaticDocument is changed from ' .
-					'underscore (_) to hyphen (-) to make URLs more friendly for search engines' .
-					'URLs that are already existing (e.g. external links to your site) will still work like before.</p>' .
-					'<p>You can set the separator character back to an underscore by putting the following line into the '.
-					'<strong>Setup</strong> section of your Page TypoScript template:</p>' .
-					'<p style="margin-top: 5px; white-space: nowrap;"><code>config.simulateStaticDocuments_replacementChar = _</code></p></li>'.
+					'<li><p>The extention simluatestatic has been removed in TYPO3 6.0</p></li>'.
 					'<li><p>CSS Stylesheets and JavaScript are put into an external file by default.</p>'.
 					'<p>Technically, that means that the default value of "config.inlineStyle2TempFile" is now set to "1" and that of "config.removeDefaultJS" to "external"</p></li>'.
 					'</ul>',
diff --git a/typo3/sysext/cms/tslib/class.tslib_content.php b/typo3/sysext/cms/tslib/class.tslib_content.php
index 823b894a6462..3ef6951f48ed 100644
--- a/typo3/sysext/cms/tslib/class.tslib_content.php
+++ b/typo3/sysext/cms/tslib/class.tslib_content.php
@@ -5708,7 +5708,7 @@ class tslib_cObj {
 
 					// Firsts, test if $link_param is numeric and page with such id exists. If yes, do not attempt to link to file
 				if (!t3lib_utility_Math::canBeInterpretedAsInteger($link_param) || count($GLOBALS['TSFE']->sys_page->getPage_noCheck($link_param)) == 0) {
-						// Detects if a file is found in site-root (or is a 'virtual' simulateStaticDocument file!) and if so it will be treated like a normal file.
+						// Detects if a file is found in site-root and if so it will be treated like a normal file.
 					list ($rootFileDat) = explode('?', rawurldecode($link_param));
 					$containsSlash = strstr($rootFileDat, '/');
 					$rFD_fI = pathinfo($rootFileDat);
@@ -5978,7 +5978,7 @@ class tslib_cObj {
 							}
 						}
 
-							// If target page has a different domain and the current domain's linking scheme (e.g. simulateStaticDocuments/RealURL/...) should not be used
+							// If target page has a different domain and the current domain's linking scheme (e.g. RealURL/...) should not be used
 						if (strlen($targetDomain) && $targetDomain !== $currentDomain && !$enableLinksAcrossDomains) {
 							$target = isset($conf['extTarget']) ? $conf['extTarget'] : $GLOBALS['TSFE']->extTarget;
 							if ($conf['extTarget.']) {
diff --git a/typo3/sysext/cms/tslib/class.tslib_fe.php b/typo3/sysext/cms/tslib/class.tslib_fe.php
index ea12746fc030..2530ea09c055 100644
--- a/typo3/sysext/cms/tslib/class.tslib_fe.php
+++ b/typo3/sysext/cms/tslib/class.tslib_fe.php
@@ -533,7 +533,7 @@
 	 *
 	 * Two options:
 	 * 1) Use PATH_INFO (also Apache) to extract id and type from that var. Does not require any special modules compiled with apache. (less typical)
-	 * 2) Using hook which enables features like those provided from "simulatestatic" or "realurl" extension (AKA "Speaking URLs")
+	 * 2) Using hook which enables features like those provided from "realurl" extension (AKA "Speaking URLs")
 	 *
 	 * @return	void
 	 */
@@ -817,18 +817,19 @@
 			// Sets sys_page where-clause
 		$this->setSysPageWhereClause();
 
-			// Splitting $this->id by a period (.). First part is 'id' and second part - if exists - will overrule the &type param if given
-		$pParts = explode('.',$this->id);
-		$this->id = $pParts[0];	// Set it.
-		if (isset($pParts[1]))	{$this->type=$pParts[1];}
-
-			// Splitting $this->id by a comma (,). First part is 'id' and other parts are just stored for use in scripts.
-		$this->idParts = explode(',',$this->id);
+			// Splitting $this->id by a period (.).
+			// First part is 'id' and second part (if exists) will overrule the &type param
+		$idParts = explode('.', $this->id, 2);
+		$this->id = $idParts[0];
+		if (isset($idParts[1])) {
+			$this->type = $idParts[1];
+		}
 
-			// Splitting by a '+' sign - used for base64/md5 methods of parameter encryption for simulate static documents.
-		list($pgID,$SSD_p)=explode('+',$this->idParts[0],2);
-		if ($SSD_p)	{	$this->idPartsAnalyze($SSD_p);	}
-		$this->id = $pgID;	// Set id
+			// Splitting $this->id by a comma (,).
+			// First part is 'id' and other parts are just stored for use in scripts.
+			// Still used in the old wapversion.lib files.
+		$this->idParts = explode(',', $this->id);
+		$this->id = $this->idParts[0];
 
 			// If $this->id is a string, it's an alias
 		$this->checkAndSetAlias();
@@ -1536,35 +1537,6 @@
 		}
 	}
 
-	/**
-	 * Analyzes the second part of a id-string (after the "+"), looking for B6 or M5 encoding and if found it will resolve it and restore the variables in global $_GET
-	 * If values for ->cHash, ->no_cache, ->jumpurl and ->MP is found, they are also loaded into the internal vars of this class.
-	 *
-	 * @param	string		String to analyze
-	 * @return	void
-	 * @access private
-	 * @deprecated since TYPO3 4.3, will be removed in TYPO3 4.5, please use the "simulatestatic" sysext directly
-	 * @todo	Deprecated but still used in the Core!
-	 */
-	function idPartsAnalyze($str)	{
-		$GET_VARS = '';
-		switch(substr($str,0,2))	{
-			case 'B6':
-				$addParams = base64_decode(str_replace('_','=',str_replace('-','/',substr($str,2))));
-				parse_str($addParams,$GET_VARS);
-			break;
-			case 'M5':
-				$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('params', 'cache_md5params', 'md5hash='.$GLOBALS['TYPO3_DB']->fullQuoteStr(substr($str,2), 'cache_md5params'));
-				$row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);
-
-				$this->updateMD5paramsRecord(substr($str,2));
-				parse_str($row['params'],$GET_VARS);
-			break;
-		}
-
-		$this->mergingWithGetVars($GET_VARS);
-	}
-
 	/**
 	 * Merging values into the global $_GET
 	 *
diff --git a/typo3/sysext/cms/tslib/class.tslib_pibase.php b/typo3/sysext/cms/tslib/class.tslib_pibase.php
index 4b671c33dcf8..46924f4f4d7a 100644
--- a/typo3/sysext/cms/tslib/class.tslib_pibase.php
+++ b/typo3/sysext/cms/tslib/class.tslib_pibase.php
@@ -210,7 +210,7 @@ class tslib_pibase {
 	/**
 	 * Link a string to some page.
 	 * Like pi_getPageLink() but takes a string as first parameter which will in turn be wrapped with the URL including target attribute
-	 * Simple example: $this->pi_linkToPage('My link', 123) to get something like <a href="index.php?id=123&type=1">My link</a> (or <a href="123.1.html">My link</a> if simulateStaticDocuments is set)
+	 * Simple example: $this->pi_linkToPage('My link', 123) to get something like <a href="index.php?id=123&type=1">My link</a>
 	 *
 	 * @param	string		The content string to wrap in <a> tags
 	 * @param	integer		Page id
diff --git a/typo3/sysext/install/updates/class.tx_coreupdates_installnewsysexts.php b/typo3/sysext/install/updates/class.tx_coreupdates_installnewsysexts.php
index 9c4d6dc65b0b..a6ef4dd6b455 100644
--- a/typo3/sysext/install/updates/class.tx_coreupdates_installnewsysexts.php
+++ b/typo3/sysext/install/updates/class.tx_coreupdates_installnewsysexts.php
@@ -27,7 +27,7 @@
 ***************************************************************/
 
 /**
- * Contains the update class for adding the system extension "simulate static".
+ * Contains the update class for adding new system extensions.
  *
  * @author  Benjamin Mack <benni@typo3.org>
  * @author  Steffen Kamper <info@sk-typo3.de>
@@ -128,7 +128,7 @@ class tx_coreupdates_installnewsysexts extends Tx_Install_Updates_Base {
 	}
 
 	/**
-	 * Adds the extensions "about", "cshmanual" and "simulatestatic" to the extList in TYPO3_CONF_VARS
+	 * Adds the extensions "about" and "cshmanual" to the extList in TYPO3_CONF_VARS
 	 *
 	 * @param	array		&$dbQueries: queries done in this update
 	 * @param	mixed		&$customMessages: custom messages
diff --git a/typo3/sysext/install/updates/class.tx_coreupdates_installsysexts.php b/typo3/sysext/install/updates/class.tx_coreupdates_installsysexts.php
index 95fcdbc8617e..c53627a40e6a 100644
--- a/typo3/sysext/install/updates/class.tx_coreupdates_installsysexts.php
+++ b/typo3/sysext/install/updates/class.tx_coreupdates_installsysexts.php
@@ -34,7 +34,7 @@
  */
 class tx_coreupdates_installsysexts extends Tx_Install_Updates_Base {
 	protected $title = 'Install Outsourced System Extensions';
-	protected $outsourcedSystemExtensions = array('info', 'perm', 'func', 'filelist', 'about', 'cshmanual', 'feedit', 'opendocs', 'simulatestatic');
+	protected $outsourcedSystemExtensions = array('info', 'perm', 'func', 'filelist', 'about', 'cshmanual', 'feedit', 'opendocs');
 
 	/**
 	 * Checks if an update is needed
diff --git a/typo3/sysext/simulatestatic/class.tx_simulatestatic.php b/typo3/sysext/simulatestatic/class.tx_simulatestatic.php
deleted file mode 100644
index 9fb88aec29c5..000000000000
--- a/typo3/sysext/simulatestatic/class.tx_simulatestatic.php
+++ /dev/null
@@ -1,396 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 1999-2011 Kasper Skårhøj <kasperYYYY@typo3.com>
-*  (c) 2008-2011 Benjamin Mack <benni . typo3 . o)rg>
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*  A copy is found in the textfile GPL.txt and important notices to the license
-*  from the author is found in LICENSE.txt distributed with these scripts.
-*
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-/**
- * Class that does the simulatestatic feature (Speaking URLs)
- * Was extracted for TYPO3 4.3 from the core
- *
- * @author	Kasper Skårhøj <kasperYYYY@typo3.com>
- * @author	Benjamin Mack <benni . typo3 . o)rg>
- */
-class tx_simulatestatic {
-	public $enabled = FALSE;
-	public $replacementChar = '';
-	public $conf = array();
-	public $pEncodingAllowedParamNames = array();
-
-	/**
-	 * Initializes the extension, sets some configuration options and does some basic checks
-	 *
-	 * @param	array		holds all the information about the link that is about to be created
-	 * @param	tslib_fe	is a reference to the parent object that calls the hook
-	 * @return	void
-	 */
-	public function hookInitConfig(array &$parameters, tslib_fe &$parentObject) {
-		$TSconf = &$parameters['config'];
-
-		// if .simulateStaticDocuments was not present, the installation-wide default value will be used
-		if (!isset($TSconf['simulateStaticDocuments'])) {
-			$TSconf['simulateStaticDocuments'] = trim($parentObject->TYPO3_CONF_VARS['FE']['simulateStaticDocuments']);
-		}
-
-		// simulateStatic was not activated
-		if (!$TSconf['simulateStaticDocuments']) {
-			return;
-		}
-
-		$this->enabled = TRUE;
-
-		// setting configuration options
-		$this->conf = array(
-			'mode' => $TSconf['simulateStaticDocuments'],
-			'dontRedirectPathInfoError' => ($TSconf['simulateStaticDocuments_dontRedirectPathInfoError'] ? $TSconf['simulateStaticDocuments_dontRedirectPathInfoError'] : $TSconf['simulateStaticDocuments.']['dontRedirectPathInfoError']),
-			'pEncoding' => ($TSconf['simulateStaticDocuments_pEnc'] ? $TSconf['simulateStaticDocuments_pEnc'] : $TSconf['simulateStaticDocuments.']['pEncoding']),
-			'pEncodingOnlyP' => ($TSconf['simulateStaticDocuments_pEnc_onlyP'] ? $TSconf['simulateStaticDocuments_pEnc_onlyP'] : $TSconf['simulateStaticDocuments.']['pEncoding_onlyP']),
-			'addTitle'  => ($TSconf['simulateStaticDocuments_addTitle'] ? $TSconf['simulateStaticDocuments_addTitle'] : $TSconf['simulateStaticDocuments.']['addTitle']),
-			'noTypeIfNoTitle' => ($TSconf['simulateStaticDocuments_noTypeIfNoTitle'] ? $TSconf['simulateStaticDocuments_noTypeIfNoTitle'] : $TSconf['simulateStaticDocuments.']['noTypeIfNoTitle']),
-			'replacementChar' => (t3lib_div::compat_version('4.0') ? '-' : '_')
-		);
-
-		if ($this->conf['pEncodingOnlyP']) {
-			$tempParts = t3lib_div::trimExplode(',', $this->conf['pEncodingOnlyP'], 1);
-			foreach ($tempParts as $tempPart) {
-				$this->pEncodingAllowedParamNames[$tempPart] = 1;
-			}
-		}
-
-
-	 	// Checks and sets replacement character for simulateStaticDocuments.
-		$replacement = trim($TSconf['simulateStaticDocuments_replacementChar'] ? $TSconf['simulateStaticDocuments_replacementChar'] : $TSconf['simulateStaticDocuments.']['replacementChar']);
-		if ($replacement && (urlencode($replacement) == $replacement)) {
-			$this->conf['replacementChar'] = $replacement;
-		}
-
-		// Force absRefPrefix to this value is PATH_INFO is used.
-		$absRefPrefix = $TSconf['absRefPrefix'];
-		$absRefPrefix = trim($absRefPrefix);
-		if ((!strcmp($this->conf['mode'], 'PATH_INFO') || $parentObject->absRefPrefix_force) && !$absRefPrefix) {
-			$absRefPrefix = t3lib_div::dirname(t3lib_div::getIndpEnv('SCRIPT_NAME')) . '/';
-		}
-		$parentObject->absRefPrefix = $absRefPrefix;
-		$parentObject->config['config']['absRefPrefix'] = $absRefPrefix;
-
-
-		// Check PATH_INFO url
-		if ($parentObject->absRefPrefix_force && strcmp($this->conf['mode'], 'PATH_INFO')) {
-			$redirectUrl = t3lib_div::getIndpEnv('TYPO3_REQUEST_DIR') . 'index.php?id=' . $parentObject->id . '&type='.$parentObject->type;
-			if ($this->conf['dontRedirectPathInfoError']) {
-				if ($parentObject->checkPageUnavailableHandler()) {
-					$parentObject->pageUnavailableAndExit('PATH_INFO was not configured for this website, and the URL tries to find the page by PATH_INFO!');
-				} else {
-					$message = 'PATH_INFO was not configured for this website, and the URL tries to find the page by PATH_INFO!';
-					header(t3lib_utility_Http::HTTP_STATUS_503);
-					t3lib_div::sysLog($message, 'cms', t3lib_div::SYSLOG_SEVERITY_ERROR);
-					$message = 'Error: PATH_INFO not configured: ' . $message . '<br /><br /><a href="' . htmlspecialchars($redirectUrl) . '">Click here to get to the right page.</a>';
-					throw new RuntimeException($message, 1294587706);
-				}
-			} else {
-				t3lib_utility_Http::redirect($redirectUrl);
-			}
-			exit;
-			// Set no_cache if PATH_INFO is NOT used as simulateStaticDoc.
-			// and if absRefPrefix_force shows that such an URL has been passed along.
-			// $this->set_no_cache();
-		}
-	}
-
-
-	/**
-	 * Hook for creating a speaking URL when using the generic linkData function
-	 *
-	 * @param	array				holds all the information about the link that is about to be created
-	 * @param	t3lib_TStemplate	is a reference to the parent object that calls the hook
-	 * @return	void
-	 */
-	public function hookLinkDataPostProc(array &$parameters, t3lib_TStemplate &$parentObject) {
-		if (!$this->enabled) {
-			return;
-		}
-
-		$LD = &$parameters['LD'];
-		$page = &$parameters['args']['page'];
-		$LD['type'] = '';
-
-		// MD5/base64 method limitation
-		$remainLinkVars = '';
-		$flag_pEncoding = (t3lib_div::inList('md5,base64', $this->conf['pEncoding']) && !$LD['no_cache']);
-		if ($flag_pEncoding) {
-			list($LD['linkVars'], $remainLinkVars) = $this->processEncodedQueryString($LD['linkVars']);
-		}
-
-		$url = $this->makeSimulatedFileName(
-			$page['title'],
-			($page['alias'] ? $page['alias'] : $page['uid']),
-			intval($parameters['typeNum']),
-			$LD['linkVars'],
-			($LD['no_cache'] ? TRUE : FALSE)
-		);
-		if ($this->conf['mode'] == 'PATH_INFO') {
-			$url = 'index.php/' . str_replace('.', '/', $url) . '/';
-		} else {
-			$url .= '.html';
-		}
-		$LD['url'] = $GLOBALS['TSFE']->absRefPrefix . $url . '?';
-
-		if ($flag_pEncoding) {
-			$LD['linkVars'] = $remainLinkVars;
-		}
-
-		// If the special key 'sectionIndex_uid' (added 'manually' in tslib/menu.php to the page-record) is set,
-		// then the link jumps directly to a section on the page.
-		$LD['sectionIndex'] = ($page['sectionIndex_uid'] ? '#c'.$page['sectionIndex_uid'] : '');
-
-			// Compile the normal total url
-		$LD['totalURL'] = $parentObject->removeQueryString($LD['url'] . $LD['type'] . $LD['no_cache'] . $LD['linkVars'] . $GLOBALS['TSFE']->getMethodUrlIdToken) . $LD['sectionIndex'];
-	}
-
-
-	/**
-	 * Hook for checking to see if the URL is a speaking URL
-	 *
-	 * Here a .htaccess file maps all .html-files to index.php and
-	 *  then we extract the id and type from the name of that HTML-file. (AKA "simulateStaticDocuments")
-	 * Support for RewriteRule to generate   (simulateStaticDocuments)
-	 * With the mod_rewrite compiled into apache, put these lines into a .htaccess in this directory:
-	 * RewriteEngine On
-	 * RewriteRule   ^[^/]*\.html$  index.php
-	 * The url must end with '.html' and the format must comply with either of these:
-	 * 1:      '[title].[id].[type].html'  - title is just for easy recognition in the
-	 *                                       logfile!; no practical use of the title for TYPO3.
-	 * 2:      '[id].[type].html'          - above, but title is omitted; no practical use of
-	 *                                       the title for TYPO3.
-	 * 3:      '[id].html'                 - only id, type is set to the default, zero!
-	 * NOTE: In all case 'id' may be the uid-number OR the page alias (if any)
-	 *
-	 * @param	array		includes a reference to the parent Object (which is the global TSFE)
-	 * @param	tslib_fe	is a reference to the global TSFE
-	 * @return	void
-	 */
-	public function hookCheckAlternativeIDMethods(array &$parameters, tslib_fe &$parentObject) {
-		// If there has been a redirect (basically; we arrived here otherwise
-		// than via "index.php" in the URL)
-		// this can happend either due to a CGI-script or because of reWrite rule.
-		// Earlier we used $_SERVER['REDIRECT_URL'] to check
-		if ($parentObject->siteScript && substr($parentObject->siteScript, 0, 9) != 'index.php') {
-			$uParts = parse_url($parentObject->siteScript);
-			$fI = t3lib_div::split_fileref($uParts['path']);
-
-			if (!$fI['path'] && $fI['file'] && substr($fI['file'], -5) == '.html') {
-				$parts = explode('.', $fI['file']);
-				$pCount = count($parts);
-				if ($pCount > 2) {
-					$parentObject->type = intval($parts[$pCount-2]);
-					$parentObject->id = $parts[$pCount-3];
-				} else {
-					$parentObject->type = 0;
-					$parentObject->id = $parts[0];
-				}
-			}
-		}
-
-		// If PATH_INFO is defined as simulateStaticDocuments mode and has information:
-		if (t3lib_div::getIndpEnv('PATH_INFO') && strpos(t3lib_div::getIndpEnv('TYPO3_SITE_SCRIPT'), 'index.php/') === 0) {
-			$parts = t3lib_div::trimExplode('/', t3lib_div::getIndpEnv('PATH_INFO'), TRUE);
-			$pCount = count($parts);
-			if ($pCount > 1) {
-				$parentObject->type = intval($parts[$pCount-1]);
-				$parentObject->id = $parts[$pCount-2];
-			} else {
-				$parentObject->type = 0;
-				$parentObject->id = $parts[0];
-			}
-			$parentObject->absRefPrefix_force = 1;
-		}
-	}
-
-
-	/**
-	 * Analyzes the second part of a id-string (after the "+"), looking for B6 or M5 encoding
-	 * and if found it will resolve it and restore the variables in global $_GET.
-	 * If values for ->cHash, ->no_cache, ->jumpurl and ->MP is found,
-	 * they are also loaded into the internal vars of this class.
-	 * => Not yet used, could be ported from tslib_fe as well
-	 *
-	 * @param	string		String to analyze
-	 * @return	void
-	 */
-	protected function idPartsAnalyze($string) {
-		$getVars = '';
-		switch (substr($string, 0, 2)) {
-			case 'B6':
-				$addParams = base64_decode(str_replace('_', '=', str_replace('-', '/', substr($string, 2))));
-				parse_str($addParams, $getVars);
-			break;
-			case 'M5':
-				$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('params', 'cache_md5params', 'md5hash=' . $GLOBALS['TYPO3_DB']->fullQuoteStr(substr($string, 2), 'cache_md5params'));
-				$row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);
-
-				$GLOBALS['TSFE']->updateMD5paramsRecord(substr($string, 2));
-				parse_str($row['params'], $getVars);
-			break;
-		}
-		$GLOBALS['TSFE']->mergingWithGetVars($getVars);
-	}
-
-
-
-
-	/********************************************
-	 *
-	 * Various internal API functions
-	 *
-	 *******************************************/
-
-	/**
-	 * Make simulation filename (without the ".html" ending, only body of filename)
-	 *
-	 * @param	string		The page title to use
-	 * @param	mixed		The page id (integer) or alias (string)
-	 * @param	integer		The type number
-	 * @param	string		Query-parameters to encode (will be done only if caching is enabled and TypoScript configured for it. I don't know it this makes much sense in fact...)
-	 * @param	boolean		The "no_cache" status of the link.
-	 * @return	string		The body of the filename.
-	 */
-	public function makeSimulatedFileName($inTitle, $page, $type, $addParams = '', $no_cache = FALSE) {
-			// Default value is 30 but values > 1 will be override this
-		$titleChars = intval($this->conf['addTitle']);
-		if ($titleChars == 1) {
-			$titleChars = 30;
-		}
-
-		$out = ($titleChars ? $this->fileNameASCIIPrefix($inTitle, $titleChars) : '');
-		$enc = '';
-
-		if (strcmp($addParams, '') && !$no_cache) {
-			switch ((string)$this->conf['pEncoding']) {
-				case 'md5':
-					$md5 = substr(md5($addParams), 0, 10);
-					$enc = '+M5'.$md5;
-
-					$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
-						'md5hash',
-						'cache_md5params',
-						'md5hash=' . $GLOBALS['TYPO3_DB']->fullQuoteStr($md5, 'cache_md5params')
-					);
-					if (!$GLOBALS['TYPO3_DB']->sql_num_rows($res)) {
-						$insertFields = array(
-							'md5hash' => $md5,
-							'tstamp'  => $GLOBALS['EXEC_TIME'],
-							'type'    => 1,
-							'params'  => $addParams
-						);
-
-						$GLOBALS['TYPO3_DB']->exec_INSERTquery('cache_md5params', $insertFields);
-					}
-					$GLOBALS['TYPO3_DB']->sql_free_result($res);
-				break;
-				case 'base64':
-					$enc = '+B6' . str_replace('=', '_', str_replace('/', '-', base64_encode($addParams)));
-				break;
-			}
-		}
-			// Setting page and type number:
-		return $out . $page . $enc . (($type || $out || !$this->conf['noTypeIfNoTitle']) ? '.' . $type : '');
-	}
-
-
-	/**
-	 * Returns the simulated static file name (*.html) for the current page (using the page record in $this->page)
-	 *
-	 * @return	string		The filename (without path)
-	 * @see makeSimulatedFileName()
-	 */
-	public function getSimulatedFileName() {
-		return $this->makeSimulatedFileName(
-			$GLOBALS['TSFE']->page['title'],
-			($GLOBALS['TSFE']->page['alias'] ? $GLOBALS['TSFE']->page['alias'] : $GLOBALS['TSFE']->id),
-			$GLOBALS['TSFE']->type
-		) . '.html';
-	}
-
-
-	/**
-	 * Processes a query-string with GET-parameters and returns two strings, one with the parameters that CAN be encoded and one array with those which can't be encoded (encoded by the M5 or B6 methods)
-	 *
-	 * @param	string		Query string to analyse
-	 * @return	array		Two num keys returned, first is the parameters that MAY be encoded, second is the non-encodable parameters.
-	 * @see makeSimulatedFileName(), t3lib_tstemplate::linkData()
-	 */
-	public function processEncodedQueryString($linkVars) {
-		$remainingLinkVars = '';
-		if (strcmp($linkVars, '')) {
-			$parts = t3lib_div::trimExplode('&', $linkVars);
-			// This sorts the parameters - and may not be needed and further
-			// it will generate new MD5 hashes in many cases. Maybe not so smart. Hmm?
-			sort($parts);
-			$remainingParts = array();
-			foreach ($parts as $index => $value) {
-				if (strlen($value)) {
-					list($parameterName) = explode('=', $value, 2);
-					$parameterName = rawurldecode($parameterName);
-					if (!$this->pEncodingAllowedParamNames[$parameterName]) {
-						unset($parts[$index]);
-						$remainingParts[] = $value;
-					}
-				} else {
-					unset($parts[$index]);
-				}
-			}
-			$linkVars = (count($parts) ? '&' . implode('&', $parts) : '');
-			$remainingLinkVars = (count($remainingParts) ? '&' . implode('&', $remainingParts) : '');
-		}
-		return array($linkVars, $remainingLinkVars);
-	}
-
-
-	/**
-	 * Converts input string to an ASCII based file name prefix
-	 *
-	 * @param	string		String to base output on
-	 * @param	integer		Number of characters in the string
-	 * @param	string		Character to put in the end of string to merge it with the next value.
-	 * @return	string		Converted string
-	 */
-	public function fileNameASCIIPrefix($inTitle, $maxTitleChars, $mergeChar = '.') {
-		$out = $GLOBALS['TSFE']->csConvObj->specCharsToASCII($GLOBALS['TSFE']->renderCharset, $inTitle);
-
-		// Get replacement character
-		$replacementChar = $this->conf['replacementChar'];
-		$replacementChars = '_\-' . ($replacementChar != '_' && $replacementChar != '-' ? $replacementChar : '');
-		$out = preg_replace('/[^A-Za-z0-9_-]/', $replacementChar, trim(substr($out, 0, $maxTitleChars)));
-		$out = preg_replace('/([' . $replacementChars . ']){2,}/', '\1', $out);
-		$out = preg_replace('/['  . $replacementChars . ']?$/', '', $out);
-		$out = preg_replace('/^[' . $replacementChars . ']?/', '', $out);
-
-		return (strlen($out) ? $out . $mergeChar : '');
-	}
-}
-
-if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/simulatestatic/class.tx_simulatestatic.php'])) {
-	include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/simulatestatic/class.tx_simulatestatic.php']);
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/simulatestatic/ext_emconf.php b/typo3/sysext/simulatestatic/ext_emconf.php
deleted file mode 100644
index fef9829ed126..000000000000
--- a/typo3/sysext/simulatestatic/ext_emconf.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-
-########################################################################
-# Extension Manager/Repository config file for ext "simulatestatic".
-#
-# Auto generated 10-10-2011 14:47
-#
-# Manual updates:
-# Only the data in the array - everything else is removed by next
-# writing. "version" and "dependencies" must not be touched!
-########################################################################
-
-$EM_CONF[$_EXTKEY] = array(
-	'title' => 'Simulate Static URLs',
-	'description' => 'Adds the possibility to have Speaking URLs in the TYPO3 Frontend pages.',
-	'category' => 'fe',
-	'shy' => 0,
-	'dependencies' => '',
-	'conflicts' => '',
-	'priority' => '',
-	'loadOrder' => '',
-	'module' => '',
-	'state' => 'stable',
-	'internal' => 0,
-	'uploadfolder' => 0,
-	'createDirs' => '',
-	'modify_tables' => '',
-	'clearCacheOnLoad' => 1,
-	'lockType' => '',
-	'author' => 'Benjamin Mack',
-	'author_email' => 'benni@typo3.org',
-	'author_company' => '',
-	'CGLcompliance' => '',
-	'CGLcompliance_note' => '',
-	'version' => '1.1.0',
-	'_md5_values_when_last_written' => 'a:2:{s:27:"class.tx_simulatestatic.php";s:4:"976e";s:17:"ext_localconf.php";s:4:"eace";}',
-	'constraints' => array(
-		'depends' => array(
-			'php' => '5.3.0-0.0.0',
-			'typo3' => '4.6.0-0.0.0',
-		),
-		'conflicts' => array(
-		),
-		'suggests' => array(
-		),
-	),
-	'suggests' => array(
-	),
-);
-
-?>
\ No newline at end of file
diff --git a/typo3/sysext/simulatestatic/ext_localconf.php b/typo3/sysext/simulatestatic/ext_localconf.php
deleted file mode 100644
index 5dee48d12bc5..000000000000
--- a/typo3/sysext/simulatestatic/ext_localconf.php
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-if (!defined('TYPO3_MODE')) {
-	die('Access denied.');
-}
-
-$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['configArrayPostProc'][$_EXTKEY] = 'EXT:simulatestatic/class.tx_simulatestatic.php:&tx_simulatestatic->hookInitConfig';
-$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tstemplate.php']['linkData-PostProc'][$_EXTKEY] = 'EXT:simulatestatic/class.tx_simulatestatic.php:&tx_simulatestatic->hookLinkDataPostProc';
-$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['checkAlternativeIdMethods-PostProc'][$_EXTKEY] = 'EXT:simulatestatic/class.tx_simulatestatic.php:&tx_simulatestatic->hookCheckAlternativeIDMethods';
-?>
\ No newline at end of file
diff --git a/typo3/sysext/t3editor/res/jslib/parse_typoscript/tokenizetyposcript.js b/typo3/sysext/t3editor/res/jslib/parse_typoscript/tokenizetyposcript.js
index 7b0a99a791a9..4a733d0ce6f0 100644
--- a/typo3/sysext/t3editor/res/jslib/parse_typoscript/tokenizetyposcript.js
+++ b/typo3/sysext/t3editor/res/jslib/parse_typoscript/tokenizetyposcript.js
@@ -83,7 +83,7 @@ var typoscriptWords = {
 	'TSFE': 'keyword',
 	'USER': 'keyword',
 	'USER_INT': 'keyword',
-	
+
 	'userFunc': 'keyword',
 
 	'_offset': 'reserved',
@@ -787,12 +787,6 @@ var typoscriptWords = {
 	'showPageIdWithTitle': 'reserved',
 	'showTagFreeClasses': 'reserved',
 	'simulateDate': 'reserved',
-	'simulateStaticDocuments': 'reserved',
-	'simulateStaticDocuments_addTitle': 'reserved',
-	'simulateStaticDocuments_dontRedirectPathInfoError': 'reserved',
-	'simulateStaticDocuments_noTypeIfNoTitle': 'reserved',
-	'simulateStaticDocuments_pEnc': 'reserved',
-	'simulateStaticDocuments_pEnc_onlyP': 'reserved',
 	'simulateUserGroup': 'reserved',
 	'singlePid': 'reserved',
 	'site_author': 'reserved',
@@ -1272,7 +1266,7 @@ var tokenizeTypoScript = function() {
 
 			} else if (!this.inValue && this.inComment) {
 				token = readMultilineComment.call(this, ch);
-			
+
 			/*
 			} else if (this.inValue) {
 				token = nextUntilUnescaped(null) || {
@@ -1290,10 +1284,10 @@ var tokenizeTypoScript = function() {
 				token = nextUntilUnescaped(ch) || result("string", "string");
 
 			} else if (
-			   ( ch == "<" || 
+			   ( ch == "<" ||
 				   ch == ">" ||
-  				 ( ch == "=" 
-  				   && source.peek() != "<" 
+  				 ( ch == "="
+  				   && source.peek() != "<"
   				 )
 			   )
 			   && source.peek() != "\n" ) { // there must be some value behind the operator!
@@ -1451,7 +1445,7 @@ var typoscriptWords = {
 	'TSFE': 'keyword',
 	'USER': 'keyword',
 	'USER_INT': 'keyword',
-	
+
 	'userFunc': 'keyword',
 
 	'_offset': 'reserved',
@@ -2155,12 +2149,6 @@ var typoscriptWords = {
 	'showPageIdWithTitle': 'reserved',
 	'showTagFreeClasses': 'reserved',
 	'simulateDate': 'reserved',
-	'simulateStaticDocuments': 'reserved',
-	'simulateStaticDocuments_addTitle': 'reserved',
-	'simulateStaticDocuments_dontRedirectPathInfoError': 'reserved',
-	'simulateStaticDocuments_noTypeIfNoTitle': 'reserved',
-	'simulateStaticDocuments_pEnc': 'reserved',
-	'simulateStaticDocuments_pEnc_onlyP': 'reserved',
 	'simulateUserGroup': 'reserved',
 	'singlePid': 'reserved',
 	'site_author': 'reserved',
@@ -2640,7 +2628,7 @@ var tokenizeTypoScript = function() {
 
 			} else if (!this.inValue && this.inComment) {
 				token = readMultilineComment.call(this, ch);
-			
+
 			/*
 			} else if (this.inValue) {
 				token = nextUntilUnescaped(null) || {
@@ -2658,10 +2646,10 @@ var tokenizeTypoScript = function() {
 				token = nextUntilUnescaped(ch) || result("string", "string");
 
 			} else if (
-			   ( ch == "<" || 
+			   ( ch == "<" ||
 				   ch == ">" ||
-  				 ( ch == "=" 
-  				   && source.peek() != "<" 
+  				 ( ch == "="
+  				   && source.peek() != "<"
   				 )
 			   )
 			   && source.peek() != "\n" ) { // there must be some value behind the operator!
diff --git a/typo3/sysext/t3editor/res/tsref/tsref.xml b/typo3/sysext/t3editor/res/tsref/tsref.xml
index a0a0a1bd2361..fe7550678649 100644
--- a/typo3/sysext/t3editor/res/tsref/tsref.xml
+++ b/typo3/sysext/t3editor/res/tsref/tsref.xml
@@ -315,8 +315,7 @@ This value has no default value and only if you specify a value for this token w
 		<property name="absRefPrefix" type="string">
 			<description><![CDATA[If this value is set, then all relative links in TypoScript are prepended with this string. Used to convert relative paths to absolute paths.
 
-Note: This values is automatically set to the dirname of the index.php script in case simulateStaticDocuments is set to "PATH_INFO".
-If you're working on a server where you have both internal and external access, you might to yourself a favour and set the absRefPrefix to the url and path of you site, eg. http://www.typo3.org/. If you do not, you risk to render pages to cache from the internal network and thereby prefix image-references and links with a non-accessible path from outside.]]></description>
+Note: If you're working on a server where you have both internal and external access, you might to yourself a favour and set the absRefPrefix to the url and path of you site, eg. http://www.typo3.org/. If you do not, you risk to render pages to cache from the internal network and thereby prefix image-references and links with a non-accessible path from outside.]]></description>
 			<default><![CDATA[
 ]]></default>
 		</property>
@@ -535,7 +534,7 @@ Works only with type-values different from zero.]]></description>
 "&ftu=[hash]" is always inserted in the links on the first page a user hits. If it turns out in the next hit that the user has cookies enabled, this variable is not set anymore as the cookies does the job. If no cookies is accepted the "ftu" remains set for all links on the site and thereby we can still track the user.
 
 You should not set this feature if grabber-spiders like Teleport are going to grab your site!
-You should not set this feature if you want search-engines to index your site (in conjunction with the simulateStaticDocuments feature!)
+You should not set this feature if you want search-engines to index your site.
 
 You can also ignore this feature if you're certain, website users will use cookies.
  "ftu" means fe_typo_user ("fe" is "frontend").]]></description>
@@ -953,101 +952,6 @@ Another way to solve the problem is using this option in combination with disabl
 		<property name="setJS_openPic" type="boolean">
 			<description><![CDATA[If set, the openPic JavaScript function is forced to be included]]></description>
 			<default><![CDATA[
-]]></default>
-		</property>
-		<property name="simulateStaticDocuments" type="string">
-			<description><![CDATA[boolean/string
-			If set TYPO3 makes all links in another way than usual. This can be used with Apache compiled with mod_rewrite and configured in httpd.conf for use of this in the ".htaccess"-files.
-Include this in the .htaccess file
-RewriteEngine On
-RewriteRule   ^[^/]*\.html$  index.php
-
-This means that any "*.html"-documents should be handled by index.php.
-Now if is done, TYPO3 will interprete the url of the html-document like this:
-[title].[id].[type].html
-Title is optional and only usefull for the entries in the apache log-files. You may omit both [title] and [type] but if title is present, type must also be there!.
-
-Example:
-TYPO3 will interprete this as page with uid=23 and type=1 :
-Startpage.23.1.html
-
-TYPO3 will interprete this as the page with alias = "start" and the type is zero (default):
-start.html
-
-Alternative option (PATH_INFO):
-Instead of using the rewrite-module in apache (eg. if you're running Windows!) you can use the PATH_INFO variable from PHP.
-It's very simple. Just set simulateStaticDocuments to "PATH_INFO" and you're up and running!
-
-Also: See below, .absRefPrefix
-
-Example (put in Setup-field of your template):
-config.simulateStaticDocuments = PATH_INFO]]></description>
-			<default><![CDATA[default is defined by a configuration option in localconf.php. It's
-$TYPO3_CONF_VARS["FE"]["simulateStaticDocuments"] = 1;
-This affects all sites in the database.
-You can also set this value to the string  "PATH_INFO"]]></default>
-		</property>
-		<property name="simulateStaticDocuments_addTitle" type="int">
-			<description><![CDATA[If not zero, TYPO3 generates urls with the title in, limited to the first [simulateStaticDocuments_addTitle] number of chars.
-
-Example:
-Startpage.23.1.html
-instead of the default, "23.1.html", without the title.]]></description>
-			<default><![CDATA[
-]]></default>
-		</property>
-		<property name="simulateStaticDocuments_dontRedirectPathInfoError" type="boolean">
-			<description><![CDATA[Regarding PATH_INFO mode:
-When a page is requested by "PATH_INFO" method it must be configured in order to work properly. If PATH_INFO is not configured, the index_ts.php script sends a location header to the correct page. However if you better like an error message outputted, just set this option.]]></description>
-			<default><![CDATA[
-]]></default>
-		</property>
-		<property name="simulateStaticDocuments_noTypeIfNoTitle" type="boolean">
-			<description><![CDATA[If set, then the type-value will not be set in the simulated filename if the type value is zero anyways. However the filename must be without a title.
-
-Example:
-"Startpage.23.0.html" would still be "Startpage.23.0.html"
-"23.0.html" would be "23.html" (that is without the zero)
-"23.1.html" would still be "23.1.html" ]]></description>
-			<default><![CDATA[
-]]></default>
-		</property>
-		<property name="simulateStaticDocuments_pEnc" type="string">
-			<description><![CDATA[Allows you to also encode additional parameters into the simulated filename.
-
-Example:
-You have a news-plugin. The main page has the url "Page_1.228.0.html" but when one clicks on a news item the url will be "Page_1.228.0.html?&tx_mininews_pi1[showUid]=2&cHash=b8d239c224" instead.
-Now, this URL will not be indexed by external search-engines because of the query-string (everything after the "?" mark). This property avoids this problem by encoding the parameters. These are the options:
-
-Value set to "base64":
-This will transform the filename used to this value: "Page_1.228+B6JnR4X21pbmluZXdzX3BpMVtzaG93VWlkXT0yJmNIYXNoPWI4ZDIzOWMyMjQ_.0.html". The querystring has simply been base64-encoded (and some more...) and added to the HTML-filename (so now external search-engines will find this!). The really great thing about this that the filename is self-reliant because the filename contains the parameters. The downside to it is the very very long filename.
-
-Value set to "md5":
-This will transform the filename used to this value:
-"Page_1.228+M57867201f4a.0.html". Now, what a lovely, short filename! Now all the parameters has been hashed into a 10-char string inserted into the filename. At the same time an entry has been added to a cache table in the database so when a request for this filename reaches the frontend, then the REAL parameter string is found in the database! The really great thing about this is that the filename is very short (opposite to the base64-method). The downside to this is that IF you clear the database cache table at any time, the URL here does NOT work until a page with the link has been generated again (re-inserting the parameter list into the database).
-
-NOTICE: From TYPO3 3.6.0 the encoding will work only on parameters that are manually entered in the list set by .simulateStaticDocuments_pEnc_onlyP (see right below) or those parameters that various plugins might allow in addition. This is to limit the run-away risk when many parameters gets combined.]]></description>
-			<default><![CDATA[
-]]></default>
-		</property>
-		<property name="simulateStaticDocuments_pEnc_onlyP" type="string">
-			<description><![CDATA[A list of variables that may be a part of the md5/base64 encoded part of a simulate_static_document virtual filename (see property in the row above).
-
-Example:
-simulateStaticDocuments_pEnc_onlyP = tx_maillisttofaq_pi1[pointer], L, print
-
--> this will allow the "pointer" parameter for the extension "maillisttofaq" to be included (in addition to whatever vars the extension sets itself) and further the parameter "L" (could be language selection) and "print" (could be print-version).]]></description>
-			<default><![CDATA[
-]]></default>
-		</property>
-		<property name="simulateStaticDocuments_replacementChar" type="string">
-			<description><![CDATA[Word separator for URLs generated by simulateStaticDocuments. If set to
-hyphen, this option allows search engines to index keywords in URLs. Before TYPO3 4.0 this character was hard-coded to underscore.
-
-Depends on the compatibility mode (see Tools>Install>Update wizard):
-compatibility mode < 4.0:   underscore "_"
-compatibility mode >= 4.0:   hyphen "-"]]></description>
-			<default><![CDATA[
 ]]></default>
 		</property>
 		<property name="spamProtectEmailAddresses" type="string">
@@ -1256,27 +1160,9 @@ If found (another domain), then that domain is prepended the link, the external
 
 If this option is not set, then all cross-domain links will be generated as
 
-"http://domain.tld/index.php?id=12345" (where 12345 is page id). If this option is set and current site uses, for example, simulateStatic, then links will be generated as "http://domain.tld/PageTitle.12345.html" (includes RTE links too). Setting this option requires that domains, where pages are linked, have the same configuration for:
-
-- linking scheme (i.e. all use simulateStatic or RealURL or CoolURI but not any mixture)
-
-- all domains have identical localization settings (config.sys_language_XXX directives)
-
-- all domains have the same set of languages defined
-
-This option implies "config.typolinkCheckRootline=1", which will be activated automatically. Setting value of "config. typolinkCheckRootline" inside TS template will have no effect.
-
-Disclaimer: it must be understood that while link is generated to another domain, it is still generated in the context of current domain. No side effects are known at the time of writing of this documentation but they may exist. If any side effects are found, this documentation will be updated to include them.]]></description>
-			<default><![CDATA[false]]></default>
-		</property>
-		<property name="typolinkEnableLinksAcrossDomains" type="boolean">
-			<description><![CDATA[This option enables to create links across domains using current domain's linking scheme.
-
-If this option is not set, then all cross-domain links will be generated as
-
-"http://domain.tld/index.php?id=12345" (where 12345 is page id). If this option is set and current site uses, for example, simulateStatic, then links will be generated as "http://domain.tld/PageTitle.12345.html" (includes RTE links too). Setting this option requires that domains, where pages are linked, have the same configuration for:
+"http://domain.tld/index.php?id=12345" (where 12345 is page id). Setting this option requires that domains, where pages are linked, have the same configuration for:
 
-- linking scheme (i.e. all use simulateStatic or RealURL or CoolURI but not any mixture)
+- linking scheme (i.e. all use RealURL or CoolURI but not any mixture)
 - all domains have identical localization settings (config.sys_language_XXX directives)
 - all domains have the same set of languages defined
 
-- 
GitLab