[BUGFIX] Set correct default value for TSFE properties
[Packages/TYPO3.CMS.git] / typo3 / sysext / frontend / Classes / ContentObject / LoadRegisterContentObject.php
1 <?php
2 namespace TYPO3\CMS\Frontend\ContentObject;
3
4 /*
5 * This file is part of the TYPO3 CMS project.
6 *
7 * It is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU General Public License, either version 2
9 * of the License, or any later version.
10 *
11 * For the full copyright and license information, please read the
12 * LICENSE.txt file that was distributed with this source code.
13 *
14 * The TYPO3 project - inspiring people to share!
15 */
16
17 /**
18 * Contains LOAD_REGISTER class object.
19 */
20 class LoadRegisterContentObject extends AbstractContentObject
21 {
22 /**
23 * Rendering the cObject, LOAD_REGISTER
24 * NOTICE: This cObject does NOT return any content since it just sets internal data based on the TypoScript properties.
25 *
26 * @param array $conf Array of TypoScript properties
27 * @return string Empty string (the cObject only sets internal data!)
28 */
29 public function render($conf = [])
30 {
31 $GLOBALS['TSFE']->registerStack[] = $GLOBALS['TSFE']->register;
32 if (is_array($conf)) {
33 $isExecuted = [];
34 foreach ($conf as $theKey => $theValue) {
35 $register = rtrim($theKey, '.');
36 if (!isset($isExecuted[$register]) || !$isExecuted[$register]) {
37 $registerProperties = $register . '.';
38 if (isset($conf[$register]) && isset($conf[$registerProperties])) {
39 $theValue = $this->cObj->stdWrap($conf[$register], $conf[$registerProperties]);
40 } elseif (isset($conf[$registerProperties])) {
41 $theValue = $this->cObj->stdWrap('', $conf[$registerProperties]);
42 }
43 $GLOBALS['TSFE']->register[$register] = $theValue;
44 $isExecuted[$register] = true;
45 }
46 }
47 }
48 return '';
49 }
50 }