Packages/TYPO3.CMS.git
6 months ago[RELEASE] Release of TYPO3 9.4.0 80/58180/2 v9.4.0
Oliver Hader [Tue, 4 Sep 2018 12:07:49 +0000 (14:07 +0200)]
[RELEASE] Release of TYPO3 9.4.0

Change-Id: I10cf279d74af2cfc2964704ba31c6ce2b7be3493
Reviewed-on: https://review.typo3.org/58180
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
6 months ago[BUGFIX] Avoid insufficient workspace version constraint 60/58160/4
Oliver Hader [Mon, 3 Sep 2018 19:56:40 +0000 (21:56 +0200)]
[BUGFIX] Avoid insufficient workspace version constraint

Resolves: #86126
Releases: master
Change-Id: I7724cb1415742861a0c6496f4e3888787e6467d4
Reviewed-on: https://review.typo3.org/58160
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
6 months ago[BUGFIX] Resolve version move placeholder in RootlineUtility 78/58178/5
Oliver Hader [Tue, 4 Sep 2018 10:04:24 +0000 (12:04 +0200)]
[BUGFIX] Resolve version move placeholder in RootlineUtility

In order to correctly work with rootlines (e.g. when resolving
according sites and pseudo-sites for URL resolving and generation)
possible version move placeholders have to be resolved.

Resolves: #86137
Releases: master
Change-Id: Ief9841f7592018292c034c03c45343363cf79248
Reviewed-on: https://review.typo3.org/58178
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
6 months ago[TASK] Move documentation files into 9.4 folder - part 3 66/58166/7
Anja [Mon, 3 Sep 2018 21:07:47 +0000 (23:07 +0200)]
[TASK] Move documentation files into 9.4 folder - part 3

The change also contains some documentation related improvements
in some code files, where the need occured.

Change-Id: I346fd70e20bd0765ac4cc663dc7e3fd73d02651b
Resolves: #86075
Releases: master
Reviewed-on: https://review.typo3.org/58166
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
6 months ago[BUGFIX] Do not double-prepend the URL scheme on preview URLs 77/58177/2
Benni Mack [Tue, 4 Sep 2018 09:19:15 +0000 (11:19 +0200)]
[BUGFIX] Do not double-prepend the URL scheme on preview URLs

When having a pseudo-site the view functionality is broken
due to some different handling how to deal with protocols.

Resolves: #86134
Releases: master
Change-Id: Ia3b08ce968ecfdce631ce9c7ff9c973cfb25eef5
Reviewed-on: https://review.typo3.org/58177
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
6 months ago[TASK] Wrap error UnknownElement with proper HTML 73/58173/3
Georg Ringer [Tue, 4 Sep 2018 05:41:27 +0000 (07:41 +0200)]
[TASK] Wrap error UnknownElement with proper HTML

Show the error with a proper markup. Also hightlight type and
render type as code.

Resolves: #86133
Releases: master, 8.7
Change-Id: I79323aaff834c47e6ff875f8a584b2c88f42c51d
Reviewed-on: https://review.typo3.org/58173
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Tested-by: Mathias Brodala <mbrodala@pagemachine.de>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
6 months ago[BUGFIX] Allow getPagesTSconfig to be called without BE_USER 74/58174/2
Benni Mack [Tue, 4 Sep 2018 07:08:19 +0000 (09:08 +0200)]
[BUGFIX] Allow getPagesTSconfig to be called without BE_USER

Due to refactorings lately in BackendUtility::getPagesTSconfig() with
which results in a fatal error when clearing page cache while persisting an
extbase object.

The patch adds a test without a Backend User, and encapsulates this
with a simple if() statement. However, this also shows that some
other areas that are touched are not fully notice-free / strict, which
are tackled as well.

Resolves: #85310
Releases: master
Change-Id: I0f1318d395451e704e1783e841d96583efe2a560
Reviewed-on: https://review.typo3.org/58174
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Markus Klein <markus.klein@typo3.org>
6 months ago[BUGFIX] Abort `nodeSelectedAfter` on unchecked nodes 36/57836/4
Andreas Fernandez [Wed, 8 Aug 2018 20:39:41 +0000 (22:39 +0200)]
[BUGFIX] Abort `nodeSelectedAfter` on unchecked nodes

If a node in the page tree is clicked, the `nodeSelectedAfter` event is
triggered for any active node that is being deactivated.

The event listener is now aborted if the event is called on a unchecked
node.

Resolves: #85787
Releases: master
Change-Id: I4fa5bbc4290b5ffd2ecb77a901dceb042dff3d27
Reviewed-on: https://review.typo3.org/57836
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Paweł Rogowicz <rogowicz.pawel@gmail.com>
Tested-by: Paweł Rogowicz <rogowicz.pawel@gmail.com>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
6 months ago[BUGFIX] Template module must respect workspaces 71/58171/2
Andreas Fernandez [Mon, 3 Sep 2018 21:50:12 +0000 (23:50 +0200)]
[BUGFIX] Template module must respect workspaces

The template module now respects the workspace constraint of the current
backend user and the stored sys_template records.

Resolves: #86131
Releases: master, 8.7
Change-Id: I0463844c4222957aede4b4ca749a3368cb399f81
Reviewed-on: https://review.typo3.org/58171
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
6 months ago[BUGFIX] Make debug exceptions scrollable in backend context 72/58172/2
Benjamin Kott [Mon, 3 Sep 2018 22:02:40 +0000 (00:02 +0200)]
[BUGFIX] Make debug exceptions scrollable in backend context

Resolves: #86132
Releases: master
Change-Id: I34a09ec83491b0f08e0a094680fbd93057ad76a4
Reviewed-on: https://review.typo3.org/58172
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
6 months ago[BUGFIX] Use same height for tree bar as for the right module 67/58167/3
Georg Ringer [Mon, 3 Sep 2018 21:17:10 +0000 (23:17 +0200)]
[BUGFIX] Use same height for tree bar as for the right module

Fix 1px off error in page tree toolbar.

Resolves: #86098
Releases: master
Change-Id: Ia1476d57b935159fc32e40a9134c7c7a1e9a6ef3
Reviewed-on: https://review.typo3.org/58167
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
6 months ago[BUGFIX] use gmmktime in checkConditionMatcherForDateFunction unit test 65/58165/2
Jigal van Hemert [Mon, 3 Sep 2018 20:58:40 +0000 (22:58 +0200)]
[BUGFIX] use gmmktime in checkConditionMatcherForDateFunction unit test

The arguments are now treated as parts of a UTC date/time and
prevents different results depending on the system date.timezone
settings.

Releases: master
Resolves: #86128
Change-Id: Ieb336ea43eb246ec0e0c5a7db8194c03a0801f83
Reviewed-on: https://review.typo3.org/58165
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
6 months ago[BUGFIX] Ensure slug update wizard uses proper sorting 53/58153/2
Benni Mack [Mon, 3 Sep 2018 19:06:22 +0000 (21:06 +0200)]
[BUGFIX] Ensure slug update wizard uses proper sorting

If two subpages share the same name, it is important, that the first
page gets a proper name, and the second one follows the uniqueInSite pattern.

Also, sorting by workspaces (live first), PID and then sorting seems to be
just logical. I wonder why I did not add this before.

Resolves: #86120
Releases: master
Change-Id: I53f279034c2c61a31b50fc973721827f0c2685ba
Reviewed-on: https://review.typo3.org/58153
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
6 months ago[TASK] Ensure version placeholders get updated on slug changes 50/58150/3
Oliver Hader [Mon, 3 Sep 2018 18:46:26 +0000 (20:46 +0200)]
[TASK] Ensure version placeholders get updated on slug changes

This change ensures that workspace version placeholders are kept
in sync when slug values (TCA type 'slug') are modified in their
specific workspace version. This is done implicitly without the
requirement to define shadowColumnsForNewPlaceholders in TCA.

Resolves: #86117
Releases: master
Change-Id: I11baab1e2154b5f3a043a29c08617c0ad360226a
Reviewed-on: https://review.typo3.org/58150
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
6 months ago[BUGFIX] Resolve workspace records for template module overview 82/57982/5
Oliver Hader [Tue, 21 Aug 2018 10:45:20 +0000 (12:45 +0200)]
[BUGFIX] Resolve workspace records for template module overview

BackendWorkspaceRestriction automatically resolves specific records
already for a given workspace. In most cases this seems to be fine to
omit the usual workspace overlay processing. However, especially when
dealing with references and page tree assignments, it just contains
wrong information.

For instance all workspace versions have the `pid` column set to -1
which of course cannot be resolved as valid page then.

Resolves: #85917
Releases: master, 8.7
Change-Id: Ibe20037b25770bea8f58d1a8bba785ca43ac26cb
Reviewed-on: https://review.typo3.org/57982
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
6 months ago[BUGFIX] Create root page with slug field filled on installation 62/58162/2
Benni Mack [Mon, 3 Sep 2018 20:19:43 +0000 (22:19 +0200)]
[BUGFIX] Create root page with slug field filled on installation

The root page should contain as best practice the "/" as slug,
after a successful installation.

Resolves: #86125
Releases: master
Change-Id: I2dced238f3482564f4c23fae6c191b68fc500b8e
Reviewed-on: https://review.typo3.org/58162
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
6 months ago[BUGFIX] Remove console.log() on wizard execution 63/58163/2
Andreas Fernandez [Mon, 3 Sep 2018 20:43:01 +0000 (22:43 +0200)]
[BUGFIX] Remove console.log() on wizard execution

Resolves: #86127
Releases: master
Change-Id: I2b900305cb505c52886b012d7d9a3303f6a0a233
Reviewed-on: https://review.typo3.org/58163
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
6 months ago[BUGFIX] Create proper FE links in Web->View module 57/58157/7
Christian Kuhn [Mon, 3 Sep 2018 19:40:11 +0000 (21:40 +0200)]
[BUGFIX] Create proper FE links in Web->View module

Resolves: #86124
Releases: master
Change-Id: Icb706e585af8e0c0acd993f15d17276024bc5503
Reviewed-on: https://review.typo3.org/58157
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
6 months ago[BUGFIX] Declare strict types in SlugEnricher 51/58151/2
Andreas Fernandez [Mon, 3 Sep 2018 19:03:57 +0000 (21:03 +0200)]
[BUGFIX] Declare strict types in SlugEnricher

Resolves: #86118
Related: #85937
Releases: master
Change-Id: Id913e98e360d06f8db61bbde8c49a131715f2240
Reviewed-on: https://review.typo3.org/58151
Reviewed-by: Richard Haeser <richard@maxserv.com>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
6 months ago[BUGFIX] Auto-generate slug when invalid characters are given 55/58155/2
Benni Mack [Mon, 3 Sep 2018 19:14:45 +0000 (21:14 +0200)]
[BUGFIX] Auto-generate slug when invalid characters are given

If a page title is like "!!!" this currently results in an invalid slug.

The generator now auto-generates something with "default-hashXYZ"
in order to always be unique on creation time.

Resolves: #86122
Releases: master
Change-Id: I453e2155c29f1bde4d05d481e0ae43913bc5ad8b
Reviewed-on: https://review.typo3.org/58155
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
6 months ago[BUGFIX] Cast return value of getLivePageUid to int 52/58152/2
Susanne Moog [Mon, 3 Sep 2018 19:02:47 +0000 (21:02 +0200)]
[BUGFIX] Cast return value of getLivePageUid to int

On database systems like sqlite fields like uid or
t3ver_oid are returned as string and need to be casted.

This casting has been added in PreviewUriBuilder
->getLivePageUid.

Resolves: #86119
Releases: master
Change-Id: I7fec760b0aee749e72a640488e1021681471c9ec
Reviewed-on: https://review.typo3.org/58152
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Richard Haeser <richard@maxserv.com>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: TYPO3com <no-reply@typo3.com>
6 months ago[TASK] Deprecate class AltPageTitleProvider 54/58154/3
Richard Haeser [Mon, 3 Sep 2018 19:13:05 +0000 (21:13 +0200)]
[TASK] Deprecate class AltPageTitleProvider

Because the usage of $GLOBALS['TSFE']->altPageTitle is deprecated
since version 9 and will be removed in version 10, the whole class
can be deprecated.

Resolves: #86121
Releases: master
Change-Id: Ifc846550d1132ac15e35fcd7e0357a45c015ee53
Reviewed-on: https://review.typo3.org/58154
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Richard Haeser <richard@maxserv.com>
Tested-by: Richard Haeser <richard@maxserv.com>
Reviewed-by: Björn Jacob <bjoern.jacob@tritum.de>
Tested-by: Björn Jacob <bjoern.jacob@tritum.de>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: TYPO3com <no-reply@typo3.com>
6 months ago[TASK] Cleanup PageTitle API 56/58156/2
Richard Haeser [Mon, 3 Sep 2018 19:18:27 +0000 (21:18 +0200)]
[TASK] Cleanup PageTitle API

Some small indentation fixes.

Resolves: #86123
Releases: master
Change-Id: Idd5cc7f9cb206516930e5a888449d1204ee9ae11
Reviewed-on: https://review.typo3.org/58156
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Björn Jacob <bjoern.jacob@tritum.de>
Tested-by: Björn Jacob <bjoern.jacob@tritum.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: TYPO3com <no-reply@typo3.com>
6 months ago[BUGFIX] Avoid database upgrade failures when adding slug field 46/58146/5
Oliver Hader [Mon, 3 Sep 2018 17:19:04 +0000 (19:19 +0200)]
[BUGFIX] Avoid database upgrade failures when adding slug field

When upgrading with e.g. MSSQL it should be noted, that the
pages.slug DB field should be a varchar database field (instead of
"text"), which can be null, allowing the field to be created when
upgrading an instance, without having the upgrade wizard run yet.

So all slug fields are set to null, and can be ommitted correctly.

Resolves: #86116
Releases: master
Change-Id: Iedf62d1a145c25d0ecbc9e25c163255173cdb2d7
Reviewed-on: https://review.typo3.org/58146
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
6 months ago[TASK] Revert "Move LocalConfiguration* files to config folder" 47/58147/4
Benni Mack [Mon, 3 Sep 2018 17:36:42 +0000 (19:36 +0200)]
[TASK] Revert "Move LocalConfiguration* files to config folder"

This reverts commit 277c677a967fcca5a158042465bfe35da9a3fa15.

This change was meant as a pre-cursor to the new config handling,
which needs some more thoughts on how to deal with AdditionalConfiguration.php
in the future, and is reverted for the time being.

Resolves: #86115
Reverts: #84623
Releases: master
Change-Id: Ib46666856b3ed797f574f10f2af024d29bdad956
Reviewed-on: https://review.typo3.org/58147
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Jigal van Hemert <jigal.van.hemert@typo3.org>
Tested-by: Jigal van Hemert <jigal.van.hemert@typo3.org>
6 months ago[TASK] Switch UserStorageCapabilityService to a renderType 41/58141/4
Christian Kuhn [Mon, 3 Sep 2018 14:16:34 +0000 (16:16 +0200)]
[TASK] Switch UserStorageCapabilityService to a renderType

Using a TCA type=user with a custom renderType is much more
elegant since the registered element can then fully access
$this->data and has control of node expansion and all the
other goodies that come with own renderType in comparison
to the shabby limited type=user with userFunc.
The patch switches the 'is_public' type=user userFunc to
a proper renderType and fixes the incomplete HTML of this
field along the way.
Note a type=check with own renderType is not possible in
this case since the config has no items array.

Resolves: #86109
Releases: master
Change-Id: I72507a4660fc64e5c2df60768564a788a4c38a05
Reviewed-on: https://review.typo3.org/58141
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
6 months ago[BUGFIX] Use SiteLanguage in forms 69/57969/5
Julian Wundrak [Mon, 3 Sep 2018 07:27:26 +0000 (09:27 +0200)]
[BUGFIX] Use SiteLanguage in forms

TranslationService of forms only respect language sets in TypoScript.
Use SiteLanguage is the leading configuration and TypoScript as
fallback.

Resolves: #85909
Releases: master
Change-Id: I961161434e38916e8885af883523eff98f0b467c
Reviewed-on: https://review.typo3.org/57969
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Julian Wundrak <julian@wundrak.net>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
6 months ago[BUGFIX] Ensure that slugs are always calculated in DataHandler 98/58098/14
Oliver Hader [Sun, 2 Sep 2018 21:19:52 +0000 (23:19 +0200)]
[BUGFIX] Ensure that slugs are always calculated in DataHandler

When NOT using FormEngine to create a new page (e.g. in the pagetree
or via the "Create multiple pages" wizard), so just using DataHandler
magic is uttermost critical that a slug is always created, to ensure
the "uniqueInSite" functionality, and to access a page, even though
the page was created after the upgrade wizard has run.

Resolves: #86050
Resolves: #85937
Releases: master
Change-Id: I9eff3385c369a04a6f5a33d0b840b6a2b698891c
Reviewed-on: https://review.typo3.org/58098
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
6 months ago[BUGFIX] Only unlock records in BE user log off functionality 45/58145/5
Benni Mack [Mon, 3 Sep 2018 16:53:04 +0000 (18:53 +0200)]
[BUGFIX] Only unlock records in BE user log off functionality

The database table `sys_lockedrecords` should only be cleared via
the BackendUtility when a Backend user is logging off. Currently, this
is also called for Frontend Users, which actually removes everything
from the currently logged-in backend users with the same uid.

As this is very bad code design on many levels (lockRecords for
unlocking, no context for the authentication user object etc), this
should be encapsulated within the BackendUser object directly anyway.

For further abstractions, this could also be a hook or something else,
to be even cleaner.

Resolves: #86113
Releases: master, 8.7
Change-Id: I44d91064edb6ec9ef4c148e48b67bdf22da38869
Reviewed-on: https://review.typo3.org/58145
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Markus Klein <markus.klein@typo3.org>
6 months ago[BUGFIX] Avoid suffixing base slug again 44/58144/4
Oliver Hader [Mon, 3 Sep 2018 16:51:35 +0000 (18:51 +0200)]
[BUGFIX] Avoid suffixing base slug again

When invoking slug generation on an empty or base slug (`/`), the
slug will become `//` - which is invalid and has to be avoided.

Resolves: #86114
Releases: master
Change-Id: I66aac94ec9be7992376806d59b7c3ef1bd0e142a
Reviewed-on: https://review.typo3.org/58144
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
6 months ago[BUGFIX] Suffix all interfaces with Interface 43/58143/3
Benni Mack [Mon, 3 Sep 2018 15:54:38 +0000 (17:54 +0200)]
[BUGFIX] Suffix all interfaces with Interface

The patch introducing interfaces for upgrade wizards had some mixed
namings, which are now corrected.

Resolves: #86112
Releases: master
Change-Id: I5ada026d00f9482b1c89fed63cb40a9ba6fb790e
Reviewed-on: https://review.typo3.org/58143
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
6 months ago[TASK] Add missing documentation for typolink.language 42/58142/4
Benni Mack [Mon, 3 Sep 2018 15:19:41 +0000 (17:19 +0200)]
[TASK] Add missing documentation for typolink.language

The newly added functionality for typolink.language
within TypoScript receives a documentation file.

Resolves: #86057
Releases: master
Change-Id: I87031125f879950f926e118bf4b4bcc5a068f39f
Reviewed-on: https://review.typo3.org/58142
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
6 months ago[TASK] Adjust LinkGeneratorTest for non-site scenario 40/58140/6
Oliver Hader [Mon, 3 Sep 2018 10:34:20 +0000 (12:34 +0200)]
[TASK] Adjust LinkGeneratorTest for non-site scenario

When using a Site according "slug" values have to be given in order to
have complete routing information. There won't be pages in sites that
explicitly have empty slugs.

Test cases for sites having slugs are available in
SlugLinkGeneratorTest.  In order to test legacy behavior without having
sites and slugs, the scenario of LinkGeneratorTest has been adjusted
accordingly.

Resolves: #86104
Releases: master
Change-Id: Iea57e62311fc663df772c12530a0c4d4c84aee0f
Reviewed-on: https://review.typo3.org/58140
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
6 months ago[TASK] Add details to message for existing record localization 86/57586/5
Mathias Brodala [Fri, 13 Jul 2018 13:30:38 +0000 (15:30 +0200)]
[TASK] Add details to message for existing record localization

Resolves: #85549
Releases: master
Change-Id: I8a98da8842c6d15175debed5513bbc4bc2bb0a2c
Reviewed-on: https://review.typo3.org/57586
Tested-by: TYPO3com <no-reply@typo3.com>
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>
6 months ago[BUGFIX] Fix migration docs for "language:update" command 39/58139/2
Mathias Brodala [Mon, 3 Sep 2018 12:31:15 +0000 (14:31 +0200)]
[BUGFIX] Fix migration docs for "language:update" command

Also add an example how to pass in multiple language ISO codes
which was done using commas back then and now using spaces.

Resolves: #85694
Related: #82315
Releases: master
Change-Id: I4088b6d313c90e5d882db243ea134250690808cf
Reviewed-on: https://review.typo3.org/58139
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Guido Schmechel <guido.schmechel@brandung.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
6 months ago[TASK] Cleanup UpgradeWizard API 28/58128/10
Susanne Moog [Sun, 2 Sep 2018 15:50:06 +0000 (17:50 +0200)]
[TASK] Cleanup UpgradeWizard API

The upgrade wizard API has been in need of some cleanups
both architectural as well as functional. As a result the
API is now easier to use and more streamlined, and
commands available can also be listed.

Resolves: #86106
Resolves: #86101
Releases: master
Change-Id: I1b5eb3459f0650ac1ed9e85718bfa34eb07e403d
Reviewed-on: https://review.typo3.org/58128
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
6 months ago[BUGFIX] Allow page links to different languages within a site 08/58108/13
Benni Mack [Fri, 31 Aug 2018 20:57:58 +0000 (22:57 +0200)]
[BUGFIX] Allow page links to different languages within a site

Due to the refactoring process within links to a site, it is still
necessary to link to a translated page with a given "&L=" parameter.
This parameter is resolved, and a link to a page translation
is generated.

Fixes menu generation and typolink with the generated page title.

Resolves: #86067
Releases: master
Change-Id: I3e1208a2cdb438c68d4ed3dac1d0274ce07395dc
Reviewed-on: https://review.typo3.org/58108
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
6 months agoRevert "[BUGFIX] Update all languages with CLI command" 37/58137/7
Mathias Brodala [Mon, 3 Sep 2018 11:16:38 +0000 (13:16 +0200)]
Revert "[BUGFIX] Update all languages with CLI command"

This change was not necessary since multiple values can be passed in
separated by spaces instead of commas just like any other Symfony command.

Example:

    bin/typo3 language:update de ja

This reverts commit f612f2e575feeedfaa8bf1b9db043344e0f015b6.

Change-Id: Ie87d8245082613b4185b859f635bf712094ca914
Resolves: #85694
Releases: master
Reviewed-on: https://review.typo3.org/58137
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
6 months ago[BUGFIX] Remove edit link to not existing record 38/58138/2
Anja [Mon, 3 Sep 2018 11:18:16 +0000 (13:18 +0200)]
[BUGFIX] Remove edit link to not existing record

As long as there is no site configuration record to edit,
the title displayed into Sites Module should not carry a link.

Change-Id: I3c177d4ba889a224577ab53c4d2350e04d57049e
Resolves: #86105
Relates: #86069
Releases: master
Reviewed-on: https://review.typo3.org/58138
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
6 months ago[BUGFIX] Update all languages with CLI command 86/57786/2
Guido Schmechel [Thu, 2 Aug 2018 21:26:16 +0000 (23:26 +0200)]
[BUGFIX] Update all languages with CLI command

Now it is possible to pass several Isocodes comma separated
by CLI and to update them.

Releases: master
Resolves: #85694
Change-Id: I1a618d6ed8c3abda650995d5d7d1eb523cff1bc1
Reviewed-on: https://review.typo3.org/57786
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
6 months ago[TASK] Add more info about custom finishers to docs 02/57702/5
Susanne Moog [Fri, 27 Jul 2018 14:52:32 +0000 (16:52 +0200)]
[TASK] Add more info about custom finishers to docs

Resolves: #86103
Releases: master
Change-Id: I485ba2eb933734220381a66256d337ab9f3997ec
Reviewed-on: https://review.typo3.org/57702
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
6 months ago[BUGFIX] Do not fetch type=none fields from db in list module 33/58133/3
Christian Kuhn [Mon, 3 Sep 2018 00:48:04 +0000 (02:48 +0200)]
[BUGFIX] Do not fetch type=none fields from db in list module

A type=none TCA field is the only field type that is entirely ignored
by DataHandler. An incoming value for such a field is discarded in
checkValue_SW() method and not persisted to db.
The list and query modules should not try to fetch this field type
from database, and a type=none field should not be selectable in
list module single table view.
If a field exists in db and should just be formatted and displayed
readOnly, type=input with readOnly=true is a better option.

Resolves: #86092
Releases: master
Change-Id: Ie3b8e966de66bfd7820b6a17853d4ad591480502
Reviewed-on: https://review.typo3.org/58133
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
6 months ago[TASK] Move documentation files into 9.4 folder - part 2 31/58131/5
Anja [Sun, 2 Sep 2018 18:29:24 +0000 (20:29 +0200)]
[TASK] Move documentation files into 9.4 folder - part 2

The change also contains some documentation related improvements
in some code files, where the need occured.

Change-Id: I2f587b405fea331c2e73342c879a4a20a5133351
Resolves: #86075
Releases: master
Reviewed-on: https://review.typo3.org/58131
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Björn Jacob <bjoern.jacob@tritum.de>
Tested-by: Björn Jacob <bjoern.jacob@tritum.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
6 months ago[TASK] Set indexed_search set_id field from type=none to input readOnly 34/58134/2
Christian Kuhn [Mon, 3 Sep 2018 01:41:27 +0000 (03:41 +0200)]
[TASK] Set indexed_search set_id field from type=none to input readOnly

The indexed_search_config field set_id can be easily switched from
type=none to type=input with readOnly=true. This is semantically
more correct since the field does have a db representation and
is just meant to be not editable.

Resolves: #86093
Releases: master
Change-Id: I0cd5b7ab778a80aa9baaa4cf31089e90f3a86602
Reviewed-on: https://review.typo3.org/58134
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
6 months ago[TASK] Make type=passthrough a formEngine element 35/58135/3
Christian Kuhn [Mon, 3 Sep 2018 02:42:02 +0000 (04:42 +0200)]
[TASK] Make type=passthrough a formEngine element

To be more consistent and have one special case less,
type=passthrough columns are now casual elements that
go through the NodeFactory of FormEngine just as all
other types.

Resolves: #86094
Releases: master
Change-Id: I08df7a15101aa8835cf3f1da9b8eb389add2c96e
Reviewed-on: https://review.typo3.org/58135
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
6 months ago[TASK] Streamline PHPDoc comment matches function/method signature 29/58129/4
Wouter Wolters [Sun, 2 Sep 2018 16:03:56 +0000 (18:03 +0200)]
[TASK] Streamline PHPDoc comment matches function/method signature

Resolves: #86088
Releases: master
Change-Id: Ia011b8ca85b8665edd80a093844b5a60a5fe2e29
Reviewed-on: https://review.typo3.org/58129
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
6 months ago[BUGFIX] Do not use empty needle in strpos in SimpleFileBackend 32/58132/3
Jigal van Hemert [Sun, 2 Sep 2018 21:33:59 +0000 (23:33 +0200)]
[BUGFIX] Do not use empty needle in strpos in SimpleFileBackend

This only happens on Windows as the call is inside a condition
that tests for Windows OS.

Releases: master
Resolves: #86091
Change-Id: I0e7801d9e80cf675cc6d99d35cf6dd95c2cace44
Reviewed-on: https://review.typo3.org/58132
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
6 months ago[BUGFIX] Correct HTML nesting in RadioElement 36/58136/2
Christian Kuhn [Mon, 3 Sep 2018 02:48:54 +0000 (04:48 +0200)]
[BUGFIX] Correct HTML nesting in RadioElement

FormEngine RadioElements misses a closing div.

Resolves: #86095
Releases: master
Change-Id: If7041a4579f811fdd3c234815052762048103f89
Reviewed-on: https://review.typo3.org/58136
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Frans Saris <franssaris@gmail.com>
Tested-by: Frans Saris <franssaris@gmail.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
6 months ago[TASK] Add missing @return phpDoc tags 27/58127/3
Wouter Wolters [Sun, 2 Sep 2018 15:24:58 +0000 (17:24 +0200)]
[TASK] Add missing @return phpDoc tags

Resolves: #86087
Releases: master
Change-Id: I6451f520eff1ce0281afda61b0c49eafc2a9a8cb
Reviewed-on: https://review.typo3.org/58127
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
6 months ago[TASK] Remove enm1989/chromedriver dependency 66/57766/6
Christian Kuhn [Wed, 1 Aug 2018 20:41:21 +0000 (22:41 +0200)]
[TASK] Remove enm1989/chromedriver dependency

We don't need chromedriver as dev dependency anymore since
the acceptance tests use selenium via docker nowadays.
Executing ac tests locally will be simplified with another
patch, but using chromedriver is ditched already since
that does not lead to stable tests.

composer remove --dev enm1989/chromedriver

Change-Id: I7af8a1f4ba86ff4058a2726fb74f3d643836f95a
Resolves: #85716
Releases: master
Reviewed-on: https://review.typo3.org/57766
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Andreas Wolf <andreas.wolf@typo3.org>
Tested-by: Andreas Wolf <andreas.wolf@typo3.org>
6 months ago[BUGFIX] Use runtime cache for getIndpEnv() for results which are NULL 05/58005/4
Michael Stucki [Thu, 23 Aug 2018 13:43:49 +0000 (15:43 +0200)]
[BUGFIX] Use runtime cache for getIndpEnv() for results which are NULL

isset() returns FALSE if a cached result is NULL.
Use array_key_exists() instead.

Resolves: #85946
Related: #69173
Releases: master, 8.7
Change-Id: I32bf695f7778213bacc51ed569250466685f1dac
Reviewed-on: https://review.typo3.org/58005
Tested-by: TYPO3com <no-reply@typo3.com>
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>
6 months ago[TASK] Cleanup parameter mismatches 23/58123/2
Wouter Wolters [Sun, 2 Sep 2018 10:40:10 +0000 (12:40 +0200)]
[TASK] Cleanup parameter mismatches

Cleanup function calls that use more parameters than their declaration.

Resolves: #86083
Releases: master
Change-Id: Ic662cf71db4262141fe8754346ff45654d26091d
Reviewed-on: https://review.typo3.org/58123
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
6 months ago[TASK] Use PHP_OS constant instead off php_uname('s') 25/58125/2
Wouter Wolters [Sun, 2 Sep 2018 11:11:02 +0000 (13:11 +0200)]
[TASK] Use PHP_OS constant instead off php_uname('s')

Resolves: #86085
Releases: master
Change-Id: Ida3e389e0d0a1df713aaffcb8ab56756c1454279
Reviewed-on: https://review.typo3.org/58125
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
6 months ago[TASK] Remove redundant parentheses 22/58122/3
Wouter Wolters [Sun, 2 Sep 2018 10:27:39 +0000 (12:27 +0200)]
[TASK] Remove redundant parentheses

Resolves: #86082
Releases: master
Change-Id: I4698f5f6b2a5b6995588d25b9cac3ec875e15b93
Reviewed-on: https://review.typo3.org/58122
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
6 months ago[TASK] Cleanup unused PageUriBuilder options 95/58095/3
Benni Mack [Fri, 31 Aug 2018 07:29:35 +0000 (09:29 +0200)]
[TASK] Cleanup unused PageUriBuilder options

Due to the refactoring of the typolink method, the PageUriBuilder
is now only used for links to pages with a site configuration, so it
can be cleaned up.

This a first step in getting the PageUriBuilder API in shape.

As this class is new, and the options and the class is not public
API yet, this removal does not need any docs.

Resolves: #86052
Releases: master
Change-Id: I56205f4e3fec0e68bd317a45ae1d860f8d84a799
Reviewed-on: https://review.typo3.org/58095
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Frans Saris <franssaris@gmail.com>
Tested-by: Frans Saris <franssaris@gmail.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Jigal van Hemert <jigal.van.hemert@typo3.org>
Tested-by: Jigal van Hemert <jigal.van.hemert@typo3.org>
6 months ago[TASK] Streamline phpDoc order of @param and @var 24/58124/2
Wouter Wolters [Sun, 2 Sep 2018 10:52:59 +0000 (12:52 +0200)]
[TASK] Streamline phpDoc order of @param and @var

Resolves: #86084
Releases: master
Change-Id: I6ebbe0756d799a3c04386c854f6e5e385eeac54f
Reviewed-on: https://review.typo3.org/58124
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
6 months ago[TASK] Use labels and modal in Site module 21/58121/4
Georg Ringer [Sun, 2 Sep 2018 10:20:21 +0000 (12:20 +0200)]
[TASK] Use labels and modal in Site module

Use labels instead of hardcoded text and a modal
asking users if a site configuration should be really deleted.

Resolves: #86078
Releases: master
Change-Id: I49de820ef5e48f88c6449872cfee2eca617c46eb
Reviewed-on: https://review.typo3.org/58121
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
6 months ago[TASK] Replace substr(...) with strpos(...) 66/57466/8
Wouter Wolters [Wed, 4 Jul 2018 18:13:44 +0000 (20:13 +0200)]
[TASK] Replace substr(...) with strpos(...)

strpos will use only CPU resources, substr also needs memory allocation.

Resolves: #85477
Releases: master
Change-Id: Ic25c99986f7e2e7237c10acaa75be8d0f6289f13
Reviewed-on: https://review.typo3.org/57466
Reviewed-by: Jigal van Hemert <jigal.van.hemert@typo3.org>
Tested-by: Jigal van Hemert <jigal.van.hemert@typo3.org>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
6 months ago[TASK] Add pdo_sqlite to list of additional PHP extensions 20/58120/4
Michael Schams [Sun, 2 Sep 2018 00:47:54 +0000 (10:47 +1000)]
[TASK] Add pdo_sqlite to list of additional PHP extensions

TYPO3 now supports SQLite as the DBMS, if PHP module "pdo_sqlite" is
installed and enabled in the system. This change adds the module to
the list of "additional PHP extensions" in file INSTALL.md as an
optional component.
Another outdated line is removed with the patch.

Resolves: #86079
Releases: master
Change-Id: Ic91166e0482bbb80b02937361e2863e9199cae67
Reviewed-on: https://review.typo3.org/58120
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Michael Schams <typo3@2018.schams.net>
Tested-by: Michael Schams <typo3@2018.schams.net>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: TYPO3com <no-reply@typo3.com>
6 months ago[TASK] Link site title in sites module 07/58107/3
Georg Ringer [Fri, 31 Aug 2018 20:21:45 +0000 (22:21 +0200)]
[TASK] Link site title in sites module

To keep the module in sync with the regular list module
the title must be linked as well.

Resolves: #86069
Releases: master
Change-Id: Ice88210c3b532118295238209d799e619408c70f
Reviewed-on: https://review.typo3.org/58107
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
6 months ago[FEATURE] Add hreflang support 05/58105/12
Kevin Appelt [Fri, 31 Aug 2018 15:56:43 +0000 (17:56 +0200)]
[FEATURE] Add hreflang support

This feature adds an hreflang tag for multilanguage-websites (one-tree)
automatically, based on the new LanguageMenuProcessor.

The href is relative as long as the domain is the same.
If the domain differs the href become absolute.
x-default href is the first supported language.

Resolves: #75806
Releases: master
Change-Id: I06754f61d7a03f6894001be11c9ce2a37ac2106f
Reviewed-on: https://review.typo3.org/58105
Reviewed-by: Richard Haeser <richard@maxserv.com>
Tested-by: Richard Haeser <richard@maxserv.com>
Reviewed-by: Björn Jacob <bjoern.jacob@tritum.de>
Tested-by: Björn Jacob <bjoern.jacob@tritum.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: TYPO3com <no-reply@typo3.com>
6 months ago[TASK] Add recreate button to slug field 19/58119/2
Christian Kuhn [Sat, 1 Sep 2018 21:15:37 +0000 (23:15 +0200)]
[TASK] Add recreate button to slug field

Adds a second button next to the 'manually edit slug' button
in pages: If the title is changed, this button can be used
to recalculate a new slug from the changed title.

Resolves: #86077
Releases: master
Change-Id: I862413423cefa1f391321f6d5e5c3d5dba68397e
Reviewed-on: https://review.typo3.org/58119
Tested-by: TYPO3com <no-reply@typo3.com>
Tested-by: Kevin Appelt <kevin.appelt@icloud.com>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
6 months ago[FEATURE] XML Sitemap 57/58057/26
Richard Haeser [Tue, 28 Aug 2018 05:59:29 +0000 (07:59 +0200)]
[FEATURE] XML Sitemap

It is now possible to generate XML sitemaps for SEO purposes without
using 3rd-party plugins. When enabled, this new feature will create a
sitemapindex with one or more sitemaps in it. Out-of-the-box it will
have one sitemap containing all the pages of the current site and
language. Per site and per language you have the possibility to render
a different sitemap.

Resolves: #84525
Releases: master
Change-Id: Iad74b114b9dd37dbc4dd72e244437691fb8c31b5
Reviewed-on: https://review.typo3.org/58057
Reviewed-by: Björn Jacob <bjoern.jacob@tritum.de>
Reviewed-by: Richard Haeser <richard@maxserv.com>
Tested-by: Richard Haeser <richard@maxserv.com>
Tested-by: Kevin Appelt <kevin.appelt@icloud.com>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
6 months ago[TASK] Move documentation files into 9.4 folder - part 1 18/58118/4
Anja [Sat, 1 Sep 2018 19:21:41 +0000 (21:21 +0200)]
[TASK] Move documentation files into 9.4 folder - part 1

Change-Id: I95be0b5c33b9f028d28de7be64a7d18f9554ff78
Resolves: #86075
Releases: master
Reviewed-on: https://review.typo3.org/58118
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Björn Jacob <bjoern.jacob@tritum.de>
Tested-by: Björn Jacob <bjoern.jacob@tritum.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
6 months ago[FEATURE] New API for UpgradeWizards 14/58114/5
Susanne Moog [Thu, 30 Aug 2018 21:45:52 +0000 (23:45 +0200)]
[FEATURE] New API for UpgradeWizards

Build a new Interface based API for UpgradeWizards that
can be used as a base for future improvements.

Resolves: #86076
Releases: master
Change-Id: Ia059dc295e00f5f39849d8dfbc009bf7d8652aba
Reviewed-on: https://review.typo3.org/58114
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
6 months ago[TASK] Refine DebugExceptionHandler 10/58110/8
Markus Poerschke [Sat, 1 Sep 2018 01:44:13 +0000 (03:44 +0200)]
[TASK] Refine DebugExceptionHandler

* Complete new design for the uncaught exception error page
* Show all exceptions by calling all ->getPreviousException
* Show function / method arguments with more detail
* Show code where exception was thrown

Resolves: #86070
Releases: master
Change-Id: I30bee3384cb1ea025e79246599e488540b10b98c
Reviewed-on: https://review.typo3.org/58110
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Kevin Appelt <kevin.appelt@icloud.com>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
6 months ago[BUGFIX] Properly create slug if adding new pages via FormEngine 17/58117/2
Christian Kuhn [Sat, 1 Sep 2018 19:06:30 +0000 (21:06 +0200)]
[BUGFIX] Properly create slug if adding new pages via FormEngine

Adding a page relative to another page (vanillaUid is negative then),
currently creates a slug as if the page in inside the related page.
This is because the vanillaUid is given to the JS and later fed to
the ajax slug creator.
Using 'effectivePid' instead which is the parent page uid if a
new page is added, or the uid of the page recod itself if the
page is edited, solves the issue.

Resolves: #86074
Releases: master
Change-Id: Ia3f89f615699d4e7be6bc1762bc95e17cc1939dc
Reviewed-on: https://review.typo3.org/58117
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Kevin Appelt <kevin.appelt@icloud.com>
Tested-by: Kevin Appelt <kevin.appelt@icloud.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
6 months ago[FEATURE] Add PageTitle API 81/57881/31
Richard Haeser [Sun, 12 Aug 2018 17:31:24 +0000 (19:31 +0200)]
[FEATURE] Add PageTitle API

It is now possible to set the title tag of a page by using
the PageTitle API. You can register your own providers and
set the priority of the provider so you are in control when
multiple extensions of a page trying to set the title.

Resolves: #85678
Releases: master
Change-Id: I1b0314f96b6af7bdad94b9865d2e2525b715d5c3
Reviewed-on: https://review.typo3.org/57881
Reviewed-by: Richard Haeser <richard@maxserv.com>
Tested-by: Richard Haeser <richard@maxserv.com>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
6 months ago[FEATURE] Add commands for listing and showing sites 04/58104/9
Daniel Goerz [Fri, 31 Aug 2018 14:35:15 +0000 (16:35 +0200)]
[FEATURE] Add commands for listing and showing sites

