[TASK] Introduce Enum constants for t3ver_state
[Packages/TYPO3.CMS.git] / typo3 / sysext / frontend / Classes / ContentObject / LoadRegisterContentObject.php
1 <?php
2 namespace TYPO3\CMS\Frontend\ContentObject;
3
4 /***************************************************************
5 * Copyright notice
6 *
7 * (c) 2010-2013 Xavier Perseguers <typo3@perseguers.ch>
8 * (c) 2010-2013 Steffen Kamper <steffen@typo3.org>
9 * All rights reserved
10 *
11 * This script is part of the TYPO3 project. The TYPO3 project is
12 * free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 2 of the License, or
15 * (at your option) any later version.
16 *
17 * The GNU General Public License can be found at
18 * http://www.gnu.org/copyleft/gpl.html.
19 * A copy is found in the textfile GPL.txt and important notices to the license
20 * from the author is found in LICENSE.txt distributed with these scripts.
21 *
22 *
23 * This script is distributed in the hope that it will be useful,
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26 * GNU General Public License for more details.
27 *
28 * This copyright notice MUST APPEAR in all copies of the script!
29 ***************************************************************/
30 /**
31 * Contains LOAD_REGISTER class object.
32 *
33 * @author Xavier Perseguers <typo3@perseguers.ch>
34 * @author Steffen Kamper <steffen@typo3.org>
35 */
36 class LoadRegisterContentObject extends \TYPO3\CMS\Frontend\ContentObject\AbstractContentObject {
37
38 /**
39 * Rendering the cObject, LOAD_REGISTER
40 * NOTICE: This cObject does NOT return any content since it just sets internal data based on the TypoScript properties.
41 *
42 * @param array $conf Array of TypoScript properties
43 * @return string Empty string (the cObject only sets internal data!)
44 */
45 public function render($conf = array()) {
46 array_push($GLOBALS['TSFE']->registerStack, $GLOBALS['TSFE']->register);
47 if (is_array($conf)) {
48 $isExecuted = array();
49 foreach ($conf as $theKey => $theValue) {
50 $register = rtrim($theKey, '.');
51 if (!$isExecuted[$register]) {
52 $registerProperties = $register . '.';
53 if (isset($conf[$register]) && isset($conf[$registerProperties])) {
54 $theValue = $this->cObj->stdWrap($conf[$register], $conf[$registerProperties]);
55 } elseif (isset($conf[$registerProperties])) {
56 $theValue = $this->cObj->stdWrap('', $conf[$registerProperties]);
57 }
58 $GLOBALS['TSFE']->register[$register] = $theValue;
59 $isExecuted[$register] = TRUE;
60 }
61 }
62 }
63 return '';
64 }
65
66 }