Commit Graph

11640 Commits

Author SHA1 Message Date
Fabien Potencier
234cebd087 Merge branch '2.3' into 2.6
* 2.3:
  renamed some confusing tests
  [2.3] Fix @link annotations
  Fix javascript
  [2.3][Translation] test refresh cache when resources File change.
  [Translator] Cache does not take fallback locales into consideration

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php
	src/Symfony/Bundle/FrameworkBundle/Translation/Translator.php
2015-04-11 09:16:15 +02:00
Fabien Potencier
8b7148fbec minor #14312 renamed some confusing tests (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

renamed some confusing tests

| 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
-------

a8e4c43 renamed some confusing tests
2015-04-11 08:59:48 +02:00
Fabien Potencier
a8e4c43080 renamed some confusing tests 2015-04-11 08:39:49 +02:00
Nicolas Grekas
c1983cad4d [2.3] Fix @link annotations 2015-04-10 20:54:05 +02:00
Nicolas Grekas
07cb92f003 [2.7] For @link annotations 2015-04-10 20:53:33 +02:00
Nicolas Grekas
fb077a2748 [2.6] Fix @link annotations 2015-04-10 20:22:21 +02:00
Fabien Potencier
8115b0b977 minor #14303 [Config][cache factory] check type of callback argument. (aitboudad)
This PR was merged into the 2.7 branch.

Discussion
----------

[Config][cache factory] check type of callback argument.

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

/cc @mpdude

Commits
-------

11f798c [Config][cache factory] check type of callback argument.
2015-04-10 17:34:19 +02:00
Fabien Potencier
6c721658e7 bug #14283 [2.7][Console] Count the $messages array instead of $message (barryvdh)
This PR was squashed before being merged into the 2.7 branch (closes #14283).

Discussion
----------

[2.7][Console] Count the $messages array instead of $message

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

I think you mean $messages instead of $message. With this patch, the number of messages is correctly counted.

Commits
-------

95aa167 [2.7][Console] Count the  array instead of
2015-04-10 17:31:32 +02:00
Barry vd. Heuvel
95aa167d7c [2.7][Console] Count the array instead of 2015-04-10 17:31:30 +02:00
Abdellatif Ait boudad
11f798cf41 [Config][cache factory] check type of callback argument. 2015-04-10 14:54:53 +01:00
Fabien Potencier
5503804cf9 removed 3.0 constraints from 2.7 composer files 2015-04-10 09:23:38 +02:00
Fabien Potencier
30b31611a5 Merge branch '2.6' into 2.7
* 2.6:
  [Translator] Cache does not take fallback locales into consideration
  [VarDumper] Fix call site detection
  [Process] Fix volatile test
  Remove some useless @group annotations
  Removed useless strtolower call
  [Validator] Use strict comparisons in loaders
  CS: Use "self" keyword instead of class name if possible

Conflicts:
	.travis.yml
	src/Symfony/Component/Translation/Translator.php
2015-04-10 09:19:44 +02:00
Fabien Potencier
aeef0cd9a2 bug #14271 [VarDumper] Fix call site detection (nicolas-grekas)
This PR was merged into the 2.6 branch.

Discussion
----------

[VarDumper] Fix call site detection

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

`$trace[$i]['file']` is not always defined and `call_user_func_array` should also be filtered out.

Commits
-------

d8fb6a4 [VarDumper] Fix call site detection
2015-04-10 08:43:32 +02:00
Abdellatif Ait boudad
f9939d80f3 [Translation] avoid freshness check based on content *inside* the cache. 2015-04-09 15:04:27 +01:00
Matthias Pigulla
0d55b2f92d [Translator] Cache does not take fallback locales into consideration 2015-04-09 13:33:02 +01:00
Matthias Pigulla
f666657342 [Translator] Cache does not take fallback locales into consideration 2015-04-09 00:12:47 +01:00
Nicolas Grekas
d8fb6a4722 [VarDumper] Fix call site detection 2015-04-08 20:25:12 +02:00
Bernhard Schussek
94eb384163 bug #14258 [Form] Cleanup deprecation notices (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Cleanup deprecation notices

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

This uses the same technique used for FlattenException in HttpKernel that prevents repeated notices triggered by the constructor.

Commits
-------

3f58862 [Form] Cleanup deprecation notices
2015-04-08 11:34:58 +02:00
Nicolas Grekas
3f58862513 [Form] Cleanup deprecation notices 2015-04-08 11:29:16 +02:00
Fabien Potencier
81bf9108a0 feature #13220 [Console] Made output docopt compatible (WouterJ)
This PR was squashed before being merged into the 2.7 branch (closes #13220).

Discussion
----------

[Console] Made output docopt compatible

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #6329
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/issues/5016

This was harder than I thought. To sum up:

 * The output now follows the [docopt](http://docopt.org/) specification
 * There is a new `addUsage` method to add more usage patterns
 * The handling of spaces in the descriptors is refactored to make it easier to understand and to make it render better (using sprintf's features only made it worse imo)

Todo
---

 * [x] Add test for `addUsage` and friends
 * [x] Add test for multiline descriptions of arguments
 * <s>Convert long descriptions to multiline automatically</s>
 * [ ] Submit a doc PR for `addUsage`

Question
---

The docopt specification suggests we should add these usage patterns:

    %command.name% -h | --help
    %command.name% --version

I didn't do that yet, as I think it'll only makes the output more verbose and it's already pretty obvious.

I've taken some decisions which I don't think everybody agrees with. I'm willing to change it, so feel free to comment :)

/cc @Seldaek

Commits
-------

3910940 [Console] Made output docopt compatible
2015-04-08 07:37:48 +02:00
WouterJ
39109404da [Console] Made output docopt compatible 2015-04-08 07:37:46 +02:00
Nicolas Grekas
dae19422ec [Process] Fix volatile test 2015-04-08 07:35:52 +02:00
Fabien Potencier
0430d2095f Merge branch '2.3' into 2.6
* 2.3:
  Remove some useless @group annotations
  Removed useless strtolower call
  [Validator] Use strict comparisons in loaders
  CS: Use "self" keyword instead of class name if possible
2015-04-08 07:30:27 +02:00
Fabien Potencier
c0ddd3da26 Merge branch '2.6' into 2.7
* 2.6:
  [Form] Fixed DateType/TimeType that were broken since 849fb29984 and 1c4a75a00a
  [Debug] Skip unsilencing test on PHP7
  [Profiler][Logger] fixed cycle odd/even.
2015-04-08 07:28:20 +02:00
Fabien Potencier
f492b12158 bug #14250 [Console] Fixed SymfonyStyle when get terminal width fails (1ed)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Fixed SymfonyStyle when get terminal width fails

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

Commits
-------

a52b658 [Console] Fixed SymfonyStyle when get terminal width fails
2015-04-08 07:27:55 +02:00
Fabien Potencier
b01ed897fd feature #14178 [Config] Delegate creation of ConfigCache instances to a factory. (mpdude)
This PR was squashed before being merged into the 2.7 branch (closes #14178).

Discussion
----------

[Config] Delegate creation of ConfigCache instances to a factory.

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes (refactoring, new flex point)
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | we'll see :-)
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | symfony/symfony-docs#5136

In the Routing/Router and Translation/Translator, delegate creation of ConfigCache instances to a factory. The factory can be setter-injected but will default to a BC implementation.

The ```ConfigCacheFactoryInterface``` is designed in a way that captures the common ```$cache = new ...; if (!$cache->isFresh()) { ... do sth }``` pattern. But more importantly, this design allows factory implementations to take additional measures to avoid race conditions before actually filling the cache.

By using an exchangeable ConfigCache factory it becomes possible to implement different resource (freshness) checking strategies, especially service-based ones.

The goal is to be able to validate Translators and Routers generated by database-based loaders. It might also help with symfony/AsseticBundle#168. This PR only contains the minimum changes needed, so the rest could be implemented in a bundle outside the core (at least for the beginning).

Component/HttpKernel/Kernel::initializeContainer still uses the ConfigCache implementation directly as there is no sensible way of getting/injecting a factory service (chicken-egg).

This is a pick off #7230. It replaces #7781 which was against the master branch. Also see #7781 for additional comments/explanations.

## Todo

* [ ] Allow `symfony/config` `~3.0.0` in `composer.json` for the HttpKernel and Translator component as well as TwigBundle once this PR has been merged into the master branch (fail deps=high tests for the time being).

Commits
-------

6fbe9b1 [Config] Delegate creation of ConfigCache instances to a factory.
2015-04-08 07:21:37 +02:00
Matthias Pigulla
6fbe9b1064 [Config] Delegate creation of ConfigCache instances to a factory. 2015-04-08 07:21:35 +02:00
Bernhard Schussek
060d0f8821 [Form] Fixed DateType/TimeType that were broken since 849fb29984 and 1c4a75a00a 2015-04-07 18:35:44 +02:00
Gábor Egyed
a52b658932 [Console] Fixed SymfonyStyle when get terminal width fails 2015-04-07 15:43:43 +02:00
Nicolas Grekas
0b70d02e3f Remove some useless @group annotations 2015-04-07 15:19:55 +02:00
Fabien Potencier
5a95d03d10 bug #14136 Fixed the line length of the new Symfony Styles (javiereguiluz)
This PR was squashed before being merged into the 2.7 branch (closes #14136).

Discussion
----------

Fixed the line length of the new Symfony Styles

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

**After/Before screenshots**

![example_1](https://cloud.githubusercontent.com/assets/73419/6919599/be6b2cc4-d7b8-11e4-99dc-0848a3cb94cf.png)

![example_2](https://cloud.githubusercontent.com/assets/73419/6919603/c031478c-d7b8-11e4-9887-13dcd8635434.png)

![example_3](https://cloud.githubusercontent.com/assets/73419/6919606/c2498ab6-d7b8-11e4-89ef-1e0e5db9425a.png)

And now my question: is there any way to get the terminal dimensions from SymfonyStyles class without having to copy/paste the code found on \Console\Application?

Commits
-------

e9c7912 Fixed the line length of the new Symfony Styles
2015-04-07 11:31:02 +02:00
Javier Eguiluz
e9c7912f57 Fixed the line length of the new Symfony Styles 2015-04-07 11:31:00 +02:00
Nicolas Grekas
aa82fb065d Fix composer.json dependencies 2015-04-06 19:55:01 +02:00
Abdellatif Ait boudad
874346ffeb bug #14236 [Translation][Profiler] reduce memory usage for collected messages. (aitboudad)
This PR was merged into the 2.7 branch.

Discussion
----------

[Translation][Profiler] reduce memory usage for collected messages.

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

for 1000 translated messages:

![selection_025](https://cloud.githubusercontent.com/assets/1753742/7006976/7df77336-dc7d-11e4-8e35-78d3bc42d324.png)

Commits
-------

21526ea [Translation][Profiler] reduce memory usage for collected messages.
2015-04-06 18:43:11 +01:00
Abdellatif Ait boudad
21526ea583 [Translation][Profiler] reduce memory usage for collected messages. 2015-04-06 16:49:58 +01:00
Nicolas Grekas
1d5f786a6b [Form] Add conflict with symfony/twig-bridge <2.7 2015-04-06 14:29:38 +02:00
Nicolas Grekas
a79b57bd46 [Form] Add missing checks for testable features 2015-04-06 11:39:54 +02:00
Nicolas Grekas
6a87ad3d6e [Debug] Skip unsilencing test on PHP7 2015-04-06 10:42:23 +02:00
Nicolas Grekas
c584b3c697 [Form] Make tested features configurable 2015-04-05 23:37:27 +02:00
Nicolas Grekas
f3dbb5dea2 [Form] Fix BC break introduced in #14050 2015-04-05 20:38:35 +02:00
Nicolas Grekas
607dedde35 minor #14221 Fix symfony/form dependend components (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

Fix symfony/form dependend components

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

Because both the FrameworkBundle and the Doctrine bridge use the new choice list feature of 2.7, they are incompatible with Form below 2.7

Commits
-------

278f5c9 Fix symfony/form dependend components
2015-04-05 19:48:08 +02:00
Nicolas Grekas
4a74aba4e8 [Form] Fix declaration of legacy tests 2015-04-05 19:42:33 +02:00
Nicolas Grekas
278f5c9872 Fix symfony/form dependend components 2015-04-05 19:12:53 +02:00
Nicolas Grekas
89f6e1e115 minor #14123 CS: Use "self" keyword instead of class name if possible (gharlan)
This PR was merged into the 2.3 branch.

Discussion
----------

CS: Use "self" keyword instead of class name if possible

| 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

Fixes provided by new fixer: https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/1116

If this pr is merged I would change the level of the fixer to `symfony`.

Commits
-------

e72128f CS: Use "self" keyword instead of class name if possible
2015-04-05 18:28:06 +02:00
Nicolas Grekas
ea312e744d [HttpKernel] Require symfony/debug < 3.0 2015-04-05 12:03:21 +02:00
Nicolas Grekas
045433c7c4 Merge branch '2.6' into 2.7
* 2.6:
  [VarDumper] Towards PHP7 support

Conflicts:
	src/Symfony/Component/VarDumper/Caster/ExceptionCaster.php
	src/Symfony/Component/VarDumper/Tests/CliDumperTest.php
	src/Symfony/Component/VarDumper/Tests/HtmlDumperTest.php
2015-04-05 09:48:59 +02:00
Fabien Potencier
80546293af bug #14204 [VarDumper] Towards PHP7 support (nicolas-grekas)
This PR was merged into the 2.6 branch.

Discussion
----------

[VarDumper] Towards PHP7 support

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

That's a start

Commits
-------

df484da [VarDumper] Towards PHP7 support
2015-04-04 20:55:32 +02:00
Diego Saint Esteben
f62b050fa4 Removed useless strtolower call 2015-04-04 14:31:25 -03:00
Abdellatif Ait boudad
e965e59920 [Translation][Profiler] fixed Collect empty Messages. 2015-04-04 17:28:09 +01:00
Nicolas Grekas
df484dadfc [VarDumper] Towards PHP7 support 2015-04-04 17:06:57 +02:00
Fabien Potencier
fec2f031d8 minor #14188 [Validator] Use strict comparisons in loaders (dunglas)
This PR was merged into the 2.3 branch.

Discussion
----------

[Validator] Use strict comparisons in loaders

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

Commits
-------

efc1c03 [Validator] Use strict comparisons in loaders
2015-04-04 15:21:13 +02:00
Fabien Potencier
33ff623cb0 Merge branch '2.6' into 2.7
* 2.6:
  Fix currently broken tests
2015-04-04 14:23:51 +02:00
Matthias Pigulla
1122160d9e Fix currently broken tests 2015-04-04 14:23:36 +02:00
Abdellatif Ait boudad
fb514b6f30 feature #13651 [2.7][Form][choice] added choice_translation_domain to avoid trans options. (aitboudad)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7][Form][choice] added choice_translation_domain to avoid trans options.

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

see https://github.com/symfony/symfony/issues/12941#issuecomment-72904531

Commits
-------

5a33c2c [Form][choice] added choice_translation_domain to avoid trans options.
2015-04-04 10:11:30 +01:00
Abdellatif Ait boudad
5a33c2ca2e [Form][choice] added choice_translation_domain to avoid trans options. 2015-04-03 23:13:58 +01:00
Abdellatif Ait boudad
b470a5bfb6 [Translation][Profiler] added the number of times a translation has been used. 2015-04-03 20:54:19 +01:00
Fabien Potencier
be0c98efaf minor #14200 [Form] Updated CHANGELOG and UPGRADE files (webmozart)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Updated CHANGELOG and UPGRADE files

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

This PR includes the changes from #14050 in the CHANGELOG/UPGRADE files.

Commits
-------

6863ba5 [Form] Updated CHANGELOG and UPGRADE files
2015-04-03 19:03:03 +02:00
Fabien Potencier
53fa5e375d feature #13717 Deprecated precision option in favor of scale (WouterJ)
This PR was merged into the 2.7 branch.

Discussion
----------

Deprecated precision option in favor of scale

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #7383
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/5005

Scale is the number of digits to the right of the decimal point in a number, precision isn't. See the referenced ticket for more context.

Commits
-------

2a2f7e2 Deprecated precision option in favor of scale
2015-04-03 19:01:25 +02:00
Nicolas Grekas
5cbd9fe207 [Debug] Updated CHANGELOG 2015-04-03 17:33:45 +02:00
Nicolas Grekas
beb88f7590 [Debug] Use symfony_debug_backtrace() in FatalErrorException when available 2015-04-03 17:33:45 +02:00
Nicolas Grekas
6487b6e07b [Debug] Add debug extension to the test suite 2015-04-03 17:33:45 +02:00
Julien Pauli
eacdc626ae [Debug] Add symfony_debug_backtrace() that works with fatal errors 2015-04-03 17:33:43 +02:00
Bernhard Schussek
6863ba5bef [Form] Updated CHANGELOG and UPGRADE files 2015-04-03 17:25:47 +02:00
Nicolas Grekas
0b39ce2315 Merge branch '2.6' into 2.7
* 2.6: (24 commits)
  [HttpKernel] Embed the original exception as previous to bounced exceptions
  [Enhancement] netbeans - force interactive shell when limited detection
  [FrameworkBundle] fixes displaying of deprecation notices.
  Revert "Added missing changelog entry"
  [Debug] Tweak docblocks
  [Debug] Rework a bit the PHP doc
  Added missing changelog entry
  [StringUtil] Fixed singularification of 'movies'
  [Debug] Renamed "context" key to "scope_vars" to avoid any ambiguity
  Fix some phpdocs for Twig extensions & templating helpers
  [Debug] Made code in ErrorHandler easier to read
  Use specialized config methods instead of the generic ifTrue() method
  Fix the AJAX profiling
  bumped Symfony version to 2.6.7
  updated VERSION for 2.6.6
  updated CHANGELOG for 2.6.6
  Safe escaping of fragments for eval()
  bumped Symfony version to 2.3.28
  updated VERSION for 2.3.27
  update CONTRIBUTORS for 2.3.27
  ...

Conflicts:
	src/Symfony/Component/Debug/ErrorHandler.php
	src/Symfony/Component/HttpKernel/Kernel.php
2015-04-03 17:24:01 +02:00
Nicolas Grekas
7adba99975 Merge branch '2.3' into 2.6
* 2.3:
  [HttpKernel] Embed the original exception as previous to bounced exceptions
  [Enhancement] netbeans - force interactive shell when limited detection
  [StringUtil] Fixed singularification of 'movies'
  Fix some phpdocs for Twig extensions & templating helpers
  Use specialized config methods instead of the generic ifTrue() method
  [DoctrineBridge] Add missing variable declaration in testcase

Conflicts:
	src/Symfony/Component/Console/Application.php
2015-04-03 17:17:51 +02:00
Nicolas Grekas
40ab7ef349 [HttpKernel] Embed the original exception as previous to bounced exceptions 2015-04-03 17:11:39 +02:00
Fabien Potencier
3c2c5c90a0 feature #14192 [HttpKernel] Embed the original exception as previous to bounced exceptions (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpKernel] Embed the original exception as previous to bounced exceptions

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

Commits
-------

bb020f4 [HttpKernel] Embed the original exception as previous to bounced exceptions
2015-04-03 17:03:03 +02:00
Fabien Potencier
d84f03d982 feature #13626 [WebProfilerBundle] Added feedback about the current symfony version (WouterJ)
This PR was merged into the 2.7 branch.

Discussion
----------

[WebProfilerBundle] Added feedback about the current symfony version

Description
---

This PR adds some visual and textual information about the Symfony version that is currently used. It'll indicate when the used version has reached eom or eol. I hope this will make people more aware of the fact that they should update (as I've seen quite some people using completely outdated Symfony versions).

Screenshot
---

![sf-toolbar-version-info](https://cloud.githubusercontent.com/assets/749025/6099512/da59c99e-affa-11e4-8093-173857901769.png)

PR Information
---

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes (didn't test though)
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Commits
-------

a4551f9 Added feedback about the current symfony version
2015-04-03 16:49:46 +02:00
WouterJ
a4551f97f4 Added feedback about the current symfony version 2015-04-03 16:47:47 +02:00
WouterJ
2a2f7e2c82 Deprecated precision option in favor of scale 2015-04-03 16:31:32 +02:00
Fabien Potencier
7dca9a9e5a bug #14102 [Enhancement] netbeans - force interactive shell when limited detection (cordoval)
This PR was squashed before being merged into the 2.3 branch (closes #14102).

Discussion
----------

[Enhancement] netbeans - force interactive shell when limited detection

|Q            |A  |
|---          |---|
|Bug Fix?     |y  |
|New Feature? |n  |
|BC Breaks?   |n  |
|Deprecations?|n  |
|Tests Pass?  |y  |
|Fixed Tickets|  #9946 |
|License      |MIT|
|Doc PR       |   |

Commits
-------

02cda05 [Enhancement] netbeans - force interactive shell when limited detection
2015-04-03 15:07:12 +02:00
Luis Cordova
02cda0595c [Enhancement] netbeans - force interactive shell when limited detection 2015-04-03 15:07:10 +02:00
Fabien Potencier
418d0121bc feature #14196 Tweaked some console command styles (javiereguiluz)
This PR was squashed before being merged into the 2.7 branch (closes #14196).

Discussion
----------

Tweaked some console command styles

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

As discussed, after updating the first console commands to the new style guide, we were going to introduce the needed tweaks. This PR is the first one with those tweaks.

### Tables

Headers now are displayed in the usual green color used frequently by Symfony commands:

![table_header](https://cloud.githubusercontent.com/assets/73419/6980286/a126e8cc-d9ef-11e4-8d1e-9a5be21564eb.png)

### Command tiles and section titles

I see these titles in a beautiful blue color ... but lots of people use color schemes which make them almost unreadable. Now they use the yellow color frequently used by Symfony commands:

![command_section_titles](https://cloud.githubusercontent.com/assets/73419/6980292/b499627c-d9ef-11e4-9940-e134ee0eb02f.png)

### Listings

Elements in a listing no longer add an extra blank line. See #14174 for the rationale.

Commits
-------

dcf1801 Tweaked some console command styles
2015-04-03 14:18:07 +02:00
Javier Eguiluz
dcf1801901 Tweaked some console command styles 2015-04-03 14:18:04 +02:00
Abdellatif Ait boudad
aae98a924b bug #14195 [Translation][Profiler] fixed infiinite loop when collect msg from fallback (aitboudad)
This PR was merged into the 2.7 branch.

Discussion
----------

[Translation][Profiler] fixed infiinite loop when collect msg from fallback

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

Commits
-------

59f2172 [Translation][Profiler] fixed infiinite loop when collect msg from fallback.
2015-04-03 12:34:33 +01:00
Nicolas Grekas
24b780e1ed Revert "Added missing changelog entry"
This reverts commit 9d0c0aeeba.
2015-04-03 09:54:01 +02:00
Abdellatif Ait boudad
59f2172c01 [Translation][Profiler] fixed infiinite loop when collect msg from fallback. 2015-04-03 08:53:14 +01:00
Nicolas Grekas
dc282ec679 [Debug] Tweak docblocks 2015-04-03 09:48:36 +02:00
Grégoire Pineau
126514f2a3 [Debug] Rework a bit the PHP doc 2015-04-03 09:46:34 +02:00
Diego Saint Esteben
9d0c0aeeba Added missing changelog entry 2015-04-03 09:46:34 +02:00
Nicolas Grekas
bb020f4a72 [HttpKernel] Embed the original exception as previous to bounced exceptions 2015-04-03 08:20:10 +02:00
Gerben Wijnja
6f5e95b762 [StringUtil] Fixed singularification of 'movies'
The word 'movies' was singularified to 'movy'. There seem to be only two
words ending in 'ovies', which are 'movies' and 'anchovies'. The singular
of the latter is 'anchovy'. All other words ending in 'vies' singularify to
'vy', so the word 'movies' is an exception to the general rule.
2015-04-03 01:10:26 +02:00
Kévin Dunglas
efc1c03866 [Validator] Use strict comparisons in loaders 2015-04-02 22:42:16 +02:00
Grégoire Pineau
b56a804f93 [Debug] Renamed "context" key to "scope_vars" to avoid any ambiguity 2015-04-02 21:18:30 +02:00
Grégoire Pineau
d2f85ed5f7 [Debug] Updated the default log level when a PHP error occurs
According to https://github.com/Seldaek/monolog#log-levels
the level `NOTICE` means "Normal but significant events".

So when a PHP notice occurs, it's not a "normal" event,
but an error.

That's why all PHP errors should use at lease the `WARNING` error
level.
2015-04-02 16:54:44 +02:00
Grégoire Pineau
15ef182b99 [Debug] Made code in ErrorHandler easier to read 2015-04-02 15:40:50 +02:00
Gregor Harlan
e72128fa86 CS: Use "self" keyword instead of class name if possible 2015-04-01 21:28:50 +02:00
Fabien Potencier
de02c5f962 bumped Symfony version to 2.6.7 2015-04-01 20:51:37 +02:00
Fabien Potencier
48c9e835a8 updated VERSION for 2.6.6 2015-04-01 18:55:26 +02:00
Nicolas Grekas
06f92fc2d5 Safe escaping of fragments for eval() 2015-04-01 18:53:45 +02:00
Fabien Potencier
ec2cb961cc Merge branch '2.3' into 2.6
* 2.3:
  bumped Symfony version to 2.3.28
  updated VERSION for 2.3.27
  update CONTRIBUTORS for 2.3.27
  updated CHANGELOG for 2.3.27
  isFromTrustedProxy to confirm request came from a trusted proxy.
  Safe escaping of fragments for eval()

Conflicts:
	src/Symfony/Component/HttpFoundation/Request.php
	src/Symfony/Component/HttpKernel/HttpCache/Esi.php
	src/Symfony/Component/HttpKernel/Kernel.php
2015-04-01 18:50:12 +02:00
Fabien Potencier
feb48c26b3 bumped Symfony version to 2.3.28 2015-04-01 17:29:10 +02:00
Fabien Potencier
ce4aab1508 updated VERSION for 2.3.27 2015-04-01 16:28:26 +02:00
Fabien Potencier
3594ea4ec1 security #14167 n/a (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

n/a

Commits
-------

195c57e Safe escaping of fragments for eval()
2015-04-01 16:19:30 +02:00
James Gilliland
6c73f0ce93 isFromTrustedProxy to confirm request came from a trusted proxy. 2015-04-01 16:16:10 +02:00
Nicolas Grekas
195c57e1f5 Safe escaping of fragments for eval() 2015-04-01 16:15:02 +02:00
Diego Saint Esteben
17d265a526 Added missing changelog entry 2015-04-01 10:08:53 -03:00
Nicolas Grekas
5188cfecc5 feature #14080 [VarDumper] Add casters for Reflection* classes (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[VarDumper] Add casters for Reflection* classes

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

Will need a rebase on top of #14079 and #14077 to be mergeable/green.

Commits
-------

64d6e76 [VarDumper] Add casters for Reflection* classes
2015-04-01 13:40:31 +02:00
Bernhard Schussek
776796435e feature #14050 [Form] Refactored choice lists to support dynamic label, value, index and attribute generation (webmozart)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Refactored choice lists to support dynamic label, value, index and attribute generation

This is a rebase of #12148 on the 2.7 branch.

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | yes
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #4067, #5494, #3836, #8658, #12148
| License       | MIT
| Doc PR        | TODO

I implemented the additional options "choice_label", "choice_name", "choice_value", "choice_attr", "group_by" and "choices_as_values" for ChoiceType. Additionally the "preferred_choices" option was updated to accept callables and property paths.

The "choices_as_values" option will be removed in Symfony 3.0, where the choices will be passed in the values of the "choices" option by default. The reason for that is that, right now, choices are limited to strings and integers (i.e. valid array keys). When we flip the array, we remove that limitation. Since choice labels are always strings, we can also always use them as array keys:

```php
// Not possible currently, but possible with "flip_choices"
$builder->add('attending', 'choice', array(
    'choices' => array(
        'Yes' => true,
        'No' => false,
        'Maybe' => null,
    ),
    'choices_as_values' => true,
));
```

All the features described here obviously also apply to subtypes of "choice", such as "entity".

**choice_label**

Returns the label for each choice. Can be a callable (which receives the choice as first and the key of the "choices" array as second argument) or a property path.

If `null`, the keys of the "choices" array are used as labels.

```php
// callable
$builder->add('attending', 'choice', array(
    'choices' => array(
        'yes' => true,
        'no' => false,
        'maybe' => null,
    ),
    'choices_as_values' => true,
    'choice_label' => function ($choice, $key) {
        return 'form.choice.'.$key;
    },
));

// property path
$builder->add('attending', 'choice', array(
    'choices' => array(
        Status::getInstance(Status::YES),
        Status::getInstance(Status::NO),
        Status::getInstance(Status::MAYBE),
    ),
    'choices_as_values' => true,
    'choice_label' => 'displayName',
));
```

**choice_name**

Returns the form name for each choice. That name is used as name of the checkbox/radio form for this choice. It is also used as index of the choice views in the template. Can be a callable (like for "choice_label") or a property path.

The generated names must be valid form names, i.e. contain alpha-numeric symbols, underscores, hyphens and colons only. They must start with an alpha-numeric symbol or an underscore.

If `null`, an incrementing integer is used as name.

```php
// callable
$builder->add('attending', 'choice', array(
    'choices' => array(
        'Yes' => true,
        'No' => false,
        'Maybe' => null,
    ),
    'choices_as_values' => true,
    'choice_name' => function ($choice, $key) {
        // use the labels as names
        return strtolower($key);
    },
));

// property path
$builder->add('attending', 'choice', array(
    'choices' => array(
        'Yes' => Status::getInstance(Status::YES),
        'No' => Status::getInstance(Status::NO),
        'Maybe' => Status::getInstance(Status::MAYBE),
    ),
    'choices_as_values' => true,
    'choice_name' => 'value',
));
```

**choice_value**

Returns the string value for each choice. This value is displayed in the "value" attributes and submitted in the POST/PUT requests. Can be a callable (like for "choice_label") or a property path.

If `null`, an incrementing integer is used as value.

```php
// callable
$builder->add('attending', 'choice', array(
    'choices' => array(
        'Yes' => true,
        'No' => false,
        'Maybe' => null,
    ),
    'choices_as_values' => true,
    'choice_value' => function ($choice, $key) {
        if (null === $choice) {
            return 'null';
        }

        if (true === $choice) {
            return 'true';
        }

        return 'false';
    },
));

// property path
$builder->add('attending', 'choice', array(
    'choices' => array(
        'Yes' => Status::getInstance(Status::YES),
        'No' => Status::getInstance(Status::NO),
        'Maybe' => Status::getInstance(Status::MAYBE),
    ),
    'choices_as_values' => true,
    'choice_value' => 'value',
));
```

**choice_attr**

Returns the additional HTML attributes for choices. Can be an array, a callable (like for "choice_label") or a property path.
If an array, the key of the "choices" array must be used as keys.

```php
// array
$builder->add('attending', 'choice', array(
    'choices' => array(
        'Yes' => true,
        'No' => false,
        'Maybe' => null,
    ),
    'choices_as_values' => true,
    'choice_attr' => array(
        'Maybe' => array('class' => 'greyed-out'),
    ),
));

// callable
$builder->add('attending', 'choice', array(
    'choices' => array(
        'Yes' => true,
        'No' => false,
        'Maybe' => null,
    ),
    'choices_as_values' => true,
    'choice_attr' => function ($choice, $key) {
        if (null === $choice) {
            return array('class' => 'greyed-out');
        }
    },
));

// property path
$builder->add('attending', 'choice', array(
    'choices' => array(
        'Yes' => Status::getInstance(Status::YES),
        'No' => Status::getInstance(Status::NO),
        'Maybe' => Status::getInstance(Status::MAYBE),
    ),
    'choices_as_values' => true,
    'choice_value' => 'htmlAttributes',
));
```

**group_by**

Returns the grouping used for the choices. Can be an array/Traversable, a callable (like for "choice_label") or a property path.

The return values of the callable/property path are used as group labels. If `null` is returned, a choice is not grouped.

If `null`, the structure of the "choices" array is used to construct the groups.

```php
// default
$builder->add('attending', 'choice', array(
    'choices' => array(
        'Decided' => array(
            'Yes' => true,
            'No' => false,
        ),
        'Undecided' => array(
            'Maybe' => null,
        ),
    ),
    'choices_as_values' => true,
));

// callable
$builder->add('attending', 'choice', array(
    'choices' => array(
        'Yes' => true,
        'No' => false,
        'Maybe' => null,
    ),
    'choices_as_values' => true,
    'group_by' => function ($choice, $key) {
        if (null === $choice) {
            return 'Undecided';
        }

        return 'Decided';
    },
));

// property path
$builder->add('attending', 'choice', array(
    'choices' => array(
        'Yes' => Status::getInstance(Status::YES),
        'No' => Status::getInstance(Status::NO),
        'Maybe' => Status::getInstance(Status::MAYBE),
    ),
    'choices_as_values' => true,
    'group_by' => 'type',
));
```

**preferred_choices**

Returns the preferred choices. Can be an array/Traversable, a callable (like for "choice_label") or a property path.

```php
// array
$builder->add('attending', 'choice', array(
    'choices' => array(
        'Yes' => true,
        'No' => false,
        'Maybe' => null,
    ),
    'choices_as_values' => true,
    'preferred_choices' => array(true),
));

// callable
$builder->add('attending', 'choice', array(
    'choices' => array(
        'Yes' => true,
        'No' => false,
        'Maybe' => null,
    ),
    'choices_as_values' => true,
    'preferred_choices' => function ($choice, $key) {
        return true === $choice;
    },
));

// property path
$builder->add('attending', 'choice', array(
    'choices' => array(
        'Yes' => Status::getInstance(Status::YES),
        'No' => Status::getInstance(Status::NO),
        'Maybe' => Status::getInstance(Status::MAYBE),
    ),
    'choices_as_values' => true,
    'preferred_choices' => 'preferred',
));
```

**Technical Changes**

To properly implement all this, the old `ChoiceListInterface` class was deprecated and replaced by a new, slimmer one. The creation of choice views is now separated from choice lists. Hence a lot of logic is not executed anymore when processing (but not displaying) a form.

Internally, a `ChoiceListFactoryInterface` implementation is used to construct choice lists and choice views. Two decorators exist for this class:

* `CachingFactoryDecorator`: caches choice lists/views so that multiple fields displaying the same choices (e.g. in collection fields) use the same choice list/view
* `PropertyAccessDecorator`: adds support for property paths to a factory

**BC Breaks**

The option "choice_list" of ChoiceType now contains a `Symfony\Component\Form\ChoiceList\ChoiceListInterface` instance, which is a super-type of the deprecated `ChoiceListInterface`.

**Todos**

- [ ] Adapt CHANGELOGs
- [ ] Adapt UPGRADE files
- [ ] symfony/symfony-docs issue/PR

Commits
-------

94d18e9 [Form] Fixed CS
7e0960d [Form] Fixed failing layout tests
1d89922 [Form] Fixed tests using legacy functionality
d6179c8 [Form] Fixed PR comments
26eba76 [Form] Fixed regression: Choices are compared by their values if a value callback is given
a289deb [Form] Fixed new ArrayChoiceList to compare choices by their values, if enabled
e6739bf [DoctrineBridge] DoctrineType now respects the "query_builder" option when caching the choice loader
3846b37 [DoctrineBridge] Fixed: don't cache choice lists if query builders are constructed dynamically
03efce1 [Form] Refactored choice lists to support dynamic label, value, index and attribute generation
2015-04-01 12:04:55 +02:00
Bernhard Schussek
94d18e961c [Form] Fixed CS 2015-04-01 11:48:14 +02:00