Commit Graph

14584 Commits

Author SHA1 Message Date
Tobias Schultze
05ea19a4bf [HttpFoundation] use MERGE SQL for MS SQL Server session storage 2014-04-08 22:01:45 +02:00
Tobias Schultze
e58d7cf6c6 [HttpFoundation] fix PDO session handler under high concurrency 2014-04-08 21:48:40 +02:00
Romain Neutron
e946da303d [BrowserKit] Fix #10641 : BrowserKit is broken when using ip as host 2014-04-08 15:30:36 +02:00
Fabien Potencier
40db85d9da bumped Symfony version to 2.4.4 2014-04-05 13:49:17 +02:00
Fabien Potencier
3199b2e0d1 updated VERSION for 2.4.3 2014-04-04 12:27:02 +02:00
Jakub Zalas
009c4b8451 [FrameworkBundle] Only initialize a fully configured service if APC is available.
At the moment we only provide ApcCache for mapping caching (out of the box). DoctrineCache is available but not configured.
2014-04-03 17:10:06 +01:00
Romain Neutron
8163427b71 [DependencyInjection] Fix #10626, use better check on attribute existence and values on XML load 2014-04-03 14:00:33 +02:00
Fabien Potencier
a18ee423f9 bumped Symfony version to 2.3.13 2014-04-03 10:18:27 +02:00
Fabien Potencier
3574df3d5e updated VERSION for 2.3.12 2014-04-03 07:42:39 +02:00
Fabien Potencier
8d69022c04 Merge branch '2.4'
* 2.4:
  Revert PHPUnit version, revert APC configuration
  removed APC on the CLI for Travis as it does not work well with PHPUnit and Composer anyway
  [Security] Replace exception mocks with actual exception instances.
  Remove an unused argument.
  Use `Filesystem::chmod` instead of `chmod` when dumping file
  [Form] Added test for disabling buttons
  [Form] Added check for parent disabled status in Button form elements
  Fixes URL validator to accept single part urls
  tweaked Travis configuration to get more tests running
  fixed float comparison in unit tests for HHVM
  upgraded PHPUnit to version 4 for better HHVM support
  [Process] fixed HHVM usage on the CLI
  Fix class names in ApcUniversalClassLoader tests.
  fixed the profiler when an uncalled listener throws an exception when instantiated
  fixed CS
  Added test case for 4c6a2d15095c13b2a35751b2b2712b183be489c4
  Fixed bug in ChoiceType triggering a warning when not using utf-8
  fixed CS
  Avoid levenshtein comparison when using ContainerBuilder.
2014-04-03 07:23:57 +02:00
Fabien Potencier
785e82f814 Merge branch '2.3' into 2.4
* 2.3:
  Revert PHPUnit version, revert APC configuration
  removed APC on the CLI for Travis as it does not work well with PHPUnit and Composer anyway
  [Security] Replace exception mocks with actual exception instances.
  Remove an unused argument.
  Use `Filesystem::chmod` instead of `chmod` when dumping file
  [Form] Added test for disabling buttons
  [Form] Added check for parent disabled status in Button form elements
  Fixes URL validator to accept single part urls
  tweaked Travis configuration to get more tests running
  fixed float comparison in unit tests for HHVM
  upgraded PHPUnit to version 4 for better HHVM support
  [Process] fixed HHVM usage on the CLI
  Fix class names in ApcUniversalClassLoader tests.
  fixed the profiler when an uncalled listener throws an exception when instantiated
  fixed CS
  Added test case for 4c6a2d15095c13b2a35751b2b2712b183be489c4
  Fixed bug in ChoiceType triggering a warning when not using utf-8
  fixed CS
  Avoid levenshtein comparison when using ContainerBuilder.

Conflicts:
	src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php
	src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
2014-04-03 07:23:50 +02:00
Fabien Potencier
b7be0b86b9 Merge branch '2.4'
* 2.4:
  [Process] Fix Process test suite
  [Form] Fixed infinite tests when ICU is available
2014-04-02 19:10:49 +02:00
Romain Neutron
099e480c1c Fix travis build 2014-04-02 18:54:39 +02:00
Fabien Potencier
db4230ef8c feature #10619 [DependencyInjection] Use DOM instead of SimpleXML for namespace support (sandermarechal, romainneutron)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[DependencyInjection] Use DOM instead of SimpleXML for namespace support

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

This PR replaces #9350

Commits
-------

a3c60c8 [DependencyInjection] Deprecate SimpleXMLElement
33c91f9 [DependencyInjection] Use DOM instead of SimpleXML for namespace support
2014-04-02 17:51:57 +02:00
Fabien Potencier
afc34cf14c feature #10606 [Console] added a better way to ask questions to the user (fabpot, romainneutron)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Console] added a better way to ask questions to the user

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

This PR replaces #9811

- [x] add missing phpdocs
- [x] add unit tests
- [ ] submit doc PR

Commits
-------

336bba2 [Console] Add docblocks and unit tests to QuestionHelper
c413f89 [Console] added a better way to ask questions to the user
2014-04-02 17:45:58 +02:00
Romain Neutron
a3c60c8039 [DependencyInjection] Deprecate SimpleXMLElement 2014-04-02 17:32:21 +02:00
Sander Marechal
33c91f9be8 [DependencyInjection] Use DOM instead of SimpleXML for namespace support 2014-04-02 17:32:21 +02:00
Romain Neutron
336bba2fd8 [Console] Add docblocks and unit tests to QuestionHelper 2014-04-02 17:11:48 +02:00
Fabien Potencier
01f21e3c31 bug #10604 [PropertyAccessor] Wrong number of parameters (coma)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[PropertyAccessor] Wrong number of parameters

| 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

