[TASK] Use new way to register list wizard

Resolves: #56434
Releases: 6.2
Change-Id: Ia776874ca247b11a769a1c17ee1e6ec65047ac4c
Reviewed-on: https://review.typo3.org/27941
Reviewed-by: Alexander Schnitzler
Tested-by: Alexander Schnitzler
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[TASK] Add IconUtility::getSpriteIconForResource()

With the introduction of FAL the files and folders are
objects and so there is more info than just a name/extension
to determine the right icon. And with file_metadata
you have the possibility to even add more info to
a file (access rights etc).

This patch adds a new method to the IconUtility API for
generating the sprite icon for a resource. There is also
a hook where other extensions can hook in and change
the icon, options and overlays.

Furthermore, all calls in the core are changed to
IconUtility::getSpriteIconForFile where a
File or Folder object was available.

Resolves: #56211
Documentation: #56412
Releases: 6.2
Change-Id: Ifae61dd65d690fffd90c66568e2647ebd403bce5
Reviewed-on: https://review.typo3.org/27790
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
Reviewed-by: Markus Klein
Reviewed-by: Stefan Froemken
Tested-by: Stefan Froemken
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] Do not log with severity 1320177676

Extbase logged a code smell with a severity of 1320177676
instead of 1 ("notice").

Change-Id: If28c2d66713bdedb3094af22f8f7a00a504d995d
Resolves: #56378
Releases: 4.7, 6.0, 6.1, 6.2
Reviewed-on: https://review.typo3.org/27895
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Oliver Klee
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] Title field disappears after using addToAllTCAtypes()

Change-Id: Ia7db1d1b3613badc84ca3ee44ce68c154004f135
Resolves: #56080
Releases: 6.2
Reviewed-on: https://review.typo3.org/27702
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[TASK] Use new way to register table wizard

Resolves: #56435
Releases: 6.2
Change-Id: I180929980ade8c26a6e086f2f65d2e76cbeb19cd
Reviewed-on: https://review.typo3.org/27942
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[TASK] Remove superflous require_once in t3editor hook

\TYPO3\CMS\T3editor\Hook\FileEditHook::save() requires
init.php which is not necessary at all as the method
itself is only called through ajax.php, which requires
init.php itself anyway.

Resolves: #55676
Releases: 6.2
Change-Id: Iaaf0805b73ebbb97e6689bcaa8064dc350187e66
Reviewed-on: https://review.typo3.org/27848
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Oliver Klee
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[TASK] Use new way to register forms wizard

Resolves: #56438
Releases: 6.2
Change-Id: Ic5a22f6ded5bf3b5d8a6442497444296a6b3bfaa
Reviewed-on: https://review.typo3.org/27947
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[TASK] Use new way to register rte wizard

Resolves: #56437
Releases: 6.2
Change-Id: I0eea59f46c74fe50eb2554898a9f64fa2a26a9b1
Reviewed-on: https://review.typo3.org/27951
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[CLEANUP] Followup to wizard changes

The new wizards scripts lacked a proper description.
Add the description the original files had.

Related: #56431
Releases: 6.2
Change-Id: I482d0a8c11d827c3e14da140d800df6d2caeefdc
Reviewed-on: https://review.typo3.org/27957
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] Undefined variable $multiSelectId in FormEngine

There is a undefined variable $multiSelectId in FormEngine. This
is introduced with #46357

Resolves: #56457
Releases: 6.2
Change-Id: I88fd4f9b36e6421b338011a1cc31c22987019dc9
Reviewed-on: https://review.typo3.org/27959
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[TASK] Use new way to register colorpicker wizard

Resolves: #56436
Releases: 6.2
Change-Id: Ia789abbbdf7ab11a4ab13ea6aa195bc79ba6dc25
Reviewed-on: https://review.typo3.org/27945
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] Fix StorageRepository::findByStorageType

Since optimizing the retrieval of Storages the
findByStorageType() doesn't find any (also right ones)
storage, because of a wrong comparison.
This fixes also the localDriverStorageCache in
ResourceFactory, finding a bestMatchingStorageByLocalPath
in ResourceFactory, getting the right storage for a local
path as fileIdentifier and creation of duplicate entries 
in sys_file with storage 0.

Resolves: #56400
Releases: 6.2
Change-Id: I75ac357dff498f1a209d4c42896bdeddab3641ad
Reviewed-on: https://review.typo3.org/27915
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[!!!][SECURITY] Remove old wizard scripts

Keeping the old wizard script would not solve
the CSRF attack vector as they could still
be referenced in this kind of attack.

Because of that, we remove them now.

