[TASK] Deprecate BackendUtility::getListViewLink() 41/46541/6
authorBenni Mack <benni@typo3.org>
Tue, 9 Feb 2016 07:04:04 +0000 (08:04 +0100)
committerMorton Jonuschat <m.jonuschat@mojocode.de>
Thu, 11 Feb 2016 06:10:18 +0000 (07:10 +0100)
The wrapper method was previously used in two parts of the TYPO3
Core.

Resolves: #73190
Releases: master
Change-Id: I36f8e65f59aee9cb9d710253dae73b597c6b9275
Reviewed-on: https://review.typo3.org/46541
Reviewed-by: Daniel Goerz <ervaude@gmail.com>
Tested-by: Daniel Goerz <ervaude@gmail.com>
Reviewed-by: Morton Jonuschat <m.jonuschat@mojocode.de>
Tested-by: Morton Jonuschat <m.jonuschat@mojocode.de>
typo3/sysext/backend/Classes/Template/DocumentTemplate.php
typo3/sysext/backend/Classes/Utility/BackendUtility.php
typo3/sysext/core/Documentation/Changelog/master/Deprecation-73190-DeprecateBackendUtilitygetListViewLink.rst [new file with mode: 0644]
typo3/sysext/version/Classes/Controller/VersionModuleController.php

index ac18b09..75806ed 100644 (file)
@@ -366,12 +366,13 @@ function jumpToUrl(URL) {
     public function viewPageIcon($id)
     {
         // If access to Web>List for user, then link to that module.
-        $str = BackendUtility::getListViewLink(array(
+        $str = '<a href="' . htmlspecialchars(BackendUtility::getModuleUrl('web_list', [
             'id' => $id,
-            'returnUrl' => GeneralUtility::getIndpEnv('REQUEST_URI')
-        ), $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:labels.showList'));
+            'returnUrl' > GeneralUtility::getIndpEnv('REQUEST_URI')
+        ])) . '" title="' . htmlspecialchars($GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:labels.showList')) . '">' . $this->iconFactory->getIcon('actions-system-list-open', Icon::SIZE_SMALL)->render() . '</a>';
+
         // Make link to view page
-        $str .= '<a href="#" onclick="' . htmlspecialchars(BackendUtility::viewOnClick($id, '', BackendUtility::BEgetRootLine($id))) . '" title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:labels.showPage', true) . '">' . $this->iconFactory->getIcon('actions-document-view', Icon::SIZE_SMALL)->render() . '</a>';
+        $str .= '<a href="#" onclick="' . htmlspecialchars(BackendUtility::viewOnClick($id, '', BackendUtility::BEgetRootLine($id))) . '" title="' . htmlspecialchars($GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:labels.showPage')) . '">' . $this->iconFactory->getIcon('actions-document-view', Icon::SIZE_SMALL)->render() . '</a>';
         return $str;
     }
 
index 4a4cd16..fb5c1d7 100755 (executable)
@@ -3238,9 +3238,11 @@ class BackendUtility
      * @param string $linkTitle title for the link tag
      * @param string $linkText optional link text after the icon
      * @return string A complete <a href=""> tag
+     * @deprecated since TYPO3 v8, will be removed in TYPO3 v9, use getModuleUrl and IconFactory methods directly
      */
     public static function getListViewLink($urlParameters = array(), $linkTitle = '', $linkText = '')
     {
+        GeneralUtility::logDeprecatedFunction();
         /** @var IconFactory $iconFactory */
         $iconFactory = GeneralUtility::makeInstance(IconFactory::class);
         return '<a href="' . htmlspecialchars(self::getModuleUrl('web_list', $urlParameters)) . '" title="' . htmlspecialchars($linkTitle) . '">' . $iconFactory->getIcon('actions-system-list-open', Icon::SIZE_SMALL)->render() . htmlspecialchars($linkText) . '</a>';
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-73190-DeprecateBackendUtilitygetListViewLink.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-73190-DeprecateBackendUtilitygetListViewLink.rst
new file mode 100644 (file)
index 0000000..09e8e56
--- /dev/null
@@ -0,0 +1,26 @@
+=================================================================
+Deprecation: #73190 - Deprecate BackendUtility::getListViewLink()
+=================================================================
+
+Description
+===========
+
+The method ``BackendUtility::getListViewLink()`` has been marked as deprecated and will be removed in TYPO3 v9.
+
+
+Impact
+======
+
+Calling the method above will trigger a deprecation log entry.
+
+
+Affected Installations
+======================
+
+Any TYPO3 installation with a third-party extension calling this method directly.
+
+
+Migration
+=========
+
+Use the ``IconFactory`` and ``BackendUtility::getModuleUrl()`` API methods directly instead to create links.
\ No newline at end of file
index 2a9c643..462556c 100644 (file)
@@ -247,10 +247,13 @@ class VersionModuleController extends \TYPO3\CMS\Backend\Module\BaseScriptClass
                 $buttons['shortcut'] = $this->doc->makeShortcutIcon('id, edit_record, pointer, new_unique_uid, search_field, search_levels, showLimit', implode(',', array_keys($this->MOD_MENU)), $this->moduleName);
             }
             // If access to Web>List for user, then link to that module.
-            $buttons['record_list'] = BackendUtility::getListViewLink(array(
-                'id' => $this->pageinfo['uid'],
-                'returnUrl' => GeneralUtility::getIndpEnv('REQUEST_URI')
-            ), '', $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:labels.showList'));
+            $buttons['record_list'] = '<a href="' . htmlspecialchars(BackendUtility::getModuleUrl(
+                'web_list',
+                [
+                   'id' => $this->pageinfo['uid'],
+                   'returnUrl' => GeneralUtility::getIndpEnv('REQUEST_URI')
+                ]
+            )) . '">' . $this->moduleTemplate->getIconFactory()->getIcon('actions-system-list-open', Icon::SIZE_SMALL)->render() . htmlspecialchars($GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:labels.showList')) . '</a>';
         }
         return $buttons;
     }