[BUGFIX] Suppress double page entry in temporary mounted pagetree

This patch suppresses that some pages will be shown as subpages of
themselves while defining a temporary mountpoint in the pagetree and then
searching in the mounted tree.

Fixes: #47123
Releases: 6.1, 6.0, 4.7
Change-Id: I2d6f895b6b6fd110e9a4fbc163295e8c992fdb61
Reviewed-on: https://review.typo3.org/19799
Reviewed-by: Jigal van Hemert
Tested-by: Jigal van Hemert
[BUGFIX] Fix attaching objects to a existing objectstorage

This is a follow up to "Optimize persisting a dirty objectStorage"
https://review.typo3.org/#/c/3390/
A new relation should be attached if the cleanstate relation position
is NULL instead of updating a non existing one.

Also creating new object with children attached is fixed now.

Releases: 6.1
Fixes: #47195
Fixes: #47197
Relates: #28091
Change-Id: I2a4a7602aeb8d9f4163fed36640ec830fe9ab300
Reviewed-on: https://review.typo3.org/19940
Reviewed-by: Wouter Wolters
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
[BUGFIX] ProcessedFile/Thumbnail is always regenerated

A ProcessedFile/Thumbnail is always regenerated even if there
are not modifications to the original file.

The reasons for this spread all over the ProcessedFile handling
and boils down to a new ProcessedFile is being persisted in the
file-system by using a regular ResourceStorage::addFile() call
that results in a plain File object. The indexer then tries to
load this file and will create a new UID for the thumbnail in
sys_file. This uid value is then used to update(!) the
sys_file_processedfile entry - which fails since the uid
was taken from sys_file.

The bug was introduced in
I53e4eb42def291ba88ce18209a348b1e2f592185 were the
processedFile is updated with information of a File object and
the wrong uid is transfered as property.

Fixes: #47140
Releases: 6.1, 6.0
Change-Id: I4252b237d6022485c51ad32a7f956f5afcda8c08
Reviewed-on: https://review.typo3.org/19810
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[BUGFIX] Don't use folders as templates, partials and layouts

The file_exists checks in TemplateView and StandaloneView are true for
folders. This leads to unrendered partials with resorted paths.
Use is_file.

Releases: 6.1, 6.0, 4.7, 1.3
Fixes: #47186
Fluid Package Issue: #47188

Change-Id: Ib64e180e01d66777bb5b0683cce26d88ec2a9fd6
Reviewed-on: https://review.typo3.org/19920
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] Validation with invalid validator caused unrelated errors

This change checks the resolved validator class name for presence
of the correct interface before accepting it as a validator.

Fixes: #11374
Releases: 6.0, 6.1

Change-Id: I3956ba85b01e6256ffdce9fe50be98216412b15c
Reviewed-on: https://review.typo3.org/7149
Reviewed-by: Andreas Wolf
Tested-by: Andreas Wolf
[BUGFIX] Remove ObjectMapper part from TS-Template

since porting ObjectMapper Configuration to ext_localconf.php
it is time to remove the same configuration from
ext_typoscript.setup.txt.

Resolves: #47212
Releases: 6.1, 6.0
Change-Id: I4f22f7ad3a82e96543e5476d88009a2d5a376bdd
Reviewed-on: https://review.typo3.org/19967
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
Reviewed-by: Benjamin Bretz
Tested-by: Benjamin Bretz
Reviewed-by: Markus Günther
Tested-by: Markus Günther
Reviewed-by: Andreas Wolf
Tested-by: Andreas Wolf
[BUGFIX] Persist an empty unmodified objectstorage

If the propertymapper builds an empty objectstorage for a property or
a property is set to a new objectstorage and the objectstorage property
has childobjects before, this objectstore needs to be persisted.

Change-Id: Ibcbd7cd6e1677e5321f0891e58f60bb5a49d529d
Releases: 6.1, 6.0, 4.7
Fixes: #13621
Fixes: #44110
Fixes: #42732
Reviewed-on: https://review.typo3.org/19964
Reviewed-by: Wouter Wolters
Reviewed-by: Georg Ringer
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
Tested-by: Wouter Wolters
Reviewed-by: Marc Bastian Heinrichs
Tested-by: Marc Bastian Heinrichs
[TASK] Remove radio buttons from "new content elements" overview

Remove radio buttons from "new content elements" as icons
serves the same purpose
Change-Id: Ibea517d19389ad2645d630b4416e7f45207faec7
Fixes: #38623
Releases: 6.1
Reviewed-on: https://review.typo3.org/12566
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
[BUGFIX] Fix call to strpos to find port number

With the introduction of lazy database loading we introduced
a bug for database host strings with a port number. This patch
fixes the call to strpos() by switching the arguments.

Fixes: #47221
Releases: 6.1
Related: #46880
Change-Id: I1da875b7be531929f96f3496e6a1357638a80305
Reviewed-on: https://review.typo3.org/19978
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Felix Kopp
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX] Extbase must not use legacy flash message handling

Since the core introduced a new flash message handling the
handling in Extbase has to be adjusted as well.

Also introduces a compat layer.

Releases: 6.1
Resolves: #47196
Change-Id: I4dbee79e9181c5ecbece4549039114f58ea6f33a
Reviewed-on: https://review.typo3.org/19944
Reviewed-by: Alexander Schnitzler
Tested-by: Alexander Schnitzler
[BUGFIX] Fluid must not use legacy flash message handling

Since the core introduced a new flash message handling the
handling in Fluid has to be adjusted as well.

Releases: 6.1
Resolves: #47214
Change-Id: I490f77687befa1a62db0718f828fce1e68ebdfff
Reviewed-on: https://review.typo3.org/19972
Reviewed-by: Marc Bastian Heinrichs
Tested-by: Marc Bastian Heinrichs
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Alexander Schnitzler
Tested-by: Alexander Schnitzler
[!!!][BUGFIX] Introduce explicit saving of modified domain objects

In conjunction with the new property mapper the persistence layer
saves modified domain objects that failed validation and/or mapping.

This bugfix aligns the behavior of the persistence layer with Flow
and introduces explicit saving of modified domain objects.

Modified objects now need to be passed through their repository
update method in order to be scheduled for saving by the persistence
managers persistAll method.

Fixes: #47251
Releases: 6.1
Change-Id: I2130f96d925d74942af70f92e38d2d0b2ea46f79
Reviewed-on: https://review.typo3.org/19992
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
Reviewed-by: Stefan Froemken
Tested-by: Stefan Froemken
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
[BUGFIX] Suggest wizard: Display record icon

Especially for pages the icon is not shown in the list of suggested
records. This patch switches the icons from background images to sprite
icons.

Change-Id: I5bf19c43b2979608270638895022517384f97bea
Fixes: #40731
Releases: 6.1, 6.0, 4.7, 4.5
Reviewed-on: https://review.typo3.org/20040
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
Reviewed-by: Jigal van Hemert
Tested-by: Jigal van Hemert
[TASK] Deprecate/rewrite old mail functions

Old mail functions must be either deprecated or rewritten to use the new
mail API that was introduced in 4.5. In Version the notifications for
workspace changes can use the new mail API too.

Change-Id: I42f73e278e06546ea87b506be296306f6541a936
Fixes: #47037
Related: #42321
Releases: 6.1
Reviewed-on: https://review.typo3.org/19739
Reviewed-by: Markus Klein
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Resolve typo in ClassNamingUtility description

Changes 'convertions' to 'conversions'

Resolves: #47393
Releases: 6.1
Change-Id: I98e4826527e25fdbf9da0855c05fcaa7d67698c2
Reviewed-on: https://review.typo3.org/20054
Reviewed-by: Oliver Klee
Reviewed-by: Alexander Opitz
Tested-by: Alexander Opitz
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX] excludeUidList not checked for ifsub state

For menu item states IFSUB(RO), ACTIFSUB(RO) and CURIFSUB(RO) the
excludeUidList was not checked. If all submenu items are excluded the
menu item doesn't get the "ifsub" state anymore.

Change-Id: Ia113bb187b778718a501e0f2f6c0956c99cb1d8a
Fixes: #45254
Releases: 6.1, 6.0, 4.7, 4.5
Reviewed-on: https://review.typo3.org/18214
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Georg Ringer
Reviewed-by: Stefan Neufeind
Reviewed-by: Jigal van Hemert
Tested-by: Jigal van Hemert
[BUGFIX] RTE: Tab key in Chrome inserts weird SPAN tags

Problem: The problem arises when indent/outdent buttons are not
configured in toolbar. Default WebKit action inserts span tag with
special class.

Solution: Stop the event and avoid the default action: do nothing.

Fixes: #47274
Releases: 4.5, 4.7, 6.0, 6.1
Change-Id: I2d86d8ace31459dd85f122d56ec5102e6ead1112
Reviewed-on: https://review.typo3.org/20057
Reviewed-by: Stanislas Rolland
Tested-by: Stanislas Rolland
[TASK] Cleanup docblocks for MySQLi-results

Resolves: #47341
Releases: 6.1
Change-Id: I0d6ba8903b98c1eb5ec19978e03ed78f1ef15638
Reviewed-on: https://review.typo3.org/20020
Reviewed-by: Jigal van Hemert
Tested-by: Jigal van Hemert
Reviewed-by: Dmitry Dulepov
Tested-by: Dmitry Dulepov
[BUGFIX] Select label element from suggest-list

If a sprite is the first child in chosen item from
suggest-list no label is generated.

Therefore select the element depending on the class.
Besides that, e.g. Flexform elements use "invalid" CSS
IDs that contain "[" and "]" characters - using plain
CSS selectors on that does not work and needs to be
escaped first.

Fixes: #47409
Releases: 4.5, 4.7, 6.0, 6.1
Change-Id: I40fad4b6596923cc87889726794f115eb7b58eb5
Reviewed-on: https://review.typo3.org/20045
Reviewed-by: Stefan Neufeind
Reviewed-by: Jigal van Hemert
Tested-by: Jigal van Hemert
Tested-by: Nicole Cordes
Reviewed-by: Nicole Cordes
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader