From 77a59bc7ba70c1d7a7ae7b6e7e532ade04ea1365 Mon Sep 17 00:00:00 2001
From: Benni Mack <benni@typo3.org>
Date: Fri, 8 Dec 2017 08:10:02 +0100
Subject: [PATCH] [!!!][TASK] Drop support for &id=23.1 (id.type) syntax

TYPO3 previously allowed to hand over the typeNum parameter
via index.php?id=pageId.typeNum which is dropped now, as
"index.php?id=pageId&type=typeNum" should be used, no more hidden magic.

Resolves: #83265
Releases: master
Change-Id: I218812b462d3ccb3ee0c35f0c8507957f0002ac8
Reviewed-on: https://review.typo3.org/54980
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Stefan Neufeind <typo3.neufeind@speedpartner.de>
Tested-by: Stefan Neufeind <typo3.neufeind@speedpartner.de>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
---
 ...tingTypeNumViaIdGETParameterInFrontend.rst | 38 +++++++++++++++++++
 .../TypoScriptFrontendController.php          |  8 ----
 2 files changed, 38 insertions(+), 8 deletions(-)
 create mode 100644 typo3/sysext/core/Documentation/Changelog/master/Breaking-83265-DroppedSupportForSettingTypeNumViaIdGETParameterInFrontend.rst

diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-83265-DroppedSupportForSettingTypeNumViaIdGETParameterInFrontend.rst b/typo3/sysext/core/Documentation/Changelog/master/Breaking-83265-DroppedSupportForSettingTypeNumViaIdGETParameterInFrontend.rst
new file mode 100644
index 000000000000..27ac1ad6be3b
--- /dev/null
+++ b/typo3/sysext/core/Documentation/Changelog/master/Breaking-83265-DroppedSupportForSettingTypeNumViaIdGETParameterInFrontend.rst
@@ -0,0 +1,38 @@
+.. include:: ../../Includes.txt
+
+=========================================================================================
+Breaking: #83265 - Dropped support for setting "typeNum" via id GET Parameter in Frontend
+=========================================================================================
+
+See :issue:`83265`
+
+Description
+===========
+
+The functionality to add the possible page typeNum to the "id" GET/POST Parameter has been removed.
+
+Previously it was possible to call TYPO3 Frontend via `index.php?id=23.13` (separated with a dot) which resolved in the page ID being
+"23" and the typeNum set to 13.
+
+This functionality is a leftover from 2003, to shorten the URL and avoid multiple GET parameters. Instead, today it is common to use
+`index.php?id=23&type=13` which TYPO3 uses internally everywhere since TYPO3 v4.0.
+
+
+Impact
+======
+
+Calling Frontend URLs via `index.php?id=23.13" - adding the typeNum with a dot - will result in a PageNotFound exception.
+
+
+Affected Installations
+======================
+
+Installations with multiple "typeNum" TypoScript values, and with very old settings and custom built URLs for the Frontend.
+
+
+Migration
+=========
+
+Use typolink functionality in TypoScript, or Fluid to build your URLs properly in the format of `index.php?id=pageId&type=typeNum`.
+
+.. index:: Frontend, NotScanned
\ No newline at end of file
diff --git a/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php b/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php
index ab205b42b4d4..8c33e933d0e1 100644
--- a/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php
+++ b/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php
@@ -1287,14 +1287,6 @@ class TypoScriptFrontendController implements LoggerAwareInterface
         $this->initUserGroups();
         // 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
-        $idParts = explode('.', $this->id, 2);
-        $this->id = $idParts[0];
-        if (isset($idParts[1])) {
-            $this->type = $idParts[1];
-        }
-
         // If $this->id is a string, it's an alias
         $this->checkAndSetAlias();
         // The id and type is set to the integer-value - just to be sure...
-- 
GitLab