[BUGFIX] Set maxLevels of generated sys_category TCA

The maxLevels in the TCA tree configuration is not set
by the CategoryRegistry. As a result only 4 levels are
shown.

This patch sets the maxLevels to 99 and also updates the
appearance settings of the sys_category:parent field
so these are inline with the other category tree fields.

Resolves: #57750
Releases: 6.2
Change-Id: I7c33b71d2af214cf1b2027e4769c1cc43a3c43d6
Reviewed-on: https://review.typo3.org/29297
Reviewed-by: Alexander Opitz
Reviewed-by: Francois Suter
Tested-by: Francois Suter
Reviewed-by: Stefan Neufeind
Reviewed-by: Fabien Udriot
Tested-by: Fabien Udriot
Reviewed-by: Frans Saris
Tested-by: Frans Saris
[BUGFIX] TCA tree fail to load with IRRE

The TCA tree element fail to load inside IRRE, in some condition
(when the record is not loaded/opened)

Change-Id: Id077a71e2191b0cf91003611e11dc5aefafab0c9
Resolves: #39035
Releases: 6.2, 6.1
Reviewed-on: https://review.typo3.org/12850
Reviewed-by: Markus Klein
Reviewed-by: Laurent Cherpit
Reviewed-by: Dominique Feyer
Tested-by: Dominique Feyer
Reviewed-by: Fabien Udriot
Reviewed-by: Frans Saris
Tested-by: Frans Saris
[BUGFIX] DBAL sql_fetch_* must return boolean or array

If the end of a result set is reached some drivers produce NULL.
This must be changed into FALSE to be compatible with the
non-DBAL version of these functions.

Resolves: #57957
Releases: 6.2, 6.1
Change-Id: I664dd10735f88754c74e20ecd5c07fad5ef2b78d
Reviewed-on: https://review.typo3.org/29502
Reviewed-by: Mathias Schreiber
Tested-by: Mathias Schreiber
Reviewed-by: Markus Klein
Reviewed-by: Jigal van Hemert
Tested-by: Jigal van Hemert
[BUGFIX] ResourceStorage does not sanitize folder/file name

On multiple places the new folder or filename is not sanitized
before the checks are done to see if the a folder of file with
that name already exists.

This patch makes sure the new names gets sanitized first and
also takes care that the name of the resultObject is passed to
the PostFolderMove, PostFolderCopy and PostFolderRename signals.

Resolves: #57681
Releases: 6.2
Change-Id: Id951ded531c9979e7cb4bdcd319f56a8f810fa96
Reviewed-on: https://review.typo3.org/29202
Reviewed-by: Stefan Froemken
Tested-by: Stefan Froemken
Reviewed-by: Stefan Neufeind
Reviewed-by: Alexander Opitz
Tested-by: Alexander Opitz
Reviewed-by: Francois Suter
Tested-by: Francois Suter
[TASK] Release file and folder permission check

This patch changes the warnings to a notices if files or folders are
readable for anyone. This improves usability for users on
non-restrictive systems as 1und1 servers.

Resolves: #57354
Releases: 6.2
Change-Id: Ic9eba030647e837694331d394d45dc1553c0cdf5
Reviewed-on: https://review.typo3.org/28917
Reviewed-by: Ernesto Baschny
Tested-by: Ernesto Baschny
[RELEASE] Release of TYPO3 6.2.1

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

Change-Id: I6e25181228d9c65bc4eee0b2309aed54ce24d181
Reviewed-on: https://review.typo3.org/29524
Reviewed-by: TYPO3 Release Team
Tested-by: TYPO3 Release Team
[TASK] Mitigate risk for travis-ci timeouts

Not using --keep-order in parallel gives output as soon as a
job is finished and thus reduces the risk for travis-ci timeouts.

Change-Id: If33087fbf4fc2b927ce52d153625140d89c2603a
Releases: 6.2
Reviewed-on: https://review.typo3.org/29553
Reviewed-by: Wouter Wolters
Reviewed-by: Philipp Gampe
Tested-by: Philipp Gampe
Reviewed-by: Stefan Neufeind
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] Fix TCA overrides when not cached

