34 public function main(&$backRef, $menuItems, $table,
$uid) {
36 $localItems = array();
40 if (!in_array(
'moreoptions', $backRef->disabledItems) && !$backRef->cmLevel) {
42 if ($backRef->editOK) {
43 $localLanguage =
$GLOBALS[
'LANG']->includeLLFile(
'EXT:extra_page_cm_options/locallang.xlf', FALSE);
44 $localItems[] =
'spacer';
45 $localItems[
'moreoptions'] = $backRef->linkItem(
46 $GLOBALS[
'LANG']->makeEntities(
$GLOBALS[
'LANG']->getLLL(
'label', $localLanguage)),
47 $backRef->excludeIcon(
''),
52 $menuItemHideUnhideAllowed = FALSE;
55 if (isset(
$GLOBALS[
'TCA'][$table][
'ctrl'][
'enablecolumns']) && isset(
$GLOBALS[
'TCA'][$table][
'ctrl'][
'enablecolumns'][
'disabled'])) {
56 $hiddenField =
$GLOBALS[
'TCA'][$table][
'ctrl'][
'enablecolumns'][
'disabled'];
58 $hiddenField !==
'' && !empty(
$GLOBALS[
'TCA'][$table][
'columns'][$hiddenField])
59 && (!empty(
$GLOBALS[
'TCA'][$table][
'columns'][$hiddenField][
'exclude'])
60 &&
$GLOBALS[
'BE_USER']->check(
'non_exclude_fields', $table .
':' . $hiddenField))
62 $menuItemHideUnhideAllowed = TRUE;
65 if ($menuItemHideUnhideAllowed && !in_array(
'hide', $backRef->disabledItems)) {
66 $localItems[
'hide'] = $backRef->DB_hideUnhide($table, $backRef->rec, $hiddenField);
68 $anyEnableColumnsFieldAllowed = FALSE;
70 if (isset(
$GLOBALS[
'TCA'][$table][
'ctrl'][
'enablecolumns'])) {
71 $columnsToCheck =
$GLOBALS[
'TCA'][$table][
'ctrl'][
'enablecolumns'];
72 if ($table ===
'pages' && !empty($columnsToCheck)) {
73 $columnsToCheck[] =
'extendToSubpages';
75 foreach ($columnsToCheck as $currentColumn) {
77 isset(
$GLOBALS[
'TCA'][$table][
'columns'][$currentColumn])
78 && (!empty(
$GLOBALS[
'TCA'][$table][
'columns'][$currentColumn][
'exclude'])
79 &&
$GLOBALS[
'BE_USER']->check(
'non_exclude_fields', $table .
':' . $currentColumn))
81 $anyEnableColumnsFieldAllowed = TRUE;
85 if ($anyEnableColumnsFieldAllowed && !in_array(
'edit_access', $backRef->disabledItems)) {
86 $localItems[
'edit_access'] = $backRef->DB_editAccess($table,
$uid);
88 if ($table ===
'pages' && $backRef->editPageIconSet && !in_array(
'edit_pageproperties', $backRef->disabledItems)) {
89 $localItems[
'edit_pageproperties'] = $backRef->DB_editPageProperties(
$uid);
95 foreach ($menuItems as $key => $value) {
97 if ($key ===
'delete') {
106 array_splice($menuItems, $c, 0, $localItems);
108 $menuItems = array_merge($menuItems, $localItems);
110 } elseif ($subname ===
'moreoptions') {
112 if ($backRef->editOK) {
113 if (($table ===
'pages' || $table ===
'tt_content') && !in_array(
'move_wizard', $backRef->disabledItems)) {
114 $localItems[
'move_wizard'] = $backRef->DB_moveWizard($table,
$uid, $backRef->rec);
116 if (($table ===
'pages' || $table ===
'tt_content') && !in_array(
'new_wizard', $backRef->disabledItems)) {
117 $localItems[
'new_wizard'] = $backRef->DB_newWizard($table,
$uid, $backRef->rec);
119 if ($table ===
'pages' && !in_array(
'perms', $backRef->disabledItems) &&
$GLOBALS[
'BE_USER']->check(
'modules',
'web_perm')) {
120 $localItems[
'perms'] = $backRef->DB_perms($table,
$uid, $backRef->rec);
122 if (!in_array(
'db_list', $backRef->disabledItems) &&
$GLOBALS[
'BE_USER']->check(
'modules',
'web_list')) {
123 $localItems[
'db_list'] = $backRef->DB_db_list($table,
$uid, $backRef->rec);
127 if ($table ===
'pages') {
128 $localItems[
'temp_mount_point'] = $backRef->DB_tempMountPoint(
$uid);
131 $menuItems = array_merge($menuItems, $localItems);
static linkThisScript(array $getParams=array())
if(!defined('TYPO3_MODE')) $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['logoff_pre_processing'][]