[TASK] Make move_el.php dispatched 11/36511/3
authorWouter Wolters <typo3@wouterwolters.nl>
Sat, 31 Jan 2015 15:01:14 +0000 (16:01 +0100)
committerBenjamin Mack <benni@typo3.org>
Sat, 31 Jan 2015 21:37:56 +0000 (22:37 +0100)
Use dispatching for move_el.php

Resolves: #64691
Releases: master
Change-Id: Ice9733d6b323ea998d28879db5908696ed7f1fa1
Reviewed-on: http://review.typo3.org/36511
Tested-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Jigal van Hemert <jigal.van.hemert@typo3.org>
Tested-by: Jigal van Hemert <jigal.van.hemert@typo3.org>
Reviewed-by: Benjamin Mack <benni@typo3.org>
typo3/move_el.php
typo3/sysext/backend/Classes/ClickMenu/ClickMenu.php
typo3/sysext/backend/Classes/Controller/PageLayoutController.php
typo3/sysext/backend/Classes/View/PageLayoutView.php
typo3/sysext/backend/Modules/MoveElement/conf.php [new file with mode: 0644]
typo3/sysext/backend/Modules/MoveElement/index.php [new file with mode: 0644]
typo3/sysext/backend/ext_tables.php
typo3/sysext/frontend/Classes/View/AdminPanelView.php
typo3/sysext/recordlist/Classes/RecordList/DatabaseRecordList.php

index 3537899..3498d39 100644 (file)
  */
 require __DIR__ . '/init.php';
 
+\TYPO3\CMS\Core\Utility\GeneralUtility::deprecationLog(
+       'Moving an element is moved to an own module. Please use BackendUtility::getModuleUrl(\'move_element\') to link to move_el.php. This script will be removed in TYPO3 CMS 8.'
+);
+
 $moveElementController = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Backend\Controller\ContentElement\MoveElementController::class);
 $moveElementController->main();
 $moveElementController->printContent();
