Index: t3lib/class.t3lib_tceforms.php =================================================================== --- t3lib/class.t3lib_tceforms.php (revision 9189) +++ t3lib/class.t3lib_tceforms.php (revision ) @@ -1549,7 +1549,7 @@ } // Removing doktypes with no access: - if ($table.'.'.$field == 'pages.doktype') { + if (($table == 'pages' || $table == 'pages_language_overlay') && $field == 'doktype') { if (!($GLOBALS['BE_USER']->isAdmin() || t3lib_div::inList($GLOBALS['BE_USER']->groupData['pagetypes_select'],$p[1]))) { unset($selItems[$tk]); } @@ -2678,7 +2678,11 @@ function getSingleField_typeFlex_draw($dataStruct,$editData,$table,$field,$row,&$PA,$formPrefix='',$level=0,$idPrefix='ID',$toggleClosed=FALSE) { $output = ''; - $mayRestructureFlexforms = $GLOBALS['BE_USER']->checkLanguageAccess(0); + $mayRestructureFlexforms = TRUE; + if (isset($GLOBALS['TCA'][$table]['ctrl']['languageField'])) { + $languageField = $GLOBALS['TCA'][$table]['ctrl']['languageField']; + $mayRestructureFlexforms = $GLOBALS['BE_USER']->checkLanguageAccess($row[$languageField]); + } // Data Structure array must be ... and array of course... if (is_array($dataStruct)) { Index: t3lib/class.t3lib_tcemain.php =================================================================== --- t3lib/class.t3lib_tcemain.php (revision 9108) +++ t3lib/class.t3lib_tcemain.php (revision ) @@ -1248,7 +1248,7 @@ $recFID = $table.':'.$id.':'.$field; // Processing special case of field pages.doktype - if ($table=='pages' && $field=='doktype') { + if (($table == 'pages' || $table == 'pages_language_overlay') && $field == 'doktype') { // If the user may not use this specific doktype, we issue a warning if (! ($this->admin || t3lib_div::inList($this->BE_USER->groupData['pagetypes_select'],$value))) { $propArr = $this->getRecordProperties($table,$id); Index: t3lib/class.t3lib_tceforms_inline.php =================================================================== --- t3lib/class.t3lib_tceforms_inline.php (revision 9190) +++ t3lib/class.t3lib_tceforms_inline.php (revision ) @@ -1622,7 +1622,7 @@ } // Removing doktypes with no access: - if ($table.'.'.$field == 'pages.doktype') { + if (($table == 'pages' || $table == 'pages_language_overlay') && $field == 'doktype') { if (!($GLOBALS['BE_USER']->isAdmin() || t3lib_div::inList($GLOBALS['BE_USER']->groupData['pagetypes_select'],$p[1]))) { unset($selItems[$tk]); }