Commit Graph

11640 Commits

Author SHA1 Message Date
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
Bernhard Schussek
7e0960d716 [Form] Fixed failing layout tests 2015-04-01 11:48:14 +02:00
Bernhard Schussek
1d89922782 [Form] Fixed tests using legacy functionality 2015-04-01 11:48:11 +02:00
Bernhard Schussek
d6179c830b [Form] Fixed PR comments 2015-04-01 11:47:34 +02:00
Nicolas Grekas
64d6e76e42 [VarDumper] Add casters for Reflection* classes 2015-03-31 21:51:54 +02:00
Nicolas Grekas
b1e2dedf9e feature #14079 [VarDumper] Add and use Caster::PREFIX_* consts (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[VarDumper] Add and use Caster::PREFIX_* consts

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

Will need a rebase on top of #14058 once it is merged

Commits
-------

86cf8de [VarDumper] Make use of Caster::PREFIX_* consts
2015-03-31 17:03:27 +02:00
Nicolas Grekas
86cf8dee5e [VarDumper] Make use of Caster::PREFIX_* consts 2015-03-31 16:41:17 +02:00
Grégoire Pineau
e8d2983d9e [VarDumper] Optimized some code 2015-03-31 15:54:17 +02:00
Bernhard Schussek
26eba769b5 [Form] Fixed regression: Choices are compared by their values if a value callback is given 2015-03-31 14:43:48 +02:00
Bernhard Schussek
a289deb973 [Form] Fixed new ArrayChoiceList to compare choices by their values, if enabled 2015-03-31 14:43:48 +02:00
Bernhard Schussek
03efce1b56 [Form] Refactored choice lists to support dynamic label, value, index and attribute generation 2015-03-31 14:43:48 +02:00
Nicolas Grekas
75c8a2ba21 minor #14122 [VarDumper] Fix tests typo (ogizanagi)
This PR was merged into the 2.7 branch.

Discussion
----------

[VarDumper] Fix tests typo

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

I guess there is a typo here, Travis reported (php >=5.6, see https://travis-ci.org/symfony/symfony/jobs/56527757 for instance):
> 1) Symfony\Component\VarDumper\Tests\CliDumperTest::testSpecialVars56
Undefined variable: out
/home/travis/build/symfony/symfony/vendor/symfony/phpunit-bridge/Symfony/Bridge/PhpUnit/DeprecationErrorHandler.php:38
/home/travis/build/symfony/symfony/src/Symfony/Component/VarDumper/Tests/CliDumperTest.php:218

Commits
-------

c5f39aa [VarDumper] CliDumper: fix test typo
2015-03-31 10:27:26 +02:00
Nicolas Grekas
a86a41940a Merge branch '2.6' into 2.7
* 2.6:
  [VarDumper] Fix dumping references as properties
  [VarDumper] Fix toggle action to see source excerpt
2015-03-31 10:26:01 +02:00
Fabien Potencier
29e153ebdf bug #14114 [VarDumper] Fix dumping references as properties (nicolas-grekas)
This PR was merged into the 2.6 branch.

Discussion
----------

[VarDumper] Fix dumping references as properties

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

Just discovered this while reviewing an other PR.
Using `array_combine()` preserves references now.

Commits
-------

6c6560e [VarDumper] Fix dumping references as properties
2015-03-31 10:15:34 +02:00
Nicolas Grekas
6c6560e5f5 [VarDumper] Fix dumping references as properties 2015-03-31 10:12:29 +02:00
ogizanagi
c5f39aa32f [VarDumper] CliDumper: fix test typo 2015-03-31 08:02:47 +02:00
Fabien Potencier
6ef12044f7 fixed typo 2015-03-30 17:59:31 +02:00
Fabien Potencier
d5c873cf5a Merge branch '2.6' into 2.7
* 2.6:
  [Validator] Add missing pt_BR translations
  Add parsing of hexadecimal strings for PHP 7
  [Configuration] improve description for ignoreExtraKeys on ArrayNodeDefinition
  [Validator] Added missing Hungarian translation
  [Validator] Fixed grammar in Hungarian translation
  CS: Unary operators should be placed adjacent to their operands
  CS: Binary operators should be arounded by at least one space
  remove useless tests that fail in php 7
  [Translator] fix test for php 7 compatibility
  Update phpdoc of ProcessBuilder#setPrefix()

Conflicts:
	src/Symfony/Bridge/Propel1/Logger/PropelLogger.php
	src/Symfony/Component/Validator/Resources/translations/validators.hu.xlf
2015-03-30 17:55:07 +02:00
Fabien Potencier
2c4b5e5bbe Merge branch '2.3' into 2.6
* 2.3:
  [Validator] Add missing pt_BR translations
  Add parsing of hexadecimal strings for PHP 7
  [Configuration] improve description for ignoreExtraKeys on ArrayNodeDefinition
  [Validator] Added missing Hungarian translation
  [Validator] Fixed grammar in Hungarian translation
  CS: Unary operators should be placed adjacent to their operands
  CS: Binary operators should be arounded by at least one space
  remove useless tests that fail in php 7
  [Translator] fix test for php 7 compatibility
  Update phpdoc of ProcessBuilder#setPrefix()

Conflicts:
	src/Symfony/Component/HttpFoundation/Session/Attribute/NamespacedAttributeBag.php
	src/Symfony/Component/PropertyAccess/PropertyAccessor.php
	src/Symfony/Component/Validator/Resources/translations/validators.pt_BR.xlf
	src/Symfony/Component/Yaml/Parser.php
2015-03-30 17:54:10 +02:00
Fabien Potencier
a8e2c743c2 feature #14057 [RFC][Console] Added console style guide helpers (v2) (kbond)
This PR was squashed before being merged into the 2.7 branch (closes #14057).

Discussion
----------

[RFC][Console] Added console style guide helpers (v2)

*(Rebased to 2.7)*

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #12014, #12035, symfony/symfony-docs#4265
| License       | MIT
| Doc PR        | todo

## Proposed API

### Code

```php
// Symfony command
protected function execute(InputInterface $input, OutputInterface $output)
{
    $output = new SymfonyStyle($output);

    $output->title('Lorem Ipsum Dolor Sit Amet');
    $output->text(array(
        'Duis aute irure dolor in reprehenderit in voluptate velit esse',
        'cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat'
    ));
    $output->ln();

    $output->table(array('Name', 'Method', 'Scheme', 'Host', 'Path'), array(
            array('admin_post_new', 'ANY', 'ANY', 'ANY', '/admin/post/new'),
            array('admin_post_show', 'GET', 'ANY', 'ANY', '/admin/post/{id}'),
            array('admin_post_edit', 'ANY', 'ANY', 'ANY', '/admin/post/{id}/edit'),
            array('admin_post_delete', 'DELETE', 'ANY', 'ANY', '/admin/post/{id}'),
        ));

    $output->caution(array(
            'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.',
            'foo'
        ));
    $output->section('Consectetur Adipisicing Elit Sed Do Eiusmod');
    $output->listing(array(
        'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod, tempor incididunt ut labore et dolore magna aliqua.',
        'Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.',
        'Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'
    ));

    $customValidator = function ($value) {
        if ($value == 'foo') {
            throw new \Exception('cannot be foo');
        }

        return $value;
    };

    // hidden question
    $output->note($output->askHidden('Hidden question'));

    // choice questions
    $output->note($output->choice('Choice question no default', array('choice1', 'choice2')));
    $output->note($output->choice('Choice question with default', array('choice1', 'choice2'), 'choice1'));

    // confirmation questions
    $output->note($output->confirm('Confirmation with yes default', true) ? 'yes' : 'no');
    $output->note($output->confirm('Confirmation with no default', false) ? 'yes' : 'no');

    // standard questions
    $output->note($output->ask('Question no default'));
    $output->note($output->ask('Question no default and custom validator', null, $customValidator));
    $output->note($output->ask('Question with default', 'default'));
    $output->note($output->ask('Question with default and custom validator', 'default', $customValidator));

    $output->note('Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat.');
    $output->success('Lorem ipsum dolor sit amet, consectetur adipisicing elit');
    $output->error('Duis aute irure dolor in reprehenderit in voluptate velit esse.');
    $output->warning('Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.');

    $output->progressStart(100);

    for ($i = 0; $i < 100; $i++) {
        usleep(10000);
        $output->progressAdvance();
    }

    $output->progressFinish();
}
```

### Output

```
$ php app/console command

Lorem Ipsum Dolor Sit Amet
==========================

 // Duis aute irure dolor in reprehenderit in voluptate velit esse
 // cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat

 ------------------- -------- -------- ------ -----------------------
  Name                Method   Scheme   Host   Path
 ------------------- -------- -------- ------ -----------------------
  admin_post_new      ANY      ANY      ANY    /admin/post/new
  admin_post_show     GET      ANY      ANY    /admin/post/{id}
  admin_post_edit     ANY      ANY      ANY    /admin/post/{id}/edit
  admin_post_delete   DELETE   ANY      ANY    /admin/post/{id}
 ------------------- -------- -------- ------ -----------------------

 ! [CAUTION] Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
 ! dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Lorem ipsum dolor sit amet,
 ! consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
 ! veniam, quis nostrud exercitation ullamco laboris.
 !
 ! foo

Consectetur Adipisicing Elit Sed Do Eiusmod
-------------------------------------------

 * Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod, tempor incididunt ut labore et dolore magna aliqua.

 * Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.

 * Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Hidden question:
 > <f><o><o><enter>

 ! [NOTE] foo

 Choice question no default:
  [0] choice1
  [1] choice2
 > <enter>

 [ERROR] Value "" is invalid

 Choice question no default:
  [0] choice1
  [1] choice2
 > 0<enter>

 ! [NOTE] choice1

 Choice question with default [choice1]:
  [0] choice1
  [1] choice2
 > 1<enter>

 ! [NOTE] choice2

 Confirmation with yes default (yes/no) [yes]:
 > <enter>

 ! [NOTE] yes

 Confirmation with no default (yes/no) [no]:
 > <enter>

 ! [NOTE] no

 Question no default:
 > <enter>

 [ERROR] A value is required.

 Question no default:
 > foo<enter>

 ! [NOTE] foo

 Question no default and custom validator:
 > foo<enter>

 [ERROR] cannot be foo

 Question no default and custom validator:
 > <enter>

 [ERROR] A value is required.

 Question no default and custom validator:
 > foo<enter>

 [ERROR] cannot be foo

 Question no default and custom validator:
 > bar<enter>

 ! [NOTE] bar

 Question with default [default]:
 > <enter>

 ! [NOTE] default

 Question with default and custom validator [default]:
 > <enter>

 ! [NOTE] default

 ! [NOTE] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
 ! Excepteur sint occaecat cupidatat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
 ! fugiat nulla pariatur. Excepteur sint occaecat cupidatat. Duis aute irure dolor in reprehenderit in voluptate velit
 ! esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat.

 [OK] Lorem ipsum dolor sit amet, consectetur adipisicing elit

 [ERROR] Duis aute irure dolor in reprehenderit in voluptate velit esse.

 [WARNING] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.

 100/100 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%

```

### Screenshots

![screen1](https://cloud.githubusercontent.com/assets/127811/4507077/53bc009c-4b09-11e4-937c-44fe7fe30dc0.png)

![screen2](https://cloud.githubusercontent.com/assets/127811/4507078/53bf982e-4b09-11e4-8b5a-8c44c20ae4d9.png)

![screen](https://cloud.githubusercontent.com/assets/127811/6848451/b2e64848-d3a3-11e4-9916-43bd377684ca.png)

Commits
-------

96b4210 [RFC][Console] Added console style guide helpers (v2)
2015-03-30 17:51:05 +02:00
Kevin Bond
96b4210de5 [RFC][Console] Added console style guide helpers (v2) 2015-03-30 17:51:02 +02:00
Fabien Potencier
9215c222ff minor #14101 [Configuration] improve description for ignoreExtraKeys on ArrayNodeDefinition (cordoval)
This PR was merged into the 2.3 branch.

Discussion
----------

[Configuration] improve description for ignoreExtraKeys on ArrayNodeDefinition

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

Commits
-------

b735022 [Configuration] improve description for ignoreExtraKeys on ArrayNodeDefinition
2015-03-30 17:47:26 +02:00
Fabien Potencier
ac5c5a5fd2 feature #14077 [VarDumper] Add VarDumperTestCase and related trait (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[VarDumper] Add VarDumperTestCase and related trait

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

This allows writing assertions that use the dump of a variable for comparison.

Commits
-------

57da9ae [VarDumper] Add VarDumperTestCase and related trait
2015-03-30 17:41:11 +02:00
Fabien Potencier
bdb50965f0 feature #14058 [VarDumper] Add filters to casters (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[VarDumper] Add filters to casters

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

Commits
-------

84a80d1 [VarDumper] Add filters to casters
2015-03-30 17:39:35 +02:00
Fabien Potencier
2d9cc133ff minor #14090 CS: Unary operators should be placed adjacent to their operands (keradus)
This PR was merged into the 2.3 branch.

Discussion
----------

CS: Unary operators should be placed adjacent to their operands

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

To keep fabbot.io happy ;)

Commits
-------

2367f4a CS: Unary operators should be placed adjacent to their operands
2015-03-30 17:33:35 +02:00
Fabien Potencier
6e91981549 minor #14089 CS: Binary operators should be arounded by at least one space (keradus)
This PR was merged into the 2.3 branch.

Discussion
----------

CS: Binary operators should be arounded by at least one space

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

To keep fabbot.io happy ;)

Commits
-------

ec2cec6 CS: Binary operators should be arounded by at least one space
2015-03-30 17:29:33 +02:00
Andreia Bohner
d748374c5c [Validator] Add missing pt_BR translations 2015-03-30 17:07:31 +02:00
Abdellatif Ait boudad
c923b2ab88 [Translation][Profiler] Added a Translation profiler. 2015-03-30 11:48:49 +01:00
Christophe Coevoet
e848040e9e Add parsing of hexadecimal strings for PHP 7
PHP 7 does not handle the hexadecimal notation in is_numeric checks
anymore, so the detection needs to be implemented explicitly.
2015-03-30 09:42:01 +02:00
Nicolas Grekas
84a80d18c4 [VarDumper] Add filters to casters 2015-03-29 18:11:21 +02:00
Fabien Potencier
4f25914842 minor #14099 [Validator] Added missing Hungarian translation (1ed)
This PR was merged into the 2.3 branch.

Discussion
----------

[Validator] Added missing Hungarian translation

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

Commits
-------

933a449 [Validator] Added missing Hungarian translation
2015-03-29 11:46:31 +02:00
Fabien Potencier
32dc1cdd5f minor #14087 [Translator] fix test for php 7 compatibility (Tobion)
This PR was merged into the 2.3 branch.

Discussion
----------

[Translator] fix test for php 7 compatibility

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

Commits
-------

02b829f [Translator] fix test for php 7 compatibility
2015-03-29 11:45:38 +02:00
Fabien Potencier
bcbf92900c minor #14098 [Validator] Fixed grammar in Hungarian translation (1ed)
This PR was merged into the 2.3 branch.

Discussion
----------

[Validator] Fixed grammar in Hungarian translation

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

Corrected translation coming from https://github.com/symfony/symfony/pull/11778

Commits
-------

5f133b3 [Validator] Fixed grammar in Hungarian translation
2015-03-29 11:43:58 +02:00
Luis Cordova
b73502241a [Configuration] improve description for ignoreExtraKeys on ArrayNodeDefinition 2015-03-29 02:02:40 -05:00
Gábor Egyed
c89b41908f [Validator] Added missing Hungarian translation 2015-03-28 19:44:20 +01:00
Gábor Egyed
933a449be7 [Validator] Added missing Hungarian translation 2015-03-28 19:25:46 +01:00
Gábor Egyed
5f133b3903 [Validator] Fixed grammar in Hungarian translation 2015-03-28 18:46:14 +01:00
Dariusz Ruminski
2367f4a5a2 CS: Unary operators should be placed adjacent to their operands 2015-03-27 23:12:40 +01:00
Dariusz Ruminski
ec2cec6fd8 CS: Binary operators should be arounded by at least one space 2015-03-27 23:05:05 +01:00
Tobias Schultze
59cab272e1 remove useless tests that fail in php 7 2015-03-27 22:21:56 +01:00
Tobias Schultze
02b829f973 [Translator] fix test for php 7 compatibility 2015-03-27 19:29:16 +01:00
Nicolas Grekas
57da9aeadf [VarDumper] Add VarDumperTestCase and related trait 2015-03-27 19:27:11 +01:00
Nicolas Grekas
d23b38ae7f Fix merge 2015-03-27 19:18:01 +01:00
Nicolas Grekas
a41abf3d8f Merge branch '2.6' into 2.7
* 2.6:
  Fix merge
  [VarDumper] Fix dumping ThrowingCasterException

Conflicts:
	src/Symfony/Component/VarDumper/Tests/CliDumperTest.php
2015-03-27 19:07:56 +01:00
Nicolas Grekas
e5611d25dd Fix merge 2015-03-27 19:02:17 +01:00
Fabien Potencier
0b1f17206c minor #13829 [Process] prefix should not be escaped (pyrech)
This PR was merged into the 2.3 branch.

Discussion
----------

[Process] prefix should not be escaped

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

The phpdoc of `ProcessBuilder#setPrefix` says:

```
Adds an unescaped prefix to the command string.
```
But in the current implementation, the prefix is merged with arguments array and then is escaped which seems wrong.

Commits
-------

67f65c9 Update phpdoc of ProcessBuilder#setPrefix()
2015-03-27 16:19:08 +01:00
Loïck Piera
67f65c9fe4 Update phpdoc of ProcessBuilder#setPrefix() 2015-03-27 16:14:25 +01:00
Fabien Potencier
aea7b93a94 bug #14074 [VarDumper] Fix dumping ThrowingCasterException (nicolas-grekas)
This PR was merged into the 2.6 branch.

Discussion
----------

[VarDumper] Fix dumping ThrowingCasterException

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

This cleans up dumping ThrowingCasterException to what I really intended to dump since the beginning.

Commits
-------

9944589 [VarDumper] Fix dumping ThrowingCasterException
2015-03-27 13:12:20 +01:00
Fabien Potencier
eccfbe35a4 Merge branch '2.6' into 2.7
* 2.6:
  CS: fixes
  Translator component has default domain for null implemented no need to have default translation domain logic in 3 different places
  [Form] [TwigBridge] Bootstrap layout whitespace control
  [travis] Kill tests when a new commit has been pushed
  fixed CS
  Change behavior to mirror hash_equals() returning early if there is a length mismatch
  CS fixing
  Prevent modifying secrets as much as possible
  Update StringUtils.php
  Whitespace
  Update StringUtils.php
  StringUtils::equals() arguments in RememberMe Cookie based implementation are confused
  CS: general fixes
  [SecurityBundle] removed a duplicated service definition and simplified others.

Conflicts:
	src/Symfony/Bundle/SecurityBundle/Resources/config/security_listeners.xml
2015-03-27 11:22:45 +01:00
Fabien Potencier
33abe5c6d6 Merge branch '2.3' into 2.6
* 2.3:
  CS: fixes
  Translator component has default domain for null implemented no need to have default translation domain logic in 3 different places
  [travis] Kill tests when a new commit has been pushed
  fixed CS
  Change behavior to mirror hash_equals() returning early if there is a length mismatch
  CS fixing
  Prevent modifying secrets as much as possible
  Update StringUtils.php
  Whitespace
  Update StringUtils.php
  CS: general fixes
  [SecurityBundle] removed a duplicated service definition and simplified others.

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/choice_widget_collapsed.html.php
	src/Symfony/Bundle/SecurityBundle/Resources/config/security_rememberme.xml
	src/Symfony/Component/Console/Tests/Helper/LegacyTableHelperTest.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services11.php
2015-03-27 11:19:51 +01:00
Dariusz Ruminski
11e3a9e4e5 CS: fixes 2015-03-27 10:02:23 +01:00
Fabien Potencier
b910e0621a feature #14002 [Translation][Extractor] Allow extracting an array of files besides extracting a directory (marcosdsanchez)
This PR was squashed before being merged into the 2.7 branch (closes #14002).

Discussion
----------

[Translation][Extractor] Allow extracting an array of files besides extracting a directory

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

Give ability to extractors to extract from an array of files a file, or a Traversable besides a directory.

The following commit adds the new feature to the following extractors:
PhpExtractor and TwigExtractor.
It also corrects the interface documentation to show the new options allowed as a parameter.

I found this change useful as I've got a custom translation:update command that instead of extracting from $rootPath. '/Resources/views/' it extracts from the files that git is showing as modified. The command usually runs much faster than the default as it only parses the needed files.

Commits
-------

9d6596c [Translation][Extractor] Allow extracting an array of files besides extracting a directory
2015-03-27 07:53:17 +01:00
Marcos Sánchez
9d6596c69b [Translation][Extractor] Allow extracting an array of files besides extracting a directory 2015-03-27 07:53:09 +01:00
Nicolas Grekas
9944589068 [VarDumper] Fix dumping ThrowingCasterException 2015-03-26 18:20:25 +01:00
Fabien Potencier
350f30b0e1 feature #13438 [Console][Table] Add support for colspan/rowspan + multiple header lines (aitboudad)
This PR was squashed before being merged into the 2.7 branch (closes #13438).

Discussion
----------

[Console][Table] Add support for colspan/rowspan + multiple header lines

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

This PR introduce a new feature described in #13368 and #13369,
I created a new class ```TableCell``` which can allow us to specify colspan/rowspan for each cell.
```php
$table->addRow([new TableCell("data", array('rowspan' => 1, 'colspan' => 2)), 'data']);
```

- [x] #13368 Add support for colspan/rowspan
- [x] #13369 Add support for multiple header lines
- [ ] add doc

Commits
-------

ed18767 [Console][Table] Add support for colspan/rowspan + multiple header lines
2015-03-26 17:59:59 +01:00
Abdellatif Ait boudad
ed18767fbe [Console][Table] Add support for colspan/rowspan + multiple header lines 2015-03-26 17:59:57 +01:00
Tobias Schultze
ccd32d5995 Translator component has default domain for null implemented
no need to have default translation domain logic in 3 different places
2015-03-26 14:42:51 +01:00
Fabien Potencier
8f1b757559 feature #14071 [VarDumper] Ctrl+click toggles-all and fix IE8 support (larsborn, nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

 	[VarDumper] Ctrl+click toggles-all and fix IE8 support

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

I choose Ctrl+click instead of the initial Alt+click because after testing both on Windows and Ubuntu, Alt+click is bound by the Browser/OS for other things. Ctrl+click is OK.

Commits
-------

70f1f24 [VarDumper] Ctrl+click toggles-all and fix IE8 support
12c1feb [VarDumper] implement expand all on ALT+click
2015-03-26 13:55:48 +01:00
Nicolas Grekas
70f1f24fd0 [VarDumper] Ctrl+click toggles-all and fix IE8 support 2015-03-26 13:50:53 +01:00
Fabien Potencier
1ba939f2e6 minor #13482 Implemented check on interface implementation (jaytaph)
This PR was squashed before being merged into the 2.7 branch (closes #13482).

Discussion
----------

Implemented check on interface implementation

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

Commits
-------

2a79ace Implemented check on interface implementation
2015-03-26 13:47:28 +01:00
Joshua Thijssen
2a79ace826 Implemented check on interface implementation 2015-03-26 13:47:14 +01:00
Fabien Potencier
2981d01baa bug #12948 [Form] [TwigBridge] Bootstrap layout whitespace control (mvar)
This PR was squashed before being merged into the 2.6 branch (closes #12948).

Discussion
----------

[Form] [TwigBridge] Bootstrap layout whitespace control

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

While working with Symfony's Bootstrap layout I have found few minor issues:

- [x] Choice labels are rendered with extra spaces
- [x] Whitespace control for all form widgets (like in default layout)

What was done:
- All failing tests from `AbstractLayoutTest` were copied to `AbstractBootstrap3LayoutTest` and adapted for Bootstrap layout. One of the main fixes was to change class checking for input (e.g., Bootstrap requires "form-control").
- Removed  `&nbsp;` and hardcoded space before error message. Spacing here should be handled with CSS.
- Trimmed all unnecessary spaces from widget blocks (whitespace control)

Commits
-------

e8b0678 [Form] [TwigBridge] Bootstrap layout whitespace control
2015-03-26 12:16:49 +01:00
Mantas Varatiejus
e8b06787b0 [Form] [TwigBridge] Bootstrap layout whitespace control 2015-03-26 12:16:40 +01:00
Grégoire Pineau
bebca0b1b1 |Validator] Add PHPUnit hint in AbstractConstraintValidatorTest
When one extends AbstractConstraintValidatorTest, If test fails
the output is not very easy to understand because all "magic"
is done in the parent class. So we have to read the code of the
parent class to understand what happened.
2015-03-26 10:49:35 +01:00
larsborn
12c1febd11 [VarDumper] implement expand all on ALT+click 2015-03-26 08:47:01 +01:00
Fabien Potencier
37c137acdd feature #13981 [Translation] merge all fallback catalogues messages into current catalo... (aitboudad)
This PR was merged into the 2.7 branch.

Discussion
----------

[Translation] merge all fallback catalogues messages into current catalo...

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

The amount of reduced memory depend on number of defined fallbacks and the size of messages.
For example if we defined 2 fallbacks and we have a large file like ~20 mb we save (~40 mb)
![selection_004](https://cloud.githubusercontent.com/assets/1753742/6737082/3af85be2-ce61-11e4-8104-4330944070cc.png)

Commits
-------

6eb5e73 [Translation] merge all fallback catalogues messages into current catalogue.
2015-03-25 11:10:46 +01:00
Fabien Potencier
0583cf8f33 minor #14045 CS: general fixes (keradus)
This PR was merged into the 2.3 branch.

Discussion
----------

CS: general fixes

| 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

After this PR the whole 2.3 version will be valid when running PHP CS Fixer.
It is also first step to apply PHP CS Fixer on next version.

To keep fabbot.io happy ;)

Commits
-------

063ae13 CS: general fixes
2015-03-25 10:33:20 +01:00
Fabien Potencier
2c67400e52 fixed CS 2015-03-25 10:29:39 +01:00
Anthony Ferrara
45cfb44df8 Change behavior to mirror hash_equals() returning early if there is a length mismatch 2015-03-25 10:28:01 +01:00
Anthony Ferrara
8269589c91 CS fixing 2015-03-25 10:28:01 +01:00
Anthony Ferrara
bdea4bad7f Prevent modifying secrets as much as possible 2015-03-25 10:28:01 +01:00
Scott Arciszewski
76b36d385f Update StringUtils.php 2015-03-25 10:28:01 +01:00
Scott Arciszewski
7221efc095 Whitespace 2015-03-25 10:28:01 +01:00
Scott Arciszewski
56ed71c7d2 Update StringUtils.php 2015-03-25 10:28:00 +01:00
Ivan Kurnosov
ea8da6e091 StringUtils::equals() arguments in RememberMe Cookie based implementation are confused
It must be the other way around
2015-03-25 09:38:46 +01:00
Dariusz Ruminski
063ae13fde CS: general fixes 2015-03-25 00:47:08 +01:00
Fabien Potencier
26ff514323 Merge branch '2.6' into 2.7
* 2.6:
  CS: fix some license headers
  CS: Ensure there is no code on the same line as the PHP open tag and it is followed by a blankline
  use visited lookup with reference to gain performance
  Replace GET parameters when changed
  [FrameworkBundle][debug:config] added support for dynamic configurations.
  [WebProfiler] Fix partial search on url in list

Conflicts:
	src/Symfony/Bridge/Propel1/Form/EventListener/TranslationCollectionFormListener.php
	src/Symfony/Bridge/Propel1/Form/EventListener/TranslationFormListener.php
2015-03-24 18:00:58 +01:00
Fabien Potencier
2559628654 Merge branch '2.3' into 2.6
* 2.3:
  CS: fix some license headers
  CS: Ensure there is no code on the same line as the PHP open tag and it is followed by a blankline
  use visited lookup with reference to gain performance
  Replace GET parameters when changed

Conflicts:
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
2015-03-24 18:00:37 +01:00
Fabien Potencier
36948bb382 minor #14038 CS: fix some license headers (keradus)
This PR was merged into the 2.3 branch.

Discussion
----------

CS: fix some license headers

| 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

Commits
-------

2b74841 CS: fix some license headers
2015-03-24 17:57:18 +01:00
Dariusz Ruminski
2b74841b5b CS: fix some license headers 2015-03-24 17:44:35 +01:00
Dariusz Ruminski
6a16d917fe CS: Ensure there is no code on the same line as the PHP open tag and it is followed by a blankline 2015-03-24 17:36:00 +01:00
Abdellatif Ait boudad
6eb5e7395c [Translation] merge all fallback catalogues messages into current catalogue. 2015-03-24 14:52:57 +00:00
Fabien Potencier
cb7089995d feature #14006 [VarDumper] with-er interface for Cloner\Data (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[VarDumper] with-er interface for Cloner\Data

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

I should have this idea earlier... :)

Commits
-------

2462c5b [VarDumper] with-er interface for Cloner\Data
2015-03-24 12:11:21 +01:00
Fabien Potencier
a464f37734 feature #14034 [VarDumper] add caster for MongoCursor objects (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[VarDumper] add caster for MongoCursor objects

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

This one is inspired from [PsySH's equivalent](https://github.com/bobthecow/psysh/blob/master/src/Psy/Presenter/MongoCursorPresenter.php).
Looking at the interface of the Mongo extension, the other classes may need a caster too.
So if a real Mongo user can write casters for them, that'd be great! (in an other PR, on top of this one)

Commits
-------

1008e6c [VarDumper] add caster for MongoCursor objects
2015-03-24 12:09:28 +01:00
Fabien Potencier
d3b8b8415d minor #13811 [Form] Improve triggering of the setDefaultOptions deprecation error (WouterJ)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Improve triggering of the setDefaultOptions deprecation error

Bundles wanting to support both Sf 2.3 and Sf 2.7 (which is a common requirement as both have at least 2 more years of maintaince) would have custom form types with both option methods defined (`setDefaultOptions` for <2.7 support and `configureOptions` for >2.7,>3.0 support). In such case, I don't think there is anything wrong with the code and a deprecation error shouldn't be triggered.

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

Commits
-------

811b711 Improve triggering of the deprecation error
2015-03-24 12:08:08 +01:00
Wouter J
811b711beb Improve triggering of the deprecation error 2015-03-24 11:57:44 +01:00
Nicolas Grekas
1008e6cdad [VarDumper] add caster for MongoCursor objects 2015-03-24 09:44:59 +01:00
Fabien Potencier
4a38eb4dad feature #14030 [DependencyInjection] make it possible to dump inlined services to XML (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[DependencyInjection] make it possible to dump inlined services to XML

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

Commits
-------

504e338 make it possible to dump inlined services to XML
2015-03-24 09:12:32 +01:00
Christian Flothmann
504e338c0b make it possible to dump inlined services to XML 2015-03-23 20:17:28 +01:00
Grégoire Pineau
b3ed23eadc [VarDumper] Fixed notice when Exchange is mocked 2015-03-23 12:14:27 +01:00
Fabien Potencier
86e9b9409c bug #14010 Replace GET parameters when changed in form (WouterJ)
This PR was merged into the 2.3 branch.

Discussion
----------

Replace GET parameters when changed in form

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

Commits
-------

fa9fb5c Replace GET parameters when changed
2015-03-23 10:09:00 +01:00
Fabien Potencier
1a4d7d7e48 removed deprecated notices that make the tests fail 2015-03-23 10:03:11 +01:00
Fabien Potencier
f5a020e275 feature #14016 Remove the API version in the validator component (saro0h, fabpot, stof)
This PR was merged into the 2.7 branch.

Discussion
----------

  Remove the API version in the validator component

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

This completes the work of #13517

Commits
-------

9438206 Complete the removal of API versions in the validator component
75088c0 [Validator] deprecated API version
0c69f69 Removed 2.5 bc layer
2015-03-23 09:58:54 +01:00
Norman Soetbeer
2cc5011e2f use visited lookup with reference to gain performance 2015-03-23 09:55:31 +01:00
Nicolas Grekas
2462c5b075 [VarDumper] with-er interface for Cloner\Data 2015-03-23 09:45:39 +01:00
Fabien Potencier
83c6d22ace feature #13960 [VarDumper] Add Caster for XML-parser resources (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[VarDumper] Add Caster for XML-parser resources

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

Commits
-------

00701cb [VarDumper] Add Caster for XML-parser resources
2015-03-23 09:44:46 +01:00
Fabien Potencier
7eef5f27a0 minor #14007 [VarDumper] collapse/inline cut structures (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[VarDumper] collapse/inline cut structures

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

This tweaks the dump output to make it a bit prettier (best viewed with `?w=1`)

Commits
-------

8443268 [VarDumper] collapse/inline cut structures
2015-03-23 09:43:43 +01:00
WouterJ
fa9fb5c1ce Replace GET parameters when changed 2015-03-23 09:29:47 +01:00
Fabien Potencier
95b6c56496 Merge branch '2.6' into 2.7
* 2.6:
  [Process] Fix outdated Process->start() docblock
  prevent inlining service configurators
  [DomCrawler] Improve namespace discovery performance

Conflicts:
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_compiled.php
2015-03-23 09:18:05 +01:00
Fabien Potencier
89cbafdcd1 feature #13892 [DependencyInjection] Improved yaml syntax (hason)
This PR was merged into the 2.7 branch.

Discussion
----------

[DependencyInjection] Improved yaml syntax

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

This PR adds support for this:
```yaml
services:
    manager:
        class: UserManager
        arguments:
          - true
        calls:
          - method: setLogger
            arguments:
              - @logger
          - method: setClass
            arguments:
              - User
        tags:
          - name: manager
            alias: user
```

Commits
-------

0eb34f3 [DependencyInjection] Added support for keys "method" and "arguments" in "calls" statement for yaml format
2015-03-23 09:12:33 +01:00
Fabien Potencier
99330cbebc bug #14013 [DependencyInjection] prevent inlining service configurators (xabbuh)
This PR was merged into the 2.6 branch.

Discussion
----------

[DependencyInjection] prevent inlining service configurators

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

Currently, only the `PhpDumper` is able to dump inlined service
configurators. Since Symfony applications dump the compiled container
in XML, inlined configurators will break this process.

We did something similar before with service factories in #13914.

Commits
-------

34619fe prevent inlining service configurators
2015-03-23 09:10:51 +01:00