This patch adds the following CLI commands:
site:list - shows a list of all configured sites
site:show - shows the configuration of a single site

Resolves: #86066
Releases: master
Change-Id: I9bfecceea7a28f81f99373ea847e868289de0c70
Reviewed-on: https://review.typo3.org/58104
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
6 months ago[TASK] typo3/testing-framework now flushes runtime caches 08/58008/5
Michael Stucki [Thu, 23 Aug 2018 14:40:50 +0000 (16:40 +0200)]
[TASK] typo3/testing-framework now flushes runtime caches

Unit test tearDown() now always calls
GeneralUtility::flushInternalRuntimeCaches() so most explicit
calls in unit tests can be removed.

composer require --dev typo3/testing-framework:~4.8.2

Resolves: #85948
Related: #85946
Releases: master, 8.7
Change-Id: I798047a06c3265404383540cacbd40d9719e7bfe
Reviewed-on: https://review.typo3.org/58008
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
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>
6 months ago[BUGFIX] Do not remove LocalConfiguration if executing unit tests 13/58113/3
Christian Kuhn [Sat, 1 Sep 2018 13:04:44 +0000 (15:04 +0200)]
[BUGFIX] Do not remove LocalConfiguration if executing unit tests

Unit test and code for #84623 relies on constants PATH_typo3conf and
then removes LocalConfiguration and some other config files if the
test is executed. Since that can't be mocked, the test is removed
to prevent that side effect.

Resolves: #86072
Related: #84623
Releases: master
Change-Id: I3cd9a913e2655e6fcd1209fcfd8365cbcbb4a9ef
Reviewed-on: https://review.typo3.org/58113
Reviewed-by: Richard Haeser <richard@maxserv.com>
Tested-by: Richard Haeser <richard@maxserv.com>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
6 months ago[BUGFIX] Allow config.linkVars to be added for linking to pages with site config 97/58097/2
Benni Mack [Fri, 31 Aug 2018 08:33:14 +0000 (10:33 +0200)]
[BUGFIX] Allow config.linkVars to be added for linking to pages with site config

Due to the refactoring yesterday, the TypoScript option
config.linkVars was removed, but is still a valid use-case to be added.

Resolves: #86054
Releases: master
Change-Id: I6d42c82f474668b62143982b8d9f2adf9b735935
Reviewed-on: https://review.typo3.org/58097
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Frans Saris <franssaris@gmail.com>
Tested-by: Frans Saris <franssaris@gmail.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
6 months ago[TASK] Single slashes for classes in form docs 86/58086/4
Simon Schaufelberger [Thu, 30 Aug 2018 13:09:10 +0000 (15:09 +0200)]
[TASK] Single slashes for classes in form docs

Use single backslash in code block

Releases: master, 8.7
Resolves: #86039
Change-Id: I9d7755c3f0183f4be47fe227a28ac8e186de60f4
Reviewed-on: https://review.typo3.org/58086
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
6 months ago[BUGFIX] Correct global/multiple icon in site configuration overview 11/58111/2
Christian Kuhn [Sat, 1 Sep 2018 09:15:59 +0000 (11:15 +0200)]
[BUGFIX] Correct global/multiple icon in site configuration overview

Resolves: #86071
Releases: master
Change-Id: Ie7ded4da5329a82e2e1ef5f5a995b714abd9aa1d
Reviewed-on: https://review.typo3.org/58111
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Riccardo De Contardi <erredeco@gmail.com>
Tested-by: Riccardo De Contardi <erredeco@gmail.com>
6 months ago[BUGFIX] Do not use deprecated class alias anymore 03/58103/2
Benni Mack [Fri, 31 Aug 2018 12:51:05 +0000 (14:51 +0200)]
[BUGFIX] Do not use deprecated class alias anymore

The class TYPO3\CMS\Lang\LanguageService is gone,
and only exists as class alias.

There are a few places where this class is still
used, and they are replaced.

Resolves: #86064
Releases: master
Change-Id: Ie6a9db14d3db9e3949a04f6ec146a006d792ae9f
Reviewed-on: https://review.typo3.org/58103
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
6 months ago[FEATURE] Add inline AJAX validation for TCA type slug 93/57993/21
Benni Mack [Wed, 22 Aug 2018 21:09:19 +0000 (23:09 +0200)]
[FEATURE] Add inline AJAX validation for TCA type slug

The TCA type slug field is "disabled" / "readonly" by default but
actually has a toggle button (like InputLinkField) to enable that field.

For new records it works like this:
- A title is entered, then the slug field gets prefilled "as-you-type"
  and the editor will see the URL directly. There is a check if the
- If a slug is manually entered:
- It is validated by "isUniqueInSite" to see if that slug is still
   free.
- If the slug is already taken, a proposal is shown below the input
   field to use the proposal for the slug. In any case, when saving,
   the same validation process kicks in anyways.

Existing records do not change their slug by changing the page title,
but only if the slug field gets modified directly.

So for existing records, the following use-cases exist, when a slug
gets manually modified:
- If the page slug is already in use, a proposal for another
  available slug is shown.
- If the page has subpages, a warning will be shown that all
  subpages need to be manually modified (not implemented yet)
- If the page slug will be changed on save, a message is shown that you
  should create a redirect (not implemented yet)

Resolves: #85931
Releases: master
Change-Id: Iabb5f02d43463b3a2bb70197cc8c9585bce1d32d
Reviewed-on: https://review.typo3.org/57993
Reviewed-by: Frans Saris <franssaris@gmail.com>
Tested-by: Frans Saris <franssaris@gmail.com>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
6 months ago[BUGFIX] Missing initialization of typo3/phar-stream-wrapper 69/58069/11
Oliver Hader [Wed, 29 Aug 2018 12:54:50 +0000 (14:54 +0200)]
[BUGFIX] Missing initialization of typo3/phar-stream-wrapper

Functional tests now rely on \TYPO3\CMS\Core\Core\Bootstrap
is setting up the PharStreamWrapper and check that behavior.

Resolves: #86020
Releases: master
Change-Id: I34637eb42d68196b59e311bde975cff002748206
Reviewed-on: https://review.typo3.org/58069
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Frans Saris <franssaris@gmail.com>
Tested-by: Frans Saris <franssaris@gmail.com>
6 months ago[BUGFIX] Expression Language should not crash Backend Modules 02/58102/2
Benni Mack [Fri, 31 Aug 2018 12:18:22 +0000 (14:18 +0200)]
[BUGFIX] Expression Language should not crash Backend Modules

When doing "[page["uid"] >= 284]" in a TypoScript condition, everything works
as expected in Frontend, but in BE it gets messy, as "page" HAS to be an array
to allow to validate this, but page does not always exist.

This comes from a wrong spec, claiming that conditionMatcher->getPage() always
returns an array, which is wrong. So let's make the code return an array all the time.

Resolves: #86062
Releases: master
Change-Id: Ia781c84ffa335fce5ba2d67bbe2997ceab5281b4
Reviewed-on: https://review.typo3.org/58102
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Frans Saris <franssaris@gmail.com>
Tested-by: Frans Saris <franssaris@gmail.com>
6 months ago[TASK] Add frontend functional tests for pages having slugs 15/58015/17
Oliver Hader [Fri, 31 Aug 2018 07:39:35 +0000 (09:39 +0200)]
[TASK] Add frontend functional tests for pages having slugs

Functional tests for pages having site configuration and using slugs
are introduced. Existing tests (not relying on slugs) are still kept
in addition to the new tests in order to still have tests for legacy
"index.php?id=123" behavior.

Resolves: #85962
Releases: master
Change-Id: I7902bfd028f9c8a1d41f3573d72a2a7e96148b43
Reviewed-on: https://review.typo3.org/58015
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Frans Saris <franssaris@gmail.com>
Tested-by: Frans Saris <franssaris@gmail.com>
6 months ago[BUGFIX] Ensure to use parent's page slug for generating a new pages' slug 00/58100/3
Benni Mack [Fri, 31 Aug 2018 09:43:25 +0000 (11:43 +0200)]
[BUGFIX] Ensure to use parent's page slug for generating a new pages' slug

When creating page with slug "/my-page", and then renaming the page title
to "My new page", the slug for a newly created SUBpage will be "/my-new-page/subpage",
however, it is expected to use the slug of the parent page, if it exists,
creating a new URL like "{current-slug-of-parent-page}/subpage"

