[BUGFIX] FlashMessageQueue PHP strict warning

FlashMessageQueue exends \SplQueue and overwrites enqueue($value).
In \SplQueue enqueue() has no type hint on $value, but
FlashMessageQueue adds a type hint to FlashMessage. This raises
a PHP strict warning.

Solution is to remove the type hint and add an exception instead
if given argument is not an instance of FlashMessage.

Change-Id: I882aab33a55d84de6614a45c6cc045223adba0cd
Resolves: #51159
Releases: 6.2, 6.1
Reviewed-on: https://review.typo3.org/23197
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] Files with unclean path indexed multiple times

When adding a file or requesting a file by an identifier
cleanup any . and .. in the path before handing off
to the driver so files are not indexed multiple times.

Fixes: #46989
Releases: 6.2, 6.1, 6.0
Change-Id: I4198a8885a6a148e68e1e0f717775f9af976a9ef
Reviewed-on: https://review.typo3.org/23199
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] No version overlay should be done for sys_language

The tables sys_language and static_languages do not support
versioning. Therefore, when doing a version preview, no
version overlay should be applied to them.

Change-Id: I37be782601fc37e78a74d2459b6f246c5107b701
Fixes: #37892
Releases: 6.2, 6.1, 6.0
Reviewed-on: https://review.typo3.org/23203
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] Check for incompatible SQL modes

If the SQL mode "STRICT_ALL_TABLES" is enabled you
will not be able to save most records. (Enable it in
your my.cnf and try to save a tt_content record)

This patch adds a check in the install tool for the
incompatible SQL modes "STRICT_ALL_TABLES" and
"NO_BACKSLASH_ESCAPES".

The automatic fix for "NO_BACKSLASH_ESCAPES" has been
removed because we don't want to change the mysql
environment automatically.

Resolves: #20052
Resolves: #18866
Resolves: #18821
Releases: 6.2, 6.1, 6.0
Change-Id: Ifd2d7901935f06534a273374bf48266916e23698
Reviewed-on: https://review.typo3.org/23237
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Missing "Interface" in Backend-Annotation

ObjectMapper does not work for Backend-Mappings
because of missing "Interface" in Backend-Annotation

Resolves: #51249
Releases: 6.2, 6.1
Change-Id: I45a6f1c57ddcf71282853c44e261bfa877854b85
Reviewed-on: https://review.typo3.org/23240
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
Revert "[BUGFIX] Check for incompatible SQL modes"

The sysenv-check is not the proper place for a check that needs a working db-connection. But we'll find a different place for this check shortly and then reintroduce it.

This reverts commit e727d5ff0b8ee93de38983555164b19f6bf87377

Change-Id: I117f38df6796bf04c285d6d5345a0829f32fbfc3
Reviewed-on: https://review.typo3.org/23242
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Ignore permission checks for processed files

It must be possible that processed files are generated
even if the user has read only permissions on a storage.

Additionally add a method to Storage, to specifically
update a processed file with a local file.

Resolves: #51209
Releases: 6.0, 6.1, 6.2
Change-Id: I847b02f070c55647e06695c1c70b0b7e8e238177
Reviewed-on: https://review.typo3.org/23214
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] Page tree filtering broken in IE7 & IE8

The page tree doesn't show the result when using the filter
in the page tree in IE7 & IE8. ExtJS somehow breaks silently
when trying to use a non-tag (text) as a drag handle. This fix
works with the original change that introduced this, meaning it
doesn't break the functionality of dragging of locked records.

Change-Id: I3f33fb3e4f6bd7622f502a9265897fee9d3e4ed3
Resolves: #25327
Resolves: #37026
Related: #M17952
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Reviewed-on: https://review.typo3.org/23337
Reviewed-by: Nicole Cordes
Tested-by: Nicole Cordes
[BUGFIX] Escape title tag of image links

This patch adds a missing call to htmlspecialchars() when
the title tag of image links is initialized.

Resolves: #50760
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Change-Id: If41f33d9621f7790c0ff0de4aebcd7cdcb59707f
Reviewed-on: https://review.typo3.org/23344
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Tests in Localization\Parser\LocallangXmlParserTest fail

If the system is already translated into French two tests in
Localization\Parser\LocallangXmlParserTest fail. This is because another
localization file is taken where test strings are not included.

As the tested functions can't work system independent, the test has to
make sure no system dependencies are used. Therefore the patch
introduces a new language "md5" to prove the workflow.

Resolves: #50870
Releases: 6.2, 6.1, 6.0
Change-Id: I64e8864a7d746c4f5c278f5e67d8dae068d8f920
Reviewed-on: https://review.typo3.org/23350
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Hide translations in categories selector

The \TYPO3\CMS\Core\Category\CategoryRegistry::addTcaColumn() method
provides an API for adding a system categories selector to a given
table. However the generated TCA misses a condition in
"foreign_table_where" to hide translated categories.

