Project

General

Profile

Bug #23413 » typo3core_bugfix_15512_v2_trunk.patch

Administrator Admin, 2010-09-02 21:09

View differences:

t3lib/class.t3lib_tceforms.php (copie de travail)
$PA['_lang'] = $lang;
$PA['_cshFile'] = ((isset($dataStruct['ROOT']['TCEforms']) && isset($dataStruct['ROOT']['TCEforms']['cshFile'])) ? $dataStruct['ROOT']['TCEforms']['cshFile'] : '');
// Push the sheet level tab to DynNestedStack
if (is_array($dataStructArray['sheets'])) {
$tabIdentString = $GLOBALS['TBE_TEMPLATE']->getDynTabMenuId('TCEFORMS:flexform:' . $PA['itemFormElName'] . $PA['_lang']);
$this->pushToDynNestedStack('tab', $tabIdentString . '-' . (count($tabParts)+1));
}
// Render flexform:
$tRows = $this->getSingleField_typeFlex_draw(
$dataStruct['ROOT']['el'],
......
# $item = '<div style=" position:absolute;">'.$item.'</div>';
//visibility:hidden;
// Pop the sheet level tab from DynNestedStack
if (is_array($dataStructArray['sheets'])) {
$this->popFromDynNestedStack('tab', $tabIdentString . '-' . (count($tabParts)+1));
}
} else $sheetContent='Data Structure ERROR: No ROOT element found for sheet "'.$sheet.'".';
// Add to tab:
......
$s = t3lib_div::revExplode('[]',$formPrefix,2);
$actionFieldName = '_ACTION_FLEX_FORM'.$PA['itemFormElName'].$s[0].'][_ACTION]['.$s[1];
// Push the container to DynNestedStack as it may be toggled
$this->pushToDynNestedStack('flex' , $idTagPrefix);
// Putting together the container:
$this->additionalJS_delete = array();
$output.= '
......
</div>';
$output = str_replace('/*###REMOVE###*/', t3lib_div::slashJS(htmlspecialchars(implode('', $this->additionalJS_delete))), $output);
// NOTICE: We are saving the toggle-state directly in the flexForm XML and "unauthorized" according to the data structure. It means that flexform XML will report unclean and a cleaning operation will remove the recorded togglestates. This is not a fatal problem. Ideally we should save the toggle states in meta-data but it is much harder to do that. And this implementation was easy to make and with no really harmful impact.
// Pop the container from DynNestedStack
$this->popFromDynNestedStack('flex' , $idTagPrefix);
}
// If it's a "single form element":
typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js (copie de travail)
for (i=0, max=nested.length; i<max; i++) {
type = nested[i][0];
level = nested[i][1];
if (type=='tab') {
simplifiedNested.push(level+'-DIV');
} else if (type=='inline') {
simplifiedNested.push(level+'_fields');
switch (type) {
case 'tab':
simplifiedNested.push(level+'-DIV');
break;
case 'inline':
simplifiedNested.push(level+'_fields');
break;
case 'flex':
simplifiedNested.push(level+'-content');
break;
}
}
}
(5-5/6)