[FEATURE] Allow the activation of packages during runtime

Due to the nature of the Flow Package Manager, packages cannot
be activated and directly used during runtime. Before the Package
Manager it was possible to activate/deactivate extensions in
AdditionalConfiguration.php under certain custom conditions.

This patch introduces a new setting in $GLOBALS['TYPO3_CONF_VARS']
['EXT']['runtimeActivatedPackages'] = array('{packageKey}') that
gets initialized right after the package management initialization.

Resolves: #53015
Releases: 6.2
Change-Id: Id3b85a3feb00876d2a04a02e85450a4568eb5bff
Reviewed-on: https://review.typo3.org/24939
Reviewed-by: Thomas Maroschik
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
Tested-by: Alexander Stehlik
Tested-by: Frans Saris
Reviewed-by: Stefan Froemken
Tested-by: Stefan Froemken
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[TASK] Optimize Package State Migration

Under certain circumstances the Failsafe Package Manager
could interfer with the Update Package Manager in the Install Tool.

In order to reduce this friction the migration logic is integrated
into the migration step.

Resolves: #53886
Releases: 6.2
Change-Id: I0300b9c74736262b03f9f9b59a49576b7edf5b2f
Reviewed-on: https://review.typo3.org/25648
Reviewed-by: Markus Klein
Reviewed-by: Thomas Maroschik
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Follow up: Moving files and folders doesn't update hashes

Since #53655, reviewed at https://review.typo3.org/25481 the indexer
takes care of updating file objects and index records if a file or
folder is moved.

The unit tests have not been adapted to that change accordingly.
This changeset fixes the tests for LocalDriver and ResourceStorage.

Change-Id: Id17b01b8e47dd63750d1c11c2d4e24313b053695
Resolves: #54499
Releases: 6.2
Reviewed-on: https://review.typo3.org/26477
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[TASK] Add tool-function to strip PATH_site-part of paths

Avoid having to use the substr/strlen-magic.
Also strlen(PATH_site) can be statically cached.

Change-Id: I0ef942e331e2039e2ece9a55dd740db2a3896e2c
Resolves: #54126
Releases: 6.2
Reviewed-on: https://review.typo3.org/25851
Reviewed-by: Philipp Gampe
Tested-by: Philipp Gampe
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[TASK] oncontextmenu: Avoid duplicating onclick-functionality

Where onclick and oncontextmenu behave the same avoid duplicating
JavaScript-code and simply call the click()-functionality.

Change-Id: Iaa0b96fd311ea1a8367ef474b483e6c92bb1bcff
Resolves: #54288
Releases: 6.2
Reviewed-on: https://review.typo3.org/26094
Reviewed-by: Frans Saris
Tested-by: Frans Saris
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[TASK] Mark PathUtility::stripPathSitePrefix as internal

This is a follow up to 7efcf2a4 which marks the newly
introduced method as internal.
https://review.typo3.org/25851

Resolves: #54126
Releases: 6.2
Change-Id: Iaffa3cf96e7e43487f4249a70460f64fc3a066ea
Reviewed-on: https://review.typo3.org/26486
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] Replace the table definition manipulation by signals

During installation of extensions the Extension Manager does
not take the Category API into account. The code to do so is
present in the Install Tool in the Database Compare Tool. It is
cumbersome to switch to the install tool to update the database
in order to use the category fields. The install tool and extension
manager currently need to know which components manipulate
the table definitions and this is bad coupling of components
which shouldn't know each other.

This fix replaces the individual calls to the components by two
signals and thus a generic approach.

Fixes: #53016
Releases: 6.2
Change-Id: Ibaea293b96fb1b8df1eacdcdd2f98acf74fb155b
Reviewed-on: https://review.typo3.org/24942
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
Reviewed-by: Fabien Udriot
Tested-by: Fabien Udriot
Reviewed-by: Thomas Maroschik
Tested-by: Thomas Maroschik
[BUGFIX] Missing CSH for categories-based menus

New fields were added to the tt_content table to be used when creating
categories-based menus (of pages or content elements).
Those fields are currently missing CSH.

Resolves: #54366
Releases: 6.2
Change-Id: I0fea98a7c3ecd29ffca6559314bd3f790845e3e7
Reviewed-on: https://review.typo3.org/26361
Reviewed-by: Francois Suter
Tested-by: Francois Suter
Revert "[BUGFIX] Replace the table definition manipulation by signals"

This reverts commit 2d6e8deae30794afb1967c38857f49b10060f38d
This merge broke travis unit and functional tests.
Needs some work on these components to get in again.

[ci skip]

Change-Id: Ifa96df8c60472def99707431793de291043d23e4
Reviewed-on: https://review.typo3.org/26488
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[TASK] Update NEWS.md for system categories

The following changes to system categories should be mentioned
in NEWS.md:

* activation by default on pages and tt_content tables
* new menu types for categories-based menus

Resolves: #54368
Releases: 6.2
Change-Id: I1ca95ea6354f52a68bd31cf284d6a103563190a4
Reviewed-on: https://review.typo3.org/26362
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[TASK] Setup travis notifications

Since the travis ci service changed the notification
policy to not notify authors of commits on failed
builds, we need to set up explicit notifications
so that failing builds do not stay undiscovered.

A first step will be to sent a notification to
the irc channel and the core list.

Change-Id: I6f5953f65aab04c526eae8aa34890e39169ab60f
Reviewed-on: https://review.typo3.org/26491
Tested-by: Ernesto Baschny
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[RELEASE] Release of TYPO3 6.2.0beta3

Change-Id: I59ca5042eda854c6d3daf02b54c23bb3acd615ff
Reviewed-on: https://review.typo3.org/26492
Reviewed-by: TYPO3 Release Team
Tested-by: TYPO3 Release Team
[TASK] Set TYPO3 version to 6.2-dev

Change-Id: Ia6a172bcc88924db714005165d92added4bb4a1a
Reviewed-on: https://review.typo3.org/26493
Reviewed-by: TYPO3 Release Team
Tested-by: TYPO3 Release Team
[TASK] UX enhancement for EXT:documentation

Rework the documentation module according to the
discussion with the TYPO3 Usability Team.

Resolves: #54067
Releases: 6.2
Change-Id: Ia59c9a1554080b71412b467f6621bc7270a81c72
Reviewed-on: https://review.typo3.org/25975
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
[TASK] Unify NULL default value handling

If a field is configured to allow NULL values ("eval" is set to "null")
and the default value in the TCA is explicitly set to NULL the value
will not be converted to a string.

Additionally the mode setting "useOrOverridePlaceholder" will not have
any influence any more on the default value when creating new records.

Resolves: #54412
Releases: 6.2
Change-Id: Ica43a1af33e6f86dd042b66781acc0e9cd904cf9
[TASK] Use FAL functions for image rendering

Instead of relying on the backward compatiblity layer of the
FrontendContentAdapterService when rendering images with
css_styled_content the render_textpic method is modified so that it
is also be possible to use FAL functions and properties for image
rendering.

The captionsSplit / imageTextSplit constants are removed because
every image has its own properties for that with FAL and they are
not needed any more.

The globalCaption rendering was removed because the captions are now
always attached to a single image.

The longdescURL handling was also removed because the files do not
have this property at the moment and the longdescURL field for
tt_content records is also not visible in the Backend.

Resolves: #53764
Releases: 6.2
Change-Id: I1d9c8ad1d7a498816e724960613818a05d587d4f
[FEATURE] Custom active tab in RTE element browser

Introduce a flag that prevents the element browser of rtehtmlarea
from overwriting the active tab that was set by a hook object.

Resolves: #49036
Releases: 6.2
Change-Id: Iebfda39714caa98c0d2023992bbf63a2f5b9b01a
[FEATURE] Allow escaping of dots in TypoScript key

This patch allows the use of backslashes to escape
dots in TypoScript keys, for example:

my\.escaped\.key = test

will result in a single key "my.escaped.key" with the
value "test".

Resolves: #29461
Releases: 6.2
Change-Id: Idcaae75d9a8800134f4a82e0740ddabe35b3df89
[BUGFIX] Correct order of key / field deletion

Prevent a SQL error when deleting a key and the field belonging
to the key in the install tool at the same time.

Therefore the order for deleting keys and fields is changed from
field first and key second to key first and field second.

Resolves: #50450
Releases: 6.2
Change-Id: I30aff6ea6c2bf01dec6197eec8fd3aa7306cfcbb
[BUGFIX] Prevent exclude field mixup in FromEngine

Use a local variable for storing the excluded fields in the
FormEngine to prevent the configuration from being overwritten
by the inline form element renderer.

Fixes: #47359
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Change-Id: I5a7a2de16d767f854b4d3f89d599deec28266092