Packages/TYPO3.CMS.git
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 months ago[TASK] Follow redirects in frontend tests 88/58088/3
Oliver Hader [Thu, 30 Aug 2018 13:36:32 +0000 (15:36 +0200)]
[TASK] Follow redirects in frontend tests

Resolves: #86041
Releases: master
Change-Id: Id5802bc40a6070ddcd21c76e2417d438cefa9efd
Reviewed-on: https://review.typo3.org/58088
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
10 months ago[TASK] Extract _GP call from TSFE->initializeSearchWordData 81/58081/2
Benni Mack [Thu, 30 Aug 2018 09:14:44 +0000 (11:14 +0200)]
[TASK] Extract _GP call from TSFE->initializeSearchWordData

In order to centralize usages regarding global magic ($_GET/$_POST) within
TypoScriptFrontendController, the method initializeSearchWordData()
is renamed to something useful, and is now handed in the variable from
GeneralUtility::_GP() and also gets some unit tests, making this method
also notice-free, as a side-effect.

This pre-patch allows to inject something else (PSR-7 request) in the future
without ever touching this method.

Resolves: #86035
Releases: master
Change-Id: I3db94dd3ce23de8d2f8772067ec15d38d0f7cf64
Reviewed-on: https://review.typo3.org/58081
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: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
10 months ago[BUGFIX] Allow creation of records after another 74/58074/5
Benni Mack [Thu, 30 Aug 2018 05:29:56 +0000 (07:29 +0200)]
[BUGFIX] Allow creation of records after another

When adding a content element, EditDocumentController expects the id
for fetching being a positive page ID. This is however edgy as a
record (like tt_content) being added after another record receives
the negative ID of the previous record. So this needs to be resolved.

Resolves: #86010
Releases: master
Change-Id: I80d722a1603b8fa1d6ccb2fc2bb9c914ee38ee42
Reviewed-on: https://review.typo3.org/58074
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
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>
10 months ago[TASK] Refactor backend user module 91/51091/12
Helmut Hummel [Mon, 2 Jan 2017 08:49:39 +0000 (09:49 +0100)]
[TASK] Refactor backend user module

* Use module template view helpers to render the module layout
* Remove obsolete methods and inheritance
* Make compare view bookmarkable
* Remove obsolete returnUrl view variables
* Use xml syntax for Fluid namespace registration

Also move all module template related view helpers
to backend extension

Resolves: #85532
Releases: master
Change-Id: I3f8e63f57ac9cc5b8981dba23fe5652ea4adc3f1
Reviewed-on: https://review.typo3.org/51091
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Jigal van Hemert <jigal.van.hemert@typo3.org>
Tested-by: Jigal van Hemert <jigal.van.hemert@typo3.org>
10 months ago[BUGFIX] Export database binding types in snapshots 80/58080/3
Oliver Hader [Thu, 30 Aug 2018 07:23:29 +0000 (09:23 +0200)]
[BUGFIX] Export database binding types in snapshots

Resolves: #86034
Releases: master
Change-Id: I42f09774a08b69dc0cb2b5dc2cff6f25cf89f98d
Reviewed-on: https://review.typo3.org/58080
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: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
10 months ago[BUGFIX] Ensure html tag is showing lang and dir attribute 75/58075/3
Benni Mack [Thu, 30 Aug 2018 05:41:50 +0000 (07:41 +0200)]
[BUGFIX] Ensure html tag is showing lang and dir attribute

Due to some refactorings while achieving notice-free tests,
the check for adding html-tag attributes was changed.

Resolves: #86009
Related: #85849
Releases: master
Change-Id: Ic64c7e8c709d7a7f4d72aef52a9f84ed30660005
Reviewed-on: https://review.typo3.org/58075
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
10 months ago[BUGFIX] Remove double space in exception message 79/58079/2
Benni Mack [Thu, 30 Aug 2018 06:28:39 +0000 (08:28 +0200)]
[BUGFIX] Remove double space in exception message

Minor issue in exception messages.

Resolves: #86033
Releases: master
Change-Id: I0e133bb3a609dda611757fb5a92465295b3a377d
Reviewed-on: https://review.typo3.org/58079
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: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
10 months ago[BUGFIX] Fix paste button in page module with mode "languages" 71/57971/3
Manuel Selbach [Mon, 20 Aug 2018 17:55:37 +0000 (19:55 +0200)]
[BUGFIX] Fix paste button in page module with mode "languages"

A content element can once again be pasted directly at a specific
position with the help of the paste button when in the "languages" mode.

Releases: master, 8.7
Resolves: #85911
Change-Id: I08e48361b45c4cffaf83c4b7b92f70303ab8babf
Reviewed-on: https://review.typo3.org/57971
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
10 months ago[TASK] Disable slug in pseudo sites and disable alias in sites 13/58013/4
Christian Kuhn [Thu, 23 Aug 2018 20:50:44 +0000 (22:50 +0200)]
[TASK] Disable slug in pseudo sites and disable alias in sites

Slug handling does now work if using pseudo sites. The patch adds
a display condition to form engine to hide the field if the edited
page is within page tree that resolves to a pseudo site.

Additionally, the 'alias' pages db field is a poor-man redirect
solution that should be outphased in v9. It is currently not resolved
if using configured sites at all. The patch turns the display condition
around for that to hide the field if a page that resolves to a proper
site object is edited.

A change in InputSlugElement that leads to wrongly resolved
languages if editing pages is fixed along the way.

Resolves: #85955
Releases: master
Change-Id: I9cc65331beb5f00edffffbe78ffcc8b50550a645
Reviewed-on: https://review.typo3.org/58013
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>
Tested-by: Andreas Wolf <andreas.wolf@typo3.org>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
10 months ago[TASK] Change Site Base Handling to PSR-7 URI Interface 70/58070/7
Benni Mack [Wed, 29 Aug 2018 15:17:36 +0000 (17:17 +0200)]
[TASK] Change Site Base Handling to PSR-7 URI Interface

While working with Site Handling API, it's more than obvious
that we should utilize the UriInterface, to integrate PSR-7
more natively.

The Interface changes, however, as it was only introduced
recently, this should not be an issue.

Resolves: #86027
Releases: master
Change-Id: Id06ccbcf2bbced8408342866d295edc3f11a376a
Reviewed-on: https://review.typo3.org/58070
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
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>
10 months ago[BUGFIX] Add missing table column type „SLUG“ 68/58068/2
Frank Naegler [Wed, 29 Aug 2018 08:06:54 +0000 (10:06 +0200)]
[BUGFIX] Add missing table column type „SLUG“

Resolves: #86017
Releases: master
Change-Id: Ic7315dfa4b287c42c88ff80e4040e1185273bd7c
Reviewed-on: https://review.typo3.org/58068
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Tobias Wollender <tliegl@gmail.com>
Tested-by: Tobias Wollender <tliegl@gmail.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Richard Haeser <richard@maxserv.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
10 months ago[BUGFIX] Allow returning null values for PageRouter::matchRoute() 73/58073/2
Andreas Fernandez [Wed, 29 Aug 2018 18:23:01 +0000 (20:23 +0200)]
[BUGFIX] Allow returning null values for PageRouter::matchRoute()

Resolves: #86030
Related: #86013
Releases: master
Change-Id: I337861f5dac4e3c7e7babd056e87630c22ec1f3e
Reviewed-on: https://review.typo3.org/58073
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>
10 months ago[TASK] Mention table and record uid in DataHandler localize command log 71/58071/3
Tymoteusz Motylewski [Wed, 29 Aug 2018 15:49:24 +0000 (17:49 +0200)]
[TASK] Mention table and record uid in DataHandler localize command log

Resolves: #86029
Releases: master, 8.7
Change-Id: I75c5bf23537a987fbe16c9a6fb2464a853d12135
Reviewed-on: https://review.typo3.org/58071
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Markus Klein <markus.klein@typo3.org>
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>
10 months ago[TASK] Speed up functional tests using database snapshots 66/58066/10
Oliver Hader [Tue, 28 Aug 2018 22:04:48 +0000 (00:04 +0200)]
[TASK] Speed up functional tests using database snapshots

Resolves: #86019
Releases: master
Change-Id: Ia9951730c1d1eb8b1238b92907bfa243b9518c7d
Reviewed-on: https://review.typo3.org/58066
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>
10 months ago[TASK] Separate site resolving from page slug resolving 62/58062/11
Benni Mack [Tue, 28 Aug 2018 16:41:59 +0000 (18:41 +0200)]
[TASK] Separate site resolving from page slug resolving

Currently, the site resolver checks for a valid site, and if so,
checks for valid page slugs. The latter is now moved to the
"PageResolver" middleware where the actual root line within
TSFE is resolved, and is now decoupled.

On top, a new "RouteResult" Array Access object is added
which is attached to the PSR-7 request as attribute "routing",
which will later be used for extensions
to add their own custom mappings.

The RouteResult object is now returned from the SiteMatcher
and PageRouter in order to encapsulate symfony/routing API
even more and to work with objects instead of array with magic
properties like "next" - which was actually renamed to "tail".

Fixes with this change:
- Proper and defined 307 redirect from a site (like www.domain.com)
to the default language (www.domain.com/en/)
- Proper and defined 307 redirect when a site/language is defined
without a trailing slash but accessed with a trailing slash and vice versa
- Proper and defined 307 redirect when a page slug is defined
without a trailing slash but accessed with a trailing slash and vice versa

Tests for SiteResolving have been streamlined and tests for
PageResolver have been added.

Please note:
The hook for checkAlternativeIdMethods() is now only called for
Frontend Requests without site handling.

Resolves: #86013
Releases: master
Change-Id: I9309d4092d007d555b37d575539ecf42303628de
Reviewed-on: https://review.typo3.org/58062
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: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
10 months ago[TASK] Deprecate IMGMENU/GMENU functionality 35/57435/11
Benni Mack [Tue, 3 Jul 2018 06:38:15 +0000 (08:38 +0200)]
[TASK] Deprecate IMGMENU/GMENU functionality

GraphicalMenuContentObject (GMENU/GMENUITEM) and
ImageMenuContentObject (IMGMENU/IMGMENUITEM) will
be removed in TYPO3 v10.0, and are marked as deprecated.

A lot of functionality related to HMENU in general,
previously exposed to the public, has
been migrated to be internal, now
throwing deprecation messages as well when accessed
from the public.

In addition the following TypoScript properties
will be removed in TYPO3 v10.0.

TMENU
- imgNamePrefix
- imgNameNotRandom

TMENU Item properties
- RO_chBgColor
- beforeImg
- beforeImgTagParams
- beforeImgLink
- beforeROImg
- RO
- afterImg
- afterImgTagParams
- afterImgLink
- afterROImg

Removed item states
- IFSUBRO
- ACTRO
- ACTIFSUBRO
- CURRO
- CURIFSUBRO
- USRRO
- USERDEF1RO
- USERDEF2RO

Also deprecated: TSFE->setJS('mouseOver');

Also not needed in TYPO3 v10.0 anymore:
Folder typo3temp/assets/menu/

Resolves: #85902
Releases: master
Change-Id: I1b5920e4727e97415e6527f5810c9b103c2c6fed
Reviewed-on: https://review.typo3.org/57435
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
10 months ago[TASK] Use typo3/phar-stream-wrapper package 42/58042/7
Oliver Hader [Sun, 26 Aug 2018 20:38:59 +0000 (22:38 +0200)]
[TASK] Use typo3/phar-stream-wrapper package

PharStreamWrapper has been released as standalone package under
the MIT license: https://github.com/TYPO3/phar-stream-wrapper

Stream invocation is handled by the new composer package, previous
classes PharStreamWrapper and PharStreamWrapperException have been
removed from the TYPO3 core but are still kept in class alias maps
for compatibility reasons. Since the standalone package is now
independent from TYPO3 constraints, the TYPO3 specific logic to
intercept Phar invocations has been moved to the new class
PharStreamWrapperInterceptor.

Resolves: #85984
Releases: master
Change-Id: I66692c3e75cfd174125e1923a2a9cb7fbbd78217
Reviewed-on: https://review.typo3.org/58042
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.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>
10 months ago[TASK] Minor cleanup ContentObjectRenderer 65/58065/2
Benni Mack [Tue, 28 Aug 2018 19:16:06 +0000 (21:16 +0200)]
[TASK] Minor cleanup ContentObjectRenderer

ContentObjectRenderer has some minor flaws. Also the functional tests have
some unused code.

Resolves: #86015
Releases: master
Change-Id: I9ed00b32f4c00de7b667ad72052a0b7032901313
Reviewed-on: https://review.typo3.org/58065
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
10 months ago[TASK] Migrate extension commands to Symfony 55/58055/12
Benni Mack [Mon, 27 Aug 2018 14:24:00 +0000 (16:24 +0200)]
[TASK] Migrate extension commands to Symfony

The Extbase command controller from Extension Manager is the only
CommandController used in TYPO3 Core (apart from extbase:help), all
others have been migrated to symfony/console commands.

This however is now only possible due to the recent migration to define
these commands as "non-schedulable" so they do not show up in the
scheduler as a possible command to be called repeatedly.

For the "extensionmanager:extension:dumpclassloadinginformation"
call, the functionality is moved to EXT:core as this is not related to any
functionality in ExtensionManager, as it does not need any information
of this. This command has been made available under "dumpautoload"
to get closer on the naming scheme of native composer.

"install" and "uninstall" however rely on the DI concept of Extbase and
Extensionmanager to inject necessary components and is tightly
intertwined. These are now provided as "extension:activate" and
"extension:deactivate" respectively to convey their purpose and especially
show that the latter does not remove any data or code.

Releases: master
Resolves: #85996
Change-Id: I8025d8ba8f577c46815996bd3c7d13d17dec268a
Reviewed-on: https://review.typo3.org/58055
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Nicole Cordes <typo3@cordes.co>
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Tested-by: Mathias Brodala <mbrodala@pagemachine.de>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
10 months ago[BUGFIX] Site Configuration Module shows hidden languages 61/58061/3
Benni Mack [Tue, 28 Aug 2018 14:33:41 +0000 (16:33 +0200)]
[BUGFIX] Site Configuration Module shows hidden languages

Site Languages which are not shown in the frontend should be displayed
in the Backend module however this is a bug that Fluid accesses only
enabled languages, but needs to use "getAllLanguages()" instead.

Resolves: #86011
Releases: master
Change-Id: I24880604675b7d0bb5ced8169a2e3f461afa8dfb
Reviewed-on: https://review.typo3.org/58061
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Jan Stockfisch <typo3@jan-stockfisch.de>
Tested-by: Jan Stockfisch <typo3@jan-stockfisch.de>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
10 months ago[TASK] Decouple usage of cObject->editPanel and ->editIcons 30/58030/2
Benni Mack [Fri, 24 Aug 2018 16:22:09 +0000 (18:22 +0200)]
[TASK] Decouple usage of cObject->editPanel and ->editIcons

Both methods within "ContentObjectRenderer->editPanel()" and
"ContentObjectRenderer->editIcons()" were built to have "FrontendEditingController"
resolve the editing panel (EXT:feedit) which is not needed, so ContentObjectRenderer
is calling the extensions itself.

For that use, the FrontendBackendUserAuthentication gains functionality
for checking if a record can be edited.

Resolves: #85972
Releases: master
Change-Id: Ic8405fde4cdf5b6d1336fd0925cd0553bae6cf5f
Reviewed-on: https://review.typo3.org/58030
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Daniel Gorges <daniel.gorges@b13.de>
Tested-by: Daniel Gorges <daniel.gorges@b13.de>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
10 months ago[TASK] Deprecate TSFE constructor with no_cache parameter 34/58034/3
Benni Mack [Fri, 24 Aug 2018 22:30:16 +0000 (00:30 +0200)]
[TASK] Deprecate TSFE constructor with no_cache parameter

Instantiating TypoScriptFrontendController with the fourth
parameter set (except null) will now trigger a deprecation
message, as it is recommended to use the method `set_no_cache`
instead.

Resolves: #86002
Releases: master
Change-Id: I6d8bbdd79d6b6169d358b5d17b036006d3c3205e
Reviewed-on: https://review.typo3.org/58034
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Daniel Gorges <daniel.gorges@b13.de>
Tested-by: Daniel Gorges <daniel.gorges@b13.de>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
10 months ago[FEATURE] Move workspaces scheduler tasks to native symfony commands 56/58056/5
Benni Mack [Tue, 28 Aug 2018 04:51:18 +0000 (06:51 +0200)]
[FEATURE] Move workspaces scheduler tasks to native symfony commands

The previously available scheduler tasks for auto-publishing and cleaning up
preview links have been moved to a symfony/command, allowing them to be
scheduled, but also triggered manually on the command line without having
to create a task record in scheduler.

The old tasks have been deprecated, as there is the possibility to create
tasks out of symfony commands as well.

The AutoPublishService, which only acted as a wrapper, but had a major
design flaw has been deprecated as well.

The scheduler tasks will be removed in TYPO3 v10. For TYPO3 v9, their
labels have been updated, and they will trigger a deprecation notice.

Resolves: #86001
Releases: master
Change-Id: I9c1f1e31b6ff59d02b20ffc2df805e645bb3f675
Reviewed-on: https://review.typo3.org/58056
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
10 months ago[BUGFIX] Use namespaced class name for blog_example fe_users subclass 52/58052/2
Tymoteusz Motylewski [Mon, 27 Aug 2018 19:23:17 +0000 (21:23 +0200)]
[BUGFIX] Use namespaced class name for blog_example fe_users subclass

The last place which was missed when porting the extension to namespaces,
is now fixed.

Also slash sign has to be escaped in SQL.

Resolves: #85999
Releases: master, 8.7
Change-Id: I844b59b209ef1434298575b57fc7dc861ecab643
Reviewed-on: https://review.typo3.org/58052
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: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
10 months ago[TASK] Remove site caches if page is created on top level 17/58017/4
Christian Kuhn [Thu, 23 Aug 2018 22:02:32 +0000 (00:02 +0200)]
[TASK] Remove site caches if page is created on top level

The patch fixes a fatal php scenario if a page is created
on root level. The data handler now flushes site caches if that
happens and unsets the SiteMatcher singleton so it is forced
to be recalculated if re-used in current request.

Change-Id: Ie54f70b1bbfaaf1f6302f4e6b14abcf6af4c310f
Resolves: #85985
Releases: master
Reviewed-on: https://review.typo3.org/58017
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
10 months ago[TASK] Remove toggle function from page tree root element 11/57911/3
Paweł Rogowicz [Wed, 15 Aug 2018 10:06:08 +0000 (12:06 +0200)]
[TASK] Remove toggle function from page tree root element

Remove toggle function from root node and set expanded on true if there
is only one node on depth 0. If there is more then 1
(e.g. when using DB Mounts) then keep toggle option.

Releases: master
Resolves: #85809
Change-Id: I94f9e20d048760e3a35ba1e8ed170521406a92d3
Reviewed-on: https://review.typo3.org/57911
Tested-by: TYPO3com <no-reply@typo3.com>
Tested-by: Riccardo De Contardi <erredeco@gmail.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
10 months ago[TASK] Clean up unused / dead code 47/58047/4
Christian Kuhn [Mon, 27 Aug 2018 12:01:21 +0000 (14:01 +0200)]
[TASK] Clean up unused / dead code

A series of unused and dead code places are fixed with the patch:
* Switch + return + break -> the break is obsolete
* A couple of 'too many arguments' when calling methods
* Various assignments of variables that are never used

Change-Id: I8472597f73a739bce053cf6de772c111ae7044d7
Resolves: #85993
Releases: master
Reviewed-on: https://review.typo3.org/58047
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: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
10 months ago[FEATURE] Allow symfony commands to be non-schedulable 46/58046/5
Benni Mack [Mon, 27 Aug 2018 11:53:56 +0000 (13:53 +0200)]
[FEATURE] Allow symfony commands to be non-schedulable

When registering a Symfony Command, it is now possible to
define a new option `schedulable` which can explicitly set to false,
in order to have e.g. EXT:scheduler not show some.

This implements the functionality previously only available for
Extbase's CommandControllers.

Resolves: #85991
Releases: master
Change-Id: Ie2d8d3cc71d04263984a928debd257ecb88184e8
Reviewed-on: https://review.typo3.org/58046
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: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
10 months ago[TASK] Sort building process within PageLinkBuilder / TypoLink 22/58022/2
Benni Mack [Fri, 24 Aug 2018 13:32:53 +0000 (15:32 +0200)]
[TASK] Sort building process within PageLinkBuilder / TypoLink

This is a pre-cursor for unifying URL generation with slugs / based on sites,
in order to group things that belong together in the mass-method of generating
links in the frontend.

Tasks done:
- $linkText is moved to the very end, as it has no dependency.
- $targetDomain/$currentDomain handling is grouped together.
- absRefPrefix is now always taken from $tsfe->absRefPrefix, as this is the
  resolved path (not set to "auto")
- minor un-needed calls simplified (unneessary checks etc)

Resolves: #85964
Releases: master
Change-Id: Iba84cd98fa614ef7131c03a093c9cfa0a0056575
Reviewed-on: https://review.typo3.org/58022
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
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>
10 months ago[FEATURE] Add Upgrade Wizard to migrate to pagepath segment for pages 91/57991/9
Benni Mack [Wed, 22 Aug 2018 16:21:21 +0000 (18:21 +0200)]
[FEATURE] Add Upgrade Wizard to migrate to pagepath segment for pages

A new upgrade wizard is introduced, which sets page URLs based on the
page title and rootline, if they are empty.

All root pages will get "/", all others will have a "/path-to/my/page/"
pagepath.

On top, if RealURL generated pagepaths already (works with v1 and v2 by
checking for the database table), they will be used instead of
generated slugs.

Pages with an alias field take priority over "regular" pages and
values from RealURL, whereas alias fields will result in a slug like
"/my-alias-value".

Resolves: #85928
Releases: master
Change-Id: Ie0cfbfb9e8472e15717ea39cb1af65896743f293
Reviewed-on: https://review.typo3.org/57991
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: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
10 months ago[BUGFIX] Only allow QueryResultInterface in Be.PaginateViewHelper 38/58038/5
Daniel Goerz [Sat, 25 Aug 2018 12:55:29 +0000 (14:55 +0200)]
[BUGFIX] Only allow QueryResultInterface in Be.PaginateViewHelper

Resolves: #85979
Related: #81200
Releases: master
Change-Id: Ibab30517c6380d1a7fda59656e12700d4193170a
Reviewed-on: https://review.typo3.org/58038
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Tested-by: Mathias Brodala <mbrodala@pagemachine.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
10 months agoRevert "[TASK] Deprecate @cli annotation" 44/58044/2
Mathias Brodala [Mon, 27 Aug 2018 09:11:52 +0000 (11:11 +0200)]
Revert "[TASK] Deprecate @cli annotation"

We do not have a replacement for TYPO3v9 so we cannot deprecate this annotation yet.

This reverts commit c7791b01fe420cd8ed7298635ba414d1b5ea2638.

Change-Id: Ie7228d6e13a5647698f2a5c26ebe9fd56de80aac
Resolves: #85988
Related: #85977
Reviewed-on: https://review.typo3.org/58044
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
10 months ago[BUGFIX] Add language configuration for model tag in EXT:blog_example 41/58041/2
Łukasz Uznański [Sun, 26 Aug 2018 13:59:49 +0000 (15:59 +0200)]
[BUGFIX] Add language configuration for model tag in EXT:blog_example

Add language configuratin for model tag in EXT:blog_example, reformat TCA files,
unify sys_language_uid field configuration across all TCA files in extension

Resolves: #85983
Releases: master
Change-Id: I8e32f389216e279d59ed92a3af7e870d076b35a8
Reviewed-on: https://review.typo3.org/58041
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
10 months ago[TASK] Deprecate @cli annotation 37/58037/3
Alexander Schnitzler [Sat, 25 Aug 2018 12:27:25 +0000 (14:27 +0200)]
[TASK] Deprecate @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 scheduler implementation will be refactored in TYPO3 10
and the execution of commands from the backend will vanish.
Therefore it will not be necessary any more to define if
commands can only be used on the command line or not.
In the future, all commands will only be executable
from the command line.

Releases: master
Resolves: #85977
Change-Id: I52330517b51c5c747177cab55e34a721a0df5f67
Reviewed-on: https://review.typo3.org/58037
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
10 months ago[TASK] Inject TSFE object into ContentObjectRenderer 26/58026/2
Benni Mack [Fri, 24 Aug 2018 15:28:18 +0000 (17:28 +0200)]
[TASK] Inject TSFE object into ContentObjectRenderer

The class ContentObjectRenderer expects $typoScriptFrontendController
as first argument inside the constructor.

When creating cObj from within TypoScriptFrontendController, it is very valuable
to actually use the actual current object instead of doing the regular fallback
to $GLOBALS['TSFE'], to use this in proper recursions.

Resolves: #85968
Releases: master
Change-Id: I2238c8fc4d4d76f177b02630ed5627a3c9a7a060
Reviewed-on: https://review.typo3.org/58026
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
10 months ago[TASK] Deprecate PageRepository->getFirstWebPage() 29/58029/4
Benni Mack [Fri, 24 Aug 2018 16:18:42 +0000 (18:18 +0200)]
[TASK] Deprecate PageRepository->getFirstWebPage()

The method PageRepository->getFirstWebPage() is only used when
no "?id" parameter is given, and no rootpage was resolved. As this is the only
use-case, a more generic "getMenu" method can be used, which does the
same except for not "limiting" the query to one result, so there is a minimal
memory penalty when doing so, however due to Pseudo-Site functionality
this drawback is only in use for rare cases.

Resolves: #85971
Releases: master
Change-Id: I42fec4251963a0ab2baa038defde39cf0eac4bbf
Reviewed-on: https://review.typo3.org/58029
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>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
10 months ago[TASK] Deprecate GraphicalFunctions->init method 23/58023/3
Benni Mack [Fri, 24 Aug 2018 15:15:35 +0000 (17:15 +0200)]
[TASK] Deprecate GraphicalFunctions->init method

The init method of GraphicalFunctions/Gifbuilder was used instead of
a constructor to set up various internal properties, and is now
shifted into a new constructor, making the extra call to init() superfluous.

Resolves: #85978
Releases: master
Change-Id: I71ee3bc8045f48b1636e46681dddd742ba1f56c4
Reviewed-on: https://review.typo3.org/58023
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
10 months ago[TASK] Remove unused TimeTracker->fixContent() method argument 25/58025/2
Benni Mack [Fri, 24 Aug 2018 15:23:23 +0000 (17:23 +0200)]
[TASK] Remove unused TimeTracker->fixContent() method argument

The protected method TimeTracker->fixContent() has an argument $first
which is always set to "0", so the functionality can be removed.

Resolves: #85967
Releases: master
Change-Id: I4fbe73bd6d15b892dcc21b1cdd4456af4f80eeb3
Reviewed-on: https://review.typo3.org/58025
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
10 months ago[BUGFIX] Throw exception in case FileWriter's logFile is invalid 31/58031/2
Oliver Hader [Fri, 24 Aug 2018 16:23:19 +0000 (18:23 +0200)]
[BUGFIX] Throw exception in case FileWriter's logFile is invalid

GeneralUtility::getFileAbsFileName($logFile) never results in `null`,
but in some empty string in case the $logFile is invalid.

Resolves: #85973
Releases: master, 8.7
Change-Id: I2890bbf172c8f540dd2fa2775a9479d5c644b172
Reviewed-on: https://review.typo3.org/58031
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
10 months ago[BUGFIX] Fix various wrong phpDoc comments 27/58027/2
Benni Mack [Fri, 24 Aug 2018 15:36:26 +0000 (17:36 +0200)]
[BUGFIX] Fix various wrong phpDoc comments

Return types in phpDoc method annotations are wrong and should be adapted
to the actual return value in the PHP code.

Resolves: #85969
Releases: master
Change-Id: I10f31957db1c863510a1bff97293c0bad336568d
Reviewed-on: https://review.typo3.org/58027
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
10 months ago[TASK] Use strict bool calls for TimeTracker->LR 24/58024/2
Benni Mack [Fri, 24 Aug 2018 15:18:40 +0000 (17:18 +0200)]
[TASK] Use strict bool calls for TimeTracker->LR

The public property "TimeTracker->$LR" is declared as boolean, but used
with integer. Let's have TYPO3 use it that way it was documented.

Resolves: #85966
Releases: master
Change-Id: I19faa67425440cb35b00924baee760b919a42ef3
Reviewed-on: https://review.typo3.org/58024
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
10 months ago[TASK] Move LocalConfiguration* files to config folder 17/56517/41
Benni Mack [Sat, 9 Jun 2018 15:04:13 +0000 (17:04 +0200)]
[TASK] Move LocalConfiguration* files to config folder

With the introduction of the environment API, composer-based
installations have the configuration folder outside of
"public-webroot"/typo3conf/, but in the project
paths folder config/.

All checks on PATH_typo3conf/
- LocalConfiguration.php
- AdditionalConfiguration.php
- AdditionalFactoryConfiguration.php

are now done against Environment::getConfigPath(), resulting in
different locations for projects having the environment variable
"TYPO3_PATH_APP" set to something else than the "PATH_site" constant,
the configuration is now found in "TYPO3_PATH_APP" . /config/.

A migration to move all config files into the new directory
is done when accessing the Install Tool automatically.

Resolves: #84623
Releases: master
Change-Id: I94020b1df4c9ffaec66310a4e1564927dbd8cb67
Reviewed-on: https://review.typo3.org/56517
Reviewed-by: Richard Haeser <richard@maxserv.com>
Tested-by: Richard Haeser <richard@maxserv.com>
Reviewed-by: Stephan Großberndt <stephan.grossberndt@typo3.org>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Helmut Hummel <typo3@helhum.io>
Tested-by: Helmut Hummel <typo3@helhum.io>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Andreas Wolf <andreas.wolf@typo3.org>
Tested-by: Andreas Wolf <andreas.wolf@typo3.org>
10 months ago[BUGFIX] Use correct image references for LiveDefaultElements 33/58033/8
Markus Klein [Fri, 24 Aug 2018 21:52:00 +0000 (23:52 +0200)]
[BUGFIX] Use correct image references for LiveDefaultElements

Resolves: #85976
Releases: master, 8.7
Change-Id: I0f6588aa58be317da51cff59a5eb915831fc0774
Reviewed-on: https://review.typo3.org/58033
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Markus Klein <markus.klein@typo3.org>
10 months ago[BUGFIX] Fix PSR-7 URI generation without scheme 14/58014/4
Benni Mack [Thu, 23 Aug 2018 21:10:45 +0000 (23:10 +0200)]
[BUGFIX] Fix PSR-7 URI generation without scheme

When a new Uri('//newpage.com/') is added, TYPO3's PSR-7
implementation lacks the functionality to render that
properly to a string, as - like the specs - say, when there
is an authority, the implementation HAS to prefix the
authority with '//', regardless if there is a scheme or not.

Resolves: #85956
Releases: master
Change-Id: Id888c4425ac2f4a3d9bc9f2a1a3213a872bc55b4
Reviewed-on: https://review.typo3.org/58014
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: Helmut Hummel <typo3@helhum.io>
Tested-by: Helmut Hummel <typo3@helhum.io>
10 months ago[TASK] Remove a series of SOBE assignments 18/58018/3
Christian Kuhn [Thu, 23 Aug 2018 23:17:23 +0000 (01:17 +0200)]
[TASK] Remove a series of SOBE assignments

The infamous $GLOBALS['SOBE'] object is still used at various
places is the core. This "talk to the hand" object registered
as runtime global to make itself available as "parent object"
is an even worse anti pattern than the also infamous $pObj.

The patch removes a series of "$GLOBALS['SOBE'] = $this" assignments
in some controllers that have no further dependency to this global
anymore for a while, are easy to review and b/w compatible.

Resolves: #85958
Releases: master
Change-Id: Ia961289c344c96eab250fa7f206c677cb65e047c
Reviewed-on: https://review.typo3.org/58018
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>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
10 months ago[TASK] Deprecate authentication related compareUident() method 20/58020/2
Christian Kuhn [Thu, 23 Aug 2018 23:46:06 +0000 (01:46 +0200)]
[TASK] Deprecate authentication related compareUident() method

The patch deprecates the unused compareUident() from
AbstractAuthenticationService that calls the also unused method
with the same name from AbstractUserAuthentication.

The code is dead left over stuff from pre password hashing era
and can be safely deprecated now.

Resolves: #85960
Releases: master
Change-Id: I5f02562e35abb27a4126998193edf827edb168ac
Reviewed-on: https://review.typo3.org/58020
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>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
10 months ago[BUGFIX] Adapt a broken namespace in SaltedPasswordService 19/58019/2
Christian Kuhn [Thu, 23 Aug 2018 23:36:30 +0000 (01:36 +0200)]
[BUGFIX] Adapt a broken namespace in SaltedPasswordService

Fixes two broken namespaces that went wrong when moving and
aliasing the salted password classes. The patch only affects
the deprecated and unused SaltedPasswordService.

Resolves: #85959
Related: #85833
Releases: master
Change-Id: Iad8c95a3b9bef60fe240a2010e9910df40c75825
Reviewed-on: https://review.typo3.org/58019
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>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
10 months ago[TASK] Improved slug generation for translated pages 10/58010/3
Christian Kuhn [Thu, 23 Aug 2018 18:34:11 +0000 (20:34 +0200)]
[TASK] Improved slug generation for translated pages

If a slug is generated for a nested translated page that
has a not translated page up in its rootline, the slug
generator now considers the default language page instead
of not including the upper tree pages at all.

Change-Id: Id5b4d3b1b815124413919bc8b48e03f2785573d9
Resolves: #85952
Releases: master
Reviewed-on: https://review.typo3.org/58010
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Richard Haeser <richard@maxserv.com>
Tested-by: Richard Haeser <richard@maxserv.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
10 months ago[TASK] Show slug in Info->Pagetree overview 11/58011/2
Christian Kuhn [Thu, 23 Aug 2018 19:26:59 +0000 (21:26 +0200)]
[TASK] Show slug in Info->Pagetree overview

Add the new slug "URL Segment" field to the Info
Pagetree overview directly after "Alias".

Resolves: #85953
Releases: master
Change-Id: I1d5706dfe7098f9f3983d222f4344f42d1bc197c
Reviewed-on: https://review.typo3.org/58011
Reviewed-by: Richard Haeser <richard@maxserv.com>
Tested-by: Richard Haeser <richard@maxserv.com>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
10 months ago[FEATURE] Introduce Page-based URL handling 94/57994/21
Benni Mack [Wed, 22 Aug 2018 21:08:22 +0000 (23:08 +0200)]
[FEATURE] Introduce Page-based URL handling

This feature adds a new database field "pages.slug" which
allows to fill the database with URL segments which can then
be resolved and built with for URLs for a specific page.

On top, when a site is found with a proper "slug", the
PageRouter of a site now resolves a /home/my-products/
to the correct page ID.

Next steps:
- Add URL enhancers API to allow to further resolve more parts.

Resolves: #85947
Releases: master
Change-Id: Ic64a758e847520b9a8dfc8b484c7613c9ba1f869
Reviewed-on: https://review.typo3.org/57994
Tested-by: Björn Jacob <bjoern.jacob@tritum.de>
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>
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>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Richard Haeser <richard@maxserv.com>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
10 months ago[TASK] Move domainStartPage setting to PageResolver 09/58009/2
Benni Mack [Thu, 23 Aug 2018 16:41:40 +0000 (18:41 +0200)]
[TASK] Move domainStartPage setting to PageResolver

The setting of the domainStartPage has been simplified with the PseudoSite
introduction, and, as it belongs to the enriching of the PageResolver,
the functionality is moved from the SiteResolver to the PageResolver.

Resolves: #85951
Releases: master
Change-Id: I67f88c1b6369450f63b582be1205a8639217304e
Reviewed-on: https://review.typo3.org/58009
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: TYPO3com <no-reply@typo3.com>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
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>
10 months ago[BUGFIX] Mitigate deprecations in early bootstrap 03/58003/5
Helmut Hummel [Mon, 13 Aug 2018 15:33:39 +0000 (17:33 +0200)]
[BUGFIX] Mitigate deprecations in early bootstrap

Deprecations that trigger an error in early bootstrap
lead to the situation that code that is using this
(mostly declared) internal API will likely fail due
to these errors, as they are not caught by the
regular error handling, which is initialized later on.

Userland code using this API will notice the depreaction
even without those errors triggered.

Therefore remove those deprecations errors in most
places again so that tools like TYPO3 Console will be able
to stay compatible with older TYPO3 versions as well.

Also protect some methods straight away and add a deprecation
layer for them.

Resolves: #85944
Releases: master
Change-Id: I97485dfd947028cf02ff62b17b453d2f174a531a
Reviewed-on: https://review.typo3.org/58003
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>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
10 months ago[TASK] Fix typo and add example for requireCHashArgumentForActionArguments 02/58002/3
andypa [Thu, 23 Aug 2018 11:20:25 +0000 (13:20 +0200)]
[TASK] Fix typo and add example for requireCHashArgumentForActionArguments

Fixed a typo and added an example for EXT:indexed_search.

Releases: master, 8.7
Resolves: #85942
Change-Id: Iffcecd753843733ef96c9e41da808a47b943405e
Reviewed-on: https://review.typo3.org/58002
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Tested-by: Mathias Brodala <mbrodala@pagemachine.de>
10 months ago[TASK] Reduce amount of executed functional frontend tests 01/58001/2
Oliver Hader [Thu, 23 Aug 2018 10:17:18 +0000 (12:17 +0200)]
[TASK] Reduce amount of executed functional frontend tests

Resolves: #85941
Releases: master
Change-Id: Icbbeb31e8c905fc52523ee1c0267ac219e19c15f
Reviewed-on: https://review.typo3.org/58001
Tested-by: TYPO3com <no-reply@typo3.com>
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>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
10 months ago[FEATURE] Add SQL Logging to AdminPanel 89/57889/12
Susanne Moog [Tue, 7 Aug 2018 19:15:34 +0000 (21:15 +0200)]
[FEATURE] Add SQL Logging to AdminPanel

To better debug websites SQL logging has been added to the admin panel.
SQL queries will be logged whenever the admin panel is installed and
activated for the current user and request.

Queries using query parameters are displayed with all occuring parameter
values (grouped by the main query). To find where queries came from a
short backtrace has additionally been added to the query logging.

The logging itself has been implemented using the doctrine query
logging functionality.

Resolves: #84609
Releases: master
Change-Id: I84eebc8a23d6fa15c20dc48781409d4ab03f1bb1
Reviewed-on: https://review.typo3.org/57889
Reviewed-by: Benjamin Kott <benjamin.kott@outlook.com>
Tested-by: Benjamin Kott <benjamin.kott@outlook.com>
Reviewed-by: Willi Wehmeier <wwwehmeier@gmail.com>
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>
10 months ago[FEATURE] Add a new TCA type "slug" 89/56889/28
Benni Mack [Wed, 22 Aug 2018 21:05:20 +0000 (23:05 +0200)]
[FEATURE] Add a new TCA type "slug"

A new TCA type "slug" is added, which allows to generate a part of a URL
which can later be used for adding URL segments to any kind of record.

The new slug TCA type will be added to the pages database table separately
to fill a page with the rootline "Home => Products => My Product" with
"/products/my-product/details/" into the slug field when creating
a subpage "Details" under "My Product".

Once the slug field is added when persisting the record, changing a title
(like the page title) will not modify the slug anymore, but instead this
has to be modified separately.

Next steps:
- Add the TCA type "slug" to pages table
- Introduce an upgrade wizard for that pages table
- Improve FormEngine via AJAX validation of "uniqueInSite" for slugs
- Implement slug resolving for pages.

Resolves: #84729
Releases: master
Change-Id: I079267f42308f40da71ab4765ba7e0251e79f736
Reviewed-on: https://review.typo3.org/56889
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
10 months ago[BUGFIX] UnableToLinkException::getLinkText() must be of the type string, null returned 95/57995/2
Gerald Aistleitner [Thu, 23 Aug 2018 06:28:58 +0000 (08:28 +0200)]
[BUGFIX] UnableToLinkException::getLinkText() must be of the type string, null returned

Changed the default value of linkText to '' instead of null to prevent strict_type throwing an error.

Resolves: #85933
Releases: master, 8.7
Change-Id: I0a7567cd784360654649c11e686784ad3867858d
Reviewed-on: https://review.typo3.org/57995
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Joerg Kummer <typo3@enobe.de>
Tested-by: Joerg Kummer <typo3@enobe.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
10 months ago[BUGFIX] Add white-space to CSS class in FieldControl 96/57996/2
Stefan Froemken [Thu, 23 Aug 2018 08:12:16 +0000 (10:12 +0200)]
[BUGFIX] Add white-space to CSS class in FieldControl

Add a white-space in front of default CSS class
for buttons in field control wizards.

Resolves: #85935
Releases: master, 8.7
Change-Id: Ie4889b20ba95cf96f6895d5fc2e5375c70c48cc9
Reviewed-on: https://review.typo3.org/57996
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>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
10 months ago[TASK] Add API to hide PseudoSite functionality 92/57992/6
Benni Mack [Wed, 22 Aug 2018 17:18:57 +0000 (19:18 +0200)]
[TASK] Add API to hide PseudoSite functionality

In order to avoid usages of using PseudoSite objects directly,
the following changes have been made:

The main entrypoint for finding sites is now encapsulated the
SiteMatcher class.

* SiteMatcher->matchByPageId($pageId)
which consistently checks for Sites and Pseudo Sites. This is now
a singleton as it factors PseudoSiteFinder directly.

* NullSite for PID=0 (which is a slim version of a PseudoSite
and will stay around for longer than the PseudoSite).

This marks the last part of the Site API functionality, as
TYPO3 is now ready to work with the Site API in all places
throughout Frontend and Backend.

Resolves: #85930
Releases: master
Change-Id: I5e75da22337e126a39b459388e21d7f9fe05e556
Reviewed-on: https://review.typo3.org/57992
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>
10 months ago[TASK] Add resolved site object to FormEngine 90/57990/3
Christian Kuhn [Wed, 22 Aug 2018 16:00:30 +0000 (18:00 +0200)]
[TASK] Add resolved site object to FormEngine

With pseudo sites we now always have a site object in backend.
The site object is needed multiple times in FormEngine, the
upcoming slug handling adds another usage.
The patch adds a FormEngine data provider to resolve the
site object for any given page or record and adds it as 'site'
to the result array.

Resolves: #85927
Releases: master
Change-Id: I7ebbd2e6591b54a54b6a5b56f95161b4ba6e5cee
Reviewed-on: https://review.typo3.org/57990
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>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
10 months ago[BUGFIX] Show correct example in comment block of SaveToDatabaseFinisher 88/57988/2
Daniel Goerz [Wed, 22 Aug 2018 13:50:02 +0000 (15:50 +0200)]
[BUGFIX] Show correct example in comment block of SaveToDatabaseFinisher

Resolves: #85926
Releases: master,8.7

Change-Id: Iaa36ce61de922d367d285ad5f98bfef8f2ee4714
Reviewed-on: https://review.typo3.org/57988
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Achim Fritz <af@achimfritz.de>
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Tested-by: Mathias Brodala <mbrodala@pagemachine.de>
10 months ago[FEATURE] Show only sys_languages in Backend which are available 72/57672/30
Georg Ringer [Tue, 24 Jul 2018 11:00:50 +0000 (13:00 +0200)]
[FEATURE] Show only sys_languages in Backend which are available

Instead of rendering all languages, only the ones provided by the
site module are now shown in forms of the FormEngine, in the List
module, the Info->Translation Overview and the Page module.

Fallbacks to pseudo sites are considered if no site configuration
for a page / page tree exists.

Resolves: #85164
Releases: master
Change-Id: I95b394cd3a31773e62f7e2cc40197aceb97705d8
Reviewed-on: https://review.typo3.org/57672
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>
10 months ago[TEST] Extend site handling link generation tests 23/57923/10
Oliver Hader [Sat, 18 Aug 2018 21:14:57 +0000 (23:14 +0200)]
[TEST] Extend site handling link generation tests

Current side handling functional test cases only support link
resolving and rendering. The opposite part of generating links
has been introduced with this change.

Besides that, existing rendering tests have been extended for
frontend restricted page rendering.

Resolves: #85922
Releases: master
Change-Id: Ie12c2883463e5560dd03e18dab3dc3a277076815
Reviewed-on: https://review.typo3.org/57923
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
10 months ago[BUGFIX] Consequently forward backend user context in DataHandler 85/57985/3
Oliver Hader [Wed, 22 Aug 2018 09:13:20 +0000 (11:13 +0200)]
[BUGFIX] Consequently forward backend user context in DataHandler

DataHandler can be invoked with an individual backend user context and
will fall back to $GLOBALS['BE_USER'] in case it's not defined. In order
to make use of that behavior completely this individual context has to
be forwarded to all nested DataHandler instances as well.

Resolves: #85920
Releases: master
Change-Id: Ibcbba7d04d0967955937f838b6514a478b88d038
Reviewed-on: https://review.typo3.org/57985
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Daniel Gorges <daniel.gorges@b13.de>
Tested-by: Daniel Gorges <daniel.gorges@b13.de>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
10 months ago[TASK] Use suggestedInsertUids feature for new version placeholders 86/57986/2
Oliver Hader [Wed, 22 Aug 2018 09:17:31 +0000 (11:17 +0200)]
[TASK] Use suggestedInsertUids feature for new version placeholders

The DataHandler::$suggestedInsertUids feature is currently only used
for regular live records, however not for new version placeholders -
which in fact are the pendant for a regular live records, with the
additional binding to a specific workspace context.

Resolves: #85921
Releases: master
Change-Id: I320ab26be3c60983640d3c5f61338689b9068209
Reviewed-on: https://review.typo3.org/57986
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Daniel Gorges <daniel.gorges@b13.de>
Tested-by: Daniel Gorges <daniel.gorges@b13.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
10 months ago[BUGFIX] Show correct rendering times in admin panel 90/57890/4
Susanne Moog [Mon, 20 Aug 2018 16:13:33 +0000 (18:13 +0200)]
[BUGFIX] Show correct rendering times in admin panel

* adds missing timetracker->push()
* removes unnecessary call to printTSlog
* reuse existing variable in fixContent, to avoid notices

Resolves: #85916
Releases: master
Change-Id: I6e7b1f8872d1f058abc93802660ba625bbcf2d24
Reviewed-on: https://review.typo3.org/57890
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
10 months ago[BUGFIX] Flush site caches if sys_domain or sys_language was modified 84/57984/2
Benni Mack [Tue, 21 Aug 2018 19:02:53 +0000 (21:02 +0200)]
[BUGFIX] Flush site caches if sys_domain or sys_language was modified

Whenever a sys_domain or sys_language record, the information a Pseudo Site
is built by, is modified, created, deleted, moved (for sys_domain only),
the caches need to be flushed so they can be rebuilt.

Resolves: #85919
Releases: master
Change-Id: Icc6b018a15b5679b666d0050405d502f35963dbe
Reviewed-on: https://review.typo3.org/57984
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Joerg Kummer <typo3@enobe.de>
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Tested-by: Mathias Brodala <mbrodala@pagemachine.de>
10 months ago[BUGFIX] Decouple pasting from drag & drop handling 70/57970/3
Andreas Fernandez [Mon, 20 Aug 2018 17:25:15 +0000 (19:25 +0200)]
[BUGFIX] Decouple pasting from drag & drop handling

The "Paste" action now does not depend on the `DragDrop` anymore.
Previously, the `onDrop` event callback was called manually which is
wrong in that case, as the callback does far more calculations than
necessary when doing a simple paste action.

In the same run, the DragDrop module has been simplified, the module now
doesn't know anything about pasting content elements anymore.

Resolves: #85912
Releases: master
Change-Id: I3a8943e90a92c0ad4afec9e87091f9cd1878c34c
Reviewed-on: https://review.typo3.org/57970
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Manuel Selbach <manuel_selbach@yahoo.de>
Tested-by: Manuel Selbach <manuel_selbach@yahoo.de>
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Tested-by: Mathias Brodala <mbrodala@pagemachine.de>
10 months ago[FEATURE] Add "Pseudo" Site functionality 67/57767/22
Benni Mack [Wed, 1 Aug 2018 20:44:58 +0000 (22:44 +0200)]
[FEATURE] Add "Pseudo" Site functionality

All pages on rootlevel or with "is-siteroot" need
to have a site object as well, but populated
by sys_domain (optional) and all available sys_language
records.

However, this information needs to be compiled
within an entity called "PseudoSite".

This way, the page-based routing ("slug handling")
can use the functionality to detect the uniqueness
of a slug within a page tree.

The routing of sites is moved to a "SiteMatcher" API
class, returning all found information on a request
for a site, also encapsulating the Symfony/Routing
component in there.

This would be exactly the step where further information
about a URL will then be resolved.

Next steps are the usage of Sites and PseudoSites
in TYPO3 Backend, allowing to only show e.g.
languages that are configured, which can be done
via $site->getAvailableLanguages().

Resolves: #85900
Releases: master
Change-Id: Ia2d27e58f21b5c89dc67dffcbc82d6612b350988
Reviewed-on: https://review.typo3.org/57767
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
10 months ago[TASK] Use ServerRequestInterface in PageLayoutController 29/57329/24
Aljoscha Weber [Thu, 2 Aug 2018 10:43:25 +0000 (12:43 +0200)]
[TASK] Use ServerRequestInterface in PageLayoutController

Replace _GP, getIndpEnv usages with request related functions.

Also deprecate public access to all method except the entry point.

Resolves: #84375
Releases: master
Change-Id: I8050afe519dcbabfd6381c55844c81713482687e
Reviewed-on: https://review.typo3.org/57329
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Tested-by: Mathias Brodala <mbrodala@pagemachine.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
10 months ago[BUGFIX] Use extension key instead of an array for data reload 79/57979/3
Stephan Großberndt [Tue, 21 Aug 2018 09:00:13 +0000 (11:00 +0200)]
[BUGFIX] Use extension key instead of an array for data reload

Due to some database changes during the installation process of an
extension, the patch https://review.typo3.org/57486/ misses to pass
the extension key instead of the enriched extension information array.

Resolves: #85915
Related: #79094
Releases: master, 8.7
Change-Id: I708a99f47a2c493f68d224b9ffca4ec6c008f827
Reviewed-on: https://review.typo3.org/57979
Reviewed-by: Nicole Cordes <typo3@cordes.co>
Tested-by: Nicole Cordes <typo3@cordes.co>
Reviewed-by: Joerg Kummer <typo3@enobe.de>
Tested-by: Joerg Kummer <typo3@enobe.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Helmut Hummel <typo3@helhum.io>
Tested-by: Helmut Hummel <typo3@helhum.io>
10 months ago[BUGFIX] Do not depend on global env to define cli mode 16/57816/15
Helmut Hummel [Sun, 5 Aug 2018 10:42:50 +0000 (12:42 +0200)]
[BUGFIX] Do not depend on global env to define cli mode

Instead of depending on a global environment variable
to set the TYPO3 environment in cli mode, we inject the mode
properly from within the entry point.

We now move the code to initialize the environment
to SystemEnvironmentBuilder:run() where we can evaluate
the request type passed to this method, to properly
set cli or non cli mode.

Depending on a global env to set the TYPO3 environment
would require hacks, like changing the global env to
properly select the cli mode (currently done in testing framework).
Using an application sub context for that purpose isn't ideal either,
because at best we would need to also test for magic contexts
like "Production/Frontend" or "Development/Frontend" and at worst
it conflicts with user defined contexts. It wouldn't be possible
to define a sub context and still properly start a frontend application
within this context.

composer req --dev typo3/testing-framework ~4.4.1

Resolves: #85757
Releases: master
Change-Id: Ia64d358e731d9ddf717497ae120acb009e0f26fa
Reviewed-on: https://review.typo3.org/57816
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
10 months ago[TASK] Use proper label shortcut method in adminpanel and feedit 64/57964/2
Benni Mack [Mon, 20 Aug 2018 07:02:59 +0000 (09:02 +0200)]
[TASK] Use proper label shortcut method in adminpanel and feedit

The legacy naming for the shorthand method "extGetLL" was moved
to "getLabel" for both the edit toolbar and the EXT:feedit panel.

Resolves: #85905
Releases: master
Change-Id: I4fdad2127d40cc2850237311f3bc3f56c85ca394
Reviewed-on: https://review.typo3.org/57964
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>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
10 months ago[TASK] Add more remarks for flags regarding temporary content 65/57965/4
Benni Mack [Mon, 20 Aug 2018 07:05:17 +0000 (09:05 +0200)]
[TASK] Add more remarks for flags regarding temporary content

Just additional comments in TSFE.

Resolves: #85906
Releases: master
Change-Id: I7301370fab406bd5d9c395b7d092688d56bac9e3
Reviewed-on: https://review.typo3.org/57965
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Markus Klein <markus.klein@typo3.org>
10 months ago[TASK] Remove unused protected getter 61/57961/2
Benni Mack [Mon, 20 Aug 2018 05:25:24 +0000 (07:25 +0200)]
[TASK] Remove unused protected getter

The felogin plugin implements a protected short-hand getter
"getTypoScriptFrontendController" although this is never used.

Resolves: #85903
Releases: master
Change-Id: I0ee7e88a196739d0c3ef64bb80536f5c3372c79d
Reviewed-on: https://review.typo3.org/57961
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>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
10 months ago[BUGFIX] Remove check for TYPO3_MODE in ext_tables 63/57963/2
Benni Mack [Mon, 20 Aug 2018 06:46:04 +0000 (08:46 +0200)]
[BUGFIX] Remove check for TYPO3_MODE in ext_tables

With TYPO3 v9.0, all simple TYPO3_MODE checks of all system extensions
were removed, however EXT:rsaauth was somehow forgotten.

Resolves: #85904
Releases: master
Change-Id: If76b25813d323e0604a0a48596f2cd3d113f833a
Reviewed-on: https://review.typo3.org/57963
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: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
10 months ago[BUGFIX] Extract metadata for new files in storage 42/57842/5
Andreas Fernandez [Thu, 9 Aug 2018 14:18:03 +0000 (16:18 +0200)]
[BUGFIX] Extract metadata for new files in storage

If files in a remote storage are fetched the first time by FAL, the
metadata of these files is now extracted automatically, if the storage
supports this feature.

Resolves: #85786
Releases: master, 8.7
Change-Id: I4006ea2f39bbbbf0d6fe6a1f2adf2e79cdfbd5c5
Reviewed-on: https://review.typo3.org/57842
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Frans Saris <franssaris@gmail.com>
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Jigal van Hemert <jigal.van.hemert@typo3.org>
Tested-by: Jigal van Hemert <jigal.van.hemert@typo3.org>
10 months ago[TASK] Update codeception version from 2.4.4 58/57958/5
Anja [Sun, 19 Aug 2018 09:53:25 +0000 (11:53 +0200)]
[TASK] Update codeception version from 2.4.4

command used:
composer require codeception/codeception:^2.4.5

Change-Id: Ie3a81ef7591d1beb7beadf06c3e009444c6d5180
Resolves: #85899
Releases: master
Reviewed-on: https://review.typo3.org/57958
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
10 months ago[TASK] Stabilize acceptance test 57/57957/4
Anja [Sun, 19 Aug 2018 08:46:46 +0000 (10:46 +0200)]
[TASK] Stabilize acceptance test

Change-Id: I034b11478e2ac8b5d15c298d69afcc944626eb1d
Resolves: #85898
Releases: master
Reviewed-on: https://review.typo3.org/57957
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>
10 months ago[TASK] Fix spelling and streamline @deprecated notations 48/57948/2
Wouter Wolters [Fri, 17 Aug 2018 12:26:31 +0000 (14:26 +0200)]
[TASK] Fix spelling and streamline @deprecated notations

Resolves: #85891
Releases: master
Change-Id: Ie848059591cb69d9e6fad6c2c6275b9655e6ff87
Reviewed-on: https://review.typo3.org/57948
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>
10 months ago[TASK] Centralize sys_domain resolving 49/57949/12
Benni Mack [Fri, 17 Aug 2018 12:40:56 +0000 (14:40 +0200)]
[TASK] Centralize sys_domain resolving

Core provides various places to either retrieve the pageId
of a sys_domain record, or to find out the root page ID
given a request (previously domain + path).

However, due to the inclusion of symfony/routing, the
detection can now be handled by this new component.

For this purpose, a new class LegacyDomainResolver is
introduced (internal) which utilizes symfony/routing
under the hood and does proper caching.

This way, the following methods can be deprecated:
- TypoScriptFrontendController->domainNameMatchesCurrentRequest()
- TypoScriptFrontendController->getDomainDataForPid()
- BackendUtility::getDomainStartPage()
- BackendUtility::firstDomainRecord()

This is a precursor for fetching all sys_domain data,
to minimize the efforts later-on to wrap the LegacyDomainResolver
into a proper Router, and also to build pseudo-sites
on top.

Resolves: #85892
Releases: master
Change-Id: I831d33ac06f090cbe4d2a16e592549739489f99a
Reviewed-on: https://review.typo3.org/57949
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
10 months ago[FEATURE] Add feature toggle interface to Settings 52/57952/4
Christian Kuhn [Fri, 17 Aug 2018 15:15:19 +0000 (17:15 +0200)]
[FEATURE] Add feature toggle interface to Settings

Admin tools -> Settings is extended by a GUI to manipulate
feature toggles. Note this interface lists only core features
at the moment since extensions currently have no way to
extend DefaultConfigurationDescrition.yml with additional
information.

Resolves: #85894
Related: #83429
Releases: master
Change-Id: I7ae03c87f2bf94281d4d63d2ff80c6f0460807cb
Reviewed-on: https://review.typo3.org/57952
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
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>
10 months ago[TASK] Let deprecation notices contain class and method/property names 56/57956/2
Alexander Schnitzler [Sat, 18 Aug 2018 17:10:22 +0000 (19:10 +0200)]
[TASK] Let deprecation notices contain class and method/property names

Instead of using generic deprecation messages like "Tagging methods with
@ignorevalidation is deprecated and will be removed...", deprecation
messages should contain the affected class and method/property name.

Releases: master
Resolves: #83255
Change-Id: I0ec1a5739c7b9eaa39e8447d19c410de27d2d3c8
Reviewed-on: https://review.typo3.org/57956
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>
10 months ago[TASK] Streamline site handling functional tests 55/57955/4
Oliver Hader [Sat, 18 Aug 2018 11:48:24 +0000 (13:48 +0200)]
[TASK] Streamline site handling functional tests

Some additional tests are added and the scenario
is extended with pagetrees without a site (sys_domain
in use).

Resolves: #85897
Releases: master
Change-Id: I5c6f61c59e9383de2199dbbc687fdd0924cde1af
Reviewed-on: https://review.typo3.org/57955
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>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
10 months ago[TASK] Cleanup in LiveSearch class 46/57946/3
Wouter Wolters [Fri, 17 Aug 2018 11:56:47 +0000 (13:56 +0200)]
[TASK] Cleanup in LiveSearch class

* Simplify FQN of QueryParser
* Use correct typehint for $pageIdList, is an array and not a string
* Switch if statement order to use the less expensive one first
* Surround hard to read or-statement with parentheses
* Directyly return result in getAvailablePageIds

Resolves: #85889
Releases: master
Change-Id: I93b11a4d1480767902435d392a6f6af518bac53f
Reviewed-on: https://review.typo3.org/57946
Reviewed-by: Jan Helke <typo3@helke.de>
Tested-by: Jan Helke <typo3@helke.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
10 months ago[SECURITY] Ensure validity of parameters submitted to ThumbnailController 43/57943/7
Oliver Hader [Fri, 17 Aug 2018 06:49:14 +0000 (08:49 +0200)]
[SECURITY] Ensure validity of parameters submitted to ThumbnailController

Parameters submitted to ThumbnailController via HTTP GET query parameters
can contain arbitrary information. Thus, it has to be verified that those
parameters are valid by signing them with a HMAC.

Prior to that the source code was vulnerable to information disclosure as
well as denial of service attacks due to unsanitized user input. A valid
backend user account was required in order to make use of these flaws.

Since the change which introduced this behavior was not released yet, the
security fixes are handled in public without additional announcements.

Resolves: #85875
Releases: master, 8.7
Change-Id: Ia53ba3756f140b0728b8fd1fb7e0527836639a6b
Reviewed-on: https://review.typo3.org/57943
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
10 months ago[BUGFIX] Fix "enabled" in array representation of SiteLanguage 51/57951/4
Benni Mack [Fri, 17 Aug 2018 12:46:40 +0000 (14:46 +0200)]
[BUGFIX] Fix "enabled" in array representation of SiteLanguage

A minor issue with the wrong property when calling enabled()
vs. "isEnabled()" was introduced.

Resolves: #85164
Releases: master
Change-Id: I99afd802db480c6c4b03263c5972867a4273020e
Reviewed-on: https://review.typo3.org/57951
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
10 months ago[BUGFIX] Correct extension scanner matcher definitions 50/57950/3
Christian Kuhn [Fri, 17 Aug 2018 12:43:50 +0000 (14:43 +0200)]
[BUGFIX] Correct extension scanner matcher definitions

Add a couple of missing numberOfMandatoryArguments lines
to the MethodCallMatcher definitions to fix the extension
scanner that validates these files at runtime.

Change-Id: I029d16d4d63b275c134b0483200a716111c913c2
Resolves: #85893
Releases: master
Reviewed-on: https://review.typo3.org/57950
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-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>
10 months ago[BUGFIX] Trigger close & save modal if an IRRE record was removed 47/57947/2
Daniel Goerz [Fri, 17 Aug 2018 11:58:01 +0000 (13:58 +0200)]
[BUGFIX] Trigger close & save modal if an IRRE record was removed

Resolves: #85890
Releases: master
Change-Id: I73972920dbb7046e8ab7cf95577cb2f5af99c095
Reviewed-on: https://review.typo3.org/57947
Reviewed-by: Jan Helke <typo3@helke.de>
Tested-by: Jan Helke <typo3@helke.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>