[FEATURE] BE: Use proper placeholder shim for IE <= 9

The current solution to add HTML5 placeholder
attribute support for unsupported browsers
(which are IE9 and lower) is using a combination
of ExtJS and Prototype, which both need
to be loaded for that.

Currently this is used in FormEngine and
the backend login form.

However, there are better ways of creating
these fallbacks, one being Placeholder.JS
(see http://jamesallardice.github.io/Placeholders.js/)
which can seamlessly be integrated,
and only be loaded for IE9 and less.

Resolves: #60578
Releases: 6.3
Change-Id: If8443276b85d15222c4fc0954e3f79b50ce6a4c9
Reviewed-on: http://review.typo3.org/31830
Reviewed-by: Felix Kopp <felix-source@phorax.com>
Tested-by: Felix Kopp <felix-source@phorax.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
[BUGFIX] Add missing check in PreparedStatement->execute()

When using prepared statements for inserts and updates, the
execute method currently fails due to a missing check on the
return value from $this->statement->result_metadata();

Resolves: #61229
Releases: 6.3, 6.2
Change-Id: Ida17f617915c36a0c2e91663eee64b4c358090e2
Reviewed-on: http://review.typo3.org/32452
Reviewed-by: Mattias Nilsson <tollepjaer@gmail.com>
Tested-by: Mattias Nilsson <tollepjaer@gmail.com>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[BUGFIX] Let Web-View respect TCEMAIN.previewDomain

Added previewDomain in order to have Web-View functioning in the
same way like Page-Preview does.

Fixes: #61226
Related: #30889
Releases: 6.3, 6.2
Change-Id: I872651aeac1bda27f7a8a034fc30a21ff7162df0
Reviewed-on: http://review.typo3.org/32510
Reviewed-by: Oliver Gassner <og@plan2.net>
Tested-by: Oliver Gassner <og@plan2.net>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[TASK] Unify EXT: beuser html table semantics (t3-table)

Bring common html structure for EXT: beuser table. The other
table (above in code) has already been changed before.

Resolves: #61267
Releases: 6.3
Change-Id: I88f688ed421dcf8b2984fe3a1e0204b3ed6e19cf
Reviewed-on: http://review.typo3.org/32504
Reviewed-by: Alexander Opitz <opitz.alexander@googlemail.com>
Tested-by: Alexander Opitz <opitz.alexander@googlemail.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
[TASK] Remove tx_cms_webinfo and tx_cms_webinfo_lang

Remove tx_cms_webinfo and tx_cms_webinfo_lang and use
their namespaced variant for registration into web_info module.

Resolves: #61218
Releases: 6.3
Change-Id: I66c25241197d0b3898aee3e126f0b5b212e38a45
Reviewed-on: http://review.typo3.org/32409
Tested-by: Alexander Opitz <opitz.alexander@googlemail.com>
Reviewed-by: Alexander Opitz <opitz.alexander@googlemail.com>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[!!!][BUGFIX] Avoid to call stdWrap twice

Using the recursive stdWrap will work on the stdWrap twice, although the
output is created only once.

Fix this by preventing the recursive call to stdWrap() if the
current function name is "stdWrap" as this will trigger a call to
stdWrap_stdWrap() later on anyway.

This will change rendering if LOAD_REGISTER or something similar
is used in a recursive stdWrap context.

Resolves: #60135
Releases: 6.3
Change-Id: I728f637b4e34f26b9cf6951f04667c8195638b3d
Reviewed-on: http://review.typo3.org/32466
Reviewed-by: Helmut Hummel <helmut.hummel@typo3.org>
Tested-by: Helmut Hummel <helmut.hummel@typo3.org>
Reviewed-by: Stefan Froemken <froemken@gmail.com>
Tested-by: Stefan Froemken <froemken@gmail.com>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[TASK] Remove class.tslib_pagegen.php from EXT:cms/tslib

Class is unused and contains code that is deprecated and
marked for removal in TYPO3 CMS 6.3

Resolves: #61231
Releases: 6.3
Change-Id: Ia0ec7aa95d54b0372edc340a8986a1d15c43d3e5
Reviewed-on: http://review.typo3.org/32458
Reviewed-by: Alexander Opitz <opitz.alexander@googlemail.com>
Tested-by: Alexander Opitz <opitz.alexander@googlemail.com>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[TASK] Cleanup error handling code and settings description

The error handling code for PHP errors needs some cleanup.
So does the description of the related settings in the Install Tool.

Resolves: #61235
Releases: 6.3, 6.2
Change-Id: Ibd95fcdaa6a50a870035037a2332b95d2c5e1266
Reviewed-on: http://review.typo3.org/32464
Reviewed-by: Alexander Opitz <opitz.alexander@googlemail.com>
Tested-by: Alexander Opitz <opitz.alexander@googlemail.com>
Reviewed-by: Viktor Livakivskyi <invisible.kinder@gmail.com>
Tested-by: Viktor Livakivskyi <invisible.kinder@gmail.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
[TASK] Improve linkvalidator scheduler task usablity

The getAdditionalInformation() method is implemented in the
linkvalidator scheduler task to show more information about
the task in the scheduler Backend module.

Resolves: #61198
Releases: 6.3
Change-Id: Iebb43923b73ff4ecebab4a6747655596be859604
Reviewed-on: http://review.typo3.org/32383
Reviewed-by: Alexander Opitz <opitz.alexander@googlemail.com>
Tested-by: Alexander Opitz <opitz.alexander@googlemail.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
[TASK] Migrate Taskcenter JavaScript to jQuery

Move all JavaScript code to a RequireJS module based
on jQuery.

Resolves: #61322
Releases: 6.3
Change-Id: I8558a4952f22410337011991f304fbec6bb9cb84
Reviewed-on: http://review.typo3.org/32561
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Reviewed-by: Benjamin Mack <benni@typo3.org>
Tested-by: Benjamin Mack <benni@typo3.org>
Reviewed-by: Alexander Opitz <opitz.alexander@googlemail.com>
Tested-by: Alexander Opitz <opitz.alexander@googlemail.com>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[BUGFIX] Allow integers to be converted to objects

In TYPO3 CMS the identity of objects/ records are
integers (uids). Because of that, the persistent object
type converter should be able to convert integers to
objects, not only strings.

Releases: 6.2, 6.3
Resolves: #61292
Change-Id: I0b69295ae7adfdbe49cf19056614b984f34290c6
Reviewed-on: http://review.typo3.org/32543
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Stefan Froemken <froemken@gmail.com>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[BUGFIX] where statement in typoscript select with stdWrap

The 'where' part of the statement now takes stdWrap properties
into account.

Resolves: #61117
Releases: 6.3, 6.2
Change-Id: Id1b2fe88a1cc72ca12acdb6628ed4b713e121798
Reviewed-on: http://review.typo3.org/32296
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[BUGFIX] Make TCA property "exclusiveKeys" work with single key

It is necessary that "exclusiveValues" is a string in the JavaScript
method FormEngine.setSelectOptionFromExternalSource() because
in JavaScript strings (but not numbers) have a method match() which
is used in FormEngine.setSelectOptionFromExternalSource().

"exclusiveValues" representing a single key (e.g. -1) are of type
"Number" - in this case an JavaScript error is thrown when the
script calls match() on it.

This commit ensures that "exclusiveValues" is always casted to
String.

Resolves: #61276
Releases: 6.3, 6.2
Change-Id: I049a5e6d11b3b27be901baa1e00429ab200b9a04
Reviewed-on: http://review.typo3.org/32591
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[BUGFIX] indexed_search: in some cases indexing does not work

In some cases $pObj->register['SYS_LASTCHANGED'] is NULL and therefore
a MySQL error occurs during indexing a page. So, in these cases,
we need to set the 'mtime' value by getting it from the page and we
always want to prevent a NULL-value getting inserted into the DB.

Resolves: #61135
Releases: 6.1, 6.2, 6.3
Change-Id: Idb78af3aa23350db4bd43f58638541e6b3ad3ae3
Reviewed-on: http://review.typo3.org/32355
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
Reviewed-by: Helmut Hummel <helmut.hummel@typo3.org>
[FEATURE] Add generic data-* attribute

All elements in HTML5 can have any number of data-* attributes.
This additional array attribute on tag bases viewhelpers makes
it easier to add several data-* attributes to them:
  <f:form.textfield data="{foo: 'bar', baz: 'foos'}" />

Will render:
  <input data-foo="bar" data-baz="foos" ...

This is a backport from TYPO3.Fluid

Resolves: #61351
Related: #35748
Releases: 6.3
Change-Id: I3a6483e3293a7e18a3ee7fb5b04bf28bdb19d63d
Reviewed-on: http://review.typo3.org/32590
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Martin Sonnenholzer <martin.sonnenholzer@googlemail.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
[TASK] Remove class.tx_cms_layout.php from EXT:cms/layout

Class in unused and marked for removal in TYPO3 CMS 6.2

Resolves: #61232
Related: #61218
Releases: 6.3
Change-Id: I720020e5d36045f2cba3535b9bbb043c34f33715
Reviewed-on: http://review.typo3.org/32459
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
[TASK] Additional Documentation for #61351

Add documentation for changelog for merged feature
'Add generic data-* attribute' for Fluid ViewHelpers.

Change-Id: Idfa80355b23d98ab6d9bf6b4ec3bed74b3365a7c
Resolves: #61389
Related: #61351
Releases: 6.3
Reviewed-on: http://review.typo3.org/32612
Reviewed-by: Frank Nägler <typo3@naegler.net>
Tested-by: Frank Nägler <typo3@naegler.net>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
[BUGFIX] colPos_list sets access to edit areas

The property mod.SHARED.colPos_list used to determine which columns
were visible in the Page module. With backend layouts it will only
determine which edit areas in the backend layout are accessible for
editing.

Resolves: #39967
Releases: 6.3, 6.2
Change-Id: Iba65ce84adf025802d1b0ebda00dff4d6299a06a
Reviewed-on: http://review.typo3.org/31783
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Marcin Sągol <marcin@soee.pl>
Reviewed-by: Jo Hasenau <info@cybercraft.de>
Reviewed-by: Jigal van Hemert <jigal.van.hemert@typo3.org>
Tested-by: Jigal van Hemert <jigal.van.hemert@typo3.org>
[TASK] Remove the closing PHP tag

During the last year some closing PHP tags are added again.
Remove the new added closing tags.

Resolves: #61393
Releases: 6.3
Change-Id: I40612b7ae10f3b0341bf46a894d193dbd732a70b
Reviewed-on: http://review.typo3.org/32614
Reviewed-by: Frank Nägler <typo3@naegler.net>
Reviewed-by: Benjamin Mack <benni@typo3.org>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
[BUGFIX] Fix loading of registry entries for namespace

When calling get(), all entries for the given namespace are loaded only
if no value for this namespace has been set() before in the same run.

This patch fix this by tracking the loading of namespaces and check the
state before set() or get() is processed. In case the namespace was not
loaded before, the loadEntriesByNamespace() is called to prevent
overwrite of values.

Resolves: #53182
Releases: 6.3, 6.2
Change-Id: Ib09e5892e35cef998413d2f0d8039ed49a7e7226
Reviewed-on: http://review.typo3.org/32608
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>