Resolves: #85997
Releases: master
Change-Id: I1c6371d174c8251623e806beb1544c477c31d5b0
Reviewed-on: https://review.typo3.org/58100
Reviewed-by: Francois Suter <sutfra@gmail.com>
Tested-by: Francois Suter <sutfra@gmail.com>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Frans Saris <franssaris@gmail.com>
Tested-by: Frans Saris <franssaris@gmail.com>
6 months ago[FEATURE] Add pagination and filtering to the redirects module 85/58085/8
Daniel Goerz [Thu, 30 Aug 2018 11:34:43 +0000 (13:34 +0200)]
[FEATURE] Add pagination and filtering to the redirects module

Some minor usability Improvements have been made as well:
- The source path now crops after 100 characters
- The destination column now shows the Page ID if the target is a page
- Redirects are now sorted by source host (1st) and source path (2nd)

Resolves: #83749
Releases: master
Change-Id: I7369814676e851b35da674cc837b094693345650
Reviewed-on: https://review.typo3.org/58085
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Frans Saris <franssaris@gmail.com>
Tested-by: Frans Saris <franssaris@gmail.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
6 months ago[TASK] Streamline page language linking 01/58101/7
Oliver Hader [Fri, 31 Aug 2018 09:59:17 +0000 (11:59 +0200)]
[TASK] Streamline page language linking

When having a Site configuration in order to create a page link for
a specific language new property `language` has to be used instead
of previous `additionalParams=&L=1`. Since it might not be known in
all cases whether the defined TypoScript is used inside or outside
a valid Site configuration, `language` settings now take precedence
and override legacy L-parameter.

Besides that, linking to localized pages was not possible and is
resolved to their language parent pages. The new `language` setting
will be adjusted at the same time as well.

Resolves: #86058
Releases: master
Change-Id: I9531a14f8aa5913a03fdac9fcbdaced57312c2af
Reviewed-on: https://review.typo3.org/58101
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Frans Saris <franssaris@gmail.com>
Tested-by: Frans Saris <franssaris@gmail.com>
6 months ago[BUGFIX] Do not remove trailing slash in slug sanitization 99/58099/2
Benni Mack [Fri, 31 Aug 2018 09:27:54 +0000 (11:27 +0200)]
[BUGFIX] Do not remove trailing slash in slug sanitization

It is totally legitimate to allow /my-page/ as slug (when in FormEngine
just remove the "readonly" attribute of the slug field), if explicitly
wanted.

There is a difference between "generate" (automatically create the slug)
where TYPO3 recommends slugs without slashes, and "sanitize"
to clean up a slug, where "/" is completely valid.

Resolves: #86055
Releases: master
Change-Id: I8e73f27e18fc74242cb230d69a85ec2946cf1dae
Reviewed-on: https://review.typo3.org/58099
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Frans Saris <franssaris@gmail.com>
Tested-by: Frans Saris <franssaris@gmail.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
6 months ago[TASK] Deprecate Extbase CommandControllers and @cli annotation 64/58064/7
Alexander Schnitzler [Sat, 25 Aug 2018 12:27:25 +0000 (14:27 +0200)]
[TASK] Deprecate Extbase CommandControllers and @cli annotation

Back then, the PHPDoc annotation `@cli` was added to indicate
Extbase CommandController commands to be usable on CLI only
instead of also be usable as a scheduler task.

The concept of Extbase Command Controllers has been superseded
with symfony/console and its integration into TYPO3 CLI in TYPO3 v8.0,
and contains all features necessary to build commands of any kind
of complexity.

As a matter of documentation, it is however crucial to document
how to instantiate Extbase from CLI to migrate easily from Extbase CLI
to symfony/console.

Releases: master
Resolves: #85977
Change-Id: Id87c2ce300e01bf649bd1c2219aa17b8437bda83
Reviewed-on: https://review.typo3.org/58064
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Frans Saris <franssaris@gmail.com>
Tested-by: Frans Saris <franssaris@gmail.com>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
6 months ago[FEATURE] Show extensions via CLI 94/58094/6
Benni Mack [Fri, 31 Aug 2018 07:19:01 +0000 (09:19 +0200)]
[FEATURE] Show extensions via CLI

A new Symfony command "extension:list" allows to list all active
extensions.

Using --all option also includes the currently inactive extensions
available for installation and --inactive only shows the currently
inactive extensions available for installation.

Additional description of the extensions can be shown by --verbose / -v.

Resolves: #86051
Releases: master
Change-Id: I88a370a1c2a0b7a850e2e99afba3a992d4dee661
Reviewed-on: https://review.typo3.org/58094
Reviewed-by: Kevin Appelt <kevin.appelt@icloud.com>
Tested-by: Kevin Appelt <kevin.appelt@icloud.com>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Frans Saris <franssaris@gmail.com>
Tested-by: Frans Saris <franssaris@gmail.com>
6 months ago[TASK] Inject PSR-7 data in TSFE methods 93/58093/5
Benni Mack [Thu, 30 Aug 2018 20:39:00 +0000 (22:39 +0200)]
[TASK] Inject PSR-7 data in TSFE methods

The following public methods within TSFE now get a PSR-7 request object
handed in to fetch the GET / POST variables.

- $TSFE->preparePageContentGeneration(ServerRequestInterface $request)
- $TSFE->calculateLinkVars(array $queryParams)
- $TSFE->makeCacheHash()

Note: If a hook modified _GET and preparePageContentGeneration
is called from Core, the state of _GET and $request->getQueryParams()
will differ. This COULD be overcome by using GeneralUtility::_GETset()
which TYPO3 Core and extensions like realurl already use.

Resolves: #86046
Releases: master
Change-Id: Iecb333d1b501c0d14abf4d16d930e715e9bd8d2e
Reviewed-on: https://review.typo3.org/58093
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Frans Saris <franssaris@gmail.com>
Tested-by: Frans Saris <franssaris@gmail.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
6 months ago[TASK] Create URLs with typolink for pages with sites 63/58063/17
Benni Mack [Thu, 30 Aug 2018 17:33:44 +0000 (19:33 +0200)]
[TASK] Create URLs with typolink for pages with sites

The PageLinkBuilder now separates out into generating links
for pages with site configuration, and without site
configuration (= as before).

The new link mechanism does not rely on previous hooks
and options like config.absRefPrefix which are not necessary
for URLs as they are always absolute.

A new TypoScript option "typolink.language" is introduced.
If not set, it is set to "current", and allows to link
across pagetrees to a given site, or render a language menu
without having to use "&L=" as additional query parameter.
 ("current" is the current language and default) is
used to also allow to explicitly link to a different language
if this language was configured for the site configuration
for the site.

As for the linking process:
- typolink.forceAbsoluteUrl is used to generate the full
  URL to a target page
- typolink.forceAbsoluteUrl.scheme is only applicable
  if the site base of the target does not explicitly
  define a scheme
- If you link to a different page tree or to a different
host/scheme, it is always treated as absolute.

On top: If you link across page trees, the link is
treated as external (extTarget is used).

The next steps are to create tests and incorporate
config.linkVars into this process.

Resolves: #86048
Releases: master
Change-Id: I01b2b43efafa23ce0d256bdcd0feb35756fbe1d5
Reviewed-on: https://review.typo3.org/58063
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: TYPO3com <no-reply@typo3.com>
6 months ago[TASK] Ensure ?id= is allowed to be called in site handling 78/58078/13
Benni Mack [Thu, 30 Aug 2018 06:13:17 +0000 (08:13 +0200)]
[TASK] Ensure ?id= is allowed to be called in site handling

When using site configurations, it should still be possible to call a
page with "index.php?id=13" IF the site configuration's base is valid.

Currently, this was only possible when a language parameter was also
given, which vanished now.

Releases: master
Resolves: #86032
Change-Id: Iec160367be33786781f58cbb69f6d750d03e1496
Reviewed-on: https://review.typo3.org/58078
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
6 months ago[FEATURE] Add symfony expression language for TypoScript conditions 87/57787/29
Frank Naegler [Thu, 2 Aug 2018 22:10:03 +0000 (00:10 +0200)]
[FEATURE] Add symfony expression language for TypoScript conditions

This patch implements the symfony expression language for TypoScript conditions
in frontend and backend and is a preparation for the old conditions being deprecated.
The existing conditions are available as variables and/or functions.
This enables the full power of symfony expression language for TypoScript conditions.

Resolves: #85829
Releases: master
Change-Id: I7bcb7940ae1c36500eb7dc40fe84c7dd48d674a6
Reviewed-on: https://review.typo3.org/57787
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
6 months ago[BUGFIX] Use SiteLanguage in LocalizationUtility 97/57697/4
Georg Ringer [Thu, 26 Jul 2018 19:15:05 +0000 (21:15 +0200)]
[BUGFIX] Use SiteLanguage in LocalizationUtility

Check the current site language and use TS as fallback in
the LocalizationUtility

Resolves: #85644
Releases: master
Change-Id: If0e92dc7d8f12755251fc4b8cceb6db155dbf3e2
Reviewed-on: https://review.typo3.org/57697
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Rudy Gnodde <rgn@windinternet.nl>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Daniel Lorenz <daniel.lorenz@extco.de>
Tested-by: Daniel Lorenz <daniel.lorenz@extco.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
6 months ago[TASK] Use $tsfe->type for generating the redirect URL 87/58087/3
Benni Mack [Thu, 30 Aug 2018 13:22:22 +0000 (15:22 +0200)]
[TASK] Use $tsfe->type for generating the redirect URL

At the point where TSFE creates a Redirect URL for shortcuts,
$type should be used from the normalized $tsfe->type property
and not from the GET variable directly, as this could have been modified
by a hook already.

Resolves: #86040
Releases: master
Change-Id: I87503570ca257d10ebca3a9056213ae5a5354764
Reviewed-on: https://review.typo3.org/58087
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Daniel Sattler <sattler@b13.de>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
6 months ago[BUGFIX] Initialize pObj before usage 91/58091/2
Susanne Moog [Thu, 30 Aug 2018 16:31:57 +0000 (18:31 +0200)]
[BUGFIX] Initialize pObj before usage

The parent::init call was removed in a code cleanup and
has been re-added as it is necessary for initialization.

Resolves: #86043
Releases: master
Change-Id: Ic0f5d9de30f6a83385850375d5f381cac5f5f941
Reviewed-on: https://review.typo3.org/58091
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
6 months ago[TASK] Detect page routes based on deleted+workspace restriction 84/58084/2
Benni Mack [Thu, 30 Aug 2018 11:35:34 +0000 (13:35 +0200)]
[TASK] Detect page routes based on deleted+workspace restriction

The Page Router checks for all pages that are available by using
the FrontendRestrictionContainer for database queries.

This leads to side-effects in the future.

Instead, - because all page slugs in one site are unique per
language+workspace - the Page Router should only check
for deleted+current workspace, not wondering about any other
restriction, as this is done when all pages in the rootline are
checked later-on anyway.

This way, frontend previews should be available again.

Resolves: #86037
Releases: master
Change-Id: Ic11a66a958f9391de9084fad86b5d59109bd21c3
Reviewed-on: https://review.typo3.org/58084
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Daniel Sattler <sattler@b13.de>
Tested-by: Daniel Sattler <sattler@b13.de>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
6 months ago[BUGFIX] Ensure new @import syntax is loaded properly 90/58090/4
Benni Mack [Thu, 30 Aug 2018 13:52:44 +0000 (15:52 +0200)]
[BUGFIX] Ensure new @import syntax is loaded properly

The new @import TypoScript syntax only works
if there is an empty line before, so this should
be added - to be exactly in line with the <INCLUDE_TYPOSCRIPT>
syntax.

Resolves: #85867
Releases: master
Change-Id: I20fd9ba12b19baedfe4e4522811dfaebb51773fa
Reviewed-on: https://review.typo3.org/58090
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
6 months ago[BUGFIX] Allow to resolve sites without trailing slash as base 92/58092/2
Benni Mack [Thu, 30 Aug 2018 16:38:44 +0000 (18:38 +0200)]
[BUGFIX] Allow to resolve sites without trailing slash as base

When a site (language) has "/en" as base, then the page router
does not kick in, as the PageRouter receives a "/" at the very beginning
of the $routePathTail, which needs to be removed.

Resolves: #86044
Releases: master
Change-Id: I770911bc1157cfb8a217b5e16dc303859f63cedd
Reviewed-on: https://review.typo3.org/58092
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Daniel Sattler <sattler@b13.de>
Tested-by: Daniel Sattler <sattler@b13.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
6 months ago[FEATURE] Refactor AdminPanel API to use composition 87/57987/14
Susanne Moog [Sun, 26 Aug 2018 14:51:26 +0000 (16:51 +0200)]
[FEATURE] Refactor AdminPanel API to use composition

Enabling future enhancements for the adminpanel without
having to make breaking changes for existing module providers
is a key ingredient for providing a future proof extensible
solution. Using single big interfaces that need to change on
updates break backwards compatibility and do not provide
sufficient feature encapsulation.

The adminpanel APIs have been refactored to use a composition
pattern to allow modules more flexibility. Modules can now only
implement the interfaces they need instead of implementing all
functionality. For example an adminpanel module that only provides
page related settings does no longer have to implement the getContent
method.

Small interfaces have been provided as building blocks for modules with
rich functionality. Easy addition of new interfaces that _can_ (not
must) be implemented allow future improvements.

Additionally the API has been modified to allow a more object-oriented
approach using simple DTOs instead of associative arrays for better
type-hinting and a better developer experience. Storing and rendering
data have been separated in two steps allowing to completely disconnect
the rendered adminpanel from the current page. This is a preparation
for a standalone adminpanel that can be implemented separately.

Resolves: #86003
Releases: master
Change-Id: I88236a86e612dee9085b9f6ad7da34f90770d5ed
Reviewed-on: https://review.typo3.org/57987
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benjamin Kott <benjamin.kott@outlook.com>
Tested-by: Benjamin Kott <benjamin.kott@outlook.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
6 months ago[BUGFIX] Enable fallback functionality for site handling 77/58077/2
Benni Mack [Thu, 30 Aug 2018 05:58:20 +0000 (07:58 +0200)]
[BUGFIX] Enable fallback functionality for site handling

Enable the functionality again to have a site with three
languages to work in fallback mode (sys_language_mode = content_fallback)

Resolves: #86031
Releases: master
Change-Id: Id1a8897de057fb3d5a3244b3842f8dee377a4df6
Reviewed-on: https://review.typo3.org/58077
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
6 months ago[BUGFIX] Show url segment for new pages 82/58082/8
Christian Kuhn [Thu, 30 Aug 2018 09:54:42 +0000 (11:54 +0200)]
[BUGFIX] Show url segment for new pages

Fix three cases in the display condition of url segment:
* Show 'slug' if a new page in default language is added
* Resolve correct pid to positive int if a new page is
  created 'after' another one (incoming pid is negative)
* Always show slug if a new page below root (pid 0) is
  added that resolves to a NullSite

Change-Id: Id34021eb923ddde80920152a92aa76466a6e72ab
Releases: master
Resolves: #86036
Related: #85955
Reviewed-on: https://review.typo3.org/58082
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
6 months ago[TASK] Extend blog_example with relations 32/58032/15
Tymoteusz Motylewski [Fri, 24 Aug 2018 16:55:29 +0000 (18:55 +0200)]
[TASK] Extend blog_example with relations

* 1:1 inline relation csv (Post->additonalName)
* 1:1 inline relation foreign_field (Post->additonalInfo)
* 1:n inline relation csv (Post->additionalComments)
* n:1 group relation (Post->secondAuthor)

It also makes Person model translatable.

Resolves: #85974
Releases: master
Change-Id: I75a8e6c070e9a6bdfba0772b102a13bc94f7556f
Reviewed-on: https://review.typo3.org/58032
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Mathias Schreiber <mathias.schreiber@typo3.com>
Tested-by: Mathias Schreiber <mathias.schreiber@typo3.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
6 months ago[BUGFIX] Remove check for switching URL schemes 89/58089/2
Benni Mack [Thu, 30 Aug 2018 13:40:04 +0000 (15:40 +0200)]
[BUGFIX] Remove check for switching URL schemes

During the cleanup of https://review.typo3.org/#/c/58022/ a wrong
change was done, this actually introduces a regression showing that
the scheme part is never evaluated, removing the superfluos check now
completely.

Resolves: #86042
Related: #85964
Releases: master
Change-Id: I0e5a6f5d90141a86e34b4950ace36d620bee813f
Reviewed-on: https://review.typo3.org/58089
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>