[TASK] Deprecate BackendUtility::getPidForModTSconfig() 55/56955/2
authorChristian Kuhn <lolli@schwarzbu.ch>
Sun, 13 May 2018 19:09:55 +0000 (21:09 +0200)
committerWouter Wolters <typo3@wouterwolters.nl>
Sun, 13 May 2018 20:26:56 +0000 (22:26 +0200)
Removing cruft from BackendUtility is always fun. This time an
internal marked one-liner that is used only once bites the dust.

Resolves: #84994
Releases: master
Change-Id: Iaadbcf3dc74f329f91f1a48ba4096e8ea96f60a4
Reviewed-on: https://review.typo3.org/56955
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
typo3/sysext/backend/Classes/Utility/BackendUtility.php
typo3/sysext/core/Documentation/Changelog/master/Deprecation-84994-BackendUtilitygetPidForModTSconfigDeprecated.rst [new file with mode: 0644]
typo3/sysext/install/Configuration/ExtensionScanner/Php/MethodCallStaticMatcher.php

index 05bb6ca..770c220 100644 (file)
@@ -3424,9 +3424,11 @@ class BackendUtility
      * @param int $pid Record pid
      * @return int
      * @internal
+     * @deprecated since core v9, will be removed with core v10
      */
     public static function getPidForModTSconfig($table, $uid, $pid)
     {
+        trigger_error('Method getPidForModTSconfig() will be removed in TYPO3 v10.', E_USER_DEPRECATED);
         return $table === 'pages' && MathUtility::canBeInterpretedAsInteger($uid) ? $uid : $pid;
     }
 
@@ -3474,7 +3476,7 @@ class BackendUtility
         // If pid is negative (referring to another record) the pid of the other record is fetched and returned.
         $cPid = self::getTSconfig_pidValue($table, $uid, $pid);
         // $TScID is the id of $table = pages, else it's the pid of the record.
-        $TScID = self::getPidForModTSconfig($table, $uid, $cPid);
+        $TScID = $table === 'pages' && MathUtility::canBeInterpretedAsInteger($uid) ? $uid : $cPid;
         return [$TScID, $cPid];
     }
 
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-84994-BackendUtilitygetPidForModTSconfigDeprecated.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-84994-BackendUtilitygetPidForModTSconfigDeprecated.rst
new file mode 100644 (file)
index 0000000..dab1126
--- /dev/null
@@ -0,0 +1,33 @@
+.. include:: ../../Includes.txt
+
+=======================================================================
+Deprecation: #84994 - BackendUtility::getPidForModTSconfig() deprecated
+=======================================================================
+
+See :issue:`84994`
+
+Description
+===========
+
+Method :php:`TYPO3\CMS\backend\Utility\BackendUtility::getPidForModTSconfig()` has
+been marked as deprecated and should not be used any longer.
+
+
+Impact
+======
+
+Calling the method triggers a deprecation log entry.
+
+
+Affected Installations
+======================
+
+Extensions might call that method, even if is marked as internal. The extension scanner will find usages.
+
+
+Migration
+=========
+
+Drop the method call and copy the one-liner implementation into consuming code.
+
+.. index:: Backend, PHP-API, TSConfig, FullyScanned
\ No newline at end of file
index cec59b7..1496d50 100644 (file)
@@ -547,4 +547,11 @@ return [
             'Deprecation-83475-AggregateValidatorInformationInClassSchema-2.rst',
         ],
     ],
+    'TYPO3\CMS\backend\Utility\BackendUtility::getPidForModTSconfig' => [
+        'numberOfMandatoryArguments' => 3,
+        'maximumNumberOfArguments' => 3,
+        'restFiles' => [
+            'Deprecation-84994-BackendUtilitygetPidForModTSconfigDeprecated.rst',
+        ],
+    ],
 ];