Commit Graph

40497 Commits

Author SHA1 Message Date
Nicolas Grekas
d88833d27a [Routing] fix trailing slash redirection with non-greedy trailing vars 2019-04-14 20:04:59 +02:00
Nicolas Grekas
dc2edaffe2 Merge branch '3.4' into 4.2
* 3.4:
  Skip testing the phpunit-bridge on not-master branches when $deps is empty
  more tests
  [DI] Fixes: #28326 - Overriding services autowired by name under _defaults bind not working
2019-04-12 17:32:33 +02:00
Nicolas Grekas
39f20844b3 minor #31095 Skip testing the phpunit-bridge on not-master branches when $deps is empty (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

Skip testing the phpunit-bridge on not-master branches when $deps is empty

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Tests are not in sync with the autoloaded code on these jobs.
The bridge is still tested on deps=low/high jobs + master

Commits
-------

b0ee192aaa Skip testing the phpunit-bridge on not-master branches when $deps is empty
2019-04-12 17:30:21 +02:00
Nicolas Grekas
b0ee192aaa Skip testing the phpunit-bridge on not-master branches when $deps is empty 2019-04-12 17:12:49 +02:00
Nicolas Grekas
8297a75eb7 bug #31088 [DI] fix removing non-shared definition while inlining them (nicolas-grekas)
This PR was merged into the 4.2 branch.

Discussion
----------

[DI] fix removing non-shared definition while inlining them

| Q             | A
| ------------- | ---
| Branch?       | 4.2
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #29628
| License       | MIT
| Doc PR        | -

I didn't manage to create a specific test case but this still has 100% coverage for the added lines and fixed the reproducer (and makes sense also :) )

Commits
-------

317e820694 [DI] fix removing non-shared definition while inlining them
2019-04-12 16:35:03 +02:00
Nicolas Grekas
3403a8e65a bug #29944 [DI] Overriding services autowired by name under _defaults bind not working (przemyslaw-bogusz, renanbr)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Overriding services autowired by name under _defaults bind not working

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #28326
| License       | MIT

This is an implementation of ideas and suggestions of @nicolas-grekas and @GuilhemN.

Commits
-------

7e805eae2b more tests
35a40ace6f [DI] Fixes: #28326 - Overriding services autowired by name under _defaults bind not working
2019-04-12 16:33:47 +02:00
renanbr
7e805eae2b more tests 2019-04-12 16:27:23 +02:00
Przemysław Bogusz
35a40ace6f [DI] Fixes: #28326 - Overriding services autowired by name under _defaults bind not working 2019-04-12 16:15:59 +02:00
Nicolas Grekas
1d02ef2ccb Merge branch '3.4' into 4.2
* 3.4:
  [TwigBridge] fix tests
2019-04-12 15:50:35 +02:00
Nicolas Grekas
d134dfcbe2 minor #31091 [TwigBridge] fix tests (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[TwigBridge] fix tests

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Follows https://github.com/twigphp/Twig/pull/2935

Commits
-------

33c6681585 [TwigBridge] fix tests
2019-04-12 15:50:12 +02:00
Nicolas Grekas
33c6681585 [TwigBridge] fix tests 2019-04-12 15:39:20 +02:00
Nicolas Grekas
317e820694 [DI] fix removing non-shared definition while inlining them 2019-04-12 11:55:35 +02:00
Fabien Potencier
69b43fa8a8 bug #30993 [FrameworkBundle] Fix for Controller DEPRECATED when using composer --optimized (aweelex)
This PR was merged into the 4.2 branch.

Discussion
----------

[FrameworkBundle] Fix for Controller DEPRECATED  when using composer --optimized

| Q | A |
| --- | --- |
| Branch? | 4.2 |
| Bug fix? | Yes |
| New feature? | No |
| BC breaks? | No |
| Deprecations? | No |
| Tests pass? | Yes |
| Fixed tickets | --- |
| License | MIT |

Using `composer --optimize-autoload` causes `console cache:clear` (without warmup) to give DEPRECATED error, that stays in profiler.

I moved `@trigger_error` from beggining of the file to Controller __consctruct method.

Commits
-------

2ae2fd800d [FrameworkBundle] Fix Controller deprecated when using composer --optimized
2019-04-12 11:01:41 +02:00
Nicolas Grekas
ebe9ccf0cc Merge branch '3.4' into 4.2
* 3.4:
  Catch empty deprecation.log silently (fixes #31050)
2019-04-11 13:58:13 +02:00
Nicolas Grekas
9483779f5f bug #31076 [HttpKernel] Fixed LoggerDataCollector crashing on empty file (althaus)
This PR was submitted for the 4.2 branch but it was merged into the 3.4 branch instead (closes #31076).

Discussion
----------

[HttpKernel] Fixed LoggerDataCollector crashing on empty file

| Q             | A
| ------------- | ---
| Branch?       | 4.2
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #31050
| License       | MIT

This PR adds a check to the LoggerDataCollector if there's acutal some content in the log file.

Commits
-------

291c73a290 Catch empty deprecation.log silently (fixes #31050)
2019-04-11 13:43:56 +02:00
Matthias Althaus
291c73a290 Catch empty deprecation.log silently (fixes #31050) 2019-04-11 13:43:50 +02:00
Nicolas Grekas
9399cb99a5 Merge branch '3.4' into 4.2
* 3.4:
  minor: the meaning of the data breach was not correct
  Optimize SVGs
  property normalizer should also pass format and context to isAllowedAttribute
2019-04-11 13:27:41 +02:00
Nicolas Grekas
5f4c27f0de minor #31067 Optimize SVGs (MartijnCuppens)
This PR was merged into the 3.4 branch.

Discussion
----------

Optimize SVGs

| Q             | A
| ------------- | ---
| Branch?       | 3.4 <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | /   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | / <!-- required for new features -->

Used [svgo](https://github.com/svg/svgo) to optimize the svgs. I kept the `viewBox` attribute to keep the aspects when SVGs are rescaled.

I also added `insert_final_newline = false` to the `.editorconfig` file because the newlines are removed from the SVGs and there's only one line left.

Commits
-------

4614cea9d2 Optimize SVGs
2019-04-11 13:23:48 +02:00
Nicolas Grekas
2a1137a05c bug #31071 property normalizer should also pass format and context to isAllowedAttribute (dbu)
This PR was merged into the 3.4 branch.

Discussion
----------

property normalizer should also pass format and context to isAllowedAttribute

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | found while working on https://github.com/symfony/symfony/pull/30888
| License       | MIT
| Doc PR        | -

the context and format are optional parameters to `isAllowedAttribute`, but should be forwarded. due to this omission, the PropertyNormalizer was ignoring the 'attributes' context option (and does in version 4 also ignore the 'ignore_attributes' context option - that one is a property on the normalizer class in version 3 and therefore not ignored here)

Commits
-------

13e2fb735d property normalizer should also pass format and context to isAllowedAttribute
2019-04-11 13:03:39 +02:00
Nicolas Grekas
9dfd8f1cc2 minor #31072 CS Fixes: Not double split with one array argument (Yurujai)
This PR was merged into the 4.2 branch.

Discussion
----------

CS Fixes: Not double split with one array argument

| Q             | A
| ------------- | ---
| Branch?       |  4.2
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | none
| License       | MIT
| Doc PR        | none

Fix for https://github.com/symfony/symfony/pull/31064#issuecomment-481760760

Commits
-------

93dabbc96a CS Fixes: Not double split with one array argument
2019-04-11 12:53:53 +02:00
Nicolas Grekas
bd28ac6c79 minor #31074 minor: the meaning of the data breach was not correct (Simperfit)
This PR was squashed before being merged into the 3.4 branch (closes #31074).

Discussion
----------

 minor: the meaning of the data breach was not correct

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | none  <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | none <!-- required for new features -->

<!--
Write a short README entry for your feature/bugfix here (replace this comment block.)
This will help people understand your PR and can be used as a start of the Doc PR.
Additionally:
 - Bug fixes must be submitted against the lowest branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against the master branch.
-->

It seems that the french translation was wrong as the phrasing suggested that the data breach came from the current application/website.

Changing as discussed here: https://github.com/symfony/symfony/pull/31053#discussion_r274310683

Commits
-------

97ac9bae11  minor: the meaning of the data breach was not correct
2019-04-11 12:48:58 +02:00
Hamza Amrouche
97ac9bae11 minor: the meaning of the data breach was not correct 2019-04-11 12:48:53 +02:00
Martijn Cuppens
4614cea9d2 Optimize SVGs 2019-04-11 11:48:14 +02:00
Pablo Ogando Ferreira
93dabbc96a CS Fixes: Not double split with one array argument 2019-04-11 09:45:22 +02:00
David Buchmann
13e2fb735d property normalizer should also pass format and context to isAllowedAttribute 2019-04-11 07:44:34 +02:00
Fabien Potencier
9ee6fc15e1 fixed bad merge 2019-04-10 21:42:23 +02:00
Fabien Potencier
b13a23fe45 Merge branch '3.4' into 4.2
* 3.4:
  Show more accurate message in profiler when missing stopwatch
  CS Fixes: Not double split with one array argument
  Remove redundant animation prefixes
  Remove redundant `box-sizing` prefixes
  Rework firewall access denied rule
  fixed CS
  Fix missing $extraDirs when open_basedir returns
2019-04-10 18:20:36 +02:00
Fabien Potencier
32c448f639 minor #31064 CS Fixes: Not double split with one array argument (rubenrua)
This PR was merged into the 3.4 branch.

Discussion
----------

CS Fixes: Not double split with one array argument

| Q             | A
| ------------- | ---
| Branch?       |  3.4  (master from #31063)
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | None
| License       | MIT
| Doc PR        | None

Keep to use the same CS in all the Symfony code base.

Use:
```php
$resolver->setDefaults([
    'compound' => false
]);
```

Instead of:
```php
$resolver->setDefaults(
    [
        'compound' => false,
    ]
);
```

Keep the double split when the method has two or more arguments.

I miss a PSR with this rule.

Commits
-------

a56bf552ad CS Fixes: Not double split with one array argument
2019-04-10 18:18:38 +02:00
Fabien Potencier
f7cd81d805 bug #31059 Show more accurate message in profiler when missing stopwatch (linaori)
This PR was squashed before being merged into the 3.4 branch (closes #31059).

Discussion
----------

Show more accurate message in profiler when missing stopwatch

| Q             | A
| ------------- | ---
| Branch?       | 3.4+
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #31056
| License       | MIT
| Doc PR        | ~

This adds a message to the profiler if the stopwatch component is not installed, instead of suggesting to check if debug is enabled (even if it is enabled).

I had to add a method in the collector to expose the value collected, which in theory adds a feature. Is there perhaps a way to expose this collected data _without_ a "BC break"? I don't think it breaks anything, though it does make the dependencies on the http-kernel a bit strict. The other solution is to ignore if it's null and only act if it's a boolean (feature detection).

Commits
-------

326aa86d6a Show more accurate message in profiler when missing stopwatch
2019-04-10 18:17:42 +02:00
Lynn
326aa86d6a Show more accurate message in profiler when missing stopwatch 2019-04-10 18:17:31 +02:00
rubenrua
a56bf552ad CS Fixes: Not double split with one array argument
Keep to use the same CS in all the Symfony code base.

Use:
```php
$resolver->setDefaults([
    'compound' => false
]);
```

Instead of:
```php
$resolver->setDefaults(
    [
        'compound' => false,
    ]
);
```

Keep the double split when the method has two or more arguments.

I miss a PSR with this rule.
2019-04-10 18:00:48 +02:00
Fabien Potencier
84814be4c7 minor #31058 Remove redundant animation prefixes (MartijnCuppens)
This PR was merged into the 3.4 branch.

Discussion
----------

Remove redundant animation prefixes

| Q             | A
| ------------- | ---
| Branch?       | 3.4 <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | /   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | / <!-- required for new features -->

Like https://github.com/symfony/symfony/pull/31055, a small cleanup of CSS. CSS animations can be used safely without any prefixes.

Commits
-------

3655bcfaf7 Remove redundant animation prefixes
2019-04-10 13:26:35 +02:00
Fabien Potencier
98e0975113 bug #31026 [Serializer] Add default object class resolver (jdecool)
This PR was squashed before being merged into the 4.2 branch (closes #31026).

Discussion
----------

[Serializer] Add default object class resolver

| Q             | A
| ------------- | ---
| Branch?       | 4.2
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

The commit 1d8b5af3f0 introduce a BC break because before that commit the `extractAttributes` the `$object` can be a string which contain the fully qualified name of an object.

To fix the BC break and preserve the new feature, I suggest to create a default object class resolver if it is not set by the developer.

Commits
-------

dd5b8f16f5 [Serializer] Add default object class resolver
2019-04-10 13:09:12 +02:00
Jérémy DECOOL
dd5b8f16f5 [Serializer] Add default object class resolver 2019-04-10 13:09:05 +02:00
Martijn Cuppens
3655bcfaf7
Remove redundant animation prefixes
CSS animations can be used safely without any prefixes
2019-04-10 12:58:43 +02:00
Fabien Potencier
de53bd6c67 bug #31031 [Serializer] MetadataAwareNameConverter: Do not assume that property names are strings (soyuka)
This PR was merged into the 4.2 branch.

Discussion
----------

[Serializer]  MetadataAwareNameConverter: Do not assume that property names are strings

| Q             | A
| ------------- | ---
| Branch?       | 4.2 (class introduced in v4.2.3)
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/api-platform/core/pull/2709
| License       | MIT
| Doc PR        | n/a

When this class was introduced, there was an assumption made about the type of `propertyNames` and therefore a `: ?string` return type was introduced in the fallbacks/normalization private methods. Because symfony doesn't use strict mode yet (compatibility issues with php IIRC), when using a non-string property name (for example the integer `0` which is a valid property name in an array), it will convert the integer to a string.
This is not good, especially if you have a name converter that returns the given property name (ie no transformation) you'll have it's type changed which isn't correct.

I've discovered this bug while working on adding this name converter in api platform (https://github.com/api-platform/core/pull/2709).

Commits
-------

af1e136ca0 MetadataAwareNameConverter: Do not assume that property names are strings
2019-04-10 12:55:09 +02:00
Fabien Potencier
a2927404dd minor #31055 Remove redundant box-sizing prefixes (MartijnCuppens)
This PR was submitted for the 4.2 branch but it was merged into the 3.4 branch instead (closes #31055).

Discussion
----------

Remove redundant `box-sizing` prefixes

| Q             | A
| ------------- | ---
| Branch?       | 4.2 <!-- see below -->
| Bug fix?      | no
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | /    <!-- please add some, will be required by reviewers -->
| Fixed tickets | /   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | / <!-- required for new features -->

The `-webkit-` and `-moz-` prefixes are redundant and Symfony is not prefixing it on other places in the file, eg:
2243bf5bc1/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/toolbar.css.twig (L395-L401)

Not sure what branch I should target for PRs like these, just let me know if I need to change anything.

Greetings,
Martijn from the [Bootstrap](https://github.com/orgs/twbs/people) team

Commits
-------

0cf3227011 Remove redundant `box-sizing` prefixes
2019-04-10 12:45:27 +02:00
Martijn Cuppens
0cf3227011 Remove redundant box-sizing prefixes 2019-04-10 12:45:20 +02:00
Fabien Potencier
5859749e05 bug #31043 [VarExporter] support PHP7.4 __serialize & __unserialize (nicolas-grekas)
This PR was merged into the 4.2 branch.

Discussion
----------

[VarExporter] support PHP7.4 __serialize & __unserialize

| Q             | A
| ------------- | ---
| Branch?       | 4.2
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

This PR adds support for the new `__serialize` and `__unserialiaze` magic methods and the related language semantics [introduced in PHP 7.4](https://wiki.php.net/rfc/custom_object_serialization).

As a reminder, our policy is to consider supporting a new version of PHP a bugfix.

Commits
-------

c7a504c822 [VarExporter] support PHP7.4 __serialize & __unserialize
2019-04-10 08:18:41 +02:00
Fabien Potencier
fd1408b138 bug #30423 [Security] Rework firewall's access denied rule (dimabory)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security] Rework firewall's access denied rule

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | ~~#30099~~, #28229
| License       | MIT
| Doc PR        |

Follow tickets provided above to reproduce bugs. (there are also some project examples)

~~In addition, I'm looking for someone who knows an answer to [this](https://github.com/symfony/symfony/issues/30099#issuecomment-468693492) regarding rework in this PR.~~

Commits
-------

5790859275 Rework firewall access denied rule
2019-04-10 08:03:21 +02:00
Nicolas Grekas
c7a504c822 [VarExporter] support PHP7.4 __serialize & __unserialize 2019-04-09 22:09:28 +02:00
Dmytro
5790859275 Rework firewall access denied rule 2019-04-09 18:04:58 +03:00
soyuka
af1e136ca0 MetadataAwareNameConverter: Do not assume that property names are strings 2019-04-09 10:07:40 +02:00
Nicolas Grekas
75b1157633 bug #31020 [VarExporter] fix exporting classes with private constructors (nicolas-grekas)
This PR was merged into the 4.2 branch.

Discussion
----------

[VarExporter] fix exporting classes with private constructors

| Q             | A
| ------------- | ---
| Branch?       | 4.2
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Reported by @theofidry

Commits
-------

e354d54e7e [VarExporter] fix exporting classes with private constructors
2019-04-08 22:31:56 +02:00
Nicolas Grekas
e354d54e7e [VarExporter] fix exporting classes with private constructors 2019-04-08 20:04:40 +02:00
Fabien Potencier
b93d2bf941 fixed CS 2019-04-08 18:15:54 +02:00
Fabien Potencier
6a5eac7150 bug #31012 [Process] Fix missing $extraDirs when open_basedir returns (arsonik)
This PR was submitted for the master branch but it was merged into the 3.4 branch instead (closes #31012).

Discussion
----------

[Process] Fix missing $extraDirs when open_basedir returns

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  |no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #31010
| License       | MIT

Fix missing $extraDirs when open_basedir returns

Commits
-------

e238c893e9 Fix missing $extraDirs when open_basedir returns
2019-04-08 18:14:55 +02:00
Florian Morello
e238c893e9 Fix missing $extraDirs when open_basedir returns 2019-04-08 18:14:48 +02:00
Fabien Potencier
c248646e59 bug #30852 [Console] fix buildTableRows when Colspan is use with content too long (Raulnet)
This PR was merged into the 4.2 branch.

Discussion
----------

[Console] fix buildTableRows when Colspan is use with content too long

| Q             | A
| ------------- | ---
| Branch?       |  4.2 for bug fixes
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes    ( new test added  TableTest::testWithColspanAndMaxWith)
| Fixed tickets |  https://github.com/symfony/symfony/issues/30701
| License       | MIT
| Doc PR        | no

<!-- fix for keeping ColumnMaxwith when Content is too long

Commits
-------

1cf9659b5f fix buildTableRows when Colspan is use with content too long
2019-04-08 16:23:48 +02:00
Fabien Potencier
f794e41544 minor #31005 [Serializer] take setIgnoredAttributes() deprecation into account (xabbuh)
This PR was merged into the 4.2 branch.

Discussion
----------

[Serializer] take setIgnoredAttributes() deprecation into account

| Q             | A
| ------------- | ---
| Branch?       | 4.2
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

Commits
-------

4134be127a take setIgnoredAttributes() deprecation into account
2019-04-08 16:14:28 +02:00