[!!!][TASK] Remove deprecated code from backend controllers 63/45363/4
authorWouter Wolters <typo3@wouterwolters.nl>
Fri, 18 Dec 2015 19:51:50 +0000 (20:51 +0100)
committerMorton Jonuschat <m.jonuschat@mojocode.de>
Thu, 31 Dec 2015 09:36:22 +0000 (10:36 +0100)
Resolves: #72419
Releases: master
Change-Id: I0aa18f1089281f04d25c95ec52d469ddc72b71d2
Reviewed-on: https://review.typo3.org/45363
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Morton Jonuschat <m.jonuschat@mojocode.de>
Tested-by: Morton Jonuschat <m.jonuschat@mojocode.de>
19 files changed:
typo3/sysext/backend/Classes/Controller/BackendController.php
typo3/sysext/backend/Classes/Controller/ClickMenuController.php
typo3/sysext/backend/Classes/Controller/ContentElement/ElementInformationController.php
typo3/sysext/backend/Classes/Controller/ContentElement/MoveElementController.php
typo3/sysext/backend/Classes/Controller/ContentElement/NewContentElementController.php
typo3/sysext/backend/Classes/Controller/DummyController.php
typo3/sysext/backend/Classes/Controller/EditDocumentController.php
typo3/sysext/backend/Classes/Controller/FileSystemNavigationFrameController.php
typo3/sysext/backend/Classes/Controller/ListFrameLoaderController.php [deleted file]
typo3/sysext/backend/Classes/Controller/LoginController.php
typo3/sysext/backend/Classes/Controller/LoginFramesetController.php
typo3/sysext/backend/Classes/Controller/NewRecordController.php
typo3/sysext/backend/Classes/Controller/PageTreeNavigationController.php [deleted file]
typo3/sysext/backend/Classes/Controller/SimpleDataHandlerController.php
typo3/sysext/backend/Classes/Controller/Wizard/ColorpickerController.php
typo3/sysext/backend/Classes/Controller/Wizard/EditController.php
typo3/sysext/backend/Classes/Controller/Wizard/RteController.php
typo3/sysext/backend/Classes/Controller/Wizard/TableController.php
typo3/sysext/core/Documentation/Changelog/master/Breaking-72419-RemoveDeprecatedCodeFromBackendControllers.rst [new file with mode: 0755]

index 90e0420..bd64d41 100644 (file)
@@ -93,16 +93,6 @@ class BackendController
     protected $pageRenderer;
 
     /**
-     * @return PageRenderer
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8
-     */
-    public function getPageRenderer()
-    {
-        GeneralUtility::logDeprecatedFunction();
-        return $this->pageRenderer;
-    }
-
-    /**
      * Constructor
      */
     public function __construct()
@@ -831,20 +821,6 @@ class BackendController
     }
 
     /**
-     * Adds an item to the toolbar, the class file for the toolbar item must be loaded at this point
-     *
-     * @param string $toolbarItemName Toolbar item name, f.e. tx_toolbarExtension_coolItem
-     * @param string $toolbarItemClassName Toolbar item class name, f.e. tx_toolbarExtension_coolItem
-     * @return void
-     * @throws \UnexpectedValueException
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8. Toolbar items are registered in $GLOBALS['TYPO3_CONF_VARS']['BE']['toolbarItems'] now.
-     */
-    public function addToolbarItem($toolbarItemName, $toolbarItemClassName)
-    {
-        GeneralUtility::logDeprecatedFunction();
-    }
-
-    /**
      * Executes defined hooks functions for the given identifier.
      *
      * These hook identifiers are valid:
index 62e1c2d..d71b066 100644 (file)
@@ -35,14 +35,6 @@ class ClickMenuController
     public $reloadListFrame;
 
     /**
-     * Content accumulation
-     *
-     * @var string
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8
-     */
-    public $content = '';
-
-    /**
      * @var \TYPO3\CMS\Backend\Template\DocumentTemplate
      */
     public $doc;
@@ -75,59 +67,6 @@ class ClickMenuController
     }
 
     /**
-     * Constructor function for script class.
-     *
-     * @return void
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8, all done in the constructor now
-     */
-    protected function init()
-    {
-        GeneralUtility::logDeprecatedFunction();
-    }
-
-    /**
-     * Main function - generating the click menu in whatever form it has.
-     *
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8, as an AJAX Route is now the main entry point
-     * @return void
-     */
-    public function main()
-    {
-        GeneralUtility::logDeprecatedFunction();
-        // Initialize Clipboard object:
-        $clipObj = GeneralUtility::makeInstance(Clipboard::class);
-        $clipObj->initializeClipboard();
-        // This locks the clipboard to the Normal for this request.
-        $clipObj->lockToNormal();
-        // Update clipboard if some actions are sent.
-        $CB = GeneralUtility::_GET('CB');
-        $clipObj->setCmd($CB);
-        $clipObj->cleanCurrent();
-        // Saves
-        $clipObj->endClipboard();
-        // Create clickmenu object
-        $clickMenu = GeneralUtility::makeInstance(ClickMenu::class);
-        // Set internal vars in clickmenu object:
-        $clickMenu->clipObj = $clipObj;
-        $clickMenu->extClassArray = $this->extClassArray;
-        // Set content of the clickmenu with the incoming var, "item"
-        $this->content .= $clickMenu->init();
-    }
-
-    /**
-     * End page and output content.
-     *
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8, as an AJAX Route is now the main entry point
-     * @return void
-     */
-    public function printContent()
-    {
-        GeneralUtility::logDeprecatedFunction();
-        header('Content-Type: text/xml');
-        echo '<?xml version="1.0"?>' . LF . '<t3ajax>' . $this->content . '</t3ajax>';
-    }
-
-    /**
      * this is an intermediate clickmenu handler
      *
      * @param ServerRequestInterface $request
index 2dd5a5f..1f1a455 100644 (file)
@@ -553,20 +553,6 @@ class ElementInformationController
     }
 
     /**
-     * End page and print content
-     *
-     * @return void
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8, use mainAction() instead
-     */
-    public function printContent()
-    {
-        GeneralUtility::logDeprecatedFunction();
-        echo $this->doc->startPage($this->titleTag) .
-            $this->doc->insertStylesAndJS($this->content) .
-            $this->doc->endPage();
-    }
-
-    /**
      * Get field name for specified table/column name
      *
      * @param string $tableName Table name
index 2eeed78..285e532 100644 (file)
@@ -237,18 +237,6 @@ class MoveElementController extends AbstractModule
     }
 
     /**
-     * Print out the accumulated content:
-     *
-     * @return void
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8, use mainAction() instead
-     */
-    public function printContent()
-    {
-        GeneralUtility::logDeprecatedFunction();
-        echo $this->content;
-    }
-
-    /**
      * Create the panel of buttons for submitting the form or otherwise perform operations.
      */
     protected function getButtons()
index 3ec0746..d1f720e 100644 (file)
@@ -270,23 +270,6 @@ class NewContentElementController extends AbstractModule
                         $aOnClick = "document.editForm.defValues.value=unescape('" . rawurlencode($wInfo['params']) . "');goToalt_doc();" . (!$this->onClickEvent?"window.location.hash='#sel2';":'');
                     }
 
-                    if (isset($wInfo['icon'])) {
-                        GeneralUtility::deprecationLog('The PageTS-Config: mod.wizards.newContentElement.wizardItems.*.elements.*.icon'
-                            . ' is deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8.'
-                            . ' Register your icon in IconRegistry::registerIcon and use the new setting:'
-                            . ' mod.wizards.newContentElement.wizardItems.*.elements.*.iconIdentifier');
-                        $wInfo['iconIdentifier'] = 'content-' . $k;
-                        $icon = $wInfo['icon'];
-                        if (StringUtility::beginsWith($icon, '../typo3conf/ext/')) {
-                            $icon = str_replace('../typo3conf/ext/', 'EXT:', $icon);
-                        }
-                        if (!StringUtility::beginsWith($icon, 'EXT:') && strpos($icon, '/') !== false) {
-                            $icon = TYPO3_mainDir . GeneralUtility::resolveBackPath($wInfo['icon']);
-                        }
-                        $iconRegistry->registerIcon($wInfo['iconIdentifier'], BitmapIconProvider::class, array(
-                            'source' => $icon
-                        ));
-                    }
                     $icon = $this->moduleTemplate->getIconFactory()->getIcon($wInfo['iconIdentifier'])->render();
                     $menuItems[$key]['content'] .= '
                                                <div class="media">
@@ -373,17 +356,6 @@ class NewContentElementController extends AbstractModule
      * OTHER FUNCTIONS:
      *
      ***************************/
-    /**
-     * Returns the content of wizardArray() function...
-     *
-     * @return array Returns the content of wizardArray() function...
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8, use "wizardArray()" directly
-     */
-    public function getWizardItems()
-    {
-        GeneralUtility::logDeprecatedFunction();
-        return $this->wizardArray();
-    }
 
     /**
      * Returns the array of elements in the wizard display.
index 211959c..2302064 100644 (file)
@@ -66,18 +66,6 @@ class DummyController
     }
 
     /**
-     * Outputting the accumulated content to screen
-     *
-     * @return void
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8, use mainAction() instead
-     */
-    public function printContent()
-    {
-        GeneralUtility::logDeprecatedFunction();
-        echo $this->content;
-    }
-
-    /**
      * Returns an instance of DocumentTemplate
      *
      * @return \TYPO3\CMS\Backend\Template\DocumentTemplate
index d3b0d54..fb5cd53 100644 (file)
@@ -176,15 +176,6 @@ class EditDocumentController extends AbstractModule
     public $viewUrl;
 
     /**
-     * If this is pointing to a page id it will automatically load all content elements
-     * (NORMAL column/default language) from that page into the form!
-     *
-     * @var int
-     * @deprecated since TYPO3 CMS 7, will be removed with TYPO3 CMS 8
-     */
-    public $editRegularContentFromId;
-
-    /**
      * Alternative title for the document handler.
      *
      * @var string
@@ -694,7 +685,6 @@ class EditDocumentController extends AbstractModule
         $this->popViewId = GeneralUtility::_GP('popViewId');
         $this->popViewId_addParams = GeneralUtility::_GP('popViewId_addParams');
         $this->viewUrl = GeneralUtility::_GP('viewUrl');
-        $this->editRegularContentFromId = GeneralUtility::_GP('editRegularContentFromId');
         $this->recTitle = GeneralUtility::_GP('recTitle');
         $this->noView = GeneralUtility::_GP('noView');
         $this->perms_clause = $beUser->getPagePermsClause(1);
@@ -965,9 +955,6 @@ class EditDocumentController extends AbstractModule
             /** @var FormResultCompiler formResultCompiler */
             $this->formResultCompiler = GeneralUtility::makeInstance(FormResultCompiler::class);
 
-            if ($this->editRegularContentFromId) {
-                $this->editRegularContentFromId();
-            }
             // Creating the editing form, wrap it with buttons, document selector etc.
             $editForm = $this->makeEditForm();
             if ($editForm) {
@@ -1009,18 +996,6 @@ class EditDocumentController extends AbstractModule
         $this->moduleTemplate->setContent($body);
     }
 
-    /**
-     * Outputting the accumulated content to screen
-     *
-     * @return void
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8
-     */
-    public function printContent()
-    {
-        GeneralUtility::logDeprecatedFunction();
-        echo $this->content;
-    }
-
     /***************************
      *
      * Sub-content functions, rendering specific parts of the module content.
@@ -1494,7 +1469,6 @@ class EditDocumentController extends AbstractModule
                     'overrideVals',
                     'columnsOnly',
                     'returnNewPageId',
-                    'editRegularContentFromId',
                     'noView']);
             $this->moduleTemplate->getDocHeaderComponent()->getButtonBar()->addButton($shortCutButton);
         }
@@ -1831,35 +1805,6 @@ class EditDocumentController extends AbstractModule
     }
 
     /**
-     * Function, which populates the internal editconf array with editing commands for all tt_content elements from
-     * the normal column in normal language from the page pointed to by $this->editRegularContentFromId
-     *
-     * @return void
-     * @deprecated since TYPO3 CMS 7, will be removed with TYPO3 CMS 8
-     */
-    public function editRegularContentFromId()
-    {
-        GeneralUtility::logDeprecatedFunction();
-        $dbConnection = $this->getDatabaseConnection();
-        $res = $dbConnection->exec_SELECTquery(
-            'uid',
-            'tt_content',
-            'pid=' . (int)$this->editRegularContentFromId . BackendUtility::deleteClause('tt_content')
-            . BackendUtility::versioningPlaceholderClause('tt_content') . ' AND colPos=0 AND sys_language_uid=0',
-            '',
-            'sorting'
-        );
-        if ($dbConnection->sql_num_rows($res)) {
-            $ecUids = array();
-            while ($ecRec = $dbConnection->sql_fetch_assoc($res)) {
-                $ecUids[] = $ecRec['uid'];
-            }
-            $this->editconf['tt_content'][implode(',', $ecUids)] = 'edit';
-        }
-        $dbConnection->sql_free_result($res);
-    }
-
-    /**
      * Populates the variables $this->storeArray, $this->storeUrl, $this->storeUrlMd5
      *
      * @return void
@@ -1868,7 +1813,7 @@ class EditDocumentController extends AbstractModule
     public function compileStoreDat()
     {
         $this->storeArray = GeneralUtility::compileSelectedGetVarsFromArray(
-            'edit,defVals,overrideVals,columnsOnly,noView,editRegularContentFromId,workspace',
+            'edit,defVals,overrideVals,columnsOnly,noView,workspace',
             $this->R_URL_getvars
         );
         $this->storeUrl = GeneralUtility::implodeArrayForUrl('', $this->storeArray);
index d4710f6..3b46684 100644 (file)
@@ -215,18 +215,6 @@ class FileSystemNavigationFrameController
     }
 
     /**
-     * Outputting the accumulated content to screen
-     *
-     * @return void
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8
-     */
-    public function printContent()
-    {
-        GeneralUtility::logDeprecatedFunction();
-        echo $this->content;
-    }
-
-    /**
      * Register docHeader buttons
      */
     protected function getButtons()
diff --git a/typo3/sysext/backend/Classes/Controller/ListFrameLoaderController.php b/typo3/sysext/backend/Classes/Controller/ListFrameLoaderController.php
deleted file mode 100644 (file)
index 0eafdc2..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-namespace TYPO3\CMS\Backend\Controller;
-
-/*
- * 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!
- */
-
-use TYPO3\CMS\Core\Utility\GeneralUtility;
-
-/**
- * Script Class for redirecting shortcut actions to the correct script
- * @deprecated since TYPO3 CMS 7, this file will be removed in TYPO3 CMS 8, this logic is not needed anymore
- */
-class ListFrameLoaderController
-{
-    /**
-     * @var string
-     */
-    protected $content;
-
-    /**
-     * Main content generated
-     *
-     * @return void
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8
-     */
-    public function main()
-    {
-        GeneralUtility::logDeprecatedFunction();
-        $GLOBALS['TBE_TEMPLATE']->divClass = '';
-        $this->content .= $this->getDocumentTemplate()->startPage('List Frame Loader');
-        $this->content .= $this->getDocumentTemplate()->wrapScriptTags('
-                       var theUrl = top.getModuleUrl("");
-                       if (theUrl)     window.location.href=theUrl;
-               ');
-        // End page:
-        $this->content .= $this->getDocumentTemplate()->endPage();
-        // Output:
-        echo $this->content;
-    }
-
-    /**
-     * Returns an instance of DocumentTemplate
-     *
-     * @return \TYPO3\CMS\Backend\Template\DocumentTemplate
-     */
-    protected function getDocumentTemplate()
-    {
-        return $GLOBALS['TBE_TEMPLATE'];
-    }
-}
index f64978a..c03042d 100644 (file)
@@ -189,10 +189,6 @@ class LoginController
         // Logo
         if (!empty($extConf['loginLogo'])) {
             $logo = $extConf['loginLogo'];
-        } elseif (!empty($GLOBALS['TBE_STYLES']['logo_login'])) {
-            // Fallback to old TBE_STYLES login logo
-            $logo = $GLOBALS['TBE_STYLES']['logo_login'];
-            GeneralUtility::deprecationLog('$GLOBALS["TBE_STYLES"]["logo_login"] is deprecated since TYPO3 CMS 7 and will be removed in TYPO3 CMS 8, please use the backend extension\'s configuration instead.');
         } else {
             // Use TYPO3 logo depending on highlight color
             if (!empty($extConf['loginHighlightColor'])) {
index a717a81..2a87586 100644 (file)
@@ -74,18 +74,6 @@ class LoginFramesetController
     }
 
     /**
-     * Outputs the page content.
-     *
-     * @return void
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8, use mainAction() instead
-     */
-    public function printContent()
-    {
-        GeneralUtility::logDeprecatedFunction();
-        echo $this->content;
-    }
-
-    /**
      * Returns an instance of DocumentTemplate
      *
      * @return \TYPO3\CMS\Backend\Template\DocumentTemplate
index e7d740c..1f4f354 100644 (file)
@@ -619,18 +619,6 @@ class NewRecordController extends AbstractModule
     }
 
     /**
-     * Ending page output and echo'ing content to browser.
-     *
-     * @return void
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8, use mainAction() instead
-     */
-    public function printContent()
-    {
-        GeneralUtility::logDeprecatedFunction();
-        echo $this->content;
-    }
-
-    /**
      * Links the string $code to a create-new form for a record in $table created on page $pid
      *
      * @param string $linkText Link text
diff --git a/typo3/sysext/backend/Classes/Controller/PageTreeNavigationController.php b/typo3/sysext/backend/Classes/Controller/PageTreeNavigationController.php
deleted file mode 100644 (file)
index 78b154b..0000000
+++ /dev/null
@@ -1,363 +0,0 @@
-<?php
-namespace TYPO3\CMS\Backend\Controller;
-
-/*
- * 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!
- */
-
-use Psr\Http\Message\ResponseInterface;
-use Psr\Http\Message\ServerRequestInterface;
-use TYPO3\CMS\Backend\Template\DocumentTemplate;
-use TYPO3\CMS\Backend\Utility\BackendUtility;
-use TYPO3\CMS\Backend\View\PageTreeView;
-use TYPO3\CMS\Core\Imaging\Icon;
-use TYPO3\CMS\Core\Imaging\IconFactory;
-use TYPO3\CMS\Core\Messaging\FlashMessage;
-use TYPO3\CMS\Core\Page\PageRenderer;
-use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
-use TYPO3\CMS\Core\Utility\GeneralUtility;
-use TYPO3\CMS\Core\Utility\MathUtility;
-use TYPO3\CMS\Workspaces\Service\WorkspaceService;
-
-/**
- * Main script class for the page tree navigation frame
- * This is the class for rendering the "page tree" navigation frame without ExtJS, used prior to TYPO3 CMS 4.5.
- * This functionality is deprecated since TYPO3 CMS 7, and will be removed with TYPO3 CMS 8
- */
-class PageTreeNavigationController
-{
-    /**
-     * @var string
-     */
-    public $content;
-
-    /**
-     * @var \TYPO3\CMS\Backend\View\PageTreeView
-     */
-    public $pagetree;
-
-    /**
-     * document template object
-     *
-     * @var \TYPO3\CMS\Backend\Template\DocumentTemplate
-     */
-    public $doc;
-
-    /**
-     * Temporary mount point (record), if any
-     *
-     * @var int
-     */
-    public $active_tempMountPoint = 0;
-
-    /**
-     * @var string
-     */
-    public $currentSubScript;
-
-    /**
-     * @var bool
-     */
-    public $cMR;
-
-    /**
-     * If not '' (blank) then it will clear (0) or set (>0) Temporary DB mount.
-     *
-     * @var string
-     */
-    public $setTempDBmount;
-
-    /**
-     * @var string
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8
-     */
-    public $template;
-
-    /**
-     * @var IconFactory
-     */
-    protected $iconFactory;
-
-    /**
-     * Constructor
-     */
-    public function __construct()
-    {
-        $this->iconFactory = GeneralUtility::makeInstance(IconFactory::class);
-        GeneralUtility::deprecationLog('PageTreeNavigationController is deprecated in favor of new pagetrees');
-        $GLOBALS['SOBE'] = $this;
-        $this->init();
-    }
-
-    /**
-     * Initialization of the class
-     *
-     * @return void
-     */
-    protected function init()
-    {
-        // Setting GPvars:
-        $this->cMR = (bool)GeneralUtility::_GP('cMR');
-        $this->currentSubScript = GeneralUtility::_GP('currentSubScript');
-        $this->setTempDBmount = GeneralUtility::_GP('setTempDBmount');
-        // Create page tree object:
-        $beUser = $this->getBackendUser();
-        $this->pagetree = GeneralUtility::makeInstance(PageTreeView::class);
-        $this->pagetree->ext_IconMode = $beUser->getTSConfigVal('options.pageTree.disableIconLinkToContextmenu');
-        $this->pagetree->ext_showPageId = (bool)$beUser->getTSConfigVal('options.pageTree.showPageIdWithTitle');
-        $this->pagetree->ext_showNavTitle = (bool)$beUser->getTSConfigVal('options.pageTree.showNavTitle');
-        $this->pagetree->ext_separateNotinmenuPages = $beUser->getTSConfigVal('options.pageTree.separateNotinmenuPages');
-        $this->pagetree->ext_alphasortNotinmenuPages = $beUser->getTSConfigVal('options.pageTree.alphasortNotinmenuPages');
-        $this->pagetree->thisScript = 'alt_db_navframe.php';
-        $this->pagetree->addField('alias');
-        $this->pagetree->addField('shortcut');
-        $this->pagetree->addField('shortcut_mode');
-        $this->pagetree->addField('mount_pid');
-        $this->pagetree->addField('mount_pid_ol');
-        $this->pagetree->addField('url');
-        // Temporary DB mounts:
-        $this->initializeTemporaryDBmount();
-    }
-
-    /**
-     * Initialization for the visual parts of the class
-     * Use template rendering only if this is a non-AJAX call
-     *
-     * @return void
-     */
-    public function initPage()
-    {
-        // Setting highlight mode:
-        $doHighlight = !$this->getBackendUser()->getTSConfigVal('options.pageTree.disableTitleHighlight');
-        // Create template object:
-        $this->doc = GeneralUtility::makeInstance(DocumentTemplate::class);
-        $this->doc->setModuleTemplate('EXT:backend/Resources/Private/Templates/alt_db_navframe.html');
-        $this->doc->showFlashMessages = false;
-        // Get HTML-Template
-
-        // Adding javascript for drag & drop activation and highlighting
-        $dragDropCode = 'Tree.registerDragDropHandlers();';
-
-        // If highlighting is active, define the CSS class for the active item depending on the workspace
-        if ($doHighlight) {
-            $hlClass = $this->getBackendUser()->workspace === 0 ? 'active' : 'active active-ws wsver' . $this->getBackendUser()->workspace;
-            $dragDropCode .= '
-                               Tree.highlightClass = "' . $hlClass . '";
-                               Tree.highlightActiveItem("",top.fsMod.navFrameHighlightedID["web"]);';
-        }
-        // Adding javascript code for drag&drop and the pagetree as well as the click menu code
-        $this->doc->getDragDropCode('pages', $dragDropCode);
-        $this->doc->getContextMenuCode();
-        /** @var $pageRenderer PageRenderer */
-        $pageRenderer = GeneralUtility::makeInstance(PageRenderer::class);
-        $pageRenderer->loadExtJS();
-        $this->doc->JScode .= $this->doc->wrapScriptTags(($this->currentSubScript ? 'top.currentSubScript=unescape("' . rawurlencode($this->currentSubScript) . '");' : '') . '
-               // Function, loading the list frame from navigation tree:
-               function jumpTo(id, linkObj, highlightID, bank) { //
-                       var theUrl = top.currentSubScript ;
-                       if (theUrl.indexOf("?") != -1) {
-                               theUrl += "&id=" + id
-                       } else {
-                               theUrl += "?id=" + id
-                       }
-                       top.fsMod.currentBank = bank;
-                       top.TYPO3.Backend.ContentContainer.setUrl(theUrl);
-
-                       ' . ($doHighlight ? 'Tree.highlightActiveItem("web", highlightID + "_" + bank);' : '') . '
-                       if (linkObj) { linkObj.blur(); }
-                       return false;
-               }
-               ' . ($this->cMR ? 'jumpTo(top.fsMod.recentIds[\'web\'],\'\');' : '') . '
-
-               ');
-        $this->doc->bodyTagId = 'typo3-pagetree';
-    }
-
-    /**
-     * Main function, rendering the browsable page tree
-     *
-     * @return void
-     */
-    public function main()
-    {
-        // Produce browse-tree:
-        $tree = $this->pagetree->getBrowsableTree();
-        // Outputting Temporary DB mount notice:
-        if ($this->active_tempMountPoint) {
-            $flashText = '
-                               <a href="' . htmlspecialchars(GeneralUtility::linkThisScript(array('setTempDBmount' => 0))) . '">' . $this->getLanguageService()->sl('LLL:EXT:lang/locallang_core.xlf:labels.temporaryDBmount', true) . '</a>           <br />' . $this->getLanguageService()->sl('LLL:EXT:lang/locallang_core.xlf:labels.path', true) . ': <span title="' . htmlspecialchars($this->active_tempMountPoint['_thePathFull']) . '">' . htmlspecialchars(GeneralUtility::fixed_lgd_cs($this->active_tempMountPoint['_thePath'], -50)) . '</span>
-                       ';
-            $flashMessage = GeneralUtility::makeInstance(FlashMessage::class, $flashText, '', FlashMessage::INFO);
-            $this->content .= $flashMessage->render();
-        }
-        // Outputting page tree:
-        $this->content .= '<div id="PageTreeDiv">' . $tree . '</div>';
-        // Setting up the buttons and markers for docheader
-        $docHeaderButtons = $this->getButtons();
-        $markers = array(
-            'WORKSPACEINFO' => $this->getWorkspaceInfo(),
-            'CONTENT' => $this->content
-        );
-        // Build the <body> for the module
-        $this->content = $this->doc->startPage('TYPO3 Page Tree');
-        $this->content .= $this->doc->moduleBody(array(), $docHeaderButtons, $markers);
-        $this->content .= $this->doc->endPage();
-        $this->content = $this->doc->insertStylesAndJS($this->content);
-    }
-
-    /**
-     * Outputting the accumulated content to screen
-     *
-     * @return void
-     */
-    public function printContent()
-    {
-        echo $this->content;
-    }
-
-    /**
-     * Create the panel of buttons for submitting the form or otherwise perform operations.
-     *
-     * @return array All available buttons as an assoc. array
-     */
-    protected function getButtons()
-    {
-        $buttons = array(
-            'csh' => '',
-            'new_page' => '',
-            'refresh' => ''
-        );
-        // New Page
-        $onclickNewPageWizard = 'top.content.list_frame.location.href=' . GeneralUtility::quoteJSvalue(BackendUtility::getModuleUrl('db_new', ['pagesOnly' => 1, 'id' => ''])) . '+Tree.pageID;';
-        $buttons['new_page'] = '<a href="#" onclick="' . $onclickNewPageWizard . '" title="' . $this->getLanguageService()->sL('LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:newPage', true) . '">'
-            . $this->iconFactory->getIcon('actions-page-new', Icon::SIZE_SMALL)->render()
-            . '</a>';
-        // Refresh
-        $buttons['refresh'] = '<a href="' . htmlspecialchars(GeneralUtility::getIndpEnv('REQUEST_URI')) . '" title="' . $this->getLanguageService()->sL('LLL:EXT:lang/locallang_core.xlf:labels.refresh', true) . '">' . $this->iconFactory->getIcon('actions-refresh', Icon::SIZE_SMALL)->render() . '</a>';
-        // CSH
-        $buttons['csh'] = str_replace('typo3-csh-inline', 'typo3-csh-inline show-right', BackendUtility::cshItem('xMOD_csh_corebe', 'pagetree'));
-        return $buttons;
-    }
-
-    /**
-     * Create the workspace information
-     *
-     * @return string HTML containing workspace info
-     */
-    protected function getWorkspaceInfo()
-    {
-        if (ExtensionManagementUtility::isLoaded('workspaces') && ($this->getBackendUser()->workspace !== 0 || $this->getBackendUser()->getTSConfigVal('options.pageTree.onlineWorkspaceInfo'))) {
-            $wsTitle = htmlspecialchars(WorkspaceService::getWorkspaceTitle($this->getBackendUser()->workspace));
-
-            $workspaceInfo = '<div class="bgColor4 workspace-info"><span title="' . $wsTitle . '" onclick="top.goToModule(\'web_WorkspacesWorkspaces\');" style="cursor:pointer;">'
-                    . $this->iconFactory->getIcon('apps-toolbar-menu-workspace', Icon::SIZE_SMALL)->render() . '</span>'
-                    . $wsTitle . '</div>';
-        } else {
-            $workspaceInfo = '';
-        }
-        return $workspaceInfo;
-    }
-
-    /**********************************
-     *
-     * Temporary DB mounts
-     *
-     **********************************/
-    /**
-     * Getting temporary DB mount
-     *
-     * @return void
-     */
-    public function initializeTemporaryDBmount()
-    {
-        $beUser = $this->getBackendUser();
-        // Set/Cancel Temporary DB Mount:
-        if ((string)$this->setTempDBmount !== '') {
-            $set = MathUtility::forceIntegerInRange($this->setTempDBmount, 0);
-            if ($set > 0 && $beUser->isInWebMount($set)) {
-                // Setting...:
-                $this->settingTemporaryMountPoint($set);
-            } else {
-                // Clear:
-                $this->settingTemporaryMountPoint(0);
-            }
-        }
-        // Getting temporary mount point ID:
-        $temporaryMountPoint = (int)$beUser->getSessionData('pageTree_temporaryMountPoint');
-        // If mount point ID existed and is within users real mount points, then set it temporarily:
-        if ($temporaryMountPoint > 0 && $beUser->isInWebMount($temporaryMountPoint)) {
-            if ($this->active_tempMountPoint = BackendUtility::readPageAccess($temporaryMountPoint, $beUser->getPagePermsClause(1))) {
-                $this->pagetree->MOUNTS = array($temporaryMountPoint);
-            } else {
-                // Clear temporary mount point as we have no access to it any longer
-                $this->settingTemporaryMountPoint(0);
-            }
-        }
-    }
-
-    /**
-     * Setting temporary page id as DB mount
-     *
-     * @param int $pageId The page id to set as DB mount
-     * @return void
-     */
-    public function settingTemporaryMountPoint($pageId)
-    {
-        $this->getBackendUser()->setAndSaveSessionData('pageTree_temporaryMountPoint', (int)$pageId);
-    }
-
-    /**********************************
-     *
-     * AJAX Calls
-     *
-     **********************************/
-    /**
-     * Makes the AJAX call to expand or collapse the pagetree.
-     * Called by an AJAX Route, see AjaxRequestHandler
-     *
-     * @param ServerRequestInterface $request
-     * @param ResponseInterface $response
-     * @return ResponseInterface
-     */
-    public function ajaxExpandCollapse(ServerRequestInterface $request, ResponseInterface $response)
-    {
-        $this->init();
-        $tree = $this->pagetree->getBrowsableTree();
-        if (!$this->pagetree->ajaxStatus) {
-            $response = $response->withStatus(500);
-        } else {
-            $response->getBody()->write(json_encode($tree));
-        }
-
-        return $response;
-    }
-
-    /**
-     * Returns LanguageService
-     *
-     * @return \TYPO3\CMS\Lang\LanguageService
-     */
-    protected function getLanguageService()
-    {
-        return $GLOBALS['LANG'];
-    }
-
-    /**
-     * Returns the current BE user.
-     *
-     * @return \TYPO3\CMS\Core\Authentication\BackendUserAuthentication
-     */
-    protected function getBackendUser()
-    {
-        return $GLOBALS['BE_USER'];
-    }
-}
index 62a21db..5fc63b6 100644 (file)
@@ -226,25 +226,6 @@ class SimpleDataHandlerController
     }
 
     /**
-     * Redirecting the user after the processing has been done.
-     * Might also display error messages directly, if any.
-     *
-     * @return void
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8
-     */
-    public function finish()
-    {
-        GeneralUtility::logDeprecatedFunction();
-        // Prints errors, if...
-        if ($this->prErr) {
-            $this->tce->printLogErrorMessages($this->redirect);
-        }
-        if ($this->redirect) {
-            HttpUtility::redirect($this->redirect);
-        }
-    }
-
-    /**
      * Injects the request object for the current request or subrequest
      * As this controller goes only through the main() method, it just redirects to the given URL afterwards.
      *
index f2df83a..61d7e96 100644 (file)
@@ -248,20 +248,6 @@ class ColorpickerController extends AbstractWizardController
     }
 
     /**
-     * Returns the sourcecode to the browser
-     *
-     * @return void
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8, use mainAction() instead
-     */
-    public function printContent()
-    {
-        GeneralUtility::logDeprecatedFunction();
-        $this->content .= $this->doc->endPage();
-        $this->content = $this->doc->insertStylesAndJS($this->content);
-        echo $this->content;
-    }
-
-    /**
      * Returns a frameset so our JavaScript Reference isn't lost
      * Took some brains to figure this one out ;-)
      * If Peter wouldn't have been I would've gone insane...
index 313d659..1537872 100644 (file)
@@ -151,16 +151,4 @@ class EditController extends AbstractWizardController
         }
     }
 
-    /**
-     * Printing a little JavaScript to close the open window.
-     *
-     * @return void
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8
-     */
-    public function closeWindow()
-    {
-        GeneralUtility::logDeprecatedFunction();
-        echo $this->closeWindow;
-        die;
-    }
 }
index 66677a0..6357978 100644 (file)
@@ -230,18 +230,6 @@ class RteController extends AbstractWizardController
     }
 
     /**
-     * Outputting the accumulated content to screen
-     *
-     * @return void
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8, use mainAction() instead
-     */
-    public function printContent()
-    {
-        GeneralUtility::logDeprecatedFunction();
-        echo $this->content;
-    }
-
-    /**
      * Create the panel of buttons for submitting the form or otherwise perform operations.
      *
      * @return array All available buttons as an assoc. array
index e8ca20c..132b04c 100644 (file)
@@ -175,18 +175,6 @@ class TableController extends AbstractWizardController
     }
 
     /**
-     * Outputting the accumulated content to screen
-     *
-     * @return void
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8, use mainAction() instead
-     */
-    public function printContent()
-    {
-        GeneralUtility::logDeprecatedFunction();
-        echo $this->content;
-    }
-
-    /**
      * Create the panel of buttons for submitting the form or otherwise perform operations.
      */
     protected function getButtons()
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-72419-RemoveDeprecatedCodeFromBackendControllers.rst b/typo3/sysext/core/Documentation/Changelog/master/Breaking-72419-RemoveDeprecatedCodeFromBackendControllers.rst
new file mode 100755 (executable)
index 0000000..be11ef9
--- /dev/null
@@ -0,0 +1,54 @@
+==================================================================
+Breaking: #72419 - Remove deprecated code from backend controllers
+==================================================================
+
+Description
+===========
+
+Remove deprecated code from backend controllers
+
+The following methods have been removed:
+
+``BackendController::getPageRenderer``
+``BackendController::addToolbarItem``
+``ClickMenuController::init``
+``ClickMenuController::main``
+``ClickMenuController::printContent``
+``ElementInformationController::printContent``
+``MoveElementController::printContent``
+``NewContentElementController::getWizardItems``
+``DummyController::printContent``
+``EditDocumentController::printContent``
+``EditDocumentController::editRegularContentFromId``
+``FileSystemNavigationFrameController::printContent``
+``LoginFramesetController::printContent``
+``NewRecordController::printContent``
+``SimpleDataHandlerController::finish``
+``ColorpickerController::printContent``
+``EditController::closeWindow``
+``RteController::printContent``
+``TableController::printContent``
+
+
+The following classes have been removed completely:
+
+``ListFrameLoaderController``
+``PageTreeNavigationController``
+
+
+Impact
+======
+
+Using the one of the methods or classes above will result in a fatal error.
+
+
+Affected Installations
+======================
+
+Instances which use custom calls to the methods or classes above.
+
+
+Migration
+=========
+
+For ``BackendController::addToolbarItem`` Toolbar items are registered in $GLOBALS['TYPO3_CONF_VARS']['BE']['toolbarItems'] now.