Skip to content
Snippets Groups Projects
Commit 70e2d2f6 authored by Andreas Fernandez's avatar Andreas Fernandez Committed by Christian Kuhn
Browse files

[BUGFIX] Use language fields as defined in TCA for „Duplicate“

Change-Id: I123e6dae9b0b6a5bb68261bc9ae5aaf75a64822d
Resolves: #83926
Related: #83892
Releases: master
Reviewed-on: https://review.typo3.org/55741


Tested-by: default avatarTYPO3com <no-reply@typo3.com>
Reviewed-by: default avatarMathias Schreiber <mathias.schreiber@typo3.com>
Tested-by: default avatarMathias Schreiber <mathias.schreiber@typo3.com>
Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
parent 05ba3c3c
Branches
Tags
No related merge requests found
......@@ -1330,23 +1330,21 @@ class EditDocumentController
$buttonBar->addButton($closeButton);
// DUPLICATE button:
$record = BackendUtility::getRecord($this->firstEl['table'], $this->firstEl['uid']);
$l18nParent = $record['l18n_parent'] ?? 0;
$sysLanguageUid = $record['sys_language_uid'] ?? 0;
$TCActrl = $GLOBALS['TCA'][$this->firstEl['table']]['ctrl'];
$l18nParent = isset($TCActrl['transOrigPointerField'], $record[$TCActrl['transOrigPointerField']])
? (int)$record[$TCActrl['transOrigPointerField']]
: 0;
$sysLanguageUid = isset($TCActrl['languageField'], $record[$TCActrl['languageField']])
? (int)$record[$TCActrl['languageField']]
: 0;
$showDuplicateButton = false;
if ($this->firstEl['cmd'] !== 'new' && MathUtility::canBeInterpretedAsInteger($this->firstEl['uid'])) {
// Special case: pages
if ($this->firstEl['table'] === 'pages') {
// show button only, if record is in default language
$showDuplicateButton = (int)$sysLanguageUid === 0;
if ($sysLanguageUid === 0) {
// show button, if record is in default language
$showDuplicateButton = true;
} else {
// not pages table
if ((int)$sysLanguageUid === 0) {
// show button, if record is in default language
$showDuplicateButton = true;
} else {
// show button, if record is NOT in default language AND has no parent
$showDuplicateButton = (int)$l18nParent === 0;
}
// show button, if record is NOT in default language AND has no parent
$showDuplicateButton = $l18nParent === 0;
}
}
if ($showDuplicateButton) {
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment