Commit Graph

11664 Commits

Author SHA1 Message Date
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
John Kary
02a141317d [Process] Fix outdated Process->start() docblock 2015-03-23 08:56:12 +01:00
Fabien Potencier
bd7788a106 bug #14012 [DomCrawler] Improve namespace discovery performance (jakzal)
This PR was merged into the 2.6 branch.

Discussion
----------

[DomCrawler] Improve namespace discovery performance

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

Before this quick-fix, xpath axes like `child::*` or `descendant-or-self::*` were considered namespaces. As a result, far too many xpath queries were being executed during namespace discovery.

Here's a full blackfire before/after comparision of @salaman's script:  https://blackfire.io/profiles/compare/a80b9e77-8e55-45d3-a348-7d34a51053b6/graph

![domcrawler-xpath-query](https://cloud.githubusercontent.com/assets/190447/6767384/ba93c57a-d024-11e4-84e1-e58dd7527f03.png)

Commits
-------

b6af002 [DomCrawler] Improve namespace discovery performance
2015-03-23 07:58:55 +01:00
Christian Flothmann
34619fedff prevent inlining service configurators
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.
2015-03-22 22:40:28 +01:00
Fabien Potencier
6b02541880 Merge branch '2.6' into 2.7
* 2.6:
  Fix small coding style
  [2.3] Static Code Analysis for Components
  [Form] fixed phpdoc
  CS: Convert double quotes to single quotes
  Fixed MongoODM entity loader. Improved loading behavior of entities and documents by reusing entity loader.
  [Validator] added Japanese translation for unmatched charset (id: 80)
  [WebProfilerBundle] fixed undefined buttons.
  [WebProfilerBundle] Fix javascript toolbar on IE8
  [DependencyInjection] Highest precedence for user parameters
  bumped Symfony version to 2.6.6
  [Translation][MoFileLoader] fixed load empty translation.
  updated VERSION for 2.6.5
  updated CHANGELOG for 2.6.5
  bumped Symfony version to 2.3.27
  updated VERSION for 2.3.26
  update CONTRIBUTORS for 2.3.26
  updated CHANGELOG for 2.3.26
  [HttpKernel] UriSigner::buildUrl - default params for http_build_query

Conflicts:
	src/Symfony/Bridge/Propel1/Tests/DataCollector/PropelDataCollectorTest.php
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Security/Http/Firewall/AbstractPreAuthenticatedListener.php
	src/Symfony/Component/Validator/Resources/translations/validators.ja.xlf
2015-03-22 17:57:18 +01:00
Fabien Potencier
618b7dcfb8 Merge branch '2.3' into 2.6
* 2.3:
  Fix small coding style
  [2.3] Static Code Analysis for Components
  [Form] fixed phpdoc
  CS: Convert double quotes to single quotes
  Fixed MongoODM entity loader. Improved loading behavior of entities and documents by reusing entity loader.
  [Validator] added Japanese translation for unmatched charset (id: 80)
  [DependencyInjection] Highest precedence for user parameters
  [Translation][MoFileLoader] fixed load empty translation.
  bumped Symfony version to 2.3.27
  updated VERSION for 2.3.26
  update CONTRIBUTORS for 2.3.26
  updated CHANGELOG for 2.3.26

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/AssetsInstallCommand.php
	src/Symfony/Bundle/FrameworkBundle/Command/ContainerDebugCommand.php
	src/Symfony/Bundle/TwigBundle/Command/LintCommand.php
	src/Symfony/Component/Config/Definition/ReferenceDumper.php
	src/Symfony/Component/Debug/ExceptionHandler.php
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/DependencyInjection/Tests/Compiler/MergeExtensionConfigurationPassTest.php
	src/Symfony/Component/DependencyInjection/Tests/DefinitionTest.php
	src/Symfony/Component/Filesystem/Filesystem.php
	src/Symfony/Component/HttpKernel/DataCollector/DataCollector.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
	src/Symfony/Component/Translation/PluralizationRules.php
	src/Symfony/Component/Validator/Constraints/IssnValidator.php
	src/Symfony/Component/Validator/Resources/translations/validators.ja.xlf
	src/Symfony/Component/Yaml/Tests/InlineTest.php
2015-03-22 17:55:57 +01:00
Fabien Potencier
052735d948 minor #14005 CS: Convert double quotes to single quotes (keradus)
This PR was merged into the 2.3 branch.

Discussion
----------

CS: Convert double quotes to single quotes

| 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

Changes generated automatically by upcoming PHP CS Fixer.
To keep fabbot.io happy ;)

Commits
-------

f99c22c CS: Convert double quotes to single quotes
2015-03-22 17:41:17 +01:00
Christophe Coevoet
9438206c25 Complete the removal of API versions in the validator component
Thanks to the PHP version requirement bump to 5.3.9+, the BC layer can
be available all the time.
2015-03-22 16:48:52 +01:00
Fabien Potencier
75088c0adc [Validator] deprecated API version 2015-03-22 16:22:03 +01:00
sarah khalil
0c69f6927f Removed 2.5 bc layer 2015-03-22 16:19:12 +01:00
Jakub Zalas
b6af00292d [DomCrawler] Improve namespace discovery performance
Up until now xpath axes (child::*, descendant-or-self::** etc) were considered namespaces.
As a result, far too many xpath queries were being executed while namespace discovery.
2015-03-21 23:00:29 +00:00
Nuno Rafael Rocha
7d0bd63df5 Fix small coding style
Remove extra space from `PluralizationRulesTest` class declaration.
2015-03-21 18:53:24 +01:00
Neophy7e
9dcae6bf62 [SECURITY][ACL] fixed Base ACL exceptions on the RuntimeException 2015-03-21 18:52:06 +01:00
Fabien Potencier
a3dc823983 feature #14001 [2.7] [Security] [ACL] Improved MaskBuilder and PermissionMap (AlexDpy)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7] [Security] [ACL] Improved MaskBuilder and PermissionMap

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |  #13566
| License       | MIT
| Doc PR        | I'll do it if needed

This PR refers to #13697 . The previous PR introduced a BC break, so i provide this one which is backward compatible.

The MaskBuilderRetrievalInterface::getMaskBuilder methods allows us to retrieve a new instance of the MaskBuilder used in our application, even if it's a custom one.
I also added a MaskBuilderInterface and an AbstractMaskBuilder which can be a great helper.

Commits
-------

