Commit Graph

22354 Commits

Author SHA1 Message Date
Ladislav Tánczos
2e04e23c6a InvalidResourceException file name 2015-05-28 22:42:23 +02:00
Fabien Potencier
41adf224b5 minor #14643 [DependencyInjection] Avoid unnecessary calls to strtolower() (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[DependencyInjection] Avoid unnecessary calls to strtolower()

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

Commits
-------

c27f564 [DependencyInjection] Avoid unnecessary calls to strtolower()
2015-05-28 16:28:38 +02:00
Fabien Potencier
a4e126d531 minor #14765 [Validators] Correct translation key and content [nl] (amouhzi)
This PR was merged into the 2.3 branch.

Discussion
----------

[Validators] Correct translation key and content [nl]

The nl file is not up to date. Correct changed translation key.

Commits
-------

5bc4085 [Validators] Correct translation key and content [nl]
2015-05-28 05:26:02 +02:00
Fabien Potencier
fc39317691 minor #14766 [Validators] Remove forgotten space in a translation key [nl] (amouhzi)
This PR was merged into the 2.3 branch.

Discussion
----------

[Validators] Remove forgotten space in a translation key [nl]

The nl file is not up to date. Correct changed translation key.

Commits
-------

51e3c22 [Validators] Remove forgotten space in a translation key [nl]
2015-05-28 05:24:15 +02:00
Hassan Amouhzi
51e3c222d4 [Validators] Remove forgotten space in a translation key [nl] 2015-05-27 23:21:50 +02:00
Hassan Amouhzi
5bc4085e4c [Validators] Correct translation key and content [nl] 2015-05-27 23:11:20 +02:00
Fabien Potencier
86ab2505a9 minor #14742 [CS] [Console] StreamOuput : fix loose comparison (ogizanagi)
This PR was merged into the 2.3 branch.

Discussion
----------

[CS] [Console] StreamOuput : fix loose comparison

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

Commits
-------

cd70ca8 [CS] [Console] StreamOuput : fix loose comparison
2015-05-27 20:33:26 +02:00
Fabien Potencier
31b5e5c5b1 minor #14758 [Serializer] [2.6] Code style (derrabus)
This PR was merged into the 2.6 branch.

Discussion
----------

[Serializer] [2.6] Code style

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

This PR fixes some minor code style issues fabbot discovered while I was working on PR #14756.

Commits
-------

864136a Code style
2015-05-27 20:30:26 +02:00
Kévin Dunglas
2983ecbf3d feature #14756 [Serializer] Support for array denormalization (derrabus)
This PR was merged into the 2.8 branch.

Discussion
----------

[Serializer] Support for array denormalization

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

This is a rebase of #14343 against the 2.8 branch.

I had to implement a couple of API endpoints that receive data as JSON-serialized arrays of objects. The current implementation of the Serializer component is capable of serializing such arrays, but so far this operation is a one-way-road. This PR is an attempt to change this.

## Demo
```php
class Dummy
{
    public $foo;
    public $bar;

    public function __construct($foo = null, $bar = null)
    {
        $this->foo = $foo;
        $this->bar = $bar;
    }
}

$serializer = new \Symfony\Component\Serializer\Serializer(
    array(
        new \Symfony\Component\Serializer\Normalizer\PropertyNormalizer(),
        new \Symfony\Component\Serializer\Normalizer\ArrayDenormalizer()
    ),
    array(
        new \Symfony\Component\Serializer\Encoder\JsonEncoder()
    )
);

$json = $serializer->serialize(
    array(
        new Dummy('one', 'two'),
        new Dummy('three', 'four')
    ),
    'json'
);

echo $json . "\n\n";

// Deserialize the JSON string, so we get back to where we started from.
$data = $serializer->deserialize($json, 'Dummy[]', 'json');

var_dump($data);
```

By appending `[]` to the type parameter, you indicate that you expect to deserialize an array of objects of the given type. This is the same notation that phpDocumentor uses to indicate collections. The denormalization of the array is implemented recursively: The denormalizer simply calls `Serializer::denormalize()` on each element of the array. This way, the ArrayDenormalizer can be combined with any other denormalizer.

## Side effects

For this implementation, I had to touch `GetSetMethodNormalizer`, `PropertyNormalizer` and `CustomNormalizer`. Those classes expected `supportsDenormalization` to be called with a valid class in the `$type` parameter. Instead of throwing a reflection exception, they now simply return false. I'm not exactly sure, if this is should be considered to be a BC break.

This implementation violates the `SerializerInterface` which declared `deserialize()` to always return an object. But imho, the assumption that serialized data always represents an object is too restrictive anyway. Also, this declaration is not consistent with the `serialize()` method which accepts `mixed` as input type for the data to serialize.

## Other PRs

I've found an older PR adressing this issue, #12066. That PR was closed because the contributor did not reply to feedback.

Commits
-------

0573f28d Support for array denormalization.
2015-05-27 13:35:50 +02:00
Fabien Potencier
9f5a6c6b66 bumped Symfony version to 2.6.9 2015-05-27 02:47:03 +02:00
Fabien Potencier
7ae1934082 updated VERSION for 2.6.8 2015-05-27 02:17:10 +02:00
Fabien Potencier
53c60cb825 updated CHANGELOG for 2.6.8 2015-05-27 02:17:02 +02:00
Fabien Potencier
ce2a47abe2 added missing CVE number 2015-05-27 01:41:50 +02:00
Fabien Potencier
a8886615e4 bumped Symfony version to 2.3.30 2015-05-27 01:35:14 +02:00
Fabien Potencier
c4da51ce0f updated VERSION for 2.3.29 2015-05-26 23:55:27 +02:00
Fabien Potencier
da10a3cb20 update CONTRIBUTORS for 2.3.29 2015-05-26 23:46:03 +02:00
Fabien Potencier
a5914d283b updated CHANGELOG for 2.3.29 2015-05-26 23:45:29 +02:00
Nicolas Grekas
662346403b Merge branch '2.3' into 2.6
* 2.3:
  [Validators] Missing translations for arabic language.
  fixed C
  [HttpKernel][Bundle] Check extension implements ExtensionInterface
  [HttpKernel] Do not call the FragmentListener if _controller is already defined
2015-05-26 14:42:28 -07:00
Fabien Potencier
64e9584fae security #14759 n/a (jakzal)
This PR was merged into the 2.3 branch.

Discussion
----------

n/a

n/a

Commits
-------

d320d27 [HttpKernel] Do not call the FragmentListener if _controller is already defined
2015-05-26 23:41:30 +02:00
Fabien Potencier
ae2d062afc minor #14757 [Validators] Missing translations for arabic language. (amouhzi)
This PR was submitted for the 2.7 branch but it was merged into the 2.3 branch instead (closes #14757).

Discussion
----------

[Validators] Missing translations for arabic language.

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

This pull request is for adding missing translations in validators.ar.xlf.

Commits
-------

9a26e4b [Validators] Missing translations for arabic language.
2015-05-26 23:24:07 +02:00
Hassan Amouhzi
9a26e4beba [Validators] Missing translations for arabic language. 2015-05-26 23:24:07 +02:00
Alexander M. Turek
864136a739 Code style 2015-05-26 23:19:30 +02:00
Alexander M. Turek
0573f28d9b Support for array denormalization. 2015-05-26 22:25:23 +02:00
Fabien Potencier
2aeaa22e31 bug #14745 [Serializer] AbstractNormalizer::instantiateObject allow default values when not optional (boekkooi)
This PR was merged into the 2.7 branch.

Discussion
----------

[Serializer] AbstractNormalizer::instantiateObject allow default values when not optional

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

This PR fixes a bug in the AbstractNormalizer when denormalizing a array with a missing value but a default value set in the class constructor.

Commits
-------

266d53e [Serializer] AbstractNormalizer::instantiateObject allow default values when not optional
2015-05-25 09:45:54 +02:00
Fabien Potencier
36dfdaf3db fixed C 2015-05-25 09:43:48 +02:00
Fabien Potencier
51b3b83270 minor #14735 [HttpKernel][Bundle] Check extension implements ExtensionInterface (taueres)
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes #14735).

Discussion
----------

[HttpKernel][Bundle] Check extension implements ExtensionInterface

- Avoid fatal errors on line 89 (calling getAlias on objects of
  unknown type).
- Help developers solve problems with their extensions

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

Commits
-------

b6e0a92 [HttpKernel][Bundle] Check extension implements ExtensionInterface
2015-05-25 09:42:57 +02:00
Sergio Santoro
b6e0a9246d [HttpKernel][Bundle] Check extension implements ExtensionInterface
- Avoid fatal errors on line 89 (calling getAlias on objects of
  unknown type).
- Help developers solve problems with their extensions
2015-05-25 09:42:57 +02:00
Fabien Potencier
504548ec6c bug #14743 [DebugBundle] Fix config XSD (nicolas-grekas)
This PR was merged into the 2.6 branch.

Discussion
----------

[DebugBundle] Fix config XSD

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

Commits
-------

6b15ab5 [DebugBundle] Fix config XSD
2015-05-25 09:38:05 +02:00
Fabien Potencier
c563bbc2e4 bug #14711 [Serializer] AbstractNormalizer instantiateObject avoid null rejection (boekkooi)
This PR was submitted for the 2.8 branch but it was merged into the 2.7 branch instead (closes #14711).

Discussion
----------

[Serializer] AbstractNormalizer instantiateObject avoid `null` rejection

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

This PR fixes a bug in the AbstractNormalizer when denormalizing a array with a null argument.

Commits
-------

d546080 [Serializer] AbstractNormalizer::instantiateObject avoid `null` rejection
2015-05-25 09:37:02 +02:00
Warnar Boekkooi
d546080d20 [Serializer] AbstractNormalizer::instantiateObject avoid null rejection 2015-05-25 09:37:02 +02:00
Diego Saint Esteben
30aa4e96c6 Improved duplicated code in FileLocator 2015-05-24 22:52:55 -03:00
Warnar Boekkooi
266d53e5e8 [Serializer] AbstractNormalizer::instantiateObject allow default values when not optional 2015-05-25 07:36:47 +08:00
Nicolas Grekas
6b15ab5a4d [DebugBundle] Fix config XSD 2015-05-24 12:31:48 -07:00
ogizanagi
cd70ca8a51 [CS] [Console] StreamOuput : fix loose comparison 2015-05-24 20:51:45 +02:00
Nicolas Grekas
3fd7ceaa81 [Security] Add setVoters() on AccessDecisionManager 2015-05-23 12:08:33 -07:00
Fabien Potencier
237996eb6e minor #14730 [Framework][router commands] fixed failing tests. (aitboudad)
This PR was merged into the 2.6 branch.

Discussion
----------

[Framework][router commands] fixed failing tests.

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

Commits
-------

39cb661 [Framework][router commands] fixed failing test.
2015-05-23 13:12:55 +02:00
Abdellatif Ait boudad
39cb6616a2 [Framework][router commands] fixed failing test. 2015-05-22 19:35:43 +00:00
Fabien Potencier
58efb98c6f Merge branch '2.6' into 2.7
* 2.6: (30 commits)
  [Translation] fixed JSON loader on PHP 7 when file is empty
  Fix typo
  Check instance of FormBuilderInterface instead of FormBuilder
  [Security] TokenBasedRememberMeServices test to show why encoding username is required
  [Security] AbstractRememberMeServices::encodeCookie() validates cookie parts
  fixed typo
  [console][formater] allow format toString object.
  [HttpFoundation] Fix baseUrl when script filename is contained in pathInfo
  Avoid redirection to XHR URIs
  [HttpFoundation] IpUtils::checkIp4() should allow  networks
  [2.6] Fix HTML escaping of to-source links
  Fix HTML escaping of to-source links
  ExceptionHandler: More Encoding
  Fix the rendering of deprecation log messages
  [FrameworkBundle] Removed unnecessary parameter in TemplateController
  [DomCrawler] Throw an exception if a form field path is incomplete.
  Fixed the indentation in the compiled template for the DumpNode
  [Console] Delete duplicate test in CommandTest
  [TwigBundle] Refresh twig paths when resources change.
  WebProfiler break words
  ...

Conflicts:
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/logger.html.twig
	src/Symfony/Component/Debug/ExceptionHandler.php
2015-05-22 16:54:25 +02:00
Fabien Potencier
dd744c9f53 Merge branch '2.3' into 2.6
* 2.3:
  Fix typo
  Check instance of FormBuilderInterface instead of FormBuilder
  [Security] TokenBasedRememberMeServices test to show why encoding username is required
  [Security] AbstractRememberMeServices::encodeCookie() validates cookie parts
  [console][formater] allow format toString object.
  [HttpFoundation] Fix baseUrl when script filename is contained in pathInfo
  Avoid redirection to XHR URIs
  [HttpFoundation] IpUtils::checkIp4() should allow  networks
  Fix HTML escaping of to-source links
  [FrameworkBundle] Removed unnecessary parameter in TemplateController
  [DomCrawler] Throw an exception if a form field path is incomplete.
  [Console] Delete duplicate test in CommandTest
  [TwigBundle] Refresh twig paths when resources change.
  WebProfiler break words
  fixed typo
  Update README.md
  [HttpKernel] Handle an array vary header in the http cache store
  [Security][Translation] fixes #14584
  [Framework] added test for Router commands.
  Handled bearer authorization header in REDIRECT_ form

Conflicts:
	src/Symfony/Component/Debug/ExceptionHandler.php
2015-05-22 16:53:08 +02:00
Fabien Potencier
836a661d63 bug #14726 [Translation] fixed JSON loader on PHP 7 when file is empty (fabpot)
This PR was submitted for the 2.5 branch but it was merged into the 2.6 branch instead (closes #14726).

Discussion
----------

[Translation] fixed JSON loader on PHP 7 when file is empty

| 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

For PHP7 compat.

Commits
-------

af36c34 [Translation] fixed JSON loader on PHP 7 when file is empty
2015-05-22 16:37:52 +02:00
Fabien Potencier
af36c341ac [Translation] fixed JSON loader on PHP 7 when file is empty 2015-05-22 16:37:51 +02:00
Fabien Potencier
cc749a67f6 bug #14715 [Form] Check instance of FormBuilderInterface instead of FormBuilder (dosten)
This PR was merged into the 2.3 branch.

Discussion
----------

[Form] Check instance of FormBuilderInterface instead of FormBuilder

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

Commits
-------

44469d0 Check instance of FormBuilderInterface instead of FormBuilder
2015-05-22 13:54:11 +02:00
Fabien Potencier
3e7b19e55e minor #14720 [2.7][DI] Definition deprecation notice includes the parameters given (iltar)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7][DI] Definition deprecation notice includes the parameters given

| Q             | A
| ------------- | ---
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #14687
| License       | MIT

This PR won't fix the issue at hand, but should make it a bit easier to debug. Because this is used by the configuration loader, it's hard to trace back where and how it's actually used.

Commits
-------

b322d46 Definition deprecation notice includes the parameters given
2015-05-22 13:51:10 +02:00
Fabien Potencier
ff0cb41ef7 minor #14724 [Intl/DateFormatter] Fix typo unitialized vs. uninitialized (SpacePossum)
This PR was merged into the 2.3 branch.

Discussion
----------

[Intl/DateFormatter] Fix typo unitialized vs. uninitialized

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

unitialized vs. uninitialized

Commits
-------

6ac8d29 Fix typo
2015-05-22 13:50:35 +02:00
Fabien Potencier
3331f0adcd bug #14654 [Console] SymfonyStyle : fix blocks failed when $messages is null (ogizanagi)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] SymfonyStyle : fix blocks failed when $messages is null

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

Using `SymfonyStyle:block` method with `null` as first argument failed, where most of other methods accepting both string and array arguments will simply output an empty string.

At first I wanted to output nothing, or even throw a proper exception. But then I realized how behaves other methods like text or write.

I encountered this issue while executing a console application, in non-interactive mode, that asks questions (without default value) and prints the result immediately using a note block:
```php
$output->note($output->choice('Choice question', array('choice 1', 'choice 2'));
```
![screenshot 2015-05-16 a 11 42 47](https://cloud.githubusercontent.com/assets/2211145/7665616/ba5f343c-fbc0-11e4-811d-6b109aaa8d27.PNG)

Commits
-------

cfd1022 [Console] SymfonyStyle : fix blocks failed when $messages is null.
2015-05-22 13:49:36 +02:00
Possum
6ac8d29d18 Fix typo 2015-05-22 12:24:03 +02:00
Iltar van der Berg
b322d4618c Definition deprecation notice includes the parameters given 2015-05-22 10:32:28 +02:00
Diego Saint Esteben
44469d01d1 Check instance of FormBuilderInterface instead of FormBuilder 2015-05-21 18:12:55 -03:00
Jakub Zalas
d320d27699 [HttpKernel] Do not call the FragmentListener if _controller is already defined 2015-05-21 10:29:06 +01:00
ogizanagi
cfd1022878 [Console] SymfonyStyle : fix blocks failed when $messages is null.
Using the `SymfonyStyle:block` method with `null` as first argument
failed, where most of other methods accepting both string and array arguments will simply output an empty string.
2015-05-21 09:48:52 +02:00