Index: typo3/alt_doc.php =================================================================== --- typo3/alt_doc.php (revision 9697) +++ typo3/alt_doc.php (revision ) @@ -1084,25 +1084,27 @@ if ($currentLanguage>-1) { // Disabled for records with [all] language! // get record in default language if needed - if ($currentLanguage) { + if ($currentLanguage && $rowCurrent[$transOrigPointerField]) { $rowsByLang[0] = t3lib_befunc::getRecord($table, $rowCurrent[$transOrigPointerField], $fetchFields); } else { - $rowsByLang[0] = $rowCurrent; + $rowsByLang[$rowCurrent[$languageField]] = $rowCurrent; } + if ($rowCurrent[$transOrigPointerField] || $currentLanguage === '0') { - // get record in other languages to see what's already available - $translations = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows( - $fetchFields, - $table, - 'pid='.intval($pid). - ' AND '.$languageField.'>0'. - ' AND '.$transOrigPointerField.'='.intval($rowsByLang[0]['uid']). - t3lib_BEfunc::deleteClause($table). - t3lib_BEfunc::versioningPlaceholderClause($table) - ); - foreach ($translations as $row) { - $rowsByLang[$row[$languageField]] = $row; - } + // get record in other languages to see what's already available + $translations = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows( + $fetchFields, + $table, + 'pid='.intval($pid). + ' AND '.$languageField.'>0'. + ' AND '.$transOrigPointerField.'='.intval($rowsByLang[0]['uid']). + t3lib_BEfunc::deleteClause($table). + t3lib_BEfunc::versioningPlaceholderClause($table) + ); + foreach ($translations as $row) { + $rowsByLang[$row[$languageField]] = $row; + } + } $langSelItems=array(); foreach ($langRows as $lang) { @@ -1472,4 +1474,4 @@ $SOBE->main(); $SOBE->printContent(); -?> \ No newline at end of file +?>