The TCA overrides are only parsed when the cache is built.
But they also need to be parsed if the bootstrap
requests an uncached load.

Move the signal to loadBaseTca to accomplish this.

Resolves: #58039
Releases: 6.2
Change-Id: I17b871060ec11ce044d8e09b5acfe8d20a36a5e8
Reviewed-on: https://review.typo3.org/29561
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
Reviewed-by: Jigal van Hemert
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[TASK] Use composer for unit and functional tests in travis

The patch uses composer based dependency handling and other
stuff pushing travis-ci tests to the next level:

- phpunit registered as "dev" requirement in composer.json
- vfsStream registered as "dev" requirement in composer.json
- cms-composer-installers is not released stable and adapted
  in composer.json for successful dependency resolving via
  composer
- cloning travis-integration repository is obsolete by inlining
  scripts in .travis.yml
- cloning ext:phpunit is obsolete, native phpunit by composer
  is used now
- it is possible to set functional test suite database credentials
  with environment variables, used in .travis.yml
- redis cache backend tests are enabled on travis-ci again
- use existing php modules of travis-ci environment speeds up build

With phpunit from composer, the command to run tests is
./bin/phpunit -c typo3/sysext/core/Build/UnitTests.xml
More documentation about that can be found at
http://wiki.typo3.org/Unit_Testing_TYPO3

Change-Id: I4d524e8e0249ca22f34fc48b7209d60d72e5e921
Resolves: #57971
Related: #51436
Releases: 6.2
Reviewed-on: https://review.typo3.org/29495
Reviewed-by: Wouter Wolters
Reviewed-by: Tymoteusz Motylewski
Tested-by: Tymoteusz Motylewski
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] Include RSA JS files in HTML header

Due to an oddity in page renderer, we cannot
add the required JavaScript to the footer
as it would not be rendered.

Clean up the JavaScript to correctly work even
when included in the header and change the hook
to add the JS files to the header.

Resolves: #58010
Related: #57294
Releases: 6.2
Change-Id: I354de3b0aeaf2b163b5df5301de6f0a0aaae34a6
Reviewed-on: https://review.typo3.org/29581
Reviewed-by: Oliver Klee
Tested-by: Dirk Klimpel
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] TypoScriptParser does not validate absPath

GeneralUtility::getFileAbsFileName() returns a blank string for
invalid paths.
TypoScriptParser::includeDirectory() does not check the return value,
but passes it on to TypoScriptParser::getAllFilesAndFoldersInPath().
This causes the method to enumerate all entries of /.

Fix this by properly checking the return value of getFileAbsFileName().

Resolves: #58102
Releases: 6.2
Change-Id: I778ad6bfc9d4a6a08f36fdd6ae00ccb9a8d2c03e
Reviewed-on: https://review.typo3.org/29607
Reviewed-by: Johannes Kasberger
Tested-by: Johannes Kasberger
Reviewed-by: Stefan Neufeind
Tested-by: Wouter Wolters
Reviewed-by: Wouter Wolters
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Revert "[BUGFIX] Do not reset Page Renderer on partial rendering"

The page renderer is not designed to work with
a second rendering pass without resetting to its initial state.

Not resetting will cause double compression of files and
creating wrong version numbered file names.

Reverting this again means: ->addFooter* calls are ignored
when being called before first rendering pass and
only work when done after first rendering pass.

Although this behavior is highly intransparent
it cannot easily be fixed without heavy refactoring
of the page renderer which most likely will break hooks.

Introduced regression by this change: #57919 and #58010

This reverts commit c67e8ebbb074c46dae40bec329db7392e023b0d6

Change-Id: I9e489e49f65bb69e2f3c3b997cc14465d6a08d80
Reviewed-on: https://review.typo3.org/29580
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[TASK] Keep uid / pid parameters in element browser URLs

