[BUGFIX] Fix property mapping of checkbox arrays

If multiple checkboxes are rendered but none of it is
selected, an exception is thrown as the value of the hidden field,
that is submitted is a string.

This must be the case because we need to be able to clear out
selected checkboxes and cannot craft a hidden field that will
be translated to a GET/POST arument which is an empty array.

Because of that the ArrayConverter must be able to convert
empty strings to an empty array, just like the "old"
property mapper did.

Change-Id: I115831014caca4868d1f421eb968e01178e1169b
Resolves: #47832
Releases: 6.2, 6.1, 6.0
Reviewed-on: https://review.typo3.org/21685
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
[BUGFIX] ActionController must use namespaced object view pattern

The ActionController still uses the old pattern like
Tx_@extension_View_@controller_@action@format for resolving
custom view objects. When using a namespaced extension it
must be possible to also use namespaced view objects.
Therefore a new view object pattern has to be introduced:
@vendor\@extension\View\@controller\@action@format

Releases: 6.2, 6.1, 6.0
Resolves: #47609
Change-Id: Iedc6120469f2277b482c5e1c40b89790404e9bbe
Reviewed-on: https://review.typo3.org/21705
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] Rootline utility must respect pageOverlayFields

The rootline calculation always overlays all fields
from the pages table. This causes trouble in e.g. the
case that you want to reuse media images from the default
language in other languages. In the previous implementation
(pre 6.x) only the overlay fields from the
 $GLOBALS['TYPO3_CONF_VARS']['FE']['pageOverlayFields']
setting were overlaid.

Fixes: #48224
Releases: 6.2, 6.1, 6.0

Change-Id: I6f5a10150c916df24542ee83e33663a27bdb593f
Reviewed-on: https://review.typo3.org/20796
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Fix localization of the BE user module

Fix some hardcoded labels by replacing them with
f:translate tags.

Change-Id: Ic75f7bd021ff8353b7709906859d2c02eb452b23
Resolves: #49402
Releases: 6.2, 6.1, 6.0
Reviewed-on: https://review.typo3.org/21670
Reviewed-by: Chris topher
Tested-by: Chris topher
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[FEATURE] Debug register and page with TypoScript

Adds the possibility to show the content of
$GLOBALS['TSFE']->register and $GLOBALS['TSFE']->page
with the debug option in getText.

Example:
10 = TEXT
10.data = debug:register
20 = TEXT
20.data = debug:page

Resolves: #49478
Releases: 6.2
Change-Id: I79b118fd2450193a6573569f7ec99b8159f973bc
Reviewed-on: https://review.typo3.org/21695
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Wrong placement of image caption in text with image

If you omit the first caption, then the following captions are shifted
into this position, meaning the the captions are off by the number of
empty captions in front.

This happens because the captions are stored with a newline "\n" as
separator which is removed by a trim = 1.

Remove this trim from tt_content.image.20.caption.1.1 as the trimming of
the actual content happens with
tt_content.image.20.caption.1.stdWrap.trim = 1.

The change also has a few cleanups that popped up in PhpStorm while
investigation the issue.

Resolves: #48354
Releases: 6.2, 6.1, 6.0
Change-Id: I4523fa40cbf991b3941d18145a09e72d5e5254d3
Reviewed-on: https://review.typo3.org/20884
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[TASK] Improve error message in NotFoundView to identify source

The error message before this change would only report the
action name, after this change it will reflect the controller and
extension name as well.

Set to apply to all maintained version since this changes no functions
whatsoever - it only improves error feedback.

Resolves: #49519
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Change-Id: I61dc32a4542b8664ca9443414278e983bc181c4a
Reviewed-on: https://review.typo3.org/21728
Reviewed-by: Cedric Ziel
Tested-by: Cedric Ziel
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] EM: TimeSinceLastUpdateViewHelper fatals if never updated

If the repository was never updated (or the update failed) last_update
has the value of zero in the database.
Then NULL->format in the TimeSinceLastUpdateViewHelper leads to the fatal
error.

Resolves: #47726
Releases: 6.2, 6.1, 6.0
Change-Id: Ia41c50f2037fb1c7ef935a8855a200b303347383
Reviewed-on: https://review.typo3.org/21427
Reviewed-by: Philipp Gampe
Reviewed-by: Susanne Moog
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Do not show System Extensions Wizard when done

The check if the wizard has been executed before and
includes all available system extensions have been installed
is wrong. Rather than casting to bool, we should
check if the difference between "seen extensions" and
available system extensions is an empty array.

This correctly shows the wizard when not finished and
hides it when finished.

Resolves: #49256
Releases: 6.2, 6.1, 6.0
Change-Id: I7bd655b2b7eeaaa5b1dd91e80564f150b1d0d038
Reviewed-on: https://review.typo3.org/21509
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] Increase the width of the content element of type Plain HTML

The current editor field for content elements of type HTML is for too
small. Without t3editor it is only 5 lines in height and with t3editor
it is limited to 200px which is not much more.

Increase the default size for tt_content.bodytext to 80x15 and set the
height for t3editor fields to 60% as done in setup.

Resolves: #43112
Releases: 6.2, 6.1, 6.0
Change-Id: Icc27cb013cc3009dace5dedef2f9515af1975ec0
Reviewed-on: https://review.typo3.org/20923
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Benjamin Mack
Tested-by: Benjamin Mack
[BUGFIX] LocalConfiguration cleanup breaks install process

The method to kick out obsolete settings from LocalConfiguration
in the install tool step installer is called too early and the file
may not exist already. Move the method call below step one of the
installation process that creates the file.

Change-Id: If3d824b6488c7cebfdef2a5b122aea9d47424983
Resolves: #49540
Related: #49299
Reviewed-on: https://review.typo3.org/21765
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Crisp up navigation frames borders

Since UXW 2009 module navigation and tree frame have
soft border / gradient shadow on their right.

On or path to flat backend:
bring super crisp borders.

Also removes vertical gradient behind module menu bar.

Change-Id: I826df77447d782c85f1c08440632ee438c3c37b0
Resolves: #48586
Releases: 6.2
Reviewed-on: https://review.typo3.org/21125
Reviewed-by: Benjamin Mack
Tested-by: Benjamin Mack
Reviewed-by: Susanne Moog
Tested-by: Susanne Moog
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Move JavaScript files to EXT: backend

This patch moves few JavaScript files to EXT: backend.

Still few JavaScript files remain in /typo3 and /js folder.
Those JavaScript files are used within the backend and
therefore should be moved to EXT: backend.

Change-Id: I62b9861d66f219f34e53afa5dd7a1d9c20073a98
Resolves: #49507
Releases: 6.2
Reviewed-on: https://review.typo3.org/21721
Reviewed-by: Susanne Moog
Tested-by: Susanne Moog
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[TASK] Cleanup ext:opendocs

* Remove old file from before namespacing
* Fix imagepath in CSS
* Strict comparison for TYPO3_MODE check

Change-Id: I5d6242f4032d83627284f793e9e79ee13d6de8ae
Resolves: #49550
Releases: 6.2
Reviewed-on: https://review.typo3.org/21772
Reviewed-by: Susanne Moog
Tested-by: Susanne Moog
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[FEATURE] Support @Flow\Inject annotations in Extbase

This patch provides support for the TYPO3.Flow syntax
of property injections:

/**
 * @var Vendor\Ext\FooClass
 * @Flow\Inject
 */
protected $vendorExtFooClass;

Resolves: #49497
Releases: 6.2
Change-Id: Ib5f0ff5e83580cc9c327b7320f49c5a892240eb5
Reviewed-on: https://review.typo3.org/21732
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Check for imageftbbox() existence before usage

Install tool system environment check calls imageftbbox() without
checking if the function exists and may fatal. The patch adds a
function_exists() and introduces an error status message.

Resolves: #49458
Releases: 6.2

Change-Id: Ibb3be59d6506632db18d68e3394fd5a4b048da81
Reviewed-on: https://review.typo3.org/21783
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Alexander Schnitzler
Tested-by: Alexander Schnitzler
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX] Wrong top/bottom margin rendering in CSC

When a top or bottom margin has been chosen together with section_frame
"no frame" -> 66, no entry is made in the temporary stylesheet.

This patch solves this issue by changing the stdWrap variable to
classStdWrap for the method renderSpace().

Change-Id: Iee6c98537e2a4a8c917dfd450289f26ce50e3ca9
Fixes: #47403
Releases: 6.2, 6.1, 6.0
Reviewed-on: https://review.typo3.org/20155
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Benjamin Mack
Tested-by: Benjamin Mack
[TASK] Cleanup ext:setup and ext:tstemplate

* Remove require_once calls
* Move language inclusion to init() for ext:setup

Change-Id: Icdb07a7170e40d57a93fcdc69e788081a47cac6c
Resolves: #49580
Releases: 6.2
Reviewed-on: https://review.typo3.org/21791
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
[BUGFIX] EM: Scheduler task does not persist to database

The scheduler task for updating extension list of the extension
manager does not persist his data to database. As Scheduler is no
extbase extension and the task is no extbase task this peristence
isn't called at end of script.

Change-Id: I75629874f698f45f1b7dab47636857b5865e8d24
Resolves: #49528
Releases: 6.2, 6.1, 6.0
Reviewed-on: https://review.typo3.org/21760
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
[TASK] Cleanup ext:lowlevel

* Fix path to commands in ext_localconf.php
* Remove require_once calls
* Move code from dbint/index.php to constructor
* Move code from config/index.php to constructor

Change-Id: I288834f66427c2a11836c87b973c92f9621c9c3f
Resolves: #49552
Releases: 6.2
Reviewed-on: https://review.typo3.org/21774
Reviewed-by: Alexander Opitz
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring