[TASK] Deprecate ArrayUtility::inArray() 09/51309/5
authorWouter Wolters <typo3@wouterwolters.nl>
Fri, 13 Jan 2017 16:09:09 +0000 (17:09 +0100)
committerGeorg Ringer <georg.ringer@gmail.com>
Tue, 17 Jan 2017 15:33:18 +0000 (16:33 +0100)
Resolves: #79316
Releases: master
Change-Id: Ieb54d51a6d6f15325fc4c1c88ad29c845200c68b
Reviewed-on: https://review.typo3.org/51309
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Mona Muzaffar <mona.muzaffar@gmx.de>
Reviewed-by: Andreas Fernandez <typo3@scripting-base.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
typo3/sysext/backend/Classes/Utility/BackendUtility.php
typo3/sysext/core/Classes/Http/AjaxRequestHandler.php
typo3/sysext/core/Classes/Utility/ArrayUtility.php
typo3/sysext/core/Documentation/Changelog/master/Deprecation-79316-DeprecateArrayUtilityinArray.rst [new file with mode: 0644]
typo3/sysext/frontend/Classes/ContentObject/Menu/AbstractMenuContentObject.php
typo3/sysext/frontend/Classes/ContentObject/Menu/JavaScriptMenuContentObject.php

index 4682295..3b7bf8b 100644 (file)
@@ -1408,7 +1408,7 @@ class BackendUtility
             foreach ($groups as $uid => $row) {
                 $groupN = $uid;
                 $set = 0;
-                if (ArrayUtility::inArray($groupArray, $uid)) {
+                if (in_array($uid, $groupArray, false)) {
                     $groupN = $row['title'];
                     $set = 1;
                 }
index ee9fd13..ff14fcf 100644 (file)
@@ -15,7 +15,6 @@ namespace TYPO3\CMS\Core\Http;
  */
 
 use Psr\Http\Message\ResponseInterface;
-use TYPO3\CMS\Core\Utility\ArrayUtility;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 
 /**
@@ -138,7 +137,7 @@ class AjaxRequestHandler
      */
     public function setContentFormat($format)
     {
-        if (ArrayUtility::inArray(['plain', 'xml', 'json', 'jsonhead', 'jsonbody', 'javascript'], $format)) {
+        if (in_array($format, ['plain', 'xml', 'json', 'jsonhead', 'jsonbody', 'javascript'], true)) {
             $this->contentFormat = $format;
         }
     }
index ff0b3c0..ae504a4 100644 (file)
@@ -652,9 +652,11 @@ class ArrayUtility
      * @param array $in_array One-dimensional array of items
      * @param string $item Item to check for
      * @return bool TRUE if $item is in the one-dimensional array $in_array
+     * @deprecated since TYPO3 v8, will be removed in TYPO3 v9, use in_array instead
      */
     public static function inArray(array $in_array, $item)
     {
+        GeneralUtility::logDeprecatedFunction();
         foreach ($in_array as $val) {
             if (!is_array($val) && (string)$val === (string)$item) {
                 return true;
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-79316-DeprecateArrayUtilityinArray.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-79316-DeprecateArrayUtilityinArray.rst
new file mode 100644 (file)
index 0000000..4947ef2
--- /dev/null
@@ -0,0 +1,33 @@
+.. include:: ../../Includes.txt
+
+=======================================================
+Deprecation: #79316 - Deprecate ArrayUtility::inArray()
+=======================================================
+
+See :issue:`79316`
+
+Description
+===========
+
+Deprecate ArrayUtility::inArray()
+
+
+Impact
+======
+
+Calling php:`ArrayUtility::inArray()` method will trigger a deprecation log entry. Code using this method will work until it is removed in TYPO3 v9.
+
+
+Affected Installations
+======================
+
+Any installation using the mentioned method :php:`ArrayUtility::inArray()`.
+
+
+Migration
+=========
+
+Use the native :php:`in_array()` function of PHP. It is strongly recommended to ensure the same type is used
+everywhere and the 3rd parameter of :php:`in_array()` is set to :php:`true` to activate the type check.
+
+.. index:: PHP-API
\ No newline at end of file
index e186d60..1c5ac0a 100644 (file)
@@ -19,7 +19,6 @@ use TYPO3\CMS\Core\Database\ConnectionPool;
 use TYPO3\CMS\Core\Database\RelationHandler;
 use TYPO3\CMS\Core\TimeTracker\TimeTracker;
 use TYPO3\CMS\Core\TypoScript\TemplateService;
-use TYPO3\CMS\Core\Utility\ArrayUtility;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Core\Utility\MathUtility;
 use TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer;
@@ -1273,7 +1272,7 @@ abstract class AbstractMenuContentObject
             ($this->mconf['SPC'] || !$spacer) // If the spacer-function is not enabled, spacers will not enter the $menuArr
             && (!$data['nav_hide'] || $this->conf['includeNotInMenu']) // Not hidden in navigation
             && !GeneralUtility::inList($this->doktypeExcludeList, $data['doktype']) // Page may not be 'not_in_menu' or 'Backend User Section'
-            && !ArrayUtility::inArray($banUidArray, $data['uid']) // not in banned uid's
+            && !in_array($data['uid'], $banUidArray, false) // not in banned uid's
         ) {
             // Checks if the default language version can be shown:
             // Block page is set, if l18n_cfg allows plus: 1) Either default language or 2) another language but NO overlay record set for page!
index 8325908..bbb48e2 100644 (file)
@@ -14,7 +14,6 @@ namespace TYPO3\CMS\Frontend\ContentObject\Menu;
  * The TYPO3 project - inspiring people to share!
  */
 
-use TYPO3\CMS\Core\Utility\ArrayUtility;
 use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Core\Utility\MathUtility;
@@ -139,7 +138,7 @@ var ' . $this->JSVarName . $a . '=0;';
             // If the spacer-function is not enabled, spacers will not enter the $menuArr
             if ($this->mconf['SPC'] || !$spacer) {
                 // Page may not be 'not_in_menu' or 'Backend User Section' + not in banned uid's
-                if (!GeneralUtility::inList($this->doktypeExcludeList, $data['doktype']) && (!$data['nav_hide'] || $this->conf['includeNotInMenu']) && !ArrayUtility::inArray($banUidArray, $uid)) {
+                if (!GeneralUtility::inList($this->doktypeExcludeList, $data['doktype']) && (!$data['nav_hide'] || $this->conf['includeNotInMenu']) && !in_array($uid, $banUidArray, false)) {
                     if ($count < $levels) {
                         $addLines = $this->generate_level($levels, $count + 1, $data['uid'], '', $MP_array_sub);
                     } else {