34 'renderType' =>
'tcaDescription',
44 'otherLanguageContent' => [
45 'renderType' =>
'otherLanguageContent',
47 'defaultLanguageDifferences' => [
48 'renderType' =>
'defaultLanguageDifferences',
50 'otherLanguageContent',
62 $fieldName = $this->data[
'fieldName'];
63 $parameterArray = $this->data[
'parameterArray'];
65 $resultArray[
'requireJsModules'] = [
'TYPO3/CMS/Rsaauth/RsaEncryptionModule'];
67 $itemValue = $parameterArray[
'itemFormElValue'];
68 $config = $parameterArray[
'fieldConf'][
'config'];
70 $evalList = GeneralUtility::trimExplode(
',', $config[
'eval'],
true);
72 $isPasswordField = in_array(
'password', $evalList,
true);
75 $fieldInformationHtml = $fieldInformationResult[
'html'];
78 if ($config[
'readOnly']) {
80 if ($isPasswordField) {
81 $itemValue = $itemValue ?
'*********' :
'';
84 $html[] =
'<div class="formengine-field-item t3js-formengine-field-item">';
85 $html[] = $fieldInformationHtml;
86 $html[] =
'<div class="form-wizards-wrap">';
87 $html[] =
'<div class="form-wizards-element">';
88 $html[] =
'<div class="form-control-wrap" style="max-width: ' . $width .
'px">';
89 $html[] =
'<input class="form-control" value="' . htmlspecialchars($itemValue) .
'" type="text" disabled>';
94 $resultArray[
'html'] = implode(LF, $html);
99 foreach ($evalList as $func) {
103 if (isset(
$GLOBALS[
'TYPO3_CONF_VARS'][
'SC_OPTIONS'][
'tce'][
'formevals'][$func])) {
104 if (class_exists($func)) {
105 $evalObj = GeneralUtility::makeInstance($func);
106 if (method_exists($evalObj,
'deevaluateFieldValue')) {
108 'value' => $itemValue
110 $itemValue = $evalObj->deevaluateFieldValue($_params);
112 if (method_exists($evalObj,
'returnFieldJS')) {
113 $resultArray[
'additionalJavaScriptPost'][] =
'TBE_EDITOR.customEvalFunctions[' . GeneralUtility::quoteJSvalue($func) .
']'
114 .
' = function(value) {' . $evalObj->returnFieldJS() .
'};';
119 $evalList = array_filter($evalList,
function ($value) {
120 return $value !==
'password';
127 'class' => implode(
' ', [
133 'data-formengine-input-params' => json_encode([
134 'field' => $parameterArray[
'itemFormElName'],
135 'evalList' => implode(
',', $evalList),
136 'is_in' => trim($config[
'is_in']),
138 'data-formengine-input-name' => htmlspecialchars($parameterArray[
'itemFormElName']),
141 if (isset($config[
'max']) && (
int)$config[
'max'] > 0) {
142 $attributes[
'maxlength'] = (int)$config[
'max'];
144 if (!empty($config[
'placeholder'])) {
145 $attributes[
'placeholder'] = trim($config[
'placeholder']);
147 if (isset($config[
'autocomplete'])) {
148 $attributes[
'autocomplete'] = empty($config[
'autocomplete']) ?
'new-' . $fieldName :
'on';
150 if ($isPasswordField) {
151 $attributes[
'type'] =
'password';
152 $attributes[
'value'] = $itemValue ?
'*********' :
'';
153 $attributes[
'autocomplete'] =
'new-' . $fieldName;
157 $fieldControlHtml = $fieldControlResult[
'html'];
161 $fieldWizardHtml = $fieldWizardResult[
'html'];
165 $html[] =
'<div class="formengine-field-item t3js-formengine-field-item">';
166 $html[] = $fieldInformationHtml;
167 $html[] =
'<div class="form-control-wrap" style="max-width: ' . $width .
'px">';
168 $html[] =
'<div class="form-wizards-wrap">';
169 $html[] =
'<div class="form-wizards-element">';
170 $html[] =
'<input ' . GeneralUtility::implodeAttributes($attributes,
true) .
' />';
172 $html[] =
' type="hidden"';
173 $html[] =
' data-rsa-encryption=""';
174 $html[] =
' id="' . $parameterArray[
'itemFormElID'] .
'_hidden"';
175 $html[] =
' name="' . $parameterArray[
'itemFormElName'] .
'"';
176 $html[] =
' value="' . htmlspecialchars($itemValue) .
'"';
179 if (!empty($fieldControlHtml)) {
180 $html[] =
'<div class="form-wizards-items-aside">';
181 $html[] =
'<div class="btn-group">';
182 $html[] = $fieldControlHtml;
186 if (!empty($fieldWizardHtml)) {
187 $html[] =
'<div class="form-wizards-items-bottom">';
188 $html[] = $fieldWizardHtml;
195 $resultArray[
'html'] = implode(LF, $html);