Commit Graph

23293 Commits

Author SHA1 Message Date
Nicolas Grekas a25beb623d Fix docblocks about callables 2015-10-05 19:32:31 +02:00
Nicolas Grekas 7685cddf95 Add more callable type hints 2015-10-05 18:52:37 +02:00
Fabien Potencier 9c5565f30c minor #16127 [Validator] added Japanese translation (issei-m)
This PR was merged into the 2.8 branch.

Discussion
----------

[Validator] added Japanese translation

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

I'm not sure what most apposite word is, in Japanese.
But I decided to use "SWIFTコード" because Japanese wikipedia says so:
https://ja.wikipedia.org/wiki/ISO_9362
https://ja.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC%E3%81%AE%E9%87%91%E8%9E%8D%E6%A9%9F%E9%96%A2%E3%81%AESWIFT%E3%82%B3%E3%83%BC%E3%83%89%E4%B8%80%E8%A6%A7

Commits
-------

6b08641 [Validator] added Japanese translation
2015-10-05 17:48:28 +02:00
Fabien Potencier 2984f8ed60 fixed previous commit 2015-10-05 17:47:05 +02:00
Fabien Potencier 3cd562847a minor #16126 [VarDumper] Add missing getDump in abstract VarDumperTestCase (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[VarDumper] Add missing getDump in abstract VarDumperTestCase

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

Just a miss in #16063

Commits
-------

06fdf73 [VarDumper] Add missing getDump in abstract VarDumperTestCase
2015-10-05 17:36:38 +02:00
Issei.M 6b08641dbf [Validator] added Japanese translation 2015-10-06 00:31:23 +09:00
Nicolas Grekas 06fdf73043 [VarDumper] Add missing getDump in abstract VarDumperTestCase 2015-10-05 17:30:37 +02:00
Fabien Potencier 2b296028ac Merge branch '2.8'
* 2.8: (21 commits)
  [Security][bugfix] "Remember me" cookie cleared on logout with custom "secure"/"httponly" config options [1]
  [ci] Use current PHP_BINARY when running ./phpunit
  Fixed typos
  [UPGRADE-3.0] fix bullet indentation
  Throw exception if tempnam returns false in ProcessPipes
  [DomCrawler] Deprecated using /_root/ in XPath expressions
  Pass missing request template variables
  Simplify AbstractVoter
  [Form] add missing deprecation triggers
  Throw exception if tempnam returns false
  Fix PropertyAccessor modifying array in object when array key does not exist
  [DependencyInjection] Add autowiring capabilities
  Fixing typo in variable name
  Add a few additional tests for the Crawler
  [Form] remove obsolete deprecation comments
  Updated the style of the event commands
  [Debug] Deprecate providing $fileLinkFormat as second argument
  [Form] minor CS fix
  Updated PHPDoc of the AbstractVoter class
  [Security] InMemoryUserProvider now concerns whether user's password is changed when refreshing
  ...
2015-10-05 17:24:55 +02:00
Fabien Potencier e7888a18d1 Merge branch '2.7' into 2.8
* 2.7:
  [Security][bugfix] "Remember me" cookie cleared on logout with custom "secure"/"httponly" config options [1]
  [ci] Use current PHP_BINARY when running ./phpunit
  Fixed typos
  [UPGRADE-3.0] fix bullet indentation
  Fix PropertyAccessor modifying array in object when array key does not exist
  [Security] InMemoryUserProvider now concerns whether user's password is changed when refreshing
2015-10-05 17:19:10 +02:00
Fabien Potencier d657834bd0 Merge branch '2.3' into 2.7
* 2.3:
  [Security][bugfix] "Remember me" cookie cleared on logout with custom "secure"/"httponly" config options [1]
  [ci] Use current PHP_BINARY when running ./phpunit
  Fixed typos
  [UPGRADE-3.0] fix bullet indentation
  [Security] InMemoryUserProvider now concerns whether user's password is changed when refreshing
2015-10-05 17:17:54 +02:00
Fabien Potencier 9becf27d5c minor #16121 [ci] Use current PHP_BINARY when running ./phpunit (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[ci] Use current PHP_BINARY when running ./phpunit

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

This allows to easilly test with several php versions.
I also added an auto-install of composer and the deps when they are not here.
Should ease on-boarding devs to running tests.

Commits
-------

41aecbe [ci] Use current PHP_BINARY when running ./phpunit
2015-10-05 17:17:26 +02:00
Fabien Potencier 0c5f017d8e minor #16119 Fixed typos (pborreli)
This PR was merged into the 2.3 branch.

Discussion
----------

Fixed typos

Following #16098

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

Commits
-------

f5802c2 Fixed typos
2015-10-05 17:12:44 +02:00
Mikael Pajunen 4e0c6e1b55 Replace is_callable checks with type hints
Also removes tests checking the exceptions thrown from
the removed is_callable checks.
2015-10-05 16:57:27 +02:00
Fabien Potencier 40cf393e47 feature #14908 Include working directory in ProcessFailedException (Rvanlaak)
This PR was merged into the 2.8 branch.

Discussion
----------

Include working directory in ProcessFailedException

... because quite often the Exception is a result of the `www-data` user not having the appropriate rights at that working path. Maybe @schmittjoh can confirm this?

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

Commits
-------

