From 497e07c5be7b3a2c2f7e053df8b3affd7767880b Mon Sep 17 00:00:00 2001
From: Michael Oehlhof <typo3@oehlhof.de>
Date: Mon, 2 Mar 2015 00:36:39 +0100
Subject: [PATCH] [TASK] Introduced getter for $GLOBALS in
 backend/Classes/ContextMenu

- add getter for LanguageService
- add getter for BackendUser

Resolves: #65445
Releases: master
Change-Id: I985f9b0aa619ea7f90f35fe169122c26850a73df
Reviewed-on: http://review.typo3.org/37444
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
---
 .../AbstractContextMenuDataProvider.php       | 22 +++++++++++++++++--
 .../Pagetree/ContextMenuDataProvider.php      | 13 +++++++++--
 2 files changed, 31 insertions(+), 4 deletions(-)

diff --git a/typo3/sysext/backend/Classes/ContextMenu/AbstractContextMenuDataProvider.php b/typo3/sysext/backend/Classes/ContextMenu/AbstractContextMenuDataProvider.php
index 8d0111114bbb..796826754d58 100644
--- a/typo3/sysext/backend/Classes/ContextMenu/AbstractContextMenuDataProvider.php
+++ b/typo3/sysext/backend/Classes/ContextMenu/AbstractContextMenuDataProvider.php
@@ -70,7 +70,7 @@ abstract class AbstractContextMenuDataProvider {
 	 * @return array
 	 */
 	protected function getConfiguration() {
-		$contextMenuActions = $GLOBALS['BE_USER']->getTSConfig('options.contextMenu.' . $this->contextMenuType . '.items');
+		$contextMenuActions = $this->getBackendUser()->getTSConfig('options.contextMenu.' . $this->contextMenuType . '.items');
 		return $contextMenuActions['properties'];
 	}
 
@@ -176,7 +176,7 @@ abstract class AbstractContextMenuDataProvider {
 					unset($action);
 					continue;
 				}
-				$label = $GLOBALS['LANG']->sL($actionConfiguration['label'], TRUE);
+				$label = $this->getLanguageService()->sL($actionConfiguration['label'], TRUE);
 				if ($type === 'SUBMENU') {
 					$action->setType('submenu');
 					$action->setChildActions($this->getNextContextMenuLevel($actionConfiguration, $node, $level + 1));
@@ -220,4 +220,22 @@ abstract class AbstractContextMenuDataProvider {
 		return $contentUrl;
 	}
 
+	/**
+	 * Returns LanguageService
+	 *
+	 * @return \TYPO3\CMS\Lang\LanguageService
+	 */
+	protected function getLanguageService() {
+		return $GLOBALS['LANG'];
+	}
+
+	/**
+	 * Returns the current BE user.
+	 *
+	 * @return \TYPO3\CMS\Core\Authentication\BackendUserAuthentication
+	 */
+	protected function getBackendUser() {
+		return $GLOBALS['BE_USER'];
+	}
+
 }
diff --git a/typo3/sysext/backend/Classes/ContextMenu/Pagetree/ContextMenuDataProvider.php b/typo3/sysext/backend/Classes/ContextMenu/Pagetree/ContextMenuDataProvider.php
index f252cc620235..2883a4e9c78c 100644
--- a/typo3/sysext/backend/Classes/ContextMenu/Pagetree/ContextMenuDataProvider.php
+++ b/typo3/sysext/backend/Classes/ContextMenu/Pagetree/ContextMenuDataProvider.php
@@ -42,12 +42,12 @@ class ContextMenuDataProvider extends \TYPO3\CMS\Backend\ContextMenu\AbstractCon
 	 * @return array
 	 */
 	protected function getDisableActions() {
-		$tsConfig = $GLOBALS['BE_USER']->getTSConfig('options.contextMenu.' . $this->getContextMenuType() . '.disableItems');
+		$tsConfig = $this->getBackendUser()->getTSConfig('options.contextMenu.' . $this->getContextMenuType() . '.disableItems');
 		$disableItems = array();
 		if (trim($tsConfig['value']) !== '') {
 			$disableItems = GeneralUtility::trimExplode(',', $tsConfig['value']);
 		}
-		$tsConfig = $GLOBALS['BE_USER']->getTSConfig('options.contextMenu.pageTree.disableItems');
+		$tsConfig = $this->getBackendUser()->getTSConfig('options.contextMenu.pageTree.disableItems');
 		$oldDisableItems = array();
 		if (trim($tsConfig['value']) !== '') {
 			$oldDisableItems = GeneralUtility::trimExplode(',', $tsConfig['value']);
@@ -84,4 +84,13 @@ class ContextMenuDataProvider extends \TYPO3\CMS\Backend\ContextMenu\AbstractCon
 		return $contextMenuActions;
 	}
 
+	/**
+	 * Returns the current BE user.
+	 *
+	 * @return \TYPO3\CMS\Core\Authentication\BackendUserAuthentication
+	 */
+	protected function getBackendUser() {
+		return $GLOBALS['BE_USER'];
+	}
+
 }
-- 
GitLab