[!!!][TASK] Remove deprecated code from backend functions 52/45452/3
authorWouter Wolters <typo3@wouterwolters.nl>
Sun, 27 Dec 2015 16:47:02 +0000 (17:47 +0100)
committerGeorg Ringer <georg.ringer@gmail.com>
Mon, 28 Dec 2015 11:52:55 +0000 (12:52 +0100)
Resolves: #72451
Releases: master
Change-Id: Ie7c8309800304b68c2d345636ba0ecc6ba6cf872
Reviewed-on: https://review.typo3.org/45452
Reviewed-by: Michael Oehlhof <typo3@oehlhof.de>
Tested-by: Michael Oehlhof <typo3@oehlhof.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
typo3/sysext/backend/Classes/ClickMenu/ClickMenu.php
typo3/sysext/backend/Classes/ContextMenu/ContextMenuAction.php
typo3/sysext/backend/Classes/Form/FormDataProvider/EvaluateDisplayConditions.php
typo3/sysext/backend/Classes/Form/Wizard/SuggestWizardDefaultReceiver.php
typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/EvaluateDisplayConditionsTest.php
typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php
typo3/sysext/core/Documentation/Changelog/master/Breaking-72451-RemovedDeprecatedCodeFromBackendFunctions.rst [new file with mode: 0644]
typo3/sysext/func/Classes/Controller/PageFunctionsController.php
typo3/sysext/impexp/Classes/Clickmenu.php
typo3/sysext/info/Classes/Controller/InfoModuleController.php
typo3/sysext/version/Classes/ClickMenu/VersionClickMenu.php

