Packages/TYPO3.CMS.git
7 weeks ago[TASK] Use a reference variable to pass $this into hooks 36/63036/4
Alexander Schnitzler [Sat, 25 Jan 2020 16:52:28 +0000 (17:52 +0100)]
[TASK] Use a reference variable to pass $this into hooks

Unfortunately phpstan looses the correct type of $this
as soon as $this is passed into a hooked as a hook method
parameter without a specific type. This leads to phpstan
losing the information about available methods and properties
of $this.

Releases: master
Resolves: #90204
Change-Id: I6fdb4f07dd970a1602a7afbbf662b29f2a927a15
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63036
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
7 weeks ago[TASK] Streamline usage of caching framework 58/62558/5
Benni Mack [Thu, 16 Jan 2020 09:57:14 +0000 (10:57 +0100)]
[TASK] Streamline usage of caching framework

Use code cache properly instead of storing strings into it,
because it is proper usage of our API, removes the need
for stripping PHP code strings and improves performance
when OPCache is in use (which is recommended on production systems).

Additionally all calls to ->has are removed, except one place where
boolean values are stored in a runtime cache and in tests,
because the API guarantees returning "false" when using ->get or ->require

Doing so reduces the amount of lookups on the backend storage (file_exists
for file backend, SQL queries for DB backend) and makes up more
straightforward code in most places (reduces cyclomatic complexity by removing obsolete "else" branching).

Releases: master
Resolves: #89895
Change-Id: I401512ad4ddffb622ce2f4a9d88274deb4b4e849
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62558
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Achim Fritz <af@achimfritz.de>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Achim Fritz <af@achimfritz.de>
Reviewed-by: Benni Mack <benni@typo3.org>
7 weeks ago[FEATURE] Add dependency injection support for console commands 30/61630/21
Benjamin Franzke [Thu, 5 Sep 2019 11:44:09 +0000 (13:44 +0200)]
[FEATURE] Add dependency injection support for console commands

Transform CommandRegistry into a symfony CommandLoader which
allows console commands to be created on demand.
That means commands are lazy loaded in order to avoid creating
all commands with all their dependencies in every console
invocation. Command will now be loaded when they are either
executed or when command metadata is required (e.g. for
the command listing)

The `site:list` command is adapted to make use of dependency injection.

Releases: master
Resolves: #89139
Change-Id: I64256bf2dc21f0f3fe434aa5dff6176f0fe22233
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61630
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Achim Fritz <af@achimfritz.de>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Achim Fritz <af@achimfritz.de>
Reviewed-by: Benni Mack <benni@typo3.org>
7 weeks ago[BUGFIX] Fix broken icon for groups with allowed all tables 37/63237/2
Nikita Hovratov [Thu, 13 Feb 2020 20:51:47 +0000 (21:51 +0100)]
[BUGFIX] Fix broken icon for groups with allowed all tables

This fixes the wrong comparison with the key instead of the value
in the foreach loop.

Fixes: #89694
Releases: master, 9.5, 8.7
Change-Id: I6d1d4b9d89a9ac0db1215245b39edb23b3a888f8
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63237
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
7 weeks ago[BUGFIX] Rework AJAX request queueing 07/63107/9
Andreas Fernandez [Fri, 31 Jan 2020 17:00:15 +0000 (18:00 +0100)]
[BUGFIX] Rework AJAX request queueing

This patch reworks the queueing system for AJAX requests sent by the
extension scanner. This implementation now really only sends the allowed
amount of concurrent requests and queues the remaining requests.

When the extension scanner gets closed, the queue gets flushed and the
remaining running requests get aborted. Since aborting a request triggers
a DOMException, the rather useless "Oops" notification gets removed.

The extension scanner now also queues requests where it actually makes
sense.

Resolves: #90279
Releases: master, 9.5
Change-Id: Ia5a64a2074fd99b8447063e2135126b7cf46e393
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63107
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Richard Haeser <richard@maxserv.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Richard Haeser <richard@maxserv.com>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
7 weeks ago[TASK] Improve color contrast of toggle checkboxes 79/63179/5
Michael Telgkamp [Thu, 6 Feb 2020 11:59:42 +0000 (12:59 +0100)]
[TASK] Improve color contrast of toggle checkboxes

To allow persons with color blindness to recognize the status
of the toggle checkboxes more easy the contrast is adjusted.

Resolves: #84881
Releases: master
Change-Id: I30aff505cdaafc3272303712d7a4eb70b53c2371
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63179
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Richard Haeser <richard@maxserv.com>
Reviewed-by: Riny van Tiggelen <info@online-gamer.nl>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Richard Haeser <richard@maxserv.com>
7 weeks ago[BUGFIX] Respect language permissions for page translations in list 32/63232/3
Georg Ringer [Thu, 13 Feb 2020 07:43:45 +0000 (08:43 +0100)]
[BUGFIX] Respect language permissions for page translations in list
module

If an editor has got access to only a subset of languages, only those
must be visible within the list module for page translations.

Resolves: #90367
Releases: master, 9.5
Change-Id: I6deae42f2428e23d0dfb7656905db7c453119000
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63232
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Richard Haeser <richard@maxserv.com>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Richard Haeser <richard@maxserv.com>
7 weeks ago[TASK] Make info messages of InputSlugElement translatable 99/62199/4
Georg Ringer [Tue, 5 Nov 2019 20:48:50 +0000 (21:48 +0100)]
[TASK] Make info messages of InputSlugElement translatable

Move the info message text to a xlf file and differ between the slug of
pages and records.

Resolves: #89574
Releases: master, 9.5
Change-Id: I1d68e5b9dcca9cd2559c5e0bdbefc81c79e6b669
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62199
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
7 weeks ago[FEATURE] Add Events to AdminPanel 41/63041/8
Susanne Moog [Sun, 26 Jan 2020 16:21:18 +0000 (17:21 +0100)]
[FEATURE] Add Events to AdminPanel

To promote the new PSR-14 Events and to make it easier for people to
see which kinds of events may be used, the admin panel now displays
all events that are dispatched in the current request with their
parameters.

Resolves: #90265
Releases: master
Change-Id: I3c73ab19168954e66ca3bb73762a26a3cb9628a2
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63041
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Benni Mack <benni@typo3.org>
7 weeks ago[BUGFIX] Run tests with configured error reporting in PHPunit 26/62926/8
Benni Mack [Thu, 16 Jan 2020 09:57:14 +0000 (10:57 +0100)]
[BUGFIX] Run tests with configured error reporting in PHPunit

SystemEnvironmentBuilder calls

 error_reporting(E_ALL & ~(E_STRICT | E_NOTICE | E_DEPRECATED));

which in turn is called on every test to setup the environment.
This basically enforces this exact error reporting and does not
allow to configure the error reporting in phpunit.xml AT ALL.

Until TYPO3 v9, this was covered in each BaseTestCase in
setUpBeforeClass() to re-add E_NOTICE to make all tests run
without notice.

The functionality in SystemEnvironmentBuilder was added
in TYPO3 v6.0 while refactoring TYPO3's Bootstrap to ensure
that no notices in ext_localconf.php or ext_tables.php
were breaking the output. However, nowadays, TYPO3's
error reporting is set up directly after LocalConfiguration.php
inclusion, making this logic obsolete.

The functionality is therefore moved to the Bootstrap at a later point,
which is called for Functional and Acceptance Tests.

Resolves: #90125
Releases: master
Change-Id: I8d6348ffbf6622c03abecedc1cb0ce286ba1044c
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62926
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Benni Mack <benni@typo3.org>
7 weeks ago[FEATURE] Improve status output of refindex update 48/53748/21
Sebastian Fischer [Sun, 20 Aug 2017 16:18:15 +0000 (18:18 +0200)]
[FEATURE] Improve status output of refindex update

With adding progressbar support while updating the reference index,
it is now possible to see which table is updated and how much progress
has already been achieved.

To be able to implement the progressbar in the frontend in a different
way, a progress listener interface is introduced which can be added separately.

At the same time, the FlashMessage logic is now put in the TYPO3 Backend
controller and the $cli_echo is now used to inject the progress listener interface

Resolves: #82062
Releases: master
Change-Id: Id11ba8a9f3e033eaea9f3aff5a7f5eb0602cfa02
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/53748
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Sebastian Fischer <typo3@evoweb.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
7 weeks ago[FEATURE] Implement SameSite option for TYPO3 cookies 83/63183/9
Benni Mack [Mon, 10 Feb 2020 06:50:35 +0000 (07:50 +0100)]
[FEATURE] Implement SameSite option for TYPO3 cookies

This change introduces a new security option for setting the SameSite
option to all cookies sent by TYPO3 Core.

Namely:
- Frontend User Sessions ("lax" by default)
- Backend User Sessions ("strict" by default)
- Install Tool Sessions ("strict", none-configurable)
- Last Login Provider in Backend ("strict", non-configurable)

