[BUGFIX] Fix handling of field objects

The plain array containing field names and values has been replaced with
the field domain model. For this to work correctly some changes are
required in the templates.

The GetFieldLabelFromUidViewHelper is replaced with the new
GetFieldLabelViewHelper which expects a field object instead of a field
UID.

Additinally the grouping functions in the Div class will now cast the
field object to a string before using them as array keys. The same change
is applied to the Google Charts view helpers and the VariableInVariable
view helper.

Resolves: #56043
Releases: 2.1
Change-Id: Id12fbfc086c43eaed4029ec2dd544565314dfd45
[WIP][BUGFIX] Fix rendering of marketing data

This patch fixes the rendering of the marketing data charts that are
broken after the resturcturing.

The getter for the marketingPageFunnel will now always return an array
to prevent warnings in other places. Additinally a new getter was added
that returns the UID of the last visited page.

The ReportingMarketingBe template was restructured and is now displaying
charts of the new marketing properties.

Additinally a condition in the ListBe template is fixed and debug output
is removed.

WIP: Since it would be good to display the page names in the charts too
the page title needs to be retrieved already in the Div class.

Releases: 2.1
Change-Id: I23c4f2a8bb56f05900fbb10411e0e8ce6a1bedb4
[BUGFIX] Prevent NULL value for marker column

Since TYPO3 6.2 allows inserting NULL values in the database you will
get an error when you switch the field type before entering a name
because the marker value is NULL instead of an empty string.

This patch adds a typecast to the initialization of the marker column
to prevent this database error.

Releases: 2.1
Change-Id: Id79fbfe6ca43125cd5f901f2b0ef6573ce7a5f0e
[BUGFIX] Keep checked status of checkboxes

The checked status of checkboxes is stored in an array
(tx_powermail_pi1[field][marker][index]). The PrefillFieldViewHelper
will now check if an indexed value exists and keep the selected
checkboxes on validation errors.

Resolves: #56116
Releases: 2.1
Change-Id: I05406202ce9269a8423000e15c34e13f7d14c644
[FEATURE] Allow all OutputController actions

This patch adds a new entry to the switchableControllerActions
dropdown of the Output plugin that enables all available actions:
list, show, export, rss, edit and update.

Resolves: #56197
Releases: 2.1
Change-Id: I7b9c13533f5d5c21babe66aed04929219f97deb5
[BUGFIX] Prevent PHP error in OutputController

To prevent a PHP error in the OutputController when not TypoScript
template is included the initialization of the settings is moved
from initializeObject() to initializeAction().

In this method it is possible to build the controller context because
all required objects were initialized. The controller context is
needed for flash message display.

Resolves: #56198
Releases: 2.1
Change-Id: Ia6ac4b9ee4c25d171eb2719af20eb1fcda184069
[BUGFIX] Use correct setting names in OutputController

The showAction will now use the configured fields from
settings.single.fields and the editAction will use the configured
fields from settings.edit.fields.

Releases: 2.1
Change-Id: Ifc93ad33e0d1be3c62bd2746333b98e48481d28d
[FEATURE] Re-use form features for Output edit action

This patch removes the partials for the form fields generated by
the OutputController and replaces the with the default form fields.

Additionally a loop over the form pages was introduced to display the
fieldset headers and to prevent an error when an invalid array access
is used for the pages object storage.

For this change to work the PrefillViewHelper now accepts an answer
as an additional argument and the answer argument is passed on to this
view helper in the form field partials that are used in the
OutputController.

Some commented code is removed from the Input partial because the
ViewHelpers will still be executed otherwise.

Resolves: #56201
Releases: 2.1
Change-Id: Iba9e84adc3f983d76ef8f2d5939654cb7faec1ed