The uid and pid parameters will now be passed on in the jumpToUrl()
function of the element browser. This makes sure that Page TSConfig
can still be retrieved when the user clicks on a tab.

Resolves: #58005
Releases: 6.2
Change-Id: I04cecb0aade417254ed5b0320bbc398f44850617
Reviewed-on: https://review.typo3.org/29536
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
[TASK] Configurable width of the Element Browser

The width of the element browser is sadly hardcoded to 600 and 650.

In many situations the element browser would need more place and
with this tiny change it would be easily possible to change
that behaviour without overloading the whole file.

Resolves: #58031
Releases: 6.2
Change-Id: I8a7df0e1c8f2c977af309fe5917c38ec6de99759
Reviewed-on: https://review.typo3.org/29555
Reviewed-by: Laurent Cherpit
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
Revert "[TASK] Configurable width of the Element Browser"

Reverted per request of the RM because:
- there is a merge freeze for regressions
- 6.2 is now a stable branch (no new features)

Besides:
- no documentation issue
- not enough votes

This reverts commit 8f520011793f558a5dad33f6a51ecabc5cef41c1

Change-Id: Ia1ffee069f825b678748808d756a2c04fd8edb18
Reviewed-on: https://review.typo3.org/29616
Reviewed-by: Jigal van Hemert
Tested-by: Jigal van Hemert
[BUGFIX] Database query error for non-workspaces tables

In frontend rendering mode PageRepository::versionOL() is called
frequently to overlay workspace data. A further method call then
creates a query with required t3ver_* fields. This query fails
if a table is not considered to support workspaces/versioning at
all. This behaviour is regression that has been introduced with
issue #30604 during TYPO3 4.7 development.

Resolves: #58180
Releases: 6.2, 6.1, 6.0
Change-Id: I81d24ea16116563f4f0d75fafd06496a9c4e993d
Reviewed-on: https://review.typo3.org/29657
Reviewed-by: Wouter Wolters
Reviewed-by: Markus Klein
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[BUGFIX] Remove GET parameters from URLs in List module

DatabaseRecordList (List module) generates returnUrls for localization
links. These must not contain the 'justLocalized' parameter, as this
would cause redirects to edit form over and over again.

This fix removes the inclusion of all the GET parameters - introduced
with #55314 - again. Only the module parameter is used from GET/POST.
Additional API enables extbase plugins to add necessary parameters.

The TableListViewHelper does not need any more parameters besides
the module name and hence still works after this patch.

Resolves: #58257
Related: #55314
Releases: 6.2
Change-Id: I641e4ce37e48c9ea4f9aabce41b11d8f824bf64d
Reviewed-on: https://review.typo3.org/29701
Reviewed-by: Marc Bastian Heinrichs
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
Reviewed-by: Wouter Wolters
[BUGFIX] Session cookie is not recreated on login

In case login data is submitted and there is an existing cookie/session
the current session is discarded and the current cookie is unset.
Subsequently the login data is processed and login succeeds and a
new session is established, but the new cookie is not set.

Fix this be correctly remembering that we need to set a new cookie,
after we disposed the current one.

Resolves: #57751
Releases: 6.2
Change-Id: I2e4b4a381b4e557aeb95c4186c6e5365dbea442a
Reviewed-on: https://review.typo3.org/29626
Reviewed-by: Fabien Udriot
Reviewed-by: Stefan Neufeind
Reviewed-by: Robbert V
Tested-by: Robbert V
Reviewed-by: Frans Saris
Tested-by: Frans Saris
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[BUGFIX] Solve stackoverflow in prototype in IE8

The reason for this behaviour is the combination of prototype.js
and ExtJS. The ExtJS defer() method takes precedence. Calling the
defer() method without any arguments would have resulted in using
a default value of "0.01" seconds in standalone prototype.js, but
results in directly calling the submitted function.

The stack overflow is caused by not delaying the function call
and thus ending in a recursive endless loop.

Resolves: #58187
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Change-Id: I6db191ff67a3e869072877936d949fc733cda74f
Reviewed-on: https://review.typo3.org/29655
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader