[BUGFIX] Adapt ShowPic popup to use FAL

If not using own Lightboxes TYPO3 ships a custom solution
of an image-enlarge popup. This combines an eID for rendering
the image as well as a short JavaScript snippet opening that
in a new window.

The php code for rendering that link as well as the popup code
itself are not fal aware and to image-processing on their own.
As a result this feature is only able to deal with files in local
file system.

This change refactors both imageLinkWrap as well as
ShowImageController to use and work on FAL objects.

Releases: 6.2
Resolves: #56723
Change-Id: Iebf1379b8f72cf57d69a06b0b7540cbd8ccb32c1
Reviewed-on: https://review.typo3.org/28252
Reviewed-by: Frans Saris
Tested-by: Frans Saris
Reviewed-by: Fabien Udriot
Tested-by: Fabien Udriot
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[TASK] Text changes in the Install Tool

Fix many small grammar and typo issues. Rewrite some larger
portions of text to be more clear to the user. These
rewrites are listed in the issue tracker.

Resolves: #56754
Related: #51965
Releases: 6.2
Change-Id: I72f3ccbbeb815d93e904154b5da0ad48213ed63c
Reviewed-on: https://review.typo3.org/28287
Reviewed-by: Sebastian Fischer
Reviewed-by: Ernesto Baschny
Tested-by: Ernesto Baschny
[BUGFIX] Split functional workspaces DataHandling test execution

Travis-CI stops after 10 minutes of not having received any data,
unfortunately it seems that the execution of the whole bunch of
functional workspaces tests takes longer,
see https://travis-ci.org/TYPO3/TYPO3.CMS/jobs/20590551

The "solution" is to explicitly split up these tests for
parallel execution in Travis-CI.

Resolves: #56806
Releases: 6.2
Change-Id: Ib5e67e6793adb9d7896ce89872ccfa080ca849bd
Reviewed-on: https://review.typo3.org/28289
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[BUGFIX] Only valid package names will be processed.

To prevent the extension manager from further steps while
invalid package keys exists in the system, the package keys are
validated earlier.

This prevents further actions that will lead to rewrite
of PackageState.php and invalid opcode cache.

Change-Id: Ib8d9f25dc1d6c97b94a59b15255b96d5a1960093
Resolves: #56532
Releases: 6.2
Reviewed-on: https://review.typo3.org/28286
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[TASK] Remove functional workspaces DataHandlerTest

DataHandling::canChangeTtContentInTheWorkspace() is now covered
by DataHandling\Regular\Modify\ActionTest::modifyContent() with
additional assertions. The mentioned test class can be removed.

Resolves: #56805
Releases: 6.2
Change-Id: I968c593f50cd7453db87e1c4fe9e0478cf045381
Reviewed-on: https://review.typo3.org/28288
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[TASK] Reduce record data in functional test failure message

If records are found in a database table that are not part of
the assertion data-set, currently the whole record array from
the database is shown as failure.
The assertion has information about the fields that should have
been asserted. To keep a better overview, the failure message
is reduced now to exactly those fields.

Resolves: #56803
Releases: 6.2
Change-Id: Ib8f2afd0d464e8a4b850929277508770ff56eb91
Reviewed-on: https://review.typo3.org/28285
Reviewed-by: Wouter Wolters
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[BUGFIX] Outside storages can never be marked as public

There are some edge cases where "is_public"
can never be true within a storage record in the BE,
for instance for storage located outside
the document root or for storage driven by special driver
such as Flickr, ...

Change-Id: Id7ce8006f182c98d7a908c2e6c49e0c66a7c9da4
Releases: 6.2
Resolves: #56730
Reviewed-on: https://review.typo3.org/28224
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
Reviewed-by: Frans Saris
Tested-by: Frans Saris
[TASK] Enable info icon for inline fileReference elements

The editor has no way to find the origin of the shown files when
you add file to a content element for instance.

This patch changes the default settings of
ExtensionManagementUtility::getFileFieldTCAConfig() so
the info icon is shown.

Resolves: #56804
Releases: 6.2
Change-Id: I00752e73f891285525a7aae1a9c5caddfacc13d4
Reviewed-on: https://review.typo3.org/28291
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
[CLEANUP] ClassLoader

Add methods to better structure class information loading/creation.
This is necessary as the follow up patches will need this code
more often.

Resolves: #56797
Releases: 6.2
Change-Id: I1f15fbd262036b6b2d0159cd0e9613ad7135a296
Reviewed-on: https://review.typo3.org/28279
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
Reviewed-by: Sebastian Fischer
Reviewed-by: Patrick Broens
Tested-by: Patrick Broens
[TASK] Use prepared statements in generic persistence

