[TASK] Clean up phpDoc comments in typo3/sysext/saltedpasswords

Clean up provides:

* Provide correct parameter names in phpDoc
* Provide correct data types in phpDoc
* CGLify phpDoc (remove tabs)

Change-Id: If173ab6ad75f17f41826ec5dc4f32ca378909193
Resolves: #38318
Releases: 6.0
Reviewed-on: http://review.typo3.org/12300
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[FEATURE] Add a unique request ID

To allow grouping of log records belonging to a certain request,
a unique id per request is needed.

Change-Id: I76e279e3ebe22fa17b1ffdf9a57c037b75680b82
Resolves: #38954
Releases: 6.0
Reviewed-on: http://review.typo3.org/12792
Reviewed-by: Fabien Udriot
Reviewed-by: Wouter Wolters
Reviewed-by: Marcus Schwemer
Reviewed-by: Steffen Müller
Tested-by: Steffen Müller
Reviewed-by: Steffen Gebert
Tested-by: Steffen Gebert
[BUGFIX] $_EXTKEY not available in global scope in ext_tables.php

Since changing the ext_tables.php handling to use the caching
framework $_EXTKEY is not available in global scope anymore.

This leads to issues when f.e. registering custom navigation
components through t3lib_extMgm::addNavigationComponent().

Explicitly setting $_EXTKEY global fixes the bug.

Change-Id: Iec822eb55abdd8c471cb2e13a0d26c099db39849
Fixes: #38964
Releases: 6.0
Reviewed-on: http://review.typo3.org/12807
Reviewed-by: Mattias Nilsson
Tested-by: Mattias Nilsson
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Mention jQuery as external library in about section

Mention jQuery as external library, that is used in the TYPO3
core

Change-Id: Ia6c93c35d27c96d4d8b670ac94417ecf1b46e6ca
Resolves: #38968
Releases: 6.0
Reviewed-on: http://review.typo3.org/12811
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
[BUGFIX] FLUIDTEMPLATE - Serialization of 'Closure' is not allowed

When using FLUIDTEMPLATE and COA_INT or USER_INT on the same
level and partials are used in the Fluid template, then there
will be Closures. COA_INT and USER_INT are going to serialize
the cObj, which fails when a Closure shall be processed.

Since the Closures have been collected in $cObj->contentObjects
the fix is to use a cloned version of the cObj which does not
contain these contentObjects anymore for COA_INT and USER_INT.

Change-Id: I5c1f9b01caef1df5077955bd7fa6e879e41ca854
Fixes: #36820
Related: #32295
Releases: 6.0, 4.7, 4.6
Reviewed-on: http://review.typo3.org/10979
Reviewed-by: Susanne Moog
Tested-by: Susanne Moog
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
Reviewed-by: Benjamin Mack
Tested-by: Benjamin Mack
[BUG] FAL AdapterService fails with Fluid

FAL introduced an adapterservice to migrate certain
fields to FAL style. The adapterservice uses type hinting
to suggest $row of tslib_content always to be an array.
However, when e.g. calling tslib_content from an
extension or Fluid, it is common to have $row
as NULL or empty, so the additional check
is removed.

Change-Id: I4b5f0231d3c8c2d9f3ec6d2f6a7a3a1b85775673
Resolves: #38977
Reviewed-on: http://review.typo3.org/12813
Reviewed-by: Michael Staatz
Tested-by: Michael Staatz
Reviewed-by: Ingmar Schlecht
Tested-by: Ingmar Schlecht
[TASK] Call sanitizeLocalUrl only once in recordList

recordList calls t3lib_div::sanitizeLocalUrl twice. 
Store the result in a variable, so that one call is
enough.

Change-Id: I56a2d3b5ff0e75e4409829fbcc7db64ee98bec38
Resolves: #39060
Releases: 6.0
Reviewed-on: http://review.typo3.org/12874
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[!!!][TASK] New local configuration handling

This patch removes the file typo3conf/localconf.php and introduces
a new file called typo3conf/LocalConfiguration.php instead. The file
returns the local overrides of the TYPO3_CONF_VARS default array,
which is merged with the default array during bootstrap.

