[TASK] Return full userTS in getTSConfig() 38/56938/2
authorChristian Kuhn <lolli@schwarzbu.ch>
Sat, 12 May 2018 14:14:57 +0000 (16:14 +0200)
committerChristian Kuhn <lolli@schwarzbu.ch>
Sat, 12 May 2018 14:53:44 +0000 (16:53 +0200)
By making the first argument $objectString optional in
BackendUserAuthentication->userTSConfig(), we allow the method to
act as a true getter that returns the full user TSconfig array.

This avoids calls to the public property ->userTS, which will be set
to protected in master with another patch.

This patch request is for both master and v8 to simplify life of
extension developers who want to keep an extension compatible
with v8 and v9, without throwing deprecations in v9.

Resolves: #84982
Releases: master, 8.7
Change-Id: I971fcaf4a402b762add4c469650c62b059264d8f
Reviewed-on: https://review.typo3.org/56938
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php

index 8271c78..88231f0 100644 (file)
@@ -1154,15 +1154,20 @@ class BackendUserAuthentication extends AbstractUserAuthentication
     }
 
     /**
+     * Returns fully parsed user TSconfig array.
+     *
      * Returns the value/properties of a TS-object as given by $objectString, eg. 'options.dontMountAdminMounts'
-     * Nice (general!) function for returning a part of a TypoScript array!
      *
      * @param string $objectString Pointer to an "object" in the TypoScript array, fx. 'options.dontMountAdminMounts'
      * @param array|string $config Optional TSconfig array: If array, then this is used and not $this->userTS. If not array, $this->userTS is used.
      * @return array An array with two keys, "value" and "properties" where "value" is a string with the value of the object string and "properties" is an array with the properties of the object string.
      */
-    public function getTSConfig($objectString, $config = '')
+    public function getTSConfig($objectString = '', $config = '')
     {
+        if (empty($objectString) && empty($config)) {
+            return $this->userTS;
+        }
+
         if (!is_array($config)) {
             // Getting Root-ts if not sent
             $config = $this->userTS;