While Typo3DbBackend claims to be the glue between Extbase
and TYPO3, it hardly uses the TYPO3 DB API.

This patch enhances getObjectData- and getObjectCountByQuery
- the main methods used when dealing with domain models
through a repository - to use the TYPO3 DB API. In conjunction
this enables Extbase to use the preparedStatement introduced
in TYPO3 4.5.

Because prepared queries might not be desirable in all circum-
stances, they are disabled by default. They can be enable on
a per-query-basis via
  $query->getQuerySettings()->setUsePreparedStatement(TRUE);

Prepared statements will *only* be used for SELECT queries.

* consistent use of the TYPO3 DB API
  use exec_SELECTgetRows and exec_SELECTcountRows() even for
  non-prepared queries. This should help a lot along the way
  to support DBAL.

* preparedStatement in custom statements
  When using custom statements, it's now possible to use a pre-
  pared statement in $query->statement(), instead of a query-
  string. The prepared statement has to be initialized already
  though, because Extbase cannot take care of splitting your
  custom query string. The parameters are given as array in the
  second argument as usual.

* deprecated using parameters in non-prepared custom statement
  If a custom query string is used with $query->statement(),
  giving the parameters in the second argument is deprecated.

* get count working
  Counting - especially with limit and offset - has been broken
  for quite some time now. By refactoring the limit and offset
  parameters and adapting exec_SELECTcountRows() this should
  now work again.

The next step is to separate the query parsing from the backend
and introduce an intelligent query cache. This will work as a
drop-in-replacement. The @todo-annotations are intended to stay
there for the next patch.

Resolves: #55360
Releases: 6.2
Change-Id: I91a3fd69470df178a8a5465511e50766b50d7f52
Reviewed-on: https://review.typo3.org/27426
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
Reviewed-by: Marc Bastian Heinrichs
Reviewed-by: Ernesto Baschny
Tested-by: Ernesto Baschny
[BUGFIX] Download link for absolute file path

Support FAL adapters that return absolute urls as public file url

Change-Id: I68f2675a1a5137e6d0c5cadee7b21e82e8730fdf
Resolves: #56659
Releases: 6.2
Reviewed-on: https://review.typo3.org/28168
Reviewed-by: Wouter Wolters
Reviewed-by: Christian Weiske
Tested-by: Christian Weiske
Reviewed-by: Frans Saris
Tested-by: Frans Saris
[BUGFIX] Wrong namespace in functional test of FluidTemplate cObject

Resolves: #56816
Releases: 6.2
Change-Id: I3abed35a5e27bdc9db2b18d5caa13681ef5a9305
Reviewed-on: https://review.typo3.org/28294
Reviewed-by: Wouter Wolters
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX] FollowUp to #56797 in I1f15fbd262036b6b2d0159cd0e9613ad7135a296

Somehow a double $this->$this slipped into the cleanup on line 390
which now fatals. This needs to be fixed.

Resolves: #56797
Releases: 6.2
Change-Id: Ibb23b5f56c95106c4fea6e9a3ba09fbc9f9905dd
Reviewed-on: https://review.typo3.org/28296
Reviewed-by: Ernesto Baschny
Tested-by: Ernesto Baschny
[TASK] Add functional tests for generic persistence

To backup the changes in Extbase's generic persistence,
we add some functional tests.

Resolves: #55661
Related: #55360
Related: #55167
Releases: 6.2
Change-Id: I0b845618b1cec9788ca36ac59e25ea6779f01cb6
Reviewed-on: https://review.typo3.org/28262
Reviewed-by: Marc Bastian Heinrichs
Tested-by: Marc Bastian Heinrichs
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[TASK] Follow-up to "Add functional tests for generic persistence"

Test directory changed from "Relation" to "Persistence".

Resolves: #55661
Related: #55360
Related: #55167
Releases: 6.2

Change-Id: I422dbfb6bdad4215bdc70dea775917cf3159605f
Reviewed-on: https://review.typo3.org/28297
Reviewed-by: Ernesto Baschny
Tested-by: Ernesto Baschny
[BUGFIX] InvalidArgumentException in ActionControllerTest

The cache identifier causing the exception looks like this:
randomviewobjectpattern_@package_mycontroller_myaction_myformat

However, "@package" should be "@extension" in that regard and
besides that, the cache identifier using the vendor names shall
be used in the tests.

Resolves: #56822
Releases: 6.2
Change-Id: Ic78a8690559486efcbc7f5da7219a445f3f6707f