An upgrade wizard transfers the settings from localconf to the new
file. As an effect, the LocalConfiguration file is now fully under
core control. There must be no additional custom code in it. If an
instance needs such code, it can be added to a second file called
typo3conf/AdditionalConfiguration.php, which is executed as is
during bootstrap after LocalConfiguration was read.

This enables us to store the local configuration as an array,
exports the file with a clear schema.

Furthermore, the list of loaded extensions (extList) is now stored
as an array (extListArray). The old comma separated extList string is
still kept for now, but core usage is adapted to use extListArray. The
old extList string is still written and maintained, but is only kept
for extensions for backwards compatibility.

Important notes:
- Frontend, backend, cli and install tool must still come up, even
  if the upgrade wizard was not run, yet.
- The variables '$typo3_db_*' that where in localconf.php are now
  merged with the TYPO3_CONF_VARS. The upgrade wizard should find
  and transfer them.
- The settings in install tool -> Basic Configuration are currently
  broken. This would have made the patch even bigger, and must be
  fixed with an additional patch.
- It is advised to run the update wizard as soon as possible after
  this patch is merged, it will be the first wizard in the line.
- Some follow ups for dbal and probably workspaces are still needed.
- Currently the 1-2-3 install wizards are broken. The dummy and
  other packages need some love to adapt to the new handling.

If some of the above problems are not solved until 6.0
stabilizes, this patch needs to be reverted again.

Change-Id: I3bf6a176117f501946123b921b6d2f1932627270
Resolves: #38562
Release: 6.0
Reviewed-on: http://review.typo3.org/12519
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Remove record_list icon from Page module

Removes the record_list icon from the docHeader in Page module.

This icon links from page to list module but does not bring the
backend to a consistent state. The module bar is e.g. not updated.

The decision to remove the icon was taken at UX sprint 2012.

Change-Id: I754a5840a244017986bcaca2ecd4bf16a63cb85e
Releases: 6.0
Resolves: #38828
Reviewed-on: http://review.typo3.org/12911
Reviewed-by: Marcus Schwemer
Tested-by: Marcus Schwemer
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX] Send sane HTTP response in showpic on error

Currently, if showpic.php requests fail, exceptions are thrown. Those are
usually converted to a HTTP response 500 (internal server error) by the
production exception handler. Crawlers react on 500 by trying to index
the resource again later.

This is changed to now set specific response codes. If the paramters are
incorrect or broken, an 410 (Gone) will be sent, informing users and
crawlers that the resource is not available under this URL. Crawlers
like googleBot will then stop requesting the resource.

In case all parameters are ok, but the image itself is not found, a 404
will be sent to the client. Crawlers will try to index the resource
again only if there are still links pointing to the resource.

Change-Id: I606937fa9953b88be5edf940201e0153223ae0e6
Fixes: #39052
Releases: 6.0, 4.7, 4.6, 4.5
Reviewed-on: http://review.typo3.org/12867
Reviewed-by: Mario Rimann
Reviewed-by: Ernesto Baschny
Tested-by: Anja Leichsenring
Reviewed-by: Anja Leichsenring
Reviewed-by: Marcus Krause
Tested-by: Marcus Krause
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX][FAL] isValidFilename() fails with broken PCRE

Some php versions like debian squeeze 5.3.3 do not have proper unicode
support for PCRE enabled. In effect, character classes like [:alnum:]
do not contain unicode characters. Therefore, test
filenamesAreCorrectlyValidated with data set "filename with german
umlauts" fails on those systems.

The patch changes the according regex in t3lib_file_Driver_AbstractDriver
to other, fully supported character classes.

Change-Id: I49c9c2488536577ba77c5065e96a5ef4859e03da
Fixes: #39123
Releases: 6.0
Reviewed-on: http://review.typo3.org/12924
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
Reviewed-by: Daniel Lorenz
Tested-by: Daniel Lorenz
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK][CLEANUP] Remove obsolete IPv6 test condition

The defined('AF_INET6') in the t3lib_div ipv6 related methods tests
for availability of ipv6 support in php. This is by default enabled
on all platforms since php 5.3.
The fallback layer in t3lib_div did not work anyway and the unit
tests failed in this case. This fallback layer is now removed.

