[FEATURE] Enable all workspaces tab in workspace module

The "all workspaces" tab currently is only available for admin
users. However, there's no need to disallow regular editors to
use this feature as well - access will be granted to workspaces
that have been defined for each particular user or group.

Besides that, actions from the "all workspaces" view need to be
handled in a special way since there is no correct
BE_USER->workspace value assigned in that case, but working with
versioned records requires to have a correct scope defined.

Change-Id: I89bfee3ad0b2ce1a5f3c12a1bd91342472b12d3d
Resolves: #50223
Releases: 6.2
Reviewed-on: https://review.typo3.org/22445
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[FEATURE] Add devIP as keyword for IP condition

When using an IP condition, support using keyword "devIP" to compare
the current Request IP against the devIpMask setting.

Usage:
[IP = devIP]
page.20 = TEXT
page.20.value = Hello Developer!
[end]

Fixes: #50092
Documentation: #52827
Releases: 6.2
Change-Id: I6b9128a9ac23b8d24ec1874dbe477503b20b58b8
Reviewed-on: https://review.typo3.org/24754
Reviewed-by: Ernesto Baschny
Reviewed-by: Gaëtan MARMASSE
Tested-by: Gaëtan MARMASSE
Reviewed-by: Paul Rohrbeck
Tested-by: Paul Rohrbeck
Reviewed-by: Dmitry Dulepov
Tested-by: Dmitry Dulepov
Reviewed-by: Oliver Hader
[FEATURE] Enable frontend to show translated file metadata

The frontend should show translated file metadata.
Since translation is not the concern of a file abstraction
layer and the FAL does not know about frontend language
settings this concern has to be decoupled.

For that purpose the MetaDataRepository has been extended
with an signal which is fired before the metadata-record
is returned. In Frontend-Context a Slot is registered
which passes that record through the according functionality
in \TYPO3\CMS\Frontend\Page\PageRepository::getRecordOverlay
so that a clean language and workspace overlay happen
according to the settings of TSFE.

Releases: 6.2
Resolves: #52818
Change-Id: I7b7791abd63d2a69480ed31861c63de1585a569c
Reviewed-on: https://review.typo3.org/24766
Reviewed-by: Frans Saris
Tested-by: Frans Saris
Reviewed-by: Fabien Udriot
Reviewed-by: Francois Suter
Tested-by: Francois Suter
Reviewed-by: Ernesto Baschny
Tested-by: Ernesto Baschny
[RELEASE] Release of TYPO3 6.2.0beta1

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

Change-Id: Icf563ed76827a35f51a5e309a416ddc7086f6bf6
Reviewed-on: https://review.typo3.org/24814
Reviewed-by: TYPO3 Release Team
Tested-by: TYPO3 Release Team
[BUGFIX] Fix FilePermissionUpdate SQL errors

If you have a new installation or already used the database analyser to
delete unnecessary fields the filePermissionUpdate throws SQL errors
because the old fields aren't available anymore.

Resolves: #52856
Releases: 6.2
Change-Id: Id74c7263d7686a574d128856fd7538dc110ba3bb
Reviewed-on: https://review.typo3.org/24808
Reviewed-by: Ernesto Baschny
Tested-by: Ernesto Baschny
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[TASK] SYS/forceReturnPath can be removed

Silent upgrader removes this setting now as well.

Resolves: #52857
Releases: 6.2
Change-Id: I03c5f302cce96f53a5664a1fafcd1c2d7b8ec812
Reviewed-on: https://review.typo3.org/24811
Reviewed-by: Alexander Stehlik
Tested-by: Alexander Stehlik
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] Incomplete mock in ext:frontend FAL getData test

The patch for #52818 triggered a failing test for ext:frontend
getData(). The patch mocks a File Resource properly to not test
FAL internals, but only the getData() logic.

Change-Id: I7312f4b9991931008fa68b66dcc9913162c222be
Resolves: #52865
Related: #52818
Releases: 6.2
Reviewed-on: https://review.typo3.org/24819
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Steffen Ritter
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Enable mock of ResourceFactory in ContentObjectRenderer

ext:frontend ContentObjectRenderer calls ResourceFactory::getInstance
at various places. This static call can not be mocked and is a hard
dependency to FAL.
The patch encapsulates the static call in a method and uses this
to mock instances of the ResourceFactory within some tests to have
controlled return values.
As a side effect one test does not fail anymore if only the
ext:frontend tests are executed and not the whole test suite. The
according hook-test was renamed and now tests the method that calls
the hook directly.

Change-Id: I0ee75462b7e7f25f70c6c8fb132045084b9ac537
Resolves: #52868
Resolves: #52643
Releases: 6.2
Reviewed-on: https://review.typo3.org/24821
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[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
[TASK] Non extension dirs in llXmlAutoFilename

Allow non extension dirs (e.g. fileadmin) in
\TYPO3\CMS\Core\Utility\GeneralUtility::llXmlAutoFilename()

Fixes: #34728
Releases: 6.2, 6.1, 4.7, 4.5
Change-Id: I073f42ec8b6d733246151df331201031187e1baf
[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: If830c67c4a35ec023b03f208e1c7131ce57b27b8
[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.1, 6.0, 4.7, 4.5
Change-Id: I5a7a2de16d767f854b4d3f89d599deec28266092

Conflicts:
	typo3/sysext/backend/Classes/Form/FormEngine.php
[BUGFIX] Correct file language overlay for pages

This patch corrects the fields the FILES content object is using for
doing the language overlay for file references for fields in the pages
table.

Instead of the _LOCALIZED_UID that is only available for other record
types the _PAGES_OVERLAY_UID field is now used to check if there
is a translated version available.

Resolves: #47869
Releases: 6.2, 6.1, 6.0
Change-Id: I2465a9e3ccd49223cc44885ffba8484788e1b669
[BUGFIX] Manpulation of file field migration config

This patch introduces new methods to the FrontendContentAdapterServer
that allow the manipulation of the file field migration configuration.
It is now possible to add additional (content) types for which the
migration should be active and to add custom migration configurations.

Resolves: #46067
Change-Id: Ibc23be8a414192c8795d9bb4f09316cf608e240b
[BUGFIX] URL encode special characters in getPublicUrl()

The FAL method getPublicUrl() in the ResourceStorage should return a
valid URL. To archive this special characters and spaces are URL
encoded in the LocalDriver.

Resolves: #52806
Change-Id: If1f3b6513b6feb0f24cd91be6998a686b54c467e
[TASK] Unify data for jump URL hash generation

The jump URL generation is unified and moved to a new JumpUrlUtility
class. All methods in the ContentObjectRenderer are now using the same
method for creating jump URLs.

The handling of file and directory names with special characters is
improved and FAL file records with special characters in their file names
will also be URL encoded.

Additionally Unit Tests are added to verify the jump URL function.

Resolves: #52156
Releases: 6.2
Change-Id: I7d2d8cec005aae56a118850071ca669ef9740c9d
[TAKS][CONF] Accept other settings in [SYS][setDBinit]

Since the mysqli interface recommends setting the charset using the
mysqli API the utf8 charset will be initialized when establishing the
database connection using mysqli_set_charset().

Additionally [SYS][setDBinit] can now be set to any value or can totally
be removed. To make sure the database connection still uses the utf8
encoding an additional check is added to the bootstrap process that
checks the MySQL character set session variables.

Finally the old default value of [SYS][setDBinit] will automatically be
removed if it is set to the old default value.

Resolves: #41596
Releases: 6.2
Change-Id: I8d0a9eba50495d52accb59627147c1c87b6a9bb5
[BUGFIX] Loaded Extensions in ExtensionCompatibilityTester

Remove the obsolete call to loadTypo3LoadedExtensionInformation() and
read the loaded Extensions from the TYPO3_LOADED_EXT global.

Additionally the array type hints are replaced with the ArrayAccess
interface since the LoadedExtensionsArray returns instances of
LoadedExtensionArrayElement which implements that interface.

Resolves: #52866
Releases: 6.2
Change-Id: I40db793f2c35b50636c8411aa7a141efc3c90320