Index: typo3/mod/user/ws/class.wslib_gui.php =================================================================== --- typo3/mod/user/ws/class.wslib_gui.php (revision 5631) +++ typo3/mod/user/ws/class.wslib_gui.php (working copy) @@ -182,33 +182,42 @@ $browse.= '
'; } $browse.= '
'; - + $workspaceOverviewList = $this->displayWorkspaceOverview_list($pArray); if ($workspaceOverviewList || $this->alwaysDisplayHeader) { // Make header of overview: $tableRows = array(); - $tableRows[] = ' + $tableHeader = ' ' . $LANG->getLL('label_pagetree') . ' ' . $LANG->getLL('label_live_version') . ' ' . $LANG->getLL('label_draft_versions') . ' ' . $LANG->getLL('label_stage') . ' ' . $LANG->getLL('label_publish') . ' - + '; + + if ($this->publishAccess && !($GLOBALS['BE_USER']->workspaceRec['publish_access'] & 1)) { + $tableHeader .= ''; + if ($GLOBALS['BE_USER']->workspaceSwapAccess()) { + $tableHeader .= ''; + } + } + if ($GLOBALS['BE_USER']->workspace !== 0) { + $tableHeader .= ''; + } + $tableHeader .= $GLOBALS['BE_USER']->workspaceCheckStageForCurrent('-1') ? '' : ''; + $tableHeader .= $GLOBALS['BE_USER']->workspaceCheckStageForCurrent('0') ? '' : ''; + $tableHeader .= $GLOBALS['BE_USER']->workspaceCheckStageForCurrent('1') ? '' : ''; + $tableHeader .= $GLOBALS['BE_USER']->workspaceCheckStageForCurrent('10') ? '' : ''; + + $tableHeader .= ' ' . $LANG->getLL('label_lifecycle') . ' '.($this->showWorkspaceCol ? '' . $LANG->getLL('label_workspace') . '' : '').' '; - + $tableRows[] = $tableHeader; + // Add lines from overview: $tableRows = array_merge($tableRows, $workspaceOverviewList); @@ -432,12 +441,11 @@ $diffCode.= $this->doc->icons(1) . $LANG->getLL('label_newrecord') . '
'; $diffCode.= $diffHTML; } elseif ($rec_off['t3ver_state']==2) { - $diffCode.= $this->doc->icons(2) . 'Deleted element
'; - $diffCode.= $this->doc->icons(2) . $LANG->getLL('label_deletedrecord') . '
'; + $diffCode.= $this->doc->icons(2) . $LANG->getLL('label_deletedrecord') . '
'; } elseif ($rec_on['t3ver_state']==3) { - $diffCode.= $this->doc->icons(1) . 'Move-to placeholder (destination)
'; + $diffCode.= $this->doc->icons(1) . $LANG->getLL('label_moveto_placeholder') . '
'; } elseif ($rec_off['t3ver_state']==4) { - $diffCode.= $this->doc->icons(1) . 'Move-to pointer (source)
'; + $diffCode.= $this->doc->icons(1) . $LANG->getLL('label_moveto_pointer') . '
'; } else { $diffCode.= ($diffPct<0 ? 'N/A' : ($diffPct ? $diffPct.'% change:' : '')); $diffCode.= ($diffPct<0 ? $LANG->getLL('label_notapplicable') : ($diffPct ? sprintf($LANG->getLL('label_percentchange'), $diffPct) : '')); @@ -1252,7 +1260,7 @@ $raiseOk = !$GLOBALS['BE_USER']->workspaceCannotEditOfflineVersion($table,$rec_off); - if ($raiseOk && $rec_off['t3ver_stage']!=-1) { + if ($raiseOk && $rec_off['t3ver_stage'] != -1 && $GLOBALS['BE_USER']->workspaceCheckStageForCurrent($sId)) { $onClick = 'var commentTxt=window.prompt("'.$LANG->getLL('explain_reject').'",""); if (commentTxt!=null) {window.location.href="'.$this->doc->issueCommand( '&cmd['.$table.']['.$rec_off['uid'].'][version][action]=setStage'. @@ -1274,7 +1282,7 @@ $actionLinks.= ''.$sLabel.''; // Raise - if ($raiseOk) { + if ($raiseOk && $GLOBALS['BE_USER']->workspaceCheckStageForCurrent($sId)) { $onClick = 'var commentTxt=window.prompt("'.$label.'",""); if (commentTxt!=null) {window.location.href="'.$this->doc->issueCommand( '&cmd['.$table.']['.$rec_off['uid'].'][version][action]=setStage'. @@ -1300,4 +1308,4 @@ include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/mod/user/ws/class.wslib_gui.php']); } -?> \ No newline at end of file +?> Index: typo3/sysext/lang/locallang_mod_user_ws.xml =================================================================== --- typo3/sysext/lang/locallang_mod_user_ws.xml (revision 5631) +++ typo3/sysext/lang/locallang_mod_user_ws.xml (working copy) @@ -30,6 +30,7 @@ + @@ -142,6 +143,17 @@ + + + + + + + + + + +