2 namespace TYPO3\CMS\Form\Domain\Repository;
48 $GLOBALS[
'TSFE']->tmpl->setup[
'plugin.'][
'tx_form.']
75 if (!isset($this->modelDefinitionTypoScript[
'settings.'][
'registeredElements.'])) {
76 throw new \InvalidArgumentException(
'There are no registeredElements available.', 1441791615);
78 $registeredElements = $this->modelDefinitionTypoScript[
'settings.'][
'registeredElements.'];
79 foreach ($registeredElements as $registeredElementKey => $value) {
80 $registeredElementKey = rtrim($registeredElementKey,
'.');
81 $this->registeredElementTypes[] = $registeredElementKey;
95 if ($elementType ==
'') {
99 if (is_array($htmlAttributes)) {
100 $htmlAttributes = array_fill_keys($htmlAttributes, null);
102 $htmlAttributes = array();
105 if (is_array($defaultHtmlAttributeValues)) {
106 foreach ($defaultHtmlAttributeValues as $defaultHtmlAttributeKey => $defaultHtmlAttributeValue) {
107 $htmlAttributes[$defaultHtmlAttributeKey] = $defaultHtmlAttributeValue;
109 }
elseif (!is_array($htmlAttributes)) {
110 $htmlAttributes = array();
112 return $htmlAttributes;
140 if (isset($this->modelDefinitionTypoScript[
'settings.'][
'registeredElements.'][$elementType .
'.'][$scope])) {
141 return $this->modelDefinitionTypoScript[
'settings.'][
'registeredElements.'][$elementType .
'.'][$scope];
156 $name = strtolower($name);
157 if (isset($this->modelDefinitionTypoScript[
'settings.'][$scope .
'.'][$name .
'.'][
'className'])) {
158 return $this->modelDefinitionTypoScript[
'settings.'][$scope .
'.'][$name .
'.'][
'className'];
172 $ignoreKeys = array();
173 foreach ($typoScript as $key => $value) {
174 if (isset($ignoreKeys[$key])) {
178 if ($value[0] ===
'<') {
179 if (isset($typoScript[$key .
'.'])) {
180 $oldTypoScript = $typoScript[$key .
'.'];
182 $oldTypoScript = array();
185 $referencePath = trim(substr($value, 1));
186 $dotPosition = strpos($referencePath,
'.');
187 if ($dotPosition === 0) {
189 list($flatValue, $arrayValue) = $this->typoScriptParser->getVal(substr($referencePath, 1), $typoScript);
191 list($flatValue, $arrayValue) = $this->typoScriptParser->getVal($referencePath,
$GLOBALS[
'TSFE']->tmpl->setup);
193 if (is_array($arrayValue)) {
194 $typoScript[$key .
'.'] = array_replace_recursive($arrayValue, $oldTypoScript);
196 if ($flatValue[0] ===
'<') {
197 $temporaryTypoScript = array(
198 'temp' => $flatValue,
199 'temp.' => $typoScript[$key .
'.'],
202 $arrayValue = array_replace_recursive($temporaryTypoScript[
'temp.'], $arrayValue, $oldTypoScript);
204 if (is_array($arrayValue)) {
205 $typoScript[$key .
'.'] = array_replace_recursive($arrayValue, $oldTypoScript);
206 }
elseif (isset($flatValue)) {
207 $typoScript[$key] = $flatValue;
209 $typoScript[$key .
'.'] = $oldTypoScript;
213 if (isset($typoScript[$key .
'.'])) {
214 $ignoreKeys[$key .
'.'] =
true;
216 }
elseif (is_array($typoScript[$key])) {