Commit Graph

11219 Commits

Author SHA1 Message Date
Jérôme Vieilledent
8b8feff246 [PropertyAccess] Fix setting public property on a class having a magic getter
| 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

When using PropertyAccessor with an object having both a public property
and a magic getter, and one wants to update this property,
PropertyAccessor may lose the property reference.
This occurs when the public property value is a hash:

```php
class Foo
{
    /**
     * Example: $this->someProperty['foo']['bar'] = 'baz'
     * @var array
     */
    public $someProperty;

    public function __get($name)
    {
        // ...
    }
}

$obj = new Foo();
$obj->someProperty = ['foo' => ['bar' => 'some_value']];

$propertyAccessor->setValue($obj, 'someProperty[foo][bar]', 'another_value');

echo $obj->someProperty['foo']['bar'];
// Before this patch: 'some_value' => fail
// After this patch: 'another_value' => correct
```

Furthermore, public properties are always used before `__get()` by PHP.

This bug is visible since v2.6.5 as d733a887 changed the way
`setValue()` works.
2015-05-11 17:09:39 +02:00
Fabien Potencier
c7bb672f10 bumped Symfony version to 2.6.8 2015-05-11 04:25:53 +02:00
Fabien Potencier
0449d0e117 updated VERSION for 2.6.7 2015-05-11 03:58:49 +02:00
Fabien Potencier
9ab729199c Merge branch '2.3' into 2.6
* 2.3:
  bumped Symfony version to 2.3.29
  updated VERSION for 2.3.28
  update CONTRIBUTORS for 2.3.28
  updated CHANGELOG for 2.3.28
  PhpDoc fix in AbstractRememberMeServices

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2015-05-11 03:52:28 +02:00
Fabien Potencier
415245ee89 bumped Symfony version to 2.3.29 2015-05-11 03:22:26 +02:00
Fabien Potencier
56bc4057e3 updated VERSION for 2.3.28 2015-05-10 17:02:48 +02:00
Alexander Schwenn
f7def8c1d1 [Debug] Fixed ClassNotFoundFatalErrorHandlerTest 2015-05-08 15:17:44 +02:00
Tobias Schultze
e12359303d Merge branch '2.3' into 2.6
Conflicts:
	src/Symfony/Bundle/SecurityBundle/DependencyInjection/MainConfiguration.php
2015-05-08 02:09:07 +02:00
Dawid Nowak
a73d2cc685 PhpDoc fix in AbstractRememberMeServices
All extending classes return `UserInterface`, not TokenInterface:

* https://github.com/symfony/symfony/blob/2.3/src/Symfony/Component/Security/Http/RememberMe/TokenBasedRememberMeServices.php#L64
* https://github.com/symfony/symfony/blob/2.3/src/Symfony/Component/Security/Http/RememberMe/PersistentTokenBasedRememberMeServices.php#L116

And `AbstractRememberMeServices` actually required the return value to be `UserInterface`:

            $user = $this->processAutoLoginCookie($cookieParts, $request);

            if (!$user instanceof UserInterface) {
                throw new \RuntimeException('processAutoLoginCookie() must return a UserInterface implementation.');
            }
2015-05-07 16:20:47 +02:00
Stepan Anchugov
4d974ced7f [Filesystem] Simplified an if statement 2015-05-06 18:34:36 +02:00
Fabien Potencier
cbcdb16bee bug #14266 [HttpKernel] Check if "symfony/proxy-manager-bridge" package is installed (hason)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpKernel] Check if "symfony/proxy-manager-bridge" package is installed

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

Commits
-------

43cc877 [HttpKernel] Check if "symfony/proxy-manager-bridge" package is installed
2015-05-06 18:28:43 +02:00
Nicolas Grekas
115fc32541 Merge branch '2.3' into 2.6
* 2.3:
  [Debug 2.3] Fix test for PHP7
  Run tests on hhvm instead of hhvm-nightly
  Use HTTPS in README and some other fixes
  add more entropy to generated classnames

Conflicts:
	src/Symfony/Component/Debug/Tests/ErrorHandlerTest.php