Resolves: #51304
Releases: 6.0, 6.1, 6.2
Change-Id: I2622371a89c8eabeb29e835c7f6673ffc6349186
Reviewed-on: https://review.typo3.org/23280
Reviewed-by: Philipp Gampe
Reviewed-by: Francois Suter
Tested-by: Francois Suter
Reviewed-on: https://review.typo3.org/23358
[TASK] Make the extension titles link to the configuration

In the extension manager make the extension titles link to the
configuration again. This will provide an additional clickable area and
it allows the integrators to continue using the known behavior.

Resolves: #50234
Releases: 6.2, 6.1, 6.0
Change-Id: I120e8fb47628fe118291cbdd57951a0238ebcd71
Reviewed-on: https://review.typo3.org/23376
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] utf8/multibyte character breaks menu filelist

Resolves: #51190
Releases: 6.2, 6.1
Change-Id: I105e23b12659495b4058edbc8091eee4374d58b9
Reviewed-on: https://review.typo3.org/23378
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] Exclude empty passwords from password hashing check

The test for insecure passwords handles empty passwords as insecure and
recommends to use the saltedpasswords scheduler task to convert all
insecure passwords. But the scheduler task doesn't convert empty
passwords, so a never ending story exists. Therefore this patch exludes
empty passwords being handled as insecure.

Resolves: #36244
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Change-Id: I6bdd5c8807a07841850c1e4c22afe57eec28b335
Reviewed-on: https://review.typo3.org/23432
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Add missing API method FileInterface::getNameWithoutExtension

This method was supposed to be in the interface, but due to a syntax
error in the closing comment tag, it was not (and was not detected as a
PHP syntax error).

This finally adds this method and implements it also in the class
FileReference which hadn't had this method before but also implements
this interface.

Resolves: #51509
Releases: 6.2, 6.1, 6.0
Change-Id: I8ee1ecc155e9cfaeec7ac0ac7086f75df13f4c34
Reviewed-on: https://review.typo3.org/23454
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
[BUGFIX] Cast autoload and classAliasMap to Array

If you create an empty ext_autoload.php or an empty classAliasMap.php
file or fail to return an array, NULL is merged with the existing
array which results in NULL for the array $classRegistry or
$aliasToClassNameMapping
This patch casts the required Array(which is possibly NULL) to an
Array to prevent array_merge with NULL values.

Fixes: #51474
Releases: 6.2, 6.1, 6.0
Change-Id: I1887da3a942b17e441338a95cb7da49a17535907
Reviewed-on: https://review.typo3.org/23441
Reviewed-by: Kai Ole Hartwig
Tested-by: Kai Ole Hartwig
Reviewed-by: Christoph Dörfel
Tested-by: Christoph Dörfel
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
(cherry picked from commit 8cc7f45526bc8828dada995bc91804038d326eea)
Reviewed-on: https://review.typo3.org/23456
[BUGFIX] Database integrity check fatal error

If a file or directory below uploads/ is not readable by the
executing user, the integrity check system in db check module
menu may fatal. This is sanatized by the patch.

Resolves: #51460
Releases: 6.2, 6.1, 6.0
Change-Id: Ide3401c014aa7bec33585083f81f30c00100da09
Reviewed-on: https://review.typo3.org/23424
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
(cherry picked from commit 81d22419488af753e394d82fc1338feff0c5795c)
Reviewed-on: https://review.typo3.org/23467
[BUGFIX] TCA 'group' selectedListStyle with 'width' breaking layout

The problem came from a row of icons which was always rendered below
the select list with a hardcoded width of "250px", regardless if there
was content or not. Solution is not to render this icon row if there are
no icons, thus allowing the select list to be reduced in width.

Releases: 6.2, 6.1, 6.0
Resolves: #50707
Change-Id: I23520c1c547de1155091e38c69013a18fed9e559
Reviewed-on: https://review.typo3.org/23391
Reviewed-by: Kai Ole Hartwig
Tested-by: Kai Ole Hartwig
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
(cherry picked from commit 447814734d640b6811e71085d5939727dd5766de)
Reviewed-on: https://review.typo3.org/23474
[BUGFIX] Sprite manager cache improvement

The sprite manager cache entry is created and then required
directly again. This may lead to runtime issues if the file
is required already before it is fully written.
The patch optimizes that by setting the runtime information
directly from the given data.

Change-Id: I3f6250d8513dad32e266538a075abc8e3daeb68c
Resolves: #51544
Releases: 6.2, 6.1, 6.0
Reviewed-on: https://review.typo3.org/23479
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] Only log file/directory actions which were done

Some file/directory actions were logged as they were
successfully performed, even when they failed.

Resolves: #51328
Releases: 6.2, 6.1, 6.0

Change-Id: Iab03e668d3f7d0e8feec09851ea50a59ab4b71a0
Reviewed-on: https://review.typo3.org/23389
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters