[BUGFIX] Fix invalid HTML in ElementBrowser 41/41141/4
authorMarkus Klein <markus.klein@typo3.org>
Mon, 13 Jul 2015 18:55:44 +0000 (20:55 +0200)
committerBenjamin Mack <benni@typo3.org>
Mon, 13 Jul 2015 21:46:29 +0000 (23:46 +0200)
An old implementations expected icons to be img-tags, which
is not the case anymore. The regex for replacing parts of the
tag do not work with the span tags anymore and therefore all
calls to the function are dropped.

This also renders a whole class useless, which is therefore removed
as well.

Resolves: #68086
Releases: master, 6.2
Change-Id: I073e6e2d640ac5f53ae13ec564e6f8903b65e8b8
Reviewed-on: http://review.typo3.org/41141
Reviewed-by: Benjamin Mack <benni@typo3.org>
Tested-by: Benjamin Mack <benni@typo3.org>
Reviewed-by: Benjamin Kott <info@bk2k.info>
Tested-by: Benjamin Kott <info@bk2k.info>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
typo3/sysext/backend/Classes/Tree/View/BrowseTreeView.php
typo3/sysext/backend/Classes/Tree/View/ContentMovingPagePositionMap.php
typo3/sysext/backend/Classes/Tree/View/ElementBrowserPageTreeView.php
typo3/sysext/backend/Classes/Tree/View/FolderTreeView.php
typo3/sysext/backend/Classes/Tree/View/MoveElementPageTreeView.php [deleted file]
typo3/sysext/backend/Classes/Tree/View/NewRecordPageTreeView.php
typo3/sysext/backend/Classes/Tree/View/PageMovingPagePositionMap.php
typo3/sysext/compatibility6/Migrations/Code/ClassAliasMap.php