This change provides a backwards compatibility
layer in FormsEngine which takes care of rewriting
URLs which have been referenced in TCA.

Also the priority is changed in code. This means
that extension authors can reference both
configurations to stay compatible with older
TYPO3 versions.

It will however break code which link to the
old scripts directly in other places.

Resolves: #56454
Releases: 6.2
Change-Id: I15f5d929f16fdd53a8b87cd32440a3d6ce59b6ed
Reviewed-on: https://review.typo3.org/27956
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[TASK] Update database schema as first and last update wizard

Introduces two new upgrade wizards in the Install tool.

The first wizard - added as first step of the upgrade wizards - adds
tables, fields and keys to comply to the database schema. When this is
necessary no other wizards can be executed until these are created.

The second wizard - added as last step of the upgrade wizards - changes
tables, fields and keys to comply to the database schema. When other
upgrade wizards are available, this one is not available to make sure
they have all necessary fields.

In order to make sure they are added as first and last step they are
added in UpdateWizard instead of ext_localconf.php.

The former "Final step" is now optional and has been renamed to "Hint".
The buttons to start the update wizards from the list have been renamed
from "Next" to "Execute".

Resolves: #53890
Releases: 6.2
Change-Id: I866b558df3325acca3122bbd4e0c2285447fcdf3
Reviewed-on: https://review.typo3.org/27240
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] Mock locked records for DataProviderTest

The DataProviderTest calls BackendUtility::isRecordLocked
statically. We cannot mock that call, but we can
"mock" a locked record so that BackendUtility::isRecordLocked
does not query the database.

Resolves: #56472
Releases: 6.2
Change-Id: I268a7a900a0f2dcbf248f6a4d856354c7b1cdcd6
Reviewed-on: https://review.typo3.org/27975
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[TASK] Make sysexts composer names standards compliant

Resolves: #53753
Releases: 6.2
Change-Id: I3acb81c71796bc84ada29e6cdf6141be07f69ca3
Reviewed-on: https://review.typo3.org/25503
Reviewed-by: Christian Opitz
Reviewed-by: Fabien Udriot
Tested-by: Fabien Udriot
Reviewed-by: Felix Kopp
Tested-by: Felix Kopp
Reviewed-by: Thomas Maroschik
Tested-by: Thomas Maroschik
[TASK] Remove condensed mode leftovers

The condensed mode user setting has been removed
three years ago with #24585

Now also remove the leftover parts.
Keep the language labels to not interfere
with older versions.

Resolves: #56479
Releases: 6.2
Change-Id: I8cb3ebc5aac162357ce1d343eed1031156ccd749
Reviewed-on: https://review.typo3.org/27980
Reviewed-by: Benjamin Mack
Tested-by: Benjamin Mack
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] Always fetch related objects if relation set by child

If the DataMapper shall map a 1:N relation for
a property of a domain object and the element
type of this property is another domain object
and not a storage type, the data mapper must
always fetch the related elements from persistence
and cannot rely on the persistence session lookup.

This is the case because the relation to the parent
is set on the child side and not the other way around.
The column in the parent row is useless in that case
and does not hold the id of the child.

We can also not rely on the persistence session
because we do not know the identifier of the child
until we fetched it.

Resolves: #56442
Releases: 6.2, 6.1
Change-Id: Icc3ebf9b825f6380691c60839621f01ca9875e4e
Reviewed-on: https://review.typo3.org/27949
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
Reviewed-by: Marc Bastian Heinrichs
Tested-by: Marc Bastian Heinrichs
[BUGFIX] Wrong handling of delimiter in revExplode()

The delimiter has to be reversed for the case of limit 2,
as the search is performed on the non-reversed string.
Otherwise the function will yield different results for
limits greater than 2.

Resolves: #56405
Releases: 6.2
Change-Id: I077d38918d98fbe2e5cd153c75b115e0d95734f8
Reviewed-on: https://review.typo3.org/27926
Reviewed-by: Georg Tiefenbrunn
Tested-by: Georg Tiefenbrunn
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] Double escape of title in indexed search

SearchController::compileSingleResultRow() causes double
htmlspecialchars() call on $title.

This patch removes the general htmlspecialchars() call since
$title will be escaped in linkPage() anyway.
The only place which requires escaping has the call added now.

Resolves: #56262
Releases: 6.2, 6.1, 6.0
Change-Id: Ic94fe7fe7d2145fc539adcdf21faf42c33f5b32e
Reviewed-on: https://review.typo3.org/27849
Reviewed-by: Stefan Neufeind
Reviewed-by: Dragan Tomic
Tested-by: Dragan Tomic
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters