Updated Workspaces to version 4.5.0beta1. See their ChangeLog for details.
authorOliver Hader <oliver.hader@typo3.org>
Wed, 17 Nov 2010 07:29:36 +0000 (07:29 +0000)
committerOliver Hader <oliver.hader@typo3.org>
Wed, 17 Nov 2010 07:29:36 +0000 (07:29 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@9422 709f56b5-9817-0410-a4d7-c38de5d9e867

17 files changed:
ChangeLog
typo3/sysext/workspaces/ChangeLog [new file with mode: 0644]
typo3/sysext/workspaces/Classes/Controller/PreviewController.php
typo3/sysext/workspaces/Classes/Controller/ReviewController.php
typo3/sysext/workspaces/Classes/Service/Befunc.php
typo3/sysext/workspaces/Classes/Service/Stages.php
typo3/sysext/workspaces/Classes/Service/Workspaces.php
typo3/sysext/workspaces/Classes/ViewHelpers/TempFlashMessageQueueViewHelper.php [new file with mode: 0644]
typo3/sysext/workspaces/Resources/Private/Language/locallang.xml
typo3/sysext/workspaces/Resources/Private/Layouts/module.html
typo3/sysext/workspaces/Resources/Public/JavaScript/component.js
typo3/sysext/workspaces/Resources/Public/JavaScript/configuration.js
typo3/sysext/workspaces/Resources/Public/JavaScript/grid.js
typo3/sysext/workspaces/Resources/Public/JavaScript/toolbar.js
typo3/sysext/workspaces/ext_emconf.php
typo3/sysext/workspaces/ext_tables.sql
typo3/sysext/workspaces/last_synched_target

index 8daf810..cfa21fd 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2010-11-17  Oliver Hader  <oliver@typo3.org>
+
+       * Updated Workspaces to version 4.5.0beta1. See their ChangeLog for details.
+
 2010-11-16  Stanislas Rolland  <typo3@sjbr.ca>
 
        * Added feature #2474: htmlArea RTE: Add general element properties editing dialogue
diff --git a/typo3/sysext/workspaces/ChangeLog b/typo3/sysext/workspaces/ChangeLog
new file mode 100644 (file)
index 0000000..c4ece0e
--- /dev/null
@@ -0,0 +1,32 @@
+2010-11-17  Oliver Hader  <oliver@tpyo3.org>
+
+       * Cleanup: Fixed ext_emconf.php
+       * Raised version to 4.5.0beta1
+
+2010-11-16  Tolleiv Nietsch <info@tolleiv.de>
+
+       * Fixed bug: #10778 Consider http://bugs.typo3.org/view.php?id=9508 when implementing preview link in new module
+       * Fixed bug: #10819 viewOnClick causes error if frontendpreview is disabled
+       * Fixed issue: #10817 DAU WS-Module warning
+
+2010-11-12  Oliver Hader  <oliver@tpyo3.org>
+
+       * Fixed bug: Typing error and superfluous labels in locallang file
+       * Fixed bug: Missing fields in SQL definition reviewers, stagechg_notification
+       * Cleanup: Defined svn:eol-style property
+       * Cleanup: Fixed formatting and configuration in the ExtJS part (thanks to Steffen Kamper)
+       * Cleanup: Added language label for swap workspace column (thanks to Steffen Kamper)
+       * Cleanup: Defined fixed width of ExtJS components (thanks to Steffen Kamper)
+       * Cleanup: Remover superfluous quotes (thanks to Steffen Kamper)
+       * Cleanup: Fixed undefined variables and added PHPdoc comments
+
+2010-11-11  Oliver Hader  <oliver@tpyo3.org>
+
+       * Cleanup: Added PHPdoc comments and some formatting changes
+       * Cleanup: Fixed formatting issues
+       * Cleanup: Fixed copyright notices
+       * Cleanup: Fixed ext_emconf.php
+
+2010-11-11  Workspaces Team  http://forge.typo3.org/projects/show/typo3v4-workspaces
+
+       * Imported workspaces system extension from GitHub repository after commit f1cd6371d96faa8a8d35
\ No newline at end of file
index 18a2cf0..f4e5d3e 100644 (file)
@@ -99,7 +99,8 @@ class Tx_Workspaces_Controller_PreviewController extends Tx_Workspaces_Controlle
                $wsHelpParams = '&tx_workspaces_web_workspacesworkspaces[controller]=Preview';
                $wsHelpUrl = $wsSettingsPath . $wsHelpUri . $wsHelpParams;
 
-               $wsBaseUrl = t3lib_div::getIndpEnv('TYPO3_SITE_URL') . 'index.php?id=' . $this->pageId . '&L=' . $language;
+               $viewDomain = t3lib_BEfunc::getViewDomain($this->pageId);
+               $wsBaseUrl =  $viewDomain . '/index.php?id=' . $this->pageId . '&L=' . $language;
 
                // @todo - handle new pages here
                // branchpoints are not handled anymore because this feature is not supposed anymore
index 4775cd0..c14fb23 100644 (file)
@@ -113,6 +113,17 @@ class Tx_Workspaces_Controller_ReviewController extends Tx_Workspaces_Controller
        protected function initializeAction() {
                parent::initializeAction();
 
+               if (tx_Workspaces_Service_Workspaces::isOldStyleWorkspaceUsed()) {
+                       $message = t3lib_div::makeInstance(
+                               't3lib_FlashMessage',
+                               $GLOBALS['LANG']->sL('LLL:EXT:workspaces/Resources/Private/Language/locallang.xml:warning.oldStyleWorkspaceInUser'),
+                               '',
+                               t3lib_FlashMessage::WARNING
+                       );
+
+                       t3lib_FlashMessageQueue::addMessage($message);
+               }
+
                $this->pageRenderer->loadExtJS();
                $this->pageRenderer->enableExtJSQuickTips();
                $this->pageRenderer->enableExtJsDebug();
index 0ffa2c2..a8b8b1c 100644 (file)
@@ -46,7 +46,7 @@ class tx_Workspaces_Service_Befunc {
         */
        public function preProcess($pageUid, $backPath, $rootLine, $anchorSection, &$viewScript, $additionalGetVars, $switchFocus) {
                if ($GLOBALS['BE_USER']->workspace !== 0 && !$GLOBALS['BE_USER']->user['workspace_preview']) {
-                       $ctrl = t3lib_div::makeInstance('Tx_Workspaces_Controller_PreviewController', true);
+                       $ctrl = t3lib_div::makeInstance('Tx_Workspaces_Controller_PreviewController', FALSE);
                        $uriBuilder = t3lib_div::makeInstance('Tx_Extbase_MVC_Web_Routing_UriBuilder');
                        /**
                         *  @todo BACK_PATH is not available be still needed when used during AJAX request
index 7ed0e57..15c1a56 100644 (file)
@@ -39,16 +39,39 @@ class Tx_Workspaces_Service_Stages {
        const STAGE_PUBLISH_ID = -10;
        const STAGE_EDIT_ID = 0;
 
-       /** Current workspace id */
+       /**
+        * Current workspace ID
+        * @var integer
+        */
        private $workspaceId = NULL;
 
-       /** path to locallang file */
+       /**
+        * Path to the locallang file
+        * @var string
+        */
        private $pathToLocallang = 'LLL:EXT:workspaces/Resources/Private/Language/locallang.xml';
 
-               // local caches to avoid that workspace stages, groups etc need to be read from the DB every time
+       /**
+        * Local cache to reduce number of database queries for stages, groups, etc.
+        * @var array
+        */
        protected $workspaceStageCache = array();
+
+       /**
+        * @var array
+        */
        protected $workspaceStageAllowedCache = array();
+
+       /**
+        * @var array
+        */
        protected $fetchGroupsCache = array();
+
+       /**
+        * @var array
+        */
+       protected $userGroups = array();
+
        /**
         * Getter for current workspace id
         *
@@ -85,7 +108,6 @@ class Tx_Workspaces_Service_Stages {
         * @return array id and title of the stages
         */
        public function getStagesForWS() {
-
                $stages = array();
 
                if (isset($this->workspaceStageCache[$this->getWorkspaceId()])) {
@@ -147,7 +169,7 @@ class Tx_Workspaces_Service_Stages {
                                                // yes, so add to return array
                                        $stagesForWSUserData[] = array(
                                                'uid' => $this->encodeStageUid($workspaceStageRec['uid']),
-                                               'title' => $GLOBALS['LANG']->sL($this->pathToLocallang . ':actionSendToStage') . ' "' . $workspaceStageRec['title'] . '"');
+                                               'title' => $GLOBALS['LANG']->sL($this->pathToLocallang . ':actionSendToStage') . ' ' . $workspaceStageRec['title']);
                                } else if ($workspaceStageRec['uid'] == self::STAGE_PUBLISH_EXECUTE_ID) {
                                                if ($GLOBALS['BE_USER']->workspacePublishAccess($this->getWorkspaceId())) {
                                                        $stagesForWSUserData[] = $workspaceStageRec;
@@ -189,6 +211,12 @@ class Tx_Workspaces_Service_Stages {
                //return $stage_uid + $this->raiseStageIdAmount;
        }
 
+       /**
+        * Gets the title of a stage.
+        *
+        * @param integer $ver_stage
+        * @return string
+        */
        public function getStageTitle($ver_stage) {
                global $LANG;
                $stageTitle = '';
@@ -216,7 +244,9 @@ class Tx_Workspaces_Service_Stages {
        }
 
        /**
-        * @param  $stageid
+        * Gets a particular stage record.
+        *
+        * @param integer $stageid
         * @return array
         */
        public function getStageRecord($stageid) {
@@ -471,16 +501,18 @@ class Tx_Workspaces_Service_Stages {
        }
 
        /**
+        * Fetches particular groups recursively.
+        *
         * @param  $grList
         * @param string $idList
         * @return array
         */
        private function fetchGroupsRecursive($grList, $idList = '') {
-
                $requiredGroups = t3lib_div::intExplode(',', $grList, TRUE);
                $existingGroups = array_keys($this->userGroups);
-               $missingGroups = array_diff($include_staticArr, $existingGroups);
-               if (count($groups) > 0) {
+               $missingGroups = array_diff($requiredGroups, $existingGroups);
+
+               if (count($missingGroups) > 0) {
                        $this->fetchGroupsFromDB($missingGroups);
                }
 
@@ -504,6 +536,7 @@ class Tx_Workspaces_Service_Stages {
                                }
                        }
                }
+
                return $this->userGroups;
        }
 
@@ -625,6 +658,7 @@ class Tx_Workspaces_Service_Stages {
        }
 }
 
+
 if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/workspaces/Classes/Service/Stages.php']) {
        include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/workspaces/Classes/Service/Stages.php']);
 }
index 33f64cc..5724bf4 100644 (file)
@@ -400,6 +400,28 @@ class tx_Workspaces_Service_Workspaces {
                }
                return $permittedElements;
        }
+
+
+       /**
+        * Trivial check to see if the user already migrated his workspaces
+        * to the new style (either manually or with the migrator scripts)
+        *
+        * @return bool
+        */
+       public static function isOldStyleWorkspaceUsed() {
+               $oldStyleWorkspaceIsUsed = FALSE;
+               $cacheKey = 'workspace-oldstyleworkspace-notused';
+               $cacheResult = $GLOBALS['BE_USER']->getSessionData($cacheKey);
+               if (!$cacheResult) {
+                       $where = 'adminusers != "" AND adminusers NOT LIKE "%be_users%" AND adminusers NOT LIKE "%be_groups%" AND deleted=0';
+                       $count = $GLOBALS['TYPO3_DB']->exec_SELECTcountRows('uid', 'sys_workspace', $where);
+                       $oldStyleWorkspaceIsUsed = $count > 0;
+                       $GLOBALS['BE_USER']->setAndSaveSessionData($cacheKey, !$oldStyleWorkspaceIsUsed);
+               } else {
+                       $oldStyleWorkspaceIsUsed = !$cacheResult;
+               }
+               return $oldStyleWorkspaceIsUsed;
+       }
 }
 
 
diff --git a/typo3/sysext/workspaces/Classes/ViewHelpers/TempFlashMessageQueueViewHelper.php b/typo3/sysext/workspaces/Classes/ViewHelpers/TempFlashMessageQueueViewHelper.php
new file mode 100644 (file)
index 0000000..bbe3480
--- /dev/null
@@ -0,0 +1,65 @@
+<?php
+/*                                                                        *
+ * This script belongs to the FLOW3 package "Fluid".                      *
+ *                                                                        *
+ * It is free software; you can redistribute it and/or modify it under    *
+ * the terms of the GNU Lesser General Public License as published by the *
+ * Free Software Foundation, either version 3 of the License, or (at your *
+ * option) any later version.                                             *
+ *                                                                        *
+ * This script is distributed in the hope that it will be useful, but     *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-    *
+ * TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser       *
+ * General Public License for more details.                               *
+ *                                                                        *
+ * You should have received a copy of the GNU Lesser General Public       *
+ * License along with the script.                                         *
+ * If not, see http://www.gnu.org/licenses/lgpl.html                      *
+ *                                                                        *
+ * The TYPO3 project - inspiring people to share!                         *
+ *                                                                        */
+
+/**
+ * View helper which renders the FlashMessageQueu
+ *
+ * = Examples =
+ *
+ * <code title="Minimal">
+ * <f:be.flashMessageQueue />
+ * </code>
+ *
+ * Output:
+ * All FlashMessages which were registered using t3lib_FlashMessageQueue::addMessage($message);
+ *
+ * @author      Tolleiv Nietsch <info@tolleiv.de>
+ * @license     http://www.gnu.org/copyleft/gpl.html
+ * @version     SVN: $Id:
+ *
+ */
+
+/**
+ * ViewHelper to integrate the backend FlashMessageQueue into our module
+ *
+ * @todo Remove this viewHelper once http://forge.typo3.org/issues/10821 is available
+ */
+class Tx_Workspaces_ViewHelpers_TempFlashMessageQueueViewHelper extends Tx_Fluid_ViewHelpers_Be_AbstractBackendViewHelper {
+
+
+       /**
+        * Renders a shortcut button as known from the TYPO3 backend
+        *
+        * @return string the rendered flashMessage
+        * @see template::makeShortcutIcon()
+        */
+       public function render() {
+
+               $renderedMessages = '';
+               $flashMessages = t3lib_FlashMessageQueue::renderFlashMessages();
+               if (!empty($flashMessages)) {
+                       $renderedMessages = '<div id="typo3-messages">' . $flashMessages . '</div>';
+               }
+
+               return $renderedMessages;
+       }
+}
+?>
\ No newline at end of file
index 374274f..2c15205 100644 (file)
@@ -7,7 +7,7 @@
        <data type="array">
                <languageKey index="default" type="array">
                        <label index="legend.label">Legend:</label>
-                       <label index="legend.edited">Record editet</label>
+                       <label index="legend.edited">Record edited</label>
                        <label index="legend.moved">Record moved</label>
                        <label index="legend.deleted">Record deleted</label>
                        <label index="legend.new">Record created</label>
                        <label index="column.uid">WS-Id</label>
                        <label index="column.oid">Live-Id</label>
                        <label index="column.workspaceName">Workspace</label>
-                       <label index="column.wsTitle">Changed</label>
-                       <label index="column.wsTitle">Changed</label>
-                       <label index="column.wsTitle">Changed</label>
-                       <label index="column.wsTitle">Changed</label>
                        <label index="column.livePath">Live-Path</label>
                        <label index="column.liveTitle">Live-Title</label>
-                       <label index="tooltip.viewElementAction">Preview Element</label>
-                       <label index="tooltip.editElementAction">edit element</label>
+                       <label index="column.wsSwapColumn">Swap workspace</label>
+                       <label index="tooltip.viewElementAction">Preview element</label>
+                       <label index="tooltip.editElementAction">Edit element</label>
                        <label index="tooltip.openPage">Open version of page</label>
                        <label index="tooltip.sendToPrevStage">Send record to previous Stage</label>
                        <label index="tooltip.sendToNextStage">Send record to next Stage</label>
@@ -70,6 +67,7 @@
                        <label index="window.sendToNextStageWindow.additionalRecipients">Additional recipients</label>
                        <label index="window.sendToNextStageWindow.comments">Comments</label>
                        <label index="error.getStageTitle.stageNotFound">Stage not found</label>
+                       <label index="warning.oldStyleWorkspaceInUser">It seems that you're stil using old-style workspace. If you continue using this module without migrating your workspace you might loose data.</label>
                </languageKey>
        </data>
 </T3locallang>
\ No newline at end of file
index 7b0ba19..3fd235e 100644 (file)
@@ -1,3 +1,4 @@
+{namespace this=Tx_Workspaces_ViewHelpers}
 <!-- ###FULLDOC### begin -->
 <div class="typo3-fullDoc">
 <!-- Page header with buttons, path details and csh -->
@@ -18,6 +19,9 @@
 <!-- Content of module, for instance listing, info or editing -->
 <div id="typo3-docbody">
 <div id="typo3-inner-docbody">
+
+       <this:TempFlashMessageQueue />
+
        <f:render partial="navigation" arguments="{workspaceList: workspaceList, activeWorkspaceUid: activeWorkspaceUid, showAllWorkspaceTab:showAllWorkspaceTab}" />
        <div class="typo3-dyntabmenu-divs"><f:render section="main" /></div>
        <f:if condition="{showLegend}"><f:render partial="legend" /></f:if>
index 784819b..464093a 100644 (file)
@@ -234,7 +234,6 @@ TYPO3.Workspaces.MainStore = new Ext.data.GroupingStore({
                totalProperty : 'total'
        }, TYPO3.Workspaces.Configuration.StoreFieldArray),
        groupField: 'path_Workspace',
-       remoteGroup: false,
        paramsAsHash : true,
        sortInfo : {
                field : 'label_Live',
index c9fa34f..fa2689f 100644 (file)
@@ -114,7 +114,7 @@ TYPO3.Workspaces.Configuration.WsTitleWithIcon = {
        id: 'label_Workspace',
        dataIndex : 'label_Workspace',
        width: 120,
-       hideable: false,
+       hideable: true,
        sortable: true,
        header : TYPO3.lang["column.wsTitle"],
        renderer: function(value, metaData, record, rowIndex, colIndex, store) {
@@ -178,9 +178,9 @@ TYPO3.Workspaces.Configuration.SendToPrevStageButton = {
        width: 18,
        items:[
                {
-                       iconCls: 't3-icon t3-icon-extensions t3-icon-extensions-workspaces t3-icon-workspaces-sendtoprevstage'
-                       ,tooltip: TYPO3.lang["tooltip.sendToPrevStage"]
-                       ,handler: function(grid, rowIndex, colIndex) {
+                       iconCls: 't3-icon t3-icon-extensions t3-icon-extensions-workspaces t3-icon-workspaces-sendtoprevstage',
+                       tooltip: TYPO3.lang["tooltip.sendToPrevStage"],
+                       handler: function(grid, rowIndex, colIndex) {
                                var record = TYPO3.Workspaces.MainStore.getAt(rowIndex);
                                TYPO3.Workspaces.Actions.sendToPrevStageWindow(record.json.table, record.json.uid);
                        }
@@ -247,7 +247,7 @@ TYPO3.Workspaces.Configuration.Stage = {
 TYPO3.Workspaces.Configuration.RowButtons = {
        xtype: 'actioncolumn',
        header: TYPO3.lang["column.actions"],
-       width: 50,
+       width: 70,
        hideable: false,
        menuDisabled: true,
        items: [
index 3282add..81d0904 100644 (file)
@@ -39,7 +39,7 @@ Ext.override(Ext.grid.GridView, {
                        if (colModel.config[i].hideable !== false) {
                                text = colModel.getColumnHeader(i);
                                if (colModel.getColumnId(i) === 'wsSwapColumn') {
-                                       text = 'Swap workspaces';  //use language label
+                                       text = TYPO3.lang["column.wsSwapColumn"];
                                }
                                colMenu.add(new Ext.menu.CheckItem({
                                        text: text,
@@ -104,14 +104,16 @@ TYPO3.Workspaces.WorkspaceGrid = new Ext.grid.GridPanel({
        height: 630,
        stripeRows: true,
        plugins : [
-               TYPO3.Workspaces.RowExpander
-               ,TYPO3.Workspaces.Configuration.GridFilters
-               ,new Ext.ux.plugins.FitToParent()],
+               TYPO3.Workspaces.RowExpander,
+               TYPO3.Workspaces.Configuration.GridFilters,
+               new Ext.ux.plugins.FitToParent()
+       ],
        view : new Ext.grid.GroupingView({
                forceFit: true,
                groupTextTpl : '{text} ({[values.rs.length]} {[values.rs.length > 1 ? "' + TYPO3.lang["items"] + '" : "' + TYPO3.lang["item"] + '"]})',
                enableGroupingMenu: false,
-               enableNoGroups: false
+               enableNoGroups: false,
+               hideGroupedColumn: true
        }),
        bbar : TYPO3.Workspaces.Toolbar.FullBottomBar,
        tbar : TYPO3.Workspaces.Toolbar.FullTopToolbar
index 2c60154..42f8cc1 100644 (file)
@@ -58,6 +58,7 @@ TYPO3.Workspaces.Toolbar.selectActionStore = new Ext.data.DirectStore({
 
 TYPO3.Workspaces.Toolbar.selectStateActionCombo = new Ext.form.ComboBox({
        width: 150,
+       listWidth: 350,
        lazyRender: true,
        valueField: 'uid',
        displayField: 'title',
index 505cec5..d5deaa9 100644 (file)
@@ -3,7 +3,7 @@
 ########################################################################
 # Extension Manager/Repository config file for ext "workspaces".
 #
-# Auto generated 11-11-2010 22:34
+# Auto generated 17-11-2010 08:22
 #
 # Manual updates:
 # Only the data in the array - everything else is removed by next
@@ -29,7 +29,7 @@ $EM_CONF[$_EXTKEY] = array(
        'clearCacheOnLoad' => 0,
        'lockType' => '',
        'author_company' => '',
-       'version' => '0.9.0',
+       'version' => '4.5.0beta1',
        'constraints' => array(
                'depends' => array(
                        'typo3' => '4.5.0-0.0.0',
@@ -42,7 +42,7 @@ $EM_CONF[$_EXTKEY] = array(
                'suggests' => array(
                ),
        ),
-       '_md5_values_when_last_written' => 'a:72:{s:16:"ext_autoload.php";s:4:"2c39";s:12:"ext_icon.gif";s:4:"55bc";s:17:"ext_localconf.php";s:4:"f8bd";s:14:"ext_tables.php";s:4:"bd84";s:14:"ext_tables.sql";s:4:"2119";s:7:"tca.php";s:4:"4d74";s:61:"Classes/BackendUserInterface/WorkspaceSelectorToolbarItem.php";s:4:"30a6";s:41:"Classes/Controller/AbstractController.php";s:4:"cec4";s:40:"Classes/Controller/PreviewController.php";s:4:"16dc";s:39:"Classes/Controller/ReviewController.php";s:4:"53f6";s:37:"Classes/ExtDirect/AbstractHandler.php";s:4:"f09e";s:35:"Classes/ExtDirect/ActionHandler.php";s:4:"7227";s:39:"Classes/ExtDirect/MassActionHandler.php";s:4:"182e";s:28:"Classes/ExtDirect/Server.php";s:4:"c61d";s:33:"Classes/ExtDirect/ToolbarMenu.php";s:4:"b469";s:31:"Classes/Service/AutoPublish.php";s:4:"f49a";s:35:"Classes/Service/AutoPublishTask.php";s:4:"7bc9";s:26:"Classes/Service/Befunc.php";s:4:"70b4";s:28:"Classes/Service/GridData.php";s:4:"27d1";s:26:"Classes/Service/Stages.php";s:4:"6107";s:27:"Classes/Service/Tcemain.php";s:4:"c4a3";s:30:"Classes/Service/Workspaces.php";s:4:"625f";s:40:"Resources/Private/Language/locallang.xml";s:4:"fd0b";s:56:"Resources/Private/Language/locallang_csh_sysws_stage.xml";s:4:"d2f3";s:43:"Resources/Private/Language/locallang_db.xml";s:4:"57f7";s:44:"Resources/Private/Language/locallang_mod.xml";s:4:"9fc7";s:37:"Resources/Private/Layouts/module.html";s:4:"aeef";s:36:"Resources/Private/Layouts/nodoc.html";s:4:"5963";s:36:"Resources/Private/Layouts/popup.html";s:4:"710d";s:38:"Resources/Private/Partials/legend.html";s:4:"246f";s:42:"Resources/Private/Partials/navigation.html";s:4:"a5fa";s:45:"Resources/Private/Templates/Preview/Help.html";s:4:"4568";s:46:"Resources/Private/Templates/Preview/Index.html";s:4:"2309";s:49:"Resources/Private/Templates/Review/FullIndex.html";s:4:"242c";s:45:"Resources/Private/Templates/Review/Index.html";s:4:"9d5d";s:51:"Resources/Private/Templates/Review/SingleIndex.html";s:4:"93ce";s:30:"Resources/Public/Images/bg.gif";s:4:"916d";s:38:"Resources/Public/Images/moduleicon.gif";s:4:"55bc";s:61:"Resources/Public/Images/version-workspace-sendtonextstage.png";s:4:"46fa";s:61:"Resources/Public/Images/version-workspace-sendtoprevstage.png";s:4:"851d";s:38:"Resources/Public/JavaScript/actions.js";s:4:"ed61";s:40:"Resources/Public/JavaScript/component.js";s:4:"d645";s:44:"Resources/Public/JavaScript/configuration.js";s:4:"721b";s:35:"Resources/Public/JavaScript/grid.js";s:4:"38ce";s:38:"Resources/Public/JavaScript/helpers.js";s:4:"b6d6";s:38:"Resources/Public/JavaScript/preview.js";s:4:"d94c";s:38:"Resources/Public/JavaScript/toolbar.js";s:4:"8b7c";s:44:"Resources/Public/JavaScript/workspacegrid.js";s:4:"0bb3";s:44:"Resources/Public/JavaScript/workspacemenu.js";s:4:"6f7c";s:41:"Resources/Public/JavaScript/workspaces.js";s:4:"4fef";s:54:"Resources/Public/JavaScript/gridfilters/GridFilters.js";s:4:"4b22";s:59:"Resources/Public/JavaScript/gridfilters/css/GridFilters.css";s:4:"84a8";s:57:"Resources/Public/JavaScript/gridfilters/css/RangeMenu.css";s:4:"745a";s:63:"Resources/Public/JavaScript/gridfilters/filter/BooleanFilter.js";s:4:"3c02";s:60:"Resources/Public/JavaScript/gridfilters/filter/DateFilter.js";s:4:"c80d";s:56:"Resources/Public/JavaScript/gridfilters/filter/Filter.js";s:4:"583f";s:60:"Resources/Public/JavaScript/gridfilters/filter/ListFilter.js";s:4:"9554";s:63:"Resources/Public/JavaScript/gridfilters/filter/NumericFilter.js";s:4:"91a2";s:62:"Resources/Public/JavaScript/gridfilters/filter/StringFilter.js";s:4:"acc8";s:57:"Resources/Public/JavaScript/gridfilters/images/equals.png";s:4:"87b7";s:55:"Resources/Public/JavaScript/gridfilters/images/find.png";s:4:"9f1c";s:63:"Resources/Public/JavaScript/gridfilters/images/greater_than.png";s:4:"746c";s:60:"Resources/Public/JavaScript/gridfilters/images/less_than.png";s:4:"2fb7";s:68:"Resources/Public/JavaScript/gridfilters/images/sort_filtered_asc.gif";s:4:"9e7a";s:69:"Resources/Public/JavaScript/gridfilters/images/sort_filtered_desc.gif";s:4:"6d59";s:56:"Resources/Public/JavaScript/gridfilters/menu/ListMenu.js";s:4:"d14b";s:57:"Resources/Public/JavaScript/gridfilters/menu/RangeMenu.js";s:4:"0bbd";s:38:"Resources/Public/StyleSheet/module.css";s:4:"6c4e";s:31:"Tests/Service/WorkspaceTest.php";s:4:"372d";s:41:"Tests/Service/fixtures/dbDefaultPages.xml";s:4:"a86b";s:46:"Tests/Service/fixtures/dbDefaultWorkspaces.xml";s:4:"32a7";s:41:"Tests/Service/fixtures/dbMovedContent.xml";s:4:"dd73";}',
+       '_md5_values_when_last_written' => 'a:80:{s:9:"ChangeLog";s:4:"c681";s:16:"ext_autoload.php";s:4:"2c39";s:12:"ext_icon.gif";s:4:"55bc";s:17:"ext_localconf.php";s:4:"f8bd";s:14:"ext_tables.php";s:4:"bd84";s:14:"ext_tables.sql";s:4:"d4ef";s:7:"tca.php";s:4:"4d74";s:61:"Classes/BackendUserInterface/WorkspaceSelectorToolbarItem.php";s:4:"30a6";s:41:"Classes/Controller/AbstractController.php";s:4:"cec4";s:40:"Classes/Controller/PreviewController.php";s:4:"43ed";s:39:"Classes/Controller/ReviewController.php";s:4:"0a3c";s:37:"Classes/ExtDirect/AbstractHandler.php";s:4:"f09e";s:35:"Classes/ExtDirect/ActionHandler.php";s:4:"7227";s:39:"Classes/ExtDirect/MassActionHandler.php";s:4:"182e";s:28:"Classes/ExtDirect/Server.php";s:4:"c61d";s:33:"Classes/ExtDirect/ToolbarMenu.php";s:4:"b469";s:31:"Classes/Service/AutoPublish.php";s:4:"f49a";s:35:"Classes/Service/AutoPublishTask.php";s:4:"7bc9";s:26:"Classes/Service/Befunc.php";s:4:"1f09";s:28:"Classes/Service/GridData.php";s:4:"27d1";s:26:"Classes/Service/Stages.php";s:4:"555c";s:27:"Classes/Service/Tcemain.php";s:4:"c4a3";s:30:"Classes/Service/Workspaces.php";s:4:"de77";s:55:"Classes/ViewHelpers/TempFlashMessageQueueViewHelper.php";s:4:"13e8";s:40:"Resources/Private/Language/locallang.xml";s:4:"0f3d";s:45:"Resources/Private/Language/locallang.xml.orig";s:4:"ac12";s:44:"Resources/Private/Language/locallang.xml.rej";s:4:"6ec5";s:56:"Resources/Private/Language/locallang_csh_sysws_stage.xml";s:4:"d2f3";s:43:"Resources/Private/Language/locallang_db.xml";s:4:"57f7";s:44:"Resources/Private/Language/locallang_mod.xml";s:4:"9fc7";s:37:"Resources/Private/Layouts/module.html";s:4:"652f";s:36:"Resources/Private/Layouts/nodoc.html";s:4:"5963";s:36:"Resources/Private/Layouts/popup.html";s:4:"710d";s:38:"Resources/Private/Partials/legend.html";s:4:"246f";s:42:"Resources/Private/Partials/navigation.html";s:4:"46ae";s:45:"Resources/Private/Templates/Preview/Help.html";s:4:"a77a";s:46:"Resources/Private/Templates/Preview/Index.html";s:4:"ff3a";s:49:"Resources/Private/Templates/Review/FullIndex.html";s:4:"478e";s:45:"Resources/Private/Templates/Review/Index.html";s:4:"16cc";s:51:"Resources/Private/Templates/Review/SingleIndex.html";s:4:"7b9d";s:30:"Resources/Public/Images/bg.gif";s:4:"916d";s:38:"Resources/Public/Images/moduleicon.gif";s:4:"55bc";s:61:"Resources/Public/Images/version-workspace-sendtonextstage.png";s:4:"46fa";s:61:"Resources/Public/Images/version-workspace-sendtoprevstage.png";s:4:"851d";s:38:"Resources/Public/JavaScript/actions.js";s:4:"b800";s:40:"Resources/Public/JavaScript/component.js";s:4:"cb3b";s:44:"Resources/Public/JavaScript/configuration.js";s:4:"755b";s:49:"Resources/Public/JavaScript/configuration.js.orig";s:4:"721b";s:48:"Resources/Public/JavaScript/configuration.js.rej";s:4:"8f8c";s:35:"Resources/Public/JavaScript/grid.js";s:4:"3af8";s:40:"Resources/Public/JavaScript/grid.js.orig";s:4:"38ce";s:39:"Resources/Public/JavaScript/grid.js.rej";s:4:"7316";s:38:"Resources/Public/JavaScript/helpers.js";s:4:"fd05";s:38:"Resources/Public/JavaScript/preview.js";s:4:"d94c";s:38:"Resources/Public/JavaScript/toolbar.js";s:4:"0ce3";s:44:"Resources/Public/JavaScript/workspacegrid.js";s:4:"0bb3";s:44:"Resources/Public/JavaScript/workspacemenu.js";s:4:"6f7c";s:41:"Resources/Public/JavaScript/workspaces.js";s:4:"4fef";s:54:"Resources/Public/JavaScript/gridfilters/GridFilters.js";s:4:"4b22";s:59:"Resources/Public/JavaScript/gridfilters/css/GridFilters.css";s:4:"84a8";s:57:"Resources/Public/JavaScript/gridfilters/css/RangeMenu.css";s:4:"745a";s:63:"Resources/Public/JavaScript/gridfilters/filter/BooleanFilter.js";s:4:"3c02";s:60:"Resources/Public/JavaScript/gridfilters/filter/DateFilter.js";s:4:"c80d";s:56:"Resources/Public/JavaScript/gridfilters/filter/Filter.js";s:4:"583f";s:60:"Resources/Public/JavaScript/gridfilters/filter/ListFilter.js";s:4:"9554";s:63:"Resources/Public/JavaScript/gridfilters/filter/NumericFilter.js";s:4:"91a2";s:62:"Resources/Public/JavaScript/gridfilters/filter/StringFilter.js";s:4:"acc8";s:57:"Resources/Public/JavaScript/gridfilters/images/equals.png";s:4:"87b7";s:55:"Resources/Public/JavaScript/gridfilters/images/find.png";s:4:"9f1c";s:63:"Resources/Public/JavaScript/gridfilters/images/greater_than.png";s:4:"746c";s:60:"Resources/Public/JavaScript/gridfilters/images/less_than.png";s:4:"2fb7";s:68:"Resources/Public/JavaScript/gridfilters/images/sort_filtered_asc.gif";s:4:"9e7a";s:69:"Resources/Public/JavaScript/gridfilters/images/sort_filtered_desc.gif";s:4:"6d59";s:56:"Resources/Public/JavaScript/gridfilters/menu/ListMenu.js";s:4:"d14b";s:57:"Resources/Public/JavaScript/gridfilters/menu/RangeMenu.js";s:4:"0bbd";s:38:"Resources/Public/StyleSheet/module.css";s:4:"6c4e";s:31:"Tests/Service/WorkspaceTest.php";s:4:"edc8";s:41:"Tests/Service/fixtures/dbDefaultPages.xml";s:4:"a86b";s:46:"Tests/Service/fixtures/dbDefaultWorkspaces.xml";s:4:"32a7";s:41:"Tests/Service/fixtures/dbMovedContent.xml";s:4:"dd73";}',
        'suggests' => array(
        ),
 );
index 0256af7..60be2f6 100644 (file)
@@ -10,6 +10,7 @@ CREATE TABLE sys_workspace (
   description varchar(255) DEFAULT '' NOT NULL,
   adminusers text,
   members text,
+  reviewers text,
   db_mountpoints varchar(255) DEFAULT '' NOT NULL,
   file_mountpoints varchar(255) DEFAULT '' NOT NULL,
   publish_time int(11) DEFAULT '0' NOT NULL,
@@ -22,6 +23,7 @@ CREATE TABLE sys_workspace (
   swap_modes tinyint(3) DEFAULT '0' NOT NULL,
   publish_access tinyint(3) DEFAULT '0' NOT NULL,
   custom_stages int(11) DEFAULT '0' NOT NULL,
+  stagechg_notification tinyint(3) DEFAULT '0' NOT NULL,
 
   PRIMARY KEY (uid),
   KEY parent (pid)
index dcfd711..0a13e0f 100644 (file)
@@ -1 +1 @@
-https://svn.typo3.org/TYPO3v4/CoreProjects/workspaces/workspaces/trunk@2730
+https://svn.typo3.org/TYPO3v4/CoreProjects/workspaces/workspaces/tags/4.5.0beta1