This means that these can only be accessed by scripts and requests
by the same site, and not by any third-party scripts.

Since we're talking about actual cookies for a user, and not
ads-related or third-party login-dependant cookies, the default
options fit just perfectly.

All modern browsers except Internet Explorer respect this option
to be set. Please note that Firefox and Chrome will have "SameSite=lax"
set in Q1/2020 by default if NO SameSite option is set at all. This change
allows to configure this.

Backend and Frontend User Cookies can be configured to "strict", "lax"
or "none" (= same as before), whereas "none" only works for secure
connections (= HTTPS).

If "strict" is in place, security via CSRF is not needed anymore, and can
be dropped in the future.

Resolves: #90351
Releases: master, 9.5, 8.7
Change-Id: I8095e2a552faa9d1fd4fa7855297302a9ec6a75f
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63183
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
7 weeks ago[TASK] Remove unused code in New CE Wizard / PagePositionMap 11/63211/2
Benni Mack [Wed, 12 Feb 2020 21:13:37 +0000 (22:13 +0100)]
[TASK] Remove unused code in New CE Wizard / PagePositionMap

There are a few places where unused options can be simplified,
and the dependency on the PagePositionMap class can be placed in
one dedicated method.

Several guard clauses are useless due to method parameter types,
and are cleaned up.

This is a pre-patch to bring more functionality into New Content
Element Wizard.

Resolves: #90366
Releases: master
Change-Id: I912efbe25f6ff79670f404d7f44dbad0993295db
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63211
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
7 weeks ago[TASK] Remove dependency to webmozart/assert 09/63209/3
Benni Mack [Wed, 12 Feb 2020 19:46:30 +0000 (20:46 +0100)]
[TASK] Remove dependency to webmozart/assert

TYPO3 uses "phpdocumentor/reflection-docblock" (added in Jan 2019)
but also added "webmozart/assert" which is not needed directly (as it is
a subdependency). Thus, TYPO3 Core should only require what is directly
used, therefore the dependency is removed.

Used composer command:
  composer remove webmozart/assert

Resolves: #90364
Releases: master
Change-Id: Ief2787cb98c0080517f73e321ab34568b0addafb
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63209
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Benni Mack <benni@typo3.org>
7 weeks ago[BUGFIX] Fix build pipeline 08/63208/2
Andreas Fernandez [Wed, 12 Feb 2020 11:45:14 +0000 (12:45 +0100)]
[BUGFIX] Fix build pipeline

This patch fixes some code issues with unit tests and HTML formatting
that were not noticed due to missing builds during the infrastructure
outage.

Resolves: #90363
Releases: master
Change-Id: Iab2e9965e711d0ca655c1105b16ec9a5434d3d87
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63208
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
7 weeks ago[BUGFIX] Use new group names in Bamboo AbstractSpec 05/63205/2
Andreas Fernandez [Wed, 12 Feb 2020 09:00:16 +0000 (10:00 +0100)]
[BUGFIX] Use new group names in Bamboo AbstractSpec

Resolves: #90362
Releases: master, 9.5, 8.7
Change-Id: I5716164f88e1fcead60bf64cd76bbb7d31cfd6b6
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63205
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
7 weeks ago[BUGFIX] Make abstract test class really abstract to exclude it from test runs 04/63204/4
Anja Leichsenring [Tue, 11 Feb 2020 16:45:46 +0000 (17:45 +0100)]
[BUGFIX] Make abstract test class really abstract to exclude it from test runs

Added the missing keyword abstract to the class definition to prevent
phpunit from issuing a warning about the class not containing any tests.

Resolves: #90357
Releases: master, 9.5
Change-Id: I4b2d5c8111d63e73039658efffe73888b0c84179
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63204
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
7 weeks ago[FEATURE] Support of Macedonian 78/63178/2
Georg Ringer [Thu, 6 Feb 2020 07:27:10 +0000 (08:27 +0100)]
[FEATURE] Support of Macedonian

TYPO3 supports now translations from Macedonian which uses `mk` as
locale.

Resolves: #90328
Releases: master, 9.5
Change-Id: I25bec5840e48a74e23fe9d1b0d565f2cdd036f22
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63178
Tested-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
7 weeks ago[DOCS] Mismatch title / filename in changelog 98/63198/2
Sybille Peters [Tue, 11 Feb 2020 09:01:47 +0000 (10:01 +0100)]
[DOCS] Mismatch title / filename in changelog

The changelog "Use new Translation Server" has a title indicating
it is a feature, but has a filename starting with "Important".

Resolves: #90352
Releases: master
Change-Id: Ibfd5dc6aebabf36b81e26ac7d181ec3ed1624007
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63198
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
7 weeks ago[BUGFIX] Check correctly for existing click event 85/63185/3
Andreas Fernandez [Mon, 10 Feb 2020 08:29:42 +0000 (09:29 +0100)]
[BUGFIX] Check correctly for existing click event

With #90238 the JavaScript function `goToalt_doc` is registered as a
Fluid variable. However, the check for an existing event in the template
broke as the variable now always has a value.

To fix the situation, a new boolean variable `hasClickEvent` is
introduced.

Resolves: #90344
Related: #90238
Releases: master, 9.5
Change-Id: I7d86d300be923db82a0f79c3dd479a708230d92d
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63185
Reviewed-by: Claus Due <claus@phpmind.net>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Richard Haeser <richard@maxserv.com>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: Richard Haeser <richard@maxserv.com>
7 weeks ago[FEATURE] Separate system from 3rd-party extensions 95/62595/5
Michael Schams [Sun, 9 Feb 2020 08:42:36 +0000 (19:42 +1100)]
[FEATURE] Separate system from 3rd-party extensions

This feature separates system extensions from 3rd-party extensions
visually.

The extension list shown in the Extension Manager can now be filtered
by certain extension types (system and 3rd-party extensions).

The selected filter is saved to the backend user configuration.

Resolves: #89894
Releases: master
Change-Id: Ifd2916129c792fa2a05cb0df52ee49456cfb16ca
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62595
Tested-by: Riccardo De Contardi <erredeco@gmail.com>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
7 weeks ago[TASK] Split up PageLayoutView code into smaller chunks 72/63172/4
Benni Mack [Tue, 4 Feb 2020 09:34:41 +0000 (10:34 +0100)]
[TASK] Split up PageLayoutView code into smaller chunks

The PageLayoutView monster class has been chunked up into smaller
parts and some other functionality was removed.

In detail this patch changes:
- start() method is removed, as it is not needed anymore
- public properties which are not in use or have been left-overs ("nextThree") are removed
- rendering a single content element is now split up into smaller parts
- rendering the "localization view" is now separated into a separate method
- unnecessary functionality in separate methods (addPageIdConstraint) is moved into the main SQL function

Resolves: #90315
Releases: master
Change-Id: I53cd10beb5904bf49618d8b9d6147701f783125f
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63172
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Daniel Gorges <daniel.gorges@b13.com>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Daniel Gorges <daniel.gorges@b13.com>
Reviewed-by: Benni Mack <benni@typo3.org>
7 weeks ago[TASK] Use ModuleTemplate and Fluid for LinkBrowser and ElementBrowser 76/63176/3
Benni Mack [Wed, 5 Feb 2020 11:38:42 +0000 (12:38 +0100)]
[TASK] Use ModuleTemplate and Fluid for LinkBrowser and ElementBrowser

This patch removes the dependency to DocumentTemplate from
all LinkHandler + ElementBrowser popups, paving the way
to move HTML generation of these parts into Fluid templates more
and more.

In this iteration however, the main focus relies on using ModuleTemplate
instead of having everything built within Fluid.

Resolves: #90326
Releases: master
Change-Id: Idfa3f10a43392893e875bbbd2290f7a8557dc8e7
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63176
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Daniel Gorges <daniel.gorges@b13.com>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Daniel Gorges <daniel.gorges@b13.com>
Reviewed-by: Benni Mack <benni@typo3.org>
7 weeks ago[BUGFIX] Reset variables in SiteListCommand 80/63180/4
Georg Ringer [Fri, 7 Feb 2020 08:44:07 +0000 (09:44 +0100)]
[BUGFIX] Reset variables in SiteListCommand

Reset the variables holding information about locale and status to avoid
showing wrong output.

Resolves: #90334
Releases: master, 9.5
Change-Id: I20cb5847382be28b0aaaf0a8c8afec626cd99c9d
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63180
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
8 weeks ago[TASK] Use Fluid within Linkvalidator backend module 73/63173/2
Benni Mack [Tue, 4 Feb 2020 13:46:33 +0000 (14:46 +0100)]
[TASK] Use Fluid within Linkvalidator backend module

This patch removes the marker-based template for Web=>Info=>Linkanalyzer
and replaces this with custom Fluid Views to move HTML generation out
of the PHP code as much as possible, and to remove the dependency
to DocumentTemplate.

Resolves: #90319
Releases: master
Change-Id: I700b6e07f0c7978bea2292d00698e3f659116406
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63173
Tested-by: Sybille Peters <sypets@gmx.de>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
8 weeks ago[BUGFIX] Reset MP parameter on shortcut to MountPoint 74/63174/2
Benni Mack [Tue, 4 Feb 2020 15:36:19 +0000 (16:36 +0100)]
[BUGFIX] Reset MP parameter on shortcut to MountPoint

If a page has a shortcut to a MountPoint page, the MP parameter
should not be doubled, when the mount_pid_ol flag was set.

Resolves: #90322
Releases: master, 9.5
Change-Id: I18a3109b353be2ea3367f6321b1fab1fa771fe7d
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63174
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: Daniel Sattler <sattler@b13.de>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Daniel Sattler <sattler@b13.de>
Reviewed-by: Benni Mack <benni@typo3.org>
2 months ago[TASK] Streamline linkvalidator code 70/63170/3
Benni Mack [Tue, 4 Feb 2020 08:35:00 +0000 (09:35 +0100)]
[TASK] Streamline linkvalidator code

This is a pre-patch to fluidize the Backend module and the
linkvalidator email as next steps.

- Remove unused functionality
- Move database calls to linkvalidator table into BrokenLinkRepository (incl. json_decode)
- Fix PHP comments and method argument handling

Resolves: #90314
Releases: master
Change-Id: I1850b182577c72a3ad97247fb33bc164ea5e7925
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63170
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
2 months ago[TASK] Avoid Fluid JS escaping trick in new content wizard 10/63110/2
Claus Due [Fri, 31 Jan 2020 19:40:12 +0000 (20:40 +0100)]
[TASK] Avoid Fluid JS escaping trick in new content wizard

Assigns the entire goToalt_doc JS method from the new
content wizard controller, which prevents the need for
using a JS escaping trick in Fluid.

Releases: master, 9.5, 8.7
Resolves: #90283
Change-Id: I9a3a49e4d32f25cf940672101f58da5064e9a478
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63110
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
2 months ago[TASK] Remove title field in redirects module 61/63161/2
Guido Schmechel [Mon, 3 Feb 2020 14:34:42 +0000 (15:34 +0100)]
[TASK] Remove title field in redirects module

Redirects do not require a link title, so the title field is removed.

Resolves: #90306
Releases: master, 9.5
Change-Id: I3c083a087d800cb142a5fc8f736175402e7284d0
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63161
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
2 months ago[TASK] Use ModuleTemplate in LoginController 57/63157/2
Benni Mack [Mon, 3 Feb 2020 11:45:27 +0000 (12:45 +0100)]
[TASK] Use ModuleTemplate in LoginController

ModuleTemplate has been introduced in TYPO3 v7 to
supersed DocumentTemplate. LoginController is one of
the few places in TYPO3 Backend where the old API is still
used.

The patch uses ModuleTemplate and avoids using Fluid view in Fluid view
by using ModuleTemplates' already established View.

Resolves: #90304
Releases: master
Change-Id: I2dbee8dd4a031a6ceabd74d6650b9b4cfc6893a6
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63157
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
2 months ago[TASK] Move Linkvalidator database query to repository 68/63168/3
Benni Mack [Mon, 3 Feb 2020 16:47:20 +0000 (17:47 +0100)]
[TASK] Move Linkvalidator database query to repository

This is a pre-patch for the custom new module to fluidify
this backend module.

Resolves: #90311
Releases: master
Change-Id: I263c179a50c856b44fdd00a344170b093c90f8f9
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63168
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Sybille Peters <sypets@gmx.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Sybille Peters <sypets@gmx.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
2 months ago[FEATURE] Introduce HTML emails with Fluid templates 62/62362/24
Benni Mack [Sat, 23 Nov 2019 14:50:53 +0000 (15:50 +0100)]
[FEATURE] Introduce HTML emails with Fluid templates

A new FluidEmail class is added that depends on symfony/mime to allow
sending templated emails via Fluid (HTML + Text).

TYPO3 Install Tool ("Test Mail Setup") and the Backend User Login Notification
are migrated to the mail setup, allowing to sending out HTML mails.

It is used for some TYPO3-system-based emails, and can be configured
on a per-installation level.

In addition, a base layout is shipped for TYPO3 messages, so most of the
TYPO3-system emails can now be migrated further-on.

Resolves: #90266
Releases: master
Change-Id: I6961b4ffd7ba39c947f1ce7a85626349c1b4032e
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62362
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Björn Jacob <bjoern.jacob@tritum.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
2 months ago[TASK] Clean up PageLayoutController 66/63166/2
Benni Mack [Mon, 3 Feb 2020 16:19:17 +0000 (17:19 +0100)]
[TASK] Clean up PageLayoutController

With PageLayoutView, the PageLayoutController class
shows various options that are not evaluated anymore,
and thus, can be streamlined to make adjustments easier.

The fields "new_unique_uid", "returnUrl" and "popViewId" is not in use in
the Page Module.

The ContentLayoutPagePositionMap (UX for choosing a new
content element in two steps) is not in use anymore since the
modal box (New Content Element Wizard) was added.

Resolves: #90309
Releases: master
Change-Id: If2c4e8bf3c0bc1a8bc81ce6c9fa417efcef8b428
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63166
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
2 months ago[BUGFIX] Filter undefined values from request payload 67/63167/4
Andreas Fernandez [Mon, 3 Feb 2020 16:42:11 +0000 (17:42 +0100)]
[BUGFIX] Filter undefined values from request payload

To keep compatibility with existing code, the AJAX API now removes
undefined values from any payload (either JSON, FormData or
SearchParams).

Resolves: #90310
Related: #89740
Releases: master
Change-Id: I5f36c566036739b62631e3838e8cbdecb46084fc
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63167
Tested-by: Markus Klein <markus.klein@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
2 months ago[BUGFIX] Independently check permissions for each language in page module 09/63009/3
Christian Eßl [Wed, 22 Jan 2020 07:34:35 +0000 (08:34 +0100)]
[BUGFIX] Independently check permissions for each language in page module

If an editor has no edit permissions for the default language, but for
other languages, then opens the page module and switches to "Languages"
mode, the edit permissions are only checked for the language, that is
currently selected in the switch.
If this is the default langauge, the editor has no edit permissions for,
the topbar buttons in the content elements would then also be hidden for
all other languages.
This commit fixes this issue by independently checking the access
permissions for each language.

Resolves: #90164
Releases: master, 9.5
Change-Id: Ic5cc7d5a1c09a144744b40aa524e446a39a84a8e
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63009
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Benni Mack <benni@typo3.org>
2 months ago[TASK] Separate PageInformation controller from PageLayoutView 56/63156/3
Benni Mack [Mon, 3 Feb 2020 10:05:18 +0000 (11:05 +0100)]
[TASK] Separate PageInformation controller from PageLayoutView

In order to decouple Web->Info from Web->Layout, the PageInformationController
now contains all code that is needed to render the tree within the module.

All renderings relevant for pages are removed from PageLayoutView
and moved to PageInformationController.

Resolves: #90303
Releases: master
Change-Id: I7a66e5d3227b1cef227e48850bf71868e914d783
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63156
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
2 months ago[TASK] Update Fluid Standalone to latest version 63/63163/2
Benni Mack [Mon, 3 Feb 2020 15:19:39 +0000 (16:19 +0100)]
[TASK] Update Fluid Standalone to latest version

This change updates fluid standalone to 2.6.9,
which solves some PCRE-related issues with recent
PHP versions.

Composer command used:

  composer update typo3fluid/fluid

Resolves: #90308
Releases: master, 9.5, 8.7
Change-Id: I6ba96f4ab1f46a2b8af58a1b2836397dc9493c40
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63163
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Benni Mack <benni@typo3.org>
2 months ago[BUGFIX] Make overlaid mountpoint pages avoid redirects 62/63162/2
Benni Mack [Mon, 3 Feb 2020 15:01:29 +0000 (16:01 +0100)]
[BUGFIX] Make overlaid mountpoint pages avoid redirects

If a MountPoint page was overlaid with the Mounted page,
a redirect was triggered. This happened because the slugs
were not identical, so the Mounted Page was not in the
list of the slug candidates.

The behaviour is now resolved, as the Mounted Page is
now added to the candidates and its slug is replaced
by the original slug of the MountPoint page.

Resolves: #90307
Releases: master, 9.5
Change-Id: I0a5bcc320b92e8a2e99ace49f2f84d56cd0b620b
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63162
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Daniel Sattler <sattler@b13.de>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Daniel Sattler <sattler@b13.de>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
2 months ago[BUGFIX] Prevent PHP type error with deprecated settings for mailer 46/63146/2
Simon Gilli [Sun, 2 Feb 2020 13:57:38 +0000 (14:57 +0100)]
[BUGFIX] Prevent PHP type error with deprecated settings for mailer

This patch converts the $mailSettings['transport_smtp_encrypt'] explicit
to a bool as expected by Symfony/Mailer.

Additionally this setting is corrected in the admin tool which was not
adapted correctly with the introduction of the Symfony/Mailer.

Resolves: #90295
Releases: master
Change-Id: Ia5f48eec810bfda7936d462c098f5d5eba4332c0
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63146
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Martin Hotmann <martinhotmann@gmail.com>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Martin Hotmann <martinhotmann@gmail.com>
Reviewed-by: Benni Mack <benni@typo3.org>
2 months ago[TASK] Remove unused functionality of PageLayoutView class 97/63097/4
Benni Mack [Fri, 31 Jan 2020 13:09:54 +0000 (14:09 +0100)]
[TASK] Remove unused functionality of PageLayoutView class

A lot of code within PageLayoutView is not properly applicable
anymore.

The next step in this area is to:
- Extract Logic for PageInformationController into a separate class
- Extract Helper logic for custom content element previews into a separate class

Resolves: #90272
Releases: master
Change-Id: Ied94677c3a957eb81d18f281afab658c55214b48
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63097
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
2 months ago[TASK] Use ModuleTemplate in BackendController 09/63109/3
Benni Mack [Fri, 31 Jan 2020 17:29:53 +0000 (18:29 +0100)]
[TASK] Use ModuleTemplate in BackendController

The main entry point for the TYPO3 backend is the BackendController.

Some changes are made:
- Only instantiate necessary code
- Use $uriBuilder as property
- Use ModuleTemplate's view to not instantiate a Fluid view multiple times

This eases the way to lower the usage of DocumentTemplate again.

Resolves: #90282
Releases: master
Change-Id: I7ebc0f564f898f7451a5821ec357d05bda5bbda4
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63109
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
2 months ago[BUGFIX] Improve visual output of slug proposal 51/63051/3
Elias Häußler [Mon, 27 Jan 2020 20:49:59 +0000 (21:49 +0100)]
[BUGFIX] Improve visual output of slug proposal

If slugs are generated within Backend forms, the visual output (= label
below slug field) of the generated slug proposal might be broken if no
slash is prepended to the generated slug. This might be the case in custom
database tables where custom slug fields are defined with the
configuration "prependSlash" set to "false" (which is the default value).
It can also be the case if the configuration "prefixParentPageSlug" is set
to "false".

In order to ensure a clean visual output for those labels, the slug
proposalwithin them will now always be prepended by a slash. This makes
sure that the resulting url which is shown within those labels is always
valid. Note that this only effects visual output and is not meant to
modify any slug proposal generated by the SlugHelper class.

Resolves: #90222
Releases: master, 9.5
Change-Id: I93587cfec0db6c3d889fdce60a4515ef47decc82
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63051
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: theline <typo3@theline.capella.uberspace.de>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: theline <typo3@theline.capella.uberspace.de>
Reviewed-by: Benni Mack <benni@typo3.org>
2 months ago[TASK] Add REPORT HTTP method for WebDAV 47/63147/5
Stefan Horst [Sun, 2 Feb 2020 18:18:23 +0000 (18:18 +0000)]
[TASK] Add REPORT HTTP method for WebDAV

The REPORT HTTP method is specified in RFC 3253.

Releases: master, 9.5
Resolves: #90297
Change-Id: Ia78f602266bede3a8cf9d31e320bea7fe385aa08
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63147
Reviewed-by: Simon Gilli <typo3@gilbertsoft.org>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
2 months ago[TASK] Simplify code of FileList module 67/63067/5
Benni Mack [Fri, 31 Jan 2020 10:11:49 +0000 (11:11 +0100)]
[TASK] Simplify code of FileList module

The FileList class was originally a derivative of DatabaseRecordList,
which was decoupled in TYPO3 v9 and and marked as internal.

It is responsible for showing the actual "FileList" in the TYPO3 Backend
module.

A lot of this code has grown historically, and can be removed and
simplified, as it is not directly connected to the abstract record list anymore.

This patch removes unused public properties like $JScode as this is
part of a "multi-table" setup as is possible in the database listings.

Some methods are split into smaller parts to make the methods
themselves smaller.

This is however just the first step, next to separating the curation
and the output (and moving this into a fluid template), also using proper pagination
for fetching files and folders, or building DI for the class now is much easier to do.

Resolves: #90242
Releases: master
Change-Id: Ie66964d9df355a9d74dbe9d0a8a17f9cecdf7c83
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63067
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Susanne Moog <look@susi.dev>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Susanne Moog <look@susi.dev>
2 months ago[TASK] Convert payload to JSON based on request headers 40/63140/6
Andreas Fernandez [Sat, 1 Feb 2020 16:48:27 +0000 (17:48 +0100)]
[TASK] Convert payload to JSON based on request headers

The payload sent with the AJAX API is now automatically converted to a
JSON-encoded string, if the request's Content-Type header is set to
`application/json` or any variant of this.

Resolves: #90291
Releases: master
Change-Id: Ia81c74d9314fb56de99f4a74e073af7a671b472b
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63140
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
2 months ago[TASK] Raise typo3/testing-framework fixing DatabaseSnapshot issue 44/63144/2
Oliver Hader [Sun, 2 Feb 2020 11:17:40 +0000 (12:17 +0100)]
[TASK] Raise typo3/testing-framework fixing DatabaseSnapshot issue

https://github.com/TYPO3/testing-framework/commit/2111db60e8e1391fabdac4f2253af553f291d460

Resolves: #90294
Releases: master, 9.5
Change-Id: I21d8ad233b753c4a56c2227b4d2fec6944340c81
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63144
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
2 months ago[BUGFIX] Use correct method name in PersistedPatternMapper legacy trait 42/63142/2
Oliver Hader [Sun, 2 Feb 2020 09:05:07 +0000 (10:05 +0100)]
[BUGFIX] Use correct method name in PersistedPatternMapper legacy trait

Resolves: #90269
Releases: master, 9.5
Change-Id: I7366c213d5d417575b9c85c18728a4fdf4273520
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63142
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
2 months ago[TASK] Add tests for PersistedAliasMapper 04/63104/4
Oliver Hader [Fri, 31 Jan 2020 15:26:18 +0000 (16:26 +0100)]
[TASK] Add tests for PersistedAliasMapper

Resolves: #90278
Releases: master, 9.5
Change-Id: I158a7ea2c27b0081b3cdf5ee9452f2394cc31593
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63104
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
2 months ago[TASK] Make AJAX request abortion easier 41/63141/3
Andreas Fernandez [Sat, 1 Feb 2020 17:29:18 +0000 (18:29 +0100)]
[TASK] Make AJAX request abortion easier

The AJAX API doesn't expose the AbortController anymore as it has no
benefit for a developer, besides aborting a request. For this reason, the
AJAX API removes the `getAbort()` method and replaces it with an
`abort()` method, which utilizes the controller directly.

Resolves: #90292
Releases: master
Change-Id: Id6355663bc00bbb763692ca3b7fab145cb8cc55e
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63141
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
2 months ago[BUGFIX] Cast integer to string items during route argument mapping 56/63056/4
Oliver Hader [Tue, 28 Jan 2020 13:12:47 +0000 (14:12 +0100)]
[BUGFIX] Cast integer to string items during route argument mapping

Resolves: #90229
Releases: master, 9.5
Change-Id: Iec8baa5dbe23d78dd4bfae460b501c2da5cb6bd4
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63056
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Guido Schmechel <guido.schmechel@brandung.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
2 months ago[TASK] Make RteHtmlParser entrypoint API cleaner 70/63070/4
Benni Mack [Wed, 29 Jan 2020 16:06:02 +0000 (17:06 +0100)]
[TASK] Make RteHtmlParser entrypoint API cleaner

The RteHtmlParser has two public methods:
->init()
->RTE_transform()

init() was introduced in early PHP4 times when there was no constructor in PHP.
RTE_transform() contained a lot of parsing of properties, which is not needed
anymore since TYPO3 v8. init() itself is not needed anymore.

Since TYPO3 v8, RteHtmlParser is much cleaner towards the developer,
and the last step for this PHP class is to clearly separate the logic for the transformations in each direction, making two new entrypoints:
->transformTextForRichTextEditor($content, $configuration)
->transformTextForPersistence($content, $configuration)

This way, all logic is separated in these two methods, and the existing
RTE_transform() method is just a shell, which is not needed anymore.

Resolves: #90258
Releases: master
Change-Id: Iba140d71c5cd954dab4cf1fe4bfaca2233527e50
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63070
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Benni Mack <benni@typo3.org>
2 months ago[TASK] Streamline compatibility slots of SignalSlot Dispatcher 98/63098/3
Benni Mack [Fri, 31 Jan 2020 13:45:11 +0000 (14:45 +0100)]
[TASK] Streamline compatibility slots of SignalSlot Dispatcher

The first PSR-14 event received a custom Compatibility slot.
All further "old" slots have been moved to "SlotReplacement" classes,
which is now done with this first PSR-14 event (AfterMailerInitializationEvent)
as well, and moved to a more generic MailerInterface API, now that symfony/mailer
is stable.

Resolves: #90273
Releases: master
Change-Id: I989a941031987733d694335d7e235cf1e2392235
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63098
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
2 months ago[TASK] Update StaticValueMapper example in doc-block 95/63095/2
Oliver Hader [Fri, 31 Jan 2020 12:15:05 +0000 (13:15 +0100)]
[TASK] Update StaticValueMapper example in doc-block

Resolves: #90270
Releases: master, 9.5
Change-Id: Idbc51d012b49f3214d163878611d2107010242aa
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63095
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: Susanne Moog <look@susi.dev>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Susanne Moog <look@susi.dev>
2 months ago[TASK] Restore public and non-internal method signatures 94/63094/3
Claus Due [Fri, 31 Jan 2020 12:25:03 +0000 (13:25 +0100)]
[TASK] Restore public and non-internal method signatures

Followup for https://review.typo3.org/c/Packages/TYPO3.CMS/+/63069

The original patch changed both public and non-internal
method signatures and constitutes a breaking change,
but was not committed and documented as a breaking
change. This patch restores the method signatures in
accordance with the non-breaking nature of the original
patch.

Resolves: #90246
Releases: master
Change-Id: Icc832f80aad0466e3bd1555ff32369ef3949b04b
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63094
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Benni Mack <benni@typo3.org>
2 months ago[BUGFIX] Use correct method name in PersistedPatternMapper legacy trait 93/63093/3
Oliver Hader [Fri, 31 Jan 2020 12:22:36 +0000 (13:22 +0100)]
[BUGFIX] Use correct method name in PersistedPatternMapper legacy trait

Use createFieldConstraints instead of createRouteFieldConstraints
(as it has been in PersistedPatternMapper).

Resolves: #90269
Releases: master, 9.5
Change-Id: Ia4b70079291fc72527a2846d73b16b9e61c81dd3
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63093
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
2 months ago[BUGFIX] Show error for all invalid conditions 92/63092/3
Frank Naegler [Fri, 31 Jan 2020 12:08:46 +0000 (13:08 +0100)]
[BUGFIX] Show error for all invalid conditions

Show error messages in TypoScript Object Browser and
Template Analyzer for any invalid condition line.

Resolves: #77714
Releases: master, 9.5
Change-Id: I8ad24455a61467c47a1b8b28e465022c467d21d6
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63092
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Susanne Moog <look@susi.dev>
2 months ago[FEATURE] Migrate Extension-related signals to PSR-14 events 45/63045/6
Benni Mack [Mon, 27 Jan 2020 08:57:18 +0000 (09:57 +0100)]
[FEATURE] Migrate Extension-related signals to PSR-14 events

This change migrates all left-over signals in TYPO3 Core to PSR-14-compatible
events.

Package manager - related events have been moved to EXT:core to decouple
ExtensionManager functionality from PackageManager.

The following signals have been moved to events:
PackageManagement::packagesMayHaveChanged => PackagesMayHaveChangedEvent
InstallUtility::afterExtensionInstall => AfterPackageActivationEvent
InstallUtility::afterExtensionUninstall => AfterPackageDeactivationEvent
InstallUtility::afterExtensionT3DImport => AfterExtensionStaticDatabaseContentHasBeenImportedEvent
InstallUtility::afterExtensionStaticSqlImport => AfterExtensionStaticDatabaseContentHasBeenImportedEvent
InstallUtility::afterExtensionFileImport => AfterExtensionFilesHaveBeenImportedEvent
ExtensionManagementService::willInstallExtensions => BeforePackageActivationEvent
ProcessAvailableActionsViewHelper::processActions => AvailableActionsForExtensionEvent

Next up: Deprecate signal slot dispatcher.

Resolves: #90249
Releases: master
Change-Id: If688265c50c4200983c34f408b1cfd063f72546b
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63045
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
2 months ago[TASK] Respect extension state `excludeFromUpdates` during language updates 65/63065/5
Georg Ringer [Wed, 29 Jan 2020 12:00:49 +0000 (13:00 +0100)]
[TASK] Respect extension state `excludeFromUpdates` during language updates

If the state property inside `ext_emconf.php` is set to `excludeFromUpdates`,
the extension will be skipped while updating the language files in the Install Tool.

Resolves: master
Releases: #90236
Change-Id: I741216e7fac18aeb3e1144033495c2f2943d496f
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63065
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Benni Mack <benni@typo3.org>
2 months ago[BUGFIX] Use list module search in page module 63/63063/9
Benni Mack [Tue, 28 Jan 2020 17:29:54 +0000 (18:29 +0100)]
[BUGFIX] Use list module search in page module

The page module search bar now redirects to the list module,
where all functionality is given, and all records on this
page (not just tt_content) are found, streamlining
it with the list module logic.

Editors without permission for the list module do not see
the search in the page module (similar behaviour to LiveSearch).

All code of the page layout classes related to search is removed.
As this is non-public API, the removal is done without any
deprecations necessary.

Resolves: #90235
Releases: master
Change-Id: Ia23c931c5a009e8ffe9a1a56219fb922d63e44bf
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63063
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
2 months ago[TASK] Use correct regexp character class 78/63078/2
Oliver Hader [Thu, 30 Jan 2020 21:14:31 +0000 (22:14 +0100)]
[TASK] Use correct regexp character class

Use [:xdigit:] (a-f0-9/i) instead of [:alnum:] (a-z0-9/i)
for parsing hexadecimal values in sequences.

Resolves: #90263
Releases: master
Change-Id: I26d575c381a17c409abcd5ed04876696587a3886
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63078
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
2 months ago[FEATURE] Introduce CacheHashConfiguration and matching indicators 62/63062/6
Oliver Hader [Tue, 28 Jan 2020 17:04:29 +0000 (18:04 +0100)]
[FEATURE] Introduce CacheHashConfiguration and matching indicators

Settings for $GLOBALS['TYPO3_CONF_VARS']['FE']['cacheHash'] are modelled
in CacheHashConfiguration which takes care of validating configuration.
It also determines whether corresponding aspects apply to a given URL
parameter.

Besides exact matches (equals) it is possible to apply partial matches at
the beginning of a parameter (startsWith) or inline occurrences (contains).

URL parameter names are prefixed with the following indicators:
+ = (equals): exact match, default behavior if not given
+ ^ (startsWith): matching the beginning of a parameter name
+ ~ (contains): matching any inline occurrence in a parameter name

These indicators can be used for all previously existing sub-properties
'cachedParametersWhiteList', 'excludedParameters', 'excludedParametersIfEmpty'
and 'requireCacheHashPresenceParameters'.

Example:
$GLOBALS['TYPO3_CONF_VARS']['FE']['cacheHash'] = [
  'excludedParameters' => [
    'utm_source',
    'utm_medium',
    '^utm_', // making previous two obsolete
  ],
  'excludedParametersIfEmpty' => [
    '^tx_my_plugin[aspects]',
    'tx_my_plugin[filter]',
  ],
];

Resolves: #90234
Releases: master
Change-Id: I16d316e463b7c94c5eb75069f8c24ffde135d080
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63062
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Susanne Moog <look@susi.dev>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Susanne Moog <look@susi.dev>
2 months ago[TASK] Implicitly add backend routes to router using DI factories 31/62531/7
Benjamin Franzke [Tue, 3 Dec 2019 19:04:08 +0000 (20:04 +0100)]
[TASK] Implicitly add backend routes to router using DI factories

All Routes.php information for Backend routes are now collected
via Dependency Injection.

That means Bootstrap::initializeBackendRouter() doesn't
need to be called explicitly from a middleware anymore.

The Router class will always have the routes populated
whenever it is initialized / needed.

We use DI factories to collect and add the backend routes.
The routes from the extension configuration files are still cached,
but the cache is managed by a service provider.

We adapt the ServiceProviderCompilationPass to keep track
of the return type of extended services where the extension
may not have a return type declaration (because of the
dynamic closures in PseudoServiceProvider). We do that
to properly notify symfony DI that the routes are
stored as ArrayObject.

Change-Id: Ie589825408bf9e51782800a1b8370f57d81d5178
Releases: master
Resolves: #90247
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62531
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Susanne Moog <look@susi.dev>
2 months ago[TASK] Dissolve PersistenceDelegate for persisted mappers 49/63049/3
Oliver Hader [Mon, 27 Jan 2020 14:52:01 +0000 (15:52 +0100)]
[TASK] Dissolve PersistenceDelegate for persisted mappers

The intention of PersistenceDelegate was to provide a generic API to
resolve or generate route components. However the implementation did
not provide any additional behavior. It just was used as structural
pattern which did not provide any further advantages.

That's the reason why PersistenceDelegate gets dissolved and its
database connection invocation is moved to its corresponding callers
PersistedAliasMapper and PersistedPatternMapper.

For backward-compatibility reasons previous (protected) implementation
is still kept in legacy layer for those two route aspects.

Resolves: #90218
Releases: master, 9.5
Change-Id: I49eb58372c139c9b8274593efa2892a43eb81508
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63049
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Susanne Moog <look@susi.dev>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Johannes Schlier
Reviewed-by: Susanne Moog <look@susi.dev>
2 months ago[TASK] Show property path in title attribute 64/63064/3
Sebastian Michaelsen [Wed, 29 Jan 2020 07:17:07 +0000 (08:17 +0100)]
[TASK] Show property path in title attribute

In template tree view the property path is now shown in the title
attribute of each node to help the user orient and navigate through a
deeply nested tree.

Resolves: #90237
Releases: master, 9.5
Change-Id: I175c38eda3168c04e9d5f5b6d96a7bdc74121799
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63064
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Susanne Moog <look@susi.dev>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Susanne Moog <look@susi.dev>
2 months ago[BUGFIX] Use direct method calls for backend layouts in Page Module 73/63073/3
Benni Mack [Thu, 30 Jan 2020 07:33:53 +0000 (08:33 +0100)]
[BUGFIX] Use direct method calls for backend layouts in Page Module

Within all refactorings, fetching the correct backend layout and relevant colPos
information was still called via callUserFunction which is not needed at all,
as it is a static information (class + method name) so a regular method call
via PHP works just fine.

Resolves: #90254
Releases: master
Change-Id: I712e86b3a5d343bad3b4752a21dac9cbdc510f46
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63073
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
2 months ago[TASK] Replace ResourceFactory::getInstance() with makeInstance 76/63076/3
Benni Mack [Thu, 30 Jan 2020 15:20:21 +0000 (16:20 +0100)]
[TASK] Replace ResourceFactory::getInstance() with makeInstance

The so-called "singleton factory instance" is a wrapper around makeInstance
which can be used directly anyways.

With Dependency Injection this is not even necessary anymore, and should
be avoided under all circumstances.

The constructor does not cache anything, so this can be replaced completely.

SingletonInterface + DI should be sufficient already.

Resolves: #90260
Releases: master
Change-Id: I964ddb90425b273c6e7588781c4b7e3fe39ddd18
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63076
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
2 months ago[BUGFIX] Do not use rowCount() in linkvalidator report 61/63061/5
Daniel Siepmann [Tue, 28 Jan 2020 14:43:46 +0000 (15:43 +0100)]
[BUGFIX] Do not use rowCount() in linkvalidator report

As `rowCount()` is not supported across all DBMS (e.g. sqlite).

The logic is kept, but instead of relying on row count, the list of
items is built first, and checked afterwards.

Resolves: #90231
Releases: master
Change-Id: Iad0dc46c507d300708c9bc9d53aad6d6840a3446
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63061
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Sybille Peters <sypets@gmx.de>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Sybille Peters <sypets@gmx.de>
Reviewed-by: Benni Mack <benni@typo3.org>
2 months ago[DOCS] Improved documentation example for afterInitializeCurrentPage hook 72/63072/3
mehrlich [Wed, 29 Jan 2020 20:11:12 +0000 (21:11 +0100)]
[DOCS] Improved documentation example for afterInitializeCurrentPage hook

Resolves: #90252
Releases: master, 9.5
Change-Id: Ibacf2dab8a246bcb09f02be65765aa0760ba041b
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63072
Tested-by: Björn Jacob <bjoern.jacob@tritum.de>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Ralf Zimmermann <ralf.zimmermann@tritum.de>
Reviewed-by: Björn Jacob <bjoern.jacob@tritum.de>
Reviewed-by: Ralf Zimmermann <ralf.zimmermann@tritum.de>
2 months ago[TASK] Remove unused code from PageLayoutView 69/63069/3
Benni Mack [Wed, 29 Jan 2020 14:48:22 +0000 (15:48 +0100)]
[TASK] Remove unused code from PageLayoutView

Until TYPO3 v9, PageLayoutView was a subclass of AbstractDatabaseRecordList,
so it inherited a lot of logic, which was never used in this class.

The code can safely be removed, as PageLayoutView is only used
in Page Module (web_layout) and Info Module ("Page Information").

Resolves: #90246
Releases: master
Change-Id: Ie1fbd1fb2131d1b7d6dee9342a82f54c4dd5e563
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63069
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
2 months ago[BUGFIX] Avoid PHP notices in unit tests 68/63068/5
Benni Mack [Wed, 29 Jan 2020 14:05:23 +0000 (15:05 +0100)]
[BUGFIX] Avoid PHP notices in unit tests

When commenting out the line

  SystemEnvironmentBuilder::initializeBasicErrorReporting()

then Unit Tests run with notices, showing notices as errors.

This happened due to recent updates of the TYPO3 testing framework v6.

The fix to overcome this is https://review.typo3.org/c/Packages/TYPO3.CMS/+/62926
but the preferred clean ups are done beforehand.

Resolves: #90245
Releases: master
Change-Id: Ieb43f2f9524fb18c221b9c690de7116c994f5260
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63068
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
2 months ago[TASK] Add a couple of code cleanups for phpstan 39/63039/4
Alexander Schnitzler [Sat, 25 Jan 2020 17:16:41 +0000 (18:16 +0100)]
[TASK] Add a couple of code cleanups for phpstan

- Add phpdoc for variables to let phpstan know their type
- Do not use ::class syntax for PHP 7.4 classes (yet)
- Add missing class properties
- Do not unset non-existing variables

Releases: master
Resolves: #90207
Change-Id: I01ae756c03f7dfc286bedd2577979e0d79ca3d9b
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63039
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Benjamin Franzke <bfr@qbus.de>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Benjamin Franzke <bfr@qbus.de>
2 months ago[BUGFIX] Avoid PHP warning in ArrayUtility::getValueByPath() 66/63066/3
Daniel Siepmann [Wed, 29 Jan 2020 12:00:42 +0000 (13:00 +0100)]
[BUGFIX] Avoid PHP warning in ArrayUtility::getValueByPath()

Children of $array in ArrayUtility::getValueByPath() may contain other
datatypes than array, therefore check the datatype by is_array()
before calling array_key_exists() in order to avoid a PHP warning.

Resolves: #90241
Releases: master, 9.5, 8.7
Change-Id: Ibde8f854a28a0aef68ed33ed172299cb4e1ff2ca
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63066
Reviewed-by: Stephan Großberndt <stephan.grossberndt@typo3.org>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Benjamin Franzke <bfr@qbus.de>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Benjamin Franzke <bfr@qbus.de>
2 months ago[TASK] Update copyright year in several files to 2020 55/63055/2
Elias Häußler [Tue, 28 Jan 2020 11:40:19 +0000 (12:40 +0100)]
[TASK] Update copyright year in several files to 2020

Resolves: #90227
Releases: master, 9.5, 8.7
Change-Id: If905b071639844b9080e1ffd903a15cb211ed7f2
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63055
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Björn Jacob <bjoern.jacob@tritum.de>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Björn Jacob <bjoern.jacob@tritum.de>
Reviewed-by: Benni Mack <benni@typo3.org>
2 months ago[BUGFIX] Use database result to built broken link result 60/63060/2
Daniel Siepmann [Tue, 28 Jan 2020 14:40:41 +0000 (15:40 +0100)]
[BUGFIX] Use database result to built broken link result

Resolves: #90232
Releases: master
Change-Id: If9b030c8f984914d41482d0ab5fd7f94e1385b58
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63060
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Reviewed-by: Sybille Peters <sypets@gmx.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Sybille Peters <sypets@gmx.de>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
2 months ago[TASK] Streamline CacheHashCalculator test case 58/63058/2
Oliver Hader [Tue, 28 Jan 2020 13:51:20 +0000 (14:51 +0100)]
[TASK] Streamline CacheHashCalculator test case

Injects configuration to constructor directly, avoids using
MockBuilder to define internal values (part of configuration).

Resolves: #90230
Releases: master, 9.5
Change-Id: I7759b071192ed09572f3a7ed7e7779e51a4eb9f4
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63058
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Benni Mack <benni@typo3.org>
2 months ago[BUGFIX] Set correct type hint for install tool database check 52/63052/2
Manuel Selbach [Mon, 27 Jan 2020 21:41:31 +0000 (22:41 +0100)]
[BUGFIX] Set correct type hint for install tool database check

With this change the wrong introduced type hint will be changed and
enriched with some detail information.

Resolves: #90223
Releases: master
Change-Id: I3437889fb355571c88f1902b217faf11d56dd158
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63052
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Alexander Schnitzler <git@alexanderschnitzler.de>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Alexander Schnitzler <git@alexanderschnitzler.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
2 months ago[BUGFIX] Ensure route defaults and requirements are considered 85/62885/8
Oliver Hader [Tue, 21 Jan 2020 08:27:25 +0000 (09:27 +0100)]
[BUGFIX] Ensure route defaults and requirements are considered

Changes concerning route `defaults`:
+ defaults are mapped now (e.g. `1` <=> `one`)
+ defaults are applied now when having multiple parameters in a
  route path (e.g. `{default}/{required}`
+ defaults are applied now for types `Plugin` and `Extbase`
  (type `Simple` worked in most cases)
+ enforced defaults are considered now (e.g. `{!default}`
+ `Route` instances get `_appliedDefault` option set now - which
  contains deflated values and still needs to be inflated manually

Changes concerning route `requirements`:
+ requirements are deflated now for being processed as Symfony routes
  (resulting in requirements being correctly applied now in enhancers)
+ requirements are skipped now for parameters having corresponding
  aspects defined ("aspects take precedence over requirements")

References:
+ https://symfony.com/blog/new-in-symfony-4-3-always-include-route-default-values
+ https://symfony.com/doc/4.3/routing.html#parameters-validation
+ https://symfony.com/doc/4.3/routing.html#optional-parameters

Resolves: #86895
Releases: master, 9.5
Change-Id: Ia260e407dcc657a2e7c85628da9e001d94952c37
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62885
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Benni Mack <benni@typo3.org>
2 months ago[DOCS] Document new TypoScript condition `tree.rootLineParentIds` 50/63050/3
Elias Häußler [Mon, 27 Jan 2020 18:53:27 +0000 (19:53 +0100)]
[DOCS] Document new TypoScript condition `tree.rootLineParentIds`

The new TypoScript condition `tree.rootLineIds` which was introduced
with #88962 is currently not documented in the original feature RST
where the new symfony expression language was introduced.

In order to keep the list of available TypoScript conditions up to date
in this document, the new condition was added accordingly.

Additionally, some minor code highlights were fixed in the document.

Related: #90221
Releases: master
Change-Id: Ib7aef851d10361b9de124cb55ba8a005d1b2d6c4
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63050
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Björn Jacob <bjoern.jacob@tritum.de>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Björn Jacob <bjoern.jacob@tritum.de>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
2 months ago[BUGFIX] Do not try to persist fieldNames of type "none" 60/61960/4
Christian Eßl [Fri, 11 Oct 2019 13:58:38 +0000 (15:58 +0200)]
[BUGFIX] Do not try to persist fieldNames of type "none"

If a TCA field config of type="none" with the l10n_mode="exclude" is
present, the DataHandler will try to persist the field when saving a
translated version of the record, even though fields of type="none"
must not be persisted.

Resolves: #87781
Releases: master, 9.5
Change-Id: Ie99495ff95fcf1ceaac0c5d050653e21d3af2afd
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61960
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: Mathias Brodala <mbrodala@pagemachine.de>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Guido Schmechel <guido.schmechel@brandung.de>
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Reviewed-by: Jörg Bösche <typo3@joergboesche.de>
Reviewed-by: Henning Liebe <h.liebe@neusta.de>
Reviewed-by: Felix P. <f.pachowsky@neusta.de>
Reviewed-by: Steffen Frese <steffenf14@gmail.com>
Reviewed-by: Tobi Kretschmann <tobi@tobishome.de>
Reviewed-by: Sascha Rademacher <sascha.rademacher+typo3@gmail.com>
Reviewed-by: Benni Mack <benni@typo3.org>
2 months ago[TASK] Remove unused property ReferenceIndex->WSOL 47/63047/3
Benni Mack [Mon, 27 Jan 2020 15:14:21 +0000 (16:14 +0100)]
[TASK] Remove unused property ReferenceIndex->WSOL

The public property in ReferenceIndex->WSOL was removed in 2006
and documented like that, but it has no effect, as it was never evaluated
since 14 years.

This property is removed, as the recommended way is to use the
->setWorkspaceId() anyway since a few years.

Resolves: #90217
Releases: master
Change-Id: Ib3b58c6823ec78cb0b51f19b104aa80186f0dfe6
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63047
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
2 months ago[BUGFIX] Fix language synchronization for inline relations with inline relations 22/60722/4
Michael Stucki [Wed, 8 May 2019 22:36:08 +0000 (00:36 +0200)]
[BUGFIX] Fix language synchronization for inline relations with inline relations

If the language synchronization process is called on an inline
relation within another inline relation when there is more
than one language which should be synchronized, the process
fails with the following exception:

    #1486233164: Child record was not processed

The problem happens because of a non-unique cache identifier
which leads to incomplete operation.

Resolves: #81314
Resolves: #85168
Resolves: #85914
Releases: master, 9.5, 8.7
Change-Id: Icbfc96e5dae387b620e917db168e9e14de5f3820
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60722
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Benni Mack <benni@typo3.org>
2 months ago[BUGFIX] Avoid PHP fatal error if colPos is not string 44/63044/2
Claus Due [Sun, 26 Jan 2020 22:51:47 +0000 (23:51 +0100)]
[BUGFIX] Avoid PHP fatal error if colPos is not string

The newly added class \TYPO3\CMS\Backend\View\PageLayoutViewDrawEmptyColposContent
incorrectly assumes that colPos values are always strings
when they may very well be integers. This patch casts
the possibly-integer value to string before use of trim().

Releases: master
Resolves: #90211
Change-Id: I8fb145c76f2bd6b0bca187be3b4c5b05fd3c3d80
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63044
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
2 months ago[FEATURE] Add new TypoScript condition `workspace` 35/63035/3
Elias Häußler [Sat, 25 Jan 2020 16:20:24 +0000 (17:20 +0100)]
[FEATURE] Add new TypoScript condition `workspace`

A new TypoScript condition `workspace` has been added which allows
checking of several workspace parameters against a given expression.
Currently, only workspace id and state can be used within conditions.

Example:

  [workspace.workspaceId === 0]
    # This matches if the current workspace id equals 0
  [end]

  [workspace.isLive]
    # This can be used to check if the current workspace is live
  [end]

  [workspace.isOffline]
    # This can be used to check if the current workspace is offline
  [end]

Resolves: #90203
Releases: master
Change-Id: I4113fc31e28c2d187f2398cc346088144d621639
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63035
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
2 months ago[TASK] Remove superfluous method renderRequestHashField 38/63038/3
Alexander Schnitzler [Sat, 25 Jan 2020 17:11:40 +0000 (18:11 +0100)]
[TASK] Remove superfluous method renderRequestHashField

Method FormViewHelper::renderRequestHashField isn't in use
any more since removing the old Extbase property mapper in
TYPO3 version 6.2. Back then it was forgotten to remove
said superfluous method.

Releases: master
Resolves: #90206
Change-Id: I2f1ae48d182718aef9fb2ae972f9b1d34909e21f
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63038
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: Susanne Moog <look@susi.dev>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Susanne Moog <look@susi.dev>
2 months ago[TASK] Utilize grunt-newer to build only changed files 31/63031/2
Andreas Fernandez [Fri, 24 Jan 2020 15:39:01 +0000 (16:39 +0100)]
[TASK] Utilize grunt-newer to build only changed files

The grunt module `grunt-newer` is introduced to act with changed files
only instead of copying or minifying all files all the time.

Used command:

  yarn add --dev grunt-newer

Resolves: #90200
Releases: master
Change-Id: Idcf34b402f089757a5b5209398abec1bba3288a2
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63031
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
2 months ago[TASK] Use ES2017 for builds 26/63026/4
Andreas Fernandez [Thu, 23 Jan 2020 22:34:12 +0000 (23:34 +0100)]
[TASK] Use ES2017 for builds

Since ECMAScript brings some nice features in later releases (e.g.
native support for async / await), we upgrade our build chain to use
ES2017.

This removes a lot of polyfills introduced by TypeScript and it's
considered safe to upgrade the used ES standard as all browsers
supported by TYPO3 support this standard as well.

Resolves: #90199
Releases: master
Change-Id: I6d8257a368a3eb51e2fff4f7610c7826f209c7e7
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63026
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
2 months ago[BUGFIX] Load uncached site configuration in editAction 90/62090/9
Kevin Appelt [Thu, 24 Oct 2019 07:56:32 +0000 (09:56 +0200)]
[BUGFIX] Load uncached site configuration in editAction

By loading the uncached site configuration, no direct
changes to the configuration files are overridden when
using the Site management module.

Resolves: #89492
Releases: master, 9.5
Change-Id: I4ef3ac08692e709fc2953bc17b5759d6f55f463f
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62090
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Steffen Frese <steffenf14@gmail.com>
Tested-by: Sascha Rademacher <sascha.rademacher+typo3@gmail.com>
Tested-by: Henning Liebe <h.liebe@neusta.de>
Tested-by: Susanne Moog <look@susi.dev>
Reviewed-by: Steffen Frese <steffenf14@gmail.com>
Reviewed-by: Sascha Rademacher <sascha.rademacher+typo3@gmail.com>
Reviewed-by: Henning Liebe <h.liebe@neusta.de>
Reviewed-by: Susanne Moog <look@susi.dev>
2 months ago[TASK] Remove obsolete expression in ConditionMatcher 33/63033/2
Elias Häußler [Sat, 25 Jan 2020 14:14:03 +0000 (15:14 +0100)]
[TASK] Remove obsolete expression in ConditionMatcher

With patch #88962 an obsolete expression has been introduced within the
ConditionMatcher class which is now removed.

Resolves: #90201
Related: #88962
Releases: master
Change-Id: I8911ae8fad5e725d70d968e4250ccfcda87246c4
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63033
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: Susanne Moog <look@susi.dev>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Susanne Moog <look@susi.dev>
2 months ago[FEATURE] Render fieldControl for SelectSingleElement 66/61566/4
Philipp Parzer [Wed, 28 Aug 2019 08:45:42 +0000 (10:45 +0200)]
[FEATURE] Render fieldControl for SelectSingleElement

The missing rendering for the fieldControl option for
`SelectSingleElements` was added.
It is now possible to use the fieldControl option for
SelectSingleElements to add nodes and wizards.

Resolves: #89032
Releases: master
Change-Id: Ie0d3bcb848eba0e068f29c2e659df265f7b25f81
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61566
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Susanne Moog <look@susi.dev>
2 months ago[FEATURE] Recheck for broken links after editing record 31/57131/22
Sybille Peters [Wed, 6 Jun 2018 18:06:38 +0000 (20:06 +0200)]
[FEATURE] Recheck for broken links after editing record

If someone returns to the list of broken links after
editing a record, the record must be checked again to
refresh the list of broken links.

Resolves: #83847
Releases: master
Change-Id: Ica70f900093fdf5697569f85cea299d923723d13
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/57131
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Jonas Eberle <flightvision@googlemail.com>
Tested-by: Susanne Moog <look@susi.dev>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Susanne Moog <look@susi.dev>
2 months ago[BUGFIX] Handle URLs withouth a path 30/63030/2
Andreas Fernandez [Fri, 24 Jan 2020 14:00:10 +0000 (15:00 +0100)]
[BUGFIX] Handle URLs withouth a path

If the AJAX API receives a pre-composed URL with a path in front, the
current location of the document is now prepended.

Resolves: #90198
Releases: master
Change-Id: I94dcd12f83016ad1604e64f0e3d9bc6e61be5605
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63030
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
2 months ago[FEATURE] Introduce modal actions 08/63008/4
Andreas Fernandez [Tue, 21 Jan 2020 07:23:53 +0000 (08:23 +0100)]
[FEATURE] Introduce modal actions

Action buttons in modals created by the `TYPO3/CMS/Backend/Modal`
module may now make use of `ImmediateAction` and `DeferredAction`.

As an alternative to the existing `trigger` option, the new option
`action` may be used with an instance of the previously mentioned
modules.

A similar feature has been introduced with #89061 for notifications.

This patch also implements the feature in the recycler module.

Resolves: #90168
Releases: master
Change-Id: I3fde2ced31e6bd2b0779524c0aeead17a2edaa49
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63008
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
2 months ago[TASK] Separate database requirements checks in Install tool 72/62472/18
Manuel Selbach [Thu, 28 Nov 2019 16:58:18 +0000 (17:58 +0100)]
[TASK] Separate database requirements checks in Install tool

This change separates database requirement checks regarding the DBMS
platform (e.g. MySQL, PostgreSQL, ...) from drivers as checks for
specific drivers may differ (e.g. pdo_mysql requires other PHP
extensions being loaded than mysqli).

Additionally the encoding for the database is defined in
\TYPO3\CMS\Core\Database\Platform\PlatformInformation
which will be enforced during the install process of the Install tool.

Resolves: #89794
Releases: master
Change-Id: I45ff0c57c3af30af0aff349520a0dbea3937eccd
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62472
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
2 months ago[BUGFIX] Hide invisible tab-panes to prevent focus hidden form elements 27/62827/5
András Ottó [Tue, 7 Jan 2020 10:00:26 +0000 (11:00 +0100)]
[BUGFIX] Hide invisible tab-panes to prevent focus hidden form elements

Remove an old hotfix entirely because CKEditor seems to work
without this settings but this caused an accessibility issue for
the backend forms

Resolves: #89605
Releases: master, 9.5
Change-Id: Ie288e6971719aa94da2972f2ea46495e4f0cd728
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62827
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Michael Telgkamp <michael.telgkamp@mindscreen.de>
Tested-by: Torben Hansen <derhansen@gmail.com>
Tested-by: Susanne Moog <look@susi.dev>
Reviewed-by: Michael Telgkamp <michael.telgkamp@mindscreen.de>
Reviewed-by: Torben Hansen <derhansen@gmail.com>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Susanne Moog <look@susi.dev>
2 months ago[BUGFIX] Allow context menu hide/unhide for all TCA-based fields 53/62953/3
Benni Mack [Thu, 16 Jan 2020 16:02:48 +0000 (17:02 +0100)]
[BUGFIX] Allow context menu hide/unhide for all TCA-based fields

ContextMenuActions has the field "hidden" hard-coded which does not
work in e.g. backend user module, where the field is called "disabled".

The RecordProvider now evaluates this and adds this as a separate data
attribute which is evaluated in JavaScript now.

Resolves: #89939
Releases: master, 9.5
Change-Id: Ife22f229805d9bc06bd57b503f1131a815fb0691
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62953
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
2 months ago[BUGFIX] Add more safety checks when dealing with buttons in the BE 60/62360/2
Markus Klein [Thu, 21 Nov 2019 14:52:43 +0000 (15:52 +0100)]
[BUGFIX] Add more safety checks when dealing with buttons in the BE

This patch adds more sanity checks to the SplitButton when rendering
its items. Specifically the existence of getters is checked if those
are not part of the AbstractButton already.

Resolves: #89729
Releases: master, 9.5
Change-Id: I654238e1c9d606596348119374ac283dda1c1713
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62360
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Johannes Kasberger <johannes.kasberger@reelworx.at>
Tested-by: Susanne Moog <look@susi.dev>
Reviewed-by: Johannes Kasberger <johannes.kasberger@reelworx.at>
Reviewed-by: Susanne Moog <look@susi.dev>
2 months ago[TASK] Use AJAX API in Icons 23/63023/4
Andreas Fernandez [Thu, 23 Jan 2020 19:09:19 +0000 (20:09 +0100)]
[TASK] Use AJAX API in Icons

Resolves: #90193
Releases: master
Change-Id: I6e263dabffc3172ec48d55e2148e7d5b087b6b29
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63023
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
2 months ago[BUGFIX] Ensure ZipService->extract sets proper permissions 99/62999/4
Benni Mack [Mon, 20 Jan 2020 08:26:04 +0000 (09:26 +0100)]
[BUGFIX] Ensure ZipService->extract sets proper permissions

The extension manager now extracts an uploaded file + folder
and sets the configured permissions again.

Resolves: #90118
Releases: master, 9.5, 8.7
Change-Id: Ic71380cb5227e7cab651877f9033f48f445aca3c
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62999
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Frank Nägler <frank.naegler@typo3.org>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Frank Nägler <frank.naegler@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
2 months ago[BUGFIX] Make unique id for same checkboxes in different sections 62/60362/4
Dmytro Nozdrin [Wed, 3 Apr 2019 08:38:30 +0000 (11:38 +0300)]
[BUGFIX] Make unique id for same checkboxes in different sections

Checkboxes that are placed in sections in BE forms have the same
HTML identifiers. As a result it is not possible to check one checkbox
in one section without affecting the same checkboxes in other sections.
The fix makes identifiers unique.

Resolves: #87429
Releases: master, 9.5
Change-Id: Ia5cd88aecb2af12a83f40d39a8b450f5cde09060
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60362
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Guido Schmechel <guido.schmechel@brandung.de>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Susanne Moog <look@susi.dev>
Reviewed-by: Guido Schmechel <guido.schmechel@brandung.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Susanne Moog <look@susi.dev>
2 months ago[TASK] Use AJAX API in AjaxDataHandler 22/63022/4
Andreas Fernandez [Thu, 23 Jan 2020 19:07:55 +0000 (20:07 +0100)]
[TASK] Use AJAX API in AjaxDataHandler

Resolves: #90192
Releases: master
Change-Id: I57c0bc9343ca9a203bb8839c823ccf25ee423f25
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63022
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>