index 1ed4b66..e50c1b3 100644 (file)
@@ -1326,22 +1326,6 @@ class ClickMenu
     }
 
     /**
-     * Wrapping the input string in a table with background color 4 and a black border style.
-     * For the pop-up menu
-     *
-     * @param string $str HTML content to wrap in table.
-     * @return string
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8
-     */
-    public function wrapColorTableCM($str)
-    {
-        GeneralUtility::logDeprecatedFunction();
-        return '<div class="typo3-CSM-wrapperCM">
-                       ' . $str . '
-                       </div>';
-    }
-
-    /**
      * Traverses the menuItems and generates an output array for implosion in the CM div-layers table.
      *
      * @param array $menuItems Array
@@ -1476,19 +1460,6 @@ class ClickMenu
     }
 
     /**
-     * Returns the input string IF not a user setting has disabled display of icons.
-     *
-     * @param string $iconCode The icon-image tag
-     * @return string The icon-image tag prefixed with space char IF the icon should be printed at all due to user settings
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8
-     */
-    public function excludeIcon($iconCode)
-    {
-        GeneralUtility::logDeprecatedFunction();
-        return $this->backendUser->uc['noMenuMode'] && $this->backendUser->uc['noMenuMode'] !== 'icons' ? '' : ' ' . $iconCode;
-    }
-
-    /**
      * Enabling / Disabling items based on list provided from GET var ($this->iParts[3])
      *
      * @param array $menuItems Menu items array
index 05147a4..fe1b37c 100644 (file)
@@ -41,14 +41,6 @@ class ContextMenuAction
     protected $icon = '';
 
     /**
-     * Class
-     *
-     * @var string
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8
-     */
-    protected $class = '';
-
-    /**
      * Callback Action
      *
      * @var string
@@ -138,30 +130,6 @@ class ContextMenuAction
     }
 
     /**
-     * Returns the class
-     *
-     * @return string
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8
-     */
-    public function getClass()
-    {
-        GeneralUtility::logDeprecatedFunction();
-        return $this->class;
-    }
-
-    /**
-     * Sets the class
-     *
-     * @param string $class
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8
-     */
-    public function setClass($class)
-    {
-        GeneralUtility::logDeprecatedFunction();
-        $this->class = $class;
-    }
-
-    /**
      * Returns the callback action
      *
      * @return string
index 64cdd69..3f6403a 100644 (file)
@@ -266,18 +266,12 @@ class EvaluateDisplayConditions implements FormDataProviderInterface
         $result = false;
         list($matchType, $condition) = explode(':', $displayCondition, 2);
         switch ($matchType) {
-            case 'EXT':
-                $result = $this->matchExtensionCondition($condition);
-                break;
             case 'FIELD':
                 $result = $this->matchFieldCondition($condition, $record, $flexformContext);
                 break;
             case 'HIDE_FOR_NON_ADMINS':
                 $result = $this->matchHideForNonAdminsCondition();
                 break;
-            case 'HIDE_L10N_SIBLINGS':
-                $result = $this->matchHideL10nSiblingsCondition();
-                break;
             case 'REC':
                 $result = $this->matchRecordCondition($condition, $record);
                 break;
@@ -292,31 +286,6 @@ class EvaluateDisplayConditions implements FormDataProviderInterface
     }
 
     /**
-     * Evaluates conditions concerning extensions
-     *
-     * Example:
-     * "EXT:saltedpasswords:LOADED:TRUE" => TRUE, if extension saltedpasswords is loaded.
-     *
-     * @param string $condition
-     * @return bool
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8 - Do not use EXT:LOADED display conditions any longer
-     */
-    protected function matchExtensionCondition($condition)
-    {
-        GeneralUtility::logDeprecatedFunction();
-        $result = false;
-        list($extensionKey, $operator, $operand) = explode(':', $condition, 3);
-        if ($operator === 'LOADED') {
-            if (strtoupper($operand) === 'TRUE') {
-                $result = ExtensionManagementUtility::isLoaded($extensionKey);
-            } elseif (strtoupper($operand) === 'FALSE') {
-                $result = !ExtensionManagementUtility::isLoaded($extensionKey);
-            }
-        }
-        return $result;
-    }
-
-    /**
      * Evaluates conditions concerning a field of the current record.
      * Requires a record set via ->setRecord()
      *
@@ -431,19 +400,6 @@ class EvaluateDisplayConditions implements FormDataProviderInterface
     }
 
     /**
-     * Evaluates whether the field is a value for the default language.
-     * Works only for <langChildren>=1, otherwise it has no effect.
-     *
-     * @return bool
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8
-     */
-    protected function matchHideL10nSiblingsCondition()
-    {
-        GeneralUtility::deprecationLog('HIDE_L10N_SIBLINGS in Flexform display conditions has been deprecated with TYPO3 CMS 7 and will be removed with TYPO3 CMS 8.');
-        return true;
-    }
-
-    /**
      * Evaluates conditions concerning the status of the current record.
      * Requires a record set via ->setRecord()
      *
index cc0105c..3efd2a7 100644 (file)
@@ -339,19 +339,6 @@ class SuggestWizardDefaultReceiver
     }
 
     /**
-     * Return the icon for a record - just a wrapper for two functions from \TYPO3\CMS\Backend\Utility\IconUtility
-     *
-     * @param array $row The record to get the icon for
-     * @return string The path to the icon
-     * @deprecated since TYPO3 CMS 7, will be removed with TYPO3 CMS 8, use IconFactory::getIconForRecord() directly
-     */
-    protected function getIcon($row)
-    {
-        GeneralUtility::logDeprecatedFunction();
-        return $this->iconFactory->getIconForRecord($this->mmForeignTable ?: $this->table, $row, Icon::SIZE_SMALL)->render();
-    }
-
-    /**
      * Returns the path for a record. Is the whole path for all records except pages - for these the last part is cut
      * off, because it contains the pagetitle itself, which would be double information
      *
index 70e6b31..3047ef5 100644 (file)
@@ -324,56 +324,6 @@ class EvaluateDisplayConditionsTest extends UnitTestCase
     }
 
     /**
-     * The HIDE_L10N_SIBLINGS condition is deprecated, this test only ensures that it can be successfully parsed
-     *
-     * @test
-     */
-    public function matchHideL10NSiblingsReturnsTrue()
-    {
-        $input = [
-            'databaseRow' => [],
-            'processedTca' => [
-                'columns' => [
-                    'aField' => [
-                        'displayCond' => 'HIDE_L10N_SIBLINGS',
-                        'config' => [
-                            'type' => 'input',
-                        ]
-                    ],
-                ]
-            ]
-        ];
-
-        $expected = $input;
-
-        $this->assertSame($expected, $this->subject->addData($input));
-    }
-
-    /**
-     * @test
-     */
-    public function matchHideL10NSiblingsExceptAdminReturnsTrue()
-    {
-        $input = [
-            'databaseRow' => [],
-            'processedTca' => [
-                'columns' => [
-                    'aField' => [
-                        'displayCond' => 'HIDE_L10N_SIBLINGS:except_admin',
-                        'config' => [
-                            'type' => 'input',
-                        ]
-                    ],
-                ]
-            ]
-        ];
-
-        $expected = $input;
-
-        $this->assertSame($expected, $this->subject->addData($input));
-    }
-
-    /**
      * Returns data sets for the test matchConditionStrings
      * Each data set is an array with the following elements:
      * - the condition string
@@ -390,26 +340,6 @@ class EvaluateDisplayConditionsTest extends UnitTestCase
                 [],
                 false,
             ],
-            'Not loaded extension compares to loaded as FALSE' => [
-                'EXT:neverloadedext:LOADED:TRUE',
-                [],
-                false,
-            ],
-            'Not loaded extension compares to not loaded as TRUE' => [
-                'EXT:neverloadedext:LOADED:FALSE',
-                [],
-                true,
-            ],
-            'Loaded extension compares to TRUE' => [
-                'EXT:backend:LOADED:TRUE',
-                [],
-                true,
-            ],
-            'Loaded extension compares to FALSE' => [
-                'EXT:backend:LOADED:FALSE',
-                [],
-                false,
-            ],
             'Field is not greater zero if not given' => [
                 'FIELD:uid:>:0',
                 [],
@@ -500,11 +430,6 @@ class EvaluateDisplayConditionsTest extends UnitTestCase
                 ['uid' => '23'],
                 false,
             ],
-            'Field is value for default language without flexform' => [
-                'HIDE_L10N_SIBLINGS',
-                [],
-                true,
-            ],
             'New is TRUE for new comparison with TRUE' => [
                 'REC:NEW:TRUE',
                 ['uid' => null],
index 77f194b..7b9c0aa 100644 (file)
@@ -118,13 +118,6 @@ class BackendUserAuthentication extends \TYPO3\CMS\Core\Authentication\AbstractU
     public $includeGroupArray = array();
 
     /**
-     * Set to 'WIN', if windows
-     * @var string
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8, use the constant TYPO3_OS directly
-     */
-    public $OS = '';
-
-    /**
      * Used to accumulate the TSconfig data of the user
      * @var array
      */
