Fixed bug #14716: Version module don't display Title
[Packages/TYPO3.CMS.git] / typo3 / sysext / version / cm1 / index.php
index ac046fe..b3fefaf 100755 (executable)
@@ -2,7 +2,7 @@
 /***************************************************************
 *  Copyright notice
 *
-*  (c) 2004-2009 Kasper Skaarhoj (kasperYYYY@typo3.com)
+*  (c) 2004-2010 Kasper Skaarhoj (kasperYYYY@typo3.com)
 *  All rights reserved
 *
 *  This script is part of the TYPO3 project. The TYPO3 project is
@@ -121,6 +121,7 @@ class tx_version_cm1 extends t3lib_SCbase {
        var $be_user_Array = array();
        var $stageIndex = array();
        var $recIndex = array();
+       protected $showDraftWorkspace = FALSE; // Determines whether to show the dummy draft workspace
 
 
 
@@ -140,6 +141,13 @@ class tx_version_cm1 extends t3lib_SCbase {
         */
        function menuConfig()   {
 
+                       // fetches the configuration of the version extension
+               $versionExtconf = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['version']);
+                       // show draft workspace only if enabled in the version extensions config
+               if($versionExtconf['showDraftWorkspace']) {
+                       $this->showDraftWorkspace = TRUE;
+               }
+
                        // Menu items:
                $this->MOD_MENU = array(
                        'filter' => array(
@@ -151,10 +159,13 @@ class tx_version_cm1 extends t3lib_SCbase {
                                0 => $GLOBALS['LANG']->getLL('liveWorkspace'),
                                -98 => $GLOBALS['LANG']->getLL('draftWorkspaces'),
                                -99 => $GLOBALS['LANG']->getLL('filter_all'),
-                               -1 => $GLOBALS['LANG']->getLL('defaultDraft')
                        ),
                        'diff' => ''
                );
+               
+               if($this->showDraftWorkspace === TRUE) {
+                       $this->MOD_MENU['display'][-1] = $GLOBALS['LANG']->getLL('defaultDraft');
+               }
 
                        // Add workspaces:
                if ($GLOBALS['BE_USER']->workspace===0) {       // Spend time on this only in online workspace because it might take time:
@@ -177,7 +188,7 @@ class tx_version_cm1 extends t3lib_SCbase {
         */
        function main() {
                global $BE_USER,$LANG,$BACK_PATH,$TCA_DESCR,$TCA,$CLIENT,$TYPO3_CONF_VARS;
-
+               
                        // Template markers
                $markers = array(
                        'CSH' => '',
@@ -336,7 +347,7 @@ class tx_version_cm1 extends t3lib_SCbase {
                if ($this->recordFound && $TCA[$this->table]['ctrl']['versioningWS']) {
                                // View page
                        $buttons['view'] = '<a href="#" onclick="' . htmlspecialchars(t3lib_BEfunc::viewOnClick($this->pageinfo['uid'], $BACK_PATH, t3lib_BEfunc::BEgetRootLine($this->pageinfo['uid']))) . '" title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:labels.showPage', TRUE) . '">' .
-                                               t3lib_iconWorks::getSpriteIcon('actions-document-view') . 
+                                               t3lib_iconWorks::getSpriteIcon('actions-document-view') .
                                        '</a>';
 
                                // Shortcut
@@ -348,7 +359,7 @@ class tx_version_cm1 extends t3lib_SCbase {
                        if ($BE_USER->check('modules','web_list'))      {
                                $href = $BACK_PATH . 'db_list.php?id=' . $this->pageinfo['uid'] . '&returnUrl=' . rawurlencode(t3lib_div::getIndpEnv('REQUEST_URI'));
                                $buttons['record_list'] = '<a href="' . htmlspecialchars($href) . '" title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:labels.showList', TRUE) . '">' .
-                                                       t3lib_iconWorks::getSpriteIcon('actions-system-list-open') . 
+                                                       t3lib_iconWorks::getSpriteIcon('actions-system-list-open') .
                                                '</a>';
                        }
                }
@@ -461,7 +472,7 @@ class tx_version_cm1 extends t3lib_SCbase {
                        $content.='
                                <tr class="' . ($row['uid'] != $this->uid ? 'bgColor4' : 'bgColor2 tableheader') . '">
                                        <td>'.($row['uid']!=$this->uid ? '<a href="'.$this->doc->issueCommand('&cmd['.$this->table.']['.$this->uid.'][version][swapWith]='.$row['uid'].'&cmd['.$this->table.']['.$this->uid.'][version][action]=swap').'" title="' . $GLOBALS['LANG']->getLL('swapWithCurrent', TRUE) . '">'.
-                                               t3lib_iconWorks::getSpriteIcon('apps-version-swap-versions') .
+                                               t3lib_iconWorks::getSpriteIcon('actions-version-swap-version') .
                                                '</a>' /* (
                                                        $this->table == 'pages' ?
                                                        '<a href="'.$this->doc->issueCommand('&cmd['.$this->table.']['.$this->uid.'][version][action]=swap&cmd['.$this->table.']['.$this->uid.'][version][swapWith]='.$row['uid'].'&cmd['.$this->table.']['.$this->uid.'][version][swapContent]=1').'">'.
@@ -504,7 +515,7 @@ class tx_version_cm1 extends t3lib_SCbase {
                }
                $content.='</table></form>';
 
-               $this->content.=$this->doc->section('',$content,0,1);
+               $this->content .= $this->doc->section($GLOBALS['LANG']->getLL('title'), $content, 0, 1);
 
 
                        // Create new:
@@ -512,7 +523,7 @@ class tx_version_cm1 extends t3lib_SCbase {
 
                        <form action="'.$this->doc->backPath.'tce_db.php" method="post">
                        ' . $GLOBALS['LANG']->getLL('tblHeader_t3ver_label') . ': <input type="text" name="cmd[' . $this->table . '][' . $this->uid . '][version][label]" /><br />
-                       '.($this->table == 'pages' ? '<select name="cmd['.$this->table.']['.$this->uid.'][version][treeLevels]">
+                       '.(($this->table == 'pages' && $GLOBALS['TYPO3_CONF_VARS']['BE']['elementVersioningOnly'] == FALSE)? '<select name="cmd['.$this->table.']['.$this->uid.'][version][treeLevels]">
                                '.($GLOBALS['BE_USER']->workspaceVersioningTypeAccess(0) ? '<option value="0">' . $GLOBALS['LANG']->getLL('cmdPid0') . '</option>' : '').'
                                '.($GLOBALS['BE_USER']->workspaceVersioningTypeAccess(1) ? '<option value="100">' . $GLOBALS['LANG']->getLL('cmdPid100') . '</option>' : '').'
                                '.($GLOBALS['BE_USER']->workspaceVersioningTypeAccess(-1) ? '<option value="-1">' . $GLOBALS['LANG']->getLL('cmdPid1') . '</option>' : '').'
@@ -614,12 +625,12 @@ class tx_version_cm1 extends t3lib_SCbase {
 
                        // Edit link:
                $adminLink = '<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::editOnClick('&edit['.$table.']['.$row['uid'].']=edit',$this->doc->backPath)).'" title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:cm.edit', TRUE) . '">'.
-                                                       t3lib_iconWorks::getSpriteIcon('actions-document-open') . 
+                                                       t3lib_iconWorks::getSpriteIcon('actions-document-open') .
                                                '</a>';
 
                        // Delete link:
                $adminLink.= '<a href="'.htmlspecialchars($this->doc->issueCommand('&cmd['.$table.']['.$row['uid'].'][delete]=1')).'" title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:cm.delete', TRUE) . '">' .
-                                                       t3lib_iconWorks::getSpriteIcon('actions-edit-delete') . 
+                                                       t3lib_iconWorks::getSpriteIcon('actions-edit-delete') .
                                                '</a>';
 
 
@@ -635,15 +646,15 @@ class tx_version_cm1 extends t3lib_SCbase {
                        $a_wp = t3lib_extMgm::isLoaded('cms') && $BE_USER->check('modules',$pageModule);
 
                        $adminLink.='<a href="#" onclick="top.loadEditId('.$row['uid'].');top.goToModule(\''.$pageModule.'\'); return false;">'.
-                                                       t3lib_iconWorks::getSpriteIcon('apps-version-page-open') .
+                                                       t3lib_iconWorks::getSpriteIcon('actions-page-open') .
                                                '</a>';
                        $adminLink.='<a href="#" onclick="top.loadEditId('.$row['uid'].');top.goToModule(\'web_list\'); return false;">'.
-                                                       t3lib_iconWorks::getSpriteIcon('actions-system-list-open') . 
+                                                       t3lib_iconWorks::getSpriteIcon('actions-system-list-open') .
                                                '</a>';
 
                                // "View page" icon is added:
                        $adminLink.='<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::viewOnClick($row['uid'],$this->doc->backPath,t3lib_BEfunc::BEgetRootLine($row['uid']))).'">'.
-                                       t3lib_iconWorks::getSpriteIcon('actions-document-view') . 
+                                       t3lib_iconWorks::getSpriteIcon('actions-document-view') .
                                '</a>';
                } else {
                        if ($row['pid']==-1)    {
@@ -651,7 +662,7 @@ class tx_version_cm1 extends t3lib_SCbase {
 
                                        // "View page" icon is added:
                                $adminLink.='<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::viewOnClick($row['_REAL_PID'],$this->doc->backPath,t3lib_BEfunc::BEgetRootLine($row['_REAL_PID']),'','',$getVars)).'">'.
-                                               t3lib_iconWorks::getSpriteIcon('actions-document-view') . 
+                                               t3lib_iconWorks::getSpriteIcon('actions-document-view') .
                                        '</a>';
                        }
                }
@@ -809,7 +820,7 @@ class tx_version_cm1 extends t3lib_SCbase {
                } else $table = '';
 
                $linkBack = t3lib_div::_GP('returnUrl') ? '<a href="' . htmlspecialchars(t3lib_div::_GP('returnUrl')) . '" class="typo3-goBack">' .
-                               t3lib_iconWorks::getSpriteIcon('actions-go-back') . $GLOBALS['LANG']->getLL('goBack', TRUE) . 
+                               t3lib_iconWorks::getSpriteIcon('actions-view-go-back') . $GLOBALS['LANG']->getLL('goBack', TRUE) .
                        '</a><br /><br />' : '';
                $resetDiffOnly = $this->diffOnly ? '<a href="index.php?id=' . intval($this->id) . '" class="typo3-goBack">' . $GLOBALS['LANG']->getLL('showAllInformation') . '</a><br /><br />' : '';
 
@@ -927,8 +938,8 @@ class tx_version_cm1 extends t3lib_SCbase {
                                                        // Create version element:
                                                $versionsInOtherWS = $this->versionsInOtherWS($table, $rec_on['uid']);
                                                $versionsInOtherWSWarning = $versionsInOtherWS && $GLOBALS['BE_USER']->workspace !== 0 ? '<br />' . $this->doc->icons(2) . $GLOBALS['LANG']->getLL('otherVersions') . $versionsInOtherWS : '';
-                                               $multipleWarning = (!$mainCell && $GLOBALS['BE_USER']->workspace !== 0 ? '<br />' . $this->doc->icons(3) . '<b>' . $GLOBALS['LANG']->getLL('multipleVersions') . '</b>' : '');
-                                               $verWarning = $warnAboutVersions || ($warnAboutVersions_nonPages && $GLOBALS['TCA'][$table]['ctrl']['versioning_followPages']) ? '<br />' . $this->doc->icons(3) . '<b>' . $GLOBALS['LANG']->getLL('versionInVersion') . '</b>' : '';
+                                               $multipleWarning = (!$mainCell && $GLOBALS['BE_USER']->workspace !== 0 ? '<br />' . $this->doc->icons(3) . '<strong>' . $GLOBALS['LANG']->getLL('multipleVersions') . '</strong>' : '');
+                                               $verWarning = $warnAboutVersions || ($warnAboutVersions_nonPages && $GLOBALS['TCA'][$table]['ctrl']['versioning_followPages']) ? '<br />' . $this->doc->icons(3) . '<strong>' . $GLOBALS['LANG']->getLL('versionInVersion') . '</strong>' : '';
                                                $verElement = $icon.
                                                        (!$this->details ? '<a href="'.htmlspecialchars($this->doc->backPath.t3lib_extMgm::extRelPath('version').'cm1/index.php?id='.($table==='pages'?$rec_on['uid']:$rec_on['pid']).'&details='.rawurlencode($table.':'.$rec_off['uid']).'&returnUrl='.rawurlencode($this->REQUEST_URI)).'">' : '').
                                                        t3lib_BEfunc::getRecordTitle($table,$rec_off,TRUE).
@@ -943,13 +954,13 @@ class tx_version_cm1 extends t3lib_SCbase {
                                                                        $this->displayWorkspaceOverview_commandLinks($table,$rec_on,$rec_off,$vType).
                                                                        htmlspecialchars($swapLabel).
                                                                        '&nbsp;&nbsp;</td>
-                                                               '.(!$this->diffOnly?'<td nowrap="nowrap"><b>' . $GLOBALS['LANG']->getLL('lifecycle')  . ':</b> '.htmlspecialchars($this->formatCount($rec_off['t3ver_count'])).'</td>'.         // Lifecycle
+                                                               '.(!$this->diffOnly?'<td nowrap="nowrap"><strong>' . $GLOBALS['LANG']->getLL('lifecycle')  . ':</strong> '.htmlspecialchars($this->formatCount($rec_off['t3ver_count'])).'</td>'.               // Lifecycle
                                                                        ($this->showWorkspaceCol ? '
-                                                               <td nowrap="nowrap">&nbsp;&nbsp;<b>' . $GLOBALS['LANG']->getLL('workspace')  . ':</b> '.htmlspecialchars($this->formatWorkspace($rec_off['t3ver_wsid'])).'</td>' : ''):'');
+                                                               <td nowrap="nowrap">&nbsp;&nbsp;<strong>' . $GLOBALS['LANG']->getLL('workspace')  . ':</strong> '.htmlspecialchars($this->formatWorkspace($rec_off['t3ver_wsid'])).'</td>' : ''):'');
 
                                                if ($diffCode)  {
                                                        $verElement = $verElement.'
-                                                       <br /><b>' . $GLOBALS['LANG']->getLL('diffToLiveElement') . '</b>
+                                                       <br /><strong>' . $GLOBALS['LANG']->getLL('diffToLiveElement') . '</strong>
                                                        <table border="0" cellpadding="0" cellspacing="0" class="ver-verElement">
                                                                <tr>
                                                                        <td class="c-diffCell">'.$diffCode.'</td>
@@ -1680,7 +1691,7 @@ class tx_version_cm1 extends t3lib_SCbase {
                                                '&cmd['.$table.']['.$rec_on['uid'].'][version][action]=swap'.
                                                '&cmd['.$table.']['.$rec_on['uid'].'][version][swapWith]='.$rec_off['uid']
                                                )).'" title="' . $GLOBALS['LANG']->getLL('publish', TRUE) . '">'.
-                                       t3lib_iconWorks::getSpriteIcon('apps-version-swap-versions') .
+                                       t3lib_iconWorks::getSpriteIcon('actions-version-swap-versions') .
                                '</a>';
                        if ($GLOBALS['BE_USER']->workspaceSwapAccess()) {
                                $actionLinks.=
@@ -1689,7 +1700,7 @@ class tx_version_cm1 extends t3lib_SCbase {
                                                        '&cmd['.$table.']['.$rec_on['uid'].'][version][swapWith]='.$rec_off['uid'].
                                                        '&cmd['.$table.']['.$rec_on['uid'].'][version][swapIntoWS]=1'
                                                        )).'" title="' . $GLOBALS['LANG']->getLL('swap', TRUE) . '">'.
-                                               t3lib_iconWorks::getSpriteIcon('apps-version-swap-workspace') .
+                                               t3lib_iconWorks::getSpriteIcon('actions-version-swap-workspace') .
                                        '</a>';
                        }
                }
@@ -1698,7 +1709,7 @@ class tx_version_cm1 extends t3lib_SCbase {
                                // Release
                        $actionLinks.=
                                '<a href="'.htmlspecialchars($this->doc->issueCommand('&cmd['.$table.']['.$rec_off['uid'].'][version][action]=clearWSID')).'" onclick="return confirm(\'' . $GLOBALS['LANG']->getLL('removeFromWorkspace', TRUE) . '?\');" title="' . $GLOBALS['LANG']->getLL('removeFromWorkspace', TRUE) . '">'.
-                                       t3lib_iconWorks::getSpriteIcon('apps-version-document-remove') .
+                                       t3lib_iconWorks::getSpriteIcon('actions-version-document-remove') .
                                '</a>';
 
                                // Edit
@@ -1706,13 +1717,13 @@ class tx_version_cm1 extends t3lib_SCbase {
                                $tempUid = ($vType==='branch' || $GLOBALS['BE_USER']->workspace===0 ? $rec_off['uid'] : $rec_on['uid']);
                                $actionLinks.=
                                        '<a href="#" onclick="top.loadEditId('.$tempUid.');top.goToModule(\''.$this->pageModule.'\'); return false;" title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_user_ws.xml:img_title_edit_page', TRUE) . '">'.
-                                               t3lib_iconWorks::getSpriteIcon('apps-version-page-open') .
+                                               t3lib_iconWorks::getSpriteIcon('actions-version-page-open') .
                                        '</a>';
                        } else {
                                $params = '&edit['.$table.']['.$rec_off['uid'].']=edit';
                                $actionLinks.=
                                        '<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::editOnClick($params,$this->doc->backPath)).'" title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_user_ws.xml:img_title_edit_element', TRUE). '">'.
-                                               t3lib_iconWorks::getSpriteIcon('actions-document-open') . 
+                                               t3lib_iconWorks::getSpriteIcon('actions-document-open') .
                                        '</a>';
                        }
                }