[BUGFIX] Unused TDParams in ColumnsContentObject()
[Packages/TYPO3.CMS.git] / typo3 / sysext / form / Classes / Domain / Factory / TypoScriptFactory.php
index ffa1b71..79de33e 100644 (file)
@@ -4,7 +4,7 @@ namespace TYPO3\CMS\Form\Domain\Factory;
 /***************************************************************
  *  Copyright notice
  *
- *  (c) 2008 Patrick Broens (patrick@patrickbroens.nl)
+ *  (c) 2008-2013 Patrick Broens (patrick@patrickbroens.nl)
  *  All rights reserved
  *
  *  This script is part of the TYPO3 project. The TYPO3 project is
@@ -88,7 +88,7 @@ class TypoScriptFactory implements \TYPO3\CMS\Core\SingletonInterface {
                        $keys = \TYPO3\CMS\Core\TypoScript\TemplateService::sortedKeyList($typoscript);
                        foreach ($keys as $key) {
                                $class = $typoscript[$key];
-                               if (intval($key) && !strstr($key, '.')) {
+                               if ((int)$key && strpos($key, '.') === FALSE) {
                                        if (isset($typoscript[$key . '.'])) {
                                                $elementArguments = $typoscript[$key . '.'];
                                        } else {
@@ -123,7 +123,7 @@ class TypoScriptFactory implements \TYPO3\CMS\Core\SingletonInterface {
                                $oldArguments = $arguments;
                                list($class, $arguments) = $typoscriptParser->getVal($key, $GLOBALS['TSFE']->tmpl->setup);
                                if (is_array($oldArguments) && count($oldArguments)) {
-                                       $arguments = $this->getLocalConentObject()->joinTSarrays($arguments, $oldArguments);
+                                       $arguments = array_replace_recursive($arguments, $oldArguments);
                                }
                                $GLOBALS['TT']->incStackPointer();
                                $contentObject = array(
@@ -193,6 +193,11 @@ class TypoScriptFactory implements \TYPO3\CMS\Core\SingletonInterface {
         * @return void
         */
        protected function reconstituteElement(\TYPO3\CMS\Form\Domain\Model\Element\AbstractElement $element, array $arguments = array()) {
+               if (isset($arguments['value.'])) {
+                       $cObj = $this->getLocalConentObject();
+                       $arguments['value'] = $cObj->stdWrap($arguments['value'], $arguments['value.']);
+               }
+
                $this->setAttributes($element, $arguments);
                $this->setAdditionals($element, $arguments);
                if (isset($arguments['filters.'])) {
@@ -288,7 +293,7 @@ class TypoScriptFactory implements \TYPO3\CMS\Core\SingletonInterface {
                $keys = \TYPO3\CMS\Core\TypoScript\TemplateService::sortedKeyList($arguments);
                foreach ($keys as $key) {
                        $class = $arguments[$key];
-                       if (intval($key) && !strstr($key, '.')) {
+                       if ((int)$key && strpos($key, '.') === FALSE) {
                                $filterArguments = $arguments[$key . '.'];
                                $filter = $element->makeFilter($class, $filterArguments);
                                $element->addFilter($filter);
@@ -347,7 +352,7 @@ class TypoScriptFactory implements \TYPO3\CMS\Core\SingletonInterface {
                        $keys = \TYPO3\CMS\Core\TypoScript\TemplateService::sortedKeyList($rulesTyposcript);
                        foreach ($keys as $key) {
                                $class = $rulesTyposcript[$key];
-                               if (intval($key) && !strstr($key, '.')) {
+                               if ((int)$key && strpos($key, '.') === FALSE) {
                                        $elementArguments = $rulesTyposcript[$key . '.'];
                                        $rule = $rulesClass->createRule($class, $elementArguments);
                                        $rule->setFieldName($elementArguments['element']);
@@ -372,4 +377,3 @@ class TypoScriptFactory implements \TYPO3\CMS\Core\SingletonInterface {
        }
 
 }
-?>
\ No newline at end of file