@@ -307,7 +300,6 @@ class BackendUserAuthentication extends \TYPO3\CMS\Core\Authentication\AbstractU
         parent::__construct();
         $this->name = self::getCookieName();
         $this->loginType = 'BE';
-        $this->OS = TYPO3_OS;
     }
 
     /**
@@ -2346,44 +2338,6 @@ This is a dump of the failures:
     }
 
     /**
-     * If the backend script is in CLI mode, it will try to load a backend user named by the CLI module name (in lowercase)
-     *
-     * @return bool Returns TRUE if a CLI user was loaded, otherwise FALSE!
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8. Please implement this functionality in your own application directly from the outside
-     */
-    public function checkCLIuser()
-    {
-        GeneralUtility::logDeprecatedFunction();
-        // First, check if cliMode is enabled:
-        if (TYPO3_REQUESTTYPE & TYPO3_REQUESTTYPE_CLI) {
-            if (!$this->user['uid']) {
-                if (substr($GLOBALS['MCONF']['name'], 0, 5) == '_CLI_') {
-                    $userName = strtolower($GLOBALS['MCONF']['name']);
-                    $this->setBeUserByName($userName);
-                    if ($this->user['uid']) {
-                        if (!$this->isAdmin()) {
-                            return true;
-                        } else {
-                            fwrite(STDERR, 'ERROR: CLI backend user "' . $userName . '" was ADMIN which is not allowed!' . LF . LF);
-                            die(3);
-                        }
-                    } else {
-                        fwrite(STDERR, 'ERROR: No backend user named "' . $userName . '" was found!' . LF . LF);
-                        die(3);
-                    }
-                } else {
-                    fwrite(STDERR, 'ERROR: Module name, "' . $GLOBALS['MCONF']['name'] . '", was not prefixed with "_CLI_"' . LF . LF);
-                    die(3);
-                }
-            } else {
-                fwrite(STDERR, 'ERROR: Another user was already loaded which is impossible in CLI mode!' . LF . LF);
-                die(3);
-            }
-        }
-        return false;
-    }
-
-    /**
      * Initialize the internal ->uc array for the backend user
      * Will make the overrides if necessary, and write the UC back to the be_users record if changes has happened
      *
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-72451-RemovedDeprecatedCodeFromBackendFunctions.rst b/typo3/sysext/core/Documentation/Changelog/master/Breaking-72451-RemovedDeprecatedCodeFromBackendFunctions.rst
new file mode 100644 (file)
index 0000000..0e28bf0
--- /dev/null
@@ -0,0 +1,46 @@
+=================================================================
+Breaking: #72451 - Removed deprecated code from backend functions
+=================================================================
+
+Description
+===========
+
+Removed deprecated code from backend functions
+
+The following methods have been removed:
+
+``ClickMenu::wrapColorTableCM``
+``ClickMenu::excludeIcon``
+``ContextMenuAction::getClass``
+``ContextMenuAction::setClass``
+``SuggestWizardDefaultReceiver::getIcon``
+``BackendUserAuthentication::checkCLIuser``
+``PageFunctionsController::printContent``
+``InfoModuleController::printContent``
+
+The following display condition option have been removed
+
+* Evaluates conditions concerning extensions
+* Evaluates whether the field is a value for the default language.
+
+The property ``$OS`` has been removed from ``BackendUserAuthentication``
+
+The property ``$doc`` has been removed from ``InfoModuleController``
+
+
+Impact
+======
+
+Using the methods above directly in any third party extension will result in a fatal error.
+
+
+Affected Installations
+======================
+
+Instances which use custom calls to one of the methods above.
+
+
+Migration
+=========
+
+For property ``$OS`` use the constant TYPO3_OS directly.
index 46670ed..b2f89c1 100644 (file)
@@ -185,18 +185,6 @@ class PageFunctionsController extends \TYPO3\CMS\Backend\Module\BaseScriptClass
     }
 
     /**
-     * Print module content (from $this->content)
-     *
-     * @return void
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8
-     */
-    public function printContent()
-    {
-        GeneralUtility::logDeprecatedFunction();
-        echo $this->content;
-    }
-
-    /**
      * Create the panel of buttons for submitting the form or otherwise perform operations.
      */
     protected function getButtons()
index 9093754..46e30a2 100644 (file)
@@ -71,7 +71,7 @@ class Clickmenu
             $url = BackendUtility::getModuleUrl('xMOD_tximpexp', $urlParameters);
             $localItems[] = $backRef->linkItem(
                 htmlspecialchars($this->getLanguageService()->getLLL('export', $LL)),
-                $backRef->excludeIcon($this->iconFactory->getIcon('actions-document-export-t3d', Icon::SIZE_SMALL)),
+                $this->iconFactory->getIcon('actions-document-export-t3d', Icon::SIZE_SMALL),
                 $backRef->urlRefForCM($url),
                 1
             );
@@ -86,7 +86,7 @@ class Clickmenu
                 $url = BackendUtility::getModuleUrl('xMOD_tximpexp', $urlParameters);
                 $localItems[] = $backRef->linkItem(
                     htmlspecialchars($this->getLanguageService()->getLLL('import', $LL)),
-                    $backRef->excludeIcon($this->iconFactory->getIcon('actions-document-import-t3d', Icon::SIZE_SMALL)),
+                    $this->iconFactory->getIcon('actions-document-import-t3d', Icon::SIZE_SMALL),
                     $backRef->urlRefForCM($url),
                     1
                 );
index 2eb8572..b007ca9 100644 (file)
@@ -35,14 +35,6 @@ class InfoModuleController extends BaseScriptClass
     public $pageinfo;
 
     /**
-     * Document Template Object
-     *
-     * @var \TYPO3\CMS\Backend\Template\DocumentTemplate
-     * @deprecated
-     */
-    public $doc;
-
-    /**
      * @var \TYPO3\CMS\Core\Authentication\BackendUserAuthentication
      */
     protected $backendUser;
@@ -133,19 +125,6 @@ class InfoModuleController extends BaseScriptClass
     }
 
     /**
-     * Print module content (from $this->content)
-     *
-     * @return void
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8
-     */
-    public function printContent()
-    {
-        GeneralUtility::logDeprecatedFunction();
-        $this->content = $this->doc->insertStylesAndJS($this->content);
-        echo $this->content;
-    }
-
-    /**
      * Injects the request object for the current request or subrequest
      * Then checks for module functions that have hooked in, and renders menu etc.
      *
index 2263c6f..3b53fef 100644 (file)
@@ -60,7 +60,7 @@ class VersionClickMenu
             $url = \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('web_txversionM1', array('table' => $table, 'uid' => $uid));
             $localItems[] = $backRef->linkItem(
                 $GLOBALS['LANG']->getLLL('title', $LL),
-                $backRef->excludeIcon($this->iconFactory->getIcon('actions-version-page-open', Icon::SIZE_SMALL)->render()),
+                $this->iconFactory->getIcon('actions-version-page-open', Icon::SIZE_SMALL)->render(),
                 $backRef->urlRefForCM($url),
                 true
             );