From d3f313f8a8b484737a492f1726d0f813bfb6b862 Mon Sep 17 00:00:00 2001 From: Tymoteusz Motylewski <t.motylewski@gmail.com> Date: Wed, 12 Feb 2014 12:27:30 +0100 Subject: [PATCH] [TASK] Rename classes with the same name We have 3 implementations of the \localPageTree class in the global namespace: - db_new.php - move_el.php - class.browse_links.php This patch renames classes from db_new and move_el files. It should not break non core scripts, as both db_new.php and move_el.php are entry points, so classes defined there should only be used in the entry point scope. The class 'localPageTree' from the class.browse_links.php will keep its name, so it can be added to autoload now. Resolves: #55876 Releases: 6.2 Change-Id: I2e084349b93af212aec85b368e7e3468a76c7a82 Reviewed-on: https://review.typo3.org/27572 Reviewed-by: Markus Klein Reviewed-by: Alexander Opitz Tested-by: Alexander Opitz Reviewed-by: Stefan Neufeind Tested-by: Stefan Neufeind --- typo3/db_new.php | 2 +- typo3/move_el.php | 16 ++++++++++++- .../Controller/NewRecordController.php | 2 +- .../Classes/Tree/View/PagePositionMap.php | 24 +++++++++++++++---- typo3/sysext/core/ext_autoload.php | 3 +++ 5 files changed, 40 insertions(+), 7 deletions(-) diff --git a/typo3/db_new.php b/typo3/db_new.php index 2c362695f0a9..d0c84882f762 100644 --- a/typo3/db_new.php +++ b/typo3/db_new.php @@ -40,7 +40,7 @@ require __DIR__ . '/init.php'; * * @author Kasper Skårhøj <kasperYYYY@typo3.com> */ -class localPageTree extends \TYPO3\CMS\Backend\Tree\View\PageTreeView { +class newRecordLocalPageTree extends \TYPO3\CMS\Backend\Tree\View\PageTreeView { /** * Inserting uid-information in title-text for an icon diff --git a/typo3/move_el.php b/typo3/move_el.php index c8e3fdf7fb86..f0a61f37656d 100644 --- a/typo3/move_el.php +++ b/typo3/move_el.php @@ -38,7 +38,7 @@ require __DIR__ . '/init.php'; * * @author Kasper Skårhøj <kasperYYYY@typo3.com> */ -class localPageTree extends \TYPO3\CMS\Backend\Tree\View\PageTreeView { +class moveElementLocalPageTree extends \TYPO3\CMS\Backend\Tree\View\PageTreeView { /** * Inserting uid-information in title-text for an icon @@ -66,6 +66,13 @@ class ext_posMap_pages extends \TYPO3\CMS\Backend\Tree\View\PagePositionMap { */ public $l_insertNewPageHere = 'movePageToHere'; + /** + * Page tree implementation class name + * + * @var string + */ + protected $pageTreeClassName = 'moveElementLocalPageTree'; + /** * Creates the onclick event for the insert-icons. * @@ -118,6 +125,13 @@ class ext_posMap_tt_content extends \TYPO3\CMS\Backend\Tree\View\PagePositionMap */ public $dontPrintPageInsertIcons = 1; + /** + * Page tree implementation class name + * + * @var string + */ + protected $pageTreeClassName = 'moveElementLocalPageTree'; + /** * Wrapping page title. * diff --git a/typo3/sysext/backend/Classes/Controller/NewRecordController.php b/typo3/sysext/backend/Classes/Controller/NewRecordController.php index e943b49be98b..fd314045eae7 100644 --- a/typo3/sysext/backend/Classes/Controller/NewRecordController.php +++ b/typo3/sysext/backend/Classes/Controller/NewRecordController.php @@ -330,7 +330,7 @@ class NewRecordController { $this->code .= ' <h3>' . htmlspecialchars($GLOBALS['LANG']->getLL('selectPosition')) . ':</h3> '; - $positionMap = GeneralUtility::makeInstance('TYPO3\\CMS\\Backend\\Tree\\View\\PagePositionMap'); + $positionMap = GeneralUtility::makeInstance('TYPO3\\CMS\\Backend\\Tree\\View\\PagePositionMap', 'newRecordLocalPageTree'); /** @var $positionMap \TYPO3\CMS\Backend\Tree\View\PagePositionMap */ $this->code .= $positionMap->positionTree($this->id, $this->pageinfo, $this->perms_clause, $this->R_URI); } else { diff --git a/typo3/sysext/backend/Classes/Tree/View/PagePositionMap.php b/typo3/sysext/backend/Classes/Tree/View/PagePositionMap.php index 5693397426a3..43f37733075e 100644 --- a/typo3/sysext/backend/Classes/Tree/View/PagePositionMap.php +++ b/typo3/sysext/backend/Classes/Tree/View/PagePositionMap.php @@ -114,6 +114,24 @@ class PagePositionMap { */ public $modConfigStr = 'mod.web_list.newPageWiz'; + /** + * Page tree implementation class name + * + * @var string + */ + protected $pageTreeClassName = 'localPageTree'; + + /** + * Constructor allowing to set pageTreeImplementation + * + * @param string $pageTreeClassName + */ + public function __construct($pageTreeClassName = NULL) { + if ($pageTreeClassName !== NULL) { + $this->pageTreeClassName = $pageTreeClassName; + } + } + /************************************* * * Page position map: @@ -121,8 +139,6 @@ class PagePositionMap { **************************************/ /** * Creates a "position tree" based on the page tree. - * Notice: A class, "localPageTree" must exist and probably it is an extension class of the - * \TYPO3\CMS\Backend\Tree\View\PageTreeView class. See "db_new.php" in the core for an example. * * @param integer $id Current page id * @param array $pageinfo Current page record. @@ -134,8 +150,8 @@ class PagePositionMap { public function positionTree($id, $pageinfo, $perms_clause, $R_URI) { $code = ''; // Make page tree object: - /** @var $t3lib_pageTree localPageTree */ - $t3lib_pageTree = GeneralUtility::makeInstance('localPageTree'); + /** @var \TYPO3\CMS\Backend\Tree\View\PageTreeView localPageTree */ + $t3lib_pageTree = GeneralUtility::makeInstance($this->pageTreeClassName); $t3lib_pageTree->init(' AND ' . $perms_clause); $t3lib_pageTree->addField('pid'); // Initialize variables: diff --git a/typo3/sysext/core/ext_autoload.php b/typo3/sysext/core/ext_autoload.php index dc223a55badc..cf4b34e05934 100644 --- a/typo3/sysext/core/ext_autoload.php +++ b/typo3/sysext/core/ext_autoload.php @@ -4,11 +4,14 @@ $typo3Classes = array( 'ext_posmap_pages' => PATH_typo3 . 'move_el.php', 'ext_posmap_tt_content' => PATH_typo3 . 'move_el.php', + 'moveelementlocalpagetree' => PATH_typo3 . 'move_el.php', + 'newrecordlocalpagetree' => PATH_typo3 . 'db_new.php', 'localfoldertree' => PATH_typo3 . 'class.browse_links.php', 'rtefoldertree' => PATH_typo3 . 'class.browse_links.php', 'rtepagetree' => PATH_typo3 . 'class.browse_links.php', 'tbe_foldertree' => PATH_typo3 . 'class.browse_links.php', 'tbe_pagetree' => PATH_typo3 . 'class.browse_links.php', + 'localpagetree' => PATH_typo3 . 'class.browse_links.php', 'transferdata' => PATH_typo3 . 'show_item.php', 'Psr\\Log\\LoggerInterface' => PATH_typo3 . 'contrib/Psr/Log/LoggerInterface.php', 'Psr\\Log\\InvalidArgumentException' => PATH_typo3 . 'contrib/Psr/Log/InvalidArgumentException.php', -- GitLab