Removed the tree filter toggle
[Packages/TYPO3.CMS.git] / t3lib / class.t3lib_flexformtools.php
index b64c197..d93cb3c 100644 (file)
@@ -92,7 +92,10 @@ class t3lib_flexformtools {
                );
 
                // Internal:
-       var $callBackObj = NULL;                // Reference to object called
+       /**
+        * Reference to object called
+        */
+       var $callBackObj = NULL;
        var $cleanFlexFormXML = array();                // Used for accumulation of clean XML
 
        /**
@@ -232,17 +235,19 @@ class t3lib_flexformtools {
                                                                }
 
                                                                foreach($editData[$key]['el'] as $k3 => $v3)    {
-                                                                       $cc=$k3;
-                                                                       $theType = key($v3);
-                                                                       $theDat = $v3[$theType];
-                                                                       $newSectionEl = $value['el'][$theType];
-                                                                       if (is_array($newSectionEl))    {
-                                                                               $this->traverseFlexFormXMLData_recurse(
-                                                                                       array($theType => $newSectionEl),
-                                                                                       array($theType => $theDat),
-                                                                                       $PA,
-                                                                                       $path.'/'.$key.'/el/'.$cc
-                                                                               );
+                                                                       if (is_array($v3))      {
+                                                                               $cc=$k3;
+                                                                               $theType = key($v3);
+                                                                               $theDat = $v3[$theType];
+                                                                               $newSectionEl = $value['el'][$theType];
+                                                                               if (is_array($newSectionEl))    {
+                                                                                       $this->traverseFlexFormXMLData_recurse(
+                                                                                               array($theType => $newSectionEl),
+                                                                                               array($theType => $theDat),
+                                                                                               $PA,
+                                                                                               $path.'/'.$key.'/el/'.$cc
+                                                                                       );
+                                                                               }
                                                                        }
                                                                }
                                                        }
@@ -359,6 +364,14 @@ class t3lib_flexformtools {
                #debug(array($dsArr, $data, $PA),$path);
                        // Just setting value in our own result array, basically replicating the structure:
                $pObj->setArrayValueByPath($path,$this->cleanFlexFormXML,$data);
+
+                       // Looking if an "extension" called ".vDEFbase" is found and if so, accept that too:
+               if ($GLOBALS['TYPO3_CONF_VARS']['BE']['flexFormXMLincludeDiffBase'])    {
+                       $vDEFbase = $pObj->getArrayValueByPath($path.'.vDEFbase',$pObj->traverseFlexFormXMLData_Data);
+                       if (isset($vDEFbase))   {
+                               $pObj->setArrayValueByPath($path.'.vDEFbase',$this->cleanFlexFormXML,$vDEFbase);
+                       }
+               }
        }