Index: class.t3lib_transferdata.php =================================================================== --- class.t3lib_transferdata.php (revision 2751) +++ class.t3lib_transferdata.php (working copy) @@ -160,6 +160,20 @@ foreach($TCAdefaultOverride[$table.'.'] as $theF => $theV) { if (isset($TCA[$table]['columns'][$theF])) { $newRow[$theF]=$theV; + + // Allowing userFuncs in userTS TCAdefaults, see issue #6635 for details + if (is_array($theV)) { + $theF = substr($theF, 0, -1); // Remove trailing dot from fieldname + $funcName = $theV['userFunc']; + $params = Array( + 'table' => $table, + 'field' => $theF, + 'value' => $newRow[$theF], + 'conf' => $theV['userFunc.'] + ); + + $newRow[$theF] = t3lib_div::callUserFunction($funcName, $params, $this); + } } } } @@ -171,6 +185,20 @@ foreach($TCAPageTSOverride[$table.'.'] as $theF => $theV) { if (isset($TCA[$table]['columns'][$theF])) { $newRow[$theF]=$theV; + + // Allowing userFuncs in pageTS TCAdefaults, see issue #6635 for details + if (is_array($theV)) { + $theF = substr($theF, 0, -1); // Remove trailing dot from fieldname + $funcName = $theV['userFunc']; + $params = Array( + 'table' => $table, + 'field' => $theF, + 'value' => $newRow[$theF], + 'conf' => $theV['userFunc.'] + ); + + $newRow[$theF] = t3lib_div::callUserFunction($funcName, $params, $this); + } } } }