index 51854a8..12d64fa 100644 (file)
@@ -114,14 +114,13 @@ class BrowseTreeView extends AbstractTreeView {
         * @access private
         */
        public function wrapIcon($icon, $row) {
-               // Add title attribute to input icon tag
-               $theIcon = $this->addTagAttributes($icon, $this->titleAttrib ? $this->titleAttrib . '="' . $this->getTitleAttrib($row) . '"' : '');
                // Wrap icon in click-menu link.
+               $theIcon = '';
                if (!$this->ext_IconMode) {
-                       $theIcon = $GLOBALS['TBE_TEMPLATE']->wrapClickMenuOnIcon($theIcon, $this->treeName, $this->getId($row), 0);
+                       $theIcon = $GLOBALS['TBE_TEMPLATE']->wrapClickMenuOnIcon($icon, $this->treeName, $this->getId($row), 0);
                } elseif ($this->ext_IconMode === 'titlelink') {
                        $aOnClick = 'return jumpTo(' . \TYPO3\CMS\Core\Utility\GeneralUtility::quoteJSvalue($this->getJumpToParam($row)) . ',this,' . \TYPO3\CMS\Core\Utility\GeneralUtility::quoteJSvalue($this->domIdPrefix . $this->getId($row)) . ',' . $this->bank . ');';
-                       $theIcon = '<a href="#" onclick="' . htmlspecialchars($aOnClick) . '">' . $theIcon . '</a>';
+                       $theIcon = '<a href="#" onclick="' . htmlspecialchars($aOnClick) . '">' . $icon . '</a>';
                }
                return $theIcon;
        }
index 146088f..6874625 100644 (file)
@@ -32,7 +32,7 @@ class ContentMovingPagePositionMap extends PagePositionMap {
         *
         * @var string
         */
-       protected $pageTreeClassName = MoveElementPageTreeView::class;
+       protected $pageTreeClassName = PageTreeView::class;
 
        /**
         * Wrapping page title.
index edbbc74..dc3de44 100644 (file)
@@ -154,11 +154,10 @@ class ElementBrowserPageTreeView extends BrowseTreeView {
         * @return string The processed icon input value.
         */
        public function wrapIcon($icon, $row) {
-               $content = $this->addTagAttributes($icon, ' title="id=' . $row['uid'] . '"');
                if ($this->ext_showPageId) {
-                       $content .= '[' . $row['uid'] . ']&nbsp;';
+                       $icon .= '[' . $row['uid'] . ']&nbsp;';
                }
-               return $content;
+               return $icon;
        }
 
 }
index a5d7fba..70cd044 100644 (file)
@@ -151,16 +151,16 @@ class FolderTreeView extends AbstractTreeView {
         */
        public function wrapIcon($icon, \TYPO3\CMS\Core\Resource\Folder $folderObject) {
                // Add title attribute to input icon tag
-               $theFolderIcon = $this->addTagAttributes($icon, $this->titleAttrib ? $this->titleAttrib . '="' . $this->getTitleAttrib($folderObject) . '"' : '');
+               $theFolderIcon = '';
                // Wrap icon in click-menu link.
                if (!$this->ext_IconMode) {
                        // Check storage access to wrap with click menu
                        if (!$folderObject instanceof \TYPO3\CMS\Core\Resource\InaccessibleFolder) {
-                               $theFolderIcon = $GLOBALS['TBE_TEMPLATE']->wrapClickMenuOnIcon($theFolderIcon, $folderObject->getCombinedIdentifier(), '', 0);
+                               $theFolderIcon = $GLOBALS['TBE_TEMPLATE']->wrapClickMenuOnIcon($icon, $folderObject->getCombinedIdentifier(), '', 0);
                        }
                } elseif ($this->ext_IconMode === 'titlelink') {
                        $aOnClick = 'return jumpTo(' . GeneralUtility::quoteJSvalue($this->getJumpToParam($folderObject)) . ',this,' . GeneralUtility::quoteJSvalue($this->domIdPrefix . $this->getId($folderObject)) . ',' . $this->bank . ');';
-                       $theFolderIcon = '<a href="#" onclick="' . htmlspecialchars($aOnClick) . '">' . $theFolderIcon . '</a>';
+                       $theFolderIcon = '<a href="#" onclick="' . htmlspecialchars($aOnClick) . '">' . $icon . '</a>';
                }
                return $theFolderIcon;
        }
diff --git a/typo3/sysext/backend/Classes/Tree/View/MoveElementPageTreeView.php b/typo3/sysext/backend/Classes/Tree/View/MoveElementPageTreeView.php
deleted file mode 100644 (file)
index a7231e2..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-namespace TYPO3\CMS\Backend\Tree\View;
-
-/*
- * 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!
- */
-
-/**
- * Local extension of the page tree class used inside MoveElementController / move_el.php
- *
- */
-class MoveElementPageTreeView extends PageTreeView {
-
-       /**
-        * Inserting uid-information in title-text for an icon
-        *
-        * @param string $icon Icon image
-        * @param array $row Item row
-        * @return string Wrapping icon image.
-        */
-       public function wrapIcon($icon, $row) {
-               return $this->addTagAttributes($icon, ' title="id=' . htmlspecialchars($row['uid']) . '"');
-       }
-
-}
index d1a8e7a..7ed0300 100644 (file)
@@ -21,17 +21,6 @@ namespace TYPO3\CMS\Backend\Tree\View;
 class NewRecordPageTreeView extends PageTreeView {
 
        /**
-        * Inserting uid-information in title-text for an icon
-        *
-        * @param string $icon Icon image
-        * @param array $row Item row
-        * @return string Wrapping icon image.
-        */
-       public function wrapIcon($icon, $row) {
-               return $this->addTagAttributes($icon, ' title="id=' . htmlspecialchars($row['uid']) . '"');
-       }
-
-       /**
         * Determines whether to expand a branch or not.
         * Here the branch is expanded if the current id matches the global id for the listing/new
         *
index df7bed9..bc4d243 100644 (file)
@@ -32,7 +32,7 @@ class PageMovingPagePositionMap extends PagePositionMap {
         *
         * @var string
         */
-       protected $pageTreeClassName = MoveElementPageTreeView::class;
+       protected $pageTreeClassName = PageTreeView::class;
 
        /**
         * Creates the onclick event for the insert-icons.
index 679a142..585ae96 100644 (file)
@@ -1253,7 +1253,6 @@ return array(
        'Tx_Workspaces_Service_Workspaces' => \TYPO3\CMS\Workspaces\Service\WorkspaceService::class,
        'Tx_Workspaces_Service_AutoPublishTask' => \TYPO3\CMS\Workspaces\Task\AutoPublishTask::class,
        'Tx_Workspaces_Service_CleanupPreviewLinkTask' => \TYPO3\CMS\Workspaces\Task\CleanupPreviewLinkTask::class,
-       'moveElementLocalPageTree' => \TYPO3\CMS\Backend\Tree\View\MoveElementPageTreeView::class,
        'ext_posMap_pages' => \TYPO3\CMS\Backend\Tree\View\PageMovingPagePositionMap::class,
        'ext_posMap_tt_content' => \TYPO3\CMS\Backend\Tree\View\ContentMovingPagePositionMap::class,
        'localPageTree' => \TYPO3\CMS\Backend\Tree\View\ElementBrowserPageTreeView::class,