Change-Id: Id2618c33a3ab0d5daa7faa3fd42ec72d51974485
Resolves: #39125
Releases: 6.0
Reviewed-on: http://review.typo3.org/12925
Reviewed-by: Daniel Lorenz
Tested-by: Daniel Lorenz
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[!!!][TASK] Remove old XCLASS compatibility layer

The XCLASS handling that was changed with #31893 allows to register
XCLASS'es with an entry in ext_autoload. The patch introduced a
compatibility layer to support the old registration by guessing the
needed array key in TYPO3_CONF_VARS. This turns out to not work very
reliable and could only be fixed with a massive organizational and
performance overhead.

Therefore, this patch now drops the complete compatibility layer, so an
extension must be adapted to support the new scheme. This is ok, since
extension authors maintaining extensions with XCLASS'es are aware that
those classes already break frequently in the past, and were already
advised to request hooks in the long run.

Change-Id: I95a8bf986c94c784c69d4c4cc4a9c4645cd3fcc9
Resolves: #39128
Releases: 6.0
Reviewed-on: http://review.typo3.org/12926
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] QT movies prefixed abusively in Media CE

If some prefixes are defined (either base URL or absRefPrefix),
the Media CE will apply such prefix to any Quicktime movie
even if said movie is referenced by an absolute URL.

Change-Id: Ibe8b24da5fdf3689d841987f45e91c750a7a002c
Fixes: #39026
Releases: 6.0,4.7,4.6,4.5
Reviewed-on: http://review.typo3.org/12847
Reviewed-by: Francois Suter
Tested-by: Francois Suter
[CLEANUP] Typo in INSTALL.txt

Change-Id: I2597cbec82e2dc61ab247cdff8b4ce9d19b2c231
Reviewed-on: http://review.typo3.org/12942
Reviewed-by: Wouter Wolters
Reviewed-by: Oliver Klee
Reviewed-by: Steffen Gebert
Tested-by: Steffen Gebert
[TASK] Change @deprecated annotation to the correct version

Change all @deprecated annotations to the correct version number.
Replace 4.8 -> 6.0 and 4.9 -> 6.1

Change-Id: Ia0b90f50a52619ff9965d206d2d22c947182cb80
Resolves: #39067
Releases: 6.0, 4.7
Reviewed-on: http://review.typo3.org/12895
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[FEATURE] Make autoloader namespace aware

The autoloader will now recognize classnames with fully
qualified namespaces names. So, it is now possible to
autoload a class called '\Tx\ExtensionName\Foo\Bar' that is
located in 'extPath'/Classes/Foo/Bar.php.

Change-Id: I9b3f130ca201eee94b595c2eee6f64e1c9a63e93
Resolves: #39147
Releases: 6.0
Reviewed-on: http://review.typo3.org/12944
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
Reviewed-by: Daniel Lorenz
Tested-by: Daniel Lorenz
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[FEATURE] Make autoloader namespace aware - Part 2

Add more tests to and move the namespace logic to
a more logical place.

Change-Id: I4907fdadfb04f27b74849ae6b42b52d55c6e8bd6
Resolves: #39158
Releses: 6.0
Reviewed-on: http://review.typo3.org/12971
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Raise submodule pointer

Change-Id: If17c9f726c9b19fae901deca9ebf4f6c6db1e658
Reviewed-on: http://review.typo3.org/12980
Reviewed-by: TYPO3 Release Team
Tested-by: TYPO3 Release Team
[-FEATURE] Remove restricted class prefixes

Sometimes the core enforces classes to be prefixed with special names
like 'tx_' or 'user_', especially if they are loaded as user functions.
This constraint is in the core for a long time, but was already weakened
by for example the extbase code, and was only required at some arbitrary
points. The constraint itself does not make much sense, and is now
fully removed with this patch.
As an additional advantage, this patch eases the transition to
namespaced class names.

Notes:
- Remove configuration Setting '[sys][additionalAllowedClassPrefixes]'
- Update t3lib_registry to accept every namespace at least 2 chars long
- Adapt tests
- Remove and deprecate calls to t3lib_div::hasValidClassPrefix

Change-Id: I0ba4fd41beb5f05bf87a14d735bb83922d62b247
Resolves: #39164
Releases: 6.0
Reviewed-on: http://review.typo3.org/12976
Reviewed-by: Daniel Lorenz
Tested-by: Daniel Lorenz
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn