Commit Graph

18338 Commits

Author SHA1 Message Date
Bernhard Schussek
3bed1b7988 Merge branch '2.3' into 2.4
* 2.3: (22 commits)
  Fix incorrect romanian plural translations
  fix axes handling in Crawler::filterXPath()
  fix some docblocks
  Fixed self-reference in 'service_container' service breaks garbage collection (and clone).
  [Process] Fix tests when pcntl is not available.
  [DependencyInjection] Roll back changes made to generated files.
  [Console] Roll back changes made to fixture files.
  [Validator] Added more detailed inline documentation
  [Validator] Removed information from the violation output if the value is an array, object or resource
  partially reverted previous commit
  fixed CS
  properly handle null data when denormalizing
  [Validator] Renamed valueToString() to formatValue(); added missing formatValue() calls
  [Validator] Fixed CS
  [Validator] Fixed date-to-string conversion tests to match ICU 51
  [Validator] Added "{{ value }}" parameters where they were missing
  [Validator] Simplified and explained the LuhnValidator
  [Validator] Simplified IssnValidator
  [Validator] Fixed and simplified IsbnValidator
  [Validator] Simplified IBAN validation algorithm
  ...

Conflicts:
	src/Symfony/Component/Console/Helper/DescriptorHelper.php
	src/Symfony/Component/DependencyInjection/Container.php
	src/Symfony/Component/DomCrawler/Tests/CrawlerTest.php
	src/Symfony/Component/HttpFoundation/File/UploadedFile.php
	src/Symfony/Component/HttpKernel/Fragment/FragmentHandler.php
	src/Symfony/Component/Validator/Constraints/AbstractComparisonValidator.php
	src/Symfony/Component/Validator/Constraints/CollectionValidator.php
	src/Symfony/Component/Validator/Tests/Constraints/EqualToValidatorTest.php
	src/Symfony/Component/Validator/Tests/Constraints/GreaterThanValidatorTest.php
	src/Symfony/Component/Validator/Tests/Constraints/IdenticalToValidatorTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LessThanOrEqualValidatorTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LessThanValidatorTest.php
	src/Symfony/Component/Validator/Tests/Constraints/NotEqualToValidatorTest.php
	src/Symfony/Component/Validator/Tests/Constraints/NotIdenticalToValidatorTest.php
2014-08-04 12:16:36 +02:00
Fabien Potencier
d754467d0e minor #11557 Fix incorrect romanian plural translations (moldcraft)
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes #11557).

Discussion
----------

Fix incorrect romanian plural translations

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

In romanian plural translations was only one or two forms, but is required three, because it throws errors when transchoice has number that is translated to the third form.

Before fix