index 996ffa8..fc230ad 100644 (file)
@@ -617,7 +617,8 @@ class ClickMenu {
         */
        public function DB_moveWizard($table, $uid, $rec) {
                // Hardcoded field for tt_content elements.
-               $url = 'move_el.php?table=' . $table . '&uid=' . $uid . ($table === 'tt_content' ? '&sys_language_uid=' . (int)$rec['sys_language_uid'] : '');
+               $url = BackendUtility::getModuleUrl('move_element') . '&table=' . $table . '&uid=' . $uid;
+               $url .= ($table === 'tt_content' ? '&sys_language_uid=' . (int)$rec['sys_language_uid'] : '');
                return $this->linkItem($this->languageService->makeEntities($this->languageService->getLL('CM_moveWizard' . ($table === 'pages' ? '_page' : ''))), IconUtility::getSpriteIcon('actions-' . ($table === 'pages' ? 'page' : 'document') . '-move'), $this->urlRefForCM($url, 'returnUrl'), 0);
        }
 
index 485680b..4687cfb 100644 (file)
@@ -1131,7 +1131,7 @@ class PageLayoutController {
                if (!$this->modTSconfig['properties']['disableIconToolbar']) {
                        // Move record
                        if (MathUtility::canBeInterpretedAsInteger($this->eRParts[1])) {
-                               $buttons['move_record'] = '<a href="' . htmlspecialchars($GLOBALS['BACK_PATH'] . 'move_el.php?table=' . $this->eRParts[0] . '&uid=' . $this->eRParts[1] . '&returnUrl=' . rawurlencode(GeneralUtility::getIndpEnv('REQUEST_URI'))) . '">' . IconUtility::getSpriteIcon(('actions-' . ($this->eRParts[0] == 'tt_content' ? 'document' : 'page') . '-move'), array('class' => 'c-inputButton', 'title' => $GLOBALS['LANG']->getLL(('move_' . ($this->eRParts[0] == 'tt_content' ? 'record' : 'page')), TRUE))) . '</a>';
+                               $buttons['move_record'] = '<a href="' . htmlspecialchars($GLOBALS['BACK_PATH'] . BackendUtility::getModuleUrl('move_element') . '&table=' . $this->eRParts[0] . '&uid=' . $this->eRParts[1] . '&returnUrl=' . rawurlencode(GeneralUtility::getIndpEnv('REQUEST_URI'))) . '">' . IconUtility::getSpriteIcon(('actions-' . ($this->eRParts[0] == 'tt_content' ? 'document' : 'page') . '-move'), array('class' => 'c-inputButton', 'title' => $GLOBALS['LANG']->getLL(('move_' . ($this->eRParts[0] == 'tt_content' ? 'record' : 'page')), TRUE))) . '</a>';
                        }
 
                        // Edit page properties and page language overlay icons
index fdd3cb9..ce368a1 100644 (file)
@@ -873,7 +873,7 @@ class PageLayoutView extends \TYPO3\CMS\Recordlist\RecordList\AbstractDatabaseRe
                        }
                        if ($this->ext_CALC_PERMS & 4 || $this->ext_CALC_PERMS & 2) {
                                $bArray[1] = $this->getPageLayoutController()->doc->t3Button(
-                                       'window.location.href=\'' . $this->backPath . 'move_el.php?table=pages&uid=' . $id
+                                       'window.location.href=\'' . $this->backPath . BackendUtility::getModuleUrl('move_element') . '&table=pages&uid=' . $id
                                                . '&returnUrl=' . rawurlencode(GeneralUtility::getIndpEnv('REQUEST_URI')) . '\';',
                                        $this->getLanguageService()->getLL('move_page')
                                );
diff --git a/typo3/sysext/backend/Modules/MoveElement/conf.php b/typo3/sysext/backend/Modules/MoveElement/conf.php
new file mode 100644 (file)
index 0000000..069787f
--- /dev/null
@@ -0,0 +1,3 @@
+<?php
+$MCONF['script'] = '_DISPATCH';
+$MCONF['name'] = 'move_element';
\ No newline at end of file
diff --git a/typo3/sysext/backend/Modules/MoveElement/index.php b/typo3/sysext/backend/Modules/MoveElement/index.php
new file mode 100644 (file)
index 0000000..d01afc9
--- /dev/null
@@ -0,0 +1,22 @@
+<?php
+/*
+ * This file is part of the TYPO3 CMS project.
+ *
+ * It is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License, either version 2
+ * of the License, or any later version.
+ *
+ * For the full copyright and license information, please read the
+ * LICENSE.txt file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+/**
+ * Moving pages or content elements (tt_content) around in the system via a page tree navigation.
+ *
+ * @author Kasper Skårhøj <kasperYYYY@typo3.com>
+ */
+$moveElementController = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Backend\Controller\ContentElement\MoveElementController::class);
+$moveElementController->main();
+$moveElementController->printContent();
\ No newline at end of file
index 4e47da3..c21bb5c 100644 (file)
@@ -97,4 +97,10 @@ if (TYPO3_MODE === 'BE') {
                'new_content_element',
                \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Modules/NewContentElement/'
        );
+
+       // Register move element module
+       \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addModulePath(
+               'move_element',
+               \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Modules/MoveElement/'
+       );
 }
index c30a579..652f9be 100644 (file)
@@ -614,7 +614,7 @@ class AdminPanelView {
                }
                if ($perms & 2) {
                        $icon = IconUtility::getSpriteIcon('actions-document-move', array('title' => $this->extGetLL('edit_move_page', FALSE)));
-                       $toolBar .= '<a href="' . htmlspecialchars((TYPO3_mainDir . 'move_el.php?table=pages&uid=' . $id . '&returnUrl=' . $returnUrl)) . '">' . $icon . '</a>';
+                       $toolBar .= '<a href="' . htmlspecialchars((TYPO3_mainDir . BackendUtility::getModuleUrl('move_element') . '&table=pages&uid=' . $id . '&returnUrl=' . $returnUrl)) . '">' . $icon . '</a>';
                }
                if ($perms & 8) {
                        $icon = IconUtility::getSpriteIcon('actions-page-new', array('title' => $this->extGetLL('edit_newPage', FALSE)));
index 6e097bb..6a04f3b 100644 (file)
@@ -1203,7 +1203,7 @@ class DatabaseRecordList extends AbstractDatabaseRecordList {
                }
                // "Move" wizard link for pages/tt_content elements:
                if ($table == 'tt_content' && $permsEdit || $table == 'pages') {
-                       $onClick = 'return jumpExt(\'' . $this->backPath . 'move_el.php?table=' . $table . '&uid=' . $row['uid'] . '\');';
+                       $onClick = 'return jumpExt(\'' . $this->backPath . BackendUtility::getModuleUrl('move_element') . '&table=' . $table . '&uid=' . $row['uid'] . '\');';
                        $linkTitleLL = $this->getLanguageService()->getLL('move_' . ($table === 'tt_content' ? 'record' : 'page'), TRUE);
                        $spriteIcon = $table === 'tt_content'
                                ? IconUtility::getSpriteIcon('actions-document-move')