3d79d8b added MaskBuilderRetrievalInterface
89a1f2a improved MaskBuilder
2015-03-21 18:50:37 +01:00
Fabien Potencier
32964969d7 minor #13995 [2.3] Static Code Analysis for Components (kalessil)
This PR was squashed before being merged into the 2.3 branch (closes #13995).

Discussion
----------

[2.3] Static Code Analysis for Components

| 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

Static Code Analysis with Php Inspections (EA Extended), no functional changes:
- [Filesystem] : nested ifs, not optimal ifs
- in_array() miss-uses
- class re-implements an interface of super(s)
- array_keys/array_values as foreach array - fixed cases where changes has sense

Commits
-------

4abfabf [2.3] Static Code Analysis for Components
2015-03-21 18:48:07 +01:00
Vladimir Reznichenko
4abfabf8da [2.3] Static Code Analysis for Components 2015-03-21 18:48:06 +01:00
Issei.M
9c557312f2 [Form] fixed phpdoc 2015-03-21 18:46:18 +01:00
Nicolas Grekas
8443268655 [VarDumper] collapse/inline cut structures 2015-03-21 15:33:29 +01:00
Dariusz Ruminski
f99c22c08a CS: Convert double quotes to single quotes 2015-03-21 12:11:30 +01:00
Nicolas Grekas
ce8d3716a2 feature #13959 [VarDumper] Add catch-all-objects hook for casters (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[VarDumper] Add catch-all-objects hook for casters

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

Allows to create generic casters for any type of objects

Commits
-------

5999964 [VarDumper] Add catch-all-objects hook for casters
2015-03-21 11:55:00 +01:00
Alexandre Dupuy
3d79d8b438 added MaskBuilderRetrievalInterface 2015-03-20 23:35:10 +01:00
Alexandre Dupuy
89a1f2a94e improved MaskBuilder 2015-03-20 23:18:31 +01:00
Issei.M
0ada9e4c16 [Validator] added Japanese translation for unmatched charset (id: 80) 2015-03-20 16:04:18 +01:00
Nicolas Grekas
00701cba8d [VarDumper] Add Caster for XML-parser resources 2015-03-20 14:43:24 +01:00
Fabien Potencier
bd0eaef28d bug #13953 [Translation][MoFileLoader] fixed load empty translation. (aitboudad)
This PR was merged into the 2.3 branch.

Discussion
----------

[Translation][MoFileLoader] fixed load empty translation.

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

see https://www.gnu.org/software/gettext/manual/html_node/MO-Files.html

![selection_003](https://cloud.githubusercontent.com/assets/1753742/6690874/fcf04ef6-ccba-11e4-83a4-4f50188709c5.png)

Commits
-------

22f5a73 [Translation][MoFileLoader] fixed load empty translation.
2015-03-19 19:49:28 +01:00
Grégoire Pineau
5fa063e63d [VarDumper] Added support for amqp 2015-03-19 18:42:42 +01:00
Martin Hasoň
0eb34f326b [DependencyInjection] Added support for keys "method" and "arguments" in "calls" statement for yaml format 2015-03-18 12:09:21 +01:00
Grégoire Pineau
ce2764d416 [DependencyInjection] Highest precedence for user parameters
If `router.request_context.host` is defined in `parameters.yml` and if this
key is used in `globals` section of twig bundle then the value registered in the
DIC/parameters is the default value (`localhost`).

It occurs because generall the framework bundle is defined before the twig
bundle. So after the first loop, the (user) value registered in the
`ContainerBuilder` is overridden by the default value of the framework bundle.
And so, when it comes the time to process twig bundle, the last one gets the
default value, and not the user value.

This patch force the merge of default value, but give an highest precedence of
user parameters for each extensions.
2015-03-18 10:30:04 +01:00
Nicolas Grekas
5999964151 [VarDumper] Add catch-all-objects hook for casters 2015-03-18 09:41:21 +01:00
Fabien Potencier
d64cb493af bumped Symfony version to 2.6.6 2015-03-17 16:51:12 +01:00
Abdellatif Ait boudad
22f5a735fd [Translation][MoFileLoader] fixed load empty translation. 2015-03-17 15:35:29 +00:00
Fabien Potencier
80833da9d0 updated VERSION for 2.6.5 2015-03-17 15:58:46 +01:00
Fabien Potencier
4b7e5fabf9 bumped Symfony version to 2.3.27 2015-03-17 15:49:54 +01:00
Fabien Potencier
dd70065d94 updated VERSION for 2.3.26 2015-03-17 15:18:00 +01:00
Fabien Potencier
7055091edc bug #13944 [HttpKernel] UriSigner::buildUrl - default params for http_build_query (Jakub Simon)
This PR was squashed before being merged into the 2.6 branch (closes #13944).

Discussion
----------

[HttpKernel] UriSigner::buildUrl - default params for http_build_query

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

UriSigner fail to verify hash when custom ini setting arg_separator.output is used.
It was introduced in https://github.com/symfony/symfony/pull/12574

Commits
-------

3d6933f [HttpKernel] UriSigner::buildUrl - default params for http_build_query
2015-03-17 13:54:34 +01:00
Jakub Simon
3d6933f00c [HttpKernel] UriSigner::buildUrl - default params for http_build_query 2015-03-17 13:54:32 +01:00
Fabien Potencier
59ca5b3af9 Merge branch '2.6' into 2.7
* 2.6:
  Marked the ResolveParameterPlaceHoldersPassTest as legacy
  [ExpressionLanguage] fixed issues when parsing postfix expressions
  remove unused code
  do not inline service factories
  resolve class parameters in service factories
  [Serializer] Fix object normalization exceptions

Conflicts:
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_compiled.php
	src/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.php
	src/Symfony/Component/Serializer/Normalizer/PropertyNormalizer.php
	src/Symfony/Component/Serializer/Tests/Normalizer/PropertyNormalizerTest.php
2015-03-17 13:50:07 +01:00
Fabien Potencier
8962d5d3ef minor #13941 [2.6] Marked the ResolveParameterPlaceHoldersPassTest as legacy (saro0h)
This PR was merged into the 2.6 branch.

Discussion
----------

[2.6] Marked the ResolveParameterPlaceHoldersPassTest as legacy

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

Splitted the ResolveParameterPlaceHoldersPassTest to obtain a legacy test to avoid deprecation rise.

Commits
-------

67ca1f4 Marked the ResolveParameterPlaceHoldersPassTest as legacy
2015-03-17 13:44:40 +01:00
Fabien Potencier
d609e4e313 Merge branch '2.3' into 2.6
* 2.3:
  remove unused code
2015-03-17 13:43:30 +01:00
sarah khalil
67ca1f4df3 Marked the ResolveParameterPlaceHoldersPassTest as legacy 2015-03-17 13:42:58 +01:00
Michael Lee
e504ebee24 [ExpressionLanguage] fixed issues when parsing postfix expressions
Exception shall be thrown when parsing the following expressions:

foo."#", foo."bar", foo.**, foo.123

The original parser didn't throw exception for foo."#", foo.** and
foo.123

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a
2015-03-17 07:52:13 +01:00
Fabien Potencier
051c3de95a minor #13933 [Serializer] Fix object normalization exceptions (dunglas)
This PR was merged into the 2.6 branch.

Discussion
----------

[Serializer] Fix object normalization exceptions

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

Commits
-------

500df47 [Serializer] Fix object normalization exceptions
2015-03-17 07:44:03 +01:00
Fabien Potencier
9b736c8829 bug #13914 [DependencyInjection] do not inline service factories (xabbuh)
This PR was merged into the 2.6 branch.

Discussion
----------

[DependencyInjection] do not inline service factories

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

The `XmlDumper`, which is used in the full-stack framework to dump the
used container, is not capable to dump inlined factories.

Commits
-------

663ae9f do not inline service factories
2015-03-17 07:43:12 +01:00
Christian Flothmann
8529719c01 remove unused code 2015-03-16 15:31:07 +01:00
Christian Flothmann
663ae9f5aa do not inline service factories
The `XmlDumper`, which is used in the full-stack framework to dump the
used container, is not capable to dump inlined factories.
2015-03-16 15:30:23 +01:00
Christian Flothmann
8bda37c390 resolve class parameters in service factories 2015-03-16 14:48:05 +01:00
Kévin Dunglas
500df475a6 [Serializer] Fix object normalization exceptions 2015-03-16 00:12:13 +01:00
Fabien Potencier
17ad6fd90c Merge branch '2.6' into 2.7
* 2.6:
  `ResolveParameterPlaceHoldersPass` unit tests
  Fixing wrong variable name from #13519
  [translation][initialize cache] Remove dead code.

Conflicts:
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
2015-03-15 20:44:07 +01:00
Fabien Potencier
be053446bd Merge branch '2.3' into 2.6
* 2.3:
  `ResolveParameterPlaceHoldersPass` unit tests
  Fixing wrong variable name from #13519
2015-03-15 20:43:27 +01:00
Fabien Potencier
d50f0a89cd minor #13930 [DependencyInjection] ResolveParameterPlaceHoldersPass unit tests (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

[DependencyInjection] `ResolveParameterPlaceHoldersPass` unit tests

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

When working #13924, I noticed that there were no tests for the `ResolveParameterPlaceHoldersPass` class. So I decided to add them for the `2.3` branch too.

Commits
-------

b8d42b3 `ResolveParameterPlaceHoldersPass` unit tests
2015-03-15 20:28:56 +01:00
Christian Flothmann
b8d42b368b ResolveParameterPlaceHoldersPass unit tests 2015-03-15 17:33:36 +01:00
Ryan Weaver
3ae52ed739 Fixing wrong variable name from #13519 2015-03-14 19:44:00 -04:00
Abdellatif Ait boudad
bc066fb3e7 [translation][initialize cache] Remove dead code. 2015-03-14 11:42:25 +00:00
Fabien Potencier
a003380c39 Merge branch '2.6' into 2.7
* 2.6:
  [DependencyInjection] fixed service resolution for factories
  [acl][command][SecurityBundle] Fixed user input option mode to be an Array

Conflicts:
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
2015-03-14 06:33:51 +01:00
Fabien Potencier
d2fc77e4d1 Merge branch '2.3' into 2.6
* 2.3:
  [DependencyInjection] fixed service resolution for factories

Conflicts:
	src/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php
2015-03-14 06:27:59 +01:00
Fabien Potencier
e34387d7b5 bug #13519 [DependencyInjection] fixed service resolution for factories (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

[DependencyInjection] fixed service resolution for factories

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

In the service container, factories can be defined with a class/method pair or a service/method pair.

The class or service value can be a container parameter, but it was not supported everywhere, this PR fixes that.

Note that the method can never be a container parameter as this is supported nowhere in the current code, so this has not been changed.

Another PR will fix the 2.6 way of configuring a factory.

Commits
-------

f86ad95 [DependencyInjection] fixed service resolution for factories
2015-03-14 06:16:41 +01:00
Fabien Potencier
e5fe2dff01 feature #13780 [HttpKernel] Throw a LogicException when kernel.exception does not lead to a Response (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpKernel] Throw a LogicException when kernel.exception does not lead to a Response

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

Commits
-------

22f4807 [HttpKernel] Throw a LogicException when kernel.exception does not led to a Response
2015-03-14 06:13:34 +01:00
Nicolas Grekas
eb728c5e4c [2.7] add @group legacy 2015-03-13 18:50:01 +01:00
Nicolas Grekas
099622deb4 Merge branch '2.6' into 2.7
* 2.6:
  [2.6] add @group legacy
  [2.3] add @group legacy

Conflicts:
	src/Symfony/Bridge/Doctrine/Tests/Validator/Constraints/LegacyUniqueEntityValidator2Dot4ApiTest.php
	src/Symfony/Bridge/Propel1/Tests/Form/ChoiceList/ModelChoiceListTest.php
	src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/LegacyFormValidator2Dot4ApiTest.php
	src/Symfony/Component/Security/Core/Tests/Validator/Constraints/LegacyUserPasswordValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyAllValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyBlankValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyCallbackValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyCardSchemeValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyChoiceValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArray2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArrayObject2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorCustomArrayObject2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorArray2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorCountable2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyCurrencyValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyDateTimeValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyDateValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyEmailValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyEqualToValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyExpressionValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyFalseValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorObject2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorPath2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanOrEqualValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyIbanValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyIdenticalToValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyImageValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyIpValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyIsbnValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyIssnValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyLanguageValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyLengthValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanOrEqualValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyLocaleValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyLuhnValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyNotBlankValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyNotEqualToValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyNotIdenticalToValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyNotNullValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyNullValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyRangeValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyRegexValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyTimeValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyTrueValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyTypeValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyUrlValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyUuidValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/ValidatorBuilderTest.php
2015-03-13 18:40:40 +01:00
Nicolas Grekas
ed40c90975 [2.6] add @group legacy 2015-03-13 18:37:22 +01:00
Nicolas Grekas
b5e91071f4 Merge branch '2.3' into 2.6
* 2.3:
  [2.3] add @group legacy
2015-03-13 18:11:24 +01:00
Nicolas Grekas
52ab20607c [2.3] add @group legacy 2015-03-13 18:09:38 +01:00
Nicolas Grekas
5dd40d5b7f Merge branch '2.6' into 2.7
* 2.6:
  [travis] Do no tar in //
  [2.3] Static Code Analysis for Components
2015-03-13 14:22:05 +01:00
Nicolas Grekas
5a781cf631 Merge branch '2.3' into 2.6
* 2.3:
  [travis] Do no tar in //
  [2.3] Static Code Analysis for Components
2015-03-13 14:21:46 +01:00
sarah khalil
a818ab2fb1 Changed visibility of setUp() and tearDown to protected 2015-03-13 10:59:53 +01:00
Nicolas Grekas
6aa74b8daf Merge branch '2.6' into 2.7
* 2.6:
  Changed visibility of setUp() and tearDown to protected
2015-03-13 10:55:11 +01:00
sarah khalil
48d5e20e7e Changed visibility of setUp() and tearDown to protected 2015-03-13 10:50:03 +01:00
Fabien Potencier
8a18b56c3b minor #13908 [2.3] Static Code Analysis for Components (kalessil)
This PR was squashed before being merged into the 2.3 branch (closes #13908).

Discussion
----------

[2.3] Static Code Analysis for Components

| 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

Static Code Analysis with Php Inspections (EA Extended), no functional changes:
- unused array fill-in removed (dead code)
- reduced str_replace calls \Symfony\Component\BrowserKit\Response::getHeader

Commits
-------

d05cffb [2.3] Static Code Analysis for Components
2015-03-12 18:51:58 +01:00
Vladimir Reznichenko
d05cffb409 [2.3] Static Code Analysis for Components 2015-03-12 18:51:57 +01:00
Nicolas Grekas
578dccfe1f Merge branch '2.6' into 2.7
* 2.6:
  [Debug] reintroduce charset param to ExceptionHandler
2015-03-12 15:45:07 +01:00
Fabien Potencier
0fc1e9f421 bug #13899 [Debug] deprecate protected ExceptionHandler::utf8Htmlize (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Debug] deprecate protected ExceptionHandler::utf8Htmlize

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

Commits
-------

132b3b1 [Debug] deprecate ExceptionHandler::utf8Htmlize
2015-03-12 15:33:21 +01:00
Fabien Potencier
900558c9c4 bug #13902 [Debug] reintroduce charset param to ExceptionHandler (nicolas-grekas)
This PR was merged into the 2.6 branch.

Discussion
----------

[Debug] reintroduce charset param to ExceptionHandler

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

For some reason, we removed the charset arg of the constructor in 2.5, then used the same position to add fileLinkFormat in 2.6. This is a BC break with 2.3.
This PR reintroduces charset at second position, with some heuristic to keep compat with 2.6

Commits
-------

c8bd867 [Debug] reintroduce charset param to ExceptionHandler
2015-03-12 15:32:01 +01:00
Fabien Potencier
6d605a7d3e Merge branch '2.6' into 2.7
* 2.6:
  [HttpFoundation] MongoDbSessionHandler::read() now checks for valid session age
  Changed visibility of setUp() and tearDown to protected
  [WebProfilerBundle] Set debug+charset on the ExceptionHandler fallback
  Added default button class
  used HTML5 meta charset tag and removed hardcoded ones
  Revert "bug #13715 Enforce UTF-8 charset for core controllers (WouterJ)"
  fixed XSS in the exception handler
  Php Inspections (EA Extended) - static code analysis includes:
  [2.3] Remove most refs uses
  Test with local components instead of waiting for the subtree-splitter when possible

Conflicts:
	.travis.yml
2015-03-12 15:31:07 +01:00
Fabien Potencier
43efb1ac1c Merge branch '2.3' into 2.6
* 2.3:
  [HttpFoundation] MongoDbSessionHandler::read() now checks for valid session age
  [WebProfilerBundle] Set debug+charset on the ExceptionHandler fallback
  used HTML5 meta charset tag and removed hardcoded ones
  Revert "bug #13715 Enforce UTF-8 charset for core controllers (WouterJ)"

Conflicts:
	src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php
	src/Symfony/Bundle/WebProfilerBundle/Controller/ProfilerController.php
	src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php
	src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php
2015-03-12 15:30:42 +01:00
Fabien Potencier
374b7180bf bug #13901 [Bundle] Fix charset config (nicolas-grekas, bamarni)
This PR was merged into the 2.3 branch.

Discussion
----------

[Bundle] Fix charset config

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

This reverts #13715 and resurrects #7532, which was fine.

Commits
-------

ef41059 [WebProfilerBundle] Set debug+charset on the ExceptionHandler fallback
cbd0525 used HTML5 meta charset tag and removed hardcoded ones
6ca7fc9 Revert "bug #13715 Enforce UTF-8 charset for core controllers (WouterJ)"
2015-03-12 15:23:35 +01:00
Benjamin Zikarsky
8289ec35b3 [HttpFoundation] MongoDbSessionHandler::read() now checks for valid session age 2015-03-12 15:15:59 +01:00
Nicolas Grekas
c8bd867414 [Debug] reintroduce charset param to ExceptionHandler 2015-03-12 11:30:29 +01:00