![staticshot_04-08-2014_11-27-51](https://cloud.githubusercontent.com/assets/1475489/3794833/ff9047c4-1bb2-11e4-8965-61d53803eb7c.png)

After fix

![staticshot_04-08-2014_11-33-18](https://cloud.githubusercontent.com/assets/1475489/3794844/1f8c48ca-1bb3-11e4-8654-69e0f3107e6d.png)

Info about romanian plural forms

![staticshot_04-08-2014_11-39-41](https://cloud.githubusercontent.com/assets/1475489/3794849/3cb03e70-1bb3-11e4-9151-7075ec9c8f4d.png)

Commits
-------

0c6f750 Fix incorrect romanian plural translations
2014-08-04 11:02:02 +02:00
moldcraft
0c6f750c1e Fix incorrect romanian plural translations 2014-08-04 11:02:01 +02:00
Hany el-Kerdany
18e3e6fe20 [DependencyInjection] fixed missing 'factory-class' attribute in XmlDumper output
Symfony\Component\DependencyInjection\Dumper\XmlDumper didn't write 'factory-class' XML attribute for definitions on which setFactoryClass() was called.

This caused the Container[Builder] to throw an exception when the relevant service is being requested/initiated after loading the dumped XML:

`Uncaught Exception Symfony\Component\DependencyInjection\Exception\RuntimeException: "Cannot create service "xxx" from factory method without a factory service or factory class." at /<path>/<to>/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerBuilder.php`

Fixed the problem, and updated the relevant test fixture.
2014-08-04 10:10:46 +03:00
Emanuele Iannone
5f06d96415 Fixed some extra empty spaces
The extra spaces were introduced by commit 8f9ed3ebb9 by @chrisguitarguy
2014-08-03 21:03:03 +02:00
Fabien Potencier
9ac2234eb8 bug #11548 [Component][DomCrawler] fix axes handling in Crawler::filterXPath() (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

[Component][DomCrawler] fix axes handling in Crawler::filterXPath()

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

Due to some limitations in the ``relativize()`` method, it was not possible to use XPath axes other than ``descendant`` or ``descendant-or-self`` in the ``filterXPath()`` method of the ``Crawler`` class. This commit adds support for the ``ancestor``, ``ancestor-or-self``, ``attribute``, ``child``, ``following``, ``following-sibling``, ``parent``, ``preceding``, ``preceding-sibling`` and ``self`` axes.

The only axis missing after this is the ``namespace`` axis. Filtering for namespace nodes returns ``DOMNameSpaceNode`` instances which can't be passed to the ``add()`` method.

Commits
-------

8dc322b fix axes handling in Crawler::filterXPath()
2014-08-03 08:32:28 +02:00
Fabien Potencier
3ecf68535c minor #11546 [Validator] refs #11489 add some translations in french (vincentaubert)
This PR was merged into the 2.6-dev branch.

Discussion
----------

[Validator] refs #11489 add some translations in french

| Q             | A
| ------------- | ---
| Fixed tickets | part of #11489
| License       | MIT

fixes some FR translations

Commits
-------

50791c6 [Validator] refs #11489 add some translations in french
2014-08-03 08:31:13 +02:00
Christian Raue
8504d02c51 fixed whitespace in Twig form template 2014-08-02 16:06:49 +02:00
Christian Flothmann
8dc322be34 fix axes handling in Crawler::filterXPath()
Due to some limitations in the relativize() method, it was not
possible to use XPath axes other than descendant or descendant-or-self
in the filterXPath() method of the Crawler class. This commit adds
support for the ancestor, ancestor-or-self, attribute, child,
following, following-sibling, parent, preceding, preceding-sibling and
self axes.
2014-08-02 10:47:58 +02:00
Vincent AUBERT
50791c6571 [Validator] refs #11489 add some translations in french 2014-08-02 10:13:09 +02:00
Fabien Potencier
abf2edf81a minor #11483 fix some docblocks (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

fix some docblocks

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

Commits
-------

1775da5 fix some docblocks
2014-08-02 09:53:48 +02:00
Hugo Hamon
9926845cf3 [Translation] made XliffFileDumper support CDATA sections. 2014-08-02 09:13:43 +02:00
Christian Flothmann
f143254220 built-in server: exit when docroot does not exist
When the server:run command is run with an invalid document root
directory (for example, when being in the app directory and not
changing the document root to ../web/), the command crashes on Windows
with a 267 exit code. On Linux, the server starts but just publishes
internal server errors.
2014-08-02 09:12:28 +02:00
Christian Flothmann
1775da5925 fix some docblocks 2014-08-02 08:27:27 +02:00
Fabien Potencier
cd005e69ff bug #11422 [DependencyInjection] Self-referenced 'service_container' service breaks garbage collection (sun)
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes #11422).

Discussion
----------

[DependencyInjection] Self-referenced 'service_container' service breaks garbage collection

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

#### Problem
1. `Container::__construct()` sets the `service_container` service ID to a self-reference of `$this`.
1. This breaks PHP garbage collection (as well as `clone`).

#### Background
* As explained in [Reference Counting Basics](http://php.net/manual/en/features.gc.refcounting-basics.php), PHP is not able to destruct and garbage collect variables that contain a reference to itself, because the `refcount` is always > 0.

#### Example Use-Case
A precompiled container that is cloned for multiple tests (because `::compile()` can be slow).

```php
$precompiled = new ContainerBuilder();
// ...
$precompiled->compile();
foreach ($precompiled->getServiceIds() as $id) {
  if ($precompiled->initialized($id)) {
    $precompiled->set($id, null);
  }
}
$precompiled_clean = clone $precompiled;
$precompiled = NULL;
// ...
foreach ($tests as $test) {
  $container = clone $precompiled_clean;
  // Required without this PR:
  $container->set('service_container', $container);
  // ...
}
```

* **Actual result [master]:**
  All references to the original `$precompiled` container are not destructed and cleaned up, because `$precompiled` still references itself, which can cause terribly hard to debug defects due to stale reference pointers in memory (especially with `ContainerAware` services, or things like e.g. PDO connections), as well as high memory consumption, etc.

* **Expected result [PR]:**
  No references to `$precompiled` are left; everything is shut down, cleaned up, and garbage-collected upon `$precompiled = NULL;`

#### Proposed solution
1. Hard-code a special behavior for the service ID `service_container`.
1. Remove the self-reference.
1. For now (until next major release), ensure that all `Container` methods work identically to before — instead of throwing exceptions when e.g. trying to set `service_container` to something that isn't `$this`… (which is technically possible right now, but the operation doesn't remotely make sense)

#### API changes
Per (3) above, this PR is backwards-compatible.  However, for the sake of full disclosure, users may experience the following super-micro changes compared to HEAD:

1. The following method no longer exists in a dumped Container, because it is no longer a registered service:

  ```php
      protected function getServiceContainerService()
      {
          throw new RuntimeException('You have requested a synthetic service ("service_container"). The DIC does not know how to construct this service.');
      }
  ```
  But given the exception, you weren't able to call it anyway.
1. The order/position of `service_container` in the array returned by `Container::getServiceIds()` may be different.

  But that array has no particular order to begin with.

  (Only the component's own unit tests are expecting an identical result at times, which is why I added the hard-coded ID via `$id[]` last, instead of initializing it first with `$id` already.)
1. `$container->set('service_container', $not_the_container);` no longer works.

Commits
-------

440322e Fixed self-reference in 'service_container' service breaks garbage collection (and clone).
2014-08-02 08:06:08 +02:00
sun
440322effc Fixed self-reference in 'service_container' service breaks garbage collection (and clone). 2014-08-02 08:06:01 +02:00
Fabien Potencier
497c875304 minor #11539 [Process] Fix tests when pcntl is not available. (jakzal)
This PR was merged into the 2.3 branch.

Discussion
----------

[Process] Fix tests when pcntl is not available.

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

It's solved the same way in the [AbstractProcessTest](3b837dc5c1/src/Symfony/Component/Process/Tests/AbstractProcessTest.php (L602-L603)).

Commits
-------

e40f24f [Process] Fix tests when pcntl is not available.
2014-08-01 14:08:29 +02:00
Jakub Zalas
e40f24f0a9 [Process] Fix tests when pcntl is not available. 2014-08-01 11:51:55 +01:00
Fabien Potencier
69e8100c59 minor #11533 Issue #11489 Added some CA and ES translations (mmoreram)
This PR was merged into the 2.4 branch.

Discussion
----------

Issue #11489 Added some CA and ES translations

* Added some translations in CA
* Fixed some translations in ES

Commits
-------

67a6b75 Issue #11489 Added some CA and ES translations
2014-08-01 10:30:40 +02:00
Fabien Potencier
c812379479 minor #11534 Issue #11489 Translated 78 in Català (mmoreram)
This PR was merged into the 2.6-dev branch.

Discussion
----------

Issue #11489 Translated 78 in Català

Just 78 is created because 73 to 77 are in another PR to branch 2.4.

Commits
-------

88eac04 Issue #11532 Translated 78 in Català
2014-08-01 08:20:52 +02:00
Fabien Potencier
94ff4e999a minor #11531 [HttpKernel][FrameworkBundle] Replaced ESI mentions with SSI when appropriate (pgodel)
This PR was merged into the 2.6-dev branch.

Discussion
----------

[HttpKernel][FrameworkBundle] Replaced ESI mentions with SSI when appropriate

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

Commits
-------

7ee23c1 Replaced ESI mentions with SSI when appropriate
2014-08-01 08:18:37 +02:00
Fabien Potencier
a292a489c5 minor #11537 Make builds green again (jakzal)
This PR was merged into the 2.3 branch.

Discussion
----------

Make builds green again

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

This PR rolls back changes made to the fixture and generated files in e9022adaef (#11512).

Commits
-------

88b4e70 [DependencyInjection] Roll back changes made to generated files.
f89811d [Console] Roll back changes made to fixture files.
2014-08-01 08:16:34 +02:00
Fabien Potencier
73ddf39ffc bug #11428 [Serializer] properly handle null data when denormalizing (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

[Serializer] properly handle null data when denormalizing

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

Commits
-------

123fc62 properly handle null data when denormalizing
2014-08-01 08:14:57 +02:00
Fabien Potencier
137db21d31 minor #11528 [Validator] German translation for empty file errors (xabbuh)
This PR was merged into the 2.6-dev branch.

Discussion
----------

[Validator] German translation for empty file errors

| Q             | A
| ------------- | ---
| Fixed tickets | part of #11489
| License       | MIT

Commits
-------

412f04f [Validator] German translation for empty file errors
2014-08-01 08:11:20 +02:00
Jakub Zalas
88b4e7008d [DependencyInjection] Roll back changes made to generated files.
Original change was made in e9022adaef.
2014-07-31 22:03:37 +01:00
Jakub Zalas
f89811d8d1 [Console] Roll back changes made to fixture files.
Original change was made in e9022adaef.
2014-07-31 21:49:10 +01:00
mmoreram
88eac04057 Issue #11532 Translated 78 in Català 2014-07-31 18:50:41 +02:00
mmoreram
67a6b75a47 Issue #11489 Added some CA and ES translations
* Added some translations in CA
* Fixed some translations in ES
2014-07-31 18:46:41 +02:00
Pablo Godel
7ee23c1fd3 Replaced ESI mentions with SSI when appropriate 2014-07-31 10:51:20 -04:00
Christian Flothmann
412f04f919 [Validator] German translation for empty file errors 2014-07-31 16:08:14 +02:00
Martin Hasoň
c689186674 [WebProfilerBundle] Fixed double height of canvas 2014-07-31 16:08:09 +02:00
Fabien Potencier
b54a154531 minor #11514 This files have an invalid namespace (mmoreram)
This PR was merged into the 2.6-dev branch.

Discussion
----------

This files have an invalid namespace

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

* These namespaces do not match the files according to PSR-0 rules
* Used php-cs-fixer

Commits
-------

e238637 This files have an invalid namespace
2014-07-30 18:31:05 +02:00
Bernhard Schussek
7d7b5c724f bug #10687 [Validator] Fixed string conversion in constraint violations (eagleoneraptor, webmozart)
This PR was merged into the 2.3 branch.

Discussion
----------

[Validator] Fixed string conversion in constraint violations

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

Commits
-------

32ae95b [Validator] Added more detailed inline documentation
08ea6d3 [Validator] Removed information from the violation output if the value is an array, object or resource
d6a783f [Validator] Renamed valueToString() to formatValue(); added missing formatValue() calls
71897d7 [Validator] Fixed CS
cea4155 [Validator] Fixed date-to-string conversion tests to match ICU 51
5aa7e6d [Validator] Added "{{ value }}" parameters where they were missing
f329552 [Validator] Simplified and explained the LuhnValidator
bff09f2 [Validator] Simplified IssnValidator
224e70f [Validator] Fixed and simplified IsbnValidator
fd58870 [Validator] Simplified IBAN validation algorithm
97243bc [Validator] Fixed value-to-string conversion in constraint violations
75e8815 [Validator] Fix constraint violation message parameterization
2014-07-30 14:38:50 +02:00
Bernhard Schussek
32ae95bdda [Validator] Added more detailed inline documentation 2014-07-30 14:36:14 +02:00
Bernhard Schussek
08ea6d3621 [Validator] Removed information from the violation output if the value is an array, object or resource
This was decided in the discussion of #10687.
2014-07-30 14:36:07 +02:00
mmoreram
e23863721f This files have an invalid namespace
* These namespaces do not match the files according to PSR-0 rules
* Used php-cs-fixer
2014-07-30 12:26:20 +02:00
Yassine Guedidi
777666fac1 [HttpFoundation] Update QUERY_STRING when overrideGlobals 2014-07-30 12:14:11 +02:00
Fabien Potencier
71edf38d59 partially reverted previous commit 2014-07-29 20:14:16 +02:00
Fabien Potencier
e9022adaef fixed CS 2014-07-29 20:09:11 +02:00
Fabien Potencier
3ee327c5db minor #11507 Add point about ConsoleLogger to Console 2.5 changelog (JeroenDeDauw)
This PR was submitted for the master branch but it was merged into the 2.5 branch instead (closes #11507).

Discussion
----------

Add point about ConsoleLogger to Console 2.5 changelog

Commits
-------

8744826 Add point about ConsoleLogger to Console 2.5 changelog
2014-07-29 13:56:02 +02:00
Jeroen De Dauw
874482632b Add point about ConsoleLogger to Console 2.5 changelog 2014-07-29 13:56:02 +02:00
WouterJ
a4f208b95b Changed order of validation 2014-07-28 23:12:49 +02:00
Bernhard Schussek
cd29962dc0 minor #11463 [Validator] prevent unnecessary calls inside ExecutionContext (Tobion)
This PR was merged into the 2.5 branch.

Discussion
----------

[Validator] prevent unnecessary calls inside ExecutionContext

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

Small performance improvement by preventing calls to `PropertyPath::append($this->propertyPath, $subPath)` when not needed.

Commits
-------

d6d462a [Validator] do not call getter inside ExecutionContext to prevent unnecessary calls
2014-07-28 16:51:00 +02:00
Bernhard Schussek
295e5bb178 [Validator] Fixed failing tests 2014-07-28 15:52:59 +02:00
Bernhard Schussek
3bd6d802ed [Validator] CS fixes 2014-07-28 15:52:59 +02:00
Bernhard Schussek
870a41a594 [FrameworkBundle] Made ConstraintValidatorFactory aware of the legacy validators 2014-07-28 15:52:58 +02:00
Bernhard Schussek
7504448ee7 [Validator] Added extensive test coverage for the constraint validators for the different APIs 2014-07-28 15:52:58 +02:00
Bernhard Schussek
8e461af756 [Validator] Constraint validators now use the 2.5 API. For incompatible validators, legacy validators were created 2014-07-28 15:52:58 +02:00
Fabien Potencier
3e21c4d052 Merge branch '2.5'
* 2.5:
  Update validators.eu.xlf
  fixed CS
  remove unused imports
  [Validator] Added markObjectAsInitialized() and isObjectInitialized() to ExecutionContextInterface
  [Validator] Fixed doc block
  [Routing] simplify the XML schema file
  Unify null comparisons
  [EventDispatcher] don't count empty listeners
  [Process] Fix unit tests in sigchild environment
  [Process] fix signal handling in wait()
  [BrowserKit] refactor code and fix unquoted regex
  Fixed server HTTP_HOST port uri conversion
  [HttpFoundation] moved test file to the right directory
  [Validator] Made sure that context changes don't leak out of (Contextual)ValidatorInterface
  [MonologBridge] fixed Console handler priorities
  Bring code into standard
  [Process] Add test to verify fix for issue #11421
  [Process] Fixes issue #11421
  [DependencyInjection] Pass a Scope instance instead of a scope name.
2014-07-28 15:20:53 +02:00
Fabien Potencier
7e175ef8f3 Merge branch '2.4' into 2.5
* 2.4:
  Update validators.eu.xlf
  fixed CS
  remove unused imports
  [Routing] simplify the XML schema file
  Unify null comparisons
  [EventDispatcher] don't count empty listeners
  [Process] Fix unit tests in sigchild environment
  [Process] fix signal handling in wait()
  [BrowserKit] refactor code and fix unquoted regex
  Fixed server HTTP_HOST port uri conversion
  [MonologBridge] fixed Console handler priorities
  Bring code into standard
  [Process] Add test to verify fix for issue #11421
  [Process] Fixes issue #11421
  [DependencyInjection] Pass a Scope instance instead of a scope name.

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Test/WebTestCase.php
	src/Symfony/Component/DependencyInjection/Tests/Dumper/GraphvizDumperTest.php
	src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorCollectionTest.php
2014-07-28 15:20:46 +02:00