2015-05-06 16:13:47 +02:00
Nicolas Grekas
fafcb64d00 [Debug 2.3] Fix test for PHP7 2015-05-06 12:13:27 +02:00
Martin Hasoň
43cc8776df [HttpKernel] Check if "symfony/proxy-manager-bridge" package is installed 2015-05-06 11:52:26 +02:00
Abdellatif Ait boudad
09cb24bbad minor #14549 [Translation] simplify getMessages. (aitboudad)
This PR was merged into the 2.6 branch.

Discussion
----------

[Translation] simplify getMessages.

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

Commits
-------

db077c1 [Translation] simplify getMessages.
2015-05-05 16:51:00 +00:00
Fabien Potencier
c4867485d7 bug #14478 [DebugBundle] Fix dump() output in API / No-Toolbar context (nicolas-grekas)
This PR was merged into the 2.6 branch.

Discussion
----------

[DebugBundle] Fix dump() output in API / No-Toolbar context

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

With this PR, dumps are written as plain text when the main content-type is not HTML.
With HTML, dumps are inlined when the web debug toolbar is not enabled.

Commits
-------

62f8469 [DebugBundle] Fix dump() output in API/No-Toolbar context
2015-05-05 03:50:03 +02:00
fago
b3db07f5f2 [Validator] Property paths starting with 0 are broken. 2015-05-05 03:29:27 +02:00
Fabien Potencier
1ea4612d7e minor #14548 [Translation] Fixed test (dosten)
This PR was merged into the 2.6 branch.

Discussion
----------

[Translation] Fixed test

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

Since php7 version 20150301 the json error levels has changed. See http://3v4l.org/Omb8E.
This PR updated the fixture to trigger a syntax error. See http://3v4l.org/OMN7S

Commits
-------

5dca3ff Fixed test
2015-05-05 03:22:57 +02:00
Fabien Potencier
15648ffe30 bug #14527 Fix getOrigin (WouterJ)
This PR was merged into the 2.6 branch.

Discussion
----------

Fix getOrigin

I am far from sure if this is a correct fix, but I believe it is.

The problem is that `getOrigin()` now returns either the Form it was thrown in or `null`. This causes issues when using the `FormErrorIterator`, like:

```php
// note: errors are deep and flatten
foreach ($form->getErrors(true) as $error) {
    echo '* '.$error->getOrigin()->getName().': '.$error->getMessage();
}
```

This now doesn't work for fields that have `error_bubbling => false` or for the root form. In that case, it'll throw an error. Even if I first checked if `getOrigin()` returned `null` or a `FormInterface`, I still had a problem: There is no way to detect which field it was bound to.

Imo, `$error->getOrigin()` should always return the Form that caused them.

/cc @webmozart would love if you can verify that I'm correct here. The form error iterator stuff is still dizzling my head...

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

Commits
-------

01eac33 Fix getOrigin
2015-05-05 03:21:50 +02:00
Abdellatif Ait boudad
db077c1f3b [Translation] simplify getMessages. 2015-05-04 21:22:52 +00:00
Diego Saint Esteben
5dca3ffa69 Fixed test 2015-05-04 17:55:59 -03:00
Alexander Schwenn
7f8ff6a7fd [2.6][Validator] Fix Interface reference in docblock 2015-05-04 14:41:38 +02:00
Wouter J
01eac33540 Fix getOrigin 2015-05-04 11:39:13 +02:00
Berny Cantos
afc39ee11f add more entropy to generated classnames
- use proxy destination filename to create and md5 salt
- apply fabbot patch
- inline salt generation
2015-05-02 20:46:11 +02:00
Fabien Potencier
f47d9055bc minor #14519 [2.6] link to https://symfony.com where possible (xabbuh)
This PR was merged into the 2.6 branch.

Discussion
----------

[2.6] link to https://symfony.com where possible

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

2.6-related changes of #14518.

Commits
-------

38bcab0 [2.6] link to https://symfony.com where possible
2015-05-02 17:19:33 +02:00
Fabien Potencier
b8cd3ca3f8 Merge branch '2.3' into 2.6
* 2.3:
  link to https://symfony.com where possible
  [FrameworkBundle] Added missing log in server:run command
  [HttpFoundation] Allow curly braces in trusted host patterns
  [profiler][security] check authenticated user by tokenClass instead of username.
  Use https://symfony.com/search for searching

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Test/WebTestCase.php
	src/Symfony/Component/Form/README.md
	src/Symfony/Component/Intl/README.md
	src/Symfony/Component/Routing/composer.json
	src/Symfony/Component/Security/README.md
	src/Symfony/Component/Translation/README.md
	src/Symfony/Component/Validator/README.md
2015-05-02 17:18:45 +02:00
Christian Flothmann
38bcab0823 [2.6] link to https://symfony.com where possible 2015-05-01 16:14:24 +02:00
Fabien Potencier
851c7b844a minor #14515 Do not override PHP constants, only use when available (dosten)
This PR was squashed before being merged into the 2.6 branch (closes #14515).

Discussion
----------

Do not override PHP constants, only use when available

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

In #12372, the override of internal constants has been deleted, but the definition of `JSON_PRETTY_PRINT` if not available is missing in that PR.

Commits
-------

d5cc056 Do not override PHP constants, only use when available
2015-05-01 16:09:34 +02:00
Diego Saint Esteben
d5cc056cd3 Do not override PHP constants, only use when available 2015-05-01 16:09:32 +02:00
Christian Flothmann
bf8a1ce2a2 link to https://symfony.com where possible 2015-05-01 16:06:45 +02:00
Diego Saint Esteben
7632d2787e [Finder] Only use GLOB_BRACE when available 2015-05-01 15:39:14 +02:00
Sebastian Grodzicki
6038b75eaf [HttpFoundation] Allow curly braces in trusted host patterns 2015-04-28 20:14:20 +02:00
Fabien Potencier
13ae7fae09 bug #14469 [Debug] BaseException compatibility for PHP7 (nicolas-grekas)
This PR was merged into the 2.6 branch.

Discussion
----------

[Debug] BaseException compatibility for PHP7

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

Commits
-------

e94b31f [Debug] PHP7 compatibility with BaseException
2015-04-28 17:14:24 +02:00
Nicolas Grekas
62f8469f25 [DebugBundle] Fix dump() output in API/No-Toolbar context 2015-04-28 08:20:00 +02:00
Nicolas Grekas
343d2828d6 Fix merge 2015-04-27 18:33:29 +02:00
Fabien Potencier
3928ed5fce Merge branch '2.3' into 2.6
* 2.3:
  [DependencyInjection] Removed extra strtolower calls
  [Validator] Fixed Choice when an empty array is used in the "choices" option
  Fixed tests
  [StringUtil] Fixed singularification of 'selfies'
  Fix Portuguese (Portugal) translation for Security
  improved exception when missing required component
  CS: unalign =
  Show a better error when the port is in use
  CS: unalign =>
  [FrameworkBundle] Check for 'xlf' instead of 'xliff'
  Add better phpdoc message for getListeners method of the EventDispatcher

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/ServerRunCommand.php
	src/Symfony/Bundle/TwigBundle/Command/LintCommand.php
	src/Symfony/Component/DependencyInjection/ContainerBuilder.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services11.php
	src/Symfony/Component/Validator/Constraints/ChoiceValidator.php
2015-04-27 14:43:05 +02:00
Fabien Potencier
3be6492e2b minor #14449 [Security] Fix Portuguese (Portugal) translation (Restless-ET)
This PR was merged into the 2.3 branch.

Discussion
----------

[Security] Fix Portuguese (Portugal) translation

Commits
-------

b62eb73 Fix Portuguese (Portugal) translation for Security
2015-04-27 14:28:09 +02:00
Fabien Potencier
94cf4ba449 minor #14452 [StringUtil] Fixed singularification of 'selfies' (pmodin)
This PR was merged into the 2.3 branch.

Discussion
----------

[StringUtil] Fixed singularification of 'selfies'

| 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

Related to #14191.

At tonights PHP Stockholm meetup we discussed #14191, and we noticed that "selfie" was incorrectly handled as well. One selfie, many selfies.

Commits
-------

7c2b875 [StringUtil] Fixed singularification of 'selfies'
2015-04-27 14:27:22 +02:00
Fabien Potencier
01b2d8ef96 bug #14463 [Validator] Fixed Choice when an empty array is used in the "choices" option (webmozart)
This PR was merged into the 2.3 branch.

Discussion
----------

[Validator] Fixed Choice when an empty array is used in the "choices" option

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

This is a backport of #14448 for the 2.3 branch.

Commits
-------

8bf8556 [Validator] Fixed Choice when an empty array is used in the "choices" option
2015-04-27 14:22:06 +02:00
Fabien Potencier
8f7a55864a minor #14470 [DependencyInjection] Removed extra strtolower calls (dosten)
This PR was squashed before being merged into the 2.3 branch (closes #14470).

Discussion
----------

[DependencyInjection] Removed extra strtolower calls

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

`Alias` already lowercase the `$id` in the constructor. Using `ContainerBuilder::hasAlias()` and `ContainerBuilder::hasDefinition()` inside the code makes an extra strtolower call.

Commits
-------

3bfbf45 [DependencyInjection] Removed extra strtolower calls
2015-04-27 14:15:57 +02:00
Diego Saint Esteben
3bfbf45ed2 [DependencyInjection] Removed extra strtolower calls 2015-04-27 14:15:55 +02:00
Nicolas Grekas
fcf53950ca minor #14457 [DependencyInjection] Fixed missing tests (dosten)
This PR was merged into the 2.3 branch.

Discussion
----------

[DependencyInjection] Fixed missing tests

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

Follow up of #11422 and #14446

Commits
-------

2892902 Fixed tests
2015-04-27 12:30:21 +02:00
Nicolas Grekas
7c5337367a bug #14446 [DependencyInjection] resolve circular reference (xabbuh)
This PR was merged into the 2.6 branch.

Discussion
----------

[DependencyInjection] resolve circular reference

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

This issue has been fixed in #11422. Due to a bad merge in 3bed1b7988 it partially appeared again in Symfony 2.6 or higher.

Commits
-------

8b3b3ce [DependencyInjection] resolve circular reference
2015-04-27 12:29:08 +02:00
Nicolas Grekas
9b333d655e minor #14439 CS: unalign => (keradus)
This PR was merged into the 2.3 branch.

Discussion
----------

CS: unalign =>

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

Update before upcoming changes on PHP CS Fixer 1.8

To keep fabbot.io happy ;)

Commits
-------

1233baa CS: unalign =>
2015-04-26 16:27:11 +02:00
Nicolas Grekas
22693f3a46 minor #14438 CS: unalign = (keradus)
This PR was merged into the 2.3 branch.

Discussion
----------

CS: unalign =

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

Update before upcoming changes on PHP CS Fixer 1.8

To keep fabbot.io happy ;)

Commits
-------

d5742c1 CS: unalign =
2015-04-26 16:20:13 +02:00
Nicolas Grekas
e94b31f3a0 [Debug] PHP7 compatibility with BaseException 2015-04-26 11:08:32 +02:00
Nicolas Grekas
4a6100a6f2 [Debug] Fix deprecated use of DebugClassLoader 2015-04-24 12:55:50 +02:00
Bernhard Schussek
8bf855620f [Validator] Fixed Choice when an empty array is used in the "choices" option 2015-04-24 12:06:28 +02:00
Bernhard Schussek
d206ffd212 bug #14448 [Validator] Fixed Choice when an empty array is used in the "choices" option (webmozart)
This PR was merged into the 2.6 branch.

Discussion
----------

[Validator] Fixed Choice when an empty array is used in the "choices" option

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

Commits
-------

a5a41b2 [Validator] Fixed Choice when an empty array is used in the "choices" option
2015-04-24 11:48:58 +02:00
Diego Saint Esteben
2892902ead Fixed tests 2015-04-23 18:00:03 -03:00