dbaefb4 Include working directory in ProcessFailedException
2015-10-05 16:46:18 +02:00
Fabien Potencier 1c4ea85787 bug #14842 [Security][bugfix] "Remember me" cookie cleared on logout with custom "secure"/"httponly" config options [1] (MacDada)
This PR was squashed before being merged into the 2.3 branch (closes #14842).

Discussion
----------

[Security][bugfix] "Remember me" cookie cleared on logout with custom "secure"/"httponly" config options [1]

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

* test now always pass "secure" and "httponly" options, as they are required
* could be considered BC, but [`RememberMeFactory` passes them](https://github.com/symfony/symfony/blob/2.3/src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/Factory/RememberMeFactory.php#L21), so they should've always been treated as required
* I can squash the commits before merging
* Alternative solution: #14843

Commits
-------

18b1c6a [Security][bugfix] "Remember me" cookie cleared on logout with custom "secure"/"httponly" config options [1]
2015-10-05 16:40:32 +02:00
Dawid Nowak 18b1c6a235 [Security][bugfix] "Remember me" cookie cleared on logout with custom "secure"/"httponly" config options [1] 2015-10-05 16:40:29 +02:00
Fabien Potencier d3b8176bc3 bug #13627 [Security] InMemoryUserProvider now concerns whether user's password is changed when refreshing (issei-m)
This PR was merged into the 2.3 branch.

Discussion
----------

[Security] InMemoryUserProvider now concerns whether user's password is changed when refreshing

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

When a user has changed own password, I want to logout any sessions which is authenticated by its user except changer itself.

[DaoAuthenticationManager::checkAuthentication()](https://github.com/symfony/symfony/blob/2.3/src/Symfony/Component/Security/Core/Authentication/Provider/DaoAuthenticationProvider.php#L59) method seems to concern about it.

But, this situation actually never happens because both users that will be passed to this method are always identical in re-authentication.
It's because the token refreshes own user via [ContextListener](https://github.com/symfony/symfony/blob/2.3/src/Symfony/Component/Security/Http/Firewall/ContextListener.php#L90) before re-authentication.

Commits
-------

729902a [Security] InMemoryUserProvider now concerns whether user's password is changed when refreshing
2015-10-05 16:30:38 +02:00
spdionis 70f2b3eb8c global commands are always first in command list 2015-10-05 15:59:45 +02:00
Nicolas Grekas 41aecbe510 [ci] Use current PHP_BINARY when running ./phpunit 2015-10-05 14:41:13 +02:00
Fabien Potencier 2455b69bf9 minor #16118 [UPGRADE-3.0] fix bullet indentation (ogizanagi)
This PR was merged into the 2.3 branch.

Discussion
----------

[UPGRADE-3.0] fix bullet indentation

| Q             | A
| ------------- | ---
| Fixed tickets | -
| License       | MIT

Those points aren't related to the previous one.

Commits
-------

028d336 [UPGRADE-3.0] fix bullet indentation
2015-10-05 12:53:43 +02:00
Pascal Borreli f5802c2251 Fixed typos 2015-10-05 10:36:28 +01:00
maxime.steinhausser 028d3361ed [UPGRADE-3.0] fix bullet indentation 2015-10-05 10:42:37 +02:00
Fabien Potencier 88e2d70df0 feature #16076 [HttpFoundation] change precedence of parameters in Request::get (Tobion)
This PR was merged into the 3.0-dev branch.

Discussion
----------

[HttpFoundation] change precedence of parameters in Request::get

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

Allowing the request attributes to be overwritten via GET parameters is risky and made #8966 even worse.
It is even more risky because it skips the requirements checks as configured in routing. So people that set requirements for routing placeholders like `\d+` or `html|json` can be sure it is validated when using the routing variables. But if developers use `$request->get()` to retrieve them, anybody from outside can set any value for those.

Commits
-------

e8d6764 [HttpFoundation] change precedence of parameters in Request::get
2015-10-05 09:30:19 +02:00
Fabien Potencier 2c46204001 Merge branch '2.3' into 2.7
* 2.3:
  Fix PropertyAccessor modifying array in object when array key does not exist
2015-10-05 09:28:51 +02:00
Fabien Potencier 58bf830020 bug #16090 Fix PropertyAccessor modifying array in object when array key does no… (pierredup)
This PR was merged into the 2.3 branch.

Discussion
----------

Fix PropertyAccessor modifying array in object when array key does no…

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

Commits
-------

f24c678 Fix PropertyAccessor modifying array in object when array key does not exist
2015-10-05 09:23:57 +02:00
Fabien Potencier ef7aeaa47c bug #16104 Pass missing request template variables (WouterJ)
This PR was merged into the 2.8 branch.

Discussion
----------

Pass missing request template variables

Some render calls were missing the `request` variable, while it is used in the `layout.html.twig` template.

| Q | A
| --- | ---
| Fixed tickets | -
| License | MIT

Commits
-------

7f1b2c2 Pass missing request template variables
2015-10-05 09:20:16 +02:00
Fabien Potencier 3567548c14 feature #16102 Simplify AbstractVoter (Koc)
This PR was merged into the 2.8 branch.

Discussion
----------

Simplify AbstractVoter

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no, just simplification
| BC breaks?    | no, because 2.8 is not yet released
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Commits
-------

93de659 Simplify AbstractVoter
2015-10-05 09:15:26 +02:00
Fabien Potencier 9bbab98e39 minor #16109 [DomCrawler] Deprecated using /_root/ in XPath expressions (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[DomCrawler] Deprecated using /_root/ in XPath expressions

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

Commits
-------

6042e86 [DomCrawler] Deprecated using /_root/ in XPath expressions
2015-10-05 09:11:02 +02:00
Tobias Schultze aa494d8df3 Merge branch '2.7' into 2.8 2015-10-04 17:55:43 +02:00
Tobias Schultze d1f50c5dee bug #16092 [Process] Throw exception if tempnam returns false (pierredup)
This PR was merged into the 2.7 branch.

Discussion
----------

[Process] Throw exception if tempnam returns false

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

Commits
-------

cc854e6 Throw exception if tempnam returns false
2015-10-04 17:54:32 +02:00
Tobias Schultze 3e019c42ab Merge branch '2.3' into 2.7
Conflicts:
	src/Symfony/Component/Process/ProcessPipes.php
2015-10-04 17:52:32 +02:00
Tobias Schultze af2768c2d1 bug #16111 Throw exception if tempnam returns false in ProcessPipes (pierredup)
This PR was merged into the 2.3 branch.

Discussion
----------

Throw exception if tempnam returns false in ProcessPipes

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

Related to #16092

Commits
-------

1425b8a Throw exception if tempnam returns false in ProcessPipes
2015-10-04 17:49:48 +02:00
Pierre du Plessis 1425b8adb0 Throw exception if tempnam returns false in ProcessPipes 2015-10-04 17:41:50 +02:00
Nicolas Grekas 6042e86de4 [DomCrawler] Deprecated using /_root/ in XPath expressions 2015-10-04 15:52:56 +02:00
Wouter J 7f1b2c2e59 Pass missing request template variables 2015-10-04 13:37:31 +02:00
Konstantin.Myakshin 93de659442 Simplify AbstractVoter 2015-10-04 12:08:57 +03:00
Fabien Potencier c9e938cfea bug #16101 [Form] add missing deprecation triggers (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[Form] add missing deprecation triggers

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

Passing implementations of the pre 2.5 validator API to the constructors
of the `ValidatorExtension` and the `ValidationListener` must trigger a
deprecation.

Commits
-------

bcd3946 [Form] add missing deprecation triggers
2015-10-04 10:49:04 +02:00
Christian Flothmann bcd3946726 [Form] add missing deprecation triggers
Passing implementations of the pre 2.5 validator API to the constructors
of the `ValidatorExtension` and the `ValidationListener` must trigger a
deprecation.
2015-10-04 09:34:07 +02:00
Pierre du Plessis cc854e6d23 Throw exception if tempnam returns false 2015-10-03 22:13:32 +02:00
Pierre du Plessis f24c678027 Fix PropertyAccessor modifying array in object when array key does not exist 2015-10-03 22:00:22 +02:00
Tobias Schultze cdbabb0baa Merge branch '2.7' into 2.8 2015-10-03 18:42:07 +02:00
Tobias Schultze 8e3a4223a2 Merge branch '2.3' into 2.7
Conflicts:
	src/Symfony/Component/Form/Extension/HttpFoundation/EventListener/BindRequestListener.php
2015-10-03 18:41:23 +02:00
Fabien Potencier 478ad543b7 feature #15613 [DependencyInjection] Add autowiring capabilities (dunglas)
This PR was squashed before being merged into the 2.8 branch (closes #15613).

Discussion
----------

[DependencyInjection] Add autowiring capabilities

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | not yet

This PR adds autowiring capabilities to the Dependency Injection component. It eases service registration by letting the component guessing dependencies to inject and even (under certain conditions) registering them using typehints of the constructor parameters.

The following usages are supported:

# Automatic dependency registration

```php
class Foo
{
}

class Bar
{
    public function __construct(Foo $f)
    {
    }
}
```

```yaml
services:
    bar:
        class: Bar
        autowire: true
```

It will register `Foo` as a private service (`autowired.foo`) and injects it as the first argument of the `bar` constructor.
This method works only for typehints corresponding to instantiable classes (interfaces and abstract classes are not supported).

# Autocompletion of definition arguments

```php
interface A
{
}

interface B extends A
{
}

class Foo implements B
{
}

class Bar
{
}

class Baz extends Bar
{
}

class LesTilleuls
{
    public function __construct(A $a, Bar $bar)
    {
    }
}
```

```yaml
services:
    foo:
        class: Foo

    baz:
        class: Baz

    les_tilleuls:
        class: LesTilleuls
        autowire: true
```

The autowiring system will find types of all services and completes constructor arguments of the `les_tilleuls` service definition using typehints.

It works only if there is one service registered for a given type (if there are several services available for the same type and no explicit type definition, a `RuntimeException` is thrown).

# Explicit type definition

```php
interface A
{
}

class A1 implements A
{
}

class A2 implements A
{
}

class B
{
     public function __construct(A $a)
     {
     }
}
```

```yaml
services:
    a1:
        class: A1
        types: [ A ]

    a2:
        class: A2

    # Will be autowired with A1
    class b:
        class: B
        autowire: true

    # Not autowired
    class another_b:
        class: B
        arguments: [ @a2 ]
        autowire: true
```

When a service is explicitly associated with a type, it is always used to fill a definition depending of this type, even if several services have this type. If several services are associated with the same type, the last definition takes the priority.

Of course explicit definitions are still supported.
YAML, XML and PHP loaders have been updated to supports the new `type` parameter.

Commits
-------

aee5731 [DependencyInjection] Add autowiring capabilities
2015-10-03 08:39:10 +02:00
Kévin Dunglas aee57315c5 [DependencyInjection] Add autowiring capabilities 2015-10-03 08:39:08 +02:00
Fabien Potencier 38c059fc03 bug #16094 Fix the crawler refactoring (stof)
This PR was merged into the 3.0-dev branch.

Discussion
----------

Fix the crawler refactoring

| Q             | A
| ------------- | ---
| 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 fixes a few mistakes I spotted in #16075 for the DomCrawler component.

Regression tests are added separately in https://github.com/symfony/symfony/pull/16093 to be included in older branches too.

Commits
-------

d128735 Fix the crawler refactoring
2015-10-03 08:28:13 +02:00
Fabien Potencier ad2e85eac8 minor #16091 [Form] remove obsolete deprecation comments (Tobion)
This PR was merged into the 2.3 branch.

Discussion
----------

[Form] remove obsolete deprecation comments

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

These comments are obsolete and wrong.

Commits
-------

dd50645 [Form] remove obsolete deprecation comments
2015-10-03 08:25:54 +02:00
Fabien Potencier 91cab2e543 bug #16086 fix validator test dependency (Tobion)
This PR was merged into the 3.0-dev branch.

Discussion
----------

fix validator test dependency

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

Fix test https://travis-ci.org/symfony/symfony/jobs/83308337#L3653 as property access is required for expression constraint.

Commits
-------

3b7cb33 fix validator test dependency
2015-10-03 08:22:21 +02:00
Fabien Potencier da92c1087d minor #16093 Add a few additional tests for the Crawler (stof)
This PR was merged into the 2.8 branch.

Discussion
----------

Add a few additional tests for the Crawler

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

While looking at the update of the Crawler in #16075, I spotted a few mistakes. But these were cases not covered by the testsuite. This is adding tests for these cases in the 2.8 branch (they could be added in 2.3 eventually though).

Commits
-------

528d3bd Add a few additional tests for the Crawler
2015-10-03 08:20:57 +02:00
Fabien Potencier 2e386b3ca1 bug #16087 Fixing typo in variable name (yceruto)
This PR was submitted for the 2.8 branch but it was merged into the 2.7 branch instead (closes #16087).

Discussion
----------

Fixing typo in variable name

```php
foreach ($reflectionClass->getProperties() as $property) {
    if (!isset($attributeMetadata[$property->name])) {
        $attributesMetadata[$property->name] = new AttributeMetadata($property->name);
        $classMetadata->addAttributeMetadata($attributesMetadata[$property->name]);
    }

    if ($property->getDeclaringClass()->name === $className) {
        foreach ($this->reader->getPropertyAnnotations($property) as $groups) {
            if ($groups instanceof Groups) {
                foreach ($groups->getGroups() as $group) {
                    $attributesMetadata[$property->name]->addGroup($group);
                }
            }

            $loaded = true;
        }
    }
}
```

This `$attributeMetadata` does not exists in this `foreach` context and the goal of this condition could be unexpected.

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | none

Commits
-------

89499ff Fixing typo in variable name
2015-10-03 08:19:38 +02:00
Yonel Ceruto González 89499ff9e1 Fixing typo in variable name
This condition is always `true` because `$attributesMetadata` does not exists in this `foreach` context and could overwrite values in the `$attributesMetadata` variable.
2015-10-03 08:19:37 +02:00