Since [6d2af217aafd03e3f1600ce0ebc9c30cf0a7fc70#diff-3e45cf556c0330623c0167841d303dff](6d2af217aa (diff-3e45cf556c0330623c0167841d303dff)) the PropertyAccessor is failing on setters with default values because  [ReflectionFunctionAbstract::getNumberOfRequiredParameters](http://www.php.net/manual/es/reflectionfunctionabstract.getnumberofparameters.php) only count the parameters without default values.

Commits
-------

6157be0 Wrong number of parameters
2014-04-01 18:23:27 +02:00
Jakub Zalas
9438f88af0 [Security] Replace exception mocks with actual exception instances.
It is done for two reasons:
* consistency - we use real exception objects in most of the code
* latest phpunit does not like the way we were creating mocks for exceptions (it could be also fixed by letting phpunit to call the original constructor)
2014-04-01 15:48:06 +01:00
Fabien Potencier
c413f89723 [Console] added a better way to ask questions to the user 2014-04-01 14:31:41 +02:00
Eduardo García Sanz
6157be0a1d Wrong number of parameters
Wrong number of parameters

Wrong number of parameters

Wrong number of parameters
2014-04-01 14:30:09 +02:00
Romain Neutron
140f807346 [DependencyInjection] Update dumpers and loaders, add unit tests 2014-04-01 14:25:44 +02:00
Jakub Zalas
8882dad46e Remove an unused argument. 2014-03-31 22:49:46 +01:00
Fabien Potencier
1eb1f4dd73 [DependencyInjection] added a simple way to replace a service by keeping a reference to the old one 2014-03-31 20:47:44 +02:00
Romain Neutron
1642094cfe [Templating] Update changelog 2014-03-31 15:27:29 +02:00
Martin Hasoň
6fce503432 [Templating] Added ability to set a specific version of the asset 2014-03-31 15:27:29 +02:00
Fabien Potencier
7792ba90db fixed typo in composer.json 2014-03-31 13:19:58 +02:00
Fabien Potencier
b094ea7fe2 bug #10586 Fixes URL validator to accept single part urls (merk)
This PR was merged into the 2.3 branch.

Discussion
----------

Fixes URL validator to accept single part urls

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

This PR replaces #6817 and has been rebased for 2.3, making a change to the regex to be simpler for single dot matches. (changing `([\pL\pN\pS-\.])+([\.]{0,1}[\pL]+[\.]{0,1})` to `([\pL\pN\pS-\.])+(\.?[\pL]+\.?)`)

Commits
-------

91e226e Fixes URL validator to accept single part urls
2014-03-31 13:10:34 +02:00
Fabien Potencier
3e678e7923 minor #10590 [2.3] Use Filesystem::chmod instead of chmod when dumping file (romainneutron)
This PR was merged into the 2.3 branch.

Discussion
----------

[2.3] Use `Filesystem::chmod` instead of `chmod` when dumping file

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

This adds consistency as discussed in ca5eea5c19 (commitcomment-5804089)

Commits
-------

c2ffefd Use `Filesystem::chmod` instead of `chmod` when dumping file
2014-03-31 13:09:33 +02:00
Fabien Potencier
bd577b11a2 feature #10287 [WIP][Validator] New NodeTraverser implementation (webmozart)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[WIP][Validator] New NodeTraverser implementation

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

This PR is ready for review.

#### Todo

- [x] Test extensively to avoid regressions
- [x] Test more extensively
- [x] Finish inline documentation
- [x] Provide a layer to choose the desired API through ValidatorBuilder
- [x] Provide a layer to choose the desired API through FrameworkBundle
- [x] Update UPGRADE file
- [x] Update CHANGELOG
- [ ] Update user documentation

#### Goal

The goal of this PR is to be able to fix the following tickets:

- [x] #6138 Simplify adding of constraint violations
- [x] #7146 Support group sequences in Validator API
- [x] #7432 Poorly implemented Visitor Pattern
- [x] #8617 Control traversal on class level
- [x] #9888 Improve support for collection validation (PR: #9988)

The following tickets are probably fixed, but require testing first:

- [ ] #8376 Using validation_group causes error message to display multiple times
- [ ] #9939 GroupSequences still execute next group if first fail

Of course, full backwards compatibility **must** be guaranteed.

Other tickets I want to fix in follow-up PRs:

* #3622 Constraints\Valid does not respect "groups" option
* #4453 walk constraints by groups
* #7700 Propagate implicit group names in constraints
* #9051 Always ask value event if field isn't in the validating group
* #10163 poor collection validation test coverage
* #10221 TypeValidator does not enforce desired type when value is NULL
* #10495 Class Valid Constraint can't be used on a Form Type

#### In a nutshell

The implementation removes the Visitor pattern, which was implemented badly. I tried fixing it via a NodeTraverser/NodeVisitor implementation, but performance degraded too much so I decided to remove the pattern altogether.

A couple of new features and bug fixes are possible thanks to the new implementation. See below for details.

#### PHP Versions

PHP 5.3.8 and older does not allow to implement two different interfaces which both contain a method with the same name. This is used in the compatibility layer that supports both the old and the new API.

For this reason, the compatibility layer is disabled on PHP < 5.3.9. Older PHP versions need to decide on the old API or the new API (without compatibility layer).

#### Choosing the API Version

The API version can be specified by one of `Validation::API_VERSION_2_4`, `Validation::API_VERSION_2_5` and `Validation::API_VERSION_2_5_BC` to `setApiVersion()` when building the validator:

```php
// Old implementation
$validator = Validation::createValidatorBuilder()
    ->setApiVersion(Validation::API_VERSION_2_4)
    ->getValidator();

// New implementation with BC API
// Does not work on PHP < 5.3.9
$validator = Validation::createValidatorBuilder()
    ->setApiVersion(Validation::API_VERSION_2_5)
    ->getValidator();

// New implementation without BC API
$validator = Validation::createValidatorBuilder()
    ->setApiVersion(Validation::API_VERSION_2_5_BC)
    ->getValidator();
```

#### Features

##### Constraint validation as first-class citizen

The new API merges `validateValue()` and `validate()`. The idea is that the validation of values against constraints should be as simple as possible. Object validation is a special case where an object is tested against the `Valid` constraint. A backwards compatibility layer is provided to use both `validate()` and `validateValue()` with the old signature.

```php
// Validate against explicit constraints
$violations = $validator->validate($firstName, array(
    new NotNull(),
    new Length(array('min' => 3)),
));

// Validate against metadata
$violations = $validator->validate($object);

// Same, more expressive notation
$violations = $validator->validate($object, new Valid());

// Validate each entry against its metadata
$violations = $validator->validate($array);
```

##### Aggregate violations

It is now possible to call the methods of the validator multiple times and aggregate the violations to a common violation list. To do so, call `startContext()`, execute the calls and call `getViolations()` in the end to retrieve the violations:

```php
$violations = $validator->startContext()
    ->validate($title, new NotNull())
    ->validate($text, new NotNull())
    ->validate($author->getName(), new NotNull())
    ->getViolations()
```

Most of the time, you will want to specify a property path for each validation. Use the method `atPath()` for that:

```php
$violations = $validator->startContext()
    ->atPath('title')->validate($title, new NotNull())
    ->atPath('text')->validate($text, new NotNull())
    ->atPath('author.name')->validate($author->getName(), new NotNull())
    ->getViolations()
```

##### Control the context of nested validations

In Symfony <= 2.4, you can validate objects or constraints from within a constraint validator like this:

```php
$this->context->validate($object);
$this->context->validateValue($value, new Length(array('min' => 3)));
```

The validations will run and all violations will be added to the current context.

This way, it is impossible though to validate something, inspect the result and then decide what kind of violations to add to the context. This is needed, for example, for the `Some` constraint (proposed in #9888), which should succeed if any of the validated values did *not* generate violations.

For this reason, the new context API features a method `getValidator()`. This method returns the validator instance, you can use it to validate anything in a new context (as the validator always does):

```php
$validator = $this->context->getValidator();
$violations = $validator->validate($object);

if (count($violations)  > 0) {
    $this->context->addViolation('The validation did not pass');
}
```

You can also explicitly start a new context:

```php
$validator = $this->context->getValidator();
$violations = $validator->startContext()
    ->atPath('title')->validate($title, new NotNull())
    ->atPath('text')->validate($text, new NotNull())
    ->getViolations()
```

If you want to execute the validation in the current context, use the `inContext()` method of the validator instead:

```php
// violations are added to $this->context
$validator->inContext($this->context)
    ->atPath('title')->validate($title, new NotNull())
    ->atPath('text')->validate($text, new NotNull())
;
```

With this feature, #9888 (especially the PR for it: #9988) can be finished.

##### Custom group sequences (#7146)

It is now possible to pass `GroupSequence` instances whenever you can pass a group to the validator. For example:

```php
$violations = $validator->validate($object, new Valid(), new GroupSequence('Basic', 'Strict'));
```

Or in the context of the Form component:

```php
$form = $this->createForm(new BlogType(), new Blog(), array(
    'validation_groups' => new GroupSequence('Basic', 'Strict'),
));
```

##### Constraint violation builders (#6138)

The API for adding constraint violations was simplified:

```php
$this->context->addViolation('message', array('param' => 'value'));

// or

$this->context->buildViolation('message')
    ->atPath('property')
    ->setParameter('param', 'value')
    ->setTranslationDomain('validation_strict')
    ->addViolation();
```

##### Control traversal at class level (#8617)

Currently, it is possible whether to traverse a `Traversable` object or not in the `Valid` constraint:

```php
/**
 * @Assert\Valid(traverse=true)
 */
private $tags = new TagList();
```

(actually, `true` is the default)

In this way, the validator will iterate the `TagList` instance and validate each of the contained objects. You can also set "traverse" to `false` to disable iteration.

What if you want to specify, that `TagList` instances should always (or never) be traversed? That's currently not possible.

With this PR, you can do the following:

```php
/**
 * @Assert\Traverse(false)
 */
class TagList implements \IteratorAggregate
{
    // ...
}
```

#### Follow-up features

Features of the follow-up PRs will be described directly there.

#### Backwards compatibility

I implemented a new `AbstractValidatorTest` which tests both the old and the new implementation for compatibility. I still want to extend this test to make sure we don't introduce any regressions.

Almost none of the existing classes were modified (or only slightly). If users depend on the current (now "legacy") implementation, they will have the choice to continue using it until 3.0 (of course, without the new features).

#### Your task

Congrats, you made it till here :) If you have time, please skim over the code and give me feedback on the overall implementation and the class/method names. Again, no feedback on details yet, there are quite a few areas in the code that are still work in progress.

Thanks,
Bernhard

[1] That means that only the nodes from the root of the graph until the currently validated node are held in memory.

Commits
-------

ca6a722 [Validator] Converted `@deprecate` doc comment into regular doc comment
68d8018 [Validator] Documented changes in the UPGRADE files
b1badea [Validator] Fixed failing CsrfFormLoginTest
0bfde4a [Validator] Fixed misnamed method calls in FrameworkExtension
3dc2b4d [Validator] Made "symfony/property-access" an optional dependency
c5629bb [Validator] Added getObject() to ExecutionContextInterface
9b204c9 [FrameworkBundle] Implemented configuration to select the desired Validator API
0946dbe [Validator] Adapted CHANGELOG
1b111d0 [Validator] Fixed typos pointed out by @cordoval
7bc952d [Validator] Improved inline documentation of RecursiveContextualValidator
166d71a [Validator] Removed unused property
90c27bb [Validator] Removed traverser implementation
3183aed [Validator] Improved performance of cache key generation
029a716 [Validator] Moved logic of replaceDefaultGroup() to validateNode()
2f23d97 [Validator] Reduced number of method calls on the execution context
73c9cc5 [Validator] Optimized performance by calling spl_object_hash() only once per object
94ef21e [Validator] Optimized use statements
1622eb3 [Validator] Fixed reference to removed class in ValidatorBuilder
be508e0 [Validator] Merged DefaultGroupReplacingVisitor and ContextUpdateVisitor into NodeValidationVisitor
50bb84d [Validator] Optimized RecursiveContextualValidator
eed29d8 [Validator] Improved performance of *ContextualValidator::validate()
5c479d8 [Validator] Simplified validateNodeForGroup
eeed509 [Validator] Improved phpdoc of RecursiveValidator
274d4e6 [Validator] Changed ValidatorBuilder to always use LegacyExecutionContext
38e26fb [Validator] Decoupled RecursiveContextualValidator from Node
23534ca [Validator] Added a recursive clone of the new implementation for speed comparison
f61d31e [Validator] Fixed grammar
886e05e [Validator] Removed unused use statement
93fdff7 [Validator] The supported API versions can now be passed to the ValidatorBuilder
987313d [Validator] Improved inline documentation of the violation builder
79387a7 [Validator] Improved inline documentation of the metadata classes
01ceeda [Validator] Improved test coverage of the Traverse constraint
9ca61df [Validator] Improved inline documentation of CascadingStrategy and TraversalStrategy
524a953 [Validator] Improved inline documentation of the validators
9986f03 [Validator] Added inline documentation for the PropertyPath utility class
be7f055 [Validator] Visitors may now abort the traversal by returning false from beforeTraversal()
299c2dc [Validator] Improved test coverage and prevented duplicate validation of constraints
186c115 [Validator] Improved test coverage of NonRecursiveNodeTraverser
822fe47 [Validator] Completed inline documentation of the Node classes and the NodeTraverser
dbce5a2 [Validator] Updated outdated doc blocks
8558377 [Validator] Added deprecation notes
e8fa15b [Validator] Fixed the new validator API under PHP < 5.3.9
2936d10 [Validator] Removed unused use statement
6fc6ecd [Validator] Fixed tests under PHP<5.3.9
778ec24 [Validator] Removed helper class Traversal
76d8c9a [Validator] Fixed typos
4161371 [Validator] Removed unused use statements
aeb6822 [Validator] Improved visitor names
08172bf [Validator] Merged validate(), validateObject() and validateObjects() to simplify usage
51197f6 [Validator] Made traversal of Traversables consistent
117b1b9 [Validator] Wrapped collections into CollectionNode instances
94583a9 [Validator] Changed NodeTraverser to traverse nodes iteratively, not recursively
cf1281f [Validator] Added "Visitor" suffix to all node visitors
230f2a7 [Validator] Fixed exception message
e057b19 [Validator] Decoupled ContextRefresher from ExecutionContext
e440690 [Validator] Renamed validateCollection() to validateObjects()
df41974 [Validator] Changed context manager to context factory
26eafa4 [Validator] Removed unused use statements
bc29591 [Validator] Clearly separated classes supporting the API <2.5/2.5+
a3555fb [Validator] Fixed: Objects are not traversed unless they are instances of Traversable
2c65a28 [Validator] Completed test coverage and documentation of the Node classes
9c9e715 [Validator] Completed documentation of GroupManagerInterface
1e81f3b [Validator] Finished test coverage and documentation of ExecutionContextManager
feb3d6f [Validator] Tested the validation in a separate context
718601c [Validator] Changed validateValue() to validate() in the new API
ee1adad [Validator] Implemented handling of arrays and Traversables in LegacyExecutionContext::validate()
09f744b [Validator] Implemented BC traversal of traversables through validate()
297ba4f [Validator] Added a note why scalars are passed to cascadeObject() in NodeTraverser
9b07b0c [Validator] Implemented BC validation of arrays through validate()
405a03b [Validator] Updated deprecation notes in GroupSequence
499b2bb [Validator] Completed test coverage of ExecutionContext
adc1437 [Validator] Fixed failing tests
4ea3ff6 [Validator] Finished inline documentation of ExecutionContext[Interface]
f6b7288 [Validator] Removed unused use statement
8318286 [Validator] Completed GroupSequence implementation
5fbf848 [Validator] Added note about Callback constraint to CHANGELOG
c1b1e03 [Validator] Added TODO reminder
8ae68c9 [Validator] Made tests green (yay!)
680f1ee [Validator] Renamed $params to $parameters
321d5bb [Validator] Throw exception if ObjectInitializer is constructed without visitors
1156bde [Validator] Extracted code for group sequence resolving into GroupSequenceResolver
b1a9477 [Validator] Added ObjectInitializer visitor
7e3a41d [Validator] Moved visitors to NodeVisitor namespace
a40189c [Validator] Decoupled the new classes a bit
a6ed4ca [Validator] Prototype of the traverser implementation
25cdc68 [Validator] Refactored ValidatorTest and ValidationVisitorTest into an abstract validator test class
2014-03-31 13:08:13 +02:00
Fabien Potencier
880880b838 feature #10569 [Form] Accept interfaces to be passed to "data_class" (webmozart)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Form] Accept interfaces to be passed to "data_class"

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

Commits
-------

b44e07b [Form] Added test case for 4759e062ed004749dbdc2ba31aef0f8ac2601895
7bc7a8a [Form] Accept interfaces to be passed to "data_class"
2014-03-31 13:06:03 +02:00
Fabien Potencier
c5a3008123 feature #10570 [PropertyAccess] Added isReadable() and isWritable() (webmozart)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[PropertyAccess] Added isReadable() and isWritable()

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

This PR introduces BC breaks that are described in detail in the UPGRADE file. The BC breaks conform to our policy. They shouldn't affect many people, so I think we can safely do them.

Commits
-------

f7fb855 [PropertyAccess] Added missing exceptions to phpdoc
9aee2ad [PropertyAccess] Removed the argument $value from isWritable()
4262707 [PropertyAccess] Fixed CS and added missing documentation
6d2af21 [PropertyAccess] Added isReadable() and isWritable()
20e6bf8 [PropertyAccess] Refactored PropertyAccessorCollectionTest
0488389 [PropertyAccess] Refactored PropertyAccessorTest
2014-03-31 13:04:12 +02:00
Fabien Potencier
2ab27aba8b feature #10572 [Form] ObjectChoiceList now compares choices by their value, if a value path is given (webmozart)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Form] ObjectChoiceList now compares choices by their value, if a value path is given

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

Commits
-------

ce0efb1 [Form] ObjectChoiceList now compares choices by their value, if a value path is given
2014-03-31 12:59:41 +02:00
Romain Neutron
c2ffefd0ef Use Filesystem::chmod instead of chmod when dumping file
This adds consistency as discussed in ca5eea5c19 (commitcomment-5804089)
2014-03-31 12:15:50 +02:00
Bernhard Schussek
ebfee723c9 [Form] Added test for disabling buttons 2014-03-31 11:59:54 +02:00
Adrià López Lozano
6bb355e2fd [Form] Added check for parent disabled status in Button form elements
The Button form element did not check for the parent disabled configuration status,
making them behave differently to all other form widgets.
2014-03-31 11:59:54 +02:00
Bernhard Schussek
f7fb855f46 [PropertyAccess] Added missing exceptions to phpdoc 2014-03-31 10:36:17 +02:00
Bernhard Schussek
9dfebd529e [Form] Disabled violation mapping of unsubmitted forms 2014-03-31 10:27:06 +02:00
Romain Neutron
a42fbd7ade [Process] Fix Process test suite 2014-03-31 10:11:45 +02:00
Tim Nagel
91e226e06e Fixes URL validator to accept single part urls 2014-03-31 10:23:29 +11:00
Bernhard Schussek
ca6a722a45 [Validator] Converted @deprecate doc comment into regular doc comment 2014-03-30 20:08:02 +02:00
Bernhard Schussek
68d80187ed [Validator] Documented changes in the UPGRADE files 2014-03-30 20:03:32 +02:00
Bernhard Schussek
b1badeaa1f [Validator] Fixed failing CsrfFormLoginTest 2014-03-30 18:56:20 +02:00
Bernhard Schussek
0bfde4a44b [Validator] Fixed misnamed method calls in FrameworkExtension 2014-03-30 18:31:31 +02:00
Bernhard Schussek
3dc2b4d861 [Validator] Made "symfony/property-access" an optional dependency 2014-03-30 18:31:31 +02:00
Bernhard Schussek
c5629bb7ee [Validator] Added getObject() to ExecutionContextInterface 2014-03-30 18:31:00 +02:00
Bernhard Schussek
9b204c9354 [FrameworkBundle] Implemented configuration to select the desired Validator API 2014-03-30 18:31:00 +02:00
Bernhard Schussek
0946dbe7a0 [Validator] Adapted CHANGELOG 2014-03-30 18:30:09 +02:00
Bernhard Schussek
1b111d0e83 [Validator] Fixed typos pointed out by @cordoval 2014-03-30 18:30:09 +02:00
Bernhard Schussek
7bc952de55 [Validator] Improved inline documentation of RecursiveContextualValidator 2014-03-30 18:30:09 +02:00
Bernhard Schussek
166d71a7de [Validator] Removed unused property 2014-03-30 18:30:09 +02:00
Bernhard Schussek
90c27bb1e7 [Validator] Removed traverser implementation
The traverser is too slow compared to the current, recursive approach.
Testing showed a performance decrease of about 70% without a lot of
optimization potential.
2014-03-30 18:30:09 +02:00
Bernhard Schussek
3183aed7cd [Validator] Improved performance of cache key generation 2014-03-30 18:30:09 +02:00
Bernhard Schussek
029a71638e [Validator] Moved logic of replaceDefaultGroup() to validateNode() 2014-03-30 18:30:09 +02:00
Bernhard Schussek
2f23d9725b [Validator] Reduced number of method calls on the execution context 2014-03-30 18:30:09 +02:00
Bernhard Schussek
73c9cc5806 [Validator] Optimized performance by calling spl_object_hash() only once per object 2014-03-30 18:30:09 +02:00
Bernhard Schussek
94ef21e495 [Validator] Optimized use statements 2014-03-30 18:30:09 +02:00
Bernhard Schussek
1622eb3a98 [Validator] Fixed reference to removed class in ValidatorBuilder 2014-03-30 18:28:59 +02:00
Bernhard Schussek
be508e01dd [Validator] Merged DefaultGroupReplacingVisitor and ContextUpdateVisitor into NodeValidationVisitor 2014-03-30 18:28:59 +02:00
Bernhard Schussek
50bb84d06b [Validator] Optimized RecursiveContextualValidator 2014-03-30 18:28:59 +02:00
Bernhard Schussek
eed29d8ad3 [Validator] Improved performance of *ContextualValidator::validate() 2014-03-30 18:28:59 +02:00
Bernhard Schussek
5c479d803c [Validator] Simplified validateNodeForGroup 2014-03-30 18:28:59 +02:00
Bernhard Schussek
eeed509dfc [Validator] Improved phpdoc of RecursiveValidator 2014-03-30 18:28:59 +02:00
Bernhard Schussek
274d4e6195 [Validator] Changed ValidatorBuilder to always use LegacyExecutionContext
This is necessary because, until Symfony 3.0, constraint validators will continue
to rely on the old context methods in order to be backwards compatible.
2014-03-30 18:28:59 +02:00
Bernhard Schussek
38e26fbcaf [Validator] Decoupled RecursiveContextualValidator from Node 2014-03-30 18:28:59 +02:00
Bernhard Schussek
23534ca6ab [Validator] Added a recursive clone of the new implementation for speed comparison 2014-03-30 18:28:59 +02:00
Bernhard Schussek
f61d31e5fa [Validator] Fixed grammar 2014-03-30 18:28:58 +02:00
Bernhard Schussek
886e05e7ed [Validator] Removed unused use statement 2014-03-30 18:28:58 +02:00
Bernhard Schussek
93fdff764a [Validator] The supported API versions can now be passed to the ValidatorBuilder 2014-03-30 18:28:58 +02:00
Bernhard Schussek
987313d315 [Validator] Improved inline documentation of the violation builder 2014-03-30 18:28:58 +02:00
Bernhard Schussek
79387a7d5e [Validator] Improved inline documentation of the metadata classes 2014-03-30 18:28:58 +02:00
Bernhard Schussek
01ceeda376 [Validator] Improved test coverage of the Traverse constraint 2014-03-30 18:28:58 +02:00
Bernhard Schussek
9ca61df923 [Validator] Improved inline documentation of CascadingStrategy and TraversalStrategy 2014-03-30 18:28:58 +02:00
Bernhard Schussek
524a9538bc [Validator] Improved inline documentation of the validators 2014-03-30 18:28:58 +02:00
Bernhard Schussek
9986f03ce2 [Validator] Added inline documentation for the PropertyPath utility class 2014-03-30 18:28:58 +02:00
Bernhard Schussek
be7f055237 [Validator] Visitors may now abort the traversal by returning false from beforeTraversal() 2014-03-30 18:28:58 +02:00
Bernhard Schussek
299c2dca10 [Validator] Improved test coverage and prevented duplicate validation of constraints 2014-03-30 18:28:58 +02:00
Bernhard Schussek
186c115894 [Validator] Improved test coverage of NonRecursiveNodeTraverser 2014-03-30 18:28:58 +02:00
Bernhard Schussek
822fe4712f [Validator] Completed inline documentation of the Node classes and the NodeTraverser 2014-03-30 18:28:58 +02:00
Bernhard Schussek
dbce5a2f6a [Validator] Updated outdated doc blocks 2014-03-30 18:28:58 +02:00
Bernhard Schussek
8558377945 [Validator] Added deprecation notes 2014-03-30 18:28:57 +02:00
Bernhard Schussek
e8fa15b27c [Validator] Fixed the new validator API under PHP < 5.3.9 2014-03-30 18:28:57 +02:00
Bernhard Schussek
2936d10aa4 [Validator] Removed unused use statement 2014-03-30 18:28:57 +02:00
Bernhard Schussek
6fc6ecdd8e [Validator] Fixed tests under PHP<5.3.9
The new implementation is disabled on those PHP versions.
2014-03-30 18:28:57 +02:00
Bernhard Schussek
778ec2458b [Validator] Removed helper class Traversal 2014-03-30 18:28:57 +02:00
Bernhard Schussek
76d8c9a1f7 [Validator] Fixed typos 2014-03-30 18:28:57 +02:00
Bernhard Schussek
416137165e [Validator] Removed unused use statements 2014-03-30 18:28:57 +02:00
Bernhard Schussek
aeb68228b1 [Validator] Improved visitor names 2014-03-30 18:28:56 +02:00
Bernhard Schussek
08172bfe7b [Validator] Merged validate(), validateObject() and validateObjects() to simplify usage 2014-03-30 18:28:56 +02:00
Bernhard Schussek
51197f68a3 [Validator] Made traversal of Traversables consistent
If the traversal strategy is IMPLICIT (the default), the validator will now
traverse any object that implements \Traversable and any array
2014-03-30 18:28:56 +02:00
Bernhard Schussek
117b1b9a17 [Validator] Wrapped collections into CollectionNode instances 2014-03-30 18:28:56 +02:00
Bernhard Schussek
94583a9289 [Validator] Changed NodeTraverser to traverse nodes iteratively, not recursively
In this way, the deep method call chains are avoided. Also, it is possible to
avoid the many calls to leaveNode(), which are currently not really needed.
2014-03-30 18:28:56 +02:00
Bernhard Schussek
cf1281feef [Validator] Added "Visitor" suffix to all node visitors 2014-03-30 18:28:56 +02:00
Bernhard Schussek
230f2a72fa [Validator] Fixed exception message 2014-03-30 18:28:56 +02:00
Bernhard Schussek
e057b19964 [Validator] Decoupled ContextRefresher from ExecutionContext 2014-03-30 18:28:56 +02:00
Bernhard Schussek
e440690bb4 [Validator] Renamed validateCollection() to validateObjects() 2014-03-30 18:28:56 +02:00
Bernhard Schussek
df41974f31 [Validator] Changed context manager to context factory
The current context is not stored anymore. Instead, it is passed around the traverser
and the visitors. For this reason, validation can occur in multiple contexts at the
same time.
2014-03-30 18:28:56 +02:00
Bernhard Schussek
26eafa43f7 [Validator] Removed unused use statements 2014-03-30 18:28:56 +02:00
Bernhard Schussek
bc29591935 [Validator] Clearly separated classes supporting the API <2.5/2.5+ 2014-03-30 18:28:55 +02:00
Bernhard Schussek
a3555fbd99 [Validator] Fixed: Objects are not traversed unless they are instances of Traversable 2014-03-30 18:28:55 +02:00
Bernhard Schussek
2c65a28608 [Validator] Completed test coverage and documentation of the Node classes 2014-03-30 18:28:55 +02:00
Bernhard Schussek
9c9e715ca8 [Validator] Completed documentation of GroupManagerInterface 2014-03-30 18:28:55 +02:00
Bernhard Schussek
1e81f3bdc8 [Validator] Finished test coverage and documentation of ExecutionContextManager 2014-03-30 18:28:55 +02:00
Bernhard Schussek
feb3d6f202 [Validator] Tested the validation in a separate context 2014-03-30 18:28:55 +02:00
Bernhard Schussek
718601c6c3 [Validator] Changed validateValue() to validate() in the new API
The validation of values against constraints should be a first-class citizen
in the API. For this reason, validate() now takes a value and a constraint or
a list of constraints. This method should be used for the most basic use
cases.

If users want to annotate objects with constraints (this is optional,
advanced functionality), they can use the more expressive validateObject()
method now. For traversing arrays or Traversables, a new method
validateCollection() is now available in the API.
2014-03-30 18:28:55 +02:00
Bernhard Schussek
ee1adadbfb [Validator] Implemented handling of arrays and Traversables in LegacyExecutionContext::validate() 2014-03-30 18:28:55 +02:00
Bernhard Schussek
09f744b89c [Validator] Implemented BC traversal of traversables through validate() 2014-03-30 18:28:55 +02:00
Bernhard Schussek
297ba4f585 [Validator] Added a note why scalars are passed to cascadeObject() in NodeTraverser 2014-03-30 18:28:55 +02:00
Bernhard Schussek
9b07b0c672 [Validator] Implemented BC validation of arrays through validate() 2014-03-30 18:28:55 +02:00
Bernhard Schussek
405a03b365 [Validator] Updated deprecation notes in GroupSequence 2014-03-30 18:28:55 +02:00
Bernhard Schussek
499b2bb601 [Validator] Completed test coverage of ExecutionContext 2014-03-30 18:28:55 +02:00
Bernhard Schussek
adc1437fab [Validator] Fixed failing tests 2014-03-30 18:28:54 +02:00
Bernhard Schussek
4ea3ff6688 [Validator] Finished inline documentation of ExecutionContext[Interface] 2014-03-30 18:28:54 +02:00
Bernhard Schussek
f6b7288449 [Validator] Removed unused use statement 2014-03-30 18:28:54 +02:00
Bernhard Schussek
8318286650 [Validator] Completed GroupSequence implementation 2014-03-30 18:28:54 +02:00
Bernhard Schussek
5fbf848f2f [Validator] Added note about Callback constraint to CHANGELOG 2014-03-30 18:28:54 +02:00
Bernhard Schussek
c1b1e03399 [Validator] Added TODO reminder 2014-03-30 18:28:54 +02:00
Bernhard Schussek
8ae68c9543 [Validator] Made tests green (yay!) 2014-03-30 18:28:54 +02:00
Bernhard Schussek
680f1ee6c7 [Validator] Renamed $params to $parameters 2014-03-30 18:28:54 +02:00
Bernhard Schussek
321d5bb30a [Validator] Throw exception if ObjectInitializer is constructed without visitors 2014-03-30 18:28:54 +02:00
Bernhard Schussek
1156bde823 [Validator] Extracted code for group sequence resolving into GroupSequenceResolver 2014-03-30 18:28:54 +02:00
Bernhard Schussek
b1a947737a [Validator] Added ObjectInitializer visitor 2014-03-30 18:28:54 +02:00
Bernhard Schussek
7e3a41d9db [Validator] Moved visitors to NodeVisitor namespace 2014-03-30 18:28:54 +02:00
Bernhard Schussek
a40189ccb7 [Validator] Decoupled the new classes a bit 2014-03-30 18:28:54 +02:00
Bernhard Schussek
a6ed4cae5d [Validator] Prototype of the traverser implementation 2014-03-30 18:28:53 +02:00
Bernhard Schussek
25cdc68d36 [Validator] Refactored ValidatorTest and ValidationVisitorTest into an abstract validator test class 2014-03-30 18:28:53 +02:00
Bernhard Schussek
9aee2ad999 [PropertyAccess] Removed the argument $value from isWritable()
To keep isWritable() and setValue() consistent, the exception thrown when only
an adder was present, but no remover (or vice versa), was removed.
2014-03-30 18:19:56 +02:00
Bernhard Schussek
61773dea68 [Form] Fixed infinite tests when ICU is available 2014-03-30 09:42:25 +02:00
Eduardo Gulias Davis
e79b3a9755 Change in validator.email service alias to match the validator FQCN 2014-03-30 09:34:45 +02:00
Fabien Potencier
9e6af955f5 fixed float comparison in unit tests for HHVM 2014-03-30 09:33:31 +02:00
Fabien Potencier
8fbea0fe4d [Process] fixed HHVM usage on the CLI 2014-03-30 09:33:30 +02:00
Ioan Negulescu
dc0f8f9df8 Fix class names in ApcUniversalClassLoader tests. 2014-03-29 07:58:16 +01:00
Bernhard Schussek
4262707e5a [PropertyAccess] Fixed CS and added missing documentation 2014-03-28 19:21:04 +01:00
Bernhard Schussek
ce0efb189f [Form] ObjectChoiceList now compares choices by their value, if a value path is given 2014-03-28 18:03:44 +01:00
Bernhard Schussek
6d2af217aa [PropertyAccess] Added isReadable() and isWritable() 2014-03-28 17:21:37 +01:00
Bernhard Schussek
20e6bf8f49 [PropertyAccess] Refactored PropertyAccessorCollectionTest 2014-03-28 17:07:20 +01:00
Bernhard Schussek
0488389d95 [PropertyAccess] Refactored PropertyAccessorTest 2014-03-28 15:56:23 +01:00
Bernhard Schussek
b44e07b7f6 [Form] Added test case for 4759e062ed004749dbdc2ba31aef0f8ac2601895 2014-03-28 12:45:50 +01:00
Matt Janssen
7bc7a8a6ec [Form] Accept interfaces to be passed to "data_class" 2014-03-28 12:44:51 +01:00
Fabien Potencier
79540d4b6e fixed the profiler when an uncalled listener throws an exception when instantiated 2014-03-28 12:42:49 +01:00
Fabien Potencier
8a19b9ac08 fixed CS 2014-03-28 11:34:27 +01:00
Bernhard Schussek
18dc9a7f5f Added test case for 4c6a2d15095c13b2a35751b2b2712b183be489c4 2014-03-28 11:31:34 +01:00
Koen Kuipers
73d56f7a1a Fixed bug in ChoiceType triggering a warning when not using utf-8
This fixes issue #10409 by not using json_encode anymore, but serialize
instead.
2014-03-28 11:31:34 +01:00
Fabien Potencier
584b5c0508 fixed typos 2014-03-28 10:40:08 +01:00
Fabien Potencier
4a0382b58a fixed CS 2014-03-27 21:36:23 +01:00
Fabien Potencier
f4ffd95713 fixed CS 2014-03-27 19:14:33 +01:00
catch
cc9cc37e79 Avoid levenshtein comparison when using ContainerBuilder. 2014-03-27 19:13:32 +01:00
Fabien Potencier
9e78a0603e Merge branch '2.4'
* 2.4:
  added missing unit test
  fixed too greedy replacements
  fixed protocol-relative URLs
  added override power to server parameters provided on request method
  made parsing controllers more robust
  Fixed YamlFileLoader imports path
2014-03-27 15:53:24 +01:00
Fabien Potencier
82cbf698b7 Merge branch '2.3' into 2.4
* 2.3:
  added missing unit test
  fixed too greedy replacements
  fixed protocol-relative URLs
  added override power to server parameters provided on request method
  made parsing controllers more robust
  Fixed YamlFileLoader imports path

Conflicts:
	src/Symfony/Component/HttpKernel/Tests/Controller/ControllerResolverTest.php
2014-03-27 15:53:17 +01:00
Fabien Potencier
47d1592b56 added missing unit test 2014-03-27 15:52:07 +01:00
Inal DJAFAR
6aa1050793 Add parameter descriptors 2014-03-27 12:26:27 +01:00
Fabien Potencier
65b98102d1 fixed too greedy replacements 2014-03-27 10:14:18 +01:00
Fabien Potencier
d9cf28d016 fixed protocol-relative URLs 2014-03-27 10:14:18 +01:00
Luis Cordova
289da16681 added override power to server parameters provided on request method 2014-03-27 10:14:17 +01:00
Jordi Boggiano
7d61154e7a Add command to list twig functions, filters, globals and tests 2014-03-27 08:58:32 +01:00
Fabien Potencier
6dba2296f1 made parsing controllers more robust 2014-03-27 08:52:42 +01:00
Manuel Reinhard
ec428445a1 Improved ISBN validator 2014-03-27 08:46:43 +01:00
Fabien Potencier
711788b794 fixed CS 2014-03-27 08:45:48 +01:00
Sascha Grossenbacher
e7389aa24c Move normalizer cache to getNormalier()/getDenormalizer(), use those in normalizeObject()/denormalizeObject() 2014-03-27 08:44:58 +01:00
John Nickell
fd1d48b54f Fixed YamlFileLoader imports path
YamlFileLoader used the resource name as the current directory during import, which can cause a failed import when using a relative path. Using the $path variable output from the locator is consistent with other loaders and fixes the bug.
2014-03-27 08:28:37 +01:00
Eduardo Gulias Davis
3368630482 #1581 - Strict in Email constraint and use of Egulias\EmailValidator 2014-03-27 07:02:30 +01:00
Fabien Potencier
e0de9586aa Merge branch '2.4'
* 2.4:
  Check headers sent before sending PHP response
  Fix issue symfony/symfony#10345 '[FrameworkBundle][Console] container:debug --parameter="" not working anymore'
  Fixed ACE domain checks on UrlValidator (#10031)
  handle array root element
2014-03-26 19:07:49 +01:00
Fabien Potencier
af6d11c9c6 Merge branch '2.3' into 2.4
* 2.3:
  Check headers sent before sending PHP response
  Fixed ACE domain checks on UrlValidator (#10031)
  handle array root element
2014-03-26 19:07:42 +01:00
Jerome TAMARELLE
97591c1b30 Check headers sent before sending PHP response
If the response contents has been sent before an error occurs, PHP
triggers the warning "Cannot modify header information - headers already sent"

This change ensure that the error message is echoed, while it's impossible
to change the HTTP status code and headers.
2014-03-26 19:06:50 +01:00
steveYeah
304cbe99fe Add UnprocessableEntityHttpException to HttpKernel Exceptions 2014-03-26 19:03:23 +01:00
Andrew Moore
b278aa4b02 Fix issue symfony/symfony#10345 '[FrameworkBundle][Console] container:debug --parameter="" not working anymore' 2014-03-26 18:53:45 +01:00
Colin O'Dell
19931c984c Added new validator for UUIDs 2014-03-26 18:50:25 +01:00
Diego Agulló
7a2f154533 Fixed ACE domain checks on UrlValidator (#10031) 2014-03-26 18:48:23 +01:00
Grégoire Paris
17ed8bf563 handle array root element
An array to string conversion notice was thrown when the root element of
the thing being validated is an array.
2014-03-26 18:31:52 +01:00
Gleb Sidora
9bb602fdd5 added explicit swiftmailer flush after ConsoleEvents::TERMINATE 2014-03-26 15:23:10 +01:00
Cedric LOMBARDOT
81e94d084b Model choice accept custom unique column
Use now ->add('my_field', 'model', array('class' => 'MyClassWithSlug', 'index_property' => 'slug'));
To make choice list keys as slug
2014-03-26 15:17:28 +01:00
Stefano Sala
e2d8944076 Fixed tests after merging pattern deprecation 2014-03-26 14:16:33 +01:00
Fabien Potencier
58bdf842b7 Merge branch '2.4'
* 2.4:
  [DomCrawler] fixed wrong merge
  [Filesystem] fixed a test broken after merging the 2.3 branch
2014-03-26 13:01:00 +01:00
Fabien Potencier
5808287d52 [DomCrawler] fixed wrong merge 2014-03-26 13:00:53 +01:00
Fabien Potencier
7a29818d77 [Filesystem] fixed a test broken after merging the 2.3 branch 2014-03-26 12:55:03 +01:00
Fabien Potencier
3baa43b44e Merge branch '2.4'
* 2.4: (52 commits)
  Fix #8205 : Deprecate file mode update when calling dumpFile
  Fix #10437: Catch exceptions when reloading a no-cache request
  Fix libxml_use_internal_errors and libxml_disable_entity_loader usage
  removed ini check to make uploadedfile work on gae
  Update OptionsResolver.php
  fixed comment in forms.xml file
  Clean KernelInterface docblocks
  Cast the group name as a string
  Fixed doc of InitAclCommand
  [Form] Fix "Array was modified outside object" in ResizeFormListener.
  Fix IBAN validator
  [Process] Remove unreachable code + avoid skipping tests in sigchild environment
  Fixed bug that incorrectly causes the "required" attribute to be omitted from select even though it contains the "multiple" attribute
  Added travis_retry to .travis.yml
  [Process] fix some typos and refactor some code
  [Process] Fix unit tests in sigchild disabled environment
  [Process] Trow exceptions in case a Process method is supposed to be called after termination
  fixed typo
  [Process] fixed fatal errors in getOutput and getErrorOutput when process was not started
  [Process] Fix escaping on Windows
  ...

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/ServerRunCommand.php
	src/Symfony/Component/Form/Extension/Core/EventListener/ResizeFormListener.php
	src/Symfony/Component/Process/Process.php
	src/Symfony/Component/Process/ProcessPipes.php
	src/Symfony/Component/Process/Tests/AbstractProcessTest.php
2014-03-26 12:51:10 +01:00
Fabien Potencier
ab42e9cbc4 Merge branch '2.3' into 2.4
* 2.3: (34 commits)
  Fix #8205 : Deprecate file mode update when calling dumpFile
  Fix #10437: Catch exceptions when reloading a no-cache request
  Fix libxml_use_internal_errors and libxml_disable_entity_loader usage
  removed ini check to make uploadedfile work on gae
  Update OptionsResolver.php
  fixed comment in forms.xml file
  Clean KernelInterface docblocks
  Cast the group name as a string
  Fixed doc of InitAclCommand
  [Form] Fix "Array was modified outside object" in ResizeFormListener.
  Fix IBAN validator
  [Process] Remove unreachable code + avoid skipping tests in sigchild environment
  Fixed bug that incorrectly causes the "required" attribute to be omitted from select even though it contains the "multiple" attribute
  Added travis_retry to .travis.yml
  [Process] fix some typos and refactor some code
  [Process] Fix unit tests in sigchild disabled environment
  [Process] Trow exceptions in case a Process method is supposed to be called after termination
  fixed typo
  [Process] fixed fatal errors in getOutput and getErrorOutput when process was not started
  [Process] Fix escaping on Windows
  ...

Conflicts:
	src/Symfony/Component/DomCrawler/Crawler.php
	src/Symfony/Component/Filesystem/Filesystem.php
	src/Symfony/Component/Process/Process.php
2014-03-26 12:35:33 +01:00
kor3k
43451e9f50 made HttpFoundationRequestHandler a service 2014-03-26 10:57:26 +01:00
Stefano Sala
52c07c74ea Deprecated max_length and pattern options 2014-03-26 10:50:40 +01:00
Romain Neutron
cefb67a340 Fix #8205 : Deprecate file mode update when calling dumpFile 2014-03-26 08:33:01 +01:00
Romain Neutron
8e3a3951e3 Fix #10437: Catch exceptions when reloading a no-cache request 2014-03-26 08:25:06 +01:00
Romain Neutron
489b8aea90 Fix libxml_use_internal_errors and libxml_disable_entity_loader usage 2014-03-26 08:21:50 +01:00
Baptiste Clavié
849703a784 When a process fails, check if the output is enabled
With the recent addition of the ability to disable the output, it was
not taken into account within the `ProcessFailedException`.

So, if the output was indeed disabled, and the process returns an
error (i.e via a `mustRun`) we could have another LogicException which
is not expected.
2014-03-25 23:03:32 +01:00
Michele Orselli
ecb6481117 removed ini check to make uploadedfile work on gae 2014-03-25 17:54:15 +01:00
Sergey Kolodyazhnyy
5f3be0e7cb Fix Exception messages for ObjectIdentity ObjectIdentityInterface doesn't require implementing __toString method, so we need to make sure that object can be converted to string. 2014-03-25 17:45:52 +01:00
Shady
79ceb094f0 Update OptionsResolver.php
Deleting an extra space in the exception.
2014-03-25 14:10:48 +01:00
Fabien Potencier
f66bed7bac feature #10506 [Debug] sync with deprecation in DebugClassLoader (nicolas-grekas)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Debug] sync with deprecation in DebugClassLoader

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

Commits
-------

c70a468 [Debug] sync with deprecation in DebugClassLoader
2014-03-24 19:05:20 +01:00
Hugo Hamon
33c1ba7c79 fixed comment in forms.xml file 2014-03-24 19:01:48 +01:00
Sam Ward
e850b38464 Clean KernelInterface docblocks
- Fixed questionable grammar
- Added missing periods to make it consistent
2014-03-24 19:00:42 +01:00
Tobias Schultze
e3f17f9d30 add scheme option to router:match command 2014-03-21 17:50:06 +01:00
Luiz “Felds” Liscia
d685d7d08b Cast the group name as a string
This allows the options to be grouped by association fields.
2014-03-21 12:48:42 +01:00
Nicolas Grekas
c70a46837d [Debug] sync with deprecation in DebugClassLoader 2014-03-21 10:31:50 +01:00
Kévin Dunglas
c5e8a884f8 Fixed doc of InitAclCommand 2014-03-19 21:51:09 +01:00
Fabien Potencier
fc251dbcd4 bug #10410 [Form] Fix "Array was modified outside object" in ResizeFormListener. (Chekote)
This PR was squashed before being merged into the 2.3 branch (closes #10410).

Discussion
----------

[Form] Fix "Array was modified outside object" in ResizeFormListener.

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

This is the second pull request for this issue. The history of this is as follows:

Original Fix was added Feb 11th under Pull Request #10232.
Users began complaining of Doctrine ArrayCollection not being updated in forms.
Revert was added Feb 15th under Pull Request #10269.
Issue #10405 was opened on 7th Mar for the original bug.

Pull Request #10269 has a failing test that illustrates users concerns.
I have added failing tests to this pull request to illustrate the problems described in #10405.

All tests now pass, and all forms of $data are now supported, including arrays, DoctrineCollection, ArrayObject, and other IteratorAggregates.

__Details as follows:__

The onSubmit() method of the ResizeFormListener class is assuming the data is an array, and calling unset directly inside a foreach. This works fine in most scenarios, but if data is an instance of IteratorAggregate that is iterating over $data by reference, it breaks with the following error:

Symfony\Component\Form\Extension\Core\EventListener\ResizeFormListener::onSubmit(): ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in ./vendor/symfony/symfony/src/Symfony/Component/Form/Extension/Core/EventListener/ResizeFormListener.php line 142

This is because the foreach loop is using an Iterator in the background, but the ResizeFormListener has unset the underlying data directly, causing the value that the Iterators internal pointer is pointing to to change.

The Iterator provided by IteratorAggregate may or may not have the ability to modify it's underlying data. So it is not possible to rely on the Iterator to modify the data. Instead, it is simpler to avoid modifying $data at all while we are iterating over it. So instead, we simply iterate over $data once to determine the keys we need to delete, and store them. Then we iterate over the keys and delete them from $data.

Commits
-------

aa63fae [Form] Fix "Array was modified outside object" in ResizeFormListener.
2014-03-19 17:44:48 +01:00
Chekote
aa63faea06 [Form] Fix "Array was modified outside object" in ResizeFormListener. 2014-03-19 17:44:48 +01:00
Fabien Potencier
65f024234d bug #10494 [2.3][Validator] Minor fix in IBAN validator (sprain)
This PR was merged into the 2.3 branch.

Discussion
----------

[2.3][Validator] Minor fix in IBAN validator

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

Added more values to unit tests of IBAN validator to make clear it doesn't accept lower case letters.

> Permitted IBAN characters are the digits 0 to 9 and the 26 upper-case Latin alphabetic characters A to Z.
http://en.wikipedia.org/wiki/International_Bank_Account_Number

Also made little adjustment to code which meant to validate lowercase letters but actually was useless.

Commits
-------

3eeb306 Fix IBAN validator
2014-03-19 17:10:10 +01:00
Manuel Reinhard
3eeb3067e3 Fix IBAN validator 2014-03-19 17:04:05 +01:00
Fabien Potencier
c29b4214b6 minor #10492 [2.3][Process] Remove unreachable code + avoid skipping tests in sigchild environment (romainneutron)
This PR was merged into the 2.3 branch.

Discussion
----------

[2.3][Process] Remove unreachable code + avoid skipping tests in sigchild environment

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

As mentioned by @Tobion in https://github.com/symfony/symfony/pull/10480#issuecomment-38002910, I removed the dead code. I also fixed/updated the test suite on PHP compiled with `--enable-sigchild`.

Commits
-------

d52dd32 [Process] Remove unreachable code + avoid skipping tests in sigchild environment
2014-03-19 16:52:49 +01:00
Fabien Potencier
6586eaa35f feature #10194 [Console] Added standalone PSR-3 compliant logger (dunglas)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Console] Added standalone PSR-3 compliant logger

This PR adds a standalone, PSR-3 compliant, logger to the Console component. It logs all messages on the console output. Messages of `DEBUG`, `INFO` and `NOTICE` levels are displayed using the `info` format (default to green). Higher levels are displayed using the `error` formatter (default to red).

This logger is similar to the [Monolog's Console Handler](http://symfony.com/doc/current/cookbook/logging/monolog_console.html) but does not have any external dependency (except `php-fig/log`). This is useful for console applications and commands needing a lightweight PSR-3 compliant logger (e.g. required by a dependency or to display basic informations to the user).

An usage example is available here: https://github.com/dunglas/php-schema.org-model/blob/master/src/SchemaOrgModel/Command/GenerateEntitiesCommand.php#L71

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

Commits
-------

e40b34d [Console] Added standalone PSR-3 compliant logger
2014-03-19 16:49:37 +01:00
Kévin Dunglas
e40b34d59d [Console] Added standalone PSR-3 compliant logger 2014-03-19 16:21:15 +01:00
Romain Neutron
d52dd32bad [Process] Remove unreachable code + avoid skipping tests in sigchild environment 2014-03-19 14:56:52 +01:00
Nick Stemerdink
861d3075b3 Fixed bug that incorrectly causes the "required" attribute to be omitted from select even though it contains the "multiple" attribute 2014-03-19 14:38:32 +01:00
Philipp Rieber
e8b6978d3a [Validator] Added hasser support for entity method validation 2014-03-19 10:45:16 +01:00
Fabien Potencier
cc5f606356 minor #10484 [Process] fix some typos and refactor some code (Tobion)
This PR was merged into the 2.3 branch.

Discussion
----------

[Process] fix some typos and refactor some code

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

Commits
-------

b422613 [Process] fix some typos and refactor some code
2014-03-19 07:27:25 +01:00
Fabien Potencier
b14fa26b67 feature #10476 [Console] Fixed unsetting of setted attributes on OutputFormatterStyle (Badkill)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Console] Fixed unsetting of setted attributes on OutputFormatterStyle

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

Unset only previous setted styles in place of all styles, before this fix,
OutputFormatterStyle reset all attributes with '\e[0m' sequence.
Now, if a foreground is setted, reset only the foreground so you can use innested attributes

Conflicts:
	src/Symfony/Component/Console/Tests/Formatter/OutputFormatterStyleTest.php
	src/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php
	src/Symfony/Component/Console/Tests/Output/OutputTest.php

Commits
-------

ce0c4b4 [Console] Fixed unsetting of setted attributes on OutputFormatterStyle
2014-03-19 07:24:10 +01:00
Fabien Potencier
1e9e8afa5d bug #10479 [2.3][Process] Fix escaping on Windows (romainneutron)
This PR was merged into the 2.3 branch.

Discussion
----------

[2.3][Process] Fix escaping on Windows

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

Windows escaping is broken since the last merges.

After digging more on Windows escaping, I realised some things:
 - We forbid environment variable expansion by escaping `%APPDATA%` to `^%"APPDATA"^%`
 - We explicitly ask for variable expansion at runtime (running the command line with the [`/V:ON`](https://github.com/symfony/symfony/blob/2.3/src/Symfony/Component/Process/Process.php#L235) flag). Running a command containing `!APPDATA!` will be escaped and expanded (our previous rule is easily overriden)
 - On platform that are not windows, we use strong escaping that prevents any variable expansion (`$PATH` will be escaped to `'$PATH'` that is not interpreted as the current PATH)

We have three possibilities:
 - Keep this behavior as this.
 - Prefer a consistent API and use a strong escaping strategy everywhere, but it would result in a BC break (see #8975).
 - Allow environment variable expansion and escape `%APPDATA%` to `"%APPDATA%"`

Any thoughts about this ?

Commits
-------

0f65f90 [Process] Fix escaping on Windows
2014-03-19 07:22:00 +01:00
Danilo Silva
ce0c4b4284 [Console] Fixed unsetting of setted attributes on OutputFormatterStyle
Unset only previous setted styles in place of all styles, before this fix,
OutputFormatterStyle reset all attributes with '\e[0m' sequence.
Now, if a foreground is setted, reset only the foreground so you can use innested attributes

Conflicts:
	src/Symfony/Component/Console/Tests/Formatter/OutputFormatterStyleTest.php
	src/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php
	src/Symfony/Component/Console/Tests/Output/OutputTest.php
2014-03-18 22:29:59 +01:00
Tobias Schultze
b4226137f6 [Process] fix some typos and refactor some code 2014-03-18 21:00:58 +01:00
Romain Neutron
5f6ee1205a [Process] Fix unit tests in sigchild disabled environment 2014-03-18 19:09:01 +01:00
Fabien Potencier
c57fbdad25 bug #10480 [Process] Fixed fatal errors in getOutput and getErrorOutput when process was not started (romainneutron)
This PR was merged into the 2.3 branch.

Discussion
----------

[Process] Fixed fatal errors in getOutput and getErrorOutput when process was not started

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

This PR replaces #9452 and address the latest changes.
Side note : I've not updated `getExitCode`, `getExitCodeText` and `isSuccessful` as they were explicitly tested to return null in case the process is not started or terminated. I think it would be a BC break to do that.

Commits
-------

449fe01 [Process] Trow exceptions in case a Process method is supposed to be called after termination
0ae6858 [Process] fixed fatal errors in getOutput and getErrorOutput when process was not started
2014-03-18 19:00:11 +01:00
Romain Neutron
449fe01992 [Process] Trow exceptions in case a Process method is supposed to be called after termination 2014-03-18 18:34:51 +01:00
Fabien Potencier
e4c4a7d538 fixed typo 2014-03-18 17:51:19 +01:00
Max Voloshin
0ae685878c [Process] fixed fatal errors in getOutput and getErrorOutput when process was not started 2014-03-18 15:14:03 +01:00
Romain Neutron
0f65f90b06 [Process] Fix escaping on Windows
Windows escaping is broken since the last merges.
2014-03-18 15:00:41 +01:00
Fabien Potencier
8170db84b3 feature #10473 [WebProfilerBundle] enhance logs display (nicolas-grekas)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[WebProfilerBundle] enhance logs display

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

Commits
-------

3e6c940 [WebProfilerBundle] enhance logs display
2014-03-18 14:44:19 +01:00
Romain Neutron
1f5bf324fe [Process] Make Process::start non-blocking on Windows platform 2014-03-18 10:55:01 +01:00
Nicolas Grekas
3e6c940495 [WebProfilerBundle] enhance logs display 2014-03-18 10:04:14 +01:00
Grégoire Pineau
6786f6db18 [Console] Rename Command::setProcessName to Command::setProcessTitle
To be more consistant with the underlying system.
2014-03-18 00:05:29 +01:00
Fabien Potencier
71dc07ce08 feature #10466 [Debug] add a screaming mode to ErrorHandler (nicolas-grekas)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Debug] add a screaming mode to ErrorHandler

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

Collect and display silenced PHP errors in the debug toolbar.

Commits
-------

5cc817d [Debug] add a screaming mode to ErrorHandler
2014-03-17 16:55:06 +01:00
Fabien Potencier
02088bc62f fixed CS 2014-03-17 16:43:11 +01:00
Wouter J
6871a614b9 [#10461] Add docs about custom environment 2014-03-17 16:16:17 +01:00
Nicolas Grekas
5cc817d1bd [Debug] add a screaming mode to ErrorHandler 2014-03-17 14:44:56 +00:00
Luis Cordova
89bde6e03b fix class namespace by @insekticid and doc block fix 2014-03-17 07:23:37 -07:00
J Bruni
d02e2aa7e8 Typo fix at UploadedFile.php documentation 2014-03-16 09:02:27 +01:00
Fabien Potencier
48c9985e73 feature #10451 [TwigBundle] Add possibility to generate absolute assets urls (romainneutron)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[TwigBundle] Add possibility to generate absolute assets urls

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

This is another approach of #7722

 - [x] Add unit tests
 - [x] Update doc

Commits
-------

76b8851 [TwigBundle] Add possibility to generate absolute assets urls
2014-03-15 09:47:57 +01:00
Fabien Potencier
a635c4f9a3 bug #10456 [Process] Handle idle timeout and disabled output conflict (romainneutron)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Process] Handle idle timeout and disabled output conflict

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #10453
| License       | MIT
| Doc PR        | WIP (a note should be added in the doc)

Commits
-------

ae84810 [Process] Increase tests speed
40c08c6 [Process] Handle idle timeout and disable output conflict
2014-03-15 09:40:48 +01:00
Romain Neutron
783e377eed [Process] Avoid failures because of slow IOs
See example of failure here https://travis-ci.org/symfony/symfony/jobs/20701462
2014-03-14 19:58:01 +01:00
Romain Neutron
ae8481038e [Process] Increase tests speed 2014-03-14 19:46:29 +01:00
Romain Neutron
40c08c640e [Process] Handle idle timeout and disable output conflict 2014-03-14 19:08:20 +01:00
Romain Neutron
238565e93a [Process] Avoid failure because of a slow process
See example of failure here https://travis-ci.org/symfony/symfony/jobs/20761834.
2014-03-14 18:34:18 +01:00
Romain Neutron
173f8c5fd2 [Process] Avoid failure when calling Process::stop in edge cases
See https://travis-ci.org/symfony/symfony/jobs/20664994 for an example of failure.
2014-03-14 18:34:18 +01:00
Romain Neutron
76b88511a6 [TwigBundle] Add possibility to generate absolute assets urls 2014-03-14 14:43:21 +01:00
ureimers
7fc0c5f1fd Update DefaultAuthenticationSuccessHandler.php 2014-03-14 13:21:43 +01:00
Daniel Tschinder
a8e9ed5cf1 Make it possible to match the request based on HTTP methods in the firewall configuration 2014-03-14 12:27:42 +01:00
Fabien Potencier
f0c0c2c99d tweaked sentence 2014-03-14 12:08:56 +01:00
Fabien Potencier
fe91a2ca62 bug #10448 [2.3][Process] Fix quoted arguments escaping (romainneutron)
This PR was merged into the 2.3 branch.

Discussion
----------

[2.3][Process] Fix quoted arguments escaping

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

This PR replaces #8972

Commits
-------

de681cb [Process] Add tests on ProcessUtils::escapeArgument
85fb495 [Process] Fix: Arguments including space and quote are not correctly escaped (win)
2014-03-14 12:05:38 +01:00
Fabien Potencier
79e92f95d6 bug #10444 [DomCrawler] Fixed incorrect value name conversion in getPhpValues() and getPhpFiles() (romainneutron)
This PR was merged into the 2.3 branch.

Discussion
----------

[DomCrawler] Fixed incorrect value name conversion in getPhpValues() and getPhpFiles()

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

This PR replaces #10193

Commits
-------

89c599e [DomCrawler] Add tests for recursive cases of getPhpValues() and getPhpFiles()
e961f57 [DomCrawler] Fixed incorrect value name conversion in getPhpValues() and getPhpFiles()
2014-03-14 12:04:24 +01:00
Fabien Potencier
bdddf3ab8c fixed typo 2014-03-14 11:12:00 +01:00
Romain Neutron
de681cbf5c [Process] Add tests on ProcessUtils::escapeArgument 2014-03-14 10:50:34 +01:00
Michal Gebauer
85fb495a30 [Process] Fix: Arguments including space and quote are not correctly escaped (win)
Bad
`"bin" "command" \""bin"\"" "\""another command"\"`

Better
`"bin" "command" "\"bin" \"another command\""`
2014-03-14 10:10:26 +01:00
Karolis Daužickas
a8fcc416b8 Minor style fix 2014-03-14 08:52:52 +01:00
Romain Neutron
5d704d906b [HttpFoundation] Add dev-dependency on Symfony Expression-Language for unit tests
This component is needed to test ExpressionRequestMatcher
2014-03-13 17:54:12 +01:00
Romain Neutron
89c599e5b7 [DomCrawler] Add tests for recursive cases of getPhpValues() and getPhpFiles() 2014-03-13 17:35:57 +01:00
Robbert Klarenbeek
e961f570b1 [DomCrawler] Fixed incorrect value name conversion in getPhpValues() and getPhpFiles() 2014-03-13 17:06:21 +01:00
Romain Neutron
85a2fbf27c [FrameworkBundle] Use DIC parameter as default host value if available 2014-03-13 16:54:59 +01:00
pmartelletti
acc66b9d72 [FrameworkBundle] Add posibility to specify method and host in router:match command 2014-03-13 14:26:26 +01:00
Fabien Potencier
1d19ca2395 Merge branch '2.3' into 2.4
* 2.3:
  [Config] made a condition more explicit
  convertDomElementToArray should handle zero values
  prefixed http:// to url output on server:run command in order to make it clickable
  Fixed data in pipe being truncated if not read before process termination
2014-03-13 06:40:32 +01:00
Fabien Potencier
c14d67c11d [SecurityBundle] changed a hardcoded string to its constant equivalent 2014-03-13 06:12:30 +01:00
Fabien Potencier
ea0598ae78 minor #10390 [Security] Add constants for access decision strategies (c960657)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Security] Add constants for access decision strategies

I suggest adding constants for the three access decision strategies (affirmative, consensus, unanimous).

They are difficult to spell, and without constants they are difficult to identify when reading the code.

| 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

Commits
-------

5d6ef00 Add class constants for access decision strategies.
2014-03-13 06:11:00 +01:00
Fabien Potencier
cbc2f9fd36 [Config] made a condition more explicit 2014-03-13 06:07:25 +01:00
Ben Davies
34720c921e convertDomElementToArray should handle zero values 2014-03-13 06:06:04 +01:00
Fabien Potencier
1e0fea61e8 minor #10432 clean up framework bundle commands (cordoval)
This PR was merged into the 2.5-dev branch.

Discussion
----------

clean up framework bundle commands

|Q            |A  |
|---          |---|
|Bug Fix?     |no |
|New Feature? |no |
|BC Breaks?   |no |
|Deprecations?|no |
|Tests Pass?  |yes|
|Fixed Tickets|   |
|License      |MIT|
|Doc PR       |na |

Commits
-------

0984313 clean up commands from framework bundle
2014-03-13 06:03:27 +01:00
Luis Cordova
09843131ba clean up commands from framework bundle 2014-03-12 23:58:17 -05:00
Luis Cordova
6498518925 prefixed http:// to url output on server:run command in order to make it clickable 2014-03-12 20:16:46 -05:00
Fabien Potencier
3d0913464d bug #10153 [Process] Fixed data in pipe being truncated if not read before process termination (astephens25)
This PR was merged into the 2.3 branch.

Discussion
----------

[Process] Fixed data in pipe being truncated if not read before process termination

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

This is a repeat of the botched pull request #9630.

Commits
-------

7e51913 Fixed data in pipe being truncated if not read before process termination
2014-03-12 19:39:04 +01:00
Fabien Potencier
126b97a8a3 minor #10424 [2.4][Process] Fix some unit tests that create the process object instead of delegate it to the implementation (romainneutron)
This PR was merged into the 2.4 branch.

Discussion
----------

[2.4][Process] Fix some unit tests that create the process object instead of delegate it to the implementation

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

This follows #10421 in branch 2.4

Commits
-------

741a8c1 [Process] Fix some unit tests that create the process object instead of delegate it to the implementation
2014-03-12 19:30:12 +01:00
Fabien Potencier
76fbd89e02 Merge branch '2.3' into 2.4
* 2.3:
  [Process] Fix #9160 : escaping an argument with a trailing backslash on windows fails
  [Process] Fix some unit tests that create the process object instead of delegate it to the implementation
  [Process] Make process tests more accurate on exception messages
  [Process] Fix process status in TTY mode
  [Process] Use assertSame instead of assertEquals to avoid comparison against `null`
  [HttpFoundation] added some unit tests
  10158 get vary multiple
  made Cookie stringification more robust
  [Yaml] fix for a HHVM bug
2014-03-12 19:29:58 +01:00
Romain Neutron
10e903aa5d [Process] Fix #9160 : escaping an argument with a trailing backslash on windows fails 2014-03-12 15:47:04 +01:00
Aaron Stephens
7e5191375b Fixed data in pipe being truncated if not read before process termination 2014-03-12 11:51:01 +00:00
Romain Neutron
a891e14d11 [Process] Add Process::disableOutput and Process::enableOutput methods 2014-03-12 12:02:04 +01:00
Romain Neutron
741a8c1184 [Process] Fix some unit tests that create the process object instead of delegate it to the implementation
This is the patch for version 2.4
2014-03-11 18:38:12 +01:00
Romain Neutron
227b85bc27 [Process] Fix some unit tests that create the process object instead of delegate it to the implementation 2014-03-11 18:33:11 +01:00
Romain Neutron
1b1768aced [Process] Make process tests more accurate on exception messages 2014-03-11 17:00:25 +01:00
Bernhard Schussek
daac66e719 [Form] Removed "magic" from FormErrorIterator 2014-03-11 16:57:35 +01:00
Fabien Potencier
5b07e0abb6 feature #10414 [Validator] Checked the constraint class in constraint validators (webmozart)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Validator] Checked the constraint class in constraint validators

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

Commits
-------

df56c23 [Validator] Checked the constraint class in constraint validators
2014-03-11 11:03:48 +01:00
Fabien Potencier
ce8119913f feature #9918 [Form] Changed Form::getErrors() to return an iterator and added two optional parameters $deep and $flatten (webmozart)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Form] Changed Form::getErrors() to return an iterator and added two optional parameters $deep and $flatten

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

See the changes in the UPGRADE files for more information.

Commits
-------

6b3fbb5 [Form] Changed the default value of $flatten in Form::getErrors() to true
a9268c4 [Form] Changed Form::getErrors() to return an iterator and added two optional parameters $deep and $flatten
2014-03-11 10:37:33 +01:00
Fabien Potencier
0738f8387d bug #10412 [Process] Fix process status in TTY mode (romainneutron)
This PR was merged into the 2.3 branch.

Discussion
----------

[Process] Fix process status in TTY mode

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

When running a process with TTY mode, status in automatically set to `terminated`
once it's started.

It's wrong for two reasons :
 - The status of the process is not yet terminated.
 - The exitcode value is never caught

Commits
-------

51c70f8 [Process] Fix process status in TTY mode
2014-03-10 20:57:38 +01:00
Romain Neutron
51c70f85dd [Process] Fix process status in TTY mode
When running a process with TTY mode, status in automatically set to `terminated`
once it's started.

It's wrong for two reasons :
 - The status of the process is not yet terminated.
 - The exitcode value is never caught
2014-03-10 19:08:27 +01:00
Romain Neutron
d66f63f2b8 [Process] Use assertSame instead of assertEquals to avoid comparison against null 2014-03-10 19:06:36 +01:00
Bernhard Schussek
df56c23d8f [Validator] Checked the constraint class in constraint validators 2014-03-10 12:58:20 +00:00
Grégoire Pineau
9e2aa9fced Use more accurate variable name 2014-03-09 20:38:15 +01:00
Christian Schmidt
5d6ef003ff Add class constants for access decision strategies. 2014-03-05 23:13:10 +01:00
Fabien Potencier
1017d83260 [HttpFoundation] added some unit tests 2014-03-05 08:16:11 +01:00
Beth Binkovitz
3a4a3cbe30 10158 get vary multiple 2014-03-05 08:12:46 +01:00
florianv
0551363a84 Fix gitignore 2014-03-04 18:06:29 +01:00
Fabien Potencier
d014dacce3 made Cookie stringification more robust 2014-03-04 17:47:46 +01:00
Fabien Potencier
fa24749537 [Yaml] fix for a HHVM bug 2014-03-04 17:04:39 +01:00
Alexandre Segura
2d42533964 [Component][Serializer] Add fluent interface to GetSetMethodNormalizer 2014-03-04 15:58:09 +01:00
Fabien Potencier
bc38d76f94 minor #10366 [FrameworkBundle] set a default value for gc_probability (fabpot)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[FrameworkBundle] set a default value for gc_probability

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

This sets the `gc_probability` to 1 by default (which is the default value in PHP). That should help mitigate #10349.

Commits
-------

7e1bdd7 [FrameworkBundle] set a default value for gc_probability
2014-03-04 10:28:13 +01:00
Fabien Potencier
1948d3647f Merge branch '2.4'
* 2.4:
  Revert "[HttpFoundation] removed test file not related to 2.3"
  [HttpFoundation] removed test file not related to 2.3
  [HttpKernel] fixed CS
  Add tests for RequestStack class
2014-03-04 08:36:44 +01:00
Fabien Potencier
91ceddcb42 Revert "[HttpFoundation] removed test file not related to 2.3"
This reverts commit 60ed3880d7.
2014-03-04 08:36:26 +01:00
Fabien Potencier
29edeeae66 Merge branch '2.3' into 2.4
* 2.3:
  [HttpFoundation] removed test file not related to 2.3
  [HttpKernel] fixed CS
  Add tests for RequestStack class
2014-03-04 08:36:00 +01:00
Fabien Potencier
b3cf27a184 minor #10372 [HttpKernel] fixed CS (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpKernel] fixed CS

Commits
-------

7539e41 [HttpKernel] fixed CS
2014-03-04 08:33:50 +01:00
Fabien Potencier
60ed3880d7 [HttpFoundation] removed test file not related to 2.3 2014-03-04 08:33:02 +01:00
Fabien Potencier
7539e4197e [HttpKernel] fixed CS 2014-03-04 08:21:33 +01:00
Fabien Potencier
69d2c8e715 Merge branch '2.4'
* 2.4:
  [HttpKernel] fixed unit tests when using phpunit.phar
  add expression request matcher tests
2014-03-03 23:00:45 +01:00
Fabien Potencier
0edb192d55 [HttpKernel] fixed unit tests when using phpunit.phar 2014-03-03 22:46:04 +01:00
Fabien Potencier
e778cf19cd fixed previous merge 2014-03-03 19:01:36 +01:00
Fabien Potencier
0aeb3945bc feature #9739 [FrameworkBundle] Extract KernelTestCase from WebTestCase (johnkary)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[FrameworkBundle] Extract KernelTestCase from WebTestCase

| Q             | A
| ------------- | ---
| Bug fix?      | No
| New feature?  | Yes
| BC breaks?    | No
| Deprecations? | No
| Tests pass?   | Yes
| Fixed tickets | None
| License       | MIT
| Doc PR        | symfony/symfony-docs#3311

Previous discussion is in #7704. Opened new PR to target master branch.

This idea came to me while reading the Cookbook article [How to create a Console Command - Testing Commands](http://symfony.com/doc/master/cookbook/console/console_command.html#testing-commands) and I wanted to hear feedback from others before submitting a patch.

Basically the Cookbook article states that when testing a Command that extending `WebTestCase` is a good way to get access to the Kernel and thus the Container. This struck me as weird because I was wanting to test a Command, which doesn't really have anything to do with "the web."

Currently `WebTestCase` doesn't do anything internally that looks like web-specific work, and the class docblock itself states "WebTestCase is the base class for functional tests.".

After a suggestion in #7704 by @beberlei, I decided to take his advice and now have the following implementation:

Extracted a new class `KernelTestCase` from `WebTestCase` and instead allow WebTestCase to extend KernelTestCase. Pulled all methods up into KernelTestCase except `createClient()` because `createClient()` is focused solely on creating a Client for issuing web-based requests.

Benjamin's solution provides us a clear extension point from `KernelTestCase` for Command-based tests and also provides 100% backwards-compatibility without the need to deprecate WebTestCase.

Commits
-------

c4f14fb Extract new base test class KernelTestClass
2014-03-03 19:00:51 +01:00
Fabien Potencier
4d31d2f3cc fixed CS 2014-03-03 18:47:50 +01:00
Fabien Potencier
c4b8e03332 feature #9852 [Translation] Added template for relative file paths in FileDumper (florianv)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Translation] Added template for relative file paths in FileDumper

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

Added ability to support templates for relative paths to translation files.
The file dumpers will try to create the directories if not existing.
Also made `IcuResFileDumper` extending `FileDumper`.

Commits
-------

a04175e Changed placeholders
623d149 Added a ConcreteDumper
84f0902 [Translation] Added template for relative file paths
2014-03-03 18:46:58 +01:00
inalgnu
16b48d657f add expression request matcher tests 2014-03-03 18:30:41 +01:00
Inal DJAFAR
466e5b87b0 Add tests for RequestStack class 2014-03-03 18:28:54 +01:00
Fabien Potencier
786c956a11 feature #10368 [FrameworkBundle] Added a translation:debug command (fabpot)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[FrameworkBundle] Added a translation:debug command

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

This PR is based on #10076 but fixes a bunch of issues for edge cases. It also uses the new Table helper.

Original description:

This pull request adds a `translation:debug` command that can be used to inspect unused / missing messages and compare them with the fallback ones (for example to detect copy pasted strings). This is inspired by this ruby project https://github.com/glebm/i18n-tasks

Example of output:

![image](https://f.cloud.github.com/assets/47313/2311673/84ae301c-a2f3-11e3-8bf6-96034369e46c.png)

Commits
-------

f039bde [FrameworkBundle] fixed edge cases for translation:debug and tweaked the output
597a310 Added a translation:debug command
2014-03-03 18:25:58 +01:00
Fabien Potencier
f039bde3d8 [FrameworkBundle] fixed edge cases for translation:debug and tweaked the output 2014-03-03 18:24:37 +01:00
Fabien Potencier
5ea64372db [FrameworkBundle] refactored the built-in web server 2014-03-03 18:22:18 +01:00
florianv
a04175ec9c Changed placeholders 2014-03-03 18:14:46 +01:00
florianv
623d149cad Added a ConcreteDumper 2014-03-03 18:10:14 +01:00
florianv
84f09024b4 [Translation] Added template for relative file paths 2014-03-03 18:10:14 +01:00
Fabien Potencier
887e6ff64d feature #10017 [FrameworkBundle] Add HHVM support for built-in web server (RickySu)
This PR was squashed before being merged into the 2.5-dev branch (closes #10017).

Discussion
----------

[FrameworkBundle] Add HHVM support for built-in web server

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

Using HHVM as built-in web server for development from console.

```
hhvm app/console server:run
```

Commits
-------

66798ba9 [FrameworkBundle] Add HHVM support for built-in web server
2014-03-03 17:50:00 +01:00
Ricky Su
66798ba904 [FrameworkBundle] Add HHVM support for built-in web server 2014-03-03 17:49:59 +01:00
florianv
597a3107bc Added a translation:debug command 2014-03-03 17:12:20 +01:00
Fabien Potencier
2a1592383d feature #10100 [ClassLoader] A PSR-4 compatible class loader (derrabus)
This PR was squashed before being merged into the 2.5-dev branch (closes #10100).

Discussion
----------

[ClassLoader] A PSR-4 compatible class loader

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

This is a PSR-4 compatible class loader that I'd like to contribute to the ClassLoader component. Since PSR-4 is the most recent FIG standard for an autoloader, I thought a compatible loader should be part of a feature-complete ClassLoader component.

See: http://www.php-fig.org/psr/psr-4/

PSR-4 does neither replace PSR-0, nor are those standards 100% compatible. This is why I implemented the standard as a new class.

If you decide that my PR is worth merging, I would also provide a PR for symfony-docs with a documentation.

Commits
-------

6837df3 [ClassLoader] A PSR-4 compatible class loader
2014-03-03 17:01:36 +01:00
Alexander M. Turek
6837df3e14 [ClassLoader] A PSR-4 compatible class loader 2014-03-03 17:01:35 +01:00
Fabien Potencier
725f7abc87 bug #10367 [HttpKernel] fixed serialization of the request data collector (fabpot)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[HttpKernel] fixed serialization of the request data collector

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

This fixes a regression introduced in #10352.

Commits
-------

6102f99 [HttpKernel] fixed serialization of the request data collector
2014-03-03 16:55:29 +01:00
Fabien Potencier
4a1639acc7 feature #10314 [Serializer] added support for is.* methods in GetSetMethodNormalizer (tiraeth)
This PR was squashed before being merged into the 2.5-dev branch (closes #10314).

Discussion
----------

[Serializer] added support for is.* methods in GetSetMethodNormalizer

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

Using ``is`` prefix for boolean variables is considered a standard, not only in PHP but also in Java (from which Symfony2 derives lot standards).

I was not sure if this is BCB but answered "no". Was not sure if I should update ``CHANGELOG`` file and did so, but if you find it irrelevant, go ahead and merge without it. I don't know if I should create a PR for docs because it does not explicitly say that the normalizer supports only ``get.*`` methods as getters.

_Note: Objects that contain behaviour also can use other prefixes like ``can``, ``has``, ``should``, but their presence in ``GetSetMethodNormalizer`` is relevant as they do not provide state (``has`` is debatable)._

Commits
-------

480219f [Serializer] added support for is.* methods in GetSetMethodNormalizer
2014-03-03 16:53:45 +01:00
Marcin Chwedziak
480219f1d3 [Serializer] added support for is.* methods in GetSetMethodNormalizer 2014-03-03 16:52:29 +01:00
Fabien Potencier
6102f994bc [HttpKernel] fixed serialization of the request data collector 2014-03-03 16:26:22 +01:00
Fabien Potencier
98c3fe7ef3 feature #10365 [Console] deprecated TableHelper in favor of Table (fabpot)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Console] deprecated TableHelper in favor of Table

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

This PR makes the Table helper stateless. It also adds a way to define global styles and to change/tweak existing styles easily.

The second commit adds the possibility to add a separator anywhere in the table output.

Commits
-------

21784ce [Console] make it possible to pass a style directly to Table::setStyle()
14caaec [Console] added the possibility to insert a table separator anywhere in a table output
39c495f [Console] deprecated TableHelper in favor of Table
2014-03-03 14:53:19 +01:00
Fabien Potencier
7e1bdd73c5 [FrameworkBundle] set a default value for gc_probability 2014-03-03 14:18:29 +01:00
Fabien Potencier
21784ced7a [Console] make it possible to pass a style directly to Table::setStyle() 2014-03-03 14:12:10 +01:00
Fabien Potencier
14caaec5f6 [Console] added the possibility to insert a table separator anywhere in a table output 2014-03-03 14:12:09 +01:00
Fabien Potencier
39c495f814 [Console] deprecated TableHelper in favor of Table 2014-03-03 14:12:09 +01:00
Fabien Potencier
77bfac719c Merge branch '2.4'
* 2.4:
  [Form][2.3] Fixes empty file-inputs getting treated as extra field.
  changed some PHPUnit assertions to more specific ones
  fixed Kernel::stripComments() normalizing new-lines
  added a BC comment
  Update FileLoader to fix issue #10339
  bumped Symfony version to 2.3.12
  updated VERSION for 2.3.11
  update CONTRIBUTORS for 2.3.11
  updated CHANGELOG for 2.3.11
  Throw exception when unable to normalize embedded object
  Fixed evaluation of short circuit operators
  Follow-up to #10312: Fixed minor performance related issues in Yaml\Inline.
  [2.4][HttpKernel] Fix issue #10209 When the profiler has `only_exception` option activated and a subrequest throw an exception, the parent profile cannot be found.
2014-03-03 13:53:01 +01:00
Fabien Potencier
09b0a40953 Merge branch '2.3' into 2.4
* 2.3:
  [Form][2.3] Fixes empty file-inputs getting treated as extra field.
2014-03-03 13:52:50 +01:00
Fabien Potencier
485efad0bb bug #10251 [Form][2.3] Fixes empty file-inputs getting treated as extra field. (jenkoian)
This PR was squashed before being merged into the 2.3 branch (closes #10251).

Discussion
----------

[Form][2.3] Fixes empty file-inputs getting treated as extra field.

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #8575 (https://github.com/symfony/symfony/pull/8575#issuecomment-34867485)
| License       | MIT

Re-applies 968fe23 (PR #8575).

The test for this already exists, it was just this line that got overwritten by eb9f76d5ba (diff-ca5e25b47f3ecc94cd557946aeb486c6L542)

To clarify, this is a PR into 2.3 branch - this already exists in 2.4 (and later from this PR: https://github.com/symfony/symfony/pull/9146)

Commits
-------

8d99d75 [Form][2.3] Fixes empty file-inputs getting treated as extra field.
2014-03-03 13:52:14 +01:00
Ian Jenkins
8d99d7561b [Form][2.3] Fixes empty file-inputs getting treated as extra field. 2014-03-03 13:52:14 +01:00
Fabien Potencier
aed7eab53c [Console] fixed some initializations in the ProgressBar class 2014-03-03 13:22:12 +01:00
Fabien Potencier
0d1a58c469 [Console] made formats even more flexible 2014-03-03 10:38:06 +01:00
Fabien Potencier
8c0022b769 [Console] fixed progress bar when using ANSI colors and Emojis 2014-03-02 10:16:43 +01:00
Fabien Potencier
52f8dc7c1b Merge branch '2.3' into 2.4
* 2.3:
  changed some PHPUnit assertions to more specific ones
  fixed Kernel::stripComments() normalizing new-lines
  added a BC comment
  Update FileLoader to fix issue #10339
2014-03-01 18:35:04 +01:00
Fabien Potencier
4927d0c8a3 changed some PHPUnit assertions to more specific ones 2014-03-01 18:25:29 +01:00
Fabien Potencier
38f7a6f817 [Console] fixed PHP comptability 2014-03-01 18:12:37 +01:00
Fabien Potencier
244d3b81be [Console] added a way to globally add a progress bar format or modify a built-in one 2014-03-01 17:52:22 +01:00
Fabien Potencier
a9d47ebbf2 [Console] added a way to add a custom message on a progress bar 2014-03-01 10:21:47 +01:00
Fabien Potencier
7a30e50eee [Console] added support for multiline formats in ProgressBar 2014-03-01 10:21:46 +01:00
Fabien Potencier
1aa7b8c8b9 [Console] added more default placeholder formatters for the progress bar 2014-03-01 10:21:46 +01:00
Fabien Potencier
2a78a09f1b [Console] refactored the progress bar to allow placeholder to be extensible 2014-03-01 10:21:46 +01:00
Fabien Potencier
4e76aa3fbc [Console] added ProgressBar (to replace the stateful ProgressHelper class) 2014-03-01 07:33:14 +01:00
Fabien Potencier
65c9aca2e6 feature #10352 [DataCollector] Improves the readability of the collected arrays in the profiler (fabpot)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[DataCollector] Improves the readability of the collected arrays in the profiler

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

This PR is based on #10155.

Original description:

It simply improves the readability of the collected arrays in the profiler:

__before__:
```
Array(date => Array(year => , month => , day => ), time => Array(hour => ))
```

__after__:
```
[
  date => [
      year => ,
      month => ,
      day =>
  ],
  time => [
      hour =>
  ]
]
```

Commits
-------

dce66c9 removed double-stringification of values in the profiler
1cda2d4 [HttpKernel] tweaked value exporter
3f297ea Improves the readability of the collected arrays in the profiler.
2014-03-01 03:56:57 +01:00
Fabien Potencier
dce66c9d79 removed double-stringification of values in the profiler 2014-03-01 03:55:22 +01:00
Fabien Potencier
eede3303f3 feature #10354 removed as many usage of the request service as possible without breaking BC (fabpot)
This PR was merged into the 2.5-dev branch.

Discussion
----------

removed as many usage of the request service as possible without breaking BC

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

Commits
-------

d638369 removed as many usage of the request service as possible without breaking BC
2014-02-28 16:50:01 +01:00
Fabien Potencier
d638369e2a removed as many usage of the request service as possible without breaking BC 2014-02-28 16:35:07 +01:00
Andrew Moore
15d063b6f7 Create ExceptionHandlerInterface to allow third party exception handlers' to handle fatal errors 2014-02-28 09:48:11 -05:00
Fabien Potencier
dde2365de8 bug #10284 [2.4][HttpKernel] Fix issue #10209 (stephpy)
This PR was merged into the 2.4 branch.

Discussion
----------

[2.4][HttpKernel] Fix issue #10209

When the profiler has `only_exception` option activated and a subrequest which
throw an exception, the parent profile cannot be found.

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

Fix issue #10209

Commits
-------

b949c49 [2.4][HttpKernel] Fix issue #10209 When the profiler has `only_exception` option activated and a subrequest throw an exception, the parent profile cannot be found.
2014-02-28 15:10:50 +01:00
Fabien Potencier
1cda2d43c4 [HttpKernel] tweaked value exporter 2014-02-28 14:42:14 +01:00
Sebastiaan Stok
63032c7c89 fixed Kernel::stripComments() normalizing new-lines
This makes normalizing new-lines less error-prone
when a string contains multiple new line-lines
2014-02-28 13:42:15 +01:00
Quentin Schuler
3f297eaa18 Improves the readability of the collected arrays in the profiler. 2014-02-28 13:12:58 +01:00
Fabien Potencier
e756686bb4 added a BC comment 2014-02-28 09:17:36 +01:00
Fabien Potencier
79999ffd5c bug #10348 Update FileLoader to fix issue #10339 (msumme)
This PR was merged into the 2.3 branch.

Discussion
----------

Update FileLoader to fix issue #10339

This fixes an issue in Symfony\Component\Config\Loader\FileLoader

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

Commits
-------

3988728 Update FileLoader to fix issue #10339
2014-02-28 09:16:24 +01:00
Max Summe
3988728169 Update FileLoader to fix issue #10339
FileLoader now uses resolved FileLoader's (the one that explicitly
supports that resource) FileLocatorInterface instance before falling
back to its own when trying to load resources in import() method.
2014-02-27 21:56:34 -06:00
Fabien Potencier
cb4a9cc2eb Merge branch '2.3' into 2.4
* 2.3:
  bumped Symfony version to 2.3.12
  updated VERSION for 2.3.11
  update CONTRIBUTORS for 2.3.11
  updated CHANGELOG for 2.3.11
  Follow-up to #10312: Fixed minor performance related issues in Yaml\Inline.

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2014-02-27 18:04:59 +01:00
Fabien Potencier
1c0fcd0252 bumped Symfony version to 2.3.12 2014-02-27 17:33:40 +01:00
Fabien Potencier
aa5b228e87 updated VERSION for 2.3.11 2014-02-27 15:55:30 +01:00
Gildas Quéméner
a92aa5e849 Throw exception when unable to normalize embedded object
Added a check to ensure that injected serializer of the
GetSetMethodNormalizer is a normalizer before normalizing object value.
2014-02-27 15:27:25 +01:00
florianv
3a46a8e799 Fixed evaluation of short circuit operators 2014-02-27 14:31:09 +01:00
sun
108e169353 Follow-up to #10312: Fixed minor performance related issues in Yaml\Inline. 2014-02-25 22:36:55 +01:00
Fabien Potencier
7baeaa2fd7 Merge branch '2.4'
* 2.4:
  [Process] minor fixes
  Improve performance of getNextEmbedBlock by removing unnecessary preg_match and function calls.
  Avoid unnecessary line indentation calculation.
  Optimise Inline::evaluateScalar() for parsing strings.
  fixed CS
  fixed parsing Mongo DSN and added Test for it
  () is also a valid delimiter
  Adding PHP 5.6 to travis-ci tests
  Update BCryptPasswordEncoder.php
  [Validator] Removed PHP <5.3.3 specific code which is not officially supported.
  Fixed wrong redirect url if path contains some query parameters
2014-02-24 17:21:51 +01:00
Fabien Potencier
81e27d2a3e Merge branch '2.3' into 2.4
* 2.3:
  [Process] minor fixes
  Improve performance of getNextEmbedBlock by removing unnecessary preg_match and function calls.
  Avoid unnecessary line indentation calculation.
  Optimise Inline::evaluateScalar() for parsing strings.
  fixed CS
  fixed parsing Mongo DSN and added Test for it
  () is also a valid delimiter
  Adding PHP 5.6 to travis-ci tests
  Update BCryptPasswordEncoder.php
  [Validator] Removed PHP <5.3.3 specific code which is not officially supported.
  Fixed wrong redirect url if path contains some query parameters
2014-02-24 17:20:54 +01:00
Fabien Potencier
30f35c08a1 minor #10305 [Process] minor fixes (aeryaguzov)
This PR was squashed before being merged into the 2.3 branch (closes #10305).

Discussion
----------

[Process] minor fixes

| Q             | A
| ------------- | ---
| Fixed tickets | [n/a]
| License       | MIT

The "same" PR as #10220, but on "2.3" branch

Commits
-------

f03e5dc [Process] minor fixes
2014-02-24 17:20:12 +01:00
Andrey Ryaguzov
f03e5dcd40 [Process] minor fixes 2014-02-24 17:20:12 +01:00
Fabien Potencier
a8209307f8 bug #10308 [Debug] enhance non-PSR-0 compatibility for case mismatch test (nicolas-grekas)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Debug] enhance non-PSR-0 compatibility for case mismatch test

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

Fix compatibility with non-PSR-0/4 loading schemes.
See https://github.com/symfony/symfony/pull/10201#issuecomment-35567573

Commits
-------

120e197 [Debug] enhance non-PSR-0 compatibility for case mismatch test
2014-02-24 17:18:53 +01:00
Fabien Potencier
ca4736b4a1 [Console] fixed missing abstract keyword 2014-02-24 17:03:53 +01:00
Nicolas Grekas
120e197873 [Debug] enhance non-PSR-0 compatibility for case mismatch test 2014-02-24 14:11:02 +01:00
Alex Pott
995a033243 Improve performance of getNextEmbedBlock by removing unnecessary preg_match and function calls. 2014-02-23 23:16:29 +00:00
Alex Pott
5e9f41eef4 Avoid unnecessary line indentation calculation. 2014-02-23 19:17:23 +01:00
Alex Pott
d5aca818b2 Optimise Inline::evaluateScalar() for parsing strings. 2014-02-23 19:17:23 +01:00
Tiago Ribeiro
01858d3ad1 Fixed typo in method name 2014-02-23 16:22:13 +00:00
Fabien Potencier
872647a8b2 [Security] simplified code 2014-02-22 08:00:45 +01:00
Wing
9fc01d26fc use core StringUtils to compare hashes 2014-02-22 13:37:18 +08:00
Fabien Potencier
7ee758c5fb fixed CS 2014-02-21 07:38:26 +01:00
Maciej Malarz
5f0557ef27 fixed parsing Mongo DSN and added Test for it
Applied Coding Standards patch

Applied Fabien's comments

[WebProfilerBundle] fixed parsing Mongo DSN and added Test for it

Removing whitespaces

Applied fabbot patch
2014-02-21 07:33:54 +01:00
Fabien Potencier
79baf8da48 feature #10165 [FrameworkBundle] config:dump-reference command can now dump current configuration (lyrixx)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[FrameworkBundle] config:dump-reference command can now dump current configuration

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

I did not add `xml` support as I don't know how to do that. ping @stof

sample:

```yaml
framework:
    secret: ThisTokenIsNotSoSecretChangeIt
    router:
        resource: /home/greg/dev/labs/se/app/config/routing_dev.yml
        strict_requirements: true
        http_port: 80
        https_port: 443
    form:
        enabled: true
        csrf_protection: { enabled: null, field_name: null }
    csrf_protection:
        enabled: true
        field_name: _token
    validation:
        enable_annotations: true
        enabled: true
        translation_domain: validators
    templating:
        engines: [twig]
        assets_version: null
        assets_version_format: '%%s?%%s'
        hinclude_default_template: null
        form: { resources: ['FrameworkBundle:Form'] }
        assets_base_urls: { http: {  }, ssl: {  } }
        loaders: {  }
        packages: {  }
    default_locale: en
    trusted_hosts: {  }
    trusted_proxies: {  }
    session:
        storage_id: session.storage.native
        handler_id: session.handler.native_file
        save_path: /home/greg/dev/labs/se/app/cache/dev/sessions
        metadata_update_threshold: '0'
    fragments:
        enabled: true
        path: /_fragment
    http_method_override: true
    profiler:
        only_exceptions: false
        enabled: true
        collect: true
        only_master_requests: false
        dsn: 'file:/home/greg/dev/labs/se/app/cache/dev/profiler'
        username: ''
        password: ''
        lifetime: 86400
    ide: null
    esi:
        enabled: false
    translator:
        enabled: false
        fallback: en
    annotations:
        cache: file
        file_cache_dir: /home/greg/dev/labs/se/app/cache/dev/annotations
        debug: true
    serializer:
        enabled: false
```

Commits
-------

19a368e [FramworkBundle] Added config:debug command
2014-02-20 22:26:25 +01:00
Fabien Potencier
aca3271cb8 feature #9862 [FrameworkBundle] Added configuration for additionnal request formats (gquemener)
This PR was squashed before being merged into the 2.5-dev branch (closes #9862).

Discussion
----------

[FrameworkBundle] Added configuration for additionnal request formats

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

Reopening of https://github.com/symfony/symfony/pull/8944

# TODO
  - [x] Fix wrong xml configuration definition (Thanks @WouterJ)
  - [x] Change configuration key `additional_formats` to a more meaningful one
  - [x] Write documentation (new entry or replace http://symfony.com/doc/current/cookbook/request/mime_type.html ?)

Commits
-------

f90ba11 [FrameworkBundle] Added configuration for additionnal request formats
2014-02-20 22:18:33 +01:00
Gildas Quéméner
f90ba117f3 [FrameworkBundle] Added configuration for additionnal request formats 2014-02-20 22:18:32 +01:00
Wouter J
b7519c7727 () is also a valid delimiter 2014-02-20 16:15:12 +01:00
Fabien Potencier
6e9358a9e9 feature #10257 [FrameworkBundle][Console] Load command from DIC after command from bundles. (lyrixx)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[FrameworkBundle][Console] Load command from DIC after command from bundles.

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

It's better to load a command from DIC after other one. Because it allow easy
override of default (symfony/assetic/doctrine) command. The end user could do:

    # config.yml
    services:
       assetic.command.dump:
           class: SensioLabs\Shim\Assetic\DumpCommand
           tags:
               - { name: console.command }

**Note**: This is not a new feature... It could be very cool to have it for symfony 2.4 ;)

Commits
-------

34f4ef5 [FrameworkBundle][Console] Load command from DIC after command from bundles.
2014-02-19 22:48:36 +01:00
Fabien Potencier
26732d7468 bug #10255 [FrameworkBundle] Fixed wrong redirect url if path contains some query parameters (pulzarraider)
This PR was merged into the 2.3 branch.

Discussion
----------

[FrameworkBundle] Fixed wrong redirect url if path contains some query parameters

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

Commits
-------

a25d1e1 Fixed wrong redirect url if path contains some query parameters
2014-02-19 22:33:06 +01:00
szymek
04a506ee7d Update BCryptPasswordEncoder.php 2014-02-19 22:27:55 +01:00
Fabien Potencier
3e8f33a2e1 feature #10201 [Debug] error stacking + fatal screaming + case testing (nicolas-grekas)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Debug] error stacking + fatal screaming + case testing

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

Ported from https://github.com/nicolas-grekas/Patchwork/

Three enhancements for Symfony debug mode:

- detect case mismatches between loaded class name, its declared name and its source file name
- dismiss hard to debug blank pages related to non-catchable-@-silenced fatal errors (```@(new Toto) + parse error in Toto.php``` => enjoy debugging)
- work around https://bugs.php.net/42098 / https://bugs.php.net/54054 / https://bugs.php.net/60149 / https://bugs.php.net/65322 (fixed in 5.5.5)

An other thing I didn't port is scope isolation: the current `require` in autoloaders is done in their scope, so local $vars / $this (with access to private props/methods) is easily accessible from required files. Shouldn't proper separation prevent that?

Commits
-------

6de362b [Debug] error stacking+fatal screaming+case testing
2014-02-19 17:00:19 +01:00
Fabien Potencier
0788896e32 minor #10289 [Validator] Removed PHP <5.3.3 specific code which is not officially supported (pylebecq)
This PR was merged into the 2.3 branch.

Discussion
----------

[Validator] Removed PHP <5.3.3 specific code which is not officially supported

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

There is some code in the validator component which handles a PHP bug for versions strictly inferiors to 5.3.3. Since these versions are not supported (the requirements say 5.3.3 minimum) I thought we could remove it.

Regards.

Commits
-------

f10c974 [Validator] Removed PHP <5.3.3 specific code which is not officially supported.
2014-02-18 17:39:47 +01:00
Pierre-Yves LEBECQ
f10c9748e3 [Validator] Removed PHP <5.3.3 specific code which is not officially supported. 2014-02-18 17:30:53 +01:00
Fabien Potencier
838dc7e212 Merge branch '2.4'
* 2.4:
  Revert "bug #10207 [DomCrawler] Fixed filterXPath() chaining (robbertkl)"
  Bypass sigchild detection if phpinfo is not available
2014-02-18 17:30:05 +01:00
Fabien Potencier
88118a2cf7 Merge branch '2.3' into 2.4
* 2.3:
  Revert "bug #10207 [DomCrawler] Fixed filterXPath() chaining (robbertkl)"
  Bypass sigchild detection if phpinfo is not available

Conflicts:
	src/Symfony/Component/DomCrawler/Crawler.php
2014-02-18 17:29:54 +01:00
Fabien Potencier
8f379217b8 Revert "bug #10207 [DomCrawler] Fixed filterXPath() chaining (robbertkl)"
This reverts commit c11c5888f3, reversing
changes made to e453c4589d.
2014-02-18 17:26:04 +01:00
Fabien Potencier
5a5eb506e4 Merge branch '2.4'
* 2.4:
  Revert "Fix "Array was modified outside object" in ResizeFormListener."
  Added failing test
  bumped Symfony version to 2.4.3
  updated VERSION for 2.4.2
  updated CHANGELOG for 2.4.2
  bumped Symfony version to 2.3.11
  updated VERSION for 2.3.10
  update CONTRIBUTORS for 2.3.10
  updated CHANGELOG for 2.3.10
  [Console] removed problematic regex
  fixed various inconsistencies
  [DomCrawler] Added support for <area> tags to be treated as links
  Fix "Array was modified outside object" in ResizeFormListener.

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2014-02-18 16:41:30 +01:00
Fabien Potencier
5ab9c3b3ca Merge branch '2.3' into 2.4
* 2.3:
  Revert "Fix "Array was modified outside object" in ResizeFormListener."
  Added failing test
  bumped Symfony version to 2.3.11
  updated VERSION for 2.3.10
  update CONTRIBUTORS for 2.3.10
  updated CHANGELOG for 2.3.10
  [Console] removed problematic regex
  [DomCrawler] Added support for <area> tags to be treated as links
  Fix "Array was modified outside object" in ResizeFormListener.

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2014-02-18 16:41:06 +01:00
Jordi Boggiano
714aee9bc0 Bypass sigchild detection if phpinfo is not available 2014-02-18 14:12:33 +01:00
Stéphane PY
b949c49f26 [2.4][HttpKernel] Fix issue #10209
When the profiler has `only_exception` option activated and a subrequest
throw an exception, the parent profile cannot be found.

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT
2014-02-18 11:56:22 +01:00
Nicolas Grekas
6de362b9fb [Debug] error stacking+fatal screaming+case testing 2014-02-16 11:08:14 +01:00
Norbert Orzechowicz
f62e30db30 Revert "Fix "Array was modified outside object" in ResizeFormListener." 2014-02-15 12:03:01 +01:00
Norbert Orzechowicz
462b7af9b1 Added failing test 2014-02-15 12:00:54 +01:00
Grégoire Pineau
19a368e068 [FramworkBundle] Added config:debug command 2014-02-13 15:16:29 +01:00
Grégoire Pineau
34f4ef5297 [FrameworkBundle][Console] Load command from DIC after command from bundles.
It's better to load a command from DIC after other one. Because it
allow easy override of default (symfony/assetic/doctrine) command.
The end user could do:

    # config.yml
    services:
        assetic.command.dump:
            class: SensioLabs\Shim\Assetic\DumpCommand
            tags:
                - { name: console.command }
2014-02-13 15:09:55 +01:00
Andrej Hudec
a25d1e1c0f Fixed wrong redirect url if path contains some query parameters 2014-02-13 06:42:11 +01:00
Fabien Potencier
82d9a76996 bumped Symfony version to 2.4.3 2014-02-12 22:00:41 +01:00
Fabien Potencier
b70633f92f updated VERSION for 2.4.2 2014-02-12 20:27:03 +01:00
Fabien Potencier
8fef4f0398 bumped Symfony version to 2.3.11 2014-02-12 20:09:40 +01:00
Fabien Potencier
e4b9ff28b7 updated VERSION for 2.3.10 2014-02-12 09:18:23 +01:00
Fabien Potencier
6fc06e72b8 bug #10231 [Console] removed problematic regex (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

[Console] removed problematic regex

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

This PR is a quick implementation of a replacement fora problematic regex.

Commits
-------

80bc41e [Console] removed problematic regex
2014-02-12 09:04:19 +01:00
Fabien Potencier
80bc41e38d [Console] removed problematic regex 2014-02-12 08:53:27 +01:00
Fabien Potencier
8cd285cd2c bug #10245 [DomCrawler] Added support for <area> tags to be treated as links (shamess)
This PR was merged into the 2.3 branch.

Discussion
----------

[DomCrawler] Added support for <area> tags to be treated as links

The [HTML area tag](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/area) behaves exactly like the `a` tag in that they're both clickable, and if it has a `href` follows a link. The Link class works the same with both tags.

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

Commits
-------

23acd26 [DomCrawler] Added support for <area> tags to be treated as links
2014-02-12 07:33:07 +01:00
Fabien Potencier
a6b1247689 fixed various inconsistencies 2014-02-11 16:39:28 +01:00
Shane Preece
23acd26d4a [DomCrawler] Added support for <area> tags to be treated as links 2014-02-11 14:35:22 +00:00
Chekote
e62c0b5a2d Fix "Array was modified outside object" in ResizeFormListener.
The onSubmit() method of the ResizeFormListener class is assuming the data is an array, and calling unset directly inside a foreach. This works fine in most scenarios, but if data is an instance of IteratorAggregate, it breaks with the following error:

Symfony\Component\Form\Extension\Core\EventListener\ResizeFormListener::onSubmit(): ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in ./vendor/symfony/symfony/src/Symfony/Component/Form/Extension/Core/EventListener/ResizeFormListener.php line 142

This is because the foreach loop is using an Iterator in the background, but the ResizeFormListener has unset the underlying data directly, causing the Iterator and data to be out of sync. When the data is an instance of IteratorAggregate, the loop should use the iterator directly and not rely on foreach.

The onSubmit method has been updated accordingly.
2014-02-11 15:26:59 +01:00
Fabien Potencier
f828aee7f7 Merge branch '2.4'
* 2.4:
  fixed various inconsistencies
  reduced recursion when building DumperPrefixCollection
  renamed variables - making next change more readable
  removing dead code.
  [ExpressionLanguage] added some tests for the built-in constant() function
  [ExpressionLanguage] added some documentation about functions
  [DomCrawler] Fixed filterXPath() chaining
  [DomCrawler] Fixed incorrect handling of image inputs
2014-02-11 14:52:21 +01:00
Fabien Potencier
e2ac5dfc78 Merge branch '2.3' into 2.4
* 2.3:
  fixed various inconsistencies
  reduced recursion when building DumperPrefixCollection
  renamed variables - making next change more readable
  removing dead code.
  [DomCrawler] Fixed filterXPath() chaining
  [DomCrawler] Fixed incorrect handling of image inputs

Conflicts:
	src/Symfony/Component/DomCrawler/Crawler.php
	src/Symfony/Component/EventDispatcher/Tests/EventDispatcherTest.php
	src/Symfony/Component/Form/Extension/DependencyInjection/DependencyInjectionExtension.php
	src/Symfony/Component/Serializer/Tests/Normalizer/CustomNormalizerTest.php
	src/Symfony/Component/Templating/Tests/Loader/CacheLoaderTest.php
	src/Symfony/Component/Templating/Tests/Loader/LoaderTest.php
2014-02-11 14:52:09 +01:00
Fabien Potencier
eb3f6c6efb fixed various inconsistencies 2014-02-11 11:29:24 +01:00
Arnaud Le Blanc
979d5c0229 reduced recursion when building DumperPrefixCollection 2014-02-10 15:33:09 +01:00
Arnaud Le Blanc
e0cf2440e9 renamed variables - making next change more readable 2014-02-10 15:33:09 +01:00
inalgnu
fdecc69e98 removing dead code. 2014-02-10 15:31:47 +01:00
Fabien Potencier
4ab78e0561 minor #10222 [ExpressionLanguage] added some documentation about functions (fabpot)
This PR was merged into the 2.4 branch.

Discussion
----------

[ExpressionLanguage] added some documentation about functions

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

This adds documentation about how to define a function in the expression language.

Commits
-------

600d481 [ExpressionLanguage] added some documentation about functions
2014-02-10 15:27:45 +01:00
Fabien Potencier
d8f55f5872 [ExpressionLanguage] added some tests for the built-in constant() function 2014-02-10 08:08:57 +01:00
Fabien Potencier
600d48162a [ExpressionLanguage] added some documentation about functions 2014-02-10 07:34:14 +01:00
Fabien Potencier
fe86efd3f2 feature #10200 [EventDispatcher] simplified code for TraceableEventDispatcher (fabpot)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[EventDispatcher] simplified code for TraceableEventDispatcher

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

Commits
-------

42e4c7b [EventDispatcher] simplified code for TraceableEventDispatcher
2014-02-06 12:23:12 +01:00
Fabien Potencier
6dfdb97f88 feature #10198 [Stopwatch] Allow getting duration of events without calling stop() (jochenvdv)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Stopwatch] Allow getting duration of events without calling stop()

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | [#10175](https://github.com/symfony/symfony/issues/10175)
| License       | MIT
| Doc PR        | [#3539](https://github.com/symfony/symfony-docs/pull/3539)

Commits
-------

2efe461 Allow retrieving unstopped stopwatch events
d3d097d Include running periods in duration
2014-02-05 17:42:00 +01:00
Robbert Klarenbeek
43a771614c [DomCrawler] Fixed filterXPath() chaining 2014-02-05 17:30:33 +01:00
Robbert Klarenbeek
816cf179ee [DomCrawler] Fixed incorrect handling of image inputs 2014-02-04 21:33:58 +01:00
Fabien Potencier
42e4c7bddf [EventDispatcher] simplified code for TraceableEventDispatcher 2014-02-04 16:16:44 +01:00
Fabien Potencier
bcb5239b5e bug #10199 fix ProcessPipes (nicolas-grekas)
This PR was merged into the 2.5-dev branch.

Discussion
----------

fix ProcessPipes

Commits
-------

076d417 fix ProcessPipes
2014-02-04 15:10:18 +01:00
Nicolas Grekas
076d417977 fix ProcessPipes 2014-02-04 14:50:18 +01:00
Fabien Potencier
22970e007e Merge branch '2.4'
* 2.4:
  added missing @deprecated tag
  Fixed recursion level incrementing in FlattenException::flattenArgs().
  [HttpKernel] fixed wrong reference in TraceableEventDispatcher

Conflicts:
	src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
2014-02-04 12:21:37 +01:00
jochenvdv
2efe461a46 Allow retrieving unstopped stopwatch events
Section:
  - added method getEvent()

Stopwatch:
  - added method getEvent()

StopwatchTest:
  - modified testStart() to test for getEvent() method
  - added testUnknownEvent()
2014-02-04 12:05:45 +01:00
Fabien Potencier
aca1686895 Merge branch '2.3' into 2.4
* 2.3:
  added missing @deprecated tag
  Fixed recursion level incrementing in FlattenException::flattenArgs().
  [HttpKernel] fixed wrong reference in TraceableEventDispatcher

Conflicts:
	src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
2014-02-04 11:54:30 +01:00
jochenvdv
d3d097d659 Include running periods in duration
StopwatchEvent:
  - method getDuration() now includes periods that are not stopped yet

StopwatchEventTest:
  - added testDurationBeforeStop()
2014-02-04 11:29:47 +01:00
Fabien Potencier
bea1537964 minor #10186 Made some HHVM-related fixes (fabpot)
This PR was merged into the 2.5-dev branch.

Discussion
----------

Made some HHVM-related fixes

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

Commits
-------

1240758 [Routing] fixed CS
e223395 [Debug] fixed case differences between PHP and HHVM (classes are case-insensitive anyway in PHP)
23acc24 [Debug] made order of suggestions predictable in error messages
2014-02-04 08:17:17 +01:00
Fabien Potencier
6a4d765c43 bug #10191 [HttpKernel] fixed wrong reference in TraceableEventDispatcher (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpKernel] fixed wrong reference in TraceableEventDispatcher

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

This PR fixes #9748 and #9727 by removing the `id` state. Only private method signatures have been changed, so that qualifies for a fix in 2.3.

The `getNotCalledListeners()` is a bit special as it tries to get non-called listeners. It passes `null` as the event id as if a listener has been called more than once, getting the first call is enough.

Commits
-------

acd3317 [HttpKernel] fixed wrong reference in TraceableEventDispatcher
2014-02-04 08:14:12 +01:00
Fabien Potencier
fefd4df4a5 added missing @deprecated tag 2014-02-04 08:13:29 +01:00
sun
de32b8e3b9 Fixed recursion level incrementing in FlattenException::flattenArgs(). 2014-02-04 08:06:39 +01:00
Fabien Potencier
4c9e30714d Merge branch '2.4'
* 2.4:
  $default can be string
  Fix wording for Process class documentation
  Option can be bool too (eg. --force)
  [Form] Update DateTime objects only if the actual value has changed
  Revert "bug #10091 [Translation] Update PluralizationRules.php (guilhermeblanco)"
  [HttpFoundation] fixed typo
  Added delta for Request comparison
  add zh_TW validator translations
  Added Bulgarian translation for security component
2014-02-03 18:15:42 +01:00
Fabien Potencier
3d91128d05 Merge branch '2.3' into 2.4
* 2.3:
  $default can be string
  Fix wording for Process class documentation
  Option can be bool too (eg. --force)
  [Form] Update DateTime objects only if the actual value has changed
  Revert "bug #10091 [Translation] Update PluralizationRules.php (guilhermeblanco)"
  [HttpFoundation] fixed typo
  Added delta for Request comparison
  add zh_TW validator translations
  Added Bulgarian translation for security component
2014-02-03 18:15:33 +01:00
Fabien Potencier
acd3317de8 [HttpKernel] fixed wrong reference in TraceableEventDispatcher 2014-02-03 18:13:40 +01:00
Fabien Potencier
1e8988083c Revert "minor #10160 [Translation] [Loader] Add INI_SCANNER_RAW to parse ini files (TeLiXj)"
This reverts commit 7c3a3e11cf, reversing
changes made to d61f4921e6.
2014-02-03 13:28:27 +01:00
Fabien Potencier
12407586b2 [Routing] fixed CS 2014-02-03 12:24:19 +01:00
Fabien Potencier
e22339596d [Debug] fixed case differences between PHP and HHVM (classes are case-insensitive anyway in PHP) 2014-02-03 11:14:27 +01:00
Fabien Potencier
23acc24015 [Debug] made order of suggestions predictable in error messages 2014-02-03 11:14:18 +01:00
Fabien Potencier
10d4d56106 removed unneded test groups 2014-02-03 09:12:26 +01:00
Fabien Potencier
51d3d62946 feature #8655 Adds PTY mode & convenience method mustRun() (schmittjoh)
This PR was merged into the 2.5-dev branch.

Discussion
----------

Adds PTY mode & convenience method mustRun()

This makes two additions. I've split them into separate commits so that you can pull them separately if required.

1. Adds PTY mode.
In contrast to the existing TTY mode, the proc_open call becomes the master not the process currently executing.

2. Adds a ``mustRun`` method
This is merely for convenience:

```php
# Before
$proc = new Process($cmd);
if (0 !== $proc->run()) {
    throw new ProcessFailedException($proc);
}

$proc = new Process($cmd);
if (0 !== $proc->run()) {
    throw new ProcessFailedException($proc);
}

# After
(new Process($cmd))->mustRun();
(new Process($cmd))->mustRun();

Commits
-------

dbd264a adds cache for isPtySupported()
6c11207 attempts to fix tests on Travis
2ff1870 adds convenience method mustRun
53441aa adds support for PTY mode
2014-02-03 09:11:05 +01:00
Jacques Moati
7e389fe955 $default can be string 2014-02-03 07:37:35 +01:00
lol768
905f2a091b Fix wording for Process class documentation 2014-02-02 16:17:32 +01:00
Fabien Potencier
7affb71196 minor #10172 [WebProfilerBundle] Use inline images instead of asset() in form-panel (Danez)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[WebProfilerBundle] Use inline images instead of asset() in form-panel

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | silexphp/Silex-WebProfiler#33
| License       | MIT
| Doc PR        |

In the ```form.html.twig```-template in dev-master the twig function ```assert()``` is used to load the images for the toggle-buttons. This is bad, as the profiler is also used in other projects, which maybe do not have an ```assert()``` function, like Silex.
 In version 2.4.x this is not an issue, as the new images were introduced for 2.5.

I change the assert() part to inline data-images with this [converter](http://www.askapache.com/online-tools/base64-image-converter/). Compression was enabled, so the images should be as small as possible. I also compressed the toolbar-icon a little bit further.

While switching between before (dev-master) and after (this PR) I have not spotted any visual difference.

Commits
-------

12eabd8 remove unused icons
f259157 Further compress icon
eb6d02c Use inline images instead of asset() function
2014-02-01 20:51:15 +01:00
Daniel Tschinder
12eabd8d60 remove unused icons 2014-02-01 20:22:15 +01:00
Jacques Moati
418429275d Option can be bool too (eg. --force) 2014-02-01 19:08:59 +01:00
Daniel Tschinder
f2591572ea Further compress icon 2014-01-31 22:00:20 +01:00
Daniel Tschinder
eb6d02cd15 Use inline images instead of asset() function
For compatibility to other projects using assert() should not be used in webProfiler-templates.
2014-01-31 18:39:01 +01:00
TeLiXj
5ef60f1494 [Translation] [Loader] Add INI_SCANNER_RAW to parse ini files
| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | no
| Fixed tickets | 
| License       | MIT
| Doc PR        | 

INI_SCANNER_RAW change the default scanner mode of parse_ini_files to parse all values without evaluate. This allow values with single quotes, "no" and "false" and raise an error if you use the deprecated "#" as comment character.
This change is specially good for shared translations, because a translator haven't to know that he can't use a few restricted terms.
And has a residual improvement: it's twice fast that use the default value (INI_SCANNER_NORMAL) in my tests
2014-01-29 22:47:07 +01:00
Fabien Potencier
e973fa45f5 bug #10151 [Form] Update DateTime objects only if the actual value has changed (peterrehm)
This PR was squashed before being merged into the 2.3 branch (closes #10151).

Discussion
----------

[Form] Update DateTime objects only if the actual value has changed

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

Right now the Form component replaces DateTime fields with new Objects, therefore the hash is changing.
This leads to unnecessary database updated when working with doctrine. With this patch the DateTime object
of the actual entity is only replaced if the value has been changed.

Commits
-------

1f22d3a [Form] Update DateTime objects only if the actual value has changed
2014-01-29 07:46:08 +01:00
Peter Rehm
1f22d3a564 [Form] Update DateTime objects only if the actual value has changed 2014-01-29 07:46:08 +01:00
Fabien Potencier
c476d13b57 Revert "bug #10091 [Translation] Update PluralizationRules.php (guilhermeblanco)"
This reverts commit 61625b466d, reversing
changes made to 3558588891.
2014-01-28 16:54:04 +01:00
Fabien Potencier
625a4b9650 [HttpFoundation] fixed typo 2014-01-28 16:07:56 +01:00
r1pp3rj4ck
7f740493ba Fixed grammar in Hungarian translations 2014-01-27 23:45:52 +01:00
Sébastien Lavoie
72d45839f0 Added delta for Request comparison
Sometimes, tests are failing because REQUEST_TIME
changes between the creation of the various sub-requests.

By using delta, we allow maximum of second of difference.

Example: https://travis-ci.org/symfony/symfony/jobs/17668158#L511
2014-01-27 08:59:15 +01:00
Fabien Potencier
0cb789a369 minor #10144 [Validator][Translation] add zh_TW validator translations (RickySu)
This PR was merged into the 2.3 branch.

Discussion
----------

[Validator][Translation] add zh_TW validator translations

add Traditional Chinese validator translations.

Commits
-------

c755e85 add zh_TW validator translations
2014-01-27 08:55:41 +01:00
Ricky Su
c755e85a39 add zh_TW validator translations 2014-01-27 09:55:33 +08:00
Roumen Damianoff
e9cc2283c8 Added Bulgarian translation for security component 2014-01-26 22:34:10 +01:00
Fabien Potencier
6a0de7f512 Merge branch '2.4'
* 2.4:
  fixed CS
  allow the TextAreaFormField to be used with valid/invalid HTML
  Create security.id.xlf
  [DependencyInjection] Remove unneeded file
  [Twig] removed obsolete conditions on Twig versions
  added lines to exceptions for the trans and transchoice tags
  [FrameworkBundle] Merged multiple line input into one line to fix the tests.
  [Form] Make FormInterface::add docblock more explicit
  [Security] Add zh_CN translations
  Routing condition bugfix
  [Validator][Translation]update zh_CN translations
  [Validator] Minor fix in XmlLoader
2014-01-26 22:33:16 +01:00
Fabien Potencier
6c11d55b06 Merge branch '2.3' into 2.4
* 2.3:
  fixed CS
  allow the TextAreaFormField to be used with valid/invalid HTML
  Create security.id.xlf
  [DependencyInjection] Remove unneeded file
  [Twig] removed obsolete conditions on Twig versions
  added lines to exceptions for the trans and transchoice tags
  [Form] Make FormInterface::add docblock more explicit
  [Security] Add zh_CN translations
  [Validator][Translation]update zh_CN translations
  [Validator] Minor fix in XmlLoader
2014-01-26 22:33:04 +01:00
Fabien Potencier
9b27d8a7a9 fixed CS 2014-01-26 22:32:47 +01:00
Daniel Wehner
3db1b10efd allow the TextAreaFormField to be used with valid/invalid HTML 2014-01-26 22:32:17 +01:00
Fabien Potencier
bacedeab2a minor #10136 [DependencyInjection] Remove unneeded file (florianv)
This PR was merged into the 2.3 branch.

Discussion
----------

[DependencyInjection] Remove unneeded file

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

I think the file was moved here by mistake from the fixtures.

Commits
-------

caf1809 [DependencyInjection] Remove unneeded file
2014-01-26 08:49:07 +01:00
Ulumuddin Cahyadi Yunus
7edb5dec3a Create security.id.xlf 2014-01-26 03:55:58 +08:00
florianv
caf180959f [DependencyInjection] Remove unneeded file 2014-01-25 20:23:00 +01:00
Fabien Potencier
eb74cb6604 bug #10131 added lines to exceptions for the trans and transchoice tags (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

added lines to exceptions for the trans and transchoice tags

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

Commits
-------

ee0470d added lines to exceptions for the trans and transchoice tags
2014-01-25 11:13:52 +01:00
Fabien Potencier
aedb919676 minor #10132 Remove obsolete conditions (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

Remove obsolete conditions

| 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

In `composer.json`, Twig version is set to 1.12 as a minimum, so all conditions about earlier Twig versions can be safely removed.

Commits
-------

c3ff76a [Twig] removed obsolete conditions on Twig versions
2014-01-25 11:12:48 +01:00
Fabien Potencier
774674efbf feature #10112 [Routing] Add createRoute method for AnnotationClassLoader (henrikbjorn)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Routing] Add createRoute method for AnnotationClassLoader

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

This allows to use a custom route class. So if you want to support
annotations for Routing in Silex it can now be done while keeping the
custom routing options Silex supports.

Commits
-------

97404b3 Add createRoute method for AnnotationClassLoader
2014-01-25 11:05:55 +01:00
Fabien Potencier
82031dd66e minor #10129 [Form] Make FormInterface::add docblock more explicit (billhance)
This PR was merged into the 2.3 branch.

Discussion
----------

[Form] Make FormInterface::add docblock more explicit

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

When replacing a child form from within a form event, it's not obvious that you have to use the 'add' method. Though it's minor, this will save somebody a google search.

Commits
-------

23216aa [Form] Make FormInterface::add docblock more explicit
2014-01-25 11:04:07 +01:00
Fabien Potencier
c3ff76a989 [Twig] removed obsolete conditions on Twig versions 2014-01-25 10:57:36 +01:00
Fabien Potencier
ee0470d110 added lines to exceptions for the trans and transchoice tags 2014-01-25 10:55:07 +01:00
Jakub Zalas
38691da482 [FrameworkBundle] Merged multiple line input into one line to fix the tests.
This was initially done in b85577bb96, but
reverted when merging and solving conflicts from 2.3 branch
(07de76122b).
2014-01-25 00:00:10 +00:00
Bill Hance
23216aa113 [Form] Make FormInterface::add docblock more explicit
| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | 
| License       | MIT
| Doc PR        | 

When replacing a child form from within a form event, it's not obvious that you have to use the 'add' method. Though it's minor, this will save somebody a google search.
2014-01-24 15:53:20 -08:00
Wang Jingyu
27630ebfa1 [Security] Add zh_CN translations 2014-01-25 02:33:21 +08:00
Marco Jantke
0a2bb7b476 Routing condition bugfix 2014-01-24 19:08:49 +01:00
Wang Jingyu
064346acdd [Validator][Translation]update zh_CN translations
* add new trans-units
* change some translations
* change punctuations, whitespaces
2014-01-25 01:47:30 +08:00
Fabien Potencier
4e137cc7cb feature #10064 [TwigBridge] Added support for json format in twig:lint command (lyrixx)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[TwigBridge] Added support for json format in twig:lint command

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

Commits
-------

4d2f94a [TwigBridge] Added support for json format in twig:lint command
621f991 [TwigBridge] Cleaned documentation of twig:lint command
2014-01-24 17:58:46 +01:00
Fabien Potencier
2e2a65c0f4 Merge branch '2.4'
* 2.4: (35 commits)
  Update validators.ro.xlf
  add non-standard port to HTTP_HOST
  fixed attribute "source-language" for translations
  [Process] clarify idle timeout
  [Security] fix DI for SimpleFormAuthenticationListener
  Update PluralizationRules.php
  Update validators.pt_BR.xlf
  Translated remaining items (57-72)
  Updated Vietnamese translation
  allow null value in fragment handler
  added missing dot in translation
  updated Arabic translations
  Update validators.id.xlf
  [Validator] Translate validator messages into Brazilian Portuguese
  Added more Swedish validator translations
  Update validators.ca.xlf
  fixed typos in Welsh translation
  Added missing Croatian translations
  [Form] fixed allow render 0 and 0.0 numeric input values
  Fixed validators.nl.xlf
  ...

Conflicts:
	src/Symfony/Bridge/Twig/composer.json
2014-01-24 15:36:35 +01:00
Fabien Potencier
07de76122b Merge branch '2.3' into 2.4
* 2.3: (30 commits)
  Update validators.ro.xlf
  add non-standard port to HTTP_HOST
  fixed attribute "source-language" for translations
  Update PluralizationRules.php
  Update validators.pt_BR.xlf
  Translated remaining items (57-72)
  Updated Vietnamese translation
  added missing dot in translation
  updated Arabic translations
  Update validators.id.xlf
  [Validator] Translate validator messages into Brazilian Portuguese
  Added more Swedish validator translations
  Update validators.ca.xlf
  fixed typos in Welsh translation
  Added missing Croatian translations
  [Form] fixed allow render 0 and 0.0 numeric input values
  Fixed validators.nl.xlf
  [Component/Security] Fixed some phpdocs in Security/Core
  Completed Luxembourgish translation
  Fixing the Logger deprecation notices to match the correct method name it should be informing of
  ...

Conflicts:
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_widget_simple.html.php
	src/Symfony/Component/Console/Application.php
2014-01-24 15:36:08 +01:00
florianv
16b726c043 [Validator] Minor fix in XmlLoader 2014-01-24 14:40:35 +01:00
Ionel Scutelnicu
d82f83037d Update validators.ro.xlf
some typo errors have been fixed
2014-01-24 10:08:30 +02:00
Kevin Bond
247604c9b4 add non-standard port to HTTP_HOST 2014-01-24 07:18:16 +01:00
Fabien Potencier
8c47a9fabc bug #10095 [Security] fix DI for SimpleFormAuthenticationListener (Tobion)
This PR was merged into the 2.4 branch.

Discussion
----------

[Security] fix DI for SimpleFormAuthenticationListener

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

The problematic commit was f2f15f54f9

Commits
-------

b3f5fa9 [Security] fix DI for SimpleFormAuthenticationListener
2014-01-24 07:15:26 +01:00
Henrik Bjørnskov
97404b3614 Add createRoute method for AnnotationClassLoader
This allows to use a custom route class. So if you want to support
annotations for Routing in Silex it can now be done while keeping the
custom routing options Silex supports.
2014-01-23 11:11:15 +01:00
Christian Raue
7434550284 fixed attribute "source-language" for translations 2014-01-21 21:48:24 +01:00
Tobias Schultze
9f07b4db25 [Process] clarify idle timeout 2014-01-21 10:48:43 +01:00
Tobias Schultze
b3f5fa9b73 [Security] fix DI for SimpleFormAuthenticationListener 2014-01-21 10:08:13 +01:00
Guilherme Blanco
324ad4ccfd Update PluralizationRules.php 2014-01-21 06:04:52 +01:00
Guilherme Blanco
f637920e98 Update validators.pt_BR.xlf
Fixes for pt_BR validator translations.
2014-01-20 20:48:14 -05:00
e-ivanov
d6a7dc9236 Translated remaining items (57-72) 2014-01-20 13:18:55 +02:00
Grégoire Pineau
689e9bf001 [FrameworkBundle] Pretty Ppint json ouput of yaml:lint command 2014-01-20 10:15:51 +01:00
Grégoire Pineau
4d2f94a7c3 [TwigBridge] Added support for json format in twig:lint command 2014-01-20 10:09:22 +01:00
Ha Phan
905ae83fb2 Updated Vietnamese translation 2014-01-20 14:33:46 +07:00
Fabien Potencier
c8734aaa4d bug #10053 [Form] fixed allow render 0 numeric input value (dczech)
This PR was merged into the 2.3 branch.

Discussion
----------

[Form] fixed allow render 0 numeric input value

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

Commits
-------

82f98c4 [Form] fixed allow render 0 and 0.0 numeric input values
2014-01-20 07:36:49 +01:00
Kevin Bond
c29958f82f allow null value in fragment handler 2014-01-20 07:30:15 +01:00
Fabien Potencier
95a8913b78 added missing dot in translation 2014-01-20 07:28:27 +01:00
Abdul.Mohsen B. A. A
770a94df4e updated Arabic translations
added the missing trans-units of 64 to 72
2014-01-20 07:27:46 +01:00
Ulumuddin Cahyadi Yunus
12cb270c16 Update validators.id.xlf
Update validators for indonesian language
2014-01-20 07:22:06 +01:00
Andreia Bohner
1d84e7e19f [Validator] Translate validator messages into Brazilian Portuguese 2014-01-19 08:50:20 +01:00
Grégoire Pineau
621f991e15 [TwigBridge] Cleaned documentation of twig:lint command 2014-01-18 14:02:22 +01:00
Tobias Sjösten
4db465d43c Added more Swedish validator translations 2014-01-18 12:31:25 +01:00
Fabien Potencier
4ad343bd0f feature #10005 [Security] Added named encoders to EncoderFactory (tamirvs)
This PR was squashed before being merged into the 2.5-dev branch (closes #10005).

Discussion
----------

[Security] Added named encoders to EncoderFactory

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

This PR is basically merging FOSAdvancedEncoder. I think it's better than having a separate bundle that most of it's code is a copy of the core.
A use case is: having a different encoders or bcrypt cost based on the user's roles.

Commits
-------

c69e2ca [Security] Added named encoders to EncoderFactory
2014-01-18 10:09:36 +01:00
tamirvs
c69e2ca11f [Security] Added named encoders to EncoderFactory 2014-01-18 10:09:35 +01:00
Fabien Potencier
fc3f05ad84 minor #10058 Added missing Croatian translations (gjuric)
This PR was merged into the 2.3 branch.

Discussion
----------

Added missing Croatian translations

| Q             | A
| ------------- | ---
| Fixed tickets |
| License       | MIT

Commits
-------

5957cc1 Added missing Croatian translations
2014-01-18 10:03:25 +01:00
Fabien Potencier
48f15142c9 minor #10060 [validator] fixed typos in Welsh translation (Padrig)
This PR was merged into the 2.3 branch.

Discussion
----------

[validator] fixed typos in Welsh translation

| Q             | A
| ------------- | ---
| Fixed tickets | #10059
| License       | MIT

Commits
-------

3f5397d fixed typos in Welsh translation
2014-01-18 10:02:39 +01:00
Oriol Mangas
485c104734 Update validators.ca.xlf
Added missing Catalan translations
2014-01-17 22:05:03 +01:00
Pads
3f5397db4b fixed typos in Welsh translation 2014-01-17 20:03:20 +00:00
Goran Juric
5957cc14f1 Added missing Croatian translations 2014-01-17 20:57:31 +01:00
Dariusz Czech
82f98c4fb3 [Form] fixed allow render 0 and 0.0 numeric input values 2014-01-17 17:40:59 +01:00
Fabien Potencier
a207006417 minor #9996 [Routing] Added an extension point for globals in AnnotationClassLoader (lyrixx)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Routing] Added an extension point for globals in AnnotationClassLoader

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

We need to add a new extension point for global to be able to support
`@Method` on class:

``` php
/**
 * @Route("/api")
 * @Method("GET")
 */
class FooBarController
{
    /**
     * @Route("/")
     */
    public function listAction()
    {
    }

    /**
     * @Route("/new")
     * @Method("POST")
     */
    public function newAction()
    {
    }
}
```

Commits
-------

8f7524e [Routing] Added an extension point for globals in AnnotationClassLoader
2014-01-17 16:11:29 +01:00
Fabien Potencier
6c86995052 minor #10046 [2.3][Component/Security] Fixed some phpdocs in Security/Core (stloyd)
This PR was merged into the 2.3 branch.

Discussion
----------

[2.3][Component/Security] Fixed some phpdocs in Security/Core

| Q             | A
| ------------- | ---
| Bug fix?      | kinda*
| New feature?  | no
| License       | MIT

\* - those missing phpdocs lead to problems when debugging with IDE, as well as some were wrong (i.e. `SecurityContextInterface::isGranted()`) as parameters differ in interface & class implementing it

Commits
-------

80fae1d [Component/Security] Fixed some phpdocs in Security/Core
2014-01-17 14:36:43 +01:00
Klaus Silveira
183d0ec302 [FrameworkBundle] Added a helper method to create AccessDeniedException 2014-01-17 14:23:56 +01:00
Mark de Haan
6c05b1d1ca Fixed validators.nl.xlf
Source of trans-unit id 72 was incorrect.
Made two minor grammar updates.
2014-01-17 10:59:24 +01:00
Joseph Bielawski
80fae1d6e8 [Component/Security] Fixed some phpdocs in Security/Core 2014-01-17 10:30:22 +01:00
Chris
d090b76ed8 fix foo[index] 2014-01-17 09:36:46 +01:00
Michel Weimerskirch
d7a41f345b Completed Luxembourgish translation 2014-01-17 09:32:05 +01:00
Trevor Suarez
8b1773ffb6 Fixing the Logger deprecation notices to match the correct method name it should be informing of 2014-01-16 10:15:18 +01:00
Jakub Zalas
3097ec68e0 [FrameworkBundle] Thrown an HttpException instead returning a Response in order to show an error page when path is not defined. 2014-01-15 00:09:56 +01:00
Bernhard Schussek
cec05bf85b [WebProfilerBundle] Simplified session storage implementation 2014-01-14 17:13:05 +01:00
Fabien Potencier
fff29a398d feature #9967 Form debugger storage (WouterJ)
This PR was squashed before being merged into the 2.5-dev branch (closes #9967).

Discussion
----------

Form debugger storage

This PR continues #9857

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

Commits
-------

744da7f Form debugger storage
2014-01-13 21:44:32 +01:00
WouterJ
744da7f29c Form debugger storage 2014-01-13 21:44:31 +01:00
Fabien Potencier
916420f115 feature #9980 [Routing][FrameworkBundle] Deprecated the apache dumper (jakzal)
This PR was squashed before being merged into the 2.5-dev branch (closes #9980).

Discussion
----------

[Routing][FrameworkBundle] Deprecated the apache dumper

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

Commits
-------

6258cfa [Routing][FrameworkBundle] Deprecated the apache dumper
2014-01-13 21:29:22 +01:00
Jakub Zalas
6258cfaa03 [Routing][FrameworkBundle] Deprecated the apache dumper 2014-01-13 21:29:22 +01:00
Fabien Potencier
704f9823c5 bug #9985 Prevent WDT from creating a session (mvrhov)
This PR was merged into the 2.3 branch.

Discussion
----------

Prevent WDT from creating a session

The wdt should not create a session.

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: N/A
Todo: -
License of the code: MIT
Documentation PR: N/A

Commits
-------

4791351 Prevent WDT from creating a session
2014-01-13 21:28:00 +01:00
cmfcmf
81a1fbec42 Coding standards
static MUST be declared after the visibility (PSR-2)
2014-01-13 21:21:10 +01:00
Richard van den Brand
521eee42d8 [Twig Bridge] Fixed bug in ExpressionExtension 2014-01-13 21:19:24 +01:00
Christophe Coevoet
ac1ba81834 [Console] Fixed the compatibility with HHVM 2014-01-11 08:44:43 +01:00
Bernhard Schussek
6b3fbb5905 [Form] Changed the default value of $flatten in Form::getErrors() to true 2014-01-10 17:41:46 +01:00
Bernhard Schussek
a9268c4a99 [Form] Changed Form::getErrors() to return an iterator and added two optional parameters $deep and $flatten 2014-01-10 17:41:45 +01:00
Fabien Potencier
8ea3a43167 feature #9993 [Form] Errors now reference the field they were added to and the violation/exception that caused them (bschussek)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Form] Errors now reference the field they were added to and the violation/exception that caused them

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

Commits
-------

c8a0ee6 [Form] Errors now reference the field they were added to and the violation/exception that caused them
2014-01-10 15:47:40 +01:00
Grégoire Pineau
8f7524e797 [Routing] Added an extension point for globals in AnnotationClassLoader 2014-01-10 15:46:24 +01:00
Dave Hulbert
d4e32c62f5 Fix for a couple of undefined classes in docblocks 2014-01-10 15:42:33 +01:00
Bernhard Schussek
c8a0ee6b3a [Form] Errors now reference the field they were added to and the violation/exception that caused them 2014-01-10 11:44:16 +01:00
Vladyslav Petrovych
8ddb74adaa Fix for null values in assosiated properties when using UniqueEntityValidator 2014-01-09 21:30:13 +01:00
Miha Vrhovnik
4791351d78 Prevent WDT from creating a session 2014-01-09 13:15:03 +01:00
Joseph Bielawski
c003291235 [TwigBridge] Update min. version of Twig
The minimal version of Twig must be 1.12 because of usage the method `Twig_SimpleFunction` that was added in that version.
2014-01-09 11:59:13 +01:00
Jean-François Simon
613535a4d0 [CssSelector] fixed numeric attribute issue 2014-01-07 20:32:21 +01:00
iamluc
bd78fbd1c3 Add type detection. Needed by pdo_dblib 2014-01-07 17:16:07 +01:00
Fabien Potencier
c833518795 feature #9776 [Console] Added the possibility to set a different default command (danielcsgomes)
This PR was squashed before being merged into the 2.5-dev branch (closes #9776).

Discussion
----------

[Console] Added the possibility to set a different default command

I am not quite sure if this is the best approach to solve the issue but the solution I provide works. Let me know your suggestions to improve it.

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

Commits
-------

418de05 [Console] Added the possibility to set a different default command
2014-01-07 16:22:10 +01:00
Daniel Gomes
418de05b35 [Console] Added the possibility to set a different default command 2014-01-07 16:22:10 +01:00
Fabien Potencier
f2261da450 [FrameworkBundle] simplified code 2014-01-07 15:07:32 +01:00
ConneXNL
a1f64114ab [FrameworkBundle] added feedback in cache:clear 2014-01-07 15:01:26 +01:00
Fabien Potencier
0af3ca39f5 Merge branch '2.4'
* 2.4:
  udpated LICENSE year
  update year on licenses
  rundown and typo fix
  [Process] Fix #9861 : Revert TTY mode
  [Form] Update minimal requirement in composer.json
  Fix Empty translations with Qt files
  [Console] Fixed command name guessing if an alternative is an alias.
  Update UPGRADE-2.3.md to account for #9388
  [WebProfilerBundle] Fixed profiler toolbar icons for XHTML.
  [BrowserKit] Throw exception on invalid cookie expiration timestamp
  [Propel1Bridge][ModelChoiceList] add exception message for invalid classes
2014-01-07 14:29:57 +01:00
Fabien Potencier
795599911e udpated LICENSE year 2014-01-07 14:29:32 +01:00
Fabien Potencier
30e66fa773 Merge branch '2.3' into 2.4
* 2.3:
  update year on licenses
  rundown and typo fix
  [Process] Fix #9861 : Revert TTY mode
  [Form] Update minimal requirement in composer.json
  Fix Empty translations with Qt files
  Update UPGRADE-2.3.md to account for #9388

Conflicts:
	src/Symfony/Component/Validator/Tests/Constraints/LessThanValidatorTest.php
2014-01-07 14:28:54 +01:00
Fabien Potencier
2cc6bdaad1 minor #9965 [All] update license year to 2014 (cordoval)
This PR was merged into the 2.3 branch.

Discussion
----------

[All] update license year to 2014

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

 Sent using [Gush](https://github.com/cordoval/gush)

sorry about the previous PR now closed, forgot Gush had branched off of master and not 2.3

Commits
-------

8ace5f9 update year on licenses
2014-01-07 14:28:10 +01:00
Joseph Bielawski
f8bc3b276f [HttpFoundation] JsonResponse::setEncodingOptions accepts also integer
Now you can set encoding options like:
```
$response->setEncodingOptions(JSON_UNESCAPED_UNICODE | $response->getEncodingOptions());
2014-01-07 14:19:33 +01:00
Luis Cordova
8ace5f9f0d update year on licenses 2014-01-07 08:19:25 -05:00
Luis Cordova
dcd23df424 rundown and typo fix 2014-01-07 07:58:55 -05:00
Fabien Potencier
74fb207a24 feature #9915 [HttpFoundation] Add ability to change JSON encoding options (stloyd)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[HttpFoundation] Add ability to change JSON encoding options

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

Commits
-------

89f4784 [HttpFoundation] Add ability to change JSON encoding options
2014-01-07 13:41:34 +01:00
Joseph Bielawski
89f47841fe [HttpFoundation] Add ability to change JSON encoding options 2014-01-07 13:28:26 +01:00
Fabien Potencier
a596ba362b feature #8375 [OptionsResolver] Allow giving a callback as an allowedValue to OptionsResolver (marekkalnik)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[OptionsResolver] Allow giving a callback as an allowedValue to OptionsResolver

I recently had to use an option which was an array and could contain some one or multiple values from a list. As it could contain all possible combinations, it was not possible to validate it with a list of allowed values.

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

Commits
-------

07d1d30 Allow giving a callback as an allowedValue to OptionsResolver
2014-01-07 10:34:19 +01:00
Fabien Potencier
a0c5c6bcd3 bug #9962 [Process] Fix #9861 : Revert TTY mode (romainneutron)
This PR was merged into the 2.3 branch.

Discussion
----------

[Process] Fix #9861 : Revert TTY mode

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

This revert the TTY mode support for the process component

Commits
-------

160b1cf [Process] Fix #9861 : Revert TTY mode
2014-01-07 10:32:57 +01:00
Romain Neutron
160b1cfae8 [Process] Fix #9861 : Revert TTY mode 2014-01-07 10:16:01 +01:00
Marek Kalnik
07d1d3074e Allow giving a callback as an allowedValue to OptionsResolver 2014-01-07 10:05:19 +01:00
Joseph Bielawski
88153b3aa5 [Form] Update minimal requirement in composer.json
Minimal requirement for PropertyAccess component needs to be `~2.3` as Form component depends on new method `PropertyAccess::createPropertyAccessor()`
2014-01-07 09:39:31 +01:00
Vincent LEFORT
7eacc5adf5 Fix Empty translations with Qt files 2014-01-07 09:33:09 +01:00
Jakub Zalas
ade448cf10 [Console] Fixed command name guessing if an alternative is an alias. 2014-01-06 22:33:02 +00:00
Fabien Potencier
f3670b4bfa feature #9666 [FrameworkBundle] Added a yaml:lint command (lyrixx)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[FrameworkBundle] Added a yaml:lint command

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

Commits
-------

9c06b27 [FrameworkBundle] Added yaml:lint command
2014-01-06 17:42:30 +01:00
Grégoire Pineau
9c06b27283 [FrameworkBundle] Added yaml:lint command 2014-01-06 17:41:52 +01:00
Fabien Potencier
73edae9a79 Merge branch '2.3' into 2.4
* 2.3:
  [WebProfilerBundle] Fixed profiler toolbar icons for XHTML.
  [BrowserKit] Throw exception on invalid cookie expiration timestamp
  [Propel1Bridge][ModelChoiceList] add exception message for invalid classes
2014-01-06 17:19:55 +01:00
Fabien Potencier
6e0848dce2 bug #9948 [WebProfilerBundle] Fixed profiler toolbar icons for XHTML. (rafalwrzeszcz)
This PR was squashed before being merged into the 2.3 branch (closes #9948).

Discussion
----------

[WebProfilerBundle] Fixed profiler toolbar icons for XHTML.

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

Profiler page itself is entirely autonomic, but toolbar is not - unfortunately currently it doesn't work in XHTML documents :(.

#9877 backported to `2.3` branch.

Commits
-------

296c4d1 [WebProfilerBundle] Fixed profiler toolbar icons for XHTML.
2014-01-06 17:19:21 +01:00