Commit Graph

42823 Commits

Author SHA1 Message Date
Fabien Potencier 27316a4206 minor #32006 Fix binary operation `+`, `-` or `*` on string by type casting to integer (steef)
This PR was submitted for the 4.3 branch but it was merged into the 3.4 branch instead (closes #32006).

Discussion
----------

Fix binary operation `+`, `-` or `*` on string by type casting to integer

| Q             | A
| ------------- | ---
| Branch?       | 4.3 for bug fixes <!-- see below -->
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT

# Description
After playing around with [PHPStan](https://github.com/phpstan/phpstan) I found potential improvements when we try to add, subtract or multiply on a string by type casting these values to integers. PHPStan has 8 different [levels](https://github.com/phpstan/phpstan#rule-levels) of strictness and these errors come up after level 2.

## Screenshot example
### Old ️
<img width="876" alt="Screenshot 2019-06-12 at 11 49 22" src="https://user-images.githubusercontent.com/34915382/59435551-2bea0280-8dee-11e9-8eb2-954d34973382.png">

### New 
<img width="876" alt="Screenshot 2019-06-12 at 11 48 54" src="https://user-images.githubusercontent.com/34915382/59435562-30aeb680-8dee-11e9-806d-d37985096363.png">

## How to test
1. Require PHPStan in [Composer](https://getcomposer.org/):
```
composer require --dev phpstan/phpstan
```
2. Create the following `phpstan.neon` [config](https://github.com/phpstan/phpstan#configuration) file:
```
parameters:
    excludes_analyse:
        - 'src/Symfony/Component/Form/Tests'
        - 'src/Symfony/Component/Cache/Tests'
        - 'src/Symfony/Component/DomCrawler/Tests'
        - 'src/Symfony/Component/HttpKernel/Tests'
        - 'src/Symfony/Component/PropertyAccess/Tests'
        - 'src/Symfony/Component/Routing/Tests'
        - 'src/Symfony/Component/Validator/Tests'
        - 'src/Symfony/Component/HttpKernel/Tests'
```
3. Comment out line 202-204 of the following file:
```
src/Symfony/Component/HttpKernel/Tests/Controller/ControllerResolverTest.php
```
4. Analyse the project and search for binary operation errors by running:
```
vendor/bin/phpstan analyse src --level 2 -c phpstan.neon | grep --context=5 "Binary operation"
```
> Keep in mind that four errors will still popup. Three are for `+=` or `+` on arrays and the other one is  about `.` between an interface and empty array which in my opinion can't be improved.

Commits
-------

d445465ef4 Fix binary operation `+`, `-` or `*` on string
2019-06-13 17:39:38 +02:00
Stefano Degenkamp d445465ef4 Fix binary operation `+`, `-` or `*` on string
By type casting to integer.
2019-06-13 17:39:17 +02:00
Nicolas Grekas fdc2c9cbb9 Allow doctrine-bundle ^2 2019-06-13 16:30:45 +02:00
Nicolas Grekas 23d8fc761b fix merge 2019-06-13 16:28:46 +02:00
Nicolas Grekas 1acb50e0a4 [Security] minor clean 2019-06-13 16:10:13 +02:00
Nicolas Grekas 0bb0335ab6 Merge branch '4.4'
* 4.4:
  [Security] minor improvement
  fix merge
2019-06-13 16:09:44 +02:00
Nicolas Grekas 567cb27a1d [Security] minor improvement 2019-06-13 16:09:13 +02:00
Nicolas Grekas 7a1e6f732e Merge branch '4.3' into 4.4
* 4.3:
  fix merge
2019-06-13 16:07:54 +02:00
Nicolas Grekas 648aa67eca fix merge 2019-06-13 16:07:09 +02:00
Tobias Nyholm 91f1680b3f
[Messenger] Remove DispatchAfterCurrentBusStamp when message is put on internal queue 2019-06-13 15:04:56 +02:00
Nicolas Grekas a9d0038ec0 [VarDumper] fix dumping objects that implement __debugInfo() 2019-06-13 14:39:23 +02:00
Nicolas Grekas a2960a3318 [HttpClient] Don't use CurlHttpClient on Windows when curl.cainfo is not set 2019-06-13 14:16:31 +02:00
Fabien Potencier fb9808a9e4 fixed CS 2019-06-13 13:20:38 +02:00
Fabien Potencier b29c567600 fixed typo 2019-06-13 13:19:11 +02:00
Fabien Potencier c449e6368c Merge branch '4.4'
* 4.4:
  fixed CS
  fixed CS
  fixed CS
  fixed CS
  Do not log or call the proxy function when the locale is the same
  Added missing required dependencies on psr/cache and psr/container in symfony/cache-contracts and symfony/service-contracts respectively.
  [HttpClient] fix closing debug stream prematurely
  [Mailer] made code more robust
  Restore compatibility with php 5.5
  fixed sender/recipients in SMTP Envelope
  collect called listeners information only once
  [HttpClient] add HttplugClient for compat with libs that need httplug v1 or v2
  [HttpKernel] Remove TestEventDispatcher.
2019-06-13 13:15:36 +02:00
Fabien Potencier fa38497957 fixed CS 2019-06-13 13:06:22 +02:00
Fabien Potencier 8787bbc94a Merge branch '4.3' into 4.4
* 4.3:
  fixed CS
  fixed CS
  fixed CS
  Do not log or call the proxy function when the locale is the same
  Added missing required dependencies on psr/cache and psr/container in symfony/cache-contracts and symfony/service-contracts respectively.
  [HttpClient] fix closing debug stream prematurely
  [Mailer] made code more robust
  Restore compatibility with php 5.5
  fixed sender/recipients in SMTP Envelope
  collect called listeners information only once
  [HttpKernel] Remove TestEventDispatcher.
2019-06-13 13:05:05 +02:00
Fabien Potencier 9526988eca fixed CS 2019-06-13 13:03:18 +02:00
Fabien Potencier 84bc7aba91 Merge branch '4.2' into 4.3
* 4.2:
  fixed CS
  fixed CS
  [HttpKernel] Remove TestEventDispatcher.
2019-06-13 13:01:17 +02:00
Fabien Potencier 37fa45bbd1 fixed CS 2019-06-13 12:57:15 +02:00
Fabien Potencier 0f958aabfa Merge branch '3.4' into 4.2
* 3.4:
  fixed CS
  [HttpKernel] Remove TestEventDispatcher.
2019-06-13 12:50:42 +02:00
Fabien Potencier a0b6d3de65 minor #32020 CS fixes native functions (fabpot)
This PR was merged into the 3.4 branch.

Discussion
----------

CS fixes native functions

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained 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 branch 4.4.
 - Legacy code removals go to the master branch.
-->

Commits
-------

106b348d3d fixed CS
2019-06-13 12:42:06 +02:00
Fabien Potencier 106b348d3d fixed CS 2019-06-13 12:34:15 +02:00
Fabien Potencier dab7a554ae bug #32014 Do not log or call the proxy function when the locale is the same (gmponos)
This PR was squashed before being merged into the 4.3 branch (closes #32014).

Discussion
----------

Do not log or call the proxy function when the locale is the same

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT

I was the one creating the PR for logging the change of the locale but ATM I am filled with logs of translator about switching the locale from "en" to "en".. Not sure why.

Commits
-------

31bdfb372c Do not log or call the proxy function when the locale is the same
2019-06-13 11:55:06 +02:00
Mponos George 31bdfb372c Do not log or call the proxy function when the locale is the same 2019-06-13 11:54:55 +02:00
Fabien Potencier e63577500c bug #32011 [HttpClient] fix closing debug stream prematurely (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] fix closing debug stream prematurely

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

@ElGecko76 can you please confirm this fixes the issue for you?
I'm not able to reproduce so I can't myself. Thanks.

Commits
-------

21857a1edb [HttpClient] fix closing debug stream prematurely
2019-06-13 11:48:41 +02:00
Fabien Potencier d74f389143 bug #32017 [Contracts] add missing required dependencies (mbessolov)
This PR was merged into the 4.3 branch.

Discussion
----------

[Contracts] add missing required dependencies

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

As discussed in #32016, added missing required deps so that symfony/cache-contracts and symfony/service-contracts can be installed and used on their own.

cc @nicolas-grekas

Commits
-------

9cbeb63613 Added missing required dependencies on psr/cache and psr/container in symfony/cache-contracts and symfony/service-contracts respectively.
2019-06-13 11:07:42 +02:00
Michael Bessolov 9cbeb63613
Added missing required dependencies on psr/cache and psr/container
in symfony/cache-contracts and symfony/service-contracts respectively.
2019-06-12 23:16:15 -07:00
Fabien Potencier 1c1d6d9edf bug #31992 Fix sender/recipients in SMTP Envelope (fabpot)
This PR was merged into the 4.3 branch.

Discussion
----------

Fix sender/recipients in SMTP Envelope

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #31986
| License       | MIT
| Doc PR        | n/a

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained 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 branch 4.4.
 - Legacy code removals go to the master branch.
-->

Commits
-------

7a2f9bf134 fixed sender/recipients in SMTP Envelope
2019-06-12 18:30:49 +02:00
Fabien Potencier 41ff9d31d4 minor #32002 [Mailer] made code more robust (fabpot)
This PR was merged into the 4.3 branch.

Discussion
----------

[Mailer] made code more robust

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained 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 branch 4.4.
 - Legacy code removals go to the master branch.
-->

Commits
-------

8bdc6596ef [Mailer] made code more robust
2019-06-12 16:08:31 +02:00
Nicolas Grekas 21857a1edb [HttpClient] fix closing debug stream prematurely 2019-06-12 15:33:27 +02:00
Mateusz Lerczak b9eab42823
Add statement to fileLink to ignore href code when no fileLink. 2019-06-12 12:36:09 +02:00
Fabien Potencier c45c6e50e1 bug #31999 [PhpunitBridge] Restore php 5.5 compat (greg0ire)
This PR was merged into the 4.3 branch.

Discussion
----------

[PhpunitBridge] Restore php 5.5 compat

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes/no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

The `ARRAY_FILTER_USE_KEY` constant was introduced in php 5.6, let us
avoid it for now.
See https://www.php.net/manual/en/function.array-filter.php#refsect1-function.array-filter-changelog

Thanks @alcaeus for spotting this in https://travis-ci.org/doctrine/DoctrineBundle/jobs/543340482#L596

Commits
-------

496c118c3a Restore compatibility with php 5.5
2019-06-12 06:56:39 +02:00
Fabien Potencier 8bdc6596ef [Mailer] made code more robust 2019-06-12 06:54:21 +02:00
Tomas a9705a0143 Fix AuthenticationException::getToken typehint 2019-06-12 07:10:29 +03:00
Tobias Schultze 8e04222976 [Routing] fix absolute url generation when scheme is not known 2019-06-12 03:24:15 +02:00
Grégoire Paris 496c118c3a
Restore compatibility with php 5.5
The ARRAY_FILTER_USE_KEY constant was introduced in php 5.6, let us
avoid it for now.
See https://www.php.net/manual/en/function.array-filter.php#refsect1-function.array-filter-changelog
2019-06-11 23:50:05 +02:00
Fabien Potencier 7a2f9bf134 fixed sender/recipients in SMTP Envelope 2019-06-11 21:40:57 +02:00
Fabien Potencier 7a6ce5ff85 minor #31994 [HttpKernel] Remove TestEventDispatcher (derrabus)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] Remove TestEventDispatcher

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

This class seems to be an orphaned test fixture. Let's delete it.

Commits
-------

48be09f37e [HttpKernel] Remove TestEventDispatcher.
2019-06-11 21:38:58 +02:00
Fabien Potencier ac1a660130 bug #31991 [EventDispatcher] collect called listeners information only once (xabbuh)
This PR was merged into the 4.3 branch.

Discussion
----------

[EventDispatcher] collect called listeners information only once

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

Commits
-------

284262a219 collect called listeners information only once
2019-06-11 20:36:39 +02:00
Christian Flothmann 284262a219 collect called listeners information only once 2019-06-11 20:36:39 +02:00
Nicolas Grekas 9d7e9fcac9 feature #31976 [HttpClient] add HttplugClient for compat with libs that need httplug v1 or v2 (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] add HttplugClient for compat with libs that need httplug v1 or v2

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

Many libs still depend on httplug:
https://packagist.org/packages/php-http/client-implementation/dependents

Until they're all updated to PSR-18 or SFContracts, this PR provides an adapter for injecting a Symfony HttpClient into httplug-compatible classes, v1 or v2.

Commits
-------

28674b1e30 [HttpClient] add HttplugClient for compat with libs that need httplug v1 or v2
2019-06-11 17:50:00 +02:00
Nicolas Grekas 28674b1e30 [HttpClient] add HttplugClient for compat with libs that need httplug v1 or v2 2019-06-11 17:49:07 +02:00
Nicolas Grekas 03bfce6a40 Merge branch '4.4'
* 4.4:
  add back possibility to use form themes without translations
  [HttpClient] fix Psr18Client handling of non-200 response codes
  [HttpClient] make Psr18Client implement relevant PSR-17 factories
  [WebProfilerBundle] fix FC with HttpFoundation v5
  [OptionsResolver] fix adding $triggerDeprecation to Options::offsetGet()
  [Form] test case is not legacy
  Fix reporting unsilenced deprecations from insulated tests
  Changed EventDispatcherInterface dependency from Component to Contracts
  fix handling nested embeddables
  [WebProfilerBundle] Select default theme based on user preferences
  [FrameworkBundle] Allow dots in translation domains
  Added FormInterface to @return Form::getClickedButton docblock
2019-06-11 17:48:37 +02:00
Nicolas Grekas e54b62c1e2 Merge branch '4.3' into 4.4
* 4.3:
  add back possibility to use form themes without translations
  [HttpClient] fix Psr18Client handling of non-200 response codes
  [WebProfilerBundle] fix FC with HttpFoundation v5
  [OptionsResolver] fix adding $triggerDeprecation to Options::offsetGet()
  [Form] test case is not legacy
  Fix reporting unsilenced deprecations from insulated tests
  fix handling nested embeddables
  Added FormInterface to @return Form::getClickedButton docblock
2019-06-11 17:42:17 +02:00
Nicolas Grekas bde8204da3 Merge branch '4.2' into 4.3
* 4.2:
  [WebProfilerBundle] fix FC with HttpFoundation v5
  [OptionsResolver] fix adding $triggerDeprecation to Options::offsetGet()
  [Form] test case is not legacy
  Fix reporting unsilenced deprecations from insulated tests
  Added FormInterface to @return Form::getClickedButton docblock
2019-06-11 17:41:59 +02:00
Nicolas Grekas b856ab5aa2 Merge branch '3.4' into 4.2
* 3.4:
  [WebProfilerBundle] fix FC with HttpFoundation v5
  [Form] test case is not legacy
  Fix reporting unsilenced deprecations from insulated tests
  Added FormInterface to @return Form::getClickedButton docblock
2019-06-11 17:21:32 +02:00
Alexander M. Turek 3eba36c088 [Mailer] Catch missing scheme in DSN. 2019-06-11 14:30:26 +02:00
Fabien Potencier 8bdd25b7fc bug #31988 [TwigBridge] add back possibility to use form themes without translations (xabbuh)
This PR was merged into the 4.3 branch.

Discussion
----------

[TwigBridge] add back possibility to use form themes without translations

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

Commits
-------

87c1d19e72 add back possibility to use form themes without translations
2019-06-11 13:40:09 +02:00
Alexander M. Turek 48be09f37e [HttpKernel] Remove TestEventDispatcher. 2019-06-11 12:48:01 +02:00