2 declare(strict_types = 1);
41 $row = $this->data[
'databaseRow'];
42 $table = $this->data[
'tableName'];
43 $fieldName = $this->data[
'fieldName'];
44 $fieldConfig = $this->data[
'processedTca'][
'columns'][$fieldName];
45 $l10nDisplay = $this->data[
'parameterArray'][
'fieldConf'][
'l10n_display'] ??
'';
46 $defaultLanguageRow = $this->data[
'defaultLanguageRow'] ??
null;
47 $defaultLanguageDiffRow = $this->data[
'defaultLanguageDiffRow'][$table .
':' . $row[
'uid']] ??
null;
49 if (!is_array($defaultLanguageDiffRow)
50 || GeneralUtility::inList($l10nDisplay,
'hideDiff')
51 || GeneralUtility::inList($l10nDisplay,
'defaultAsReadonly')
52 || !isset($defaultLanguageDiffRow[$fieldName])
53 || $fieldConfig[
'config'][
'type'] ===
'inline'
54 || $fieldConfig[
'config'][
'type'] ===
'flex'
62 if ((
string)$defaultLanguageDiffRow[$fieldName] !== (
string)$defaultLanguageRow[$fieldName]) {
64 $diffUtility = GeneralUtility::makeInstance(DiffUtility::class);
65 $diffUtility->stripTags =
false;
66 $diffResult = $diffUtility->makeDiffDisplay(
70 $html[] =
'<div class="t3-form-original-language-diff">';
71 $html[] =
'<div class="t3-form-original-language-diffheader">';
72 $html[] = htmlspecialchars($languageService->sL(
'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.changeInOrig'));
74 $html[] =
'<div class="t3-form-original-language-diffcontent">';
75 $html[] =
'<div class="diff">';
76 $html[] =
'<div class="diff-item">';
77 $html[] =
'<div class="diff-item-result diff-item-result-inline">' . $diffResult .
'</div>';
83 $result[
'html'] = implode(LF, $html);