Revert "[BUGFIX] Page module: Allow to paste in empty columns" 28/25528/2
authorMarkus Klein <klein.t3@mfc-linz.at>
Wed, 20 Nov 2013 10:02:09 +0000 (11:02 +0100)
committerMarkus Klein <klein.t3@mfc-linz.at>
Wed, 20 Nov 2013 10:02:24 +0000 (11:02 +0100)
This patch introduces sever problems with DataHandler.

Change-Id: Ibd767523c287bd13ef86ce1f0751062a349b5f34
Releases: 6.2, 6.1
Related: #44002
Reviewed-on: https://review.typo3.org/25528
Reviewed-by: Markus Klein
Tested-by: Markus Klein
typo3/js/clickmenu.js
typo3/sysext/backend/Classes/Clipboard/Clipboard.php
typo3/sysext/backend/Classes/Controller/SimpleDataHandlerController.php
typo3/sysext/backend/Classes/View/PageLayoutView.php
typo3/sysext/core/Classes/DataHandling/DataHandler.php
typo3/sysext/lang/locallang_core.xlf

index 135e85c..1f313ed 100644 (file)
@@ -18,7 +18,7 @@
  */
 
 /**
- * new clickmenu code to make an AJAX call and render the
+ * new clickmenu code to make an AJAX call and render the 
  * AJAX result in a layer next to the mouse cursor
  */
 var Clickmenu = {
@@ -54,8 +54,8 @@ var Clickmenu = {
         *
         * @param       params  parameters added to the URL
         * @return      nothing
-        */
-       callURL: function(params) {
+        */ 
+       callURL: function(params) {     
                if (this.ajax && Ajax.getTransport()) { // run with AJAX
                        params += '&ajax=1';
                        var call = new Ajax.Request(this.clickURL, {
@@ -63,21 +63,13 @@ var Clickmenu = {
                                parameters: params,
                                onComplete: function(xhr) {
                                        var response = xhr.responseXML;
-
                                        if (!response.getElementsByTagName('data')[0]) {
-                                               var res = params.match(/&reloadListFrame=(0|1|2)(&|$)/);
-                                               var reloadListFrame = parseInt(res[1], 0);
-                                               if (reloadListFrame) {
-                                                       var doc = (reloadListFrame != 2) ? top.content.list_frame : top.content;
-                                                       doc.location.reload(true);
-                                               }
                                                return;
                                        }
                                        var menu  = response.getElementsByTagName('data')[0].getElementsByTagName('clickmenu')[0];
                                        var data  = menu.getElementsByTagName('htmltable')[0].firstChild.data;
                                        var level = menu.getElementsByTagName('cmlevel')[0].firstChild.data;
                                        this.populateData(data, level);
-
                                }.bind(this)
                        });
                }
@@ -262,7 +254,7 @@ function hideSpecific(level) {
        if (level === 0 || level === 1) {
                Clickmenu.hide('contentMenu'+level);
        }
-}
+} 
 function showHideSelectorBoxes(action) {
        toggleSelectorBoxes(action);
 }
index b4f943b..92d9076 100644 (file)
@@ -549,20 +549,11 @@ class Clipboard {
         * @param string $table Tablename (_FILE for files)
         * @param mixed $uid "destination": can be positive or negative indicating how the paste is done (paste into / paste after)
         * @param boolean $setRedirect If set, then the redirect URL will point back to the current script, but with CB reset.
-        * @param array|NULL $update Additional key/value pairs which should get set in the moved/copied record (via DataHandler)
         * @return string
         * @todo Define visibility
         */
-       public function pasteUrl($table, $uid, $setRedirect = TRUE, array $update = NULL) {
-               $rU = $this->backPath . ($table == '_FILE' ? 'tce_file.php' : 'tce_db.php') . '?' .
-                       ($setRedirect ? 'redirect=' . rawurlencode(\TYPO3\CMS\Core\Utility\GeneralUtility::linkThisScript(array('CB' => ''))) : '') .
-                       '&vC=' . $GLOBALS['BE_USER']->veriCode() .
-                       '&prErr=1&uPT=1' .
-                       '&CB[paste]=' .
-                       rawurlencode(($table . '|' . $uid)) .
-                       '&CB[pad]=' . $this->current .
-                       (is_array($update) ? '&CB[update]=' . rawurlencode(serialize($update)) : '') .
-                       \TYPO3\CMS\Backend\Utility\BackendUtility::getUrlToken('tceAction');
+       public function pasteUrl($table, $uid, $setRedirect = 1) {
+               $rU = $this->backPath . ($table == '_FILE' ? 'tce_file.php' : 'tce_db.php') . '?' . ($setRedirect ? 'redirect=' . rawurlencode(\TYPO3\CMS\Core\Utility\GeneralUtility::linkThisScript(array('CB' => ''))) : '') . '&vC=' . $GLOBALS['BE_USER']->veriCode() . '&prErr=1&uPT=1' . '&CB[paste]=' . rawurlencode(($table . '|' . $uid)) . '&CB[pad]=' . $this->current . \TYPO3\CMS\Backend\Utility\BackendUtility::getUrlToken('tceAction');
                return $rU;
        }
 
@@ -619,14 +610,13 @@ class Clipboard {
         * @param mixed $rec For records its an array, for files its a string (path)
         * @param string $type Type-code
         * @param array $clElements Array of selected elements
-        * @param string $columnLabel Name of the content column
         * @return string JavaScript "confirm" message
         * @todo Define visibility
         */
-       public function confirmMsg($table, $rec, $type, $clElements, $columnLabel = '') {
+       public function confirmMsg($table, $rec, $type, $clElements) {
                if ($GLOBALS['BE_USER']->jsConfirmation(2)) {
                        $labelKey = 'LLL:EXT:lang/locallang_core.xlf:mess.' . ($this->currentMode() == 'copy' ? 'copy' : 'move') . ($this->current == 'normal' ? '' : 'cb') . '_' . $type;
-                       $msg = $GLOBALS['LANG']->sL($labelKey . ($columnLabel ? '_colPos': ''));
+                       $msg = $GLOBALS['LANG']->sL($labelKey);
                        if ($table == '_FILE') {
                                $thisRecTitle = basename($rec);
                                if ($this->current == 'normal') {
@@ -644,16 +634,8 @@ class Clipboard {
                                        $selRecTitle = count($clElements);
                                }
                        }
-                       // @TODO
-                       // This can get removed as soon as the "_colPos" label is translated
-                       // into all available locallang languages.
-                       if (!$msg && $columnLabel) {
-                               $thisRecTitle .= ' | ' . $columnLabel;
-                               $msg = $GLOBALS['LANG']->sL($labelKey);
-                       }
-
                        // Message
-                       $conf = 'confirm(' . $GLOBALS['LANG']->JScharCode(sprintf($msg, \TYPO3\CMS\Core\Utility\GeneralUtility::fixed_lgd_cs($selRecTitle, 30), \TYPO3\CMS\Core\Utility\GeneralUtility::fixed_lgd_cs($thisRecTitle, 30), \TYPO3\CMS\Core\Utility\GeneralUtility::fixed_lgd_cs($columnLabel, 30))) . ')';
+                       $conf = 'confirm(' . $GLOBALS['LANG']->JScharCode(sprintf($msg, \TYPO3\CMS\Core\Utility\GeneralUtility::fixed_lgd_cs($selRecTitle, 30), \TYPO3\CMS\Core\Utility\GeneralUtility::fixed_lgd_cs($thisRecTitle, 30))) . ')';
                } else {
                        $conf = '';
                }
@@ -875,11 +857,10 @@ class Clipboard {
         *
         * @param string $ref [tablename]:[paste-uid], see description
         * @param array $CMD Command-array
-        * @param NULL|array If additional values should get set in the copied/moved record this will be an array containing key=>value pairs
         * @return array Modified Command-array
         * @todo Define visibility
         */
-       public function makePasteCmdArray($ref, $CMD, array $update = NULL) {
+       public function makePasteCmdArray($ref, $CMD) {
                list($pTable, $pUid) = explode('|', $ref);
                $pUid = intval($pUid);
                // pUid must be set and if pTable is not set (that means paste ALL elements)
@@ -895,14 +876,7 @@ class Clipboard {
                                if (!is_array($CMD[$table])) {
                                        $CMD[$table] = array();
                                }
-                               if (is_array($update)) {
-                                       $CMD[$table][$uid][$mode] = array(
-                                               'target' => $pUid,
-                                               'update' => $update,
-                                       );
-                               } else {
-                                       $CMD[$table][$uid][$mode] = $pUid;
-                               }
+                               $CMD[$table][$uid][$mode] = $pUid;
                                if ($mode == 'move') {
                                        $this->removeElement($tP);
                                }
@@ -984,4 +958,4 @@ class Clipboard {
 }
 
 
-?>
+?>
\ No newline at end of file
index 96b4025..f22fcb5 100644 (file)
@@ -179,11 +179,7 @@ class SimpleDataHandlerController {
                        $clipObj->initializeClipboard();
                        if ($this->CB['paste']) {
                                $clipObj->setCurrentPad($this->CB['pad']);
-                               $this->cmd = $clipObj->makePasteCmdArray(
-                                       $this->CB['paste'],
-                                       $this->cmd,
-                                       isset($this->CB['update']) ? unserialize($this->CB['update']) : NULL
-                               );
+                               $this->cmd = $clipObj->makePasteCmdArray($this->CB['paste'], $this->cmd);
                        }
                        if ($this->CB['delete']) {
                                $clipObj->setCurrentPad($this->CB['pad']);
@@ -246,4 +242,4 @@ class SimpleDataHandlerController {
 }
 
 
-?>
+?>
\ No newline at end of file
index 205c400..215a4ad 100644 (file)
@@ -168,11 +168,6 @@ class PageLayoutView extends \TYPO3\CMS\Recordlist\RecordList\AbstractDatabaseRe
         */
        public $itemLabels = array();
 
-       /**
-        * @var \TYPO3\CMS\Backend\Clipboard\Clipboard
-        */
-       protected $clipBoard;
-
        /*****************************************
         *
         * Renderings
@@ -383,7 +378,6 @@ class PageLayoutView extends \TYPO3\CMS\Recordlist\RecordList\AbstractDatabaseRe
         */
        public function getTable_tt_content($id) {
                $this->initializeLanguages();
-               $this->initializeClipboard();
                // Initialize:
                $RTE = $GLOBALS['BE_USER']->isRTE();
                $lMarg = 1;
@@ -518,8 +512,7 @@ class PageLayoutView extends \TYPO3\CMS\Recordlist\RecordList\AbstractDatabaseRe
                                                        $colTitle = $GLOBALS['LANG']->sL($item[0]);
                                                }
                                        }
-                                       $pasteP = array('colPos' => $key, 'sys_language_uid' => $lP);
-                                       $head[$key] .= $this->tt_content_drawColHeader($colTitle, $this->doEdit && count($rowArr) ? '&edit[tt_content][' . $editUidList . ']=edit' . $pageTitleParamForAltDoc : '', $newP, $pasteP);
+                                       $head[$key] .= $this->tt_content_drawColHeader($colTitle, $this->doEdit && count($rowArr) ? '&edit[tt_content][' . $editUidList . ']=edit' . $pageTitleParamForAltDoc : '', $newP);
                                        $editUidList = '';
                                }
                                // For each column, fit the rendered content into a table cell:
@@ -745,13 +738,12 @@ class PageLayoutView extends \TYPO3\CMS\Recordlist\RecordList\AbstractDatabaseRe
                                        }
                                        // Add section header:
                                        $newP = $this->newContentElementOnClick($id, $key, $this->tt_contentConfig['sys_language_uid']);
-                                       $pasteP = array('colPos' => $key, 'sys_language_uid' => $this->tt_contentConfig['sys_language_uid']);
                                        $out .= '
 
                                                <!-- Column header: -->
                                                <tr>
                                                        <td></td>
-                                                       <td valign="top" colspan="3">' . $this->tt_content_drawColHeader(\TYPO3\CMS\Backend\Utility\BackendUtility::getProcessedValue('tt_content', 'colPos', $key), ($this->doEdit && count($rowArr) ? '&edit[tt_content][' . $editUidList . ']=edit' . $pageTitleParamForAltDoc : ''), $newP, $pasteP) . $theNewButton . '<br /></td>
+                                                       <td valign="top" colspan="3">' . $this->tt_content_drawColHeader(\TYPO3\CMS\Backend\Utility\BackendUtility::getProcessedValue('tt_content', 'colPos', $key), ($this->doEdit && count($rowArr) ? '&edit[tt_content][' . $editUidList . ']=edit' . $pageTitleParamForAltDoc : ''), $newP) . $theNewButton . '<br /></td>
                                                </tr>';
                                        // Finally, add the content from the records in this column:
                                        $out .= $rowOut;
@@ -1099,36 +1091,20 @@ class PageLayoutView extends \TYPO3\CMS\Recordlist\RecordList\AbstractDatabaseRe
         * @param string $colName Column name
         * @param string $editParams Edit params (Syntax: &edit[...] for alt_doc.php)
         * @param string $newParams New element params (Syntax: &edit[...] for alt_doc.php) OBSOLETE
-        * @param array|NULL $pasteParams Paste element params (i.e. array(colPos => 1, sys_language_uid => 2))
         * @return string HTML table
         * @todo Define visibility
         */
-       public function tt_content_drawColHeader($colName, $editParams, $newParams, array $pasteParams = NULL) {
-               $iconsArr = array();
+       public function tt_content_drawColHeader($colName, $editParams, $newParams) {
+               $icons = '';
                // Create command links:
                if ($this->tt_contentConfig['showCommands']) {
                        // Edit whole of column:
                        if ($editParams) {
-                               $iconsArr['edit'] = '<a href="#" onclick="'
-                                       . htmlspecialchars(\TYPO3\CMS\Backend\Utility\BackendUtility::editOnClick($editParams, $this->backPath))
-                                       . '" title="' . $GLOBALS['LANG']->getLL('editColumn', TRUE) . '">'
-                                       . \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIcon('actions-document-open') . '</a>';
-                       }
-                       if ($pasteParams) {
-                               $elFromTable = $this->clipBoard->elFromTable('tt_content');
-                               if (count($elFromTable)) {
-                                       $iconsArr['paste'] = '<a href="'
-                                               . htmlspecialchars($this->clipBoard->pasteUrl('tt_content', $this->id, TRUE, $pasteParams))
-                                               . '" onclick="' . htmlspecialchars(('return '
-                                               . $this->clipBoard->confirmMsg('pages', $this->pageRecord, 'into', $elFromTable, $colName)))
-                                               . '" title="' . $GLOBALS['LANG']->getLL('clip_paste', TRUE) . '">'
-                                               . \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIcon('actions-document-paste-into') . '</a>';
-                               }
+                               $icons .= '<a href="#" onclick="' . htmlspecialchars(\TYPO3\CMS\Backend\Utility\BackendUtility::editOnClick($editParams, $this->backPath)) . '" title="' . $GLOBALS['LANG']->getLL('editColumn', TRUE) . '">' . \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIcon('actions-document-open') . '</a>';
                        }
                }
-               $icons = '';
-               if (count($iconsArr)) {
-                       $icons = '<div class="t3-page-colHeader-icons">' . implode('', $iconsArr) . '</div>';
+               if (strlen($icons)) {
+                       $icons = '<div class="t3-page-colHeader-icons">' . $icons . '</div>';
                }
                // Create header row:
                $out = '<div class="t3-page-colHeader t3-row-header">
@@ -1642,33 +1618,6 @@ class PageLayoutView extends \TYPO3\CMS\Recordlist\RecordList\AbstractDatabaseRe
         * Various helper functions
         *
         ********************************/
-
-       /**
-        * Initializes the clipboard for generating paste links
-        *
-        * @return void
-        *
-        * @see \TYPO3\CMS\Recordlist\RecordList::main()
-        * @see \TYPO3\CMS\Backend\Controller\ClickMenuController::main()
-        * @see \TYPO3\CMS\Filelist\Controller\FileListController::main()
-        */
-       protected function initializeClipboard() {
-               // Start clipboard
-               $this->clipBoard = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Backend\\Clipboard\\Clipboard');
-
-               // Initialize - reads the clipboard content from the user session
-               $this->clipBoard->initializeClipboard();
-
-               // This locks the clipboard to the Normal for this request.
-               $this->clipBoard->lockToNormal();
-
-               // Clean up pad
-               $this->clipBoard->cleanCurrent();
-
-               // Save the clipboard content
-               $this->clipBoard->endClipboard();
-       }
-
        /**
         * Counts and returns the number of records on the page with $pid
         *
index ae611c2..4233855 100644 (file)
@@ -2668,7 +2668,6 @@ class DataHandler {
                                $hookObjectsArr[] = $hookObj;
                        }
                }
-               $localData = array();
                // Traverse command map:
                foreach (array_keys($this->cmdmap) as $table) {
                        // Check if the table may be modified!
@@ -2687,11 +2686,10 @@ class DataHandler {
                                                // Get command and value (notice, only one command is observed at a time!):
                                                reset($incomingCmdArray);
                                                $command = key($incomingCmdArray);
-                                               $cmdData = current($incomingCmdArray);
-                                               $value = is_array($cmdData) ? $cmdData['target'] : $cmdData;
+                                               $value = current($incomingCmdArray);
                                                foreach ($hookObjectsArr as $hookObj) {
                                                        if (method_exists($hookObj, 'processCmdmap_preProcess')) {
-                                                               $hookObj->processCmdmap_preProcess($command, $table, $id, $value, $this, $cmdData);
+                                                               $hookObj->processCmdmap_preProcess($command, $table, $id, $value, $this);
                                                        }
                                                }
                                                // Init copyMapping array:
@@ -2702,45 +2700,40 @@ class DataHandler {
                                                $commandIsProcessed = FALSE;
                                                foreach ($hookObjectsArr as $hookObj) {
                                                        if (method_exists($hookObj, 'processCmdmap')) {
-                                                               $hookObj->processCmdmap($command, $table, $id, $value, $commandIsProcessed, $this, $cmdData);
+                                                               $hookObj->processCmdmap($command, $table, $id, $value, $commandIsProcessed, $this);
                                                        }
                                                }
                                                // Only execute default commands if a hook hasn't been processed the command already
                                                if (!$commandIsProcessed) {
-                                                       $procId = $id;
                                                        // Branch, based on command
                                                        switch ($command) {
-                                                               case 'move':
-                                                                       $this->moveRecord($table, $id, $value);
-                                                                       break;
-                                                               case 'copy':
-                                                                       if ($table === 'pages') {
-                                                                               $this->copyPages($id, $value);
-                                                                       } else {
-                                                                               $this->copyRecord($table, $id, $value, 1);
-                                                                       }
-                                                                       $procId = $this->copyMappingArray[$table][$id];
-                                                                       break;
-                                                               case 'localize':
-                                                                       $this->localize($table, $id, $value);
-                                                                       break;
-                                                               case 'inlineLocalizeSynchronize':
-                                                                       $this->inlineLocalizeSynchronize($table, $id, $value);
-                                                                       break;
-                                                               case 'delete':
-                                                                       $this->deleteAction($table, $id);
-                                                                       break;
-                                                               case 'undelete':
-                                                                       $this->undeleteRecord($table, $id);
-                                                                       break;
-                                                       }
-                                                       if (is_array($cmdData) && isset($cmdData['update'])) {
-                                                               $localData[$table][$procId] = $cmdData['update'];
+                                                       case 'move':
+                                                               $this->moveRecord($table, $id, $value);
+                                                               break;
+                                                       case 'copy':
+                                                               if ($table === 'pages') {
+                                                                       $this->copyPages($id, $value);
+                                                               } else {
+                                                                       $this->copyRecord($table, $id, $value, 1);
+                                                               }
+                                                               break;
+                                                       case 'localize':
+                                                               $this->localize($table, $id, $value);
+                                                               break;
+                                                       case 'inlineLocalizeSynchronize':
+                                                               $this->inlineLocalizeSynchronize($table, $id, $value);
+                                                               break;
+                                                       case 'delete':
+                                                               $this->deleteAction($table, $id);
+                                                               break;
+                                                       case 'undelete':
+                                                               $this->undeleteRecord($table, $id);
+                                                               break;
                                                        }
                                                }
                                                foreach ($hookObjectsArr as $hookObj) {
                                                        if (method_exists($hookObj, 'processCmdmap_postProcess')) {
-                                                               $hookObj->processCmdmap_postProcess($command, $table, $id, $value, $this, $cmdData, $localData);
+                                                               $hookObj->processCmdmap_postProcess($command, $table, $id, $value, $this);
                                                        }
                                                }
                                                // Merging the copy-array info together for remapping purposes.
@@ -2749,13 +2742,6 @@ class DataHandler {
                                }
                        }
                }
-               /** @var $copyTCE \TYPO3\CMS\Core\DataHandling\DataHandler */
-               $copyTCE = $this->getLocalTCE();
-               $copyTCE->start($localData, '', $this->BE_USER);
-               $copyTCE->process_datamap();
-               $this->errorLog = array_merge($this->errorLog, $copyTCE->errorLog);
-               unset($copyTCE);
-
                // Finally, before exit, check if there are ID references to remap.
                // This might be the case if versioning or copying has taken place!
                $this->remapListedDBRecords();
@@ -2858,7 +2844,13 @@ class DataHandler {
                                                }
                                                // Do the copy by simply submitting the array through TCEmain:
                                                /** @var $copyTCE \TYPO3\CMS\Core\DataHandling\DataHandler */
-                                               $copyTCE = $this->getLocalTCE();
+                                               $copyTCE = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\DataHandling\\DataHandler');
+                                               $copyTCE->stripslashes_values = 0;
+                                               $copyTCE->copyTree = $this->copyTree;
+                                               // Copy forth the cached TSconfig
+                                               $copyTCE->cachedTSconfig = $this->cachedTSconfig;
+                                               // Transformations should NOT be carried out during copy
+                                               $copyTCE->dontProcessTransformations = 1;
                                                $copyTCE->start($data, '', $this->BE_USER);
                                                $copyTCE->process_datamap();
                                                // Getting the new UID:
@@ -3811,7 +3803,12 @@ class DataHandler {
                                                                                } else {
                                                                                        // Create new record:
                                                                                        /** @var $copyTCE \TYPO3\CMS\Core\DataHandling\DataHandler */
-                                                                                       $copyTCE = $this->getLocalTCE();
+                                                                                       $copyTCE = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\DataHandling\\DataHandler');
+                                                                                       // Copy forth the cached TSconfig
+                                                                                       $copyTCE->stripslashes_values = 0;
+                                                                                       $copyTCE->cachedTSconfig = $this->cachedTSconfig;
+                                                                                       // Transformations should NOT be carried out during copy
+                                                                                       $copyTCE->dontProcessTransformations = 1;
                                                                                        $copyTCE->start(array($Ttable => array('NEW' => $overrideValues)), '', $this->BE_USER);
                                                                                        $copyTCE->process_datamap();
                                                                                        // Getting the new UID as if it had been copied:
@@ -4670,25 +4667,6 @@ class DataHandler {
         * Cmd: Helper functions
         *
         ********************************************/
-
-       /**
-        * Returns a instance of TCEmain for handling local datamaps/cmdmaps
-        *
-        * @param boolean $stripslashesValues If TRUE, incoming values in the data-array have their slashes stripped.
-        * @param boolean $dontProcessTransformations If set, then transformations are NOT performed on the input.
-        * @return DataHandler
-        */
-       protected function getLocalTCE($stripslashesValues = FALSE, $dontProcessTransformations = TRUE) {
-               $copyTCE = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\DataHandling\\DataHandler');
-               $copyTCE->stripslashes_values = $stripslashesValues;
-               $copyTCE->copyTree = $this->copyTree;
-               // Copy forth the cached TSconfig
-               $copyTCE->cachedTSconfig = $this->cachedTSconfig;
-               // Transformations should NOT be carried out during copy
-               $copyTCE->dontProcessTransformations = $dontProcessTransformations;
-               return $copyTCE;
-       }
-
        /**
         * Processes the fields with references as registered during the copy process. This includes all FlexForm fields which had references.
         *
index dab945e..645e5cb 100644 (file)
@@ -558,18 +558,12 @@ Would you like to save now in order to refresh the display?</source>
                        <trans-unit id="mess.move_into" xml:space="preserve">
                                <source>Move "%s" into "%s"?</source>
                        </trans-unit>
-                       <trans-unit id="mess.move_into_colPos" xml:space="preserve">
-                               <source>Move "%1$s" into column "%3$s" on page "%2$s"?</source>
-                       </trans-unit>
                        <trans-unit id="mess.move_after" xml:space="preserve">
                                <source>Move "%s" to after "%s"?</source>
                        </trans-unit>
                        <trans-unit id="mess.copy_into" xml:space="preserve">
                                <source>Copy "%s" into "%s"?</source>
                        </trans-unit>
-                       <trans-unit id="mess.copy_into_colPos" xml:space="preserve">
-                               <source>Copy "%1$s" into column "%3$s" on page "%2$s"?</source>
-                       </trans-unit>
                        <trans-unit id="mess.copy_after" xml:space="preserve">
                                <source>Copy "%s" to after "%s"?</source>
                        </trans-unit>