[TASK] Remove support for older opcode caches

Removing opcode cache support for APC, eAccelerator, ZendOptimizerPlus,
and XCache < 3.1 as they all won't support PHP 5.5 and aren't
recommended to be used any more.

Resolves: #63516
Releases: master
Change-Id: I11c7c40965beba2503ad8ab88e4bf77373f3668d
Reviewed-on: http://review.typo3.org/34942
Reviewed-by: Susanne Moog <typo3@susannemoog.de>
Tested-by: Susanne Moog <typo3@susannemoog.de>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[FEATURE] Support maximum length in TextElement

Like the InputElement, also the TextElement should support the
"max" option for specifying a maximum length attribute.

Resolves: #24906
Releases: master
Change-Id: I21435150ed61bd0b0b3b1f6e8bcbb1c50fb0f6e2
Reviewed-on: http://review.typo3.org/35506
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Reviewed-by: Alexander Opitz <opitz.alexander@googlemail.com>
Tested-by: Alexander Opitz <opitz.alexander@googlemail.com>
[BUGFIX] Unreadable directories must not crash filemount storages

If a *single* directory in the fileadmin tree can't be read, the whole
select box of the file mounts is empty.

Just hide the entry which is not readable

Resolves: #63915
Releases: master, 6.2
Change-Id: I96d5472bb284c259b986b88a766b0fa1e6dfca07
Reviewed-on: http://review.typo3.org/35496
Reviewed-by: Frans Saris <franssaris@gmail.com>
Reviewed-by: Mathias Schreiber <mathias.schreiber@wmdb.de>
Tested-by: Mathias Schreiber <mathias.schreiber@wmdb.de>
Reviewed-by: Alexander Opitz <opitz.alexander@googlemail.com>
Tested-by: Alexander Opitz <opitz.alexander@googlemail.com>
[CLEANUP] Simplify method structures in IRRE JS

There were some deeply nested if-structures in the IRRE JS code, which
are replaced with guard clauses with early returns in this commit.

Change-Id: I8d16b1860679b96ce20a7f484bcccb5a1d395091
Related: #58475
Releases: master
Reviewed-on: http://review.typo3.org/29836
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
Reviewed-by: Stefan Neufeind <typo3.neufeind@speedpartner.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
[TASK] Extbase-Repository: Use ClassNamingUtility from core

Use core-functionality for conversion of repository-name
to its model-name.

Change-Id: I2a3247dd05ea24f12d1c235d8bf39bebdfbdb9ff
Resolves: #63809
Releases: master
Reviewed-on: http://review.typo3.org/35345
Reviewed-by: Susanne Moog <typo3@susannemoog.de>
Tested-by: Susanne Moog <typo3@susannemoog.de>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[TASK] Improve error output in TS if INCLUDE_TYPOSCRIPT file not found

The TSOB should show if a file which should be included could not be found.

Due the fact that parts of the TypoScript parser are written with static
methods, the only way is to check the TypoScript lines for the string
"### ERROR".

Resolves: #17090
Releases: master, 6.2
Change-Id: I6679413e9ff7ca027e23e9b2d6927fd95f8f4595
Reviewed-on: http://review.typo3.org/30887
Reviewed-by: Susanne Moog <typo3@susannemoog.de>
Tested-by: Susanne Moog <typo3@susannemoog.de>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[TASK] RTE: Migrate the editor toolbar to plain JavaScript

The toolbar container is plain JavaScript but the buttons, combos and
other widgets are still ExtJS objects.

Releases: master
Resolves: #63794
Change-Id: Ib88431a1c1463f75fc05ec12c5a30d274dc2212a
Reviewed-on: http://review.typo3.org/35487
Reviewed-by: Stanislas Rolland <typo3@sjbr.ca>
Tested-by: Stanislas Rolland <typo3@sjbr.ca>
[BUGFIX] Better caching of TCA for bulk inserts

Introduces a runtime cache for the TCA types configuration. This
improves performance for bulk inserts since getTCAtypes is called for
each record of each table and the available types during a call do not
change.

Resolves: #63666
Releases: master, 6.2
Change-Id: Ia58352f1bae1e1eb57b87e5db0f1ad84e34ae37e
Reviewed-on: http://review.typo3.org/35185
Reviewed-by: Alexander Opitz <opitz.alexander@googlemail.com>
Tested-by: Alexander Opitz <opitz.alexander@googlemail.com>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
[BUGFIX] RTE: Incorrect rendering of toolbar labels

This is a follow-up to https://review.typo3.org/#/c/35487/

Releases: master
Resolves: #63794
Change-Id: Id860722c2b4f5b0d4c9f2782e2f24ff0c3f86572
Reviewed-on: http://review.typo3.org/35524
Reviewed-by: Stanislas Rolland <typo3@sjbr.ca>
Tested-by: Stanislas Rolland <typo3@sjbr.ca>
[BUGFIX] Cache backend usernames and workspace titles

Add a runtime cache for improved performance of user and
workspace titles in ext:belog. Those view helpers are
called twice per displayed row and should have a shortcut
if the name resolution was done already.

Resolves: #55653
Releases: master, 6.2
Change-Id: I62465faaebc13ba0dfe781350fa6c87cc87f54a6
Reviewed-on: http://review.typo3.org/28673
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Stephan Großberndt <stephan@grossberndt.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
[TASK] RTE: Migrate toolbar text item to plain JavaScript

Releases: master
Resolves: #63941
Change-Id: I84e1c3ffd6448d1e69e46d1aac22d88f95a29d82
Reviewed-on: http://review.typo3.org/35526
Reviewed-by: Stanislas Rolland <typo3@sjbr.ca>
Tested-by: Stanislas Rolland <typo3@sjbr.ca>
[TASK] Add unit tests for mergeRecursiveWithOverrule

Resolves: #63817
Releases: master
Change-Id: I27d86eae5a59f0b6f5509dd247ac44415643d1b6
Reviewed-on: http://review.typo3.org/35365
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Stephan Großberndt <stephan@grossberndt.de>
Tested-by: Stephan Großberndt <stephan@grossberndt.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
[BUGFIX] Fix failing PHPUnit-Tests on Windows due to uniqid()-calls

If in one test multiple objects are created and their names are created
with uniqid()-calls without params, they fail because they return the
same value.

Using md5(uniqid(microtime(), true)) instead makes object names unique.

Resolves: #63943
Releases: master, 6.2
Change-Id: Ib223d45f04946223c4a8ae9ce68a5c5b24459355
Reviewed-on: http://review.typo3.org/35528
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
[CLEANUP] Add missing empty lines before classes' closing curly braces

Most of TYPO3's PHP files have an empty line before a class' closing curly
brace. This commit adds this empty line (if it is missing) before a class'
closing curly brace.

This is not part of the TYPO3 CMS CGL but increases consistency in this
area.

This regular expression was used to add the empty lines:

Search:
(}\n)(})

Replace:
$1\n$2

Resolves: #63942
Release: master
Change-Id: Icd6547322ac8b7310956d347fd73c90bde2bbfa7
Reviewed-on: http://review.typo3.org/35527
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>