[TASK] Replace calls to ExtensionManagementUtility with PackageManager

The ExtensionManagementUtility is used by the Extensionsmanagers
InstallUtility and just forwards all calls the InstallUtility does to the
PackageManager.

The superfluous calls to the ExtensionManagementUtility are replaced
by calls to the PackageManager.

Resolves: #53013
Releases: 6.2
Change-Id: I0dbcbafa89d3a3c7cb6f6c65bdb16320cb737108
Reviewed-on: https://review.typo3.org/24941
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] File PackageStates.php isn't created at all

With the patch I71bba56361a4cc85fb253199acbfee5829defa29 the access to
the PackageStates.php file is checked. If the file doesn't exists yet
the error is thrown as well. This patch adds a test if the file can be
created so the update process can be executed again.

Resolves: #53410
Releases: 6.2
Change-Id: I1e79c7f0ab0f0c69a20086c8b8e5be2c37bdb5f3
Reviewed-on: https://review.typo3.org/25194
Reviewed-by: Wouter Wolters
Reviewed-by: Alexander Schnitzler
Tested-by: Alexander Schnitzler
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] The Install Tool welcome text is outdated

Updates the welcome text of the Install Tool with
information about the new modules.

Resolves: #53081
Releases: 6.2
Change-Id: I30b486a7503ca3c62675c33725c3483190b919ea
Reviewed-on: https://review.typo3.org/25125
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
Reviewed-by: Tomita Militaru
Tested-by: Tomita Militaru
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[TASK] Extensionmanager: Update jQuery-usage

* Use central jQuery 1.9.x
* Update jQuery UI
* Dropped jQuery Tools
* Added Validator
  (previously used from jQuery Tools)
* Made tabs work again

Change-Id: Iabe4fa307beda89cf5e54575179b286fe675ff90
Resolves: #42197
Releases: 6.2
Reviewed-on: https://review.typo3.org/15828
Tested-by: Wouter Wolters
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
Reviewed-by: Sebastian Fischer
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Escape title, extension, description of scheduler tasks

Properly escapes the title, description and extension of
displayed scheduler tasks

Resolves: #29179
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Change-Id: Ie03383f694863e435bfb96341226f8c78be426e5
Reviewed-on: https://review.typo3.org/25132
Reviewed-by: Steffen Müller
Tested-by: Steffen Müller
Reviewed-by: Tomita Militaru
Tested-by: Tomita Militaru
Reviewed-by: Oliver Klee
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Use getPagesTSconfig($tscPID) only once per ID

PageLayoutView::isRTEforField is called on every record that is
displayed in a Web>Page. And this will call
BackendUtility::getPagesTSconfig($tscPID)
every time once and again,
and thus parsing the PageTS over and over on the same hit.
If you have 50 content elements on a page,
this can get very expensive.

Solution: Create a variable that stores the RTEsetup for
 a particular ID

Resolves: #53368
Releases: 6.2

Change-Id: I7efcefb0c12c856e9417ca8bb655acaabd4f15cc
Reviewed-on: https://review.typo3.org/25181
Reviewed-by: Oliver Klee
Reviewed-by: Jo Hasenau
Reviewed-by: Alexander Opitz
Tested-by: Alexander Opitz
Reviewed-by: Sebastian Fischer
Reviewed-by: Wouter Wolters
Reviewed-by: Peter Foerger
Tested-by: Peter Foerger
Tested-by: Philipp Gampe
Reviewed-by: Philipp Gampe
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] filemetadata: differenciate between file types

filemetadata provides different set of meta data fields depending on
the file type.  This is now working as intended by referring to the
type field in the sys_file table.

Resolves: #52851
Releases: 6.2
Change-Id: I394a417af50312dbacfdfccbcbe2730866e9c5a1
Reviewed-on: https://review.typo3.org/25035
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[BUGFIX] FAL: Always load meta data of files

There's one place in the File class where the
according meta data were not loaded.

Resolves: #46020
Releases: 6.2
Change-Id: I41ccb6abcf8abf47a3a5f16875203f2982872f1e
Reviewed-on: https://review.typo3.org/25187
Reviewed-by: Wouter Wolters
Tested-by: Martin Holtz
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[BUGFIX] Correct storage selection (follow-up)

The new matching did not consider Windows paths names as the
previous version did. Using PathUtility is safer.

Releases: 6.2, 6.1, 6.0
Resolves: #52173
Change-Id: Ib0454a468bb93f5baab9677ffafc86efd0f1ae27
Reviewed-on: https://review.typo3.org/24071
Reviewed-by: Wouter Wolters
Reviewed-by: Philipp Gampe
Tested-by: Philipp Gampe
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Enable treeConfig overriding by Page TSconfig

Add treeConfig to whitelist to allow overriding rootUid
as described in the documentation. Example:

TCEFORM.pages.categories.config.treeConfig.rootUid = 1

Resolves: #47040
Releases: 6.2, 6.1, 6.0, 4.7
Change-Id: Idd55593b063daa0be3c2943400f82617b0bf6218
Reviewed-on: https://review.typo3.org/19740
Reviewed-by: Fabien Udriot
Tested-by: Fabien Udriot
Reviewed-by: Alexander Opitz
Reviewed-by: Stefan Neufeind
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
[BUGFIX] Set active SCHEME using typolink with forceAbsoluteUrl

If you use forceAbsoluteUrl at a page which has "default" as option and
is called per https the link will be generated with "http" - and not as
"default" means with the active protocol.
This patch fixes that behaviour.

Resolves: #49293
Releases: 4.5, 4.7, 6.0, 6.1, 6.2
Change-Id: Iab087469f63a63267213d9f1c4fc45223b7f45dc
Reviewed-on: https://review.typo3.org/21589
Reviewed-by: Philipp Gampe
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[TASK] Better mocking of $GLOBALS['LANG']

To further remove dependencies in unit tests, some tests are
adapted to correctly mock $GLOBALS['LANG']. The PageRenderer
tests still need adaptions in a separate patch, so the test
bootstrap still initializes the language handling for now.

Change-Id: I5d6a8a0a0fe738fef676fbc637a02fe9700ccee3
Resolves: #53476
Related: #51436
Releases: 6.2
Reviewed-on: https://review.typo3.org/25234
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Fix superfluous strlen() on constant strings

Releases: 6.2, 6.1, 6.0
Resolves: #53477
Change-Id: I27817df25c126beb216c2b933c82ad9c35b74d80
Reviewed-on: https://review.typo3.org/25242
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[BUGFIX] Performance: remove unneeded basename call in CacheManager

$filename is already containing basername from $pathAndFilename
thus replace in if and else basename($pathAndFilename) by
filename

Resolves: #53478
Releases: 6.2
Change-Id: Ia71d4ec654edd6effb7c8b290d0738f5f1a77bb4
Reviewed-on: https://review.typo3.org/25245
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[BUGFIX] No duplicate html encoding in file titles

This patch makes sure that UserFileInlineLabelService only parses the
title of a file through htmlspecialchars if this was not already done by
a BackendUtility method like getRecordTitle() or getRecordTitlePrep().

Titles that are cropped by getRecordTitlePrep() will be displayed
correctly in the Backend.

Resolves: #53200
Releases: 6.2
Change-Id: I960e599372aeecfb2e5e6469ac4d644c578cfabc
Reviewed-on: https://review.typo3.org/25052
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Dmitry Dulepov
Reviewed-by: Tomita Militaru
Tested-by: Tomita Militaru
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[TASK] Don't use destructor as shutdown function

GeneralUtility::makeInstanceService() registers service classes'
destructors as shutdown functions. This has two drawbacks:
* destructors are called twice usually
* service classes need to have destructors

The shutdown function for temp file cleanup in AbstractService is
registered on demand instead.

Change-Id: I0c41d821dc2279eeb126badf306f73d3b53b3010
Resolves: #52463
Releases: 6.2
Reviewed-on: https://review.typo3.org/24277
Reviewed-by: Sascha Egerer
Tested-by: Sascha Egerer
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] Catch exception in element browser

If the last selected folder doesn't exist anymore an exeption in the
element browser was thrown.

Resolves: #52306
Releases: 6.2, 6.1, 6.0
Change-Id: Ia6645fd61b879ecaedd98f7f7fa17bd3dd7c162b
Reviewed-on: https://review.typo3.org/24842
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[BUGFIX] getProcessedValue ignores sorting of select field values

Keep sorting of select field values which is lost during database select.

Change-Id: If0347f6c92e71a3855a00fd24bbbada7c15af386
Fixes: #27519
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Reviewed-on: https://review.typo3.org/2882
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[TASK] Add hashcolumn to field configuration of sys_file_processedfile

Because of perfomance reason it would be good to have a hash column for
the field configuration of the table sys_file_processedfile.

Change-Id: I310428afff335217afaa77f1a2ee6d628c80e8ef
Resolves: #52788
Releases: 6.2
Reviewed-on: https://review.typo3.org/24734
Reviewed-by: Sebastian Fischer
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
Reviewed-by: Kai Ole Hartwig
Tested-by: Kai Ole Hartwig
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[TASK] Introduce Signals in IndexRecord- and MetaDataRepository

In order to allow custom code to act on changes in the FAL 
Layer the repositories now emit signals on create, update
and delete.

Releases: 6.2
Resolves: #52952
Change-Id: Ib42c1cb2aef199af3b4565560bdb2e094ac1cf06
Reviewed-on: https://review.typo3.org/24896
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter