Packages/TYPO3.CMS.git
23 months ago[BUGFIX] Ensure "0" is treated as proper fallback in site language 79/60879/2
Benni Mack [Wed, 5 Jun 2019 07:32:51 +0000 (09:32 +0200)]
[BUGFIX] Ensure "0" is treated as proper fallback in site language

Due to incomplete handling of "0" and casting, the fallback
is always "0" which is wrong.

The patch fixes the behavior and adds tests to all use-cases
mentioned in the ticket.

Resolves: #88490
Releases: master, 9.5
Change-Id: Ie685b96a94213104729261daa0e3be6e8ef29c35
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60879
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Tobi Kretschmann <tobi@tobishome.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
23 months ago[TASK] Improve click behavior of the pagetree 88/60488/5
Alexander Stehlik [Tue, 16 Apr 2019 17:37:00 +0000 (19:37 +0200)]
[TASK] Improve click behavior of the pagetree

Initialize the d3-drag clickDistance setting to prevent clicks
where the mouse slightly moves from being detected as drag
attempts.

See also:
https://github.com/d3/d3-drag#drag_clickDistance

Resolves: #88160
Releases: master, 9.5
Change-Id: I646591327e1688258e5d2d6ec3ca54000219f97a
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60488
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Paweł Rogowicz <rogowicz.pawel@gmail.com>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: Paweł Rogowicz <rogowicz.pawel@gmail.com>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Jonas Eberle <flightvision@googlemail.com>
Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
23 months agoRevert "[TASK] Drop t3_origuid fields from functional tests" 88/60888/4
Oliver Hader [Thu, 6 Jun 2019 05:39:33 +0000 (07:39 +0200)]
Revert "[TASK] Drop t3_origuid fields from functional tests"

This reverts commit 55f7beae9e8360c56f9f788774177d7572bbd901.

Unfortunately it's not possible to get rid of t3_origuid completely
without introducing new side-effects. Remaining test adjustments for
#88494 have shown that non-translatable entities used as reference
would rather be deleted & re-created instead of synchronized.

t3_origuid did a good job there - dropping it would introduce the
mentioned regression. Misusing l10n_source for a non-translatable
table sounds as stupid as introducing a new field like sync_origuid.

Related: #88494
Reverts: #88495
Resolves: #88501
Releases: master
Change-Id: I4de8a0cbac1b7c9825991794830efaa53f270709
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60888
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
23 months ago[TASK] Remove no_cache=1 from preview url generation 62/59362/3
Georg Ringer [Mon, 7 Jan 2019 18:50:15 +0000 (19:50 +0100)]
[TASK] Remove no_cache=1 from preview url generation

The usage of no_cache should be avoided. If still required it can be added
by using the setting additionalGetParameters.

As the functionality goes into the PageRouter (effectively adds cHash),
and it's possible that "no_cache" is completely disabled, it is not
necessary to be set. This was not the case in v9 as Site Handling
was not available everywhere.

On top, if an editor is actually previewing the content on the page
(via EditDocumentController "save + view") DataHandler is actually
flushing the cache of the page/record associated
(e.g. cacheTags for records), which is much more recommended.

Resolves: #87347
Releases: master
Change-Id: I2bcedb4f92231329234684c9daae2843d08ec29d
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/59362
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Benjamin Franzke <bfr@qbus.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Benjamin Franzke <bfr@qbus.de>
23 months ago[BUGFIX] Prevent division by zero when scaling image 99/60299/3
Claus Due [Tue, 19 Mar 2019 14:35:28 +0000 (15:35 +0100)]
[BUGFIX] Prevent division by zero when scaling image

Prevents multiple division by zero errors when scaling
images, by checking that the input image size is valid
(meaning non-zero) before attempting to calculate
the ratio for scaling - because the ratio is based on the
input size parameters that must not be zero.

Change-Id: I33fd3e49a1b3dcdc319309af736a9d785130af94
Releases: master, 9.5, 8.7
Resolves: #87954
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60299
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
23 months ago[FEATURE] Add log message for "Switch User action" 24/60824/4
c.essl [Sat, 25 May 2019 11:26:53 +0000 (13:26 +0200)]
[FEATURE] Add log message for "Switch User action"

If an admin user switches to another be_user account via the "Switch User"
action in the "Backend users" module, the action is now logged to the
sys_log.

Resolves: #78432
Releases: master
Change-Id: I0a9cb35e2d8734eb86ff475afeeac821a2f2a78a
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60824
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Guido Schmechel <guido.schmechel@brandung.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Guido Schmechel <guido.schmechel@brandung.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
23 months ago[TASK] Better example for FlashMessage finisher 31/60631/2
Stefan Frömken [Tue, 30 Apr 2019 08:11:44 +0000 (10:11 +0200)]
[TASK] Better example for FlashMessage finisher

- Show how to use messageArguments
- messageCode is mandatory (Don't know why, but yes it is)
--> As it is mandatory, it does not make sense to write `\1dif needed`\1d
- remove `\1dDefault value`\1d from mandatory options
--> As all calls in TYPO3 Core are strict types, a value like `\1dnull`\1d
will throw an Exception

Releases: master
Resolves: #88247
Change-Id: Ibf101a7c35ae01c975dbcaf162ff38f4eef27221
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60631
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Jörg Bösche <typo3@joergboesche.de>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Jörg Bösche <typo3@joergboesche.de>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
23 months ago[TASK] Open LinkBrowser in modal window 60/60860/4
Andreas Fernandez [Sat, 1 Jun 2019 21:04:26 +0000 (23:04 +0200)]
[TASK] Open LinkBrowser in modal window

The LinkBrowser used in FormEngine is now opened in a modal window
instead of a popup.

Resolves: #88471
Releases: master
Change-Id: I59992b2fc8a9fbf6b01aa2213c024fd0c13de009
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60860
Tested-by: Markus Klein <markus.klein@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
23 months ago[TASK] Drop t3_origuid fields from functional tests 80/60880/8
Oliver Hader [Wed, 5 Jun 2019 09:45:46 +0000 (11:45 +0200)]
[TASK] Drop t3_origuid fields from functional tests

In order to drop t3_origuid semantics (see issue #88494) according
usages should be purged from functional tests. This way functional
changes are easier to spot having to dedicated change-sets.

Resolves: #88495
Releases: master
Change-Id: Ic54efe30bb112b179a176681a3bb067de1791d44
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60880
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Benni Mack <benni@typo3.org>
23 months ago[BUGFIX] Ensure no PHP warning is thrown if legacy code is used 44/60844/2
Benni Mack [Wed, 29 May 2019 21:28:56 +0000 (23:28 +0200)]
[BUGFIX] Ensure no PHP warning is thrown if legacy code is used

When no constant is given (due to old OS),
a PHP warning is now triggered due to PHP 7.2. This is
overcome to use the polyfill functionality instead then.

Resolves: #88443
Releases: master, 9.5
Change-Id: I5ac673f10bc1421e543b8f969a0111e9bbc9c11e
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60844
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Michael Waack <m.waack@i-d.de>
Tested-by: Thomas Anders <me@naderio.de>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Michael Waack <m.waack@i-d.de>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Thomas Anders <me@naderio.de>
Reviewed-by: Benni Mack <benni@typo3.org>
23 months ago[TASK] Simplify Locales class 77/60877/3
Benni Mack [Tue, 4 Jun 2019 14:11:48 +0000 (16:11 +0200)]
[TASK] Simplify Locales class

The Locales class implies a kind-of singleton approach to fetch
configuration information.

In addition, Locales does the same functionality all over again:
- array_flip for "isoReverseMapping" (not in use directly and can be removed)
- taking the built-in supported languages and loops over them

both is unnecessary at runtime.

Instead, only the user-specific parts are validated.

Resolves: #88488
Releases: master
Change-Id: Ib1a9589bd670fe77b5bf7f5ca769c9601a2b2b0c
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60877
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: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
23 months ago[TASK] Set locale for requests earlier in Frontend process 63/60863/5
Benni Mack [Mon, 3 Jun 2019 07:15:30 +0000 (09:15 +0200)]
[TASK] Set locale for requests earlier in Frontend process

Due to non-site handling, setting the locale was built on top of
TypoScript settings. This was the reason, this was encapsulated
within "$TSFE->settingLocale()".

However, as the locale is now always available once SiteLanguage
has been resolved, this can be handled very early.

On top, the functionaltiy can be extracted from TSFE completely,
and be universally used within "Locales".

The method $TSFE->settingLocale() is now deprecated.

Resolves: #88473
Releases: master
Change-Id: I28c057ecc6d6ba37153a09812a61e5827cdb7bc5
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60863
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>
23 months ago[TASK] Upgrade Symfony-components 11/60411/7
Stefan Neufeind [Thu, 30 May 2019 12:55:28 +0000 (14:55 +0200)]
[TASK] Upgrade Symfony-components

Command used:
composer update symfony/* --with-dependencies

Following dependencies changed:
- Installing symfony/polyfill-php73 (v1.11.0)
- Updating symfony/polyfill-mbstring (v1.10.0 => v1.11.0)
- Updating symfony/console (v4.2.3 => v4.3.0)
- Installing symfony/var-exporter (v4.3.0)
- Updating symfony/cache (v4.1.4 => v4.3.0)
- Updating symfony/expression-language (v4.1.4 => v4.3.0)
- Updating symfony/finder (v4.2.3 => v4.3.0)
- Updating symfony/polyfill-php72 (v1.10.0 => v1.11.0)
- Updating symfony/polyfill-intl-idn (v1.10.0 => v1.11.0)
- Updating symfony/inflector (v4.2.2 => v4.3.0)
- Updating symfony/property-access (v4.2.2 => v4.3.0)
- Updating symfony/property-info (v4.2.2 => v4.3.0)
- Updating symfony/routing (v4.1.4 => v4.3.0)
- Updating symfony/yaml (v4.1.4 => v4.3.0)
- Updating symfony/filesystem (v4.2.3 => v4.3.0)
- Updating symfony/options-resolver (v4.2.3 => v4.3.0)
- Updating symfony/polyfill-php70 (v1.10.0 => v1.11.0)
- Updating symfony/stopwatch (v4.2.3 => v4.3.0)
- Updating symfony/intl (v4.1.4 => v4.3.0)
- Updating symfony/polyfill-intl-icu (v1.9.0 => v1.11.0)

Resolves: #87050
Releases: master
Change-Id: I3556d4cddb3863a26bddd5ac5d84f313d8a2793b
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60411
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Stefan Neufeind <typo3.neufeind@speedpartner.de>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Benni Mack <benni@typo3.org>
23 months ago[TASK] Remove DB Connection check in Frontend Requests 66/60866/3
Benni Mack [Mon, 3 Jun 2019 14:56:07 +0000 (16:56 +0200)]
[TASK] Remove DB Connection check in Frontend Requests

The check if the pages table is accessible is removed.

In TYPO3 v9 this was right after the TSFE creation due to 100%
backwards-compatibility in terms of previous code which has now
vanished (a legacy hook).

This change removes the database initialization check as it is done
already anyway earlier in Bootstrap.

Resolves: #88481
Releases: master
Change-Id: I7ca0c068ece433e9c545163121373b0de2af086d
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60866
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Stefan Froemken <froemken@gmail.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Stefan Froemken <froemken@gmail.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
23 months ago[TASK] Prepare cache timeout more efficiently in Frontend 64/60864/4
Benni Mack [Mon, 3 Jun 2019 08:33:55 +0000 (10:33 +0200)]
[TASK] Prepare cache timeout more efficiently in Frontend

Cache Timeout, configured via config.cache_period can be configured
when TypoScript is available.

The functionality $TSFE->generatePage_preProcessing() has been
thinned out further, as custom PHP Scripts are now handled via custom
RequestHandlers anyway, which now rely on this information
being set earlier (and also when a page should not be generated).

Resolves: #88475
Releases: master
Change-Id: Id9b6b0921c797e2b9de8d7b4302c515e59b0217e
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60864
Tested-by: Markus Klein <markus.klein@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Benjamin Franzke <bfr@qbus.de>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Benjamin Franzke <bfr@qbus.de>
23 months agoRevert "[BUGFIX] Allow to send multiple HTTP headers with the same name" 39/60839/2
Benni Mack [Wed, 29 May 2019 16:54:01 +0000 (18:54 +0200)]
Revert "[BUGFIX] Allow to send multiple HTTP headers with the same name"

This reverts commit 1683f107e72e59737fb389e4623782de0ef472c0.

Reason for revert:
This breaks existing code, as multiple headers are now
sent to the client which were previously overridden.

As long as there is existing code in TYPO3 where header() is
sent, this change can only be done as a breaking change.

Change-Id: Id7444b1455855702143b3fde5629203f252ba07e
Reverts: #88420
Resolves: #88457
Releases: master, 9.5
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60839
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Markus Poerschke <markus@poerschke.nrw>
Reviewed-by: Guido Schmechel <guido.schmechel@brandung.de>
Reviewed-by: Helmut Hummel <typo3@helhum.io>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Helmut Hummel <typo3@helhum.io>
Tested-by: Benni Mack <benni@typo3.org>
23 months ago[BUGFIX] Use scheme://host:port of current request resolving error page 30/60630/7
Andreas Fernandez [Mon, 29 Apr 2019 20:58:03 +0000 (22:58 +0200)]
[BUGFIX] Use scheme://host:port of current request resolving error page

Error pages in site configurations don't need to point to an absolute URI.
When such error pages get resolved, the scheme, host and port of the
request get attached to the resolved page.

Resolves: #86935
Releases: master, 9.5
Change-Id: I1b29b7e7ec51c67e6630ed0f2de5f7e3276e8e7d
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60630
Reviewed-by: Jörg Bösche <typo3@joergboesche.de>
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Reviewed-by: Tizian Schmidlin <st@cabag.ch>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Tizian Schmidlin <st@cabag.ch>
Tested-by: Benni Mack <benni@typo3.org>
23 months ago[BUGFIX] Remove side effect of unit test 69/60869/4
Anja Leichsenring [Mon, 3 Jun 2019 16:20:11 +0000 (18:20 +0200)]
[BUGFIX] Remove side effect of unit test

The class typo3/sysext/frontend/Tests/Unit/Middleware/SiteResolverTest
manipulates the locale setting of the environment without
restoring it. So following tests might get affected by this change
and are not independent anymore.

Resolves: #88484
Releases: master, 9.5
Change-Id: I02617a34bff08606866e9015111496d75bb6dcd4
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60869
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>
23 months ago[BUGFIX] Raise codeception and phpunit versions 68/60868/3
Anja Leichsenring [Mon, 3 Jun 2019 15:01:57 +0000 (17:01 +0200)]
[BUGFIX] Raise codeception and phpunit versions

With #88388, the composer.json file was adjusted to the required
versions of

phpunit/phpunit ^8.1
codeception/codeception ^3

but the composer.lock file did not reflect these changes.

Resolves: #88483
Relates: #88388
Releases: master
Change-Id: Idc7d4a63d0d9fb427e2c1b63f62e2b4da057b8e9
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60868
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Benni Mack <benni@typo3.org>
23 months ago[!!!][TASK] Remove config.language_alt and config.language 42/60842/5
Benni Mack [Wed, 29 May 2019 21:07:19 +0000 (23:07 +0200)]
[!!!][TASK] Remove config.language_alt and config.language

Due to site handling, the TypoScript properties config.language
and config.language_alt have no effect anymore and can be removed.

This patch removes the last forgotten occurrences.

Resolves: #88459
Releases: master
Change-Id: Ic4793035264cc00fe1e5d22b6b1c7cafdbdc49ed
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60842
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>
23 months ago[TASK] Remove leftover code from PseudoSite Handling 43/60843/2
Benni Mack [Wed, 29 May 2019 21:15:06 +0000 (23:15 +0200)]
[TASK] Remove leftover code from PseudoSite Handling

The SiteMatcher object now always returns a Site / NullSite, so there
will never be an exception "SiteNotFoundException" thrown.

This dead code, which is never executed, can be removed.

Resolves: #88461
Releases: master
Change-Id: I458b46f3beea2ea7934a4557acac67453a819784
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60843
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>
23 months ago[TASK] Raise typo3 icons to 1.9.0 58/60858/2
Benjamin Kott [Fri, 31 May 2019 14:09:32 +0000 (16:09 +0200)]
[TASK] Raise typo3 icons to 1.9.0

Executed tasks:
  cd Build
  yarn add @typo3/icons@1.9.0 --dev
  yarn grunt copy:core_icons
  yarn grunt copy:extension_icons
  yarn grunt copy:install_icons
  yarn grunt copy:module_icons

Resolves: #88467
Releases: master, 9.5
Change-Id: Ib04a694d5f68e5543a674bca4da7f957ae20ace3
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60858
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
23 months ago[TASK] Add links to the loaded images in the info module 22/60822/7
c.essl [Sat, 25 May 2019 08:07:58 +0000 (10:07 +0200)]
[TASK] Add links to the loaded images in the info module

There is a "Images on this page" feature in the info module of the
adminpanel. This patch adds a simple link icon for each listed image
to easily open and view the images in a new tab.

Resolves: #88438
Releases: master, 9.5
Change-Id: I150a44e40496f5d525094df7eb940c85e863ba90
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60822
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
23 months ago[BUGFIX] Do not show message "Allowed file extensions" for internal_type="db" 30/60830/2
c.essl [Mon, 27 May 2019 16:07:06 +0000 (18:07 +0200)]
[BUGFIX] Do not show message "Allowed file extensions" for internal_type="db"

For IRRE relations with a "foreign_selector" relation set to a field of
type "group" and internal_type "db", the backend wrongly rendered the
message "Allowed file extensions". Instead "Allowed relations" is now
shown for table relations.

Resolves: #87747
Releases: master, 9.5, 8.7
Change-Id: I8a3b7686af14821ece0f727601c1a1bc0d5e1953
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60830
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Tobi Kretschmann <tobi@tobishome.de>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
23 months ago[BUGFIX] Add missing copyright header for MD5 AMD module 52/60852/2
Andreas Fernandez [Fri, 31 May 2019 11:37:03 +0000 (13:37 +0200)]
[BUGFIX] Add missing copyright header for MD5 AMD module

This patch adds the missing copyright header of the original md5
JavaScript library.

To achieve this, the Grunt configuration must be adjusted to keep comments
beginning in a special format.

Resolves: #88465
Related: #88432
Releases: master
Change-Id: I35e5a07793273491f839e415d4deda27d1307ffb
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60852
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: Benjamin Kott <benjamin.kott@outlook.com>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Benjamin Kott <benjamin.kott@outlook.com>
23 months ago[BUGFIX] Refresh browser cache when ckeditor config or plugins changes 19/60819/3
Rémy DANIEL [Fri, 24 May 2019 15:11:08 +0000 (17:11 +0200)]
[BUGFIX] Refresh browser cache when ckeditor config or plugins changes

CKEDITOR.timestamp now contains also a hash of the configuration.
This is appended to uri when CKeditor loads resources.

This mitigates issues with browser caching when CKeditor plugins are
updated.

Resolves: #88369
Releases: master,9.5,8.7

Change-Id: I9f4a8f611683db93c47b62d22871eac23f3a8819
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60819
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
23 months ago[BUGFIX] Clamp "simulateDate" timestamp to minimum 60 seconds 21/60821/4
c.essl [Sat, 25 May 2019 05:57:58 +0000 (07:57 +0200)]
[BUGFIX] Clamp "simulateDate" timestamp to minimum 60 seconds

In order to avoid RuntimeExceptions, the "simulateDate" TSConfig setting
for the  adminpanel has to be at least 60 seconds. Otherwise
$GLOBALS['SIM_ACCESS_TIME'] will be set to 0.

Resolves: #88437
Releases: master, 9.5
Change-Id: I0377eb4e1d96636367529d185181f61affed44fc
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60821
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-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: Frank Naegler <frank.naegler@typo3.org>
23 months ago[TASK] Write cleaner FileWriter JSON output 31/60431/4
mkoitka [Tue, 9 Apr 2019 13:30:30 +0000 (15:30 +0200)]
[TASK] Write cleaner FileWriter JSON output

Since PHP 5.4 it's possible to disable escaping for unicode characters
and slashes, which results in a much cleaner, leaner and most
importantly readable TYPO3 log output.

Releases: master, 9.5
Resolves: #88120
Related: #77274
Change-Id: I5b331e29e0f036d3d95b0f1045c269a28fec6abb
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60431
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Tomas Norre Mikkelsen <tomasnorre@gmail.com>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
23 months ago[BUGFIX] Add integer type casting to uids in SeparateSysHistoryFromSysLogUpdate wizard 27/60827/3
c.essl [Sun, 26 May 2019 19:33:31 +0000 (21:33 +0200)]
[BUGFIX] Add integer type casting to uids in SeparateSysHistoryFromSysLogUpdate wizard

Ensure the uid fields in the SeparateSysHistoryFromSysLogUpdate that are
passed to RecordHistoryStore::addRecord() and
RecordHistoryStore::deleteRecord() are type casted to integers.

Resolves: #88270
Releases: master, 9.5
Change-Id: I941f5a82d73b9d76b26355fe126ba8d4a2a15d26
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60827
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Tobi Kretschmann <tobi@tobishome.de>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
23 months ago[BUGFIX] Add a unit to the document size in the adminpanel 23/60823/5
c.essl [Sat, 25 May 2019 08:18:45 +0000 (10:18 +0200)]
[BUGFIX] Add a unit to the document size in the adminpanel

There is a "document size" row in the info module of the
adminpanel. Currently the value is outputted as integer, which strips
out its unit. This patch fixes that.

Resolves: #88439
Releases: master, 9.5
Change-Id: I97591bd1799923e5da5604992cd77546bccb1f51
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60823
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Riccardo De Contardi <erredeco@gmail.com>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Tobi Kretschmann <tobi@tobishome.de>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
23 months ago[!!!][TASK] Remove Frontend Track User functionality 40/60840/4
Benni Mack [Wed, 29 May 2019 19:51:37 +0000 (21:51 +0200)]
[!!!][TASK] Remove Frontend Track User functionality

The functionality "ftu" ("Frontend Track User"), which allows
to send the session through GET parameter within the site
has been removed.

It was used to hand in a session via `config.ftu = 1` and
the GET parameter "ftu=a-32-character-string", which then
started a session which was added to any link generated.

This way, sessions could _have_ been transferred across
domains but only if cookies would not be activated by
the browser, which is unreliable.

In order to pave the way to modern standards (OTP
or JWT), this functionality is removed, as the ftu functionality
has some flaws, conceptually and security wise.

Removed public properties
* AbstractUserAuthentication->get_name
* AbstractUserAuthentication->getFallBack
* AbstractUserAuthentication->getMethodEnabled
* AbstractUserAuthentication->get_URL_ID
* TypoScriptFrontendController->getMethodUrlIdToken

Removed TypoScript:
* config.ftu = 1

Removed TYPO3_CONF_VARS
* $TYPO3_CONF_VARS[FE][get_url_id_token]

GET Parameter "ftu" has no special meaning anymore.

Resolves: #88458
Releases: master
Change-Id: I664be44228b2180909f6abfda8acfcd5fe36aa5a
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60840
Tested-by: Markus Klein <markus.klein@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
23 months ago[TASK] Disable interface constructor in NodeFactoryTest 35/60835/3
Anja Leichsenring [Wed, 29 May 2019 07:19:43 +0000 (09:19 +0200)]
[TASK] Disable interface constructor in NodeFactoryTest

phpunit/phpunit changed in their latest release the handling of
interface constructor mocking.
Some of the tests reacted to this change and needed to be adjusted.

Resolves: #88453
Releases: master, 9.5
Change-Id: Ie4c42bdfe93a9b092d118e3010a22db5b088c720
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60835
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Reviewed-by: Jan Stockfisch <typo3@jan-stockfisch.de>
Reviewed-by: Guido Schmechel <guido.schmechel@brandung.de>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Mathias Brodala <mbrodala@pagemachine.de>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
23 months ago[BUGFIX] Fix several typos in comments 29/60829/3
c.essl [Mon, 27 May 2019 07:37:56 +0000 (09:37 +0200)]
[BUGFIX] Fix several typos in comments

Fix a few typos in comments with the word "exits".

Resolves: #88396
Releases: master, 9.5
Change-Id: Ie1bff70e9f451c41e537c0637d63fe55999363fa
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60829
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Oliver Klee <typo3-coding@oliverklee.de>
Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Reviewed-by: Sebastian Michaelsen <michaelsen@t3seo.de>
Reviewed-by: aslam idrisov <aslambek.idrisov1@swisscom.com>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
23 months ago[BUGFIX] Respect sys_language_uid when fetching records for link browser 75/60775/3
Susanne Moog [Fri, 17 May 2019 12:22:42 +0000 (14:22 +0200)]
[BUGFIX] Respect sys_language_uid when fetching records for link browser

The link browser now respects the sys_language_uid of the active
page record when selecting content elements to link to instead of
showing all content elements on that pid.

Resolves: #88382
Releases: master, 9.5
Change-Id: I3f292f7af3bdfb746811f8f3937216b18a777520
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60775
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Benni Mack <benni@typo3.org>
23 months ago[TASK] Move md5.js into an AMD module 90/60790/6
Andreas Fernandez [Tue, 21 May 2019 20:39:32 +0000 (22:39 +0200)]
[TASK] Move md5.js into an AMD module

The file `md5.js` used to generate a MD5 hash in JavaScript is deprecated
and replaced by an AMD module `TYPO3/CMS/Backend/Hashing/Md5`.

Resolves: #88432
Releases: master
Change-Id: Ibc4db2af011e79f304cee5bd9de91e6505a9c138
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60790
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
23 months ago[BUGFIX] Allow to send multiple HTTP headers with the same name 00/60800/2
Markus Poerschke [Thu, 23 May 2019 07:22:19 +0000 (09:22 +0200)]
[BUGFIX] Allow to send multiple HTTP headers with the same name

HTTP allows to send multiple headers with the same name.
Espacially this is needed for the "Set-Cookie" header to send more than
one cookie at the same response.

Resolves: #88420
Releases: master, 9.5
Change-Id: I4fd3573424e2ebf954cc5ebd043bd710226897fa
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60800
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
23 months ago[BUGFIX] Allow leading zeros in croncommand 70/60770/8
Tomas Norre Mikkelsen [Thu, 16 May 2019 15:05:41 +0000 (17:05 +0200)]
[BUGFIX] Allow leading zeros in croncommand

The Scheduler system extension requires a valid cron command or
seconds between scheduler runs.

With this commit, the Scheduler now allows "15 2 * * *" as well as
"15 02 * * *". The latter one was not accepted till now.

The "02" for the hours or minutes are valid cron times,
and therefore it should also be allowed in the Scheduler.

Resolves: #88371
Releases: master, 9.5
Change-Id: I2ed3d6c4cf445bf0692726c49b5c9207af2e9628
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60770
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Guido Schmechel <guido.schmechel@brandung.de>
Reviewed-by: Jörg Bösche <typo3@joergboesche.de>
Reviewed-by: Susanne Moog <look@susi.dev>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Guido Schmechel <guido.schmechel@brandung.de>
Tested-by: Jörg Bösche <typo3@joergboesche.de>
Tested-by: Susanne Moog <look@susi.dev>
23 months ago[TASK] Deprecate top.openUrlInWindow 10/60810/2
Andreas Fernandez [Fri, 24 May 2019 12:03:09 +0000 (14:03 +0200)]
[TASK] Deprecate top.openUrlInWindow

The global JavaScript function `top.openUrlInWindow()` has been marked as
deprecated. This method was used to open links in a full size popup.

Resolves: #88433
Releases: master
Change-Id: Ia2bfafff2a3144a3a7fac5356e6cb26085fd182d
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60810
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Susanne Moog <look@susi.dev>
23 months ago[TASK] Delete unused ColorPicker.js file 09/60809/3
Frank Naegler [Fri, 24 May 2019 11:37:05 +0000 (13:37 +0200)]
[TASK] Delete unused ColorPicker.js file

The js module „TYPO3/CMS/Backend/Wizard/Colorpicker“ is not used
anymore. The PHP code was removed with #80913.
This leftover will now get deleted.

Resolves: #85401
Related: #80913
Change-Id: I07da7ac84ee88a36e87ac537ce83464c4d3ebf16
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60809
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>
23 months ago[TASK] Harden \TYPO3\CMS\Extbase\Service\ExtensionService 93/59593/7
Alexander Schnitzler [Thu, 31 Jan 2019 17:44:10 +0000 (18:44 +0100)]
[TASK] Harden \TYPO3\CMS\Extbase\Service\ExtensionService

- Use strict type mode
- Use type hints whereever possible
- Use strict type comparison for in_array

Releases: master
Resolves: #87598
Change-Id: I639fbe1edd291af1a183171d59b0bf42988a0613
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/59593
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Stefan Froemken <froemken@gmail.com>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
23 months ago[TASK] Deprecate `top.rawurlencode` and `top.str_replace` 05/60805/5
Andreas Fernandez [Fri, 24 May 2019 09:27:07 +0000 (11:27 +0200)]
[TASK] Deprecate `top.rawurlencode` and `top.str_replace`

The global JavaScript functions `top.rawurlencode()` and
`top.str_replace()` were introduced in 2009 and have been marked as
deprecated now. The code is not required and some special handling used
in these functions may get achieved with native JavaScript functions.

Resolves: #88428
Releases: master
Change-Id: Ie2c2fd42da89b00e3c9a0137231b16c2cbd21396
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60805
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
23 months ago[BUGFIX] Require `jquery` before using it when rendering ckeditor 06/60806/4
Andreas Fernandez [Fri, 24 May 2019 09:51:45 +0000 (11:51 +0200)]
[BUGFIX] Require `jquery` before using it when rendering ckeditor

In rare cases it might occur that jquery is not available on ckeditor
initialization, but it's used already. Interesting is that jquery
is explicitly required two lines later.

The code is now changed to require jquery before using its document.ready()
handling.

Resolves: #88429
Releases: master, 9.5, 8.7
Change-Id: I52d5a381f6415dc7680acb5d23138858dc4e96a6
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60806
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Susanne Moog <look@susi.dev>
23 months ago[!!!][TASK] Remove config.defaultGetVars 99/60799/4
Benni Mack [Wed, 22 May 2019 19:24:16 +0000 (21:24 +0200)]
[!!!][TASK] Remove config.defaultGetVars

The TypoScript option config.defaultGetVars is not
evaluated anymore, as this conflicts with TypoScript
logic itself:

After TypoScript parsing and condition evaluation in
a Frontend Request, config.defaultGetVars is set,
this would effectively mean that TypoScript
parsing should be re-done in order to meet new
possible matches in Conditions.

As this logic is flawed and should now easily be
handled via a custom middleware (previously this was
helpful for setting e.g. L=0 for default pages
with RealURL), it is now removed from Core.

Resolves: #88419
Releases: master
Change-Id: Ic286c96f71953062d7649d71abb72f8f0f20f1a9
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60799
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Susanne Moog <look@susi.dev>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Susanne Moog <look@susi.dev>
23 months ago[!!!][TASK] Remove jsfunc.evalfield.js 92/60792/4
Andreas Fernandez [Tue, 21 May 2019 20:52:58 +0000 (22:52 +0200)]
[!!!][TASK] Remove jsfunc.evalfield.js

The file `jsfunc.evalfield.js` responsible for form value evaluation and
validation has been removed. This job is now done by
`TYPO3/CMS/Backend/FormEngineValidation` since TYPO3 7.4.

Resolves: #88427
Releases: master
Change-Id: Ib366ccbc5795b9c428743f52098c0a6fbca47735
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60792
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
23 months ago[!!!][TASK] Refactor client-side IRRE 24/59324/42
Andreas Fernandez [Thu, 3 Jan 2019 21:10:48 +0000 (22:10 +0100)]
[!!!][TASK] Refactor client-side IRRE

This patch refactors the IRRE handling on client side, the JavaScript
land has been rewritten to have a better structure and do less repeating
on-the-fly calculations. Each IRRE container is represented by a
independent instance of InlineControlContainer.

Most of the internally used `scriptCall` directives have been removed.
Currently, `scriptCall` can't get removed completely, as further
refactorings in different areas are required.

All of the "external" communication via `inline.foobar()` has been
replaced by a event-driven approach. This also affects ElementBrowser
windows, those use a minimalistic API based on postMessage.

Some code that was never evaluated in ElementBrowser is considered dead
and has been removed regarding inserting multiple items.

A new sorting library has been added in order to replace jqueryui piece
by piece.

Executed command:

    yarn add --dev sortablejs

On PHP side, some code has been removed as well since the rewritten client
code is event-based and doesn't depend on external calls anymore.

Resolves: #88182
Releases: master
Change-Id: I4176483d2882cef49fbaddb5e2e1914c1f76c908
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/59324
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
23 months ago[TASK] Typo in "validate" 88/60788/2
Stefan Frömken [Tue, 21 May 2019 13:17:09 +0000 (15:17 +0200)]
[TASK] Typo in "validate"

Releases: master
Resolves: #88409
Change-Id: Iff722b6b6f4206e4912fd2d2f7bc8e55d860133f
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60788
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Josef Glatz <josefglatz@gmail.com>
Tested-by: Guido Schmechel <guido.schmechel@brandung.de>
Tested-by: Susanne Moog <look@susi.dev>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Josef Glatz <josefglatz@gmail.com>
Reviewed-by: Guido Schmechel <guido.schmechel@brandung.de>
Reviewed-by: Susanne Moog <look@susi.dev>
23 months ago[TASK] Migrate TYPO3/CMS/Filelist/* to TypeScript 30/60730/4
Frank Naegler [Fri, 10 May 2019 22:03:21 +0000 (00:03 +0200)]
[TASK] Migrate TYPO3/CMS/Filelist/* to TypeScript

This commit also removes superfluous code and streamlines the search
template.

Resolves: #88333
Releases: master
Change-Id: Id6761796dd8e774497223fe7de6f811b4610e245
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60730
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>
23 months ago[TASK] Add information on how to create custom workspaces 72/60772/6
GeraSchneider [Fri, 17 May 2019 06:57:06 +0000 (08:57 +0200)]
[TASK] Add information on how to create custom workspaces

The documentation had no information where to create custom workspaces in the backend.
That information has been added.

Releases: master, 9.5
Resolves: #88378
Change-Id: I8bd6d7ad2ac291e3576b89d39f9698ce16a5572c
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60772
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Josef Glatz <josefglatz@gmail.com>
Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Reviewed-by: Josef Glatz <josefglatz@gmail.com>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
23 months ago[TASK] Optimize tests for request function in expression language 15/60315/3
Frank Naegler [Fri, 22 Mar 2019 23:05:50 +0000 (00:05 +0100)]
[TASK] Optimize tests for request function in expression language

Resolves: #88345
Releases: master
Change-Id: I1da8e97558b0a4697db8aae6b1a098e2628fa519
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60315
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
23 months ago[!!!][TASK] Remove TBE_EDITOR.typo3form 91/60791/3
Andreas Fernandez [Tue, 21 May 2019 20:49:30 +0000 (22:49 +0200)]
[!!!][TASK] Remove TBE_EDITOR.typo3form

This patch removes the TBE_EDITOR.typo3form object, which is unused for
a long time now. This "API" was used to either get or set values of
form fields in a very old iteration of the FormEngine.

Resolves: #88411
Releases: master
Change-Id: If7d6e1d13c89944383d06c42d63f2f3a3b40d999
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60791
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Mathias Brodala <mbrodala@pagemachine.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
23 months ago[!!!][TASK] Deprecate useCacheHash/noCacheHash 74/60774/6
Benni Mack [Fri, 17 May 2019 11:11:54 +0000 (13:11 +0200)]
[!!!][TASK] Deprecate useCacheHash/noCacheHash

Having Site Handling in place, the option "useCacheHash"
rendered useless as it is added by TYPO3 Core automatically
when necessary with SiteHandling.

Any Fluid Arguments haven't been deprecated as this
was part of the the legacy functionality. Now the options
are still available, but trigger a deprecation message
that the option is superfluous and should be removed.

Calling typolink.useCacheHash will now trigger a
deprecation message.

Resolves: #88406
Releases: master
Change-Id: I2243a335188c3466b8f8f59e8d3e417f13bf854d
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60774
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
23 months ago[BUGFIX] Respect argument showLabel in AbstractButtonViewHelper 89/60789/2
Georg Ringer [Tue, 21 May 2019 17:32:39 +0000 (19:32 +0200)]
[BUGFIX] Respect argument showLabel in AbstractButtonViewHelper

The argument `showLabel` must be used while creating a button.

Resolves: #88408
Releases: master, 9.5
Change-Id: I5bfcc25d03aac9da6ca11b651658749bf25d7bf1
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60789
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Josef Glatz <josefglatz@gmail.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Josef Glatz <josefglatz@gmail.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
23 months ago[BUGFIX] Remove superflous parameter that blocks the test 78/60778/2
Anja Leichsenring [Sat, 18 May 2019 12:21:40 +0000 (14:21 +0200)]
[BUGFIX] Remove superflous parameter that blocks the test

assertNotNull takes only one parameter, but due to a left over
from former refactoring, it got two, and the first one
was a static string. So the test actually did not test
what it was supposed to test.

Resolves: #88387
Relates: #87764
Releases: master
Change-Id: Ib39d4eb623f7b079a5a4a6159ffc7520ac70642b
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60778
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Guido Schmechel <guido.schmechel@brandung.de>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
23 months ago[!!!][TASK] Remove deprecated code from ConditionMatcher 86/60786/3
Frank Naegler [Mon, 20 May 2019 19:24:28 +0000 (21:24 +0200)]
[!!!][TASK] Remove deprecated code from ConditionMatcher

The following methods changed from protected to private:

ConditionMatcher->determinePageId()
ConditionMatcher->getPageIdByRecord()

Resolves: #88407
Related: #87193
Releases: master
Change-Id: Iea9789aeb7f74ed3dad55ee81245b7ebb5806fde
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60786
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Josef Glatz <josefglatz@gmail.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
23 months ago[!!!][TASK] Remove legacy "pageNotFound_handling" options 53/60453/15
Benni Mack [Fri, 12 Apr 2019 00:39:46 +0000 (02:39 +0200)]
[!!!][TASK] Remove legacy "pageNotFound_handling" options

With the introduction of site handling, the old "pageNotFound_handling"
mechanisms can be removed. If a site configuration hasn't configured
a error handler, a 404/403/500 response with the default error
renderer is now returned. Making PageNotFoundExceptions rendering
the frontend very seldom.

The following options are removed:
- $TYPO3_CONF_VARS[FE][pageNotFound_handling]
- $TYPO3_CONF_VARS[FE][pageNotFound_handling_statheader]
- $TYPO3_CONF_VARS[FE][pageNotFound_handling_accessdeniedheader]
- $TYPO3_CONF_VARS[FE][pageUnavailable_handling]
- $TYPO3_CONF_VARS[FE][pageUnavailable_handling_statheader]

Tests have been adopted to check against status code / message
rather than on the exceptions (not) thrown (anymore).

In addition, a JsonResponse is now returned if JSON
was requested, instead of the regular HTML content.

Resolves: #88376
Releases: master
Change-Id: I6be57fadaa0ddf83039fbdcc9186ef93d5a51158
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60453
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Benni Mack <benni@typo3.org>
23 months ago[TASK] Update typo3/testing-framework, phpunit and codeception 79/60779/7
Anja Leichsenring [Sat, 18 May 2019 12:36:27 +0000 (14:36 +0200)]
[TASK] Update typo3/testing-framework, phpunit and codeception

commands:
composer update typo3/testing-framework
composer require --dev codeception/codeception:^3
composer update codeception/codeception --with-dependencies

Leads to:
typo3/testing-framework 5.0.9
codeception/codeception: 3.0.0
phpunit/phpunit: 8.1.5

Resolves: #88388
Releases: master, 9.5
Change-Id: Ic394bdf21025705534a6f7b74ca78e155dba6a39
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60779
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Benni Mack <benni@typo3.org>
23 months ago[BUGFIX] Use VersionState constants instead of numbers 80/60780/2
Benni Mack [Mon, 20 May 2019 08:32:29 +0000 (10:32 +0200)]
[BUGFIX] Use VersionState constants instead of numbers

A few places still use t3ver_state instead of the available
constants in VersionState. To increase
the semantics of the used code, the constants are used
instead.

Resolves: #88395
Releases: master, 9.5
Change-Id: I3c2927c2d4c8814d581f06f84de8f4c85d6226a1
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60780
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
2 years ago[!!!][TASK] Streamline caching framework caches 61/59661/7
Benni Mack [Thu, 7 Feb 2019 10:10:58 +0000 (11:10 +0100)]
[!!!][TASK] Streamline caching framework caches

Due to some heavy history on the caching framework, all
Database caches start with "cf_cache_", which is optimized
so they are only called e.g. "cache_pagesection" in the database tables.

In addition, the prefix "cache_" (in e.g. "cache_core") is unnecessary,
and also there due to legacy reasons, reading $this->getCache('cache_runtime')
seems very illogical.

The following caches have been renamed:
- cache_core => core
- cache_hash => hash
- cache_pages => pages
- cache_pagesection => pagesection
- cache_runtime => runtime
- cache_rootline => rootline
- cache_imagesizes => imagesizes

Old identifiers can still be called within PHP,
but the caching framework throws a deprecation message
on setting up such a cache.

A silent upgrade wizard will update one's LocalConfiguration
to use the new naming scheme.

The result is a cleaner, more readable and more streamlined
code base (we have caches like "extbase" or "assets" where
there is no prefix) and database structure.

The patch is breaking due to the change in the database tables.

Resolves: #88366
Releases: master
Change-Id: I13dcdb0d1bf78f0899615e850856de081b715358
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/59661
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 years ago[!!!][TASK] Remove Pseudo-Site Handling 66/59366/47
Benni Mack [Mon, 7 Jan 2019 20:37:20 +0000 (21:37 +0100)]
[!!!][TASK] Remove Pseudo-Site Handling

This change removes the compatibility layer of Site Handling,
called "PseudoSite" handling.

Any TypoScript-related Language properties are removed.
- config.sys_language_uid
- config.sys_language_mode
- config.sys_language_overlay
- config.locale_all
- config.language
- config.typolinkEnableLinksAcrossDomains
- typolink.useCacheHash

The hook
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tstemplate.php']['linkData-PostProc']
is removed.

In addition, all tests related to PseudoSite and linking
without SiteHandling are removed, linking to pages without
a site will not be linked anymore.

Adding `useCacheHash` to typolink triggers a
"this does not do anything anymore" deprecation message.

Further related removals (old "pageNotFound" handling
and "useCacheHash" in all viewhelpers), are removed
separately.

Resolves: #88363
Releases: master
Change-Id: I14f2f854e69c98df7fab8b14f92f1ec2440a15a0
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/59366
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 years ago[BUGFIX] Ensure correct initialization of selectTree value 15/60415/3
Nicole Cordes [Mon, 8 Apr 2019 16:27:08 +0000 (18:27 +0200)]
[BUGFIX] Ensure correct initialization of selectTree value

This patch provides the current set database value in a hidden field as
early as the whole select tree JavaScript is provided. This prevents
data loss if the current record is saved before the select tree was loaded.

Resolves: #86954
Releases: master, 9.5, 8.7
Change-Id: I467b2a52d34b806713cd201a8a2a4f9bb8e92c71
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60415
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
2 years ago[!!!][TASK] Remove database field "t3ver_id" 59/60459/3
Benni Mack [Fri, 12 Apr 2019 19:12:22 +0000 (21:12 +0200)]
[!!!][TASK] Remove database field "t3ver_id"

The database field "t3ver_id" which is managed by TYPO3 to store the
number of the version for a specific version is not in use anymore,
as this was related to the non-workspace managed versioning concept.

This linear versioning concept was removed, so the database field is
not needed anymore.

It is recommended for all extensions with TYPO3 v10.0+ compat only
to remove this field.

Resolves: #88143
Releases: master
Change-Id: I283e8e2ba2d755dcc8b2054e2439f9fef5462511
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60459
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: Achim Fritz <af@achimfritz.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
2 years ago[TASK] Upgrade typo3/phar-stream-wrapper to v3.1.2 54/60754/3
Oliver Hader [Tue, 14 May 2019 22:18:53 +0000 (00:18 +0200)]
[TASK] Upgrade typo3/phar-stream-wrapper to v3.1.2

https://github.com/TYPO3/phar-stream-wrapper/releases/tag/v3.1.2

* #34: Normalize resolved Windows path to Unix-style
* #42: Avoid analysing non-phar files on alias resolving
* #40: Add Windows tests using AppVeyor
* #33: Add alternative mime-type resolving (without ext-fileinfo)

composer require typo3/phar-stream-wrapper:^3.1.2

Resolves: #88354
Releases: master, 9.5, 8.7
Change-Id: I4560881006a6f9c48761161f0b96b78f02c0659d
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60754
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Benni Mack <benni@typo3.org>
2 years ago[TASK] Switch functional tests to site handling 57/60757/4
Benni Mack [Wed, 15 May 2019 08:01:26 +0000 (10:01 +0200)]
[TASK] Switch functional tests to site handling

All functional tests that run a frontend subrequest
should be tested against Site Handling, as the
PseudoSite Handling is about to removed.

This patch is actually a precursor to make sure
that all tests work with site handling now.

The AbstractDataHandlerActionTestCase adds
e site configuration on each setUp(). This
way, all DataHandler-related tests are running
with a Site configuration of three languages.

In addition, when "localizing" something,
a translated page needs to exist, so most
DataHandler related changes add this functionality.

For some DataHandler tests, the SiteConfiguration
is adapted to define the previous behavior
built in TypoScript.

One addition in PageResolver is made:
If an GET / POST &id query parameter is given,
and it is not accessible, it will fail now.

Resolves: #88357
Releases: master
Change-Id: I3dafec3382d8c6797f32b3acde2763dacd13e0f3
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60757
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: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
2 years ago[BUGFIX] Fix record preview 58/60758/4
Daniel Dorndorf [Wed, 15 May 2019 08:24:33 +0000 (10:24 +0200)]
[BUGFIX] Fix record preview

A wrong evaluation of the null coalesce
assignment (?? is evaluted and && later-on),
the if() condition was always true for
any previews of records with versioning
enabled.

The Backend API is used instead.

Resolves: #88356
Releases: master, 9.5
Change-Id: I89ba14bd99bbeb17637b64d99a8d6de265a6e7c4
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60758
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: Tymoteusz Motylewski <t.motylewski@gmail.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
2 years ago[BUGFIX] Avoid realpath resolving in PharStreamWrapperInterceptor 39/60739/2
Oliver Hader [Mon, 13 May 2019 08:39:33 +0000 (10:39 +0200)]
[BUGFIX] Avoid realpath resolving in PharStreamWrapperInterceptor

Given that e.g. public/typo3conf/ext/my_extension is symlinked to
packages/my_extension, PharStreamWrapper denies invocation since
realpath is resolved.

For the specific PharStreamWrapperInterceptor it is okay to avoid
realpath resolving.

Resolves: #88340
Releases: master, 9.5, 8.7
Change-Id: I46b7100547dd0e40d1d4d76a71047ef977d8ce63
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60739
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Mathias Brodala <mbrodala@pagemachine.de>
Tested-by: tomalo.stuttgart <loeffler@spooner-web.de>
Tested-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Reviewed-by: tomalo.stuttgart <loeffler@spooner-web.de>
Reviewed-by: Rudy Gnodde <rgn@windinternet.nl>
Reviewed-by: Kevin Meckl <kevin.meckl@zdrei.com>
Reviewed-by: Richard Haeser <richard@maxserv.com>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
2 years ago[TASK] Prepare core tests for phpunit v8 32/60732/7
Anja Leichsenring [Sat, 11 May 2019 18:07:52 +0000 (20:07 +0200)]
[TASK] Prepare core tests for phpunit v8

Resolves: #88335
Releases: master, 9.5
Change-Id: I40569702c9cec50aa9150c666488c7a71c28b47b
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60732
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
2 years ago[TASK] Remove unused variable 31/60731/5
Susanne Moog [Sat, 11 May 2019 15:04:39 +0000 (17:04 +0200)]
[TASK] Remove unused variable

Resolves: #88334
Releases: master, 9.5
Change-Id: I380c0aa3dd63ab6d1a8587138e0ff33df6941ca4
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60731
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Jonas Eberle <flightvision@googlemail.com>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Jonas Eberle <flightvision@googlemail.com>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Tomas Norre Mikkelsen <tomasnorre@gmail.com>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
2 years ago[BUGFIX] Remove non existing source map reference 36/60736/2
Frank Naegler [Mon, 13 May 2019 07:44:41 +0000 (09:44 +0200)]
[BUGFIX] Remove non existing source map reference

Resolves: #86804
Releases: master, 9.5, 8.7
Change-Id: I81332dd5d5ede768f4ca90bac9d4d3a611f91d2e
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60736
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
2 years ago[BUGFIX] Ignore PATH_INFO in NormalizedParams scriptName calculation 19/60719/8
Benjamin Franzke [Thu, 9 May 2019 10:22:58 +0000 (12:22 +0200)]
[BUGFIX] Ignore PATH_INFO in NormalizedParams scriptName calculation

When NormalizedParams was introduced, the code that was refactored from
GeneralUtility:getIndpEnv did not take into account that PATH_INFO
could be set, but be empty. (which happens with the Debian 9 NGINX
default configuration which uses `fastcgi_split_path_info` and set's
`fastcgi_param PATH_INFO` even if it's empty).

Now, the fallback to PATH_INFO has been introduced with
the initial revision of TYPO3 and isn't needed at all nowadays,
it's actually wrong, as a REQUEST_URI to /index.php/foo/bar
would incorrectly be interpreted as $scriptName == "/foo/bar".

This patch additionally replaces PATH_INFO with SCRIPT_NAME in
test cases where this variable is actually wrong (we assume test cases
have been modeled to match (old) code, instead of reality here):

 * ProxyPass does not result in PATH_INFO being set,
   it's SCRIPT_NAME here.
 * PATH_INFO is not set for regular request
   to /typo3/index.php

Resolves: #88304
Releases: master, 9.5
Change-Id: I501ad3bc10b0988385906a1fe9cb668c5e3696b6
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60719
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Benny Schimmer <b.schimmer@saint-elmos.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Benny Schimmer <b.schimmer@saint-elmos.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Benni Mack <benni@typo3.org>
2 years ago[BUGFIX] Properly initialize image property of FrontendUser 26/60726/4
Dennis Grün [Thu, 9 May 2019 10:00:48 +0000 (12:00 +0200)]
[BUGFIX] Properly initialize image property of FrontendUser

Resolves: #88315
Releases: master, 9.5
Change-Id: I76f75986b39ff15bd2d57ab94ec290a509381275
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60726
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Daniel Haupt <dh@schiffel.it>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Josef Glatz <josefglatz@gmail.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Daniel Haupt <dh@schiffel.it>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Josef Glatz <josefglatz@gmail.com>
Tested-by: Benni Mack <benni@typo3.org>
2 years ago[TASK] Migrate TYPO3/CMS/RteCkeditor/* to TypeScript 60/60260/4
Frank Naegler [Fri, 15 Mar 2019 13:45:10 +0000 (14:45 +0100)]
[TASK] Migrate TYPO3/CMS/RteCkeditor/* to TypeScript

Resolves: #87924
Releases: master
Change-Id: I50332d97fbbfa9b04f1a2d8de761aabe84b3c367
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60260
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Josef Glatz <josefglatz@gmail.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Josef Glatz <josefglatz@gmail.com>
2 years ago[BUGFIX] Ensure correct value for JsonResponse in InstallerController 66/60466/3
Guido Schmechel [Sat, 13 Apr 2019 18:37:07 +0000 (20:37 +0200)]
[BUGFIX] Ensure correct value for JsonResponse in InstallerController

Set the correct status value for the JsonResponse returned in case no
database is selected.
Additionally, a typo in the key `success` itself is fixed.

Resolves: #88066
Releases: master, 9.5
Change-Id: I3153f6cabc878b270fe48983cbdedb8ed918d566
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60466
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
2 years ago[TASK] Unify spelling for TSconfig 45/60345/3
Sybille Peters [Tue, 26 Mar 2019 21:01:34 +0000 (22:01 +0100)]
[TASK] Unify spelling for TSconfig

Resolves: #87647
Releases: master
Change-Id: I4f2a9db50481c12f84682ebe0147b962c8d8438d
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60345
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Stefan Froemken <froemken@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Stefan Froemken <froemken@gmail.com>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
2 years ago[BUGFIX] Migrate "Revert selection" of SelectCheckboxElement 28/60728/4
Andreas Fernandez [Fri, 10 May 2019 08:38:07 +0000 (10:38 +0200)]
[BUGFIX] Migrate "Revert selection" of SelectCheckboxElement

With #87324 parts of the FormEngine have been split into smaller,
maintainable parts. However, `SelectCheckboxElement` brings it's own
"Revert selection" implementation that has nothing in common with the
"Reset selection" field control used for select boxes.

The code is now rewritten to handle the revert on its own. Additionally,
another inline `onclick` handler was removed.

Resolves: #88314
Related: #87324
Releases: master
Change-Id: Ifca1b67a960a8caab8145f2a7d5c8301918819fa
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60728
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
2 years ago[TASK] Slim down .editorconfig file 53/60653/4
Andreas Fernandez [Sat, 4 May 2019 12:04:51 +0000 (14:04 +0200)]
[TASK] Slim down .editorconfig file

This patch aims to reduce the size of the .editorconfig file used by IDEs
to get rid of duplicated configuration (indent_style), obsolete
configuration (bower.json) and merge related configuration (scss, css).

Resolves: #88271
Releases: master
Change-Id: I5a34536858b0cea5e4eb5a1f9fc7ca566aa144e0
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60653
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
2 years ago[BUGFIX] Fix querying form element when clicking "Install" button 72/60572/2
Andreas Fernandez [Fri, 26 Apr 2019 12:35:50 +0000 (14:35 +0200)]
[BUGFIX] Fix querying form element when clicking "Install" button

Resolves: #88226
Related: #88040
Releases: master
Change-Id: Ie8726b689362119a3d4d087582b3be2cb2b86e4b
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60572
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
2 years ago[BUGFIX] Make php-intl work with older ICU versions 10/60710/3
Benni Mack [Tue, 7 May 2019 13:08:00 +0000 (15:08 +0200)]
[BUGFIX] Make php-intl work with older ICU versions

On old OS with ICU < 4.6, the constant INTL_IDNA_VARIANT_UTS46
is not available, even if php-intl is installed.

Therefore, a wrapper is created in HttpUtility to check
if the constant is available, then uses INTL_IDNA_VARIANT_UTS46
otherwise the 2003 version of the HttpUtility.

Also see the section about INTL_IDNA_VARIANT_UTS46 within
https://www.php.net/manual/en/intl.constants.php

Resolves: #87953
Releases: master, 9.5
Change-Id: I594c0ffd9afa115de595b0c027bf2474c3abfafb
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60710
Reviewed-by: Sven Juergens <typo3@blue-side.de>
Reviewed-by: Kevin Meckl <kevin.meckl@zdrei.com>
Reviewed-by: Timo Poppinga <timo.poppinga@zdrei.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Timo Poppinga <timo.poppinga@zdrei.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
2 years ago[SECURITY] Enclose file type scope when invoking ImageMagick 05/60705/2
Oliver Hader [Tue, 7 May 2019 09:44:50 +0000 (11:44 +0200)]
[SECURITY] Enclose file type scope when invoking ImageMagick

In order to enclose and avoid type guessing done by ImageMagick based
on mime-type and internal file content checks, new value object class
ImageMagickFile has been introduced as guard for those invocations.

Resolves: #87588
Releases: master, 9.5, 8.7
Security-Commit: d4f18684b2b2078b51cc7e93abdb251ea846984a
Security-Bulletin: TYPO3-CORE-SA-2019-012
Change-Id: I9a2dd74e8548530d7bc83bd18af2f4f0a8212019
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60705
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
2 years ago[SECURITY] Destroy sessions on password change 04/60704/2
Frank Naegler [Tue, 7 May 2019 09:44:26 +0000 (11:44 +0200)]
[SECURITY] Destroy sessions on password change

On DataHandler update or when updating a users
password via EXT:felogin, all existing
sessions are destroyed except for the current
session.

Resolves: #87298
Releases: master, 9.5, 8.7
Security-Commit: df7c0dbcf73be20e5ae9d4cf03b82c8326c9fccc
Security-Bulletin: TYPO3-CORE-SA-2019-011
Change-Id: Iff673d2ab774dde0f116c4bc9040d40374492a7a
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60704
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
2 years ago[SECURITY] Avoid logging sensitive information during authentication 03/60703/2
Helmut Hummel [Tue, 7 May 2019 09:44:05 +0000 (11:44 +0200)]
[SECURITY] Avoid logging sensitive information during authentication

In order to avoid logging sensitive information during authentication
using the logging framework, according log level DEBUG is used.

Resolves: #88230
Releases: master, 9.5
Security-Commit: 625428b6364308f9f07f331bd176110d01e6c2f2
Security-Bulletin: TYPO3-CORE-SA-2019-010
Change-Id: I3e19afad6937515e0f6e1ab0a1c6d7004d182b79
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60703
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
2 years ago[SECURITY] Hide items in page tree a user does not have access to 01/60701/2
Oliver Hader [Tue, 7 May 2019 09:43:45 +0000 (11:43 +0200)]
[SECURITY] Hide items in page tree a user does not have access to

Due to a pass-by-reference error pages a user does not have access
to were still visible in the page tree.

Resolves: #87676
Releases: master, 9.5
Security-Commit: 5d2c69c00554ec64ea020ec803f593ae772fa367
Security-Bulletin: TYPO3-CORE-SA-2019-009
Change-Id: Ic8ba91b596e1589860bc28b746e551ac6bc47588
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60701
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
2 years ago[BUGFIX] Fix RST rendering in Documentation file 94/60694/3
Benni Mack [Tue, 7 May 2019 09:30:37 +0000 (11:30 +0200)]
[BUGFIX] Fix RST rendering in Documentation file

Due to some encoding issue, documentation
of the new feature for slug TCA hooks
is broken.

The patch adapts the RST file.

Resolves: #88289
Related: #88198
Releases: master, 9.5
Change-Id: I8e9027aba14678d678751246380833fce8a0e07b
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60694
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
2 years ago[SECURITY] Raise Fluid Standalone dependency 93/60693/3
Benni Mack [Tue, 7 May 2019 08:18:10 +0000 (10:18 +0200)]
[SECURITY] Raise Fluid Standalone dependency

Raise Fluid Standalone dependency to the next stable version
which fixes an important XSS issue when escaping
ternary operators.

Used composer command:
  composer req typo3fluid/fluid:^2.6.1 --prefer-lowest

Resolves: #88288
Releases: master, 9.5, 8.7
Security-Bulletin: TYPO3-CORE-SA-2019-013
Change-Id: I04f32d8d01f893bc26ff21aa0c079c85e9db85b9
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60693
Reviewed-by: Claus Due <claus@phpmind.net>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Benni Mack <benni@typo3.org>
2 years ago[BUGFIX] Avoid showing password on MacBook touch bar in backend forms 78/60678/3
Oliver Hader [Wed, 4 Apr 2018 10:15:38 +0000 (12:15 +0200)]
[BUGFIX] Avoid showing password on MacBook touch bar in backend forms

The auto suggest feature of MacBook's touch bar shows information of
just entered passwords when editing a record containing a password
field in backend forms. The behavior only occurs when Safari is used
as client and touch bar word completion is activated.

Resolves: #88286
Releases: master, 9.5, 8.7
Change-Id: I588a6edcfc34c403dc9f042adbeca2c711512228
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60678
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: Andreas Fernandez <a.fernandez@scripting-base.de>
2 years ago[BUGFIX] Do not apply stdWrap on USER_INT 63/60463/3
Benni Mack [Sat, 13 Apr 2019 06:15:44 +0000 (08:15 +0200)]
[BUGFIX] Do not apply stdWrap on USER_INT

When converting a USER to USER_INT ContentObject
the stdWrap is now executed only once instead
of multiple times.

Resolves: #61441
Releases: master, 9.5
Change-Id: Ia36dfffeb3721acc244a74fc559030e94439d10d
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60463
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
2 years ago[FEATURE] API to search for files including meta data based on folder 85/58985/38
Helmut Hummel [Thu, 29 Nov 2018 17:49:04 +0000 (18:49 +0100)]
[FEATURE] API to search for files including meta data based on folder

Instead of globally selecting all files with matching
meta data, we now base each search on the selected folder.

To do so, search is now completely based on the persisted
files in sys_file (and their corresponding meta data
in sys_file_metadata).

Additionally we properly evaluate search fields from TCA
so that we now search in all fields defined for sys_file
and sys_file_metadata table.

To achieve that, a new capability "CAPABILITY_HIERARCHICAL_IDENTIFIERS"
is introduced, which drivers can set, that build identifiers
that reflect the directory structure.
For such drivers, the search can be optimized by using
like queries on identifiers, instead of recursively traversing folders,
which can be an expensive operation especially for drivers
handling a remote file system.

Resolves: #87610
Releases: master, 9.5
Change-Id: Ia132465437827b2fdb56004eb73348ce4a05b336
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/58985
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
2 years ago[BUGFIX] Respect uniqueInSite when moving records 34/60534/10
Benni Mack [Wed, 24 Apr 2019 19:54:33 +0000 (21:54 +0200)]
[BUGFIX] Respect uniqueInSite when moving records

When a page is moved from one site to another site
(two pagetrees with different sites), currently a duplicate
slug is possible. This should never happen, so the same
logic as for "uniqueInPid" is applied when moving records.

Resolves: #87884
Releases: master, 9.5
Change-Id: I9a2d5756958e09fa89fbbc384d03c0503b70bf8c
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60534
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
2 years ago[BUGFIX] Do not remove page cache for redirects issued by plugins 18/60518/3
Helmut Hummel [Fri, 19 Apr 2019 13:27:17 +0000 (15:27 +0200)]
[BUGFIX] Do not remove page cache for redirects issued by plugins

This reverts commit 3139b5608c87e7a5c2a49aa48cc683654db71e39.
"[BUGFIX] Do not cache content with different status code than 200"

At the same time we convert a plugin action to uncached,
in case a redirect is issued.

Resolves: #88178
Releases: 8.7, 9.5, master
Change-Id: Icaa8038d1fa4bf1c74dfb505c2b8fc97963ca4be
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60518
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
2 years ago[TASK] Add functional tests for hreflang tag generation 35/60635/5
Richard Haeser [Tue, 30 Apr 2019 19:41:29 +0000 (21:41 +0200)]
[TASK] Add functional tests for hreflang tag generation

To make sure rendering of hreflang tags will not change unexpectedly,
some functional tests are added.

Resolves: #88251
Related: #88140
Releases: master, 9.5
Change-Id: Idd8bc846e4bd57eb5335fe4795dcb233849eb4e8
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60635
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Jonas Eberle <flightvision@googlemail.com>
Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
2 years ago[TASK] Upgrade and streamline typo3/phar-stream-wrapper to v3.1.1 73/60673/2
Oliver Hader [Sun, 5 May 2019 18:05:38 +0000 (20:05 +0200)]
[TASK] Upgrade and streamline typo3/phar-stream-wrapper to v3.1.1

Phar Stream Wrapper has been upgraded to version 3.1.1 in order to
solve performance and alias resolving issues. The interceptor has
been streamlined further.

composer require typo3/phar-stream-wrapper:^3.1.1

Resolves: #88277
Releases: master, 9.5, 8.7
Change-Id: Id6b08557ab507ef66e54d1f39992272fe4791405
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60673
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
2 years ago[BUGFIX] Remove non-breaking-space after list element in contenttable 84/59784/9
Patrick Lenk [Fri, 22 Feb 2019 13:34:00 +0000 (14:34 +0100)]
[BUGFIX] Remove non-breaking-space after list element in contenttable

The &nbsp; for HTMLtableCells in parseFunc_RTE has been removed.
Empty cells still contain the non-breaking space.

Resolves: #87771
Releases: master
Change-Id: Ic95a215f07597954cebffc7aff73dd15dcce986b
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/59784
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Guido Schmechel <guido.schmechel@brandung.de>
Tested-by: Tobi Kretschmann <tobi@tobishome.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Guido Schmechel <guido.schmechel@brandung.de>
Reviewed-by: Steffen Frese <steffenf14@gmail.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Tobi Kretschmann <tobi@tobishome.de>
2 years ago[TASK] bamboo plan for security pre-merge tests 48/60648/3
Christian Kuhn [Tue, 30 Apr 2019 10:37:39 +0000 (12:37 +0200)]
[TASK] bamboo plan for security pre-merge tests

Change-Id: Ic1e1d0f8fd1a128e542e7cada389d681ac41e10f
Resolves: #88265
Releases: master, 9.5, 8.7
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60648
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Susanne Moog <look@susi.dev>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Susanne Moog <look@susi.dev>
2 years ago[BUGFIX] Allow TypoScript conditions to access PageArguments 37/60637/2
Benni Mack [Tue, 30 Apr 2019 20:35:59 +0000 (22:35 +0200)]
[BUGFIX] Allow TypoScript conditions to access PageArguments

In order to access resolved route parts by enhancers,
the TypoScript RequestWrapper should allow to access
the PageArguments object.

This way, it is easier to migrate existing conditions like

[globalVar = GP:singlepartner > 0]

to

[request.getPageArguments().get('singlepartner') > 0]

Resolves: #88252
Releases: master, 9.5
Change-Id: I6abed5badac342c88d2b40d38ecf1ea632f321d7
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60637
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Guido Schmechel <guido.schmechel@brandung.de>
Tested-by: Benjamin Franzke <bfr@qbus.de>
Reviewed-by: Guido Schmechel <guido.schmechel@brandung.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Helmut Hummel <typo3@helhum.io>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Benjamin Franzke <bfr@qbus.de>
2 years ago[BUGFIX] Do not open EditDocumentController in modal 27/60627/5
Andreas Fernandez [Mon, 29 Apr 2019 20:31:11 +0000 (22:31 +0200)]
[BUGFIX] Do not open EditDocumentController in modal

If `mod.web_layout.disableNewContentElementWizard=1` is set, the
"New Content Element" wizard is skipped and EditDocumentController's
FormEngine is called directly.

In that case, the modal must not get opened as this doesn't work in
combination with FormEngine.

Resolves: #88075
Releases: master, 9.5
Change-Id: Idada95f426496b49131463ec1d0e8462df163e70
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60627
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Joerg Kummer <typo3@enobe.de>
Tested-by: Guido Schmechel <guido.schmechel@brandung.de>
Tested-by: Susanne Moog <look@susi.dev>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Susanne Moog <look@susi.dev>
2 years ago[BUGFIX] Support concurrent requests without 503 responses 07/60307/7
Benjamin Franzke [Fri, 22 Mar 2019 08:18:35 +0000 (09:18 +0100)]
[BUGFIX] Support concurrent requests without 503 responses

Instead of offloading the work to wait for the final page content,
concurrent requests now wait for the real page content to be
rendered (and deliver the content from cache once ready) instead
of sending a 503 response code and the famous "Page is being
generated" message.

The logic to wait for the rendered page (lock and wait) is already
there thanks to the page locking, but was deliberately circumvented
by the temporary page cache content before to get rid of waiting
requests in high-load situations.

This approach to simply skip the temporary cache and wait for the
renderer to finish has been tested using the skip_page_is_being_generated
extension in wild for 3 years (for TYPO3 v6, v7, v8 and v9).

Note: In case the increased number of waiting requests has a negative
impact on sites with high server load, a additional proxy cache should be
considered in front of the server to make sure clients are served a valid
response without waiting until new content is ready.

The motivation for this change:
The 503 status code together with the "Page is being generated message"
does not only occur for slow or high traffic sites. It will be displayed
even for two concurrent requests, no matter how fast the page rendered
or how low the current traffic is.
The requests only need to (nearly) arrive at the same time. This can
easily be reproduced using two parallel curl requests:
for i in {1..2}; do curl -sv https://doma.in/foo |& grep '^< HTTP'& done
There would be one "503 Service unavailable" response when /foo has not
yet been rendered to the cache before.

An explanation for the releaseLock('pagesection') addition in
TSFE::getFromCache(): This has been added as the pagesection lock – which
is acquired in TemplateService::start() – was implicitly released in
setPageCacheContent() before. Now this would block concurrent rendering
for pages with $_GET-aware plugins, therefore we release the pagesection
lock early, after the pagesection cache has been generated.

Releases: master, 9.5, 8.7
Resolves: #87980
Change-Id: I034f410335b3035c5863b26e3e689ca29b5f3f80
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60307
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Helmut Hummel <typo3@helhum.io>
Tested-by: Benjamin Franzke <bfr@qbus.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Helmut Hummel <typo3@helhum.io>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Benjamin Franzke <bfr@qbus.de>
2 years ago[BUGFIX] Make sure a twitter:card metatag is rendered 47/60647/3
Richard Haeser [Fri, 3 May 2019 08:51:54 +0000 (10:51 +0200)]
[BUGFIX] Make sure a twitter:card metatag is rendered

To get a valid Twitter card, you need to specify the type of card
by setting the twitter:card metatag. The value of this metatag is
now set to summary by default. If this value need to be changed, you
can use the MetaTag API and set the twitter:card property with the
replace option enabled.

Resolves: #88258
Releases: master, 9.5
Change-Id: Iaeaafb2408102c2844623155611cffffa8919d43
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60647
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Guido Schmechel <guido.schmechel@brandung.de>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Guido Schmechel <guido.schmechel@brandung.de>
Reviewed-by: Riny van Tiggelen <info@online-gamer.nl>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
2 years ago[BUGFIX] Check correct setting on extension upload 25/60625/2
Andreas Fernandez [Mon, 29 Apr 2019 19:49:10 +0000 (21:49 +0200)]
[BUGFIX] Check correct setting on extension upload

With #82368, the Configuration API is used in the Extension Manager to
check specific configuration.

However, for automatic extension installation the wrong setting was
checked. This patch now uses the correct setting, fixing an issue with
extensions not getting installed after upload.

Resolves: #87818
Related: #82368
Releases: master, 9.5
Change-Id: If18e96c4c17d06723805b4dd6c8807adabe19966
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60625
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Guido Schmechel <guido.schmechel@brandung.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Guido Schmechel <guido.schmechel@brandung.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
2 years ago[BUGFIX] Remove duplicated types of `AbstractFileFolder::$originalResource` 49/60649/2
Andreas Fernandez [Fri, 3 May 2019 14:56:06 +0000 (16:56 +0200)]
[BUGFIX] Remove duplicated types of `AbstractFileFolder::$originalResource`

Technically, it's sufficient to annotate $originalResource as type of
ResourceInterface because all other annotated types implement the
interface anyway.

This also bypasses an issue with the rewritten ClassSchema, as it can't
handle multiple annotated types of a property and fails do determine a
class type.

Resolves: #88268
Releases: master, 9.5
Change-Id: I641d3771eef39128df9ba7a51db2ebc2e0dd67a0
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60649
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Benjamin Kott <benjamin.kott@outlook.com>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Benjamin Kott <benjamin.kott@outlook.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
2 years ago[BUGFIX] Allow Extbase FileReference in ImageService 67/60567/2
Susanne Moog [Fri, 26 Apr 2019 10:35:28 +0000 (12:35 +0200)]
[BUGFIX] Allow Extbase FileReference in ImageService

While hardening the ImageService it was restricted to core's
FileReference instead of also allowing extbase FileReferences - the
code for converting them is still there but not reachable anymore due
to the restrictive type hint.

Resolves: #88221
Releases: master
Change-Id: Id6c2ef70182f33cd28d13b4ffba7a8796548ff25
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60567
Tested-by: Ralf Zimmermann <ralf.zimmermann@tritum.de>
Tested-by: Mathias Brodala <mbrodala@pagemachine.de>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Benjamin Kott <benjamin.kott@outlook.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Ralf Zimmermann <ralf.zimmermann@tritum.de>
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Reviewed-by: Benjamin Kott <benjamin.kott@outlook.com>
Reviewed-by: Helmut Hummel <typo3@helhum.io>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
2 years ago[BUGFIX] Avoid raising a warning in SimpleLockStrategyTest 40/60640/2
Anja Leichsenring [Thu, 2 May 2019 06:57:45 +0000 (08:57 +0200)]
[BUGFIX] Avoid raising a warning in SimpleLockStrategyTest

The touch command raises a PHP WARNING if the test file can not be
created, but the next line would already skip the test if this
happens.
So the warning is useless and gets silenced.

Resolves: #88255
Releases: master, 9.5, 8.7
Change-Id: Id9685b6e7da8665609fa7df7f25867ab4d19a6a9
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60640
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>