TYPO3 CMS  TYPO3_7-6
TypoScriptService.php
Go to the documentation of this file.
1 <?php
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 
21 {
32  public function convertTypoScriptArrayToPlainArray(array $typoScriptArray)
33  {
34  foreach ($typoScriptArray as $key => $value) {
35  if (substr($key, -1) === '.') {
36  $keyWithoutDot = substr($key, 0, -1);
37  $typoScriptNodeValue = isset($typoScriptArray[$keyWithoutDot]) ? $typoScriptArray[$keyWithoutDot] : null;
38  if (is_array($value)) {
39  $typoScriptArray[$keyWithoutDot] = $this->convertTypoScriptArrayToPlainArray($value);
40  if (!is_null($typoScriptNodeValue)) {
41  $typoScriptArray[$keyWithoutDot]['_typoScriptNodeValue'] = $typoScriptNodeValue;
42  }
43  unset($typoScriptArray[$key]);
44  } else {
45  $typoScriptArray[$keyWithoutDot] = null;
46  }
47  }
48  }
49  return $typoScriptArray;
50  }
51 
64  public function convertPlainArrayToTypoScriptArray(array $plainArray)
65  {
66  $typoScriptArray = [];
67  foreach ($plainArray as $key => $value) {
68  if (is_array($value)) {
69  if (isset($value['_typoScriptNodeValue'])) {
70  $typoScriptArray[$key] = $value['_typoScriptNodeValue'];
71  unset($value['_typoScriptNodeValue']);
72  }
73  $typoScriptArray[$key . '.'] = $this->convertPlainArrayToTypoScriptArray($value);
74  } else {
75  $typoScriptArray[$key] = is_null($value) ? '' : $value;
76  }
77  }
78  return $typoScriptArray;
79  }
80 }
convertTypoScriptArrayToPlainArray(array $typoScriptArray)