Index: typo3/alt_doc.php =================================================================== --- typo3/alt_doc.php (revision 9698) +++ typo3/alt_doc.php (revision ) @@ -862,7 +862,7 @@ // CLOSE button: $buttons['close'] = '' . - t3lib_iconWorks::getSpriteIcon('actions-document-close') . + t3lib_iconWorks::getSpriteIcon('actions-document-close') . ''; @@ -874,7 +874,7 @@ if ($this->firstEl['deleteAccess'] && !$TCA[$this->firstEl['table']]['ctrl']['readOnly'] && !$this->getNewIconMode($this->firstEl['table'],'disableDelete')) { $aOnClick = 'return deleteRecord(\''.$this->firstEl['table'].'\',\''.$this->firstEl['uid'].'\',unescape(\''.rawurlencode($this->retUrl).'\'));'; $buttons['delete'] = '' . - t3lib_iconWorks::getSpriteIcon('actions-edit-delete') . + t3lib_iconWorks::getSpriteIcon('actions-edit-delete') . ''; } @@ -884,13 +884,13 @@ $aOnClick = 'window.location.href=\'show_rechis.php?element='.rawurlencode($this->firstEl['table'].':'.$this->firstEl['uid']).'&revert=ALL_FIELDS&sumUp=-1&returnUrl='.rawurlencode($this->R_URI).'\'; return false;'; $buttons['undo'] = '' . - t3lib_iconWorks::getSpriteIcon('actions-edit-undo') . + t3lib_iconWorks::getSpriteIcon('actions-edit-undo') . ''; } if ($this->getNewIconMode($this->firstEl['table'],'showHistory')) { $aOnClick = 'window.location.href=\'show_rechis.php?element='.rawurlencode($this->firstEl['table'].':'.$this->firstEl['uid']).'&returnUrl='.rawurlencode($this->R_URI).'\'; return false;'; $buttons['history'] = ''. - t3lib_iconWorks::getSpriteIcon('actions-document-history-open') . + t3lib_iconWorks::getSpriteIcon('actions-document-history-open') . ''; } @@ -1091,35 +1091,37 @@ // get record in current language $rowCurrent = t3lib_befunc::getLiveVersionOfRecord($table, $uid, $fetchFields); if (!is_array($rowCurrent)) { - $rowCurrent = t3lib_befunc::getRecord($table, $uid, $fetchFields); + $rowCurrent = t3lib_befunc::getRecord($table, $uid, $fetchFields); } $currentLanguage = $rowCurrent[$languageField]; 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::getLiveVersionOfRecord($table, $rowCurrent[$transOrigPointerField], $fetchFields); if (!is_array($rowsByLang[0])) { - $rowsByLang[0] = t3lib_befunc::getRecord($table, $rowCurrent[$transOrigPointerField], $fetchFields); + $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) { @@ -1489,4 +1491,4 @@ $SOBE->main(); $SOBE->printContent(); -?> \ No newline at end of file +?>