[FEATURE] Render icon with button view helper

Fluid is currently lacking a view helper to render a skinned icon.
By making the button icon view helper accept an empty URI as an
argument, we let it render an unlinked icon, rather than adding
a new view helper with very similar code.

This patch also cleans up the class phpDoc block, which
contained several errors.

Resolves: #51305
Releases: 6.2
Change-Id: I74b1dc3346e20c9094313a2da451bcb6c1f60f29
Reviewed-on: https://review.typo3.org/23281
Reviewed-by: Frans Saris
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Fix broken path to fonts in t3skin

Follow-up: #51134
Releases: 6.2
Change-Id: I80c2f2bab106cf78a93e371e613c8049510f7bfd
Reviewed-on: https://review.typo3.org/23306
Reviewed-by: Ernesto Baschny
Tested-by: Ernesto Baschny
[FEATURE] Add public API to get ApplicationContext

Application Context is initialized in Bootstrap. We need a
public API to get the current context without using the bootstrap
itself.

In Flow, the ObjectManager provides this API, but in TYPO3 CMS we
do not have this kind of ObjectManager (except in extbase).

The API call is:
\TYPO3\CMS\Core\Utility\GeneralUtility::getContext();

Resolves: #50983
Releases: 6.2
Change-Id: Ic900a503b3e2bc184d2bfd43345e72180887ef18
Reviewed-on: https://review.typo3.org/23018
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[TASK] Install tool test action fatals if image not exists

The install tool test section creates test images. If permissions
on the target folder are not set up correctly, the file may not
be created, but a correct file location is returned.
In this case not caught exceptions are thrown. This is
now sanitized with a simple file exists view helper to
show some error message instead.

Change-Id: Ic840b0128e5c69f8ce6f601952b8f17e59713e27
Resolves: #51366
Releases: 6.2
Reviewed-on: https://review.typo3.org/23331
Reviewed-by: Simon Schmidt
Tested-by: Simon Schmidt
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[TASK] Align inputs and adjust label-width

Labels should display as a block so inputs are aligned.
Label-width needs to be adjusted as well then.

Change-Id: I4a0e58fc648efd0767d0d3dc814d5aa7c7c444e2
Resolves: #50951
Releases: 6.2
Reviewed-on: https://review.typo3.org/22983
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[FEATURE] Install tool database select during upgrading

- Detect if SYS/isInitialInstallationInProgress is set
- If set: Show form for creating or selecting empty db
- If not set: Show all databases the user has access to

Change-Id: Ifaa1678f8ab1eaacec944e6dddf7d23babb804cf
Resolves: #51357
Releases: 6.2
Reviewed-on: https://review.typo3.org/23329
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
Reviewed-by: Alexander Böhm
Tested-by: Alexander Böhm
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX] Page tree filtering broken in IE7 & IE8

The page tree doesn't show the result when using the filter
in the page tree in IE7 & IE8. ExtJS somehow breaks silently
when trying to use a non-tag (text) as a drag handle. This fix
works with the original change that introduced this, meaning it
doesn't break the functionality of dragging of locked records.

Change-Id: I3f33fb3e4f6bd7622f502a9265897fee9d3e4ed3
Resolves: #25327
Resolves: #37026
Related: #M17952
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Reviewed-on: https://review.typo3.org/22500
Reviewed-by: Nicole Cordes
Tested-by: Nicole Cordes
[BUGFIX] Escape title tag of image links

This patch adds a missing call to htmlspecialchars() when
the title tag of image links is initialized.

Resolves: #50760
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Change-Id: If41f33d9621f7790c0ff0de4aebcd7cdcb59707f
Reviewed-on: https://review.typo3.org/22803
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Tests in Localization\Parser\LocallangXmlParserTest fail

If the system is already translated into French two tests in
Localization\Parser\LocallangXmlParserTest fail. This is because another
localization file is taken where test strings are not included.

As the tested functions can't work system independent, the test has to
make sure no system dependencies are used. Therefore the patch
introduces a new language "md5" to prove the workflow.

Resolves: #50870
Releases: 6.2, 6.1, 6.0
Change-Id: I64e8864a7d746c4f5c278f5e67d8dae068d8f920
Reviewed-on: https://review.typo3.org/22918
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Install tool: Check for broken ext uninstalls correct ext

"Check for broken extensions" in important actions of the install
tool renders uninstall buttons for every broken extension it found.

Currently only the last extension is uninstalled, no matter which
button is used. The patch fixes this by adding a class to identify
the extension in question to each button and adapts the javascript.

Resolves: #51368
Releases: 6.2
Change-Id: I7b754aca58e262dbd726452f816fe4dfaa6cf54d
Reviewed-on: https://review.typo3.org/23336
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Stefan Neufeind
Reviewed-by: Susanne Moog
Tested-by: Susanne Moog
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] Hide translations in categories selector

The \TYPO3\CMS\Core\Category\CategoryRegistry::addTcaColumn() method
provides an API for adding a system categories selector to a given
table. However the generated TCA misses a condition in
"foreign_table_where" to hide translated categories.

Resolves: #51304
Releases: 6.0, 6.1, 6.2
Change-Id: I2622371a89c8eabeb29e835c7f6673ffc6349186
Reviewed-on: https://review.typo3.org/23280
Reviewed-by: Philipp Gampe
Reviewed-by: Francois Suter
Tested-by: Francois Suter
[FEATURE] ext:saltedpasswords is required and enabled in backend

This patch adds saltedpasswords as a required system extension,
forcing salted hashes to be enabled for backend authentication.
The install tool checks settings and adapts them if needed.
Rsaauth is added to the list of recommended extensions
in the install tool extension installation upgrade wizard.

Resolves: #51352
Releases: 6.2
Change-Id: Ifd3b9f195101bcdb083b3bf9db4a74c812f0a709
Reviewed-on: https://review.typo3.org/23333
Reviewed-by: Kai Ole Hartwig
Tested-by: Kai Ole Hartwig
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Remove workaround for PHP bug in validEmail()

In GeneralUtility::validEmail() there's still a workaround for
a PHP crash (bug 52929).
This was fixed with PHP 5.3.4 and as TYPO3 6.2
requires 5.3.7, this workaround can be removed.

Resolves: #51386
Releases: 6.2
Change-Id: I5b32e90fd1a99c1cb2bdc261965114b06b4d4a58
Reviewed-on: https://review.typo3.org/23357
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[TASK] Fix functional tests in WorkspaceServiceTest

Refactor WorkspaceServiceTest to reflect recent changes
in functional testing.
Enable test so they will be run in Travis.
Still 2 tests are skipped and need further review,
but it can be done in the separate change.

Resolves: #51164
Releases: 6.2
Change-Id: I074629d877b6a4d336bd21aacd20268bf4746811
Reviewed-on: https://review.typo3.org/23185
Reviewed-by: Stefan Neufeind
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Shorten database names in functional tests

The functional tests frameworks create a new database per test.
The database name is generated by the original database
name plus a string and a hash.

If the database name length exceeds the maximum length of 64
characters an exception is now thrown.

The generated database name is also been shortened a bit.

Resolves: #51383
Releases: 6.2
Change-Id: I5817e440a3dcba7e53e2a27dca4f7bfc679334f5
Reviewed-on: https://review.typo3.org/23356
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[FEATURE] Install tool database port detection

The patch adds better auto detection of port settings to
install tool step action "database connect". If everything
works out, the database connect step is not rendered anymore
during upgrading which is the case without the patch.

- Split port off from IP only if IPv4 is used
- Get default or configured port for connection test
- Store port, host and socket on success and redirect to self

Change-Id: Ia5b53fc7eff60c5b2613ecee35cd5ee699e141ca
Resolves: #49186
Releases: 6.2
Reviewed-on: https://review.typo3.org/23332
Reviewed-by: Kai Ole Hartwig
Tested-by: Kai Ole Hartwig
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Refactor misleading method name

Purpose of the initialize() method in the AbstractAction class is the
initialization of a handle. It is not intended to be used for generally
initializing classes derived from AbstractAction.

By refactoring the method name, the method's purpose will be indicated
more clearer.

Change-Id: I1603090e4dfccb5b57da4fa9c3792ec73647c524
Resolves: #51396
Releases: 6.2
Reviewed-on: https://review.typo3.org/23364
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[FEATURE] Install Tool: Check for broken ext indicates loading

"Check for broken extensions" in important actions of the install
tool checks for broken extenions over an Ajax-Request.

Currently, the user clicks the button to check for broken extensions
and doesn't get any feedback whether there is something going on or not.
This patch implements a loading-message with a Spinner that is displayed
as soon as the button to check for broken extensions is clicked.
Furthermore the button is hidden as long as the request is beign executed
and displayed again if there is anything more to check (e.g. broken
extensions are found).

Resolves: #51379
Release: 6.2
Change-Id: I13e5024a1e2666e54e782ff1bab9418ba8b180f6
Reviewed-on: https://review.typo3.org/23365
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Christoph Buchli
Tested-by: Christoph Buchli
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[TASK] Cleanup FactoryConfiguration for saltedpasswords

This patch rewrites the configuration of ext:saltedpasswords into
a readable array which gets serialized afterwards. The check for
enabling salted passwords in the backend is obsolete and removed.
The values of the "checkConfiguration" user functions superfluous
and removed as well.

Resolves: #51354
Releases: 6.2
Change-Id: I539070d1642660ad0a5641d8971bdabc7cf92223
Reviewed-on: https://review.typo3.org/23366
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] Next/last button not linked on last page

The button icon viewhelper now supports an empty uri parameter. The
link on the next / last button of the backend paginate widget in case
you are on the very last page can be removed.

Change-Id: I238c77efa8a9d4ff4a1864f6df876a695dc690e5
Resolves: #51395
Releases: 6.2
Reviewed-on: https://review.typo3.org/23363
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters