Commit Graph

6928 Commits

Author SHA1 Message Date
Alexander
42cced4c97 [Security] Fix AuthenticationException constructor calls 2013-01-07 20:58:57 +01:00
Alexander
963a1d7b81 [Security] Add initial translations for the exceptions 2013-01-07 20:58:57 +01:00
Alexander
ed6eed4c36 [Security] Add getMessageKey and getMessageData to auth exceptions 2013-01-07 20:58:57 +01:00
Alexander
694c47ce96 [Security] Change signature of AuthenticationException to match \Exception 2013-01-07 20:58:57 +01:00
Bernhard Schussek
bcc5552de4 [Form] Protected methods in FormConfigBuilder and FormBuilder from being called when it is turned into a FormConfigInterface instance 2013-01-07 16:58:41 +01:00
Bernhard Schussek
fee1bf5448 [Form] Introduced base ExceptionInterface 2013-01-07 16:58:41 +01:00
Fabien Potencier
cd04bd7a12 merged branch drak/flashcount (PR #6423)
This PR was merged into the 2.1 branch.

Commits
-------

8513777 [HttpFoundation] Update docblock for non-working method

Discussion
----------

[HttpFoundation] Update docblock for non-working method

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Rerences the following tickets: #6408
Todo: -
License of the code: MIT
Documentation PR: -

---------------------------------------------------------------------------

by piotrpasich at 2012-12-19T21:32:24Z

I think that we shouldn't comment it as not working but add new methods called countFlashes and countFlashesTypes. CountFlashesTypes should return count($this->flashBag) and countFlashes should count all items in every array inside flashbag.

---------------------------------------------------------------------------

by drak at 2012-12-20T17:43:38Z

ping @fabpot
2013-01-07 16:55:04 +01:00
Drak
0cf9fcb304 [HttpFoundation] Deprecated count() and \Countable 2013-01-07 15:50:53 +00:00
Fabien Potencier
87a85b6696 merged branch bschussek/issue6558 (PR #6578)
This PR was merged into the 2.1 branch.

Commits
-------

33e9d00 [Form] Deleted references in FormBuilder::getFormConfig() to improve performance

Discussion
----------

[Form] Deleted references in FormBuilder::getFormConfig() to improve performance

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

---------------------------------------------------------------------------

by vicb at 2013-01-07T11:09:24Z

> Backwards compatibility break: no

Really ?

---------------------------------------------------------------------------

by vicb at 2013-01-07T12:27:37Z

Adding a public method is a BC break.

---------------------------------------------------------------------------

by bschussek at 2013-01-07T12:42:14Z

The method is inherited from the parent class, so the change should not affect BC.

---------------------------------------------------------------------------

by vicb at 2013-01-07T13:27:21Z

my bad.
2013-01-07 16:44:13 +01:00
srsbiz
3195122905 [HttpFoundation] Check if required shell functions for FileBinaryMimeTypeGuesser are not disabled 2013-01-07 14:18:29 +01:00
Fabien Potencier
43d056fb15 merged branch Tobion/static-compile (PR #6491)
This PR was squashed before being merged into the master branch (closes #6491).

Commits
-------

5d264ce [Routing] made RouteCompilerInterface::compile static

Discussion
----------

[Routing] made RouteCompilerInterface::compile static

bc break: yes but probably nobody affected

It makes much more sense that the compile method is static because having instances of a compiler is strange. Also the compiler could not use DI or anything anyway as the `Route` class was instantiating compiler instances itself and was assuming there are no constructor arguments.
2013-01-07 12:20:12 +01:00
Tobias Schultze
5d264ce9b6 [Routing] made RouteCompilerInterface::compile static 2013-01-07 12:20:12 +01:00
Fabien Potencier
5adecd7780 merged branch lmcd/autocomplete-cleanups (PR #6594)
This PR was squashed before being merged into the master branch (closes #6594).

Commits
-------

9d94fc7 [Console] Autocomplete cleanups/optimisations

Discussion
----------

[Console] Autocomplete cleanups/optimisations

I know the optimisations to this code are getting kinda ridiculous, but I found a few more things to tidy up.
2013-01-07 12:16:36 +01:00
Lee McDermott
9d94fc7a49 [Console] Autocomplete cleanups/optimisations 2013-01-07 12:16:36 +01:00
Fabien Potencier
886f721dc0 merged branch stloyd/feature/request_phpdoc (PR #6599)
This PR was merged into the 2.0 branch.

Commits
-------

666283c [HttpFoundation] Docblock for Request::isXmlHttpRequest() now points to Wikipedia

Discussion
----------

[2.0][HttpFoundation] Docblock for Request::isXmlHttpRequest()

Docblock now points to [Wikipedia entry](http://en.wikipedia.org/wiki/List_of_Ajax_frameworks#JavaScript) instead of pointing all known JS frameworks.

Replacement for #6444.
2013-01-07 12:13:42 +01:00
Fabien Potencier
5ec6b2a050 merged branch kosssi/bugfix/css-selector-empty (PR #6271)
This PR was squashed before being merged into the 2.0 branch (closes #6271).

Commits
-------

dbafc2c [CssSelector] added css selector with empty string

Discussion
----------

[CssSelector] added css selector with empty string

---------------------------------------------------------------------------

by kosssi at 2012-12-14T18:29:40Z

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT

---------------------------------------------------------------------------

by stloyd at 2013-01-07T08:21:56Z

@fabpot ping

---------------------------------------------------------------------------

by fabpot at 2013-01-07T10:28:54Z

Sorry, but I don't understand the use case.

---------------------------------------------------------------------------

by kosssi at 2013-01-07T10:36:31Z

if you have this code :
    \<img src="..." alt="">

you can find
    $this->assertCount(1, $crawler->filter('img[alt=""]'));

---------------------------------------------------------------------------

by fabpot at 2013-01-07T10:40:12Z

Then, can you change the unit test with the real use case?

---------------------------------------------------------------------------

by kosssi at 2013-01-07T11:05:50Z

I don't know if it suits you

---------------------------------------------------------------------------

by fabpot at 2013-01-07T11:07:11Z

thanks
2013-01-07 12:07:21 +01:00
Simon Constans
dbafc2c365 [CssSelector] added css selector with empty string 2013-01-07 12:07:20 +01:00
Joseph Bielawski
666283cb76 [HttpFoundation] Docblock for Request::isXmlHttpRequest() now points to Wikipedia 2013-01-07 11:47:53 +01:00
Joseph Bielawski
d570dbe545 [Security][Acl] CS fix for commit: 3c3a90b9e5 2013-01-07 10:00:39 +01:00
Ilya Biryukov
3c3a90b9e5 [Security][Acl] Reduce query size when Select ACL entries for many instances of the same Type at once 2013-01-07 09:54:34 +01:00
Fabien Potencier
dc4a10e931 merged branch vitaliytv/master (PR #6590)
This PR was merged into the master branch.

Commits
-------

4bf82e0 Update Ukrainian translation for master branch

Discussion
----------

[Validator] Update Ukrainian translation for master branch
2013-01-07 08:09:43 +01:00
Fabien Potencier
ce212fcf65 Merge branch '2.1'
* 2.1:
  Update Ukrainian translation for 2.1 branch
2013-01-07 08:09:06 +01:00
Ricard Clau
b1f190fd6c covers edge case for Luhn 2013-01-06 22:18:36 +01:00
vitaliytv
4bf82e03dc Update Ukrainian translation for master branch 2013-01-06 23:17:37 +02:00
vitaliytv
31edf85e61 Update Ukrainian translation for 2.1 branch 2013-01-06 23:14:22 +02:00
Fabien Potencier
64bf80c2bb merged branch lmcd/autocomplete-arrows-new (PR #6564)
This PR was merged into the master branch.

Commits
-------

2b73975 Add new tests and fix problem with the second option being chosen on down arrow
8a0bcfb Use strpos in place of substr
9864d95 Not much use in blanking the array each time
a4d711c Enable arrow keys to browse matched autocomplete options

Discussion
----------

[Console] Enable arrow keys to browse matched autocomplete options

See notes in original autocomplete pull request: #6391
See also @bamarni's pull request implementing more or less the same stuff: #6561

---------------------------------------------------------------------------

by fabpot at 2013-01-05T10:12:47Z

Looks good to me. Can you add some unit tests?

---------------------------------------------------------------------------

by bamarni at 2013-01-05T12:51:51Z

1 line addition... you definitely got me on the diff!

That's what I had mind too, excepted for the default highlight, but as you said it's usually displayed in the question so it 's not necessary. 👍

---------------------------------------------------------------------------

by lmcd at 2013-01-06T04:07:02Z

@fabpot Added tests
2013-01-06 11:18:09 +01:00
Fabien Potencier
1e2fb64817 [DependencyInjection] refactored code to avoid logic duplication 2013-01-06 08:52:07 +01:00
Lee McDermott
2b73975023 Add new tests and fix problem with the second option being chosen on down arrow 2013-01-06 04:05:03 +00:00
Lee McDermott
8a0bcfbed2 Use strpos in place of substr 2013-01-06 02:24:44 +00:00
Lee McDermott
9864d9572d Not much use in blanking the array each time 2013-01-06 02:21:42 +00:00
Fabien Potencier
583d999b4e Merge branch '2.1'
* 2.1:
  [Console] made Application::getTerminalDimensions() public
  Revert "merged branch egeloen/f-2.0-terminal-width (PR #6571)"
  [2.1] [Console] Added getTerminalDimensions() with fix for osx/freebsd
  Restrict Monolog version to be in version `<1.3`. Because of conflict between `HttpKernel/Log/LoggerInterface` and `Psr\Log\LoggerInterface` (PSR-3)

Conflicts:
	composer.json
2013-01-05 21:35:20 +01:00
Fabien Potencier
d786e09341 [Console] made Application::getTerminalDimensions() public 2013-01-05 21:33:45 +01:00
Fabien Potencier
5699a342ed Merge branch '2.0' into 2.1
* 2.0:
  Revert "merged branch egeloen/f-2.0-terminal-width (PR #6571)"
2013-01-05 21:32:41 +01:00
Fabien Potencier
151f2c17bf Revert "merged branch egeloen/f-2.0-terminal-width (PR #6571)"
This reverts commit 515769385a, reversing
changes made to cd0a9d7a1d.
2013-01-05 21:32:06 +01:00
Fabien Potencier
af070084d3 merged branch bschussek/issue6217-no-dots-between-date-fields (PR #6575)
This PR was merged into the master branch.

Commits
-------

e0b4480 [Form] Removed separator characters between choice or text fields in DateType

Discussion
----------

[Form] Removed separator characters between choice or text fields in DateType

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

This commit was originally contained in #6217 (for 2.1) but then split away for master since it changes behavior.
2013-01-05 19:29:03 +01:00
Fabien Potencier
47b3f8636f merged branch bschussek/exceptionfix (PR #6582)
This PR was merged into the master branch.

Commits
-------

184c8e5 Fixed @expectedException definitions to reference absolute exception paths

Discussion
----------

Added leading slashes to @expectedException definitions

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

This PR adds leading backslashes `\` to `@expectedException` declarations.

The current version is inconsistent with other class references in doc blocks, which default to *relative* class names unless class name has a leading backslash.

```php
/**
 * @param RelativeNs\Class $param1
 * @param \AbsoluteNs\Class $param2
 */

but

/**
 * @expectedException AbsoluteNs\Class
 */
```

Consequently, PHPStorm does not understand the current statements and marks them as erroneous (and correctly so IMO, even though PHPUnit's interpretation is more relaxed).
2013-01-05 19:24:35 +01:00
Chris Heng
8f21f89eaf [2.1] [Console] Added getTerminalDimensions() with fix for osx/freebsd 2013-01-06 01:54:53 +08:00
Bernhard Schussek
184c8e586f Fixed @expectedException definitions to reference absolute exception paths 2013-01-05 18:52:40 +01:00
Bernhard Schussek
33e9d002a7 [Form] Deleted references in FormBuilder::getFormConfig() to improve performance 2013-01-05 18:04:01 +01:00
Fabien Potencier
6250476eaa Merge branch '2.1'
* 2.1:
  Restrict Monolog version to be in version <1.3
  [Console] Make getTerminalWith & getTerminalHeight public
  [DependencyInjection] fixed PhpDumper optimizations when an inlined service depends on the current one indirectly
  [DependencyInjection] fixed PhpDumper when an inlined service definition has some properties
  [DependencyInjection] added some tests for PhpDumper when the container is compiled
  [DependencyInjection] fixed CS
  [Process] Do not reset stdout/stderr pipes on Interrupted system call
  [Locale] Adjust `StubIntlDateFormatter` to have new methods added in PHP 5.5
  use the right RequestMatcherInterface
  [Locale] Fix failing `StubIntlDateFormatter` tests in PHP 5.5
  [Locale] Fix failing `StubIntlDateFormatter` in PHP 5.5
  [Form] Fix failing `MonthChoiceList` in PHP 5.5
  Update .travis.yml

Conflicts:
	src/Symfony/Bridge/Monolog/composer.json
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9.php
2013-01-05 16:33:05 +01:00
Fabien Potencier
f1d2fe9d5d Merge branch '2.0' into 2.1
* 2.0:
  Restrict Monolog version to be in version <1.3
  [Console] Make getTerminalWith & getTerminalHeight public
  [DependencyInjection] fixed PhpDumper optimizations when an inlined service depends on the current one indirectly
  [DependencyInjection] fixed PhpDumper when an inlined service definition has some properties
  [DependencyInjection] added some tests for PhpDumper when the container is compiled
  [DependencyInjection] fixed CS
  [Locale] Adjust `StubIntlDateFormatter` to have new methods added in PHP 5.5
  [Locale] Fix failing `StubIntlDateFormatter` tests in PHP 5.5
  [Locale] Fix failing `StubIntlDateFormatter` in PHP 5.5
  [Form] Fix failing `MonthChoiceList` in PHP 5.5
  Update .travis.yml

Conflicts:
	src/Symfony/Bridge/Monolog/composer.json
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9.php
	src/Symfony/Component/Form/Extension/Core/ChoiceList/MonthChoiceList.php
	tests/Symfony/Tests/Component/DependencyInjection/Fixtures/yaml/services9.yml
2013-01-05 16:31:25 +01:00
Fabien Potencier
5258edbe9e merged branch fabpot/container-dumper-fixes (PR #6565)
This PR was merged into the 2.0 branch.

Commits
-------

e0923ae [DependencyInjection] fixed PhpDumper optimizations when an inlined service depends on the current one indirectly
cd15390 [DependencyInjection] fixed PhpDumper when an inlined service definition has some properties
e939a42 [DependencyInjection] added some tests for PhpDumper when the container is compiled
3827e3e [DependencyInjection] fixed CS

Discussion
----------

[DependencyInjection] Fixed PhpDumper when compiling inlined services
2013-01-05 16:22:59 +01:00
Bernhard Schussek
e0b4480a1b [Form] Removed separator characters between choice or text fields in DateType 2013-01-05 16:18:31 +01:00
Florin Patan
ef652e2d8f Added context to JsonEncoder 2013-01-05 16:36:09 +02:00
Fabien Potencier
515769385a merged branch egeloen/f-2.0-terminal-width (PR #6571)
This PR was merged into the 2.0 branch.

Commits
-------

f299bd0 [Console] Make getTerminalWith & getTerminalHeight public

Discussion
----------

[Console] Make getTerminalWith & getTerminalHeight public

Bug fix: yes
Feature addition: yes
Backwards compatibility break: no
Fixes the following tickets: ~
Todo: -
License of the code: MIT
Documentation PR: ~

After demand in #6567, I open an other one on the 2.0 branch.
2013-01-05 14:38:35 +01:00
Eric GELOEN
f299bd0968 [Console] Make getTerminalWith & getTerminalHeight public 2013-01-05 14:32:58 +01:00
Jakub Zalas
97bc257c69 [Locale] Rolled back normalizeIcuVersion() method in unit tests.
This makes it consistent with 2.0 and 2.1.

We just need to check if version is 4.4 or 4.8 and we do not need to know if it is 4.8.0 or 4.8.1.1 (at least for now there are no big differences between minor ICU versions).
2013-01-05 11:41:28 +01:00
Fabien Potencier
e0923ae1d0 [DependencyInjection] fixed PhpDumper optimizations when an inlined service depends on the current one indirectly 2013-01-05 10:18:27 +01:00
Fabien Potencier
cd153901ea [DependencyInjection] fixed PhpDumper when an inlined service definition has some properties 2013-01-05 10:03:43 +01:00
Fabien Potencier
3827e3ed1e [DependencyInjection] fixed CS 2013-01-05 09:01:42 +01:00
Lee McDermott
a4d711cb2a Enable arrow keys to browse matched autocomplete options 2013-01-05 06:34:01 +00:00
Fabien Potencier
94aacec717 merged branch romainneutron/StreamSelect (PR #6540)
This PR was merged into the 2.1 branch.

Commits
-------

fa6fb6f [Process] Do not reset stdout/stderr pipes on Interrupted system call

Discussion
----------

[Process][2.1] Do not reset stdout/stderr pipes on stream_select failure

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT

When `stream_select` is called and failed, pipes are currently reset to an empty array. As a result, both error-output and output are empty whereas the exitcode is 0 (successful process).

There is no reason (at least I don't see it) to reset pipes when an error occurs.

---------------------------------------------------------------------------

by fabpot at 2013-01-04T08:18:03Z

This behavior was introduced by @Seldaek in bcf8cf91. Any reason?

---------------------------------------------------------------------------

by Seldaek at 2013-01-04T17:22:33Z

The rationale was that if stream_select failed, it will fail every time (maybe this is an incorrect assumption and I introduced a bug there). Since the while loop checks for $this->pipes being not empty, if the process dies off and stream_select() starts failing, it will be stuck in the while loop forever. That's what I was fixing there. As far as I can tell, your fix reintroduces that problem. Can you explain a bit more what you mean by "error-output and output are empty"? Maybe adding a test for the case you are seeing would help too?

---------------------------------------------------------------------------

by romainneutron at 2013-01-04T17:47:00Z

Hi !

I'm actually using `Process` in a amqp client using PhpAmqpLib. Sometimes both output and error-output of a process are empty whereas the process returned with an exitcode equal to 0.

By *empty*, I mean that the output of both `$process->getOuptut()` and `$process->getErrorOuptut()` are equal to `''`.

I removed the `@` before the `stream_select` and realized that some calls where failing :

```
stream_select(): unable to select [4]: Interrupted system call (max_fd=13) in .../vendor/symfony/process/Symfony/Component/Process/Process.php on line 341
```

With my patch, it appears that if a `stream_select` call fails one time, it can be called with success a second time.

Adding a test case that triggers this error does not seem easy as it seems system related.

What do you think about it ?

---------------------------------------------------------------------------

by Seldaek at 2013-01-04T17:52:04Z

Ok I see. So I guess your fix makes sense since stream_select can fail legitimately, but it's not the whole story. If it fails because the process died off (or whatever the cause was on windows) we shouldn't keep trying forever. Maybe just adding a limit of N retries that is reset whenever a call succeeds would be enough to go over the odd system call being interrupted without allowing infinite loops. Not sure what N makes sense.

---------------------------------------------------------------------------

by igorw at 2013-01-04T17:53:45Z

As per the `stream_select` manpage it can return false when interrupted by a system call. That does not indicate that something is broken. However, I'm not sure if it is possible to distinguish between actual errors and interrupts without capturing and parsing the error message.

---------------------------------------------------------------------------

by romainneutron at 2013-01-04T18:50:56Z

I've updated the PR to consider the error message as it's currently the only solution to find out why `stream_select` failed

---------------------------------------------------------------------------

by romainneutron at 2013-01-04T18:59:15Z

Merged fixes suggested by @stloyd  and @Seldaek
2013-01-04 22:46:41 +01:00
Romain Neutron
fa6fb6fa80 [Process] Do not reset stdout/stderr pipes on Interrupted system call
When `stream_select` is called and return false because of an `Interrupted
system call`, pipes are currently reset to an empty array.
As a result, both error-output and output are empty whereas the
exitcode is 0 (successful process).
2013-01-04 19:58:07 +01:00
Benjamin Eberlei
eacb7e2a36 Rename $options to $context, as it makes the intent much more clear. 2013-01-04 20:06:05 +02:00
Benjamin Eberlei
8854b85abf Fix CS issues, removed global options 2013-01-04 20:06:04 +02:00
Benjamin Eberlei
9c54a4b552 [Serializer] Allow options to be passed to SerialiizerInterface#serialize and #unserialize. Thsee options are available to all encoders/decoders/normalizers that implement SerializerAwareInterface. 2013-01-04 20:06:04 +02:00
Fabien Potencier
cd0a9d7a1d merged branch stloyd/feature/travis_php55 (PR #6552)
This PR was merged into the 2.0 branch.

Commits
-------

73d9cef [Locale] Adjust `StubIntlDateFormatter` to have new methods added in PHP 5.5
b2ce983 [Locale] Fix failing `StubIntlDateFormatter` tests in PHP 5.5
913b564 [Locale] Fix failing `StubIntlDateFormatter` in PHP 5.5
8ae773b [Form] Fix failing `MonthChoiceList` in PHP 5.5
f4ce2f1 Update .travis.yml

Discussion
----------

[2.0] Add testing of PHP 5.5 on Travis-CI & fix failing code
2013-01-04 18:25:14 +01:00
Fabien Potencier
ea09a538f2 merged branch dbu/2.1-requestmatcher-httputils (PR #6553)
This PR was merged into the 2.1 branch.

Commits
-------

d601b13 use the right RequestMatcherInterface

Discussion
----------

use the right RequestMatcherInterface

this fixes #6470 by using the right interface
2013-01-04 18:17:24 +01:00
Fabien Potencier
31ff3db517 Merge branch '2.1'
* 2.1: (24 commits)
  updated license year
  Update src/Symfony/Component/HttpFoundation/Response.php
  [Form] Fixed inheritance of "error_bubbling" in RepeatedType
  [Form] Fixed DateType when used with the intl extension disabled.
  [HttpFoundation] fix return types and handling of zero in Response
  [HttpFoundation] better fix for non-parseable Expires header date
  Fixed missing plural message in portuguese validator
  Fix Expires when the header is -1
  [DoctrineBridge] Allowing memcache port to be 0 to support memcache unix domain sockets.
  [Console] fixed unitialized properties (closes #5935)
  [Process] Prevented test from failing when pcntl extension is not enabled.
  Revert "[DoctrineBridge] Improved performance of the EntityType when used with the "query_builder" option"
  [Form] Fixed failing tests for DateTimeToStringTransformer.
  [Locale] Fixed the StubLocaleTest for ICU versions lower than 4.8.
  [Bundle] [FrameworkBundle] fixed typo in phpdoc of the SessionListener.
  [Form] Fixed test regression introduced in #6440
  [Tests] Fix namespaces
  Fixed php doc of GenericEvent::__construct
  HttpUtils must handle RequestMatcher too
  use preferred_choices in favor of preferred_query
  ...

Conflicts:
	src/Symfony/Bridge/Propel1/Form/ChoiceList/ModelChoiceList.php
2013-01-04 18:02:19 +01:00
Fabien Potencier
8349816dc5 Merge branch '2.0' into 2.1
* 2.0:
  updated license year
  Update src/Symfony/Component/HttpFoundation/Response.php
  [Console] fixed unitialized properties (closes #5935)
  [Bundle] [FrameworkBundle] fixed typo in phpdoc of the SessionListener.
  bumped Symfony version to 2.0.21-DEV
  updated VERSION for 2.0.21
  updated CHANGELOG for 2.0.21

Conflicts:
	src/Symfony/Bundle/SwiftmailerBundle/LICENSE
	src/Symfony/Component/Filesystem/LICENSE
	src/Symfony/Component/HttpFoundation/Response.php
	src/Symfony/Component/HttpKernel/Kernel.php
2013-01-04 18:00:54 +01:00
Fabien Potencier
df5c171490 updated license year 2013-01-04 17:59:43 +01:00
Fabien Potencier
18856428b6 updated license year 2013-01-04 17:58:00 +01:00
Joseph Bielawski
73d9cef188 [Locale] Adjust StubIntlDateFormatter to have new methods added in PHP 5.5 2013-01-04 16:12:31 +01:00
David Buchmann
d601b1377c use the right RequestMatcherInterface 2013-01-04 15:29:54 +01:00
Joseph Bielawski
913b564da1 [Locale] Fix failing StubIntlDateFormatter in PHP 5.5 2013-01-04 13:44:28 +01:00
Joseph Bielawski
8ae773b486 [Form] Fix failing MonthChoiceList in PHP 5.5 2013-01-04 13:43:58 +01:00
Fabien Potencier
7863f8890f merged branch lmcd/autocomplete (PR #6391)
This PR was squashed before being merged into the master branch (closes #6391).

Commits
-------

7bad0ef [Console] Add autocomplete as you type

Discussion
----------

[Console] Add autocomplete as you type

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
License of the code: MIT

Finally got around to reviving the console autocomplete code.
Is now up to date with Symfony master. Also changed backspace behaviour to remove one character instead of two.

stty stuff is a mystery to a lot of people, so I've commented verbosely.

See also: https://github.com/symfony/symfony/pull/2364

---------------------------------------------------------------------------

by lmcd at 2012-12-17T10:11:16Z

@stof - updated with a better solution

---------------------------------------------------------------------------

by Seldaek at 2012-12-17T10:25:15Z

Seems pretty cool, but could you replace all `/usr/bin/env stty` calls by simply `stty`? That way it would also work on windows - if you have mingw or cygwin installed and stty is in the path at least. I don't see the benefit of doing the /usr/bin/env trick here. That's good for shebang lines because you need an absolute path, but in an exec/shell_exec call, you can rely on the PATH and just type the command name.

---------------------------------------------------------------------------

by lmcd at 2012-12-17T18:33:06Z

@Seldaek makes sense. Changed.

---------------------------------------------------------------------------

by lmcd at 2012-12-17T21:32:17Z

Tested on Mac OS X 10.8 and Ubuntu 12.04. Would be great to hear from people on Windows, cygwin and those with exotic terminal setups.

I'll update my fork of SensioGeneratorBundle a little later with support for this.

@fabpot - is there still time for this to land in 2.2?

---------------------------------------------------------------------------

by fabpot at 2012-12-17T21:34:23Z

If we have good feedback from Windows users, yes it can land in 2.2. ping @pborreli

---------------------------------------------------------------------------

by michelsalib at 2012-12-17T23:39:50Z

A am about to try on windows 7 with cmd, powershell and cygwin. Any other way to test without writing a new command using the helper ?

---------------------------------------------------------------------------

by michelsalib at 2012-12-18T00:01:42Z

I tried on Windows 7 with cmd, powershell and cygwin and got this error: `Le chemin d'accès spécifié est introuvable.`. You can translate it to `The specified path could not be found`.

---------------------------------------------------------------------------

by lmcd at 2012-12-18T00:01:43Z

I've updated SensioGeneratorBundle to support autocompletion on the `generate:doctrine:entity` command. It autocompletes bundle names, configuration formats and field types. See here: c627c67ce7

@michelsalib ping

---------------------------------------------------------------------------

by lmcd at 2012-12-18T00:03:43Z

@michelsalib - hmm. I imagine it's either a problem locating stty or some configuration issue on your end. Do you have file/line number?

---------------------------------------------------------------------------

by michelsalib at 2012-12-18T00:04:41Z

Verbose mode did not help. Let me try with some dirty line by line check to see if I can give you a line.

---------------------------------------------------------------------------

by michelsalib at 2012-12-18T00:09:54Z

My bad, I should have guessed that line 144 `exec('/usr/bin/env stty', $output, $exitcode);` cannot work on regular Windows environment. This should at least fails silently for users using cmd or powershell. Apparently cygwin users can activate stty. Let me investigate.

---------------------------------------------------------------------------

by michelsalib at 2012-12-18T00:16:30Z

Ok, cygwin comes pre-bundled with stty. I applied the fix recommended by @Seldaek and it fixed the cygwin command.
The only remaining problem is that your redirect the output of the exec call to the console, in this case cmd and powershell output the error telling that stty is not defined in the system: `'stty' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes.`.

---------------------------------------------------------------------------

by lmcd at 2012-12-18T00:17:41Z

Ah, I see you're running the unit tests. The `hasSttyAvailable` method was lifted from `DialogHelper` where it is also used in `askHiddenResponse`. Question: is `defined('PHP_WINDOWS_VERSION_BUILD')` true for cygwin?

---------------------------------------------------------------------------

by michelsalib at 2012-12-18T00:22:14Z

I am not running test, I am actually running a homemade command:
```
$dialog = $this->getHelper('dialog');

$ask = $dialog->ask($output, 'Autocomplete example', null, array(
    'French', 'English', 'Chineese',
));

$output->writeln($ask);
```

`hasSttyAvailable` is called in the ask function at line 80. The incriminated function is here : 9ebcd4bac9/src/Symfony/Component/Console/Helper/DialogHelper.php (L411).

Also `defined('PHP_WINDOWS_VERSION_BUILD')` is true in the three of my consoles.

---------------------------------------------------------------------------

by lmcd at 2012-12-18T00:27:16Z

@michelsalib see 7be142481c

---------------------------------------------------------------------------

by michelsalib at 2012-12-18T00:28:20Z

Why keeping `/usr/bin/env` in your calls ? Cygwin cannot interpret it as long a stty is not in this folder.

---------------------------------------------------------------------------

by lmcd at 2012-12-18T00:29:30Z

@michelsalib `/usr/bin/env` was put there by someone else for the `askHiddenResponse` method. I can remove it, so long as it doesn't break something else.

---------------------------------------------------------------------------

by michelsalib at 2012-12-18T00:34:11Z

IMO users who want's to use stty should have it configured in the PATH, as @Seldaek said. Prefixing the folder where the stty "should" be is a nonsense to me. Moreover it might work well on *nix systems, but will never be compatible with cygwin.
I tested it locally (without the `/usr/bin/env` prefix) and now I have a nice autocomplete on Cygwin, and nothing on cmd or powershell. Which is just what I expected.

@lmcd very nice work :)

---------------------------------------------------------------------------

by lmcd at 2012-12-18T05:17:32Z

For anyone interested, you can scroll through available autocomplete options that match typed characters by using up and down arrow keys. This has been implemented in a seperate branch here: https://github.com/lmcd/symfony/tree/autocomplete-arrows

---------------------------------------------------------------------------

by drak at 2012-12-18T19:13:34Z

@lmcd - The console PRs never cease to amaze me. Really well done!

---------------------------------------------------------------------------

by fabpot at 2012-12-19T13:58:33Z

@lmcd Is it mergeable now?

---------------------------------------------------------------------------

by lmcd at 2012-12-19T17:59:09Z

@fabpot Yes.

---------------------------------------------------------------------------

by lmcd at 2012-12-19T20:03:31Z

Edit: commits squashed

---------------------------------------------------------------------------

by lmcd at 2012-12-19T21:29:07Z

@stloyd I have addressed the two things mentioned. I'm now using $i in place of strlen($ret) as it held the same value.

---------------------------------------------------------------------------

by fabpot at 2012-12-20T07:09:27Z

@lmcd: Thanks a lot for finishing this in time for 2.2. Before I can merge, there are two remaining tasks:

 * add a note about the new feature in the CHANGELOG file of the Console component;
 * create a PR on `symfony/symfony-docs` to explain the new feature.

Can you take care of that?

---------------------------------------------------------------------------

by lmcd at 2012-12-20T07:11:15Z

@fabpot sure

---------------------------------------------------------------------------

by stloyd at 2012-12-29T09:15:23Z

@lmcd You should squash your "merge" commit.

---------------------------------------------------------------------------

by lmcd at 2012-12-29T13:49:37Z

Well that screwed up. File Changed: 216 :S
Edit: hard reset to an earlier hash and reapplied the CHANGELOG commit. Should be good now ping @stloyd

---------------------------------------------------------------------------

by stloyd at 2012-12-29T14:33:58Z

@lmcd `ask()` method is quite long now, but in overall looks ok =)

---------------------------------------------------------------------------

by lmcd at 2013-01-02T20:49:49Z

Anything preventing this being merged? Ping @fabpot
2013-01-03 23:03:04 +01:00
Lee McDermott
7bad0ef691 [Console] Add autocomplete as you type 2013-01-03 23:03:04 +01:00
Jorge Maiden
d337ad5133 Update src/Symfony/Component/HttpFoundation/Response.php 2013-01-03 20:29:37 +01:00
Fabien Potencier
6d3ed7a79a merged branch jakzal/finder-glob-support (PR #6531)
This PR was merged into the master branch.

Commits
-------

29b9611 [Finder] Added support for GLOB patterns in the directories passed to the in() method.

Discussion
----------

[Finder] Added support for wildcard characters (GLOB patterns)

Added support for wildcard characters in the paths passed to the *in()* method. Each pattern has to resolve to at least one directory, otherwise exception is thrown (just like when path to an invalid directory is passed).

Example usage:

```php
$finder = new \Symfony\Component\Finder\Finder();
$files = $finder->files()
    ->name('validators.en.*')
    ->in(array(
        'src/Symfony/*/*/Resources/translations',
    ));

foreach ($files as $file) {
    var_dump($file->getRealPath());
}
```

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #5450
Todo: -
License of the code: MIT
Documentation PR: symfony/symfony-docs#2089
2013-01-03 20:27:55 +01:00
Fabien Potencier
9153f1980d merged branch jakzal/date-type-fix (PR #6543)
This PR was merged into the 2.1 branch.

Commits
-------

6c5e615 [Form] Fixed DateType when used with the intl extension disabled.

Discussion
----------

[Form] Fixed DateType when used with the intl extension disabled

DateType's month select box returns timestamps when used with intl extension disabled (see #6485).

The reason for this is that stubbed formats use *L* instead of *M* for month representation. My fix is simply taking this into account when building array for the select box.

I didn't provide unit tests since they're disabled when intl extension is not enabled. I've only manually verified if the months array contains correct data.

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

---------------------------------------------------------------------------

by bschussek at 2013-01-03T17:41:47Z

Doesn't this call for fixing the stub instead of changing the Form component?

---------------------------------------------------------------------------

by stof at 2013-01-03T17:50:49Z

@bschussek L and M are both valid for the month in Intl

---------------------------------------------------------------------------

by jakzal at 2013-01-03T17:52:41Z

[StubIntlDateFormatter uses FullTransformer](https://github.com/symfony/symfony/blob/2.1/src/Symfony/Component/Locale/Stub/StubIntlDateFormatter.php#L206) to format the date. [FullTransformer supports both *L* and *M*](https://github.com/symfony/symfony/blob/2.1/src/Symfony/Component/Locale/Stub/DateFormat/FullTransformer.php#L50) formats. Both formats are treated interchangeably.
2013-01-03 20:25:35 +01:00
Bernhard Schussek
c526ad9db6 [Form] Fixed inheritance of "error_bubbling" in RepeatedType 2013-01-03 18:55:30 +01:00
Jakub Zalas
6c5e615c0b [Form] Fixed DateType when used with the intl extension disabled. 2013-01-03 18:07:53 +01:00
Fabien Potencier
173426674f [HttpFoundation] fixed fluent interface on BinaryFileResponse::prepare() (closes #6537) 2013-01-03 09:05:35 +01:00
Tobias Schultze
6703fb59d3 added changelog entries 2013-01-02 22:49:54 +01:00
Tobias Schultze
10b01c9159 [HttpFoundation] fix return types and handling of zero in Response 2013-01-02 22:06:26 +01:00
Tobias Schultze
75952af0c3 [HttpFoundation] better fix for non-parseable Expires header date
It also fixes several phpdocs
2013-01-02 22:03:29 +01:00
andreabreu98
ba5cd6ad2b Fixed missing plural message in portuguese validator 2013-01-02 16:51:06 +01:00
Florin Patan
87b6cc2e19 Fix Expires when the header is -1 2013-01-02 14:34:47 +01:00
Jakub Zalas
29b961107f [Finder] Added support for GLOB patterns in the directories passed to the in() method.
Pattern has to resolve to at least one directory, otherwise exception is thrown (just like when path to an invalid directory is passed).
2013-01-02 12:29:42 +01:00
Fabien Potencier
13f0a807b1 merged branch dbu/2.1-requestmatcher-httputils (PR #6470)
This PR was merged into the 2.1 branch.

Commits
-------

bfccd28 HttpUtils must handle RequestMatcher too

Discussion
----------

HttpUtils must handle RequestMatcher too

2.1 introduced the RequestMatcher as alternative to UrlMatcher. but HttpUtils was not adjusted.

---------------------------------------------------------------------------

by lsmith77 at 2013-01-01T18:15:13Z

@fabpot could you have a look at this PR? would like to know if this will be addressed in core or if we need to find another solution inside the CMF routing.
2013-01-02 10:30:52 +01:00
Fabien Potencier
2fc41a1ac8 [Console] fixed unitialized properties (closes #5935) 2012-12-30 21:29:27 +01:00
Jakub Zalas
a5aeb21b84 [Process] Prevented test from failing when pcntl extension is not enabled.
SIGTERM constant is only defined if pcntl extension is present. Extension is not needed to use the Process component though.
2012-12-30 13:18:39 +01:00
Fabien Potencier
477ddfb44d merged branch jakzal/stub-tests (PR #6515)
This PR was merged into the 2.1 branch.

Commits
-------

ef6f241 [Locale] Fixed the StubLocaleTest for ICU versions lower than 4.8.

Discussion
----------

[Locale] Fixed the StubLocaleTest for ICU versions lower than 4.8

Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: no but for other reason in an another component
Fixes the following tickets: #5517
Todo: -
License of the code: MIT
Documentation PR: -

Symbol for Brazilian Real is BR$ only in ICU 4.8. All previous and later versions use R$.

Links to the relevant data files:
* http://source.icu-project.org/repos/icu/icu/tags/release-4-8/source/data/curr/en.txt
* http://source.icu-project.org/repos/icu/icu/tags/release-4-4/source/data/curr/en.txt
* http://source.icu-project.org/repos/icu/icu/tags/release-49-1/source/data/curr/en.txt

---------------------------------------------------------------------------

by jakzal at 2012-12-29T19:23:25Z

Note that currently *USE_ICU_DATA_VERSION* is required for some tests to pass. This is inconsistent with *Locale::getIcuDataVersion()* which returns *Locale::ICU_DATA_VERSION* if *USE_ICU_DATA_VERSION* is not set. Technically intl extension shouldn't be needed to run the stub tests.

Following code could fix the issue for StubLocale tests:

```php
class StubLocaleTest extends LocaleTestCase
{
    // ...
    protected function getIntlExtensionIcuVersion()
    {
        // Locale::getIcuDataVersion(), which is used to determine the directory of stubs,
        // uses Locale::ICU_DATA_VERSION if USE_INTL_ICU_DATA_VERSION is not given
        if (!getenv('USE_INTL_ICU_DATA_VERSION')) {
            return Locale::ICU_DATA_VERSION;
        }

        return parent::getIntlExtensionIcuVersion();
    }
}
```

This code cannot be placed in the LocaleTestCase as intl tests need the icu data version from the intl extension.

I'm not sure if this is desired and therefore I didn't include it in my PR. Let me know your thoughts and wether I should create another PR for this, use the current PR or forget about it.
2012-12-29 23:37:16 +01:00
Fabien Potencier
ef0497441e merged branch jamogon/patch-3 (PR #6511)
This PR was merged into the master branch.

Commits
-------

5779262 Update src/Symfony/Component/HttpFoundation/Request.php

Discussion
----------

Update src/Symfony/Component/HttpFoundation/Request.php

[HttpFoundation][Request] Align const
2012-12-29 21:09:24 +01:00
Fabien Potencier
ecb22de040 fixed CS 2012-12-29 21:07:36 +01:00
Jakub Zalas
81967f6a70 [Form] Fixed failing tests for DateTimeToStringTransformer.
Tests were only failing at the end of the month. PHP uses current day if it is not passed. Since February was used in the test cases, date was being moved to the next month (February has less days than other months).
2012-12-29 20:41:42 +01:00
Jakub Zalas
ef6f241bfe [Locale] Fixed the StubLocaleTest for ICU versions lower than 4.8.
Symbol for Brazilian Real is BR$ only in ICU 4.8. All previous and later versions use R$.

Links to the data files:
* http://source.icu-project.org/repos/icu/icu/tags/release-4-8/source/data/curr/en.txt
* http://source.icu-project.org/repos/icu/icu/tags/release-4-4/source/data/curr/en.txt
* http://source.icu-project.org/repos/icu/icu/tags/release-49-1/source/data/curr/en.txt
2012-12-29 20:05:26 +01:00
Javier Motos González
57792629ad Update src/Symfony/Component/HttpFoundation/Request.php
[HttpFoundation][Request] Align const
2012-12-29 14:43:44 +01:00
Anthony Ferrara
c543116925 Improve timing safe comparison function
Improve the timing safe comparison function to better handle cases where input is of different length.

Note that it is now important to always pass any string that the user can directly control to the second parameter of the function. Otherwise, length information may be leaked.
2012-12-29 07:51:01 -05:00
Fabien Potencier
79148f3c86 Revert "merged branch ricardclau/rename_choice_to_oneof (PR #6360)"
This reverts commit 1de60c902c, reversing
changes made to e3cc337b00.

Conflicts:
	UPGRADE-2.2.md
2012-12-29 10:43:12 +01:00
Fabien Potencier
3778bf916e merged branch lmcd/kernelevents-constants (PR #6499)
This PR was merged into the master branch.

Commits
-------

d5948f1 Use KernelEvents constants in TraceableEventDispatcher

Discussion
----------

[HttpKernel] Use KernelEvents constants in TraceableEventDispatcher

Can't see any reason why we're not using constants here.
2012-12-29 00:07:33 +01:00
Fabien Potencier
3931131ebf merged branch drak/bc (PR #6422)
This PR was merged into the master branch.

Commits
-------

7533deb [Form] Prevent trigger of E_USER_DEPRECATED for new API

Discussion
----------

[Form] Prevent trigger of E_USER_DEPRECATED for new API

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

---------------------------------------------------------------------------

by stof at 2012-12-19T13:54:33Z

This is wrong as FormEvent extends DataEvent and so is also an instance.

Thus, DataEvent should never be constructed anymore (Sf2 does not instantiate it asnd there is no reason to dispatch it elsewhere). The BC is for typehints, and so the useful E_USER_DEPRECATED would be when DataEvent is used as typehint (which is not possible to detect AFAIK)

---------------------------------------------------------------------------

by drak at 2012-12-19T14:07:33Z

So in that case I should check specifically for two class names. Remember the intention here is to NOT trigger an error when the NEW class `FormEvent` is used. I'll update the PR.

---------------------------------------------------------------------------

by Tobion at 2012-12-19T14:25:42Z

I like the solution with an overridden constructor more because using the new stuff will not have the performance penalty of calling `get_class` at all.

---------------------------------------------------------------------------

by stof at 2012-12-19T14:52:47Z

@drak and why not simply ``if (!$this instanceof FormEvent)`` ?

---------------------------------------------------------------------------

by drak at 2012-12-19T15:58:28Z

@stof - if that's ok - I was just assuming other classes might have inherited.
@Tobion - the problem is the private name property we have to call parent which will ultimately call the deprecated constructor.

---------------------------------------------------------------------------

by drak at 2012-12-19T15:59:25Z

How about this?

---------------------------------------------------------------------------

by stof at 2012-12-19T16:51:26Z

@drak if your class inherit from DataEvent instead of FormEvent, it is logical to get a deprecation warning

---------------------------------------------------------------------------

by stof at 2012-12-19T16:52:50Z

@drak I think this allows removing some special error catching in a few places in Form tests (and also in the Form class if it was added)

---------------------------------------------------------------------------

by drak at 2012-12-19T17:33:51Z

@stof - yes, the whole idea is, if you inherit from FormEvent, no warning. anything else, gives warning - that's what we want right?

PR squashed and ready from my side.

---------------------------------------------------------------------------

by drak at 2012-12-20T14:00:13Z

ping @fabpot

---------------------------------------------------------------------------

by bschussek at 2012-12-28T15:19:40Z

👍
2012-12-28 23:57:58 +01:00
Fabien Potencier
87591482a9 merged branch francoispluchino/form-fix-deprecated-method (PR #6455)
This PR was merged into the master branch.

Commits
-------

16a196a [Form] Fix deprecated call method

Discussion
----------

[Form] Fix deprecated call method

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

---------------------------------------------------------------------------

by stof at 2012-12-21T13:21:50Z

This is wrong as the typehint of the constructor is still typehinting the old interface, and so this method is not available.

But the typehint should be changed to use the new interface anyway

---------------------------------------------------------------------------

by francoispluchino at 2012-12-26T09:11:49Z

@fabpot It's OK for you?
(The failure of the Travis test is caused  by the DateTime Form test only in PHP 5.3.3)

---------------------------------------------------------------------------

by bschussek at 2012-12-28T15:00:51Z

Can you please squash the commits?

---------------------------------------------------------------------------

by francoispluchino at 2012-12-28T15:57:47Z

@bschussek OK, it's done.
2012-12-28 23:56:58 +01:00
Fabien Potencier
598e6ee9ea merged branch tgalopin/patch-2 (PR #6507)
This PR was merged into the master branch.

Commits
-------

828eb90 Fix a tag name typo (</ësh> to </target>)

Discussion
----------

[Validator] Fix a tag name typo (</ësh> to </target>) in validators.sq.xlf

Replace </ësh> by </target> line 139.
2012-12-28 23:55:30 +01:00
Fabien Potencier
636c24e5a0 merged branch tgalopin/patch-1 (PR #6506)
This PR was merged into the master branch.

Commits
-------

d2a1e4e Update src/Symfony/Component/Validator/Resources/translations/validators.it.xlf

Discussion
----------

[Validator] Fix structure error in validators.it.xlf

Fix structure error in validators.it.xlf.

Probably a copy-cut that didn't work correctly.

---------------------------------------------------------------------------

by stof at 2012-12-28T17:04:17Z

I suspect a bad resolution of a merge conflict

---------------------------------------------------------------------------

by tgalopin at 2012-12-28T17:06:17Z

Indeed, probably.
2012-12-28 23:55:06 +01:00
Fabien Potencier
57ac683d35 merged branch fabpot/exception-logging (PR #6503)
This PR was merged into the master branch.

Commits
-------

0a42501 [HttpKernel] tweaked logging in the exception listener
1a6c9b3 [HttpKernel] refactored logging in the exception listener

Discussion
----------

[HttpKernel] refactored logging in the exception listener

* avoid code duplication
* allow easier overloading of the default behavior
2012-12-28 23:54:30 +01:00
Fabien Potencier
16702fcd24 merged branch fabpot/resource-tracking (PR #6501)
This PR was merged into the master branch.

Commits
-------

6cd1fd4 [DependencyInjection] removed hard dependency on the Config component

Discussion
----------

[DependencyInjection] removed hard dependency on the Config component

The Config component is a hard dependency for the loaders (but loaders
themselves are optional); all other classes should not have a hard dep
on Config. The introduction of a new flag allows to remove this
dependency.

This commit also fixes skipped test dependencies.

---------------------------------------------------------------------------

by fabpot at 2012-12-28T09:47:13Z

As there is only one location where we are directly using a class from the Config component (`ContainerBuilder::addObjectResource()`), we can also just test this case and do nothing if the class does not exist instead of adding a flag, but that looks dirty.

```php
public function addObjectResource($object)
{
    if (!class_exists('Symfony\Component\Config\Resource\FileResource')) {
        return $this;
    }

    $parent = new \ReflectionObject($object);
    do {
        $this->addResource(new FileResource($parent->getFileName()));
    } while ($parent = $parent->getParentClass());

    return $this;
}
```

What do you think?
2012-12-28 23:54:18 +01:00
Titouan Galopin
828eb90fa6 Fix a tag name typo (</ësh> to </target>)
Replace </ësh> to </target> line 139.
2012-12-28 18:19:28 +01:00
Fabien Potencier
0a4250122f [HttpKernel] tweaked logging in the exception listener
When there is no logger, we should only log critical errors (this is
more sensible than the current behavior).
2012-12-28 18:08:28 +01:00
Titouan Galopin
d2a1e4ef07 Update src/Symfony/Component/Validator/Resources/translations/validators.it.xlf
Fix structure error in validators.it.xlf
2012-12-28 18:01:45 +01:00
François Pluchino
16a196a6b2 [Form] Fix deprecated call method 2012-12-28 16:54:59 +01:00
Bernhard Schussek
87dcf25434 [Form] Fixed test regression introduced in #6440 2012-12-28 16:06:35 +01:00
Fabien Potencier
48920722f7 Revert "merged branch francisbesset/routing_constant_usage (PR #6449)"
This reverts commit c0e341c618, reversing
changes made to 35f5bca585.
2012-12-28 14:21:48 +01:00
Fabien Potencier
1a6c9b3143 [HttpKernel] refactored logging in the exception listener
* avoid code duplication
 * allow easier overloading of the default behavior
2012-12-28 13:40:07 +01:00
Fabien Potencier
6cd1fd4738 [DependencyInjection] removed hard dependency on the Config component
The Config component is a hard dependency for the loaders (but loaders
themselves are optional); all other classes should not have a hard dep
on Config. The introduction of a new flag allows to remove this
dependency.

This commit also fixes skipped test dependencies.
2012-12-28 11:06:10 +01:00
Fabien Potencier
3cac604352 [DependencyInjection] fixed setting a synthetic service on a frozen container 2012-12-28 10:00:21 +01:00
Lee McDermott
d5948f10a3 Use KernelEvents constants in TraceableEventDispatcher 2012-12-28 05:46:21 +00:00
Fran Moreno
a6704f34f4 [Tests] Fix namespaces 2012-12-27 22:06:37 +01:00
Fabien Potencier
c0e341c618 merged branch francisbesset/routing_constant_usage (PR #6449)
This PR was merged into the master branch.

Commits
-------

18daa10 [Routing] Used static to call constant in XmlFileLoader

Discussion
----------

[2.2][Routing] Used static to call constant in XmlFileLoader

It is more complicated to override XmlFileLoader if contants are called with `self`.
This PR replace `self` to `static`.

Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT

---------------------------------------------------------------------------

by piotrpasich at 2012-12-21T08:17:14Z

+1
2012-12-27 16:08:42 +01:00
Grégoire Pineau
b444a10376 Fixed php doc of GenericEvent::__construct 2012-12-27 09:21:49 +01:00
Fabien Potencier
35f5bca585 [HttpKernel] fixed bundles var initialization 2012-12-27 09:14:47 +01:00
Fabien Potencier
761429e551 [HttpKernel] changed the value of route to the pattern when it is a Route object in the data collector
This allows to have a meaningful information in the WDT when the route
in the Request is not the route name but the route object (like in
Drupal for instance).
2012-12-26 09:59:46 +01:00
Francis Besset
18daa1017c [Routing] Used static to call constant in XmlFileLoader 2012-12-25 12:02:30 +01:00
Fabien Potencier
5096292111 merged branch hpatoio/master (PR #6477)
This PR was merged into the master branch.

Commits
-------

0fa7378 [Validator] Card validation - Italian translations

Discussion
----------

[Validator] Card validation - Italian translations

Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: no
2012-12-24 13:42:47 +01:00
Simone Fumagalli
0fa7378939 [Validator] Card validation - Italian translations 2012-12-24 12:04:32 +01:00
excelwebzone
b32c37dfc1 Hebrew validator - added some missing validator keys 2012-12-23 16:10:31 -08:00
Fabien Potencier
e9d0bc24cb Merge branch '2.1'
* 2.1:
  bumped Symfony version to 2.1.7-DEV
  updated VERSION for 2.1.6
  updated CHANGELOG for 2.1.6
  [Form] Fix for `DateTimeToStringTransformer`

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2012-12-23 19:21:21 +01:00
Fabien Potencier
8fd34e4eae merged branch stloyd/bugfix/tests_form (PR #6440)
This PR was merged into the 2.1 branch.

Commits
-------

8beee64 [Form] Fix for `DateTimeToStringTransformer`

Discussion
----------

[Form] Fix for `DateTimeToStringTransformer`

Closes: #6429

---------------------------------------------------------------------------

by stloyd at 2012-12-21T08:19:11Z

@fabpot @bschussek Could you review this ? Thanks =)

---------------------------------------------------------------------------

by stloyd at 2012-12-23T13:51:36Z

Ping @fabpot (without this every PR gets false fail results from Travis-CI)
2012-12-23 19:08:33 +01:00
Fabien Potencier
31d21b60bd merged branch ttomor/master (PR #6467)
This PR was merged into the master branch.

Commits
-------

a50e2a4 Albanian translation

Discussion
----------

Albanian translation

Albanian translation of the Validator Component
2012-12-23 12:26:20 +01:00
Fabien Potencier
382e98484b merged branch fabpot/optional-kernel (PR #6465)
This PR was merged into the master branch.

Commits
-------

5e359d3 made the kernel optional in all data collectors

Discussion
----------

made the kernel optional in all data collectors
2012-12-23 12:26:00 +01:00
David Buchmann
bfccd28207 HttpUtils must handle RequestMatcher too 2012-12-23 11:45:18 +01:00
Eric GELOEN
bf9e238f75 [Form] Add options with_minutes to DateTimeType & TimeType 2012-12-22 15:51:06 +01:00
ttomor
a50e2a46ec Albanian translation 2012-12-22 15:40:27 +01:00
Fabien Potencier
5e359d3e9d made the kernel optional in all data collectors 2012-12-22 14:27:11 +01:00
Fabien Potencier
6aeb546f31 bumped Symfony version to 2.0.21-DEV 2012-12-21 11:42:51 +01:00
Fabien Potencier
031a09dc00 bumped Symfony version to 2.1.7-DEV 2012-12-21 11:42:20 +01:00
Fabien Potencier
9270c41d91 updated VERSION for 2.1.6 2012-12-21 11:24:53 +01:00
Fabien Potencier
792e602cce updated VERSION for 2.0.21 2012-12-21 11:11:18 +01:00
Joseph Bielawski
8beee644a5 [Form] Fix for DateTimeToStringTransformer 2012-12-20 18:52:51 +01:00
Drak
85137778a6 [HttpFoundation] Update docblock for non-working method 2012-12-20 17:23:26 +00:00
Fabien Potencier
06e1de9742 bumped Symfony version to 2.1.6-DEV 2012-12-20 15:53:35 +01:00
Fabien Potencier
1770d3f5ed updated VERSION for 2.1.5 2012-12-20 15:27:50 +01:00
Fabien Potencier
369e4a645b bumped Symfony version to 2.0.21-DEV 2012-12-20 15:10:43 +01:00
Joseph Bielawski
2a2c46892c Update src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToStringTransformer.php
Fix `preg_match` to work with older PCRE.
2012-12-20 10:02:06 +01:00
Fabien Potencier
16c554bc1f updated VERSION for 2.0.20 2012-12-20 08:51:16 +01:00
Fabien Potencier
d97829e8a8 fixed CS 2012-12-20 08:41:17 +01:00
Fabien Potencier
e1433924f7 merged branch mmenozzi/bsd-fixes (PR #6432)
This PR was merged into the master branch.

Commits
-------

ad6a6c8 [Finder] Re-enable BsdFindAdapter for Darwin shells and fix it

Discussion
----------

[Finder] Re-enable BsdFindAdapter for Darwin shell and fix it

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes (tested both Mac OS X and Debian)
Fixes the following tickets: #6412

----

BSD find command needs "-E" switch to evaluate POSIX regex.
Added the ability to Command to insert bits at a given index.

On some systems (Mac OS X for example) php's function
sys_get_temp_dir() returns a directory that is a symlink.
This causes tests failures because expected paths are different
from path returned by the adapter. So, has been added a realpath.

The building of sorting command has been totally moved on the adapter so
the sorting command for BsdFindAdapter has been fixed.

The building of content filtering command has been moved on the adapter.
In BsdFindAdapter version, -r switch has been replaced with initial grep
that srips out blank lines, this way is compatible with BSD shell.
2012-12-20 08:36:55 +01:00
Fabien Potencier
2c9083a6e0 Merge branch '2.1'
* 2.1:
  [FrameworkBundle] added support for URIs as an argument to HttpKernel::render()
  [FrameworkBundle] restricted the type of controllers that can be executed by InternalController
  [Process] Allow non-blocking start with PhpProcess
  Making it easier to grab the PR template.
  [Locale] fixed a test
  Fixed failing test
  fix double-decoding in the routing system

Conflicts:
	src/Symfony/Component/Process/PhpProcess.php
2012-12-20 08:22:35 +01:00
Fabien Potencier
d90e55cbb3 merged branch Tobion/fix-double-encoding (PR #6363)
This PR was merged into the 2.0 branch.

Commits
-------

8b2c17f fix double-decoding in the routing system

Discussion
----------

fix double-decoding in the routing system

@fabpot @vicb This should fix it. You know what ;) Don't want to leak more information.
And the good thing, it's no hack nor does it break BC.
2012-12-20 08:11:40 +01:00
Manuele Menozzi
ad6a6c8651 [Finder] Re-enable BsdFindAdapter for Darwin shells and fix it
BSD find command needs "-E" switch to evaluate POSIX regex.
Added the ability to Command to insert bits at a given index.

On some systems (Mac OS X for example) php's function
sys_get_temp_dir() returns a directory that is a symlink.
This causes tests failures because expected paths are different
from path returned by the adapter. So, has been added a realpath.

The building of sorting command has been totally moved on the adapter so
the sorting command for BsdFindAdapter has been fixed.

The building of content filtering command has been moved on the adapter.
In BsdFindAdapter version, -r switch has been replaced with initial grep
that srips out blank lines, this way is compatible with BSD shell.
2012-12-20 07:51:44 +01:00
Drak
7533deb86d [Form] Prevent trigger of E_USER_DEPRECATED for new API 2012-12-19 17:35:01 +00:00
Pierre Tachoire
2cd43da120 [Process] Allow non-blocking start with PhpProcess 2012-12-19 14:27:19 +01:00
Fabien Potencier
6261779ef3 [Finder] disable the BSD find adapter on the Mac as it does not work yet (refs #6412) 2012-12-19 08:39:37 +01:00
Florin Patan
c2acc6c2cb Fixed most of the docblocks/unused namespaces 2012-12-19 08:09:49 +01:00
Fabien Potencier
7bc9caa979 merged branch tvlooy/form_test (PR #6375)
This PR was merged into the master branch.

Commits
-------

cda1621 Move FormInterface too
0544351 Move DeprecationErrorHandler to Test folder so it's not removed when building the zip file
f56a2b9 Fix #6374 move FormBuilderInterface from Tests to Test

Discussion
----------

Fix #6374 move FormBuilderInterface from Tests to Test

---------------------------------------------------------------------------

by fabpot at 2012-12-16T07:47:55Z

Are there any other classes in the tests that might be useful for testing userland forms? ping @bschussek

---------------------------------------------------------------------------

by colinfrei at 2012-12-16T08:24:51Z

The DeprecationErrorHandler will need to be in the Test directory as well, as its handleBC method is used for handling BC code that's not in tests.

---------------------------------------------------------------------------

by colinfrei at 2012-12-16T09:06:51Z

Wanted to make a pull request to tvlooy's branch with the DeprecationErrorHandler stuff, but can't figure out how to do that - the commit is here: ec56379042

---------------------------------------------------------------------------

by stof at 2012-12-16T19:53:59Z

@fabpot The other extending interfaces provided for mocking purpose (as mocking an interface extending ``Traversable`` directly does not work). So we have FormInterface too at least
2012-12-18 13:05:19 +01:00
Bernhard Schussek
19d8510288 [Form] Improved Form::add() and FormBuilder::add() to accept integers as field names 2012-12-18 11:56:22 +01:00
Bernhard Schussek
fb71964adc [Form] Added an alternative signature Form::add($name, $type, $options) 2012-12-18 11:29:26 +01:00
Colin Frei
07316c9aa0 [Validator] catch deprecated methods 2012-12-17 21:38:04 +01:00
Michel Weimerskirch
ab9d033edc [Validator] Added missing Luxembourgish messages 2012-12-17 12:46:04 +01:00
Tom Van Looy
cda162103f Move FormInterface too 2012-12-17 09:01:30 +01:00
Fabien Potencier
8df9b7a2de [Config] renamed keepKeys() to normalizeKeys() (refs #6367) 2012-12-16 17:56:50 +01:00
Fabien Potencier
4f0cf08523 merged branch fabpot/config-key-normalization (PR #6367)
This PR was merged into the master branch.

Commits
-------

6efae29 [TwigBundle] fixed configuration to avoid key normalizations for paths and globals (closes #5998)
e31d4f1 [Config] allowed the disabling of key normalization on some array nodes

Discussion
----------

Config key normalization

This is a quick proof-of-concept for a better fix of #6086, where key normalizations can be disabled on specific nodes. The previous patch was not really useful as you were only able to disable key normalization globally for a configuration.

ping @lolautruche

The second commit fixes #5998.

---------------------------------------------------------------------------

by lolautruche at 2012-12-15T15:39:00Z

+1
The approach is neat and much better than my workaround. Gives better control and avoids magic 😃 (even if this *normalization* is still a bit obscure to me).
2012-12-16 16:12:15 +01:00
Fabien Potencier
e31d4f19d9 [Config] allowed the disabling of key normalization on some array nodes
This reverts #6086
2012-12-16 16:11:28 +01:00
Pascal Helfenstein
a9c27fbe7b [Form] empty_value should not be selectable in choice field if the field is required 2012-12-16 14:02:47 +01:00
Colin Frei
0544351463 Move DeprecationErrorHandler to Test folder so it's not removed when building the zip file 2012-12-16 10:51:52 +01:00
Tom Van Looy
f56a2b908c Fix #6374 move FormBuilderInterface from Tests to Test 2012-12-16 10:51:52 +01:00
Fabien Potencier
b1f2c2b9e9 tweaked previous merge 2012-12-16 09:41:40 +01:00
Florin Patan
5a73d5512f Added small test to check if time limit works 2012-12-15 23:45:42 +02:00
Florin Patan
7f6e99bc4d Fixed MongoDB storage missing time range. Fixed UI not searching properly. Removed unnecessary time query. 2012-12-15 23:37:18 +02:00
Florin Patan
3a0ed584df Added ability to search by time when using the profiler 2012-12-15 22:42:20 +02:00
Fabien Potencier
ab64da5671 [Locale] fixed a test 2012-12-15 18:28:15 +01:00
Bernhard Schussek
e713bb4e7e Fixed failing test 2012-12-15 18:20:34 +01:00
Fabien Potencier
f9297c103e merged branch bschussek/bugfix (PR #6371)
This PR was merged into the master branch.

Commits
-------

2f6507b [Form] Fixed failing test

Discussion
----------

[Form] Fixed failing test

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -
License of the code: MIT
Documentation PR: -
2012-12-15 18:13:18 +01:00
Bernhard Schussek
2f6507ba18 [Form] Fixed failing test 2012-12-15 18:04:13 +01:00
Fabien Potencier
0ed2bdde84 Merge branch '2.1'
* 2.1:
  [FrameworkBundle] fixed broken tests
  [FrameworkBundle] Fixed logic under test environment.
  [Session] Added exception to save method
  [Session] Fixed a bug with the TestListener
  Added comment
  [FrameworkBundle] Added tests for trusted_proxies configuration.
  [FrameworkBundle] Added a check on file mime type for CodeHelper::fileExcerpt()
  checked for a potentially missing key
  [FrameworkBundle] used the new method for trusted proxies
  remove realpath call

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php
2012-12-15 17:49:38 +01:00
Fabien Potencier
aca311e077 Merge branch '2.0' into 2.1
* 2.0:
  Added comment
  [FrameworkBundle] Added tests for trusted_proxies configuration.
  [FrameworkBundle] Added a check on file mime type for CodeHelper::fileExcerpt()
  checked for a potentially missing key
  [FrameworkBundle] used the new method for trusted proxies
  remove realpath call

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php
2012-12-15 17:44:57 +01:00
Fabien Potencier
04d95a5bee [Yaml] tweaked phpdoc (closes #6275) 2012-12-15 14:02:34 +01:00
Fabien Potencier
a709a02538 merged branch fabpot/translation-metadata (PR #6349)
This PR was merged into the master branch.

Commits
-------

320fb6c [Translation] changed the MetadataAwareInterface method signatures
11ff433 [Translation] fixed CS in unit tests
c40db35 [Translation] removed some code that is not done anywhere else in Symfony
63719a0 [Translation] created a new interface to avoid breaking BC
23e9e65 [Translation] fixed name
5607732 [Translation] added Metadata to MessageCatalogue

Discussion
----------

[MessageCatalogue] Add Metadata to MessageCatalogue

rework of #4399

For improving the Gettext tools (PO, MO File Loader/Dumper) we need at least storage for their meta data.

This patch allows for issues below to store and process ie Po Header, Po Header Pluralisation rule.

Open
- [[WIP]: Allow Drupal to use Translate component](https://github.com/symfony/symfony/pull/4249)
- [[2.1][Translator] Symfony translation process & gettext](https://github.com/symfony/symfony/issues/4245)

Closed:
- [[Translation] Po/MoFileLoader parse plurization rules](https://github.com/symfony/symfony/pull/3023)

It has 1 TODO regarding addCatalogue: it now just override old values with new.
2012-12-15 13:49:35 +01:00
Fabien Potencier
c67ddb27b3 merged branch baldurrensch/testlistener_fix (PR #6362)
This PR was merged into the 2.1 branch.

Commits
-------

098b593 [Session] Added exception to save method
6b9ee87 [Session] Fixed a bug with the TestListener

Discussion
----------

[Session] Fixed bug with TestListener

Fixed a bug where an unstarted mock session would be emptied with a save. Here are the steps to reproduce:

Use the test client from Symfony\Bundle\FrameworkBundle\Test\WebTestCase::createClient(), and add something to its session. (I actually had it authenticate against a firewall).
Take the cookies of this first test client and add them to a second test client
Have the second test client request a URL that results in a 404
Since the 404 does not need to start the session, hence when save is called (automatically), the mock session is overwritten with an empty array. This does not happen with the other session handlers.
The added unit test in this PR shows this problem. If this PR gets accepted, will it also get merged into the 2.1.x-dev branch?

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes (The broken test seems to be unrelated to this change)
Fixes the following tickets: -
Todo: -
License of the code: MIT
Documentation PR: -

This is a follow up PR since my original one (https://github.com/symfony/symfony/pull/6342) was against the wrong upstream branch.
2012-12-15 13:27:56 +01:00
Fabien Potencier
1de60c902c merged branch ricardclau/rename_choice_to_oneof (PR #6360)
This PR was merged into the master branch.

Commits
-------

9071676 create oneof constraint and add deprecation messages in choice, also make choice extend new oneOf constraint to avoid duplicate code

Discussion
----------

[Validator] Rename "Choice" to "OneOf"

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #6324
Todo:
License of the code: MIT
Documentation PR: https://github.com/symfony/symfony-docs/issues/2025

---------------------------------------------------------------------------

by bschussek at 2012-12-14T18:20:56Z

Can you let `Choice` and `ChoiceValidator` extend the renamed classes? Then we avoid the code duplication. You can also remove `ChoiceValidatorTest` then.

---------------------------------------------------------------------------

by ricardclau at 2012-12-14T18:26:58Z

For sure! BTW there seems to be a problem with SF2 build when testing BR currency :S maybe it is the new ICU version supported, I guess you are aware of this but just in case!

---------------------------------------------------------------------------

by stof at 2012-12-14T21:14:04Z

the ``Choice`` constraint should trigger a ``E_USER_DEPRECATED`` in its constructor (and calling the parent constructor) as we agreed on this. The PR adding these calls everywhere is not merged yet, but it would avoid missing it when merging the PRs separately

---------------------------------------------------------------------------

by bschussek at 2012-12-14T21:19:45Z

Things missing:

* add a deprecation note to the Validator's CHANGELOG
* add a block in UPGRADE-2.2 under the Validator's "Deprecations" section that explains how to upgrade with a before/after sample
* add `trigger_error()` calls to the constructors of `Choice` and `ChoiceValidator`

See #6180 for more information about how to call `trigger_error()`.

---------------------------------------------------------------------------

by ricardclau at 2012-12-14T22:45:55Z

Sorry I was not aware of the trigger_error() agreement, absolutely +1 on it.

I hope I understood everything properly, if there is something else or some other errors please tell me!

---------------------------------------------------------------------------

by bschussek at 2012-12-15T08:46:51Z

The entry in the CHANGELOG is still missing.

---------------------------------------------------------------------------

by ricardclau at 2012-12-15T09:36:28Z

By the CHANGELOG you mean what I just added right? Hope now it is ok!

---------------------------------------------------------------------------

by bschussek at 2012-12-15T09:45:16Z

Awesome! 👍
2012-12-15 13:25:28 +01:00
Ricard Clau
9071676f0b create oneof constraint and add deprecation messages in choice, also make choice extend new oneOf constraint to avoid duplicate code 2012-12-15 10:29:01 +01:00
Fabien Potencier
e3cc337b00 merged branch colinfrei/deprecationErrors (PR #6180)
This PR was merged into the master branch.

Commits
-------

6b10550 Merge branch 'master' of github.com:symfony/symfony into deprecationErrors
1d82112 [Form] Fix two cases where deprecated methods were being used
b8cdbdc [Form] Catch deprecation errors that are caused by BC code
ebcb432 [Form] [FrameworkBundle] catch deprecation errors in tests
c21b12e [Form] handle BC use of deprecated stuff in non-test-methods.
fc2be6d [Form] catch deprecated errors in tests
800a032 [Form] replace bindRequest() with bind(), as bindRequest is deprecated
d5b2638 [Form] Trigger errors for deprecated methods in Form Component
f3d6966 [Validator] Stop using deprecated methods
d57ad32 [Form] Catch deprecation errors when using deprecated methods/classes in tests
3241157 [Validator] Trigger errors for deprecations
1f9eb7f return value of handleError
b35de9e Handle errors using a custom error handler
f49704b trigger errors for deprecated methods in HttpFoundation component

Discussion
----------

trigger_error() for deprecations

See also #6173 and #6139.

Started triggering errors in the HttpFoundation component.
It seems as if most of the time the error is just duplicating the text in the @deprecation comment.

Any opinions on if duplicating the text is acceptable, or if fetching the comment text to output the error makes sense?

---------------------------------------------------------------------------

by Seldaek at 2012-12-04T13:39:42Z

IMO it's fine to just duplicate the `@deprecated` note in the message, since anyway this code is meant to be completely deleted, this duplication should not do much harm.

---------------------------------------------------------------------------

by fabpot at 2012-12-06T08:22:21Z

@colinfrei I've merged PR #6173. Do you have time to implement the `trigger_error()` call everywhere? Thanks.

---------------------------------------------------------------------------

by colinfrei at 2012-12-06T08:36:55Z

Yep I'll finish that, probably until the beginning of next week.

---------------------------------------------------------------------------

by bschussek at 2012-12-10T10:15:12Z

Thank you for working on this!

---------------------------------------------------------------------------

by fabpot at 2012-12-12T11:08:53Z

@colinfrei: Is this PR finished? Can I merge it?

---------------------------------------------------------------------------

by colinfrei at 2012-12-12T12:09:19Z

@fabpot not quite - I lost some work due to a computer crash over the weekend. The only thing open is fixing the tests  for the Form Component and catching the cases where the Form Component intentionally uses deprecated stuff.

---------------------------------------------------------------------------

by colinfrei at 2012-12-15T07:32:28Z

@fabpot - finished adding trigger_errors and catching them in Tests and as needed.
Travis is failing, but that seems to be master being broken due to the Finder changes?

I changed a few cases where the code was using deprecated methods which wasn't necessary in my eyes, specifically   1d8211249b, 800a032f07, f3d696636a
2012-12-15 08:53:57 +01:00
Tobias Schultze
9ab5e4f5c7 fix typos in PhpMatcherDumper 2012-12-14 23:50:21 +01:00
Colin Frei
6b105504f4 Merge branch 'master' of github.com:symfony/symfony into deprecationErrors 2012-12-14 23:30:36 +01:00
Pascal Borreli
60eeacd2d1 Fixed typos 2012-12-14 22:27:02 +00:00
Colin Frei
1d8211249b [Form] Fix two cases where deprecated methods were being used 2012-12-14 23:17:14 +01:00
Colin Frei
b8cdbdc69f [Form] Catch deprecation errors that are caused by BC code 2012-12-14 23:16:49 +01:00
Colin Frei
ebcb432f07 [Form] [FrameworkBundle] catch deprecation errors in tests 2012-12-14 23:16:06 +01:00
Tobias Schultze
8b2c17f803 fix double-decoding in the routing system 2012-12-14 23:08:21 +01:00
Pascal Borreli
4a073e60fb [Form] Fixed duplicate case expression 2012-12-14 22:07:21 +00:00
Baldur Rensch
098b593591 [Session] Added exception to save method
A RuntimeException is thrown if there is an attempt to save the session
without it being started, or if it has already been closed.
2012-12-14 13:03:29 -08:00
Fabien Potencier
d13907bdef Merge branch '2.1'
* 2.1:
  [Form] Fixed DateTimeToStringTransformer parsing on PHP < 5.3.8
  [Propel1Bridge] Fix "and => &&" CS in ModelChoiceList
  [HttpKernel] Revise MongoDbProfilerStorage::write() return value
  [Session] Document Mongo|MongoClient argument type instead of "object"
  [HttpKernel] Support MongoClient and Mongo connection classes
  [Session] Support MongoClient and Mongo connection classes
  [Session] Utilize MongoDB::selectCollection()
  [Form] Fixed reverse transformation of values in DateTimeToStringTransformer

Conflicts:
	src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php
	src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php
2012-12-14 21:34:16 +01:00
Fabien Potencier
f68ae0e57b merged branch hason/config (PR #5875)
This PR was merged into the master branch.

Commits
-------

45aab0f [Config] Added parameter to check prefix in an element or an attribute name in XmlUtils::convertDomElementToArray
7f5a7fd [DependencyInjection] Using class from Config component to loading XML files
d6f0880 [Validator] Added dependency to Config component to loading XML files
34471a6 [Routing] Using class from Config component to loading XML files
fa8b0d8 [Config] Added a utils class for XML manipulations

Discussion
----------

[Config] Added a utils class for XML manipulations

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT

---------------------------------------------------------------------------

by fabpot at 2012-12-14T13:59:59Z

Looks good to me. Can you rebase on master as there is a conflict right now? Thanks.

---------------------------------------------------------------------------

by hason at 2012-12-14T14:44:11Z

Done.
2012-12-14 21:11:29 +01:00
Fabien Potencier
63f1f873ff merged branch rubenrua/master (PR #6361)
This PR was merged into the master branch.

Commits
-------

4c833ac Added Galician translation

Discussion
----------

[Form] [Validator] added Galician translation

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -
License of the code: MIT
Documentation PR: -
2012-12-14 21:02:05 +01:00
Fabien Potencier
42adb7ade1 merged branch fabstei/update_slovak_translation (PR #6358)
This PR was merged into the master branch.

Commits
-------

8729ff8 [Validator] Updated Slovak translations (collections and cards)

Discussion
----------

[Validator] Updated Slovak translations (collections and cards)
2012-12-14 21:01:34 +01:00
Fabien Potencier
49dc8b0bf8 merged branch efeencheung/master (PR #6356)
This PR was merged into the master branch.

Commits
-------

d7db2c3 Add two zh_CN thans-unit in validators

Discussion
----------

Add 2 zh_CN thans-unit in validators

I 've added 2 zh_CN thans-unit in validators, Please review it
2012-12-14 21:01:18 +01:00
rubenrua
4c833ac80e Added Galician translation 2012-12-14 19:44:04 +01:00
Bernhard Schussek
ad29df5efd [Form] Fixed DateTimeToStringTransformer parsing on PHP < 5.3.8 2012-12-14 19:18:27 +01:00
Fabian Steiner
8729ff886c [Validator] Updated Slovak translations (collections and cards) 2012-12-14 17:01:37 +01:00
efeen
d7db2c387a Add two zh_CN thans-unit in validators 2012-12-14 23:14:32 +08:00
Martin Hasoň
45aab0f1e0 [Config] Added parameter to check prefix in an element or an attribute name in XmlUtils::convertDomElementToArray 2012-12-14 15:34:03 +01:00
Martin Hasoň
7f5a7fd432 [DependencyInjection] Using class from Config component to loading XML files 2012-12-14 15:34:01 +01:00
Martin Hasoň
d6f08809dd [Validator] Added dependency to Config component to loading XML files 2012-12-14 15:33:59 +01:00
Martin Hasoň
34471a636a [Routing] Using class from Config component to loading XML files 2012-12-14 15:33:56 +01:00
Martin Hasoň
fa8b0d82f1 [Config] Added a utils class for XML manipulations 2012-12-14 15:29:59 +01:00
Fabien Potencier
c0507aae90 [Console] added support for ICU data version 50 2012-12-14 14:57:19 +01:00
Fabien Potencier
320fb6cedf [Translation] changed the MetadataAwareInterface method signatures 2012-12-14 14:10:50 +01:00
Fabien Potencier
11ff4330c5 [Translation] fixed CS in unit tests 2012-12-14 14:07:36 +01:00
Fabien Potencier
c40db35c91 [Translation] removed some code that is not done anywhere else in Symfony 2012-12-14 14:04:54 +01:00
Fabien Potencier
63719a0a19 [Translation] created a new interface to avoid breaking BC 2012-12-14 13:44:07 +01:00
Fabien Potencier
23e9e65c00 [Translation] fixed name 2012-12-14 13:44:05 +01:00
Clemens Tolboom
5607732a66 [Translation] added Metadata to MessageCatalogue 2012-12-14 13:34:43 +01:00
Fabien Potencier
1e0a9d0ea7 merged branch robinduval/validator-translation (PR #6347)
This PR was merged into the master branch.

Commits
-------

7511a50 [Validator] Card validation - French translations

Discussion
----------

[Validator] Card validation - French translations
2012-12-14 12:57:57 +01:00
robinduval
7511a500ce [Validator] Card validation - French translations 2012-12-14 12:35:25 +01:00
Tobias Schultze
efa6c91139 [Routing] add missing phpdoc return 2012-12-14 11:40:56 +01:00
Fabien Potencier
008dc8f1ce [Console] tweaked the select() method in the dialog helper to be more consistent with other method in the same class 2012-12-14 10:43:16 +01:00
Serge Smertin
692b0f41ae [Console] added select() method for DialogHelper 2012-12-14 08:36:07 +01:00
Colin Frei
c21b12e896 [Form] handle BC use of deprecated stuff in non-test-methods. 2012-12-14 07:33:36 +01:00
Colin Frei
fc2be6ddc8 [Form] catch deprecated errors in tests 2012-12-14 07:31:09 +01:00
Colin Frei
800a032f07 [Form] replace bindRequest() with bind(), as bindRequest is deprecated 2012-12-14 07:29:01 +01:00
Alex Carol
632f57d862 Corrected typo in catalan translation 2012-12-13 23:08:14 +01:00
Jeremy Mikola
f24e3d79ea [HttpKernel] Revise MongoDbProfilerStorage::write() return value
This should be functionally equivalent, but will be more robust if update() ever returns a falsey value.
2012-12-13 16:41:47 -05:00
Jeremy Mikola
78c5273913 [Session] Document Mongo|MongoClient argument type instead of "object" 2012-12-13 16:21:49 -05:00
Jeremy Mikola
de19a81107 [HttpKernel] Support MongoClient and Mongo connection classes
MongoClient defaults its write concern to w=1 (i.e. "safe" writes), which means update() may return an array instead of boolean true. Check for this before returning from write().
2012-12-13 16:20:39 -05:00
Jeremy Mikola
b28af77101 [Session] Support MongoClient and Mongo connection classes
This provides compatibility with pre-1.3.0 and newer PHP MongoDB drivers.
2012-12-13 15:48:37 -05:00
Jeremy Mikola
20e93bf1a4 [Session] Utilize MongoDB::selectCollection() 2012-12-13 15:46:59 -05:00
Fabien Potencier
b43d7bf66b [Translation] fixed a unit test 2012-12-13 21:23:16 +01:00
Fabien Potencier
59d62b0aa2 merged branch umpirsky/rename-qt-loader (PR #6335)
This PR was merged into the master branch.

Commits
-------

74a06f8 QtTranslationsLoader class renamed to QtFileLoader.

Discussion
----------

[Translation] QtTranslationsLoader class renamed to QtFileLoader.

QtTranslationsLoader class renamed to QtFileLoader. QtTranslationsLoader is deprecated and will be removed in 2.3.

Fixes #6332.
2012-12-13 21:22:50 +01:00
Fabien Potencier
2447757a4e merged branch bschussek/datetimetostringtransformer (PR #6333)
This PR was merged into the 2.1 branch.

Commits
-------

b20c5ca [Form] Fixed reverse transformation of values in DateTimeToStringTransformer

Discussion
----------

[Form] Fixed reverse transformation of values in DateTimeToStringTransformer

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

The parts not given in the format are reset to the corresponding values of
the UNIX base timestamp. For example, when parsing with the format "Y-m-d",
parsing

    "2012-05-18"

now results in the date

    "2012-05-18 00:00:00 UTC"

instead of

    "2012-05-18 12:58:27 UTC"

as before, where the time part corresponded to the local server time.

Another example: When parsing with the format "H:i:s", parsing

    "12:58:27"

now results in

    "1970-01-01 12:58:27 UTC"

instead of

    "2012-12-13 12:58:27 UTC"

as before, where again the date part corresponded to the local server time.

This behavior is now consistent with DateTimeToArrayTransformer and
DateTimeToLocalizedStringTransformer.
2012-12-13 21:21:50 +01:00
Fabien Potencier
5a8534a5db merged branch umpirsky/fix-issue-5797 (PR #6331)
This PR was merged into the master branch.

Commits
-------

2196810 Added QtTranslationsLoader tests.
201818b Fixed #5797.

Discussion
----------

[Translation] Fixed #5797.

This should fix issue #5797.

What I did is prevented `Translator` to throw `NotFoundResourceException` if resource is not found and there are fallback locales to process. This happens for locales like `en_GB`, `fr_FR`...

I also tested this fix against real application which uses Validation component without full stack framework and I was able to use `en_GB` locale without any errors only after this fix.
2012-12-13 21:21:21 +01:00
umpirsky
74a06f84b6 QtTranslationsLoader class renamed to QtFileLoader. 2012-12-13 20:15:36 +01:00
Tobias Schultze
1997e2e978 fix phpdoc of UrlGeneratorInterface that missed some exceptions and improve language of exception message 2012-12-13 20:13:12 +01:00
Tobias Schultze
f0415ed3d1 [Routing] made reference type fully BC and improved phpdoc considerably 2012-12-13 20:13:11 +01:00
Tobias Schultze
7db07d91aa [Routing] added tests for generating relative paths and network paths 2012-12-13 20:13:10 +01:00
Tobias Schultze
75f59ebe01 [Routing] add support for path-relative and scheme-relative URL generation 2012-12-13 20:13:09 +01:00
umpirsky
219681092c Added QtTranslationsLoader tests. 2012-12-13 19:47:04 +01:00
Bernhard Schussek
b20c5ca2ef [Form] Fixed reverse transformation of values in DateTimeToStringTransformer
The parts not given in the format are reset to the corresponding values of
the UNIX base timestamp. For example, when parsing with the format "Y-m-d",
parsing

    "2012-05-18"

now results in the date

    "2012-05-18 00:00:00 UTC"

instead of

    "2012-05-18 12:58:27 UTC"

as before, where the time part corresponded to the local server time.

Another example: When parsing with the format "H:i:s", parsing

    "12:58:27"

now results in

    "1970-01-01 12:58:27 UTC"

instead of

    "2012-12-13 12:58:27 UTC"

as before, where again the date part corresponded to the local server time.

This behavior is now consistent with DateTimeToArrayTransformer and
DateTimeToLocalizedStringTransformer.
2012-12-13 19:30:06 +01:00
Fabien Potencier
4c3edc276a Merge branch '2.1'
* 2.1:
  [Console] Add support for parsing terminal width/height on localized windows, fixes #5742
  [Form] Fixed treatment of countables and traversables in Form::isEmpty()
  refactor ControllerNameParser
  [Form] Fixed FileType not to throw an exception when bound empty
  - Test undefined index #
  Maintain array structure
  Check if key # is defined in $value
  Update src/Symfony/Component/Validator/Resources/translations/validators.pl.xlf
2012-12-13 19:25:06 +01:00
umpirsky
201818bd4b Fixed #5797. 2012-12-13 18:48:40 +01:00
Jordi Boggiano
d2231d8cd8 [Console] Add support for parsing terminal width/height on localized windows, fixes #5742 2012-12-13 18:42:00 +01:00
Fabien Potencier
99a66c97d5 merged branch vicb/kernel/stripcomments (PR #6328)
This PR was merged into the master branch.

Commits
-------

aab60e3 [HttpKernel] fix public Kernel::stripComments()

Discussion
----------

[HttpKernel] fix public Kernel::stripComments()

Needs fix as the method is public.

---------------------------------------------------------------------------

by fabpot at 2012-12-13T17:01:52Z

Can you explain what you mean by "Needs fix as the method is public."?

---------------------------------------------------------------------------

by vicb at 2012-12-13T17:15:05Z

@fabpot One can argue that the fix could not be reached if the method was private.
2012-12-13 18:31:33 +01:00
Victor Berchet
aab60e33a9 [HttpKernel] fix public Kernel::stripComments() 2012-12-13 17:56:02 +01:00
Bernhard Schussek
81bdab8b44 [Validator] Fixed: Arrays are validated recursively by default 2012-12-13 15:47:07 +01:00
Bernhard Schussek
03b880fed0 [Form] Fixed treatment of countables and traversables in Form::isEmpty() 2012-12-13 15:18:14 +01:00
Fabien Potencier
81fc922f16 merged branch vmattila/master (PR #6320)
This PR was merged into the master branch.

Commits
-------

77ffdad Finnish Validator translations updated.

Discussion
----------

Finnish Validator translations updated.

This PR contains an updated Validator translation file for Finnish language.
2012-12-13 15:01:33 +01:00
Ville Mattila
77ffdad558 Finnish Validator translations updated. 2012-12-13 15:51:31 +02:00
Bernhard Schussek
21a59ca04c [Form] Fixed FileType not to throw an exception when bound empty 2012-12-13 14:33:06 +01:00
Tobias Schultze
c2dc758146 [Translation] fix typo in changelog 2012-12-13 13:24:44 +01:00
Fabien Potencier
142d3389ef merged branch fabpot/translator-loaders (PR #6308)
This PR was merged into the master branch.

Commits
-------

34d0c6b [Translation] uniformized the way exception are thrown in LoaderInterface::load()

Discussion
----------

[Translation] uniformized the way exception are thrown in LoaderInterface::load()

---------------------------------------------------------------------------

by fabpot at 2012-12-12T19:44:36Z

followup for #6301 (cc @umpirsky)

---------------------------------------------------------------------------

by umpirsky at 2012-12-12T19:59:05Z

Does this means that we will catch this exception in `Translator` in order to fix #5797?
If yes, maybe we should add new `TranslationResourceNotFoundException` or something similar?

---------------------------------------------------------------------------

by fabpot at 2012-12-13T10:01:23Z

I've created two new exception classes: `NotFoundResourceException` for when the resource does not exist and `InvalidResourceException` when a problem occurs when loading the resource. That should give us everything we need to fix #5797.

---------------------------------------------------------------------------

by umpirsky at 2012-12-13T10:05:08Z

Perfect, thanks.

I'll give it a try later today.

---------------------------------------------------------------------------

by umpirsky at 2012-12-13T11:58:37Z

@fabpot Will you merge or I should fork your branch?
2012-12-13 13:00:54 +01:00
Fabien Potencier
34d0c6b640 [Translation] uniformized the way exception are thrown in LoaderInterface::load() 2012-12-13 11:00:37 +01:00
Fabien Potencier
b4e7ff241f merged branch hason/czech_validator (PR #6316)
This PR was merged into the master branch.

Commits
-------

eb2c293 Updated czech translations

Discussion
----------

Updated czech translations
2012-12-13 10:50:36 +01:00
Martin Hasoň
eb2c293728 Updated czech translations 2012-12-13 10:09:16 +01:00
Haritz
fc6290695a Update basque translation
Update translations in lines 195 and 203
2012-12-13 09:23:48 +01:00
Fabien Potencier
ea5929c991 merged branch alsar/slovenian-translation (PR #6311)
This PR was merged into the master branch.

Commits
-------

29595d1 added slovenian translations

Discussion
----------

[Validator] Added Slovenian translations for card validation
2012-12-12 22:15:28 +01:00
Fabien Potencier
d040e91bf1 merged branch meigwilym/master (PR #6310)
This PR was merged into the master branch.

Commits
-------

6c6bf53 first translation to Welsh

Discussion
----------

[Validator][Resources] added new Welsh translation file

Added a Welsh (cy) version of src/Symfony/Component/Validator/Resources/translations/validators.en.xlf
2012-12-12 22:14:35 +01:00
alsar
29595d1a71 added slovenian translations 2012-12-12 22:05:51 +01:00
Mei Gwilym
6c6bf53b46 first translation to Welsh 2012-12-12 20:52:11 +00:00
Eugene Leonovich
3d736ee3e9 [Validator] Update Russian validation messages 2012-12-12 21:03:17 +01:00
Fabien Potencier
9d2efd3071 merged branch dlsniper/ro-translations (PR #6307)
This PR was merged into the master branch.

Commits
-------

58f9d00 Updated Romanian translations

Discussion
----------

Updated Romanian translations

Added Romanian translation for card validation
2012-12-12 20:46:36 +01:00
Florin Patan
58f9d0042d Updated Romanian translations 2012-12-12 21:31:29 +02:00
Fabien Potencier
6b5a9525c1 merged branch umpirsky/issue-5797 (PR #6301)
This PR was merged into the master branch.

Commits
-------

a1fb945 CS fixes.
ac58681 Fix loaders to check if resource exists.

Discussion
----------

[Translation] Fix loaders to check if resource exists.

This was mentioned in #5797.

The problem is that some translation loaders throw exception when translation resource is not found, some produce warnings and some ignore this and return empty catalog.

After this fix, all of them will throw exception in such case. But still, some of them will throw `RuntimeException` and some `InvalidArgumentException` which is not perfect, but still one step in right direction.
2012-12-12 20:08:05 +01:00
Fabien Potencier
b29491cd60 merged branch umpirsky/clean-finder-test (PR #6305)
This PR was merged into the master branch.

Commits
-------

57e70a7 Small cleanup in Finder tests.

Discussion
----------

[Finder] Small cleanup in tests.
2012-12-12 20:03:58 +01:00
Fabien Potencier
a45fb93010 merged branch hizai/master (PR #6303)
This PR was merged into the master branch.

Commits
-------

af3e314 Updated basque translations

Discussion
----------

Updated basque translations
2012-12-12 20:01:44 +01:00
umpirsky
57e70a78d0 Small cleanup in Finder tests. 2012-12-12 19:55:22 +01:00
Andreia Bohner
655fd6ef4c Update Portuguese validation messages 2012-12-12 16:43:57 -02:00
Eduardo Gulias Davis
b4e894a07d - Test undefined index # 2012-12-12 18:17:16 +01:00
Harry Walter
b73b87d571 Maintain array structure 2012-12-12 18:17:16 +01:00
Harry Walter
eac14b5ef2 Check if key # is defined in $value
If # is undefined in $value use set the attribute value as $value
2012-12-12 18:17:16 +01:00
Haritz
af3e3149d1 Updated basque translations 2012-12-12 18:09:02 +01:00
Fabien Potencier
2da97c1a2f fixed CS 2012-12-12 17:59:52 +01:00
Fabien Potencier
acc10a1518 merged branch istaveren/ticket_5288 (PR #6109)
This PR was merged into the master branch.

Commits
-------

12a890f Issue 5288 fix

Discussion
----------

Issue #5288 fix

I only have the test failing on

php -v
5.4.6-1ubuntu1

ICU version 4.8.1.1

Test results

1) Symfony\Component\Locale\Tests\Stub\StubLocaleTest::testGetCurrenciesData
    Failed asserting that two strings are equal.
    --- Expected
    +++ Actual
    @@ @@
    -'BR$'
    +'R$'

It looks like the check $this->isSameAsIcuVersion('4.8') on line is to strict.
It was added here https://github.com/symfony/symfony/commit/90d6dc37 but I don't how to test the fix on icu version 4.8.0.x

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #5288
Todo: Check older version of the ICU lib are still working. Because I could not test that.
2012-12-12 17:59:16 +01:00
Colin Frei
d5b2638ff4 [Form] Trigger errors for deprecated methods in Form Component 2012-12-12 17:43:13 +01:00
umpirsky
a1fb94510f CS fixes. 2012-12-12 17:37:31 +01:00
umpirsky
ac58681ae4 Fix loaders to check if resource exists. 2012-12-12 17:37:30 +01:00
Fabien Potencier
3140a589d2 merged branch bertzzie/indo-translation-57-58 (PR #6296)
This PR was merged into the master branch.

Commits
-------

082e8b9 [Validation] Added more Indonesian translation.

Discussion
----------

[Validation] Added more Indonesian translation.

- Added Indonesian translation for translation unit no. 57 and 58.

---------------------------------------------------------------------------

by bertzzie at 2012-12-12T16:16:09Z

This is to add some more translation I missed from the pull request before, here:

https://github.com/symfony/symfony/pull/6289#issuecomment-11291990

Thanks.
2012-12-12 17:35:00 +01:00
Fabien Potencier
067a83c757 merged branch Spea/german-translation (PR #6300)
This PR was merged into the master branch.

Commits
-------

00422dc [Validator] Card validation - German translation

Discussion
----------

[Validator] Card validation - German translation
2012-12-12 17:33:21 +01:00
Fabien Potencier
775b1e36dd merged branch empire/patch-card-validation (PR #6299)
This PR was merged into the master branch.

Commits
-------

ada0875 Added farsi translation for card valdiation

Discussion
----------

[Validator] Added farsi translation for card valdiation
2012-12-12 17:31:29 +01:00
Hossein Zolfi (Ocean)
ada08753e1 Added farsi translation for card valdiation 2012-12-12 19:56:56 +03:30
Martin Parsiegla
00422dc009 [Validator] Card validation - German translation 2012-12-12 17:26:14 +01:00
Alex Xandra Albert Sim
082e8b96fa [Validation] Added more Indonesian translation.
- Added Indonesian translation for translation unit no. 57 and 58.
2012-12-12 23:14:18 +07:00
Fabien Potencier
7bce9b0f28 merged branch sineld/master (PR #6294)
This PR was merged into the master branch.

Commits
-------

d52f8f7 Turkish Language File Translated

Discussion
----------

Turkish Language File Translated
2012-12-12 16:53:09 +01:00
Sinan Eldem
d52f8f781a Turkish Language File Translated 2012-12-12 17:41:33 +02:00
Fabien Potencier
7d8458f2d2 merged branch agarfors/master (PR #6292)
This PR was merged into the master branch.

Commits
-------

ab58c7f [Validator] Card validation - Norwegian translation unit 54-48

Discussion
----------

[Validator] Card validation - Norwegian translation unit 54-58
2012-12-12 16:38:13 +01:00
Åsmund Garfors
ab58c7fc84 [Validator] Card validation - Norwegian translation unit 54-48 2012-12-12 16:07:02 +01:00
Fabien Potencier
57f1f065ff merged branch pierredup/validator_translations (PR #6291)
This PR was merged into the master branch.

Commits
-------

34df35d Added validation messages for  Afrikaans

Discussion
----------

[Validator] Validation messages - Afrikaans translatios
2012-12-12 15:58:01 +01:00
Fabien Potencier
f7ce6c7152 merged branch agarfors/master (PR #6290)
This PR was merged into the master branch.

Commits
-------

402cfde [Validator] Card validation - Norwegian translations

Discussion
----------

[Validator] Card validation - Norwegian translations

Noregian nynorsk translation
2012-12-12 15:57:32 +01:00
Fabien Potencier
1f0b28326e merged branch bertzzie/validation-indo-translation (PR #6289)
This PR was merged into the master branch.

Commits
-------

08f2631 [Validation] Improve Indonesian translation.

Discussion
----------

[Validation] Improve Indonesian translation.

- Improve some translation's grammar.
- Added translation unit no. 49 - 56.
2012-12-12 15:57:12 +01:00
Fabien Potencier
aac361c65b merged branch 1ed/patch-2 (PR #6288)
This PR was merged into the master branch.

Commits
-------

89181a8 [Validator] added Hungarian translations for card validation

Discussion
----------

[Validator] added Hungarian translations for card validation
2012-12-12 15:55:48 +01:00
Fabien Potencier
f6c8538e44 merged branch jordillonch/master (PR #6286)
This PR was merged into the master branch.

Commits
-------

5cc4390 Updated catalan translations for validators

Discussion
----------

Updated catalan translations for validators
2012-12-12 15:55:25 +01:00
Fabien Potencier
e6bae7bbe0 merged branch bobdenotter/master (PR #6284)
This PR was merged into the master branch.

Commits
-------

075c4cb [Validator] Card validation - Dutch translations

Discussion
----------

[Validator] Card validation - Dutch translations
2012-12-12 15:54:55 +01:00
Fabien Potencier
b8c04abafd merged branch stewe/translations-it (PR #6283)
This PR was merged into the master branch.

Commits
-------

b2ff4d8 [Validator] Card validation - Italian translations

Discussion
----------

[Validator] Card validation - Italian translations

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: n/a
Todo: n/a
License of the code: MIT
Documentation PR: n/a
2012-12-12 15:54:34 +01:00
Fabien Potencier
f66e6b8f6f merged branch iambrosi/validation-translations-1 (PR #6282)
This PR was merged into the master branch.

Commits
-------

3a6372d Updated spanish translations for validators

Discussion
----------

Updated spanish translations for validators

Added translations for credit card related messages
2012-12-12 15:54:12 +01:00
Pierre du Plessis
34df35dc37 Added validation messages for Afrikaans 2012-12-12 16:41:36 +02:00
Åsmund Garfors
402cfde4bb [Validator] Card validation - Norwegian translations 2012-12-12 15:38:03 +01:00
Gábor Egyed
89181a84a2 [Validator] added Hungarian translations for card validation 2012-12-12 15:36:59 +01:00
Stefano Sala
b2ff4d886d [Validator] Card validation - Italian translations 2012-12-12 15:27:04 +01:00
Alex Xandra Albert Sim
08f26318d3 [Validation] Improve Indonesian translation.
- Improve some translation's grammar.
- Added translation unit no. 49 - 56.
2012-12-12 21:26:22 +07:00
Jordi Llonch
5cc4390fa2 Updated catalan translations for validators 2012-12-12 15:24:50 +01:00
Bob den Otter
075c4cb5aa [Validator] Card validation - Dutch translations 2012-12-12 15:12:50 +01:00
Ismael Ambrosi
3a6372df4e Updated spanish translations for validators
Added translations for credit card related messages
2012-12-12 12:07:26 -02:00
Tiago Brito
c9e842c092 Update validators.pt.xlf to to Portuguese
Translating new validation (57 and 58) messages to Portuguese language
2012-12-12 13:58:55 +00:00
Joseph Bielawski
ed132970dd [Validator] Card validation - Polish translations 2012-12-12 14:39:42 +01:00
Joseph Bielawski
6a9a8c024e Update src/Symfony/Component/Validator/Resources/translations/validators.pl.xlf
Fixed polish translation
2012-12-12 14:03:58 +01:00
umpirsky
d789e5ab44 Serbian translation for card scheme constraint message. 2012-12-12 13:18:02 +01:00
umpirsky
76d653f448 Serbian translation for Luhn constraint message. 2012-12-12 13:11:42 +01:00
Alexander
2f07966677 [Yaml] Add test showing that dates before 01 Jan 1970 are correctly parsed 2012-12-12 11:54:56 +01:00
Bilal Amarni
26b8b47221 checked for a potentially missing key
The 'function' key isn't always available in the trace. This was
causing me a notice.
2012-12-12 10:42:27 +01:00
Tobias Schultze
e803f4663c made schemes and methods available in XmlFileLoader
it uses an attribute list instead of multiple scheme/method elements that I also experimented with
2012-12-12 09:48:09 +01:00
Rafał Wrzeszcz
c331ccd500 Added XHTML content type to ESI defaults. 2012-12-12 00:08:01 +01:00
Tobias Schultze
d374e70f7e made schemes and methods available in YamlFileLoader 2012-12-11 19:46:37 +01:00
Tobias Schultze
2834e7ef21 added scheme and method setter in RouteCollection 2012-12-11 19:40:18 +01:00
Tobias Schultze
10183ded68 make scheme and method requirements first-class citizen in Route 2012-12-11 19:40:17 +01:00
Fabien Potencier
18c520a5e8 merged branch Tobion/loaders (PR #6172)
This PR was merged into the master branch.

Commits
-------

237bbd0 fixed and refactored YamlFileLoader in the same sense as the XmlFileLoader
392d785 removed covers annotation from loader tests and unneeded use statements
45987eb added tests for the previous XmlFileLoader fixes
b20d6a7 ensure id, pattern and resource are specified
8361b5a refactor the XMlFileLoader
83fc5ff fix namespace handling in xml loader; it could not handle prefixes
1a60a3c make resource and key attributes required in xsd
02e01b9 improve exception messages in xml loader
51fbffe remove unneeded cast
358e9c4 fix some phpdoc

Discussion
----------

[Routing] improve loaders

BC break: no

Main points:
- fixed Xml loader that could not handle namespace prefixes but is valid xml
- fixed Yaml loader where some nonsesense configs were not validated correctly like an imported resource with a pattern key.

Added tests for all. Some refactoring + a few tweaks like better exception messages and more consistency between Xml loader and yaml loader. See also commits.

---------------------------------------------------------------------------

by Tobion at 2012-12-07T18:16:08Z

@fabpot this is ready

---------------------------------------------------------------------------

by Tobion at 2012-12-11T17:30:10Z

@fabpot rebased. Please don't squash to one big commit where one does not see what changed why.

---------------------------------------------------------------------------

by fabpot at 2012-12-11T17:32:40Z

I only squash when most commits are CS fixes and feedback.

---------------------------------------------------------------------------

by Tobion at 2012-12-11T17:37:49Z

Well, you squashed #6022 so it's not possible to revert a specific deprecation.
2012-12-11 18:46:52 +01:00
Tobias Schultze
237bbd0578 fixed and refactored YamlFileLoader in the same sense as the XmlFileLoader
some nonsesense configs were not validated correctly like an imported resource with a pattern key. added tests for such things too.
2012-12-11 18:26:19 +01:00
Tobias Schultze
392d785d91 removed covers annotation from loader tests and unneeded use statements 2012-12-11 18:03:52 +01:00
Tobias Schultze
45987eb2b7 added tests for the previous XmlFileLoader fixes 2012-12-11 18:03:51 +01:00
Tobias Schultze
b20d6a7960 ensure id, pattern and resource are specified
the yaml loader also requires the pattern to be given, so the xml loader should do the same
2012-12-11 18:03:50 +01:00
Tobias Schultze
8361b5a58b refactor the XMlFileLoader 2012-12-11 18:03:49 +01:00
Fabien Potencier
2578f1ef58 merged branch stloyd/feature/form-labels (PR #6262)
This PR was merged into the master branch.

Commits
-------

d5426f0 [Form] Add tests to prove that label is not rendered when is marked as false
120547c [Form][TwigBridge] Don't set label attributes if is marked as not to be rendered [Form][FrameworkBundle] Add option to disable rendering of label for fields
36e4556 [Form] Option for not displaying a label by setting label to false. [Form] Fixed formatting & translation ..

Discussion
----------

[Form] Added option for not displaying a form-label by setting label to false

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
Replaces: #5421

@fabpot @BenjaminBeck: I was just not sure what to do with "table based" forms, so I left `<td></td>` rendered when there is no label, because I'm not sure that we can hide it easily.

---------------------------------------------------------------------------

by XWB at 2012-12-11T09:30:14Z

👍
2012-12-11 17:55:20 +01:00
Tobias Schultze
83fc5ff72f fix namespace handling in xml loader; it could not handle prefixes 2012-12-11 17:52:57 +01:00
Tobias Schultze
1a60a3ceb5 make resource and key attributes required in xsd 2012-12-11 17:52:56 +01:00
Tobias Schultze
02e01b9798 improve exception messages in xml loader 2012-12-11 17:52:55 +01:00
Tobias Schultze
51fbffec26 remove unneeded cast 2012-12-11 17:52:53 +01:00
Tobias Schultze
358e9c47b9 fix some phpdoc 2012-12-11 17:52:53 +01:00
Victor Berchet
70a69d4874 [Routing] fix typo 2012-12-11 17:22:27 +01:00
Fabien Potencier
7200703089 fixed CS 2012-12-11 15:06:57 +01:00
Fabien Potencier
8bbc64d3ec merged branch robqu/patch-progressbar (PR #6266)
This PR was merged into the master branch.

Commits
-------

ea74610 jumping progress bar fix for windows & unix
6a0ee27 [Console] fixed progress bar jumping

Discussion
----------

[Console] fixed progress bar jumping for windows & unix env

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

---------------------------------------------------------------------------

by pborreli at 2012-12-11T13:58:25Z

Good implementation but could you please check http://symfony.com/doc/current/contributing/code/standards.html
2012-12-11 15:05:51 +01:00
Robert Queck
ea74610723 jumping progress bar fix for windows & unix 2012-12-11 14:31:22 +01:00
Fabien Potencier
51bcb6e7ee merged branch Tobion/collection-api (PR #6022)
This PR was squashed before being merged into the master branch (closes #6022).

Commits
-------

8c7a169 [Routing] clean up of RouteCollection API

Discussion
----------

[Routing] clean up of RouteCollection API

BC break: only the internal behavior of addPrefix()
Deprecations:
- some params of addCollection and addPrefix that still work but should not be used anymore
- getPrefix (you cannot rely on it how my added test shows that failed previously but was fixed with https://github.com/symfony/symfony/pull/6120/files#L5L109
and it's also useless since we dont have a tree anymore)

Reasoning see commits and changelog.

---------------------------------------------------------------------------

by Tobion at 2012-12-06T19:15:53Z

@fabpot this is finished and rebased. I switched from `addConfigs` to addDefaults(), addRequirements(), and addOptions() as you suggested. I also deprecated getPrefix(). Reasoning see above and in the changelog.
2012-12-11 14:02:38 +01:00
Tobias Schultze
8c7a169a4a [Routing] clean up of RouteCollection API 2012-12-11 14:02:38 +01:00
Fabien Potencier
7464833ece [Filesystem] added a missing CHANGELOG item and fixed some CS 2012-12-11 13:58:05 +01:00
Fabien Potencier
b3c58e7b90 merged branch mylen/master (PR #6014)
This PR was squashed before being merged into the master branch (closes #6014).

Commits
-------

2b13760 [Filesystem] [mirror] added "delete" option

Discussion
----------

[Filesystem] [mirror] added "delete" option

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

I added a "delete" option to the mirror function. If set to true, then
files present in target dir and not in origin dir will be removed.

Added also unit test for these feature.

---------------------------------------------------------------------------

by pborreli at 2012-11-16T00:58:19Z

Symfony2 code standard use lowercase `true` and `false`

---------------------------------------------------------------------------

by mylen at 2012-11-16T20:25:19Z

I have problem to believe that the last commit (merging two if together) was to blame for the segfault on  travis...
when I run the unit testing on my machine, I get:

I'm using PHP 5.4.7 by the way...

Time: 2 seconds, Memory: 3.25Mb

OK, but incomplete or skipped tests!
Tests: 80, Assertions: 106, Skipped: 14.

---------------------------------------------------------------------------

by pborreli at 2012-11-16T20:38:40Z

Can you fix end-of-lines ?

---------------------------------------------------------------------------

by mylen at 2012-11-16T20:52:37Z

I put UNIX line feed and UTF8 charset

---------------------------------------------------------------------------

by mylen at 2012-11-16T20:53:59Z

Sorry, I add to clone the symfony repo with github and did small editing using pspad, I forgot to setup charset and line feed...
2012-12-11 13:55:45 +01:00
Alexandre Melard
2b13760e90 [Filesystem] [mirror] added "delete" option 2012-12-11 13:55:45 +01:00
Fabien Potencier
e42ab1da2c merged branch Burgov/patch-2 (PR #6263)
This PR was merged into the 2.0 branch.

Commits
-------

e6bb156 remove realpath call

Discussion
----------

[HttpKernel] remove realpath call

I'm trying to create an executable phar archive from a Symfony application, but when I run the phar, it fails to find any commands because of this php bug/feature:

https://bugs.php.net/bug.php?id=52769

After this change, my archive works just like a normal app/console call
2012-12-11 11:51:02 +01:00
Fabien Potencier
fdb11be242 fixed CS 2012-12-11 11:49:22 +01:00
Fabien Potencier
3c010db2cb Merge branch '2.1'
* 2.1:
  fixed CS
  fixed CS
  [Security] fixed path info encoding (closes #6040, closes #5695)
  [HttpFoundation] added some tests for the previous merge and removed dead code (closes #6037)
  Improved Cache-Control header when no-cache is sent
  removed unneeded comment
  Fix to allow null values in labels array
  fix date in changelog
  removed the Travis icon (as this is not stable enough -- many false positive, closes #6186)
  Revert "merged branch gajdaw/finder_splfileinfo_fpassthu (PR #4751)" (closes #6224)
  Fixed a typo
  Fixed: HeaderBag::parseCacheControl() not parsing quoted zero correctly
  [Form] Fix const inside an anonymous function
  [Config] Loader::import must return imported data
  [DoctrineBridge] Fixed caching in DoctrineType when "choices" or "preferred_choices" is passed
  [Form] Fixed the default value of "format" in DateType to DateType::DEFAULT_FORMAT if "widget" is not "single_text"
  [HttpFoundation] fixed a small regression

Conflicts:
	src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php
2012-12-11 11:41:51 +01:00
Fabien Potencier
7f3be5c49d fixed CS 2012-12-11 11:40:22 +01:00
Fabien Potencier
d2885adffe Merge branch '2.0' into 2.1
* 2.0:
  fixed CS
  removed the Travis icon (as this is not stable enough -- many false positive, closes #6186)
  [Config] Loader::import must return imported data
  [HttpFoundation] fixed a small regression

Conflicts:
	README.md
	src/Symfony/Bridge/Twig/Extension/FormExtension.php
	src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/attributes.html.php
	src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_widget.html.php
	src/Symfony/Bundle/FrameworkBundle/Templating/Helper/FormHelper.php
	src/Symfony/Component/Form/Form.php
	src/Symfony/Component/HttpFoundation/Request.php
	src/Symfony/Component/HttpFoundation/SessionStorage/PdoSessionStorage.php
	tests/Symfony/Tests/Bridge/Doctrine/Logger/DbalLoggerTest.php
2012-12-11 11:33:11 +01:00
Fabien Potencier
a7cd5f54ef fixed CS 2012-12-11 11:27:06 +01:00
Bart van den Burg
e6bb156f48 remove realpath call
I'm trying to create an executable phar archive from a Symfony application, but when I run the phar, it fails to find any commands because of this php bug/feature:

https://bugs.php.net/bug.php?id=52769

After this change, my archive works just like a normal app/console call
2012-12-11 11:18:21 +01:00
Fabien Potencier
f25750e378 merged branch symfony/deprecated (PR #6232)
This PR was squashed before being merged into the master branch (closes #6232).

Commits
-------

7428bf9 [WebProfilerBundle] Some eye candy for deprecated calls

Discussion
----------

[WebProfilerBundle] Some eye candy for deprecated calls

![Ohhh](https://lh4.googleusercontent.com/-T9DKsHWf4YU/UMIRqT0g_II/AAAAAAAAJ84/tRDRP8IMwRM/s840/stack.jpg).

@fabpot is [`|raw`](https://github.com/symfony/symfony/pull/new/deprecated#L0R117) a twig defect ?

---------------------------------------------------------------------------

by Baachi at 2012-12-08T09:12:12Z

Really nice 👍

---------------------------------------------------------------------------

by vicb at 2012-12-11T10:00:24Z

should be ready now
2012-12-11 11:14:29 +01:00
Victor Berchet
7428bf9aa4 [WebProfilerBundle] Some eye candy for deprecated calls 2012-12-11 11:14:29 +01:00
Fabien Potencier
d6a402a283 [Security] fixed path info encoding (closes #6040, closes #5695) 2012-12-11 10:40:23 +01:00
Fabien Potencier
47dfb9cb6a [HttpFoundation] added some tests for the previous merge and removed dead code (closes #6037) 2012-12-11 10:29:13 +01:00
Florin Patan
1ab492394c Improved Cache-Control header when no-cache is sent 2012-12-11 10:22:17 +01:00
Fabien Potencier
de44087bfd merged branch bamarni/display-errors (PR #6259)
This PR was merged into the master branch.

Commits
-------

5d98fb1 [HttpKernel] ExceptionHandler is actually displaying PHP errors

Discussion
----------

[HttpKernel] ExceptionHandler is actually displaying all PHP errors

So there is no need to set display_errors to true in that case.

Partially fixes #6254.
2012-12-11 10:05:21 +01:00
Joseph Bielawski
d5426f0a76 [Form] Add tests to prove that label is not rendered when is marked as false 2012-12-11 09:55:44 +01:00
Fabien Potencier
f853fc3906 removed unneeded comment 2012-12-11 09:06:32 +01:00
kaywalker
4e909bd016 Fix to allow null values in labels array 2012-12-11 09:06:04 +01:00
Bilal Amarni
5d98fb1248 [HttpKernel] ExceptionHandler is actually displaying PHP errors
Since even fatal errors are catched and turned into exceptions by
ErrorHandler, all PHP errors can nicely be displayed by
ExceptionHandler. There is no need to set display_errors to true
anymore then.

Partially fixes #6254 on github.
2012-12-10 18:52:47 +01:00
Fabien Potencier
1ec59f174e merged branch vicb/finder-adapters (PR #6253)
This PR was squashed before being merged into the master branch (closes #6253).

Commits
-------

e62b5f7 [Finder] cleanup, fixes, improvements

Discussion
----------

[Finder] cleanup, fixes, improvements
2012-12-10 14:52:40 +01:00
Victor Berchet
e62b5f78af [Finder] cleanup, fixes, improvements 2012-12-10 14:52:39 +01:00
Fabien Potencier
d665584de9 merged branch hason/patch-1 (PR #6222)
This PR was merged into the master branch.

Commits
-------

e458600 [DependencyInjection] Add deleted argument in Extension::processConfiguration

Discussion
----------

[DependencyInjection] Add deleted argument in Extension::processConfigur...

...ation
2012-12-10 13:48:09 +01:00
Fabien Potencier
a1734ddf72 Revert "merged branch gajdaw/finder_splfileinfo_fpassthu (PR #4751)" (closes #6224)
This reverts commit 5608c0c3ee, reversing
changes made to 38c30b71bd.

Conflicts:
	src/Symfony/Component/Finder/SplFileInfo.php
2012-12-10 13:46:54 +01:00
Fabien Potencier
0e2370e65e merged branch Tobion/patch-1 (PR #6237)
This PR was merged into the master branch.

Commits
-------

76e5bce no need to set the compiled route to null when cloning

Discussion
----------

[Routing] no need to set the compiled route to null when cloning

The compiled reference can be reused when cloning. When the route is changed, the compiled reference is set to null anyway. So if you just clone the route, this improves performance as it does not need to recompile.
2012-12-10 13:43:10 +01:00
Patrick Allaert
9e4681963d Fixed: HeaderBag::parseCacheControl() not parsing quoted zero correctly
When having a Cache-Control header like:

    max-age="0"

isset($match[2]) is true but $match[2] containing: "0", it is evaluated
as false and 'true' will be set to "max-age" entry instead of "0".
2012-12-10 13:41:09 +01:00
Fabien Potencier
d63a317b21 merged branch vicb/finder (PR #6249)
This PR was merged into the master branch.

Commits
-------

cc0be8e [Finder] fluid, calling in() not required after append()

Discussion
----------

[Finder] fluid, calling in() not required after append()
2012-12-10 13:39:22 +01:00
Victor Berchet
cc0be8edf2 [Finder] fluid, calling in() not required after append() 2012-12-10 09:52:01 +01:00
Fran Moreno
a37e5e323b [Form] Fix const inside an anonymous function 2012-12-09 23:59:18 +01:00
Tobias Schultze
76e5bce801 no need to set the compiled route to null when cloning 2012-12-07 22:24:45 +01:00
Fabien Potencier
74c8b0150a merged branch bschussek/issue6141_2 (PR #6217)
This PR was merged into the 2.1 branch.

Commits
-------

6e7e08f [Form] Fixed the default value of "format" in DateType to DateType::DEFAULT_FORMAT if "widget" is not "single_text"

Discussion
----------

[Form] Fixed the "format" option in DateType

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

This PR fixes a regression introduced in #4839. To quote that PR:

> This PR changes DateType and DateTimeType to support HTML5 by default when setting the option "widget" to "single_text".

In reality, the "format" option now defaults to the HTML5 format always, not just when "widget" is "single_text". This is fixed here.

The second commit in this PR removes special characters between select/text fields. What, with German locale, was

```
<day input>.<month input>.<year input>
```

before is now

```
<day input><month input><year input>
```

This is the way date fields are represented on the majority of websites. If you *need* separators, you can have them by setting the "format" option to a custom value:

```php
$builder->add('myDate', 'date', array(
    'format' => 'dd.MM.yyyy',
));
```

---------------------------------------------------------------------------

by fabpot at 2012-12-07T08:52:21Z

The second commit should probably be done on master and it changes the behavior.

---------------------------------------------------------------------------

by bschussek at 2012-12-07T12:23:22Z

Ok, I removed the second commit now and removed the entries from the CHANGELOG.
2012-12-07 14:34:54 +01:00
Martin Hasoň
8bb3208ab8 [Config] Loader::import must return imported data 2012-12-07 14:24:02 +01:00
Bernhard Schussek
6e7e08f8c4 [Form] Fixed the default value of "format" in DateType to DateType::DEFAULT_FORMAT if "widget" is not "single_text" 2012-12-07 13:22:37 +01:00
Martin Hasoň
e4586007dc [DependencyInjection] Add deleted argument in Extension::processConfiguration 2012-12-07 11:34:49 +01:00
Fabien Potencier
79b4ca686e merged branch lsmith77/pre_process_app_config (PR #5566)
This PR was merged into the master branch.

Commits
-------

d7a1154 make it possible for bundles extensions to prepend settings into the application configuration of any Bundle

Discussion
----------

[2.2] add possibility for bundles extensions to prepend the app configs

Bug fix: #4652
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT

As can be seen in the patch the extensions that should prepend the configuration are enabled automatically if they implement ``PrependExtensionInterface``.

Just as an example, here an extension, which checks if SonataAdminBundle is available and if not disables integration with it in several Bundles. It also sets some default settings for ``document_class`` and ``default_document_manager_name``:
```
diff --git a/DependencyInjection/SymfonyCmfCoreExtension.php b/DependencyInjection/SymfonyCmfCoreExtension.php
index 9f92410..c0a8dbb 100644
--- a/DependencyInjection/SymfonyCmfCoreExtension.php
+++ b/DependencyInjection/SymfonyCmfCoreExtension.php
@@ -3,11 +3,12 @@
 namespace Symfony\Cmf\Bundle\CoreBundle\DependencyInjection;

 use Symfony\Component\HttpKernel\DependencyInjection\Extension;
+use Symfony\Component\\DependencyInjection\PrependExtensionInterface;
 use Symfony\Component\DependencyInjection\ContainerBuilder;
 use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
 use Symfony\Component\Config\FileLocator;

-class SymfonyCmfCoreExtension extends Extension
+class SymfonyCmfCoreExtension extends Extension implements PrependExtensionInterface
 {
     public function load(array $configs, ContainerBuilder $container)
     {
@@ -15,4 +16,45 @@ class SymfonyCmfCoreExtension extends Extension
         $loader->load('config.xml');
         $loader->load('services.xml');
     }
+
+    public function prepend(ContainerBuilder $container)
+    {
+        $bundles = $container->getParameter('kernel.bundles');
+        if (!isset($bundles['SonataDoctrinePHPCRAdminBundle'])) {
+            // disable SonataDoctrinePHPCRAdminBundle admin support in Bundles
+            $config = array('use_sonata_admin' => false);
+            foreach ($container->getExtensions() as $name => $extension) {
+                switch ($name) {
+                    case 'symfony_cmf_menu':
+                    case 'symfony_cmf_routing_extra':
+                    case 'symfony_cmf_simple_cms':
+                        $container->prependExtensionConfig($name, $config);
+                        break;
+                }
+            }
+        }
+
+        // process the configuration of SymfonyCmfCoreExtension
+        $configs = $container->getExtensionConfig($this->getAlias());
+        $config = $this->processConfiguration(new Configuration(), $configs);
+        // add the default configs to various Bundles
+        foreach ($container->getExtensions() as $name => $extension) {
+            switch ($name) {
+                case 'symfony_cmf_content':
+                case 'symfony_cmf_simple_cms':
+                    $container->prependExtensionConfig($name, $config);
+                    break;
+                }
+        }
+    }
 }
```

---------------------------------------------------------------------------

by stof at 2012-09-21T21:10:00Z

I think you are giving too much power to bundles here: a bundle becomes able to modify all the config defined explicitly by the user if it wants to do it.

I think it would be safer to give them the possibility to load an additional config file which would be prepended (so that user-defined config would still win). Giving the ability to load files means passing the loader used by the kernel, and it should then be called before calling the load method on the kernel itself (to respect the order of loaded files)

---------------------------------------------------------------------------

by lsmith77 at 2012-09-22T05:50:08Z

Not sure how a config file helps solve anything. I mean they can load as many config files as they want already. The key is being able to automatically apply configuration to multiple Bundles as well as enabling/disabling features based on if certain Bundles are registered.

BTW the end result in my examples is also prepended, so that user config wins. However yes this would be up to the person implementing the Bundle. We could however provide a dedicated method for prepending in addition to or instead of ``setExtensionConfig``.

---------------------------------------------------------------------------

by stof at 2012-09-22T11:40:29Z

@lsmith77 If you can load a file with the main loader, this file can provide some app-level configuration (be it for your own bundle or others).
And your code example is indeed prepending. But imagine what would occur when someone uses this feature without knowing well how the component works: he will likely call ``setExtensionConfig`` in a first implementation, thus dropping all userland config for the bundle. Your setup does not only allow to make a file win over the userland config but makes it even easier to remove the userland config.

---------------------------------------------------------------------------

by lsmith77 at 2012-09-22T18:11:29Z

but i dont get how that would help. the point is to be able for one bundle to configure other bundles before the load as this is obviously alot cleaner than trying to do the same via a compiler pass. so imho this is what is needed to encourage decoupled bundles. otherwise for example CMS or other reuseable and extensible apps will be forced to always put everything in one bundle.

---------------------------------------------------------------------------

by stof at 2012-09-22T19:23:45Z

@lsmith77 I agree about the feature, not about the way to implement it. If you allow bundles to load a file as it it were some app-level config, they would become able to provide some config for other bundles (and you could load several files depending of which bundles are enabled), but without allowing bundles to remove the userland config.

---------------------------------------------------------------------------

by lsmith77 at 2012-09-22T19:50:19Z

sorry but i dont understand what you suggest. more over i dont see the problem. its already possible to seriously break stuff with compiler passes which cannot be easily enabled/disabled. this is just convenience. if it doesnt work because of some obscure combo then simply dont use it for the app since it needs to be explicitly enabled in the kernel.

---------------------------------------------------------------------------

by lsmith77 at 2012-09-24T09:25:10Z

@stof thought about your comments, are you suggesting for a Bundle to be able to generate a config file that is prepended? in that case the current behavior would already be that if we change ``setExtensionConfig`` to just be a ``prependExtensionConfig`` .. however i am not sure if we really need this limitation since as i point out this would still by far be less dangerous than compiler passes and also i expect this to be used mainly by open source applications on top of Symfony2 rather than standard bundles.

---------------------------------------------------------------------------

by lsmith77 at 2012-10-13T13:28:29Z

@lolautruche i also think this is relevant for you guys. this way you could start preconfiguring 3rd party bundles as part of your main ezPublish bundle.

---------------------------------------------------------------------------

by lolautruche at 2012-10-13T13:57:09Z

While I suspect a nice feature, the implementation looks obscure to me...

---------------------------------------------------------------------------

by lsmith77 at 2012-10-13T17:43:02Z

The implementation of the example extension or the implementation of the actual changes proposed in this PR?

---------------------------------------------------------------------------

by lolautruche at 2012-10-13T17:46:57Z

The example, sorry 😃

---------------------------------------------------------------------------

by lsmith77 at 2012-10-13T17:50:38Z

The example was fairly quickly hacked together. The basic thing you need to do is fetch the config for the bundle you want to change, manipulate the config (usually by appending an array to the array of configs so that you dont affect explicit configuration) and then set it again.

As I explained to @stof it would alternative/additionally be possible to support a method that pushes a config array to the top of the array of config stack. Such a method might make the necessary code simpler.

---------------------------------------------------------------------------

by stof at 2012-10-13T21:39:07Z

@fabpot what do you think about it ?

---------------------------------------------------------------------------

by jrobeson at 2012-10-20T15:45:18Z

I've been porting much of an existing framework over to use more symfony components and bundles. I think that this might help some of the problems i've been having. I would really appreciate some better examples as how to one would use it  (same for the cmf router, but that's another story).

---------------------------------------------------------------------------

by lsmith77 at 2012-10-21T07:28:52Z

not really sure what other examples i could give. the process is quite simple:
1) determine what configuration options to add to other Bundles

for example with the following code I determine that SonataAdmin for PHPCR is not installed (which means i should disable using it in other Bundles):
```
$bundles = $container->getParameter('kernel.bundles');
if (!isset($bundles['SonataDoctrinePHPCRAdminBundle'])) {
```

alternatively I could simply already process the configuration and then pick all or some of these configuration options:
```
$configs = $container->getExtensionConfig($this->getAlias());
$config = $this->processConfiguration(new Configuration(), $configs);
```

2) then add these configuration to what other Bundles I feel should get these options

usually I will add these to the top of the config array stack. this means that if the user would manually set the same setting in most cases the user setting will override what the pre-processor set.
```
$container->unshiftExtensionConfig($name, array('use_sonata_admin' => false));
```

---------------------------------------------------------------------------

by lsmith77 at 2012-10-24T12:52:38Z

added ``ContainerBuilder::unshiftExtensionConfig`` since this is the usual use case. with this method added it could be discussed if ``ContainerBuilder::setExtensionConfig`` is still needed or not.

---------------------------------------------------------------------------

by lsmith77 at 2012-11-24T14:48:44Z

I spoke to @fabpot today and he said that since this patch just allows you to set defaults and not really "process" the actual configuration I shouldn't call it "preProcess" so I renamed it to "prepend".

Furthermore as its just prepending @fabpot said there isnt really a need to require manually enabling it, so here is a patch to auto-enable the prepending logic:
```
diff --git a/src/Symfony/Component/HttpKernel/Kernel.php b/src/Symfony/Component/HttpKernel/Kernel.php
index b890fbf..7374b87 100644
--- a/src/Symfony/Component/HttpKernel/Kernel.php
+++ b/src/Symfony/Component/HttpKernel/Kernel.php
@@ -701,8 +701,8 @@ abstract class Kernel implements KernelInterface, TerminableInterface
      */
     protected function prependExtensionConfigs(ContainerBuilder $container)
     {
-        foreach ($this->getPrependingExtensions() as $name) {
-            $extension = $container->getExtension($name);
+        foreach ($this->bundles as $bundle) {
+            $extension = $bundle->getContainerExtension();
             if ($extension instanceof PrependExtensionInterface) {
                 $extension->prepend($container);
             }
@@ -710,16 +710,6 @@ abstract class Kernel implements KernelInterface, TerminableInterface
     }

     /**
-     * Returns the ordered list of extensions that may prepend extension configurations.
-     *
-     * @return array
-     */
-    protected function getPrependingExtensions()
-    {
-        return array();
-    }
-
-    /**
      * Gets a new ContainerBuilder instance used to build the service container.
      *
      * @return ContainerBuilder
```

---------------------------------------------------------------------------

by lsmith77 at 2012-11-25T19:31:01Z

ok .. i pondered the code some more and now i have enabled registering of the prepending extensions by default, since its now quite easy to just override the ``prependExtensionConfigs()`` method since there is almost no logic in there anymore.

@fabpot i am not 100% sure with the naming yet ..

---------------------------------------------------------------------------

by lsmith77 at 2012-12-05T14:03:43Z

@fabpot if you are ok with the PR as it is now, i can do the rebase so you can merge this?

---------------------------------------------------------------------------

by lsmith77 at 2012-12-05T18:30:29Z

@fabpot all good now? then i will squash the commits ..

---------------------------------------------------------------------------

by lsmith77 at 2012-12-05T18:34:50Z

actually looking at the full change set again i am no longer sure if it makes sense to have ``PrependExtensionInterface`` in the DI rather than the HttpKernel.

---------------------------------------------------------------------------

by lsmith77 at 2012-12-07T09:21:14Z

@fabpot all good now?

---------------------------------------------------------------------------

by fabpot at 2012-12-07T09:37:52Z

The code looks good to me now. There are two remaining task before merging:

* Is it something we need to add somewhere in the documentation?
* Can you add a note in the DI component CHANGELOG?

Thanks.

---------------------------------------------------------------------------

by lsmith77 at 2012-12-07T09:49:17Z

i have added a changelog entry and squashed the commits.
i will also work on a documentation entry, i guess i will make it a cookbook entry. not sure if it should be included in http://symfony.com/doc/2.0/cookbook/bundles/extension.html .. but imho it would better be a separate entry.
2012-12-07 11:04:59 +01:00
Lukas Kahwe Smith
d7a1154154 make it possible for bundles extensions to prepend settings into the application configuration of any Bundle 2012-12-07 10:45:48 +01:00
Fabien Potencier
aad8136cd1 [HttpFoundation] fixed a small regression 2012-12-07 10:39:50 +01:00
Fabien Potencier
6e45f1cd78 Merge branch '2.1'
* 2.1:
  [HttpFoundation] changed UploadedFile::move() to use move_uploaded_file() when possible (closes #5878, closes #6185)
  [HttpFoundation] added a check for the host header value
  [DoctrineBridge] Improved performance of the EntityType when used with the "query_builder" option
  [DoctrineBridge] Improved exception message
  [DoctrineBridge] Fixed: Exception is thrown if the entity class is not known to Doctrine
  Removed useless branch alias for dev-master in composer.json

Conflicts:
	composer.json
	src/Symfony/Bridge/Doctrine/composer.json
	src/Symfony/Bridge/Monolog/composer.json
	src/Symfony/Bridge/Propel1/composer.json
	src/Symfony/Bridge/Swiftmailer/composer.json
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Bundle/SecurityBundle/composer.json
	src/Symfony/Bundle/TwigBundle/composer.json
	src/Symfony/Bundle/WebProfilerBundle/composer.json
	src/Symfony/Component/BrowserKit/composer.json
	src/Symfony/Component/ClassLoader/composer.json
	src/Symfony/Component/Config/composer.json
	src/Symfony/Component/Console/composer.json
	src/Symfony/Component/CssSelector/composer.json
	src/Symfony/Component/DependencyInjection/composer.json
	src/Symfony/Component/DomCrawler/composer.json
	src/Symfony/Component/EventDispatcher/composer.json
	src/Symfony/Component/Filesystem/composer.json
	src/Symfony/Component/Finder/composer.json
	src/Symfony/Component/Form/composer.json
	src/Symfony/Component/HttpFoundation/composer.json
	src/Symfony/Component/HttpKernel/composer.json
	src/Symfony/Component/Locale/composer.json
	src/Symfony/Component/OptionsResolver/composer.json
	src/Symfony/Component/Process/composer.json
	src/Symfony/Component/Routing/composer.json
	src/Symfony/Component/Security/composer.json
	src/Symfony/Component/Serializer/composer.json
	src/Symfony/Component/Templating/composer.json
	src/Symfony/Component/Translation/composer.json
	src/Symfony/Component/Validator/composer.json
	src/Symfony/Component/Yaml/composer.json
2012-12-07 10:33:24 +01:00
Fabien Potencier
864cc8598f Merge branch '2.0' into 2.1
* 2.0:
  [HttpFoundation] changed UploadedFile::move() to use move_uploaded_file() when possible (closes #5878, closes #6185)
  [HttpFoundation] added a check for the host header value

Conflicts:
	src/Symfony/Component/HttpFoundation/File/File.php
	src/Symfony/Component/HttpFoundation/Request.php
	src/Symfony/Component/HttpFoundation/Tests/RequestTest.php
2012-12-07 10:29:55 +01:00
Fabien Potencier
447ff915df [HttpFoundation] changed UploadedFile::move() to use move_uploaded_file() when possible (closes #5878, closes #6185) 2012-12-07 10:25:55 +01:00
Fabien Potencier
e277258e91 merged branch fabpot/host-check (PR #6209)
This PR was merged into the 2.0 branch.

Commits
-------

0489799 [HttpFoundation] added a check for the host header value

Discussion
----------

[HttpFoundation] added a check for the host header value

alternative for #3865
2012-12-07 10:18:13 +01:00
Fabien Potencier
048979993e [HttpFoundation] added a check for the host header value 2012-12-07 10:14:56 +01:00
Colin Frei
d57ad32ea8 [Form] Catch deprecation errors when using deprecated methods/classes in tests 2012-12-06 21:24:00 +01:00
Colin Frei
3241157114 [Validator] Trigger errors for deprecations 2012-12-06 21:23:28 +01:00
Fabien Potencier
0c6e145c0d merged branch vicb/httputils (PR #6005)
This PR was squashed before being merged into the master branch (closes #6005).

Commits
-------

577ee80 [HttpFoundation] Move IP check methods to a HttpUtils class for reuse

Discussion
----------

[HttpFoundation] Move IP check methods to a HttpUtils class for reuse

---------------------------------------------------------------------------

by vicb at 2012-11-13T18:05:18Z

Thanks @stof ! (didn't get my copy paste error as PHP allow calling non static method w/o a warning).

---------------------------------------------------------------------------

by GromNaN at 2012-11-17T23:19:29Z

Having an `Utils` class with mixed functions doesn't seem to be a good practice. I think the class should be called something like `Symfony\Component\HttpFoundation\IpAddress`.

---------------------------------------------------------------------------

by vicb at 2012-11-27T09:37:20Z

@fabpot could this be merged if `HttpUtils` is renamed to `IpUtils` ?

---------------------------------------------------------------------------

by fabpot at 2012-12-06T13:35:28Z

Renaming the class to `IpUtils` is indeed a good idea.

---------------------------------------------------------------------------

by vicb at 2012-12-06T14:07:59Z

ready !

---------------------------------------------------------------------------

by fabpot at 2012-12-06T14:39:19Z

Can you add an entry in the CHANGELOG?

---------------------------------------------------------------------------

by vicb at 2012-12-06T14:53:09Z

done, thanks for the reminder !
2012-12-06 16:23:16 +01:00
Victor Berchet
577ee80003 [HttpFoundation] Move IP check methods to a HttpUtils class for reuse 2012-12-06 16:23:16 +01:00
Victor Berchet
57e9d28795 [DI] Add a base class for extension 2012-12-06 15:41:32 +01:00
Fabien Potencier
8968bd0e03 merged branch asm89/enhance-processbuilder (PR #5853)
This PR was squashed before being merged into the master branch (closes #5853).

Commits
-------

63b0059 [Process] Add ability to reset arguments on ProcessBuilder

Discussion
----------

[Process] Add ability to reset arguments on ProcessBuilder

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT

This PR adds the ability to "reset" the arguments set on a `ProcessBuilder`. This allows the builder to be re-used without having to set things like custom environment variables, current working directory etc again.
2012-12-06 14:11:58 +01:00
Alexander
63b00598fe [Process] Add ability to reset arguments on ProcessBuilder 2012-12-06 14:11:57 +01:00
Fabien Potencier
9072951fce merged branch leevigraham/failure_path (PR #5860)
This PR was squashed before being merged into the master branch (closes #5860).

Commits
-------

d0057d0 Added failure_path_parameter to mirror target_path_parameter

Discussion
----------

Added failure_path_parameter to mirror target_path_parameter

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT

Enable login failure redirect path can be assigned in a form field just like target path.

---------------------------------------------------------------------------

by stof at 2012-10-29T09:40:17Z

Please also open a PR to the doc repo to document this new feature

---------------------------------------------------------------------------

by leevigraham at 2012-10-29T09:56:29Z

@stof @fabpot Done.
2012-12-06 14:11:06 +01:00
Leevi Graham
d0057d0e64 Added failure_path_parameter to mirror target_path_parameter 2012-12-06 14:11:05 +01:00
Fabien Potencier
64b76ba1b4 merged branch vicb/sfcc (PR #6148)
This PR was merged into the master branch.

Commits
-------

7f16c1f [HttpKernel] Add DI extension configs as ressources when possible

Discussion
----------

[HttpKernel] Add DI extension configs as ressources when possible

/cc @rdohms @richardmiller

---------------------------------------------------------------------------

by vicb at 2012-11-30T11:57:48Z

btw @fabpot what about having a base class for `Extension` in the DI ? Would make it easier to re-use it when using standalone components, Di and (the suggested) Config as the greatest part of the class is not HttpKernel specific.

---------------------------------------------------------------------------

by fabpot at 2012-12-06T08:47:28Z

@vicb your suggestion makes sense.

Can you also explain the goal of this PR?

---------------------------------------------------------------------------

by vicb at 2012-12-06T09:01:58Z

The goal of this PR is to avoid having to sfcc when you modify a DI extension configuration. I think @rdohms got trapped.

---------------------------------------------------------------------------

by vicb at 2012-12-06T09:08:08Z

see https://twitter.com/rdohms/status/274059267428978688

---------------------------------------------------------------------------

by stof at 2012-12-06T09:20:54Z

I thought about it several times but never took time to implement it. It is annoying to have to clear the cache when you modify a default value in the Configuration class. So +1
2012-12-06 14:04:11 +01:00
Martin Hasoň
10e5f3b3df Removed useless branch alias for dev-master in composer.json 2012-12-06 11:00:55 +01:00
Fabien Potencier
e75c7e20ce merged branch colinfrei/deprecatedErrorHandling (PR #6173)
This PR was squashed before being merged into the master branch (closes #6173).

Commits
-------

4878ec0 [HttpKernel] [WebProfilerBundle] Better handling of deprecated methods

Discussion
----------

[HttpKernel] [WebProfilerBundle] Better handling of deprecated methods

Bug fix: no
Feature addition: yes
Backwards compatibility break: yes, if you were expecting E_USER_DEPRECATED or E_DEPRECATED to throw an exception
Symfony2 tests pass: yes
Fixes the following tickets: #6139 partly, I'd go through and add the actual trigger_error() calls in another (or possibly one per component) PR
Todo: call trigger_error()
License of the code: MIT
Documentation PR: -

I added the deprecation count with the Exception icon in the Profiler Toolbar, and changed the color of it to be yellow for deprecations and red for exceptions (was yellow for exceptions).

---------------------------------------------------------------------------

by fabpot at 2012-12-03T09:43:09Z

Adding trigger_error calls should be done in one PR to ease the merging. thanks.
2012-12-06 09:10:08 +01:00
Colin Frei
4878ec08e6 [HttpKernel] [WebProfilerBundle] Better handling of deprecated methods 2012-12-06 09:09:04 +01:00
Fabien Potencier
869be1df6d Merge branch '2.1'
* 2.1:
  [Locale] fixed tests
  [Config] Fixed tests on Windows
  [TwigBundle] Fixed tests
  [Security] Move DigestDataTest.php inside the Security component
  Fixed DefaultValue for session.auto_start in NodeDefinition
  Fix namespace of Validator and BrowserKit Tests

Conflicts:
	src/Symfony/Bundle/TwigBundle/Tests/DependencyInjection/TwigExtensionTest.php
	src/Symfony/Bundle/TwigBundle/Tests/TwigEngineTest.php
2012-12-06 08:52:34 +01:00
Fabien Potencier
889bd2ee62 Merge branch '2.0' into 2.1
* 2.0:
  [Locale] fixed tests
  [Config] Fixed tests on Windows
  [TwigBundle] Fixed tests

Conflicts:
	phpunit.xml.dist
	src/Symfony/Bundle/TwigBundle/Tests/TwigEngineTest.php
	src/Symfony/Component/Locale/Tests/Stub/StubIntlDateFormatterTest.php
	src/Symfony/Component/Locale/Tests/Stub/StubNumberFormatterTest.php
2012-12-06 08:51:00 +01:00
Fabien Potencier
344496f9f7 merged branch Tobion/collection-flat (PR #6120)
This PR was merged into the master branch.

Commits
-------

51223c0 added upgrade instructions
50e6259 adjusted tests
98f3ca8 [Routing] removed tree structure from RouteCollection

Discussion
----------

[Routing] removed tree structure from RouteCollection

BC break: yes (see below)
Deprecations: RouteCollection::getParent(); RouteCollection::getRoot()
tests pass: yes

The reason for this is so quite simple. The RouteCollection has been designed as a tree structure, but it cannot at all be used as one. There is no getter for a sub-collection at all. So you cannot access a sub-collection after you added it to the tree with `addCollection(new RouteCollection())`. In contrast to the form component, e.g. `$form->get('child')->get('grandchild')`.
So you can see the RouteCollection cannot be used as a tree and it should not, as the same can be achieved with a flat array!
Using a flat array removes all the need for recursive traversal and makes the code much faster, much lighter, less memory (big problem in CMS with many routes) and less error-prone.

BC break: there is only a BC break if somebody used the PHP API for defining RouteCollection and also added a Route to a collection after it has been added to another collection.
So
```
$rootCollection = new RouteCollection();
$subCollection = new RouteCollection();
$rootCollection->addCollection($subCollection);
$subCollection->add('foo', new Route('/foo'));
```
must be updated to the following (otherwise the 'foo' Route is not imported to the rootCollection)
```
$rootCollection = new RouteCollection();
$subCollection = new RouteCollection();
$subCollection->add('foo', new Route('/foo'));
$rootCollection->addCollection($subCollection);
```

Also one must call addCollection from the bottom to the top. So the correct sequence is the following (and not the reverse)
```
$childCollection->->addCollection($grandchildCollection);
$rootCollection->addCollection($childCollection);
```

Remeber, this is only needed when using PHP for defining routes and calling methods in a special order. There is no change required when using XML or YAML for definitions. Also, I'm pretty sure that neither the CMF, nor Drupal routing, nor Silex is relying on the tree stuff. So they should also still work.

cc @fabpot @crell @dbu

One more thing: RouteCollection wasn't an appropriate name for a tree anyway as a collection of routes (that it now is) is definitely not a tree.
Yet another point: The XML declaration of routes uses the `<import>` element, which is excatly what the new implementation of addCollection without the need of a tree does. So this is now also more analogous.

---------------------------------------------------------------------------

by Koc at 2012-11-26T17:34:15Z

What benefit of this?

---------------------------------------------------------------------------

by Tobion at 2012-11-26T17:56:53Z

@Koc Why did you not simply wait for the description? ^^

---------------------------------------------------------------------------

by dbu at 2012-11-26T18:33:09Z

i love PR that remove more code than they add whithout removing functionality.

---------------------------------------------------------------------------

by Crell at 2012-11-26T18:49:52Z

There's an issue somewhere in Drupal where we're trying to use addCollection() as a shorthand for iterating over one collection and calling add() on the other for each item.  We can't do that, however, because the subcollections are not flattened properly when reading back and our current dumper can't cope with that.  So this change would not harm Drupal at all, and would mean I don't have fix a bug in our dumper. :-)  I cannot speak for any other projects, of course.

---------------------------------------------------------------------------

by Tobion at 2012-11-27T19:06:34Z

Ok, this is ready.
2012-12-05 16:37:03 +01:00
Jérôme Vieilledent
5e8d401008 Implemented possibility to skip key normalization in config processing 2012-12-05 15:02:11 +01:00
Fabien Potencier
559fa8c214 merged branch Koc/critical-errors-logging (PR #5863)
This PR was merged into the master branch.

Commits
-------

acfc750 #2042 initial implementation of fatal error handler

Discussion
----------

Display traces for fatal errors

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: looks like yes
Fixes the following tickets: #2042 (partly)
License of the code: MIT

Output looks like on screen http://easycaptures.com/fs/uploaded/737/1191436899.png . I've added one line to css to prevent displaying standard xdebug trace http://easycaptures.com/fs/uploaded/737/5939488074.png

---------------------------------------------------------------------------

by Koc at 2012-11-08T21:55:41Z

So, community please advice me, how can I trigger `KernelEvents::EXCEPTION` event in `ErrorHandler` or `ExceptionHandler`? Or should I provide other event for this?

---------------------------------------------------------------------------

by stof at 2012-11-08T22:03:23Z

@Koc Don't. the exception handler is there to be the safe guard when developing, and does not depend on the kernel (which would be required to trigger the event). If you were triggering the listener again, it would mean that any exception thrown in a listener would lead to a loop.
And if it is for the fatal error handling, you simply cannot be sure the kernel is still available (and even less in a wokring state) at this point.

---------------------------------------------------------------------------

by Koc at 2012-11-08T22:06:31Z

But how can I notify logger (which will send me mail or just log this situation)?

---------------------------------------------------------------------------

by fabpot at 2012-11-09T07:33:41Z

The error handler is only registered when in debug mode in the Kernel and can be triggered very early in the handling of a request (even before we have access to the dispatcher or anything else). So, the current PR looks fine to me (apart from the typo and the lack of unit tests).

---------------------------------------------------------------------------

by Koc at 2012-11-09T09:13:03Z

> The error handler is only registered when in debug mode

Ooh! I haven't see that before. But the goal - be notified about errors by email or log-file. Like now exceptions with traces from site emails to me.

---------------------------------------------------------------------------

by fabpot at 2012-11-09T09:20:54Z

I think there are two goals. The first one being to have nice pages in the development environment when a fatal error occurs. And this PR addresses that feature quite nicely. The second can be addressed in another PR.

---------------------------------------------------------------------------

by henrikbjorn at 2012-11-14T11:50:22Z

I have some questions about the ErrorHandler. Is there a reason for it only to be registered in an debug environment (which prod is not). Would assume that if i enable the ErrorHandler in productions aswell Monolog would log thoose instead of them just vanishing?

---------------------------------------------------------------------------

by Koc at 2012-11-14T12:01:50Z

I am thinking about it too. But as Fabien says it will another PR

---------------------------------------------------------------------------

by GromNaN at 2012-11-18T10:38:09Z

You should add a memory reserve to be able to handle "Out of memory" errors.
An example is here :
513d628966/lib/Raven/ErrorHandler.php (L91)
513d628966/lib/Raven/ErrorHandler.php (L62)

---------------------------------------------------------------------------

by fabpot at 2012-11-28T11:35:21Z

@Koc can you finish this PR (probably by integrating the memory reserve as explained by @GromNaN)?

---------------------------------------------------------------------------

by Koc at 2012-11-28T11:46:12Z

of course, on this weekend

---------------------------------------------------------------------------

by Koc at 2012-12-02T17:44:44Z

@fabpot done
2012-12-05 11:50:34 +01:00
Fran Moreno
d03281b400 [Security] Move DigestDataTest.php inside the Security component 2012-12-04 01:15:08 +01:00
Fabien Potencier
8af010aad6 [Routing] added a warning about UrlMatcher::getAttributes() 2012-12-03 23:11:37 +01:00
Fabien Potencier
d378cab54e merged branch Crell/split-urlmatcher (PR #6100)
This PR was squashed before being merged into the master branch (closes #6100).

Commits
-------

0e3671b [WiP] Split urlmatcher for easier overriding

Discussion
----------

[WiP] Split urlmatcher for easier overriding

Based on discussion in https://github.com/symfony-cmf/Routing/pull/30, this PR splits the matchCollection() method of UrlMatcher into two methods.  The reason is to allow Symfony CMF and Drupal to override just one of them, while leaving the actual meat of the class intact.

Additionally, it switches $routes from private to protected for the same reason: It makes it possible for us to extend the class cleanly.

Marking as WIP in case further discussion in CMF suggests other/different changes, but review and a conceptual go/no-go would be appreciated now.

---------------------------------------------------------------------------

by dbu at 2012-11-25T12:57:46Z

i think this variant really just extracts part of the logic into a separate method whithout changing any behaviour or concept. it would help a lot for the cmf to have it this way so we can extend and tweak the logic. is this now good or anybody has more input?

---------------------------------------------------------------------------

by dbu at 2012-11-27T19:42:04Z

sorry for being pushy about this one, but we need to know if this change is ok or not, if we need to improve something. if there is some problem we did not think of, we have to find different solutions for the cmf/drupal matchers.

---------------------------------------------------------------------------

by fabpot at 2012-11-28T14:29:10Z

`PhpMatcherDumper` should probably also be updated to call the new `getAttributes()` method; but that won't be possible as the Route is not accessible when using this dumper. Adding a feature that can only be used by the standard `UrlMatcher` and not by the other matchers does not sound good to me.

---------------------------------------------------------------------------

by dbu at 2012-11-28T17:18:09Z

in the context of the cmf, our problem is that we have too many routes to hold in memory. i think the dumper is not of interest for that use case - @Crell correct me please if i am wrong. if we need any caching we would need to write our own dumper probably. but currently we just extend the UrlMatcher

---------------------------------------------------------------------------

by Crell at 2012-11-30T05:47:39Z

Correct. In both the CMF case and Drupal case we have our own dumpers, because the current ones don't work for us anyway.  (1000 routes and all that. :-) )  This isn't a new public method.  It's just a small refactor of UrlMatcher itself to make it easier to extend.  If you're using a dumped PhpMatcher, I don't know why you'd be using something like NestedMatcher in the first place.
2012-12-03 23:07:55 +01:00
Larry Garfield
0e3671bbe7 [WiP] Split urlmatcher for easier overriding 2012-12-03 23:07:55 +01:00
Fabien Potencier
abda671d9b merged branch Tobion/patch-5 (PR #6176)
This PR was merged into the master branch.

Commits
-------

918bad6 fix phpdoc in ExecutionContextInterface

Discussion
----------

fix phpdoc in ExecutionContextInterface
2012-12-03 23:01:57 +01:00
Igor Wiedler
c70bd034a4 Allow any callable to be passed to Command::setCode 2012-12-03 23:00:56 +01:00
Fabien Potencier
b5ba075623 merged branch Tobion/getPropertyPath (PR #6178)
This PR was merged into the master branch.

Commits
-------

3d0c70e made ExecutionContext more consistent

Discussion
----------

[Validator] made ExecutionContext more consistent

BC break: no

The default should be an empty string instead of null because
1. a string is expected according to phpdoc
2. its more consistent with `validate($value, $groups = null, $subPath = '', $traverse = false, $deep = false)` and `validateValue($value, $constraints, $groups = null, $subPath = '')` that both have `''` as default for subPath

---------------------------------------------------------------------------

by bschussek at 2012-12-03T21:14:49Z

👍
2012-12-03 22:49:59 +01:00
Colin Frei
1f9eb7f292 return value of handleError 2012-12-03 22:04:34 +01:00
Colin Frei
b35de9e15b Handle errors using a custom error handler
Without the custom handler, assertions after the first failure wouldn't be executed. This catches E_USER_DEPRECATED errors and passes everything else on to the phpunit error handler.
2012-12-03 21:43:03 +01:00
Colin Frei
f49704b14f trigger errors for deprecated methods in HttpFoundation component 2012-12-03 20:49:11 +01:00
Tobias Schultze
3d0c70e434 made ExecutionContext more consistent 2012-12-03 19:34:26 +01:00
Fran Moreno
faeecf81ce Fix namespace of Validator and BrowserKit Tests 2012-12-03 16:25:15 +01:00
Fabien Potencier
0e9157a6df fixed previous merge 2012-12-03 14:56:49 +01:00
Fabien Potencier
b22da6ef5d Merge branch '2.1'
* 2.1:
  [TwigBundle] Moved the registration of the app global to the environment
  needs to use simpleContent in xsd to allow empty elements
  bumped Symfony version to 2.1.5-DEV
  bumped Symfony version to 2.0.19-DEV
  removed wrong routing xsd statement `mixed="true"`
  removed unused attribute from routing.xsd
  [HttpFoundation] added a small comment about the meaning of Request::hasSession() as this is a recurrent question (refs #4541)
  updated VERSION for 2.1.4
  updated CHANGELOG for 2.1.4
  updated VERSION for 2.0.19
  update CONTRIBUTORS for 2.0.19
  updated CHANGELOG for 2.0.19

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Routing/Loader/schema/routing/routing-1.0.xsd
2012-12-03 14:31:00 +01:00
Fabien Potencier
a6e08b18de Merge branch '2.0' into 2.1
* 2.0:
  [TwigBundle] Moved the registration of the app global to the environment
  needs to use simpleContent in xsd to allow empty elements
  bumped Symfony version to 2.0.19-DEV
  removed wrong routing xsd statement `mixed="true"`
  removed unused attribute from routing.xsd
  updated VERSION for 2.0.19
  update CONTRIBUTORS for 2.0.19
  updated CHANGELOG for 2.0.19

Conflicts:
	CONTRIBUTORS.md
	src/Symfony/Bundle/TwigBundle/Resources/config/twig.xml
	src/Symfony/Bundle/TwigBundle/TwigEngine.php
	src/Symfony/Component/HttpKernel/Kernel.php
2012-12-03 14:28:41 +01:00
Tobias Schultze
918bad6b85 fix phpdoc in ExecutionContextInterface 2012-12-03 14:13:44 +01:00
Jan Kramer
109bb7be0a Fixed form validation
Swapped arguments $groups and $subPath in ExecutionContext::validate and ExecutionContext::validateValue, so they match their interface signatures again.
2012-12-03 13:36:15 +01:00
Tobias Schultze
eec788571f needs to use simpleContent in xsd to allow empty elements 2012-12-03 13:35:11 +01:00
Fabien Potencier
90e910f5ab merged branch Tobion/patch-2 (PR #6166)
This PR was merged into the 2.0 branch.

Commits
-------

57edf56 removed wrong routing xsd statement `mixed="true"`

Discussion
----------

removed wrong routing xsd statement `mixed="true"`

mixed="true" means that the element could contain both text and other elements, e.g.
`<requirement key="_locale">text <subelement /></requirement>`
But this wrong and such a definition would not even validate against the scheme as the xsd does not define which elements would be expected inside.
2012-12-02 19:02:32 +01:00
Fabien Potencier
afdd08b3ef merged branch Tobion/patch-1 (PR #6164)
This PR was merged into the 2.0 branch.

Commits
-------

d5623b4 removed unused attribute from routing.xsd

Discussion
----------

removed unused attribute from routing.xsd
2012-12-02 19:02:05 +01:00
Fabien Potencier
a82f3ed134 bumped Symfony version to 2.1.5-DEV 2012-12-02 19:01:07 +01:00
Fabien Potencier
3495fa61ab bumped Symfony version to 2.0.19-DEV 2012-12-02 18:59:42 +01:00
Konstantin.Myakshin
acfc750a48 #2042 initial implementation of fatal error handler 2012-12-02 19:36:35 +02:00
Fabien Potencier
cc53fc25b5 merged branch Tobion/routing-loaders (PR #6165)
This PR was merged into the master branch.

Commits
-------

20dbe47 added annotation
c73cb8a add default for pattern for clarity
ddd8918 make id attribute required
62536e5 refactor to an xsd:group
451dcdc it should be possible to define the defaults, req. and options in any order, just like in YAML

Discussion
----------

improve routing xml scheme

bc break: no

Main points:
- the xml scheme only allowed defaults, requirements and options in this specific order. but the XmlFileLoader does not have the restriction and the YAML definions does not have such an restriction either. this is now fixed. so you can use
```
<requirement key="_locale">en</requirement>
<default key="_controller">Foo</default>
```
Before it had the be first all defaults, then all requirements, then all options.
- make id attribute required

For more changes see commits.
2012-12-02 15:14:10 +01:00
Fabien Potencier
150a138936 merged branch TerjeBr/persistent-token-provider (PR #6149)
This PR was merged into the master branch.

Commits
-------

373be62 Bugfix for creating cookie on loginSuccess in AbstractRememberMeServices

Discussion
----------

Bugfix for creating cookie on loginSuccess in AbstractRememberMeServices

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #6055
Todo: -
License of the code: MIT

By a mistake setting of new cookies did not work for other RememberMe services than PersistentTokenBasedRememberMeServices

---------------------------------------------------------------------------

by TerjeBr at 2012-12-01T17:28:08Z

Ping.  Any feedback on this?
2012-12-02 15:11:29 +01:00
Tobias Schultze
20dbe47223 added annotation 2012-12-02 01:30:09 +01:00
Tobias Schultze
57edf568a2 removed wrong routing xsd statement mixed="true"
mixed="true" means that the element could contain both text and other elements, e.g.
`<requirement key="_locale">text <subelement /></requirement>`
But this wrong and such a definition would not even validate against the scheme as the xsd does not define which elements would be expected inside.
2012-12-01 22:40:50 +01:00
Tobias Schultze
c73cb8a1be add default for pattern for clarity 2012-12-01 22:22:36 +01:00
Tobias Schultze
ddd8918512 make id attribute required 2012-12-01 22:22:35 +01:00
Tobias Schultze
62536e5bec refactor to an xsd:group 2012-12-01 22:22:16 +01:00
Tobias Schultze
451dcdcb63 it should be possible to define the defaults, req. and options in any order, just like in YAML 2012-12-01 22:22:11 +01:00
Tobias Schultze
d5623b46d8 removed unused attribute from routing.xsd 2012-12-01 22:16:05 +01:00
Victor Berchet
bad50ac501 [HttpFoundation] Request::getRealMethod() now returns UPPERCASE 2012-11-30 23:41:06 +01:00
Fabien Potencier
7b234db668 [HttpFoundation] added a small comment about the meaning of Request::hasSession() as this is a recurrent question (refs #4541) 2012-11-30 13:53:14 +01:00
Terje Bråten
373be626ae Bugfix for creating cookie on loginSuccess in AbstractRememberMeServices 2012-11-29 16:28:59 +01:00
Victor Berchet
7f16c1f5bc [HttpKernel] Add DI extension configs as ressources when possible 2012-11-29 14:58:56 +01:00
Fabien Potencier
936abe1752 updated VERSION for 2.1.4 2012-11-29 12:56:19 +01:00
Fabien Potencier
cdb3eccd5b updated VERSION for 2.0.19 2012-11-29 12:36:26 +01:00
Fabien Potencier
50a62da114 Merge branch '2.1'
* 2.1:
  [HttpFoundation] reverted variable rename
2012-11-29 12:32:58 +01:00
Fabien Potencier
d50f9d7431 Merge branch '2.0' into 2.1
* 2.0:
  [HttpFoundation] reverted variable rename

Conflicts:
	src/Symfony/Component/HttpFoundation/Request.php
2012-11-29 12:32:44 +01:00
Fabien Potencier
9ce892cf43 [HttpFoundation] reverted variable rename 2012-11-29 12:31:26 +01:00
Fabien Potencier
995219f39b Merge branch '2.1'
* 2.1:
  replaced magic strings by proper constants
  refactored tests for Request
  fixed the logic in Request::isSecure() (if the information comes from a source that we trust, don't check other ones)
  added a way to configure the X-Forwarded-XXX header names and a way to disable trusting them
  fixed algorithm used to determine the trusted client IP
  removed the non-standard Client-IP HTTP header

Conflicts:
	src/Symfony/Component/HttpFoundation/Tests/RequestTest.php
2012-11-29 12:29:12 +01:00
Fabien Potencier
6c67476ef0 Merge branch '2.0' into 2.1
* 2.0:
  replaced magic strings by proper constants
  refactored tests for Request
  fixed the logic in Request::isSecure() (if the information comes from a source that we trust, don't check other ones)
  added a way to configure the X-Forwarded-XXX header names and a way to disable trusting them
  fixed algorithm used to determine the trusted client IP
  removed the non-standard Client-IP HTTP header

Conflicts:
	src/Symfony/Component/HttpFoundation/Request.php
	src/Symfony/Component/HttpFoundation/Tests/RequestTest.php
2012-11-29 12:27:48 +01:00
Fabien Potencier
e5536f0fe1 replaced magic strings by proper constants 2012-11-29 12:23:09 +01:00
Fabien Potencier
6a3ba52858 fixed the logic in Request::isSecure() (if the information comes from a source that we trust, don't check other ones) 2012-11-29 12:23:09 +01:00
Fabien Potencier
67e12f3ecb added a way to configure the X-Forwarded-XXX header names and a way to disable trusting them 2012-11-29 12:23:09 +01:00
Fabien Potencier
b45873a3f6 fixed algorithm used to determine the trusted client IP 2012-11-29 12:23:09 +01:00
Fabien Potencier
254b11062e removed the non-standard Client-IP HTTP header 2012-11-29 12:23:09 +01:00
Fabien Potencier
18495e7b3c Merge branch '2.1'
* 2.1: (29 commits)
  [DependencyInjection] fixed composer.json
  [Validator] Fix typos in validators.ru.xlf
  Edited some minor grammar and style errors in russian validation file
  Updated Bulgarian translation
  [Form] improve error message with a "hasser" hint for PropertyAccessDeniedException
  [Form] Updated checks for the ICU version from 4.5+ to 4.7+ due to test failures with ICU 4.6
  [Form] simplified a test from previous merge
  Update src/Symfony/Component/Form/Extension/Core/Type/FileType.php
  fixed CS
  Xliff with other node than source or target are ignored
  small fix of #5984 when the container param is not set
  Filesystem Component mirror symlinked directory fix
  [Process][Tests] fixed chainedCommandsOutput tests
  fixed CS
  Use better default ports in urlRedirectAction
  Add tests for urlRedirectAction
  info about session namespace
  fix upgrade info about locale
  Update src/Symfony/Component/DomCrawler/Tests/FormTest.php
  Update src/Symfony/Component/DomCrawler/Form.php
  ...
2012-11-29 11:32:45 +01:00
Fabien Potencier
922c2015f6 Merge branch '2.0' into 2.1
* 2.0:
  [DependencyInjection] fixed composer.json
  [Form] Updated checks for the ICU version from 4.5+ to 4.7+ due to test failures with ICU 4.6
  fixed CS
  small fix of #5984 when the container param is not set
  fixed CS
  Use better default ports in urlRedirectAction
  Add tests for urlRedirectAction
  Update src/Symfony/Component/DomCrawler/Tests/FormTest.php
  Update src/Symfony/Component/DomCrawler/Form.php
  [Security] remove escape charters from username provided by Digest DigestAuthenticationListener
  [Security] added test extra for digest authentication
  fixed CS
  [Security] Fixed digest authentication
  [Security] Fixed digest authentication
  [SecurityBundle] Convert Http method to uppercase in the config
  Use Norm Data instead of Data

Conflicts:
	src/Symfony/Bridge/Doctrine/Form/EventListener/MergeCollectionListener.php
	src/Symfony/Bundle/FrameworkBundle/Controller/RedirectController.php
	src/Symfony/Component/DependencyInjection/composer.json
2012-11-29 11:32:18 +01:00
Fabien Potencier
aacfe74f18 merged branch fabpot/http-method-override (PR #6143)
This PR was merged into the master branch.

Commits
-------

0a380cf [HttpFoundation] disabled Request _method feature by default (should now be explicitely enabled via a call to enableHttpMethodOverride())

Discussion
----------

[HttpFoundation] disabled Request _method feature by default

It should now be explicitely enabled via a call to enableHttpMethodOverride())
2012-11-28 17:23:21 +01:00
Fabien Potencier
0a380cfdbf [HttpFoundation] disabled Request _method feature by default (should now be explicitely enabled via a call to enableHttpMethodOverride()) 2012-11-28 15:06:57 +01:00
Tobias Schultze
828c95d750 [Routing] removed restriction of route names 2012-11-28 12:31:05 +01:00
Tobias Schultze
51223c05ff added upgrade instructions 2012-11-27 20:03:51 +01:00
Fabien Potencier
fc89d6b643 [DependencyInjection] fixed composer.json 2012-11-27 09:54:37 +01:00
Tobias Schultze
50e625962c adjusted tests 2012-11-26 18:35:14 +01:00
Tobias Schultze
98f3ca8395 [Routing] removed tree structure from RouteCollection 2012-11-26 18:28:37 +01:00
Eugene Leonovich
31c32c551f [Validator] Fix typos in validators.ru.xlf 2012-11-25 22:04:02 +01:00
Andrey Esaulov
7f5c4198ba Edited some minor grammar and style errors in russian validation file 2012-11-25 12:00:35 +01:00
Fabien Potencier
96da146b9d merged branch bicpi/add_hasser_hint (PR #6110)
This PR was merged into the 2.1 branch.

Commits
-------

06ee53b [Form] improve error message with a "hasser" hint for PropertyAccessDeniedException

Discussion
----------

[Form] improve error msg w/ a "hasser" hint for PropertyAccessDeniedException

"Hasser" support was added under the 2.1 branch of the Form component

Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: no, but fails exactly the same as without this fix
Fixes the following tickets: -
Todo: -
License of the code: MIT
Documentation PR: symfony/symfony-docs#1958
2012-11-25 11:54:09 +01:00
Roumen Damianoff
7cba683f04 Updated Bulgarian translation
Added Bulgarian translation for form component.
Updated Bulgarian translation for validator messages.
2012-11-25 01:16:21 +02:00
Philipp Rieber
06ee53b73e [Form] improve error message with a "hasser" hint for PropertyAccessDeniedException
Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: no, but fails exactly the same as without this fix
Fixes the following tickets: -
Todo: -
License of the code: MIT
Documentation PR: symfony/symfony-docs#1958
2012-11-24 15:59:58 +01:00
Iwan van Staveren
12a890f7cb Issue 5288 fix 2012-11-24 15:42:58 +01:00
Bernhard Schussek
24c653045d [Validator] Added instructions on integrating the latest Validator changes to the UPGRADE file 2012-11-24 13:30:10 +01:00
Fabien Potencier
ee90986c9f merged branch bschussek/drupal-validator (PR #6096)
This PR was merged into the master branch.

Commits
-------

1858b96 [Form] Adapted FormValidator to latest changes in the Validator
1f752e8 [DoctrineBridge] Adapted UniqueValidator to latest changes in the Validator
efe42cb [Validator] Refactored the GraphWalker into an implementation of the Visitor design pattern.

Discussion
----------

[Validator] Refactored the Validator for use in Drupal

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

Drupal wants to use the Symfony Validator component in their next version. I was talking to @fago recently about the changes that we'd need to make and implemented these changes in this PR. I don't want to rush this, but the deadline is tight, since Drupal feature freeze is on December 1st and @fago needs at least a couple of days to integrate the Validator into Drupal.

This PR introduces two significant changes:

* Interfaces were created for all classes that constitute the Validator's API. This is were the PR breaks BC, because `ConstraintValidatorInterface::initialize()` is now type hinted against `ExecutionContextInterface` instead of `ExecutionContext`.

* The graph walker was refactored into an implementation of the Visitor pattern. This way, the validator was decoupled from the structure of the metadata (class → properties and getter methods) and makes it possible to implement a different metadata structure, as is required by the Drupal Entity API.

As a consequence of the API change, custom validation code is now much easier to write, because `ValidatorInterface` and `ExecutionContextInterface` share the following set of methods:

```php
interface ValidatorInterface
{
    public function validate($value, $groups = null, $traverse = false, $deep = false);
    public function validateValue($value, $constraints, $groups = null);
    public function getMetadataFor($value);
}

interface ExecutionContextInterface
{
    public function validate($value, $subPath = '', $groups = null, $traverse = false, $deep = false);
    public function validateValue($value, $constraints, $subPath = '', $groups = null);
    public function getMetadataFor($value);
}
```

No more juggling with property paths, no more fiddling with the graph walker. Just call on the execution context what you'd call on the validator and you're done.

There are two controversial things to discuss and decide (cc @fabpot):

* I moved the `@api` tags of all implementations to the respective interfaces. Is this ok?
* I would like to deprecate `ValidatorInterface::getMetadataFactory()` (tagged as `@api`) in favor of the added `ValidatorInterface::getMetadataFor()`, which offers the exact same functionality, but with a different API and better encapsulation, which makes it easier to maintain for us. We can tag `getMetadataFor()` as `@api`, as I don't expect it to change. Can we do this or should we leave the old method in?

I would like to decide the major issues of this PR until **Sunday November 25th** in order to give @fago enough room for his implementation.

Let me hear your thoughts.
2012-11-24 13:18:53 +01:00
Fabien Potencier
d5ff2388cb merged branch TerjeBr/persistent-token-provider (PR #6055)
This PR was merged into the master branch.

Commits
-------

d1b5093 Try to make sure cookies get deleted from the TokenProvider when no longer in use

Discussion
----------

Delete cookies from the TokenProvider that is no longer in use

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Todo: -
License of the code: MIT

When the user logs in, or login fails for some reason, the old "remember me" cookie should be deleted from the TokenProvider if you are using the PersistentTokenBasedRememberMeServices.

As the code is now, the token is only deleted on logout.

---------------------------------------------------------------------------

by TerjeBr at 2012-11-20T13:45:54Z

So, anything else that needs to be done before this is merged?

---------------------------------------------------------------------------

by TerjeBr at 2012-11-21T10:30:53Z

Ok, I have corrected the typo in the comment and squashed the commit.

---------------------------------------------------------------------------

by schmittjoh at 2012-11-21T10:36:29Z

btw, ``canceled`` (more American) and ``cancelled`` (more British) are both
correct English forms.

On Wed, Nov 21, 2012 at 11:30 AM, Terje Bråten <notifications@github.com>wrote:

> Ok, I have corrected the typo in the comment and squashed the commit.
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/symfony/symfony/pull/6055#issuecomment-10592112>.
>
>

---------------------------------------------------------------------------

by schmittjoh at 2012-11-21T10:40:24Z

As a side-note have you verified that this does not break the cookie theft protection?

---------------------------------------------------------------------------

by TerjeBr at 2012-11-21T10:51:10Z

Yes, cookie theft protection is still there and is functioning well.

---------------------------------------------------------------------------

by TerjeBr at 2012-11-21T11:14:04Z

I am using this together with the DoctrineTokenProvider in issue #6057 in my own project and done some extensive testing on it.

---------------------------------------------------------------------------

by TerjeBr at 2012-11-23T10:30:34Z

Is this ready to be merged now?
2012-11-24 13:14:48 +01:00
Fabien Potencier
c8ebc1e74b merged branch sli-systems/dc-1 (PR #6080)
This PR was squashed before being merged into the master branch (closes #6080).

Commits
-------

e477a2e Handle case of static controller method and controllers using magic __call() method

Discussion
----------

Handle case of static controller method and controllers using magic __call() method

Improve collecting controller details for edge cases where:
- controller is array, but contains class name and static method
- method doesn't exist, but is handled by magic __call() method

---------------------------------------------------------------------------

by fabpot at 2012-11-21T08:12:08Z

Can you add some unit tests?

---------------------------------------------------------------------------

by sli-systems at 2012-11-21T22:19:17Z

@pierredup
I disagree with the your comment about is_callable() only working with objects. The PHP docs state that the first  argument is a callable, so it can be a string, array, closure, and perhaps more.

The test I added also shows that the code works as is :)

I've thought about your suggestion of adding reflection to look up the location of __call(). However, I think this doesn't really  add a lot and only complicates matters. Also, as you can see in the new test, there is also __callStatic() to consider.

The fact that file/line are n/a is  correct, because the most typical case will be that __call() and __callStatic() will delegate to some other method that might not even be in the same class/file (a subclass I would expect), IMHO.

@fabpot
Good catch  about the '/'. I hope the test is complete enough. Looks more like an exercise on PHP callables than anything else, tho ;)

---------------------------------------------------------------------------

by pierredup at 2012-11-22T04:56:18Z

True that ````is_callable```` takes any callable argument, except in the one specific case where you have a ````__call()```` method, and pass an array with the first paramater as a string.

Take the following example:

    class Controller {
        public function __call($method, $arguments) {}
    }

    $controller = array('Controller', 'action');

    var_dump(is_callable($controller));

Here ````is_callable($controller)```` will actually return ````false````, where if you have ````$controller = array(new Controller, 'action');```` it would return true.

Of course if you have a ````__callStatic```` method, then it would always return true.

Your tests doesn't seem to cover this use case

---------------------------------------------------------------------------

by sli-systems at 2012-11-22T20:27:05Z

Hmm, maybe. I have to admin that I do not know about this case. OTOH, if is_callable returns false is it really callable then? I would think this more of a PHP bug then?

I think I might have come across this case during coding, but then dismissed it because in that case FilterControllerEvent failed already before the data collector code is reached.

In FilterControllerEvent there is a check on is_callable and a LogicException is thrown if $controller is not callable.

So, is FilterControllerEvent wrong  too then?

---------------------------------------------------------------------------

by pierredup at 2012-11-22T20:41:14Z

One would think that if is_callable returns false, then the controller isn't callable, but in the case I mentioned above, the controller is in fact callable. I also thought it was a bug with php, but the php-internals don't seem to think so.

The problem is, if you specify the class as a string, php looks for a static method, even if you have a __call method, it won't be registered.

I will have a look at the FilterControllerEvent to see if this use case applies there as well.

---------------------------------------------------------------------------

by sli-systems at 2012-11-22T20:50:32Z

Rather strange - if that is the case then using is_callable seems pretty pointless and the only way would be to try to execute the controller to find out if it is, in fact, callable...

---------------------------------------------------------------------------

by pierredup at 2012-11-22T20:51:07Z

Okay so it actually seems that the case above isn't callable after all. If the controller is specified as a string, then a static method need to exist. Hence why it works with __callStatic. Only when an instance of the class is specified, will it handle the __call method.

---------------------------------------------------------------------------

by sli-systems at 2012-11-22T20:57:55Z

So the tests are sufficient then?

---------------------------------------------------------------------------

by pierredup at 2012-11-22T20:59:22Z

Yes it is.
This happens when you just assume something without actually testing it :)

Sorry for the hassle
2012-11-24 13:13:43 +01:00
DerManoMann
e477a2ea46 Handle case of static controller method and controllers using magic __call() method 2012-11-24 13:13:43 +01:00
Fabien Potencier
1c0ba78833 [Form] simplified a test from previous merge 2012-11-24 13:04:10 +01:00
Bernhard Schussek
1858b96b7d [Form] Adapted FormValidator to latest changes in the Validator 2012-11-24 13:00:33 +01:00
Bernhard Schussek
efe42cbb1f [Validator] Refactored the GraphWalker into an implementation of the Visitor design pattern.
With this refactoring comes a decoupling of the validator from the structure of
the underlying metadata. This way it is possible for Drupal to use the validator
for validating their Entity API by using their own metadata layer, which is not
modeled as classes and properties/getter methods.
2012-11-24 13:00:28 +01:00
Stepan Tanasiychuk
2fe04e1378 Update src/Symfony/Component/Form/Extension/Core/Type/FileType.php 2012-11-24 12:59:05 +01:00
Fabien Potencier
deb740b6ed merged branch bamarni/preloaded-extension (PR #5479)
This PR was merged into the 2.1 branch.

Commits
-------

84635bd [Form] allowed no type guesser to be registered

Discussion
----------

[Form] made the factory builder pass null when no type guesser registered

reopened #5422 against 2.1 as it's a bug fix

---------------------------------------------------------------------------

by stof at 2012-10-13T21:23:34Z

@fabpot anything left for this PR ?

---------------------------------------------------------------------------

by fabpot at 2012-10-14T09:41:29Z

@bamarni Can you add some unit tests and also update the FormExtensionInterface interface phpdoc as `getTypeGuesser` can now return `null`? Thanks. ping @bschussek

---------------------------------------------------------------------------

by bamarni at 2012-10-14T17:10:27Z

I've added a few tests covering this.

@fabpot : the phpdoc is already correct, it currently can return null, this only occurs with this convenient class.

---------------------------------------------------------------------------

by bschussek at 2012-10-16T07:43:41Z

This PR breaks FormFactory::createBuilderForProperty(), which expects a guesser to be present. Can you check the component for other uses of the guesser and add a null-check there?

---------------------------------------------------------------------------

by bamarni at 2012-10-16T10:57:54Z

I cannot find other places than the factory (searching for 'getTypeGuesser').

---------------------------------------------------------------------------

by bschussek at 2012-11-08T16:58:37Z

You should also adapt `FormRegistry::getTypeGuesser()` not to build a `FormTypeGuesserChain` if the array of guessers is empty. In that case it will return now `null` (adapt the doc block). We also need a different was of checking if the type guessers have already been parsed in FormRegistry. Otherwise the first if condition in `FormRegistry::getTypeGuesser()` will never become false. You could for example initialize the property `$guesser` to `false` and only set it to `null` after the first run of `getTypeGuesser()`.

---------------------------------------------------------------------------

by bamarni at 2012-11-08T18:40:00Z

good catch I had missed it! I've applied your suggestion in the latest commit. Do you see anything else before I squash?

---------------------------------------------------------------------------

by bschussek at 2012-11-08T18:45:15Z

A test for `FormRegistry::getTypeGuesser()` would of course be awesome.

---------------------------------------------------------------------------

by bamarni at 2012-11-08T18:52:13Z

Then it was already awesome! (see https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Form/Tests/FormRegistryTest.php#L252)

I've also added one for the null case if it's what you meant.
2012-11-24 12:52:59 +01:00
Fabien Potencier
acec6599eb merged branch Tobion/patch-1 (PR #5104)
This PR was merged into the master branch.

Commits
-------

e2a50ef [OptionsResolver] fix normalizer without corresponding option
5a53821 [OptionsResolver] fix removing normalizers

Discussion
----------

OptionsResolver: normalizer fix

setNormalizer() -> replace() -> all() would generate an error.

---------------------------------------------------------------------------

by bschussek at 2012-07-29T16:09:20Z

Thank you for the fix! Could you please add a test case?

---------------------------------------------------------------------------

by Tobion at 2012-07-30T15:42:26Z

There is another problem: setNormalizer() (without setting an option) -> all()
I suggest to simply ignore normalizers that have no corresponding option. Do you agree?

---------------------------------------------------------------------------

by Tobion at 2012-07-30T16:19:24Z

On the other hand, one could argue that a normalizer without option should also work like this:
```
$this->options->setNormalizer('foo', function (Options $options) {
        return '';
});
$this->assertEquals(array('foo' => ''), $this->options->all());
```

But when having a normalizer that wants a previous value as param, it does not work (because there is none).

---------------------------------------------------------------------------

by stof at 2012-07-30T16:30:34Z

@Tobion according to github, this need to be rebased

---------------------------------------------------------------------------

by bschussek at 2012-07-30T19:16:48Z

I guess setNormalizer() should check whether the option is set and fail otherwise. The second possibility, as you say, is to ignore them in all(). I'd prefer whatever is more efficient.

---------------------------------------------------------------------------

by bschussek at 2012-07-30T19:17:27Z

But setting a normalizer without setting an option, and having that option appear in the final options, does not make sense if you ask me.

---------------------------------------------------------------------------

by Tobion at 2012-07-30T21:23:46Z

Well it could make sense. If you want to override/normalize an option to a given value however it has been overloaded by others or just not overloaded at all. This is what normalizers do. I think its more consistent than the other solutions.
Raising exception in setNormalizer would make the Class dependent on the order you call the methods, e.g. `setNormalizer(); set()` would not work. But the other way round would be ok.
Ignoring some normalizers in `all` would be strange because they are there but not applied under some circumstances.

---------------------------------------------------------------------------

by Tobion at 2012-07-30T21:42:40Z

Added the fix. If you disagree tell me.

---------------------------------------------------------------------------

by bschussek at 2012-08-04T09:30:18Z

> Raising exception in setNormalizer would make the Class dependent on the order you call the methods, e.g. `setNormalizer(); set()` would not work. But the other way round would be ok.

I think this would be a better solution. I dislike if the normalizer magically adds an option that does not exist. This could hide implementation error, e.g. when a refactoring removes an option, but the normalizer is forgotten. Can you throw an exception in this case?

Should we find use cases that rely on this to work, we can soften the behavior and remove the exception.

---------------------------------------------------------------------------

by Tobion at 2012-08-04T15:02:51Z

Well, that would also make it impossible to set a normalizer for on optional option in OptionsResolver.
So `setOptional` + `setNormalizers` would throw an exception which sounds counter-intuitive. Are you sure about that?

---------------------------------------------------------------------------

by Tobion at 2012-08-17T11:47:58Z

ping @bschussek

---------------------------------------------------------------------------

by Tobion at 2012-10-07T22:31:44Z

@bschussek ping

---------------------------------------------------------------------------

by stof at 2012-10-13T18:04:30Z

@bschussek ping

---------------------------------------------------------------------------

by Tobion at 2012-11-08T09:55:15Z

@bschussek please let's get this finished.
2012-11-24 12:52:13 +01:00
Larry Garfield
b930066168 Add Route::hasOption() and Route::hasRequirement() methods. 2012-11-23 04:39:55 -06:00
Xavier HAUSHERR
bbeff543cd Xliff with other node than source or target are ignored 2012-11-21 16:37:42 +01:00
Terje Bråten
d1b5093aa8 Try to make sure cookies get deleted from the TokenProvider when no longer in use 2012-11-21 11:24:30 +01:00
Fabien Potencier
5aa6788298 tweaked previous merge 2012-11-21 09:43:39 +01:00
Jeremy David
6ff0dc6734 Added ability to set controller result in the kernel.view event 2012-11-21 09:43:22 +01:00
Victor Berchet
94426b94f4 "Updated" the changelog according to stof feedback 2012-11-21 08:34:44 +01:00
Malaney J. Hill
f211b198c7 Filesystem Component mirror symlinked directory fix 2012-11-20 14:21:32 +01:00
Tugdual Saunier
0f4d8af6cf [Process][Tests] fixed chainedCommandsOutput tests
for OS where echo does not support -n option (like MacOS X)
2012-11-19 21:53:52 +01:00
Tobias Schultze
e39b70949e [Routing] initialize the Route properties
They should normally be initialized anyway in the constructor. But when extending the Route (like in CMF) and using an ORM/ODM to persist them in the DB, the constructor is not called. Then a new property that is not saved like hostnamePattern stays null which in turn makes the RouteCompiler fails as it expects '' instead of null.
2012-11-19 15:19:02 +01:00
Fabien Potencier
54ffd9ebfd merged branch sstok/fix_digest_authentication (PR #5874)
This PR was merged into the 2.0 branch.

Commits
-------

f2cbea3 [Security] remove escape charters from username provided by Digest DigestAuthenticationListener
80f6992 [Security] added test extra for digest authentication
d66b03c fixed CS
694697d [Security] Fixed digest authentication
c067586 [Security] Fixed digest authentication

Discussion
----------

Fix digest authentication

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

This adds the missing fixes.

My only concerns is the ```\"``` removing.
```\"``` is only needed for the HTTP transport, but keeping them would require to also store the username with the escapes as well.

---------------------------------------------------------------------------

by fabpot at 2012-10-30T11:25:28Z

The digest authentication mechanism is not that widespread due to its limitation. And the transport is not HTTP, I think we are talking about very few cases.

---------------------------------------------------------------------------

by sstok at 2012-10-30T12:49:14Z

Apache seems to remove (ignore) escape characters.

```c
if (auth_line[0] == '=') {
            auth_line++;
            while (apr_isspace(auth_line[0])) {
                auth_line++;
            }

            vv = 0;
            if (auth_line[0] == '\"') {         /* quoted string */
                auth_line++;
                while (auth_line[0] != '\"' && auth_line[0] != '\0') {
                    if (auth_line[0] == '\\' && auth_line[1] != '\0') {
                        auth_line++;            /* escaped char */
                    }
                    value[vv++] = *auth_line++;
                }
                if (auth_line[0] != '\0') {
                    auth_line++;
                }
            }
            else {                               /* token */
                while (auth_line[0] != ',' && auth_line[0] != '\0'
                       && !apr_isspace(auth_line[0])) {
                    value[vv++] = *auth_line++;
                }
            }
            value[vv] = '\0';
        }
```

But would this change be a BC break for people already using quotes but without a comma and thus they never hit this bug?

The change it self is minimum, just calling ```str_replace('\\\\', '\\', str_replace('\\"', '"', $value))``` when getting the username.

---------------------------------------------------------------------------

by fabpot at 2012-11-13T13:00:12Z

@sstok Doing the same as Apache seems the best option here (just document the BC break).

---------------------------------------------------------------------------

by sstok at 2012-11-15T16:05:00Z

Hopefully I did this correct, but the needed escapes seem correctly removed.
`\"` is changed to `"` `\\` is changed to `\`
`\'` it kept as it is, as this needs no correcting.

@Vincent-Simonin Can you verify please.

---------------------------------------------------------------------------

by Vincent-Simonin at 2012-11-19T09:28:18Z

Authentication didn't work with this configuration :

```
providers:
    in_memory:
        name: in_memory
        users:
            te"st: { password: test, roles: [ 'ROLE_USER' ] }
```

`te"st` was set in authentication form's user field.

(Must we also escape `"` in configuration file ?)

Tests were performed with nginx.

---------------------------------------------------------------------------

by sstok at 2012-11-19T09:33:34Z

Yes. YAML escapes using an duplicate quote, like SQL.

```yaml
providers:
    in_memory:
        name: in_memory
        users:
            "te""st": { password: test, roles: [ 'ROLE_USER' ] }
```
2012-11-19 14:04:22 +01:00
Fabien Potencier
6e8115a276 merged branch raziel057/COMPONENT_Form (PR #5888)
This PR was squashed before being merged into the master branch (closes #5888).

Commits
-------

2379d86 CS Fixes - Replaced "array of type" by "Type[]" in PHPDoc block

Discussion
----------

CS Fixes - Replaced "array of type" by "Type[]" in PHPDoc block

Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: no (but tests doesn't pass on master too). See Travis.
License of the code: MIT
Documentation PR: Not Applicable
Status: Finished

To improve support of the eclipse PDT pluggin (for autocompletion), I propose to change the array notation in PHPDoc blocks to match the phpDocumentor notation for "array of type".

Modifications are made for the following components:
- BrowserKit
- ClassLoader
- Config
- Console
- CssSelector
- DependencyInjection
- DomCrawler
- EventDispatcher (no changes)
- Filesystem (no changes)
- Finder
- Form
- HttpFoundation
- HttpKernel
- Locale
- OptionResolver (no changes)
- Process (no changes)
- Routing (no changes)
- Serializer (no changes)
- Templating
- Translation
- Validator
- Yaml (no changes)
- Security
- Stopwatch (no changes)

See Proposal https://github.com/symfony/symfony/pull/5852

---------------------------------------------------------------------------

by pborreli at 2012-11-01T15:19:27Z

will you make a PR for each component ? why not only one PR with one commit for each component instead ?

---------------------------------------------------------------------------

by raziel057 at 2012-11-01T15:32:39Z

Ok, I'm going try to do it.

---------------------------------------------------------------------------

by raziel057 at 2012-11-01T16:12:56Z

I would like to rename my branch from COMPONENT_Form to changes-phpdoc (as all modifications would be commited in only one branch), so I tried to execute the following command but I have an error.

git remote rename COMPONENT_Form changes-phpdoc
error: Could not rename config section 'remote.COMPONENT_Form' to 'remote.changes-phpdoc'

Do you know how to do it?

---------------------------------------------------------------------------

by pborreli at 2012-11-01T16:14:26Z

don't rename it, you will have to close and make another PR which is useless here, just edit the title.

---------------------------------------------------------------------------

by stof at 2012-11-01T16:16:17Z

and ``git remote rename`` is about renaming a remote repo, not a branch

---------------------------------------------------------------------------

by raziel057 at 2012-11-03T11:36:02Z

Is it normal that all my commit are duplicated? I would like just update my master and merge with my branch.

---------------------------------------------------------------------------

by fabpot at 2012-11-06T10:22:55Z

@raziel057 Can you rebase on master? That should fix your problem.

---------------------------------------------------------------------------

by fabpot at 2012-11-09T13:28:53Z

@raziel057 Can you finish this PR?

---------------------------------------------------------------------------

by Tobion at 2012-11-09T13:34:45Z

I'll do it for the routing component this evening because I know it by heart. ^^

---------------------------------------------------------------------------

by raziel057 at 2012-11-09T15:06:26Z

@Tobion ok Thanks!

@fabpot Yes, I will try to finish it this week end.

---------------------------------------------------------------------------

by raziel057 at 2012-11-11T13:04:07Z

@Tobion Did you already change PHPDoc in the Routing component?

---------------------------------------------------------------------------

by Tobion at 2012-11-11T15:21:18Z

@raziel057 Yes I'm working on it.

---------------------------------------------------------------------------

by Tobion at 2012-11-12T15:16:31Z

@raziel057 Done. See #5994
2012-11-19 13:58:52 +01:00
Thomas Lallement
2379d86241 CS Fixes - Replaced "array of type" by "Type[]" in PHPDoc block 2012-11-19 13:58:52 +01:00
Benoît Bourgeois
b0e468f9ba Update src/Symfony/Component/DomCrawler/Form.php 2012-11-19 13:39:22 +01:00
Fabien Potencier
270e530d97 fixed typo 2012-11-19 13:33:12 +01:00
Fabien Potencier
077bd35f7b merged branch Tobion/routing-pcre (PR #6064)
This PR was merged into the master branch.

Commits
-------

824a0f3 [Routing] compatibility with older PCRE (pre 8)

Discussion
----------

[Routing] compatibility with older PCRE (pre 8)

#6062 for master
2012-11-19 13:32:30 +01:00
Fabien Potencier
cec11fa08a Merge branch '2.1'
* 2.1:
  [Routing] made it compatible with older PCRE version (pre 8)
  tiny refactoring for consistency
  fixed docblock return type
  Added HttpCache\Store::generateContentDigest() + changed visibility

Conflicts:
	src/Symfony/Component/Routing/Matcher/Dumper/ApacheMatcherDumper.php
	src/Symfony/Component/Routing/Matcher/Dumper/PhpMatcherDumper.php
	src/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher1.php
	src/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher2.php
	src/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher3.php
	src/Symfony/Component/Routing/Tests/RouteCompilerTest.php
2012-11-19 13:32:16 +01:00
Tobias Schultze
824a0f3ef6 [Routing] compatibility with older PCRE (pre 8) 2012-11-19 13:02:22 +01:00
Fabien Potencier
8f33f2ea86 merged branch Tobion/routing-centos (PR #6062)
This PR was merged into the 2.1 branch.

Commits
-------

1daefa5 [Routing] made it compatible with older PCRE version (pre 8)

Discussion
----------

[Routing] compatibility with older PCRE version (pre 8)

fixes #4093

Ok I changed my mind about this issue.
1. I figured more people are affected than I thought and CentOS is stubborn.
2. Symfony still uses the old regex style `?P<param>` in several other components. So also doing so in the routing makes it more consistent.
3. Even if it's definitely not good to use an over 6 year old PCRE version with a recent PHP version, we can still try to provide the best experience. It doesn't mean we support outdated software stacks of custom PHP compilations as we won't and cannot specifically test against it.

@fabpot: I will do a seperate PR on master when you merged this because the code changed alot in master so it cannot easily be merged I guess. I will also convert the symfony requirement for PCRE in the requirements check to a recommendation.
2012-11-19 11:35:29 +01:00
Tobias Schultze
1daefa5f4b [Routing] made it compatible with older PCRE version (pre 8) 2012-11-19 10:25:59 +01:00
Tobias Schultze
1b41ed0a79 removed unused variable 2012-11-19 10:05:27 +01:00
Fabien Potencier
7e88eccfb6 merged branch Tobion/is_object_instance_of (PR #6051)
This PR was merged into the master branch.

Commits
-------

966e7d6 [DI] removed unneeded is_object() calls

Discussion
----------

[DI] removed unneeded is_object() calls

I searched through all of symfony for occurences of the coding style `(is_object($value) && $value instanceof Object)` with a regex like `is_object\(\$[a-zA-z0-9]+\) && \$[a-zA-z0-9]+ instanceof `.
The `is_object` calls are not needed in this case. Only the DI component made such duplicate checks.
2012-11-19 08:41:20 +01:00
Tobias Schultze
acf8a70420 [Routing] fix Route recompilation when hostname changed 2012-11-19 01:12:13 +01:00
Tobias Schultze
966e7d6d12 [DI] removed unneeded is_object() calls 2012-11-18 21:27:35 +01:00
Tobias Schultze
ea2bb09d55 tiny refactoring for consistency 2012-11-18 18:36:28 +01:00
Fabien Potencier
00d132a6d3 merged branch lanthaler/master (PR #6030)
This PR was squashed before being merged into the master branch (closes #6030).

Commits
-------

749dac1 Improve docBlock

Discussion
----------

Improve docBlock

This is just a minor change documenting the return type of `SerializerInterface::deserialize()`.
2012-11-17 18:07:16 +01:00
Markus Lanthaler
749dac1e38 Improve docBlock 2012-11-17 18:07:16 +01:00
Tobias Schultze
38802ea32c remove logic that could not be triggered anyway
the regex by the compiler is always valid. even if it was invalid like '' it wasn't caught by the exception and would have given a php notice.
2012-11-17 16:58:52 +01:00
Pascal Borreli
f7ea68f70c [Routing] Fixed undefined variable + typo 2012-11-17 14:39:14 +00:00
Eriksen Costa
0b088ec939 fixed docblock return type 2012-11-16 14:51:07 -02:00
Fabien Potencier
4ad1e14056 merged branch ruian/patch-2 (PR #6028)
This PR was merged into the master branch.

Commits
-------

83b37ff [DependencyInjection] Return self for add...

Discussion
----------

[DependencyInjection] Return self for add...

Bug fix: no
Forget fix: yes
Feature addition: no
Symfony2 tests pass: yes
License of the code: MIT

Return self instance when call an ADD something method.

---------------------------------------------------------------------------

by pborreli at 2012-11-16T13:24:45Z

Please fix PHPDoc accordingly

---------------------------------------------------------------------------

by ruian at 2012-11-16T13:38:41Z

@pborreli done.
2012-11-16 15:58:29 +01:00
Fabien Potencier
68ae207002 merged branch egeloen/password-type (PR #6007)
This PR was merged into the master branch.

Commits
-------

97f6a1b [Form] Update password type trimming to false

Discussion
----------

[Form] Update password trimming to false by default

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

Hey!

Today, I realize that the password type is by default trimmed. IMHO, this is not the expected behavior. By default, the password type should not trim the input value.

Regards

---------------------------------------------------------------------------

by nomack84 at 2012-11-13T19:16:29Z

👍

---------------------------------------------------------------------------

by mvrhov at 2012-11-13T19:57:29Z

IMHO password and username fields should be trimmed. whitespace at the beginning and at the end of those fields are not wanted. At least I don't want to deal with a user support where WS on those fields is not trimmed.

---------------------------------------------------------------------------

by egeloen at 2012-11-13T20:08:08Z

@mvrhov I agree with you about username fields and other "text" fields but in case of a password field, if the end user specifies white space at the begin/end of his password, it should not be trimmed. It should simply let it as it is. I open this PR due to two customers who reports me this behavior.

---------------------------------------------------------------------------

by clemherreman at 2012-11-14T10:06:15Z

@mvrhov I agree, username shouldn't be trimmed, however password are kind of special. They should be used *"as is"*, as lots of users have wicked passwords.

Moreover, usually the password is asked twice, so if there are spaces, they are most likely wanted by the end user.

So 👍

---------------------------------------------------------------------------

by clemherreman at 2012-11-14T10:07:27Z

Also Travis status on this PR is **failed** because of an error when downloading the deps.

---------------------------------------------------------------------------

by geoffrey-brier at 2012-11-14T10:34:56Z

👍

---------------------------------------------------------------------------

by bschussek at 2012-11-14T15:01:43Z

Could you please add a test case to PasswordTypeTest?

Please also reference this PR in the test

(= add the comment `// https://github.com/symfony/symfony/pull/6007` before the test)

---------------------------------------------------------------------------

by egeloen at 2012-11-14T15:10:36Z

@bschussek I have updated the PR.

---------------------------------------------------------------------------

by bschussek at 2012-11-14T15:24:34Z

Thanks! Could you please squash the commits?

---------------------------------------------------------------------------

by egeloen at 2012-11-14T15:30:11Z

@bschussek Done.

---------------------------------------------------------------------------

by stloyd at 2012-11-14T15:39:47Z

Should this be noted in `UPGRADE` file ? (as this is change of actually BC break =))

---------------------------------------------------------------------------

by egeloen at 2012-11-15T22:59:45Z

@stloyd Where can I put it? In the [UPGRADE-2.2](https://github.com/symfony/symfony/blob/master/UPGRADE-2.2.md) file?

---------------------------------------------------------------------------

by stloyd at 2012-11-15T23:02:51Z

@egeloen IMO yes, according this will go to `master` (which is actual _dev_ branch for `2.2`)

---------------------------------------------------------------------------

by egeloen at 2012-11-16T13:54:04Z

@fabpot I have removed the comment & added an entry in the `UPGRADE-2.2` file.
2012-11-16 15:57:52 +01:00
Eric GELOEN
97f6a1b4d9 [Form] Update password type trimming to false 2012-11-16 14:51:56 +01:00
Julien 'ruian' Galenski
83b37ffb4d [DependencyInjection] Return self for add...
Bug fix: no
Feature addition: no
Backwards compatibility break: yes
Symfony2 tests pass: yes
License of the code: MIT

Return self instance when call an ADD something method.
2012-11-16 14:35:03 +01:00
Fabien Potencier
e3f8d2db33 merged branch Tobion/collection-hostname (PR #6018)
This PR was squashed before being merged into the master branch (closes #6018).

Commits
-------

6334343 [Routing] removed getHostnamePattern from RouteCollection

Discussion
----------

[Routing] removed getHostnamePattern from RouteCollection

this method is not useful and can introduce inconsistencies when a sub-route has a different hostname, which already has a getter for the hostname
2012-11-15 19:30:36 +01:00
Tobias Schultze
6334343cda [Routing] removed getHostnamePattern from RouteCollection 2012-11-15 19:30:36 +01:00
Sebastiaan Stok
f2cbea3b30 [Security] remove escape charters from username provided by Digest DigestAuthenticationListener 2012-11-15 16:54:04 +01:00
Vincent Simonin
694697dd91 [Security] Fixed digest authentication
Digest authentication fail if digest parameters contains `=` character or `, ` string.

* Support escaped characters
2012-11-15 16:42:02 +01:00
Vincent Simonin
c067586368 [Security] Fixed digest authentication
Digest authentication fail if digest parameters contains `=` character or `, ` string.
2012-11-15 16:42:01 +01:00
Jérôme Vieilledent
d2920c94a1 Added HttpCache\Store::generateContentDigest() + changed visibility 2012-11-15 14:23:00 +01:00
Fabien Potencier
225e3e53d4 merged branch vicb/acceptheaderfix (PR #6003)
This PR was merged into the master branch.

Commits
-------

f4b630d [HttpFoundation] fix #6002

Discussion
----------

[HttpFoundation] fix #6002

---------------------------------------------------------------------------

by fabpot at 2012-11-13T17:02:45Z

Can you add a test?

---------------------------------------------------------------------------

by Tobion at 2012-11-13T17:04:23Z

hehe see #6004 there is also a test

---------------------------------------------------------------------------

by vicb at 2012-11-13T17:05:06Z

There is a test in the original PR, no need for 6004.

---------------------------------------------------------------------------

by vicb at 2012-11-13T17:05:20Z

Which is why is was failing btw

---------------------------------------------------------------------------

by Tobion at 2012-11-13T17:06:36Z

The test in 6002 did not fail for me without your patch.

---------------------------------------------------------------------------

by fabpot at 2012-11-14T12:47:46Z

@Tobion @vicb What do we do? Just revert #6002 or merge this PR?

---------------------------------------------------------------------------

by vicb at 2012-11-14T13:25:51Z

Merge. Go go go :)

----- Reply message -----
De : "Fabien Potencier" <notifications@github.com>
Pour : "symfony/symfony" <symfony@noreply.github.com>
Cc : "Victor Berchet" <victor@suumit.com>
Objet : [symfony] [HttpFoundation] fix #6002 (#6003)
Date : mer., nov. 14, 2012 13:47
@Tobion @vicb What do we do? Just revert #6002 or merge this PR?

&mdash;

Reply to this email directly or view it on GitHub.

---------------------------------------------------------------------------

by Tobion at 2012-11-14T13:31:22Z

@vicb can you explain what it fixes? As I said, your test does not cover something that would fail without the patch. So I don't see the bug.

---------------------------------------------------------------------------

by vicb at 2012-11-14T15:30:55Z

@Tobion php.net states: The `current()` function simply returns the value of the array element that's currently being pointed to by the internal pointer and `reset()` returns the value of the first array element.

I have no clue what the "element that's currently being pointed to by the internal pointer" in this method so `reset()` is probably what you want.

Validated ?

---------------------------------------------------------------------------

by Tobion at 2012-11-14T16:12:03Z

I agree `reset()` is more explicit here. But `current()` should work just as well in this case because the array pointer can only be at the first item when calling the method. Anyway, this is good to merge. I just hoped there was a unit test that ensures this on my machine. This is why I added the test in my patch. Maybe Fabien can just merge the second commit on #6004

---------------------------------------------------------------------------

by vicb at 2012-11-14T16:20:57Z

As explained in #6004, there is already a test from my first PR that made Travis go red.
2012-11-14 17:48:15 +01:00
Tobias Schultze
c865220267 [Routing] fix missing hostname serialization in Route 2012-11-14 00:25:56 +01:00
Victor Berchet
f4b630d1e0 [HttpFoundation] fix #6002 2012-11-13 17:57:35 +01:00
Fabien Potencier
7bfe13c912 merged branch vicb/acceptheader (PR #6002)
This PR was merged into the master branch.

Commits
-------

395c004 [HttpFoundation] Fix AcceptHeader

Discussion
----------

[HttpFoundation] Fix AcceptHeader

The important lines are:

```php
<?php
-        return !empty($this->items) ? current($this->items) : null;
+        return !empty($this->items) ? $this->items[0] : null;
```

(and the corresponding test).

The commit has some code re-org to make reading tests easier (providers defined close the the corresponding test). This might be personal preferences only, let me know if it should be reverted.
2012-11-13 17:35:27 +01:00
Fabien Potencier
ecb963be27 Merge branch '2.1'
* 2.1:
  fixed comment. The parent ACL is not accessed in this method.
  [HttpFoundation] Make host & methods really case insensitive in the RequestMacther
  [Validator] fixed Ukrainian language code (closes #5972)
  Fixed case of php function
2012-11-13 17:29:48 +01:00
Fabien Potencier
2d488b79f2 Merge branch '2.0' into 2.1
* 2.0:
  fixed comment. The parent ACL is not accessed in this method.
  [HttpFoundation] Make host & methods really case insensitive in the RequestMacther
  [Validator] fixed Ukrainian language code (closes #5972)
  Fixed case of php function

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.uk.xliff
	src/Symfony/Component/HttpFoundation/RequestMatcher.php
2012-11-13 17:29:06 +01:00
Victor Berchet
395c00487c [HttpFoundation] Fix AcceptHeader 2012-11-13 17:18:54 +01:00
Fabien Potencier
b126664406 Merge branch '2.1'
* 2.1: (24 commits)
  forced Travis to use source to workaround their not-up-to-date Composer on PHP 5.3.3
  [Routing] removed irrelevant string cast in Route
  Fixed typo
  Make YamlFileLoader and XmlFileLoader file loading extensible
  [HttpKernel] fix typo
  Fixed singularization of "prices"
  [Form] Removed an exception that prevented valid formats from being passed, e.g. "h" for the hour, "L" for the month etc.
  [HttpKernel] fixed Client when using StreamedResponses (closes #5370)
  fixed PDO session handler for Oracle (closes #5829)
  [HttpFoundation] fixed PDO session handler for Oracle (closes #5829)
  [Locale] removed a check that is done too early (and it is done twice anyways)
  Update src/Symfony/Component/Validator/Resources/translations/validators.fa.xlf
  Adding new localized strings for farsi validation.
  [HttpFoundation] moved the HTTP protocol check from StreamedResponse to Response (closes #5937)
  [Form] Fixed forms not to be marked invalid if their children are already marked invalid
  [Form] Excluded some tests in NumberToLocalizedStringTransformerTest which fail on ICU 4.4, but work on ICU 4.8
  added missing tests from previous merge
  [Form] Fixed NumberToLocalizedStringTransformer to accept both comma and dot as decimal separator, if possible
  Fix export-ignore on Windows
  Show correct class name InputArgument in error message
  ...

Conflicts:
	.travis.yml
	src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php
2012-11-13 15:08:04 +01:00
Fabien Potencier
83de4c2b02 merged branch fabpot/public-resources (PR #6000)
This PR was merged into the master branch.

Commits
-------

0159358 refactored CSS, images, templates included in the built-in bundles
812b9b1 replace _ in stylesheets (ids and classes) by - (should be consistent across the whole framework now)
983b2b5 uniformized styles
e0aab40 renamed sf-exceptionreset to sf-reset

Discussion
----------

Public resources refactoring

The first 3 commits are just cosmetic ones.

The last one refactors CSS, images, and templates included in the built-in bundles. Right now, everything is tied to the exception pages, but the code can be used standalone.

So, the goal is to make things more decoupled and more reusable across different bundles. That way, a bundle can provide pages that look like the other ones in Symfony without the need to duplicate code.

See the associated PR for the distribution bundle to see an example.

If you want to have a look at the last commit (not sure if it is worth it), you probably want to append ?w=1 to the URL to avoid too much whitespace noise.

---------------------------------------------------------------------------

by pborreli at 2012-11-13T09:38:00Z

congrats ! #6000

---------------------------------------------------------------------------

by fabpot at 2012-11-13T09:38:39Z

A simple usage example:

```jinja
{% extends "TwigBundle::layout.html.twig" %}

{% block body %}
    <div class="block">
        FOOBAR
    </div>
{% endblock %}
```
2012-11-13 14:20:12 +01:00
Fabien Potencier
d45a76b316 merged branch Inori/consistent-util-classes (PR #5879)
This PR was squashed before being merged into the master branch (closes #5879).

Commits
-------

07bd5c6 Make non-instantiable utils classes consistent with each other

Discussion
----------

Make non-instantiable utils classes consistent with each other

Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT

As per discussion in #5875 turned out that we don't have a consistent way to define non-instantiatable classes.

I don't like `final` as it removes flexibility with no visible gain.
I don't like `abstract` since it's not specifically clear what is meant by that. Is this class not complete? Should it be extended?
2012-11-13 13:58:15 +01:00
Roman Marintsenko
07bd5c6306 Make non-instantiable utils classes consistent with each other 2012-11-13 13:58:14 +01:00
Fabien Potencier
cb00411fc8 merged branch Jola/comment-fix (PR #5992)
This PR was merged into the 2.0 branch.

Commits
-------

b3a8efd fixed comment. The parent ACL is not accessed in this method.

Discussion
----------

fixed comment. The parent ACL is not accessed in this method.

Just fixed a comment on PermissionGrantingStrategy.
hasSufficientPermissions() is not accessing the parent ACL. That's done in isGranted().
2012-11-13 13:50:22 +01:00
Fabien Potencier
e0aab4075f renamed sf-exceptionreset to sf-reset 2012-11-12 18:19:16 +01:00
Tobias Schultze
50e41d2c5c one space too much 2012-11-12 18:02:08 +01:00
Tobias Schultze
5d9a36fe42 small fix and enhancement 2012-11-12 18:00:02 +01:00
Tobias Schultze
7569ee2964 [Routing] removed irrelevant string cast in Route
Even if the passed key is an integer, casting to string won't make any difference in array keys (it remains an int key).
2012-11-12 17:54:27 +01:00
Tobias Schultze
1e1cb13faf [Routing] added more phpdoc and replaced 'array of type' by 'Type[]' 2012-11-12 16:14:50 +01:00
Jörn Lang
b3a8efd6cd fixed comment. The parent ACL is not accessed in this method. 2012-11-12 15:01:47 +01:00
Jacob Dreesen
3881649477 Fixed typo
Fixed a small typo in the docblock
2012-11-12 14:58:31 +01:00
Fabien Potencier
966053069d [HttpKernel] fixed some unit tests 2012-11-12 14:30:42 +01:00
Victor Berchet
e12bd123be [HttpFoundation] Make host & methods really case insensitive in the RequestMacther
and backport changes from 2.2
2012-11-12 13:39:12 +01:00
Tobias Schultze
e120a7acba fix API of RouteCollection 2012-11-12 13:06:49 +01:00
Tobias Schultze
26e56842dc some type fixes 2012-11-12 11:54:32 +01:00
Tobias Schultze
514e27a511 [Routing] fix PhpMatcherDumper that returned numeric-indexed params that are returned besides named placeholders by preg_match 2012-11-12 11:54:32 +01:00
Tobias Schultze
7ed3013a5b switch to array_replace instead of array_merge
we don't need the logic to merge numeric keys, as we don't have them. I could also improve the genrated code by PhpMatcherDumper a little by saving a function call.
2012-11-12 11:54:29 +01:00
Tobias Schultze
94ec653818 removed irrelevant string case in XmlFileLoader
getAttribute() always returns a string
2012-11-12 11:35:46 +01:00
Tobias Schultze
9ffe3de642 synchronize the fixtures in different formats and fix default for numeric requirement 2012-11-12 11:35:46 +01:00
Arnaud Le Blanc
6cd34570d7 fixed CS 2012-11-12 11:35:46 +01:00
Arnaud Le Blanc
8366b8ab27 [Routing] fixed validity check for hostname params in UrlGenerator 2012-11-12 11:35:18 +01:00
Arnaud Le Blanc
a8ce6210b3 [Routing] added support for hostname in the apache matcher dumper 2012-11-12 11:35:18 +01:00
Fabien Potencier
562174a822 [Routing] fixed indentation of dumped collections 2012-11-12 11:14:25 +01:00
Fabien Potencier
1489021552 fixed CS 2012-11-12 11:14:25 +01:00
Fabien Potencier
a270458d40 [Routing] added some more unit tests 2012-11-12 11:14:25 +01:00
Fabien Potencier
153fcf2596 [Routing] added some unit tests for the PHP loader 2012-11-12 11:14:25 +01:00
Fabien Potencier
68da6ad292 [Routing] added support for hostname in the XML loader 2012-11-12 11:14:25 +01:00
Fabien Potencier
3dfca47bcd [Routing] added some unit tests for the YAML loader 2012-11-12 11:14:24 +01:00
Fabien Potencier
92f9c1561b [Routing] changed CompiledRoute signature to be more consistent 2012-11-12 11:14:24 +01:00
Fabien Potencier
d91e5a26a2 [Routing] fixed Route annotation for hostname (should be hostname_pattern instead of hostnamePattern) 2012-11-12 11:14:24 +01:00
Fabien Potencier
62de881ddb [Routing] clarified a variable content 2012-11-12 11:14:24 +01:00
Fabien Potencier
11b4378238 [Routing] added hostname support in UrlMatcher 2012-11-12 11:14:24 +01:00
Fabien Potencier
fc015d5227 [Routing] fixed route generation with a hostname pattern when the hostname is the same as the current one (no need to force the generated URL to be absolute) 2012-11-12 11:14:24 +01:00
Arnaud Le Blanc
805806a1e8 [Routing] added hostname matching support to UrlGenerator 2012-11-12 11:14:24 +01:00
Arnaud Le Blanc
7a15e006e6 [Routing] added hostname matching support to AnnotationClassLoader 2012-11-12 11:14:24 +01:00
Arnaud Le Blanc
cab450c94e [Routing] added hostname matching support to YamlFileLoader 2012-11-12 11:14:24 +01:00
Arnaud Le Blanc
85d11af880 [Routing] added hostname matching support to PhpMatcherDumper 2012-11-12 11:14:24 +01:00
Arnaud Le Blanc
402359ba9d [Routing] added hostname matching support to RouteCompiler 2012-11-12 11:14:24 +01:00
Arnaud Le Blanc
add3658001 [Routing] added hostname matching support to Route and RouteCollection 2012-11-12 11:14:24 +01:00
Arnaud Le Blanc
23feb37a98 [Routing] added hostname matching support to CompiledRoute 2012-11-12 11:14:24 +01:00
Fabien Potencier
f4c05e3fe8 merged branch samuelwilliams/formDoc (PR #5928)
This PR was squashed before being merged into the master branch (closes #5928).

Commits
-------

6a033f3 setData method also accepts objects. Doc should reflect this.

Discussion
----------

setData method also accepts objects. Doc should reflect this.

Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: NA
Todo: None
License of the code: MIT
Documentation PR: None
2012-11-12 10:51:00 +01:00
Sam Williams
6a033f3724 setData method also accepts objects. Doc should reflect this. 2012-11-12 10:50:59 +01:00
Fabien Potencier
8c244e3677 [Routing] updated CHANGELOG 2012-11-12 10:49:09 +01:00
Fabien Potencier
b0994603bb merged branch lyrixx/routing-annot-default-values (PR #5904)
This PR was squashed before being merged into the master branch (closes #5904).

Commits
-------

84adcb1 [2.2][Routing] Added support for default attributes with default values of method params

Discussion
----------

[2.2][Routing] Added support for default attributes with default values of method params

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes

With this patch, you can configure your default values likes this:

``` php
/**
 * @Route("/hi/{name}", name="hi")
 */
public function hiAction($name = "Bob")
{
    return new Response($name);
}
```

---------------------------------------------------------------------------

by Tobion at 2012-11-03T23:15:32Z

I'm unsure. How does one know if that param defines a default value or a requirement? It's too vague.

---------------------------------------------------------------------------

by lyrixx at 2012-11-03T23:35:27Z

It's only a default value, not a requirement.
It's just a shortcut to avoid  `defaults={"name"="bob"}`

---------------------------------------------------------------------------

by Tobion at 2012-11-03T23:43:51Z

Yes, but its not clear. It could also be a shortcut to `requirements={"name"="bob"}`, which has totally different meaning. So it's not self-explanatory.
-1 for me.

---------------------------------------------------------------------------

by lyrixx at 2012-11-03T23:48:21Z

it is the default php behavior. It's a default value for a variable...

---------------------------------------------------------------------------

by stof at 2012-11-04T00:22:58Z

@Tobion using the default value of the method to set a requirement does not make any sense. I don't see why someone would expect this behavior

---------------------------------------------------------------------------

by fabpot at 2012-11-06T10:12:05Z

@lyrixx Can you add some unit tests?

---------------------------------------------------------------------------

by Tobion at 2012-11-06T10:28:42Z

Oh I misunderstood the PR. I thought this makes the `name` param default to `hi`. `@Route("/hi/{name}", name="hi")`. But it's just the name of the route. Your example was easy to misinterpret as you used `name` everywhere.

---------------------------------------------------------------------------

by fabpot at 2012-11-10T08:33:13Z

@lyrixx Can you finish this PR?

---------------------------------------------------------------------------

by lyrixx at 2012-11-10T13:16:34Z

@fabpot Yes i will as soon as possible.

---------------------------------------------------------------------------

by lyrixx at 2012-11-10T18:34:07Z

I rebase and amend my commit. (I changed doc in commit message to be less confusing)

I will try to add tests.
But for now, `AnnotationClassLoader::load` is not really tested, and `AnnotationClassLoader::addRoute` is absolutely not tested. So I think I should add tests for these methods ? And then add tests for my patch.
I will try tomorrow.

---------------------------------------------------------------------------

by lyrixx at 2012-11-11T18:23:41Z

@fabpot I added new tests. I tried to made very atomic commits.
2012-11-12 10:46:50 +01:00
Grégoire Pineau
84adcb1c3e [2.2][Routing] Added support for default attributes with default values of method params 2012-11-12 10:46:49 +01:00
Fabien Potencier
dcef601ad4 merged branch dlsniper/stopwatch (PR #5966)
This PR was merged into the master branch.

Commits
-------

bdf0334 Fixed the lap method. Added upgrade notes. Some CS fixes

Discussion
----------

Fixed the lap method. Added upgrade notes. Some CS fixes

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

This adds some type-hinting to the Stopwatch components.
I've also split the Section class to its own file, I know it's not a must as per coding standards used by Symfony but it complies with most of the other classes in the framework.
I've updated the UPGRADE-2.2.md file as well.

There's a bug fix which I'm not sure it if should have been done in this branch or not.

Let me know if I should make this PR against an older version of the framework.

Thanks.
2012-11-12 10:43:44 +01:00
Fabien Potencier
a0887224bb merged branch arnaud-lb/apache-dumper (PR #5792)
This PR was merged into the master branch.

Commits
-------

c7a8f7a [Routing] fixed possible parameters conflict in apache url matcher

Discussion
----------

[Routing] fixed possible parameters conflict in apache url matcher

Bug fix: yes
Feature addition: no
Backwards compatibility break: no (as long as rewrite rules are generated after upgrading)
Symfony2 tests pass: yes

- This fixes a conflict in route parameters:

  The rewrite rules currently pass route informations through environment variables:

  `_ROUTING_DEFAULT_x`: passes the default value of parameter x
  `_ROUTING__allow_x`: passes the information that method x was allowed for this route
  `_ROUTING_x`: passes the value of parameter x

  The problem is that naming a route parameter `DEFAULT_*` or `_allow_*` would not behave as expected.

  I fixed this by namespacing all environment variables; e.g. parameters are in `_ROUTING_param_*`, defaults in `_ROUTING_default_*`, etc.

- The PR fixes a second issue: sometimes the variables are prefixed with multiple REDIRECT_. This PR handles this case by ignoring them all.

- This also improves performance a little:

  Matching a route with two parameters and two default parameters 100K times: (`$_SERVER` was copied from a real request, so with many non `_ROUTING_` variables)
  master: 6.6s
  this branch: 4.7s

---------------------------------------------------------------------------

by fabpot at 2012-10-27T13:37:24Z

Any news on this PR? Is it mergeable?

---------------------------------------------------------------------------

by arnaud-lb at 2012-10-27T14:50:08Z

There is an issue with default parameter values, I can't find how to fix that in a simple way. Before this PR, default values are never used (if a parameter is an optional not present in the url, the parameter's value is the empty string); after this PR, when a parameter is present and empty (e.g. a requirement like `.*`), its value is set to its default value.

---------------------------------------------------------------------------

by Tobion at 2012-10-29T01:36:08Z

The problem is, it's not consistent with the default php matcher. So one cannot safely exchange it with the apache matcher because it behaves differently under some (special) circumstances.

---------------------------------------------------------------------------

by fabpot at 2012-11-05T08:05:54Z

We need to move forward as I want to merge the hostname support in the routing ASAP to have plenty of time for feedback before the 2.2 release.

Does it sound reasonable to merge this PR as is an open a ticket about the remaining issue (which should not occur that often anyways)?

---------------------------------------------------------------------------

by arnaud-lb at 2012-11-05T09:22:02Z

@fabpot it sounds reasonable to me. Also, I've the hostname support branch is currently rebased so that it can be merged without this one.

---------------------------------------------------------------------------

by Tobion at 2012-11-11T21:50:20Z

Btw, does the ApacheMatcherDumper handle the _scheme requirement? It doesn't look like it. This would be another bug.
Anyway, we can probably merge this PR and open new issues for the remaining bugs.
2012-11-12 10:36:54 +01:00
Fabien Potencier
99ee736b2b merged branch vicb/httpkernel/tests (PR #5985)
This PR was merged into the master branch.

Commits
-------

e32ca2b [HttpKernel] Fix Symfony2 full framework tests

Discussion
----------

[HttpKernel] Fix Symfony2 full framework tests

Fix the path when the full framework is used

---------------------------------------------------------------------------

by fabpot at 2012-11-12T09:08:06Z

When is it broken?

---------------------------------------------------------------------------

by vicb at 2012-11-12T09:18:01Z

now, https://travis-ci.org/symfony/symfony/jobs/3159326
2012-11-12 10:30:29 +01:00
Victor Berchet
e32ca2b827 [HttpKernel] Fix Symfony2 full framework tests 2012-11-12 09:34:19 +01:00
Victor Berchet
2972f3142c [HttpKernel] Changlog update - document a BC break 2012-11-11 18:39:27 +01:00
Igor Wiedler
c659e7858a Make YamlFileLoader and XmlFileLoader file loading extensible
By changing visibility to protected it becomes possible to extend the
loader and cache file contents. phpBB needs this.
2012-11-11 12:59:36 +01:00
Fabien Potencier
b337655feb merged branch vicb/stopwatch (PR #5970)
This PR was squashed before being merged into the master branch (closes #5970).

Commits
-------

d0433b6 [Stopwatch] Get the "real size" used & minor tweaks

Discussion
----------

[Stopwatch] Get the "real size" used & minor tweaks

---------------------------------------------------------------------------

by vicb at 2012-11-11T09:45:50Z

@fabpot @maoueh thanks for your feedback, integrated.
2012-11-11 11:18:42 +01:00
Victor Berchet
d0433b69aa [Stopwatch] Get the "real size" used & minor tweaks 2012-11-11 11:18:42 +01:00
Victor Berchet
f9e8465d1b [HttpKernel] Changelog update 2012-11-11 11:07:37 +01:00
Florin Patan
02315a0b91 Removed duplicate line 2012-11-11 01:16:13 +02:00
Florin Patan
bdf0334434 Fixed the lap method. Added upgrade notes. Some CS fixes 2012-11-10 22:20:20 +02:00
Fabien Potencier
228c9e6613 merged branch vicb/memory (PR #5973)
This PR was merged into the master branch.

Commits
-------

4c0c588 [MemoryDataCollector] Stop being optimistic about memory usage

Discussion
----------

[MemoryDataCollector] Stop being optimistic about memory usage

Take into account the memory used in the kernel.terminate listeners
2012-11-10 19:56:21 +01:00
Fabien Potencier
c184613dcd fixed typo 2012-11-10 19:43:32 +01:00
Victor Berchet
4c0c588a68 [MemoryDataCollector] Stop being optimistic about memory usage
Take into account the memory used in the kernel.terminate listeners
2012-11-10 17:53:14 +01:00
Tobias Schultze
8e6224840e [HttpKernel] fix typo 2012-11-10 11:47:17 +01:00
Fabien Potencier
2a156cf9f4 merged branch fabpot/tests-in-components (PR #5958)
This PR was merged into the master branch.

Commits
-------

b27b749 made usage of Composer autoloader for subtree-split unit tests

Discussion
----------

made usage of Composer autoloader for subtree-split unit tests

This PR also normalizes the way components are tested.

---------------------------------------------------------------------------

by stof at 2012-11-09T23:14:22Z

👍
2012-11-10 09:20:22 +01:00
Fabien Potencier
5bdf8cbaf9 merged branch fabpot/client-streamed-response (PR #5961)
This PR was merged into the 2.1 branch.

Commits
-------

84b760b [HttpKernel] fixed Client when using StreamedResponses (closes #5370)

Discussion
----------

[HttpKernel] fixed Client when using StreamedResponses (closes #5370)
2012-11-10 09:18:00 +01:00
pvanliefland
92849480d3 Fixed singularization of "prices" 2012-11-10 09:15:15 +01:00
Fabien Potencier
a288521204 displayed the full event listener names to avoid name collisions (closes #5019) 2012-11-09 17:27:53 +01:00
Bernhard Schussek
0f75586248 [Form] Removed an exception that prevented valid formats from being passed, e.g. "h" for the hour, "L" for the month etc. 2012-11-09 17:22:53 +01:00
Fabien Potencier
84b760b923 [HttpKernel] fixed Client when using StreamedResponses (closes #5370) 2012-11-09 16:49:48 +01:00
Fabien Potencier
ae61d354c9 merged branch fabpot/response-protocol (PR #5954)
This PR was merged into the 2.1 branch.

Commits
-------

e34fb41 [HttpFoundation] moved the HTTP protocol check from StreamedResponse to Response (closes #5937)

Discussion
----------

[HttpFoundation] moved the HTTP protocol check from StreamedResponse to Response (closes #5937)
2012-11-09 15:00:29 +01:00
matt foster
c2a8a0b8bd [HttpFoundation] fixed PDO session handler for Oracle (closes #5829) 2012-11-09 14:44:15 +01:00
Fabien Potencier
b27b749025 made usage of Composer autoloader for subtree-split unit tests 2012-11-09 14:10:06 +01:00
Fabien Potencier
a30383d12c [Locale] removed a check that is done too early (and it is done twice anyways) 2012-11-09 13:55:40 +01:00
Bilal Amarni
84635bda7f [Form] allowed no type guesser to be registered 2012-11-09 13:51:19 +01:00
Pascal Borreli
235250e192 Fixed case of php function 2012-11-09 10:41:41 +00:00
Fabien Potencier
6b54a51963 moved the Stopwatch classes to their own component 2012-11-09 10:08:25 +01:00
Fabien Potencier
dd23f6c418 merged branch gajdaw/gitattributes-windows (PR #5938)
This PR was merged into the 2.1 branch.

Commits
-------

646a714 Fix export-ignore on Windows

Discussion
----------

Fix export-ignore on Windows

Rules:

    Tests/ export-ignore

don't work on Windows. My proposition is:

    /Tests export-ignore
2012-11-09 09:52:51 +01:00
Hossein Zolfi
275f0946c2 Update src/Symfony/Component/Validator/Resources/translations/validators.fa.xlf
Adding missed localized string.
2012-11-09 09:49:39 +01:00
Hossein Zolfi (Ocean)
8377146ded Adding new localized strings for farsi validation. 2012-11-09 09:49:39 +01:00
Fabien Potencier
e34fb4172c [HttpFoundation] moved the HTTP protocol check from StreamedResponse to Response (closes #5937) 2012-11-09 08:57:59 +01:00
Fabien Potencier
178a73633c merged branch bschussek/issue4359 (PR #5947)
This PR was merged into the 2.1 branch.

Commits
-------

4909bc3 [Form] Fixed forms not to be marked invalid if their children are already marked invalid

Discussion
----------

[Form] Fixed forms not to be marked invalid if their children are already marked invalid

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

This PR prevents unsynchronized forms from being marked invalid if any of their children is also unsynchronized (and thus also marked invalid). Displaying an invalid message twice does not help the user and, if used in conjunction with error bubbling, may lead to duplicate errors (see #4359).
2012-11-09 07:55:23 +01:00
Fabien Potencier
c290776b45 merged branch fabpot/stopwatch (PR #5944)
This PR was merged into the master branch.

Commits
-------

380cf4f [HttpKernel] added memory information in the Stopwatch

Discussion
----------

[HttpKernel] added memory information in the Stopwatch
2012-11-09 07:37:03 +01:00
Fabien Potencier
380cf4f5ec [HttpKernel] added memory information in the Stopwatch 2012-11-09 07:36:10 +01:00
sun
d231b8f16e [ClassLoader] Make ApcClassLoader properly decorate ClassLoader. 2012-11-09 03:26:39 +01:00
Bernhard Schussek
4909bc34b3 [Form] Fixed forms not to be marked invalid if their children are already marked invalid 2012-11-08 19:36:31 +01:00
Fabien Potencier
3d6ca62744 Merge branch '2.0' into 2.1
* 2.0:
  [Form] Excluded some tests in NumberToLocalizedStringTransformerTest which fail on ICU 4.4, but work on ICU 4.8
2012-11-08 18:38:21 +01:00
Fabien Potencier
9c38e768d9 added missing tests from previous merge 2012-11-08 18:03:02 +01:00
Fabien Potencier
e425f6cf9a Merge branch '2.0' into 2.1
* 2.0:
  [Form] Fixed NumberToLocalizedStringTransformer to accept both comma and dot as decimal separator, if possible
  Show correct class name InputArgument in error message
  shows correct class name InputOption in error message
  The exception message should say which field is not mapped
  [HttpFoundation] Fix name sanitization after perfoming move
  Add check to Store::unlock to ensure file exists

Conflicts:
	src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntityValidator.php
	src/Symfony/Component/HttpFoundation/File/UploadedFile.php
	tests/Symfony/Tests/Component/Console/Input/InputArgumentTest.php
	tests/Symfony/Tests/Component/Console/Input/InputOptionTest.php
	tests/Symfony/Tests/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformerTest.php
	tests/Symfony/Tests/Component/HttpFoundation/File/FileTest.php
	tests/Symfony/Tests/Component/HttpKernel/HttpCache/StoreTest.php
2012-11-08 18:02:05 +01:00
Bernhard Schussek
c16d6bf611 [Form] Fixed NumberToLocalizedStringTransformer to throw an exception if numbers contain illegal characters 2012-11-08 17:14:44 +01:00
Bernhard Schussek
dc80385070 [Form] Fixed NumberToLocalizedStringTransformer to accept both comma and dot as decimal separator, if possible 2012-11-08 15:53:08 +01:00
Włodzimierz Gajda
646a714ded Fix export-ignore on Windows 2012-11-08 10:51:48 +01:00
Fabien Potencier
f307ef7637 [Security] updated CHANGELOG 2012-11-08 09:10:55 +01:00
Jeremy Mikola
ded3a8301a [HttpFoundation] Document MongoDbSessionHandler changes 2012-11-06 14:55:32 -05:00
Fabien Potencier
4f1547a811 merged branch fabpot/subscribers (PR #5919)
This PR was merged into the master branch.

Commits
-------

af87c2b changed the Firewall to be a proper subscriber
02bd359 changed the remember-me listener to be a proper subscriber

Discussion
----------

Changed some security classes to implement the EventSubscriberInterface interface

---------------------------------------------------------------------------

by fabpot at 2012-11-06T10:11:28Z

That could also be done in 2.1. What do you think?
2012-11-06 15:23:29 +01:00
Fabien Potencier
c2b70116c2 fixed typo 2012-11-06 12:11:11 +01:00
Fabien Potencier
f3acc069cd merged branch nicoschwartz/translation_transchoice_float_support (PR #5890)
This PR was merged into the master branch.

Commits
-------

55a0fef Float support added for transchoice in the Translation Component

Discussion
----------

Float support added for transchoice in the Translation Component

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT

---------------------------------------------------------------------------

by pborreli at 2012-11-01T23:22:50Z

👍 nice PR
2012-11-06 11:13:36 +01:00
Fabien Potencier
af87c2b00b changed the Firewall to be a proper subscriber 2012-11-06 11:06:32 +01:00
Fabien Potencier
02bd35905e changed the remember-me listener to be a proper subscriber 2012-11-06 11:02:24 +01:00
Jeremy Mikola
1d3ecd373f Revise Mongo session storage
* Default to _id for storing session ID
 * Use MongoDate instead of MongoTimestamp (BC break)
 * Rename default field names ("sess_" is redundant)
 * "justOne" is redundant for session removal
 * Assert true return values in method tests
 * Add note about TTL collections for gc()
 * Don't set identifier in upsert (invalid behavior)
2012-11-06 10:46:54 +01:00
Fabien Potencier
f32395af69 merged branch fabpot/401-status-code (PR #5882)
This PR was merged into the master branch.

Commits
-------

e193590 [Security] removed the 401 error custom status message

Discussion
----------

[Security] removed the 401 error custom status message

see fabpot/Silex#496

---------------------------------------------------------------------------

by pborreli at 2012-10-31T17:29:24Z

@fabpot please fix the test suite, if you don't know how to do it, read http://symfony.com/doc/current/contributing/code/tests.html, thx 😸
2012-11-06 09:23:46 +01:00
Fabien Potencier
e67893984c merged branch alias-mac/ticket_5897 (PR #5907)
This PR was merged into the master branch.

Commits
-------

73bb47b [Console] Fix #5897 - Console component require Shell component

Discussion
----------

[Console] Fix #5897 - Console component require Shell component

When setting the process isolation of a shell to true:
`setProcessIsolation(true)` throw a `\RuntimeException` if the Process component isn't available.

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

---------------------------------------------------------------------------

by alias-mac at 2012-11-04T17:07:59Z

I noticed that there is no Unit Testing for the Shell class. Shall I create one with the test for this fix/bug request?

---------------------------------------------------------------------------

by alias-mac at 2012-11-06T01:58:40Z

Updated based on @stof comments.

---------------------------------------------------------------------------

by alias-mac at 2012-11-06T02:11:20Z

The travis-ci build failure as nothing to do with the code. See:
https://travis-ci.org/#!/symfony/symfony/jobs/3076345
2012-11-06 09:19:04 +01:00
Fabien Potencier
e19359060f [Security] removed the 401 error custom status message 2012-11-06 09:15:19 +01:00
Filipe Guerra
73bb47b6c5 [Console] Fix #5897 - Console component require Shell component
When setting the process isolation of a shell to true:
`setProcessIsolation(true)` throw a `\RuntimeException` if the Process component isn't available.
2012-11-06 02:56:20 +01:00
Pablo Godel
9aec4c8d04 Show correct class name InputArgument in error message 2012-11-05 14:52:03 -05:00
Fabien Potencier
53fad04f3e merged branch jfsimon/accept-header-parsing (PR #5841)
This PR was squashed before being merged into the master branch (closes #5841).

Commits
-------

6b601bd [http-foudation] Better accept header parsing

Discussion
----------

[http-foudation] Better accept header parsing

Bug fix: no
Feature addition: yes
Backwards compatibility break: yes
Symfony2 tests pass: yes

**Quality:**
The special `q` item attribute represents its quality. I had to make some choices:
*  if I set `q` attribute, it's assigned to quality property, but not to attributes
*  the `__toString()` method only render `q` attribute if quality is less than 1

**BC break:**
The return of `Request::splitHttpAcceptHeader()` has changed. It's result was an array of qualities indexed by an accept value, it now returns an array of `AcceptHeaderItem` indexed by its value.

---------------------------------------------------------------------------

by jfsimon at 2012-10-26T08:35:55Z

As dicussed in https://github.com/symfony/symfony/pull/5711.

---------------------------------------------------------------------------

by Seldaek at 2012-10-27T10:35:49Z

Maybe you can pull 5e8a5267f6 into your branch (for some reason I can't send a PR to your repo, it doesn't show up in github's repo selector.. looks like they don't like projects with too many forks). It allows you to use usort() which hopefully is faster than your merge sort, though I did not bench it. I also added tests to confirm the functionality.

---------------------------------------------------------------------------

by Seldaek at 2012-10-27T10:40:27Z

Sorry please check 376dd93c56 instead, I missed a few tests in the RequestTest class.

---------------------------------------------------------------------------

by jfsimon at 2012-10-29T16:26:03Z

@fabpot do you think the introduced BC break is acceptable?

---------------------------------------------------------------------------

by fabpot at 2012-10-29T16:37:06Z

@jfsimon Are all getAccept*() method BC?

---------------------------------------------------------------------------

by jfsimon at 2012-10-29T16:39:26Z

@fabpot nope, just `Request::splitHttpAcceptHeader()`

---------------------------------------------------------------------------

by jfsimon at 2012-10-29T16:43:18Z

@fabpot I think missunderstood... only `Request::splitHttpAcceptHeader()` breaks BC.

---------------------------------------------------------------------------

by fabpot at 2012-10-29T16:53:22Z

So, a BC break on just splitHttpAcceptHeader is possible... but should be documented properly. Another option would be to deprecate the current method (and keep it as is), and just use the new version everywhere. Sounds better as it won"t introduce any BC breaks.

---------------------------------------------------------------------------

by jfsimon at 2012-10-29T16:55:57Z

@fabpot Okay, I'll update this PR according to your second option.

---------------------------------------------------------------------------

by jfsimon at 2012-10-29T20:14:46Z

@fabpot done.

As you can see here: https://github.com/symfony/symfony/pull/5841/files#L5L1029 value returned by `Request::splitHttpAcceptHeader()` is not **exactly** the same as before because all attributes are present (not only those before the `q` one).

---------------------------------------------------------------------------

by fabpot at 2012-10-30T06:16:23Z

The last thing missing before I can merge is a PR to update the documentation (should probably be just a note somewhere with the example you have in the UPGRADE file).

---------------------------------------------------------------------------

by jfsimon at 2012-10-30T07:07:08Z

@fabpot I could add this example here: http://symfony.com/doc/current/components/http_foundation/introduction.html#request after `Accessing the session`, what do you think?

---------------------------------------------------------------------------

by fabpot at 2012-10-30T07:14:10Z

Yes, looks good to me.
2012-11-05 12:25:18 +01:00
Jean-François Simon
6b601bd9a6 [http-foudation] Better accept header parsing 2012-11-05 12:25:18 +01:00
Fabien Potencier
275cf8cf00 removed unused use statements 2012-11-04 09:30:21 +01:00
Fabien Potencier
21cb792607 Merge branch '2.1'
* 2.1:
  removed unused use statements
  [Form] Adapted HTML5 format in DateTimeType as response to a closed ICU ticket
  [2.1][HttpFoundation] Fixed Php doc in Request::get
  bumped Symfony version to 2.1.4-DEV
  updated VERSION for 2.1.3
  update CONTRIBUTORS for 2.1.3
  updated CHANGELOG for 2.1.3
  merged branch jakzal/yamlDoubleQuotesDumperFix (PR #4320)

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2012-11-04 09:29:56 +01:00
Fabien Potencier
3d99374014 removed unused use statements 2012-11-04 09:29:19 +01:00
Pablo Godel
762649f5c3 shows correct class name InputOption in error message 2012-11-03 23:51:02 -04:00
Fabien Potencier
313e4e5fd6 merged branch lyrixx/fix-request-get (PR #5894)
This PR was merged into the 2.1 branch.

Commits
-------

b9f6cac [2.1][HttpFoundation] Fixed Php doc in Request::get

Discussion
----------

[2.1][HttpFoundation] Fixed Php doc in Request::get

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT

According to php code, `Request::get` method does not seek in cookies.

---------------------------------------------------------------------------

by pborreli at 2012-11-02T11:02:26Z

your PR is full of reSquest typo :)

---------------------------------------------------------------------------

by lyrixx at 2012-11-02T11:25:31Z

@pborreli Fixed
2012-11-02 19:00:55 +01:00
Bernhard Schussek
a0af8bfb5b [Form] Adapted HTML5 format in DateTimeType as response to a closed ICU ticket 2012-11-02 14:54:19 +01:00
Grégoire Pineau
b9f6cac033 [2.1][HttpFoundation] Fixed Php doc in Request::get 2012-11-02 12:13:22 +01:00
Nicolas Schwartz
55a0fef233 Float support added for transchoice in the Translation Component 2012-11-01 23:19:52 +01:00
Samy Dindane
b5506777ea [Finder] Fix the BSD adapter 2012-11-01 15:42:22 +01:00
Jean-François Simon
24012743b8 [Finder] Added bsd adapter (need tests). 2012-10-30 20:49:01 +01:00
Fabien Potencier
297e00afb4 bumped Symfony version to 2.1.4-DEV 2012-10-30 10:44:33 +01:00
Fabien Potencier
fd36aa0605 updated VERSION for 2.1.3 2012-10-30 09:14:14 +01:00
Fabien Potencier
f61457d82b [Finder] updated CHANGELOG 2012-10-30 07:06:51 +01:00
Jean-François Simon
4e21bf273d [Finder] Added path & notPath support to gnu find adapter. 2012-10-29 19:57:16 +01:00
Jean-François Simon
6258d1203b [Finder] Fixed expression classes. 2012-10-29 19:56:47 +01:00
Jean-François Simon
5c6dbebf04 [Finder] Fixed tests. 2012-10-29 19:55:27 +01:00
Włodzimierz Gajda
c36dfc16e6 [Component][Finder] ->path(), ->notPath() methods (with basic tests) 2012-10-29 18:19:41 +01:00
Fabien Potencier
2a23dbdeb6 [HttpKernel] fixed some broken tests 2012-10-29 18:07:35 +01:00
Ben Ramsey
4e826c7486 [HttpKernel] added some more HTTP exceptions 2012-10-29 17:11:00 +01:00
Fabien Potencier
c4c5d3c02d merged branch jakzal/yamlDoubleQuotesDumperFix (PR #4320)
Commits
-------

b631073 [Yaml] Fixed double quotes escaping in Dumper.

Discussion
----------

[Yaml] Fixed double quotes escaping in Dumper

Issue #4308 is caused by Dumper::escapeWithDoubleQuotes() which uses [str_replace()](http://php.net/str_replace).

From the php docs:

> Because str_replace() replaces left to right, it might replace a previously inserted value when doing multiple replacements.

We should be very careful in deciding about the order of elements in $escapees array. I'd really appreciate if someone reviewed my fix. Tests say I didn't break anything but I'm not sure what percentage of Yaml specification is covered by tests.

Bug fix: yes
Feature addition: no
Backwards compatibility break: not that I know
Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/jakzal/symfony.png?branch=yamlDoubleQuotesDumperFix)](http://travis-ci.org/jakzal/symfony)
Fixes the following tickets: #4308

---------------------------------------------------------------------------

by travisbot at 2012-05-18T08:53:51Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1364279) (merged 5192722c into a04acc89).

---------------------------------------------------------------------------

by travisbot at 2012-05-18T23:19:49Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1371539) (merged ecaa1aab into fc3c609b).

---------------------------------------------------------------------------

by dinamic at 2012-05-19T07:35:21Z

Something is really wrong with this method. You can see clearly that multiple characters would fail proper escaping.

Here's an example:
```
$value = '\\\\"some value\n \"some quoted string\" and \'some single quotes one\'"';
var_dump(Escaper::escapeWithDoubleQuotes($value));
string(72) ""\\\"some value\n \\some quoted string\\ and 'some single quotes one'\"""
```

To begin with the backslash - in the initial value you have 2 (escaped ones), that after escaping should result in 4, not in 1 (escaped). I guess this behavior has to be verified with the importer, but imho it does not seem right.

Does anyone know why this escaping wasn't done using a regular expression in first place?

---------------------------------------------------------------------------

by clemens-tolboom at 2012-05-19T10:18:58Z

Searching for https://duckduckgo.com/?q=what+is+\xc2\x85 the table on http://stackoverflow.com/questions/6609895/efficiently-replace-bad-characters is interesting enough to decide we need way more documentation on this file.

\xc2\x85 seems to be triple dot (ellipses)
\xe2\x80\xa9 seems to be paragraph separator see http://drupal.org/node/914360#comment-3468550

Conflicts:
	src/Symfony/Component/Yaml/Escaper.php
2012-10-29 12:15:41 +01:00
Fabien Potencier
7322696378 merged branch niklasf/binary-file-response (PR #4546)
This PR was merged into the master branch.

Commits
-------

2f7bbbf [HttpFoundation] Added BinaryFileResponse.

Discussion
----------

[2.2] [HttpFoundation] Added BinaryFileResponse.

Another stab at #3602, based on @stealth35's code at https://gist.github.com/1472230.

- Move things around a little, clean things up, looking how it has been done in StreamedResponse.
- Add tests.
- Make functions chainable.
- Add a flag whether or not to trust the X-Sendfile-Type header.

---------------------------------------------------------------------------

by Partugal at 2012-06-10T19:56:43Z

What about support X-Accel-Redirect (nginx)?

---------------------------------------------------------------------------

by niklasf at 2012-06-10T20:41:10Z

@Partugal: So we support X-Sendfile-Type to pick the X-Sendfile header. What else would be needed to support X-Accel-Redirect (which we should definitely do)?

---------------------------------------------------------------------------

by Partugal at 2012-06-10T21:29:41Z

@niklasf Because nginx not use full file path, this need X-Accel-Mapping header (http://rack.rubyforge.org/doc/Rack/Sendfile.html)

---------------------------------------------------------------------------

by niklasf at 2012-06-10T22:45:38Z

@Partugal: Alright. Doing such a substitution now. Also added a test for that.

---------------------------------------------------------------------------

by stealth35 at 2012-06-11T07:47:35Z

I think the MIME should be base on the extensions map, for an example with `xlsx` that send an `application/zip` or a `xlsx` file MIME is `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`

Client to server : Reverve MIME => libmagic
Server to client : MIME => MIME map

---------------------------------------------------------------------------

by niklasf at 2012-06-11T14:40:00Z

@partugal: Thanks! Also added tests. Any e-mail you want to have in your credits?

---------------------------------------------------------------------------

by niklasf at 2012-06-11T14:41:39Z

@stealth35: Yeah ... makes sense. How would I get that information?

---------------------------------------------------------------------------

by stealth35 at 2012-06-11T14:47:36Z

use the `Symfony\Component\HttpFoundation\File\Mimetype\MimeTypeExtensionGuesser` it's the same map as Apache
and if the extension don't exists use `$this->getMimeType` and finaly `application/octet-stream`

---------------------------------------------------------------------------

by Partugal at 2012-06-11T15:46:41Z

@niklasf Thanks you for your work
If needed you may use linniksa@gmail.com

---------------------------------------------------------------------------

by niklasf at 2012-06-14T10:58:19Z

@stealth35: Sorry. I have to ask again.
 - So the first step would be using the map in `MimeTypeExtensionGuesser`? I don't see how I can access that, because the `guess()` method it has, is for guessing extensions from mime types, not the reverse.
 - Then, by `$this->getMimeType` you mean the getMimeType() method of the file? Sounds good.
 - `application/octet-stream` as the fallback. Alright.

---------------------------------------------------------------------------

by stealth35 at 2012-06-14T11:00:33Z

Yeah sorry `MimeTypeExtensionGuesser` is for getting an extension with the Mime, forget about this, i'll take care aboute all MIME intégration later

---------------------------------------------------------------------------

by niklasf at 2012-06-14T13:12:22Z

@stealth35: Awesome. Thanks a lot.

---------------------------------------------------------------------------

by jalliot at 2012-08-07T20:53:54Z

@niklasf You should backport the changes from 532334d23d and 3f51bc0a3d

---------------------------------------------------------------------------

by niklasf at 2012-08-07T21:07:10Z

@jalliot Thanks. Fixed.
2012-10-29 11:57:31 +01:00
Fabien Potencier
0f5af869c8 merged branch jfsimon/issue-5851 (PR #5859)
This PR was merged into the master branch.

Commits
-------

2817a47 [Finder] Fixed filename containing space bug in gnu adapter.
9bf7cb0 [Finder] Added filename containing space to tests.

Discussion
----------

[Finder] Fixed filename containing space bug in gnu find adapter.

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes: #5851

`GNU find` adapter now uses `cut` instead of `awk`.
2012-10-29 09:27:03 +01:00
Jean-François Simon
2817a47367 [Finder] Fixed filename containing space bug in gnu adapter. 2012-10-29 08:03:45 +01:00
Jean-François Simon
9bf7cb0941 [Finder] Added filename containing space to tests. 2012-10-29 07:51:09 +01:00
Pascal Borreli
a7ce6be3f8 Fixed typos 2012-10-28 23:25:34 +00:00
Fabien Potencier
9681973676 merged branch acasademont/tweak_userform_security_listener (PR #5824)
This PR was merged into the master branch.

Commits
-------

3e58893 [Security] Tweak UsernamePasswordFormAuthenticationListener

Discussion
----------

[Security] Tweak UsernamePasswordFormAuthenticationListener

Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/acasademont/symfony.png)](http://travis-ci.org/acasademont/symfony)
Fixes the following tickets: -
Todo: -
License of the code: MIT
Documentation PR: -

Improvements:

- Do not check twice for the ```only_post``` condition. The condition in the ```attemptAuthentication``` method is useless as this method will never be called if the previous ```requiresAuthentication``` call returns false.
- If the expected request is ```only_post```, check only the POST variables for the username and password parameters. Otherwise, query params and attributes are checked before.
- Use POST instead of post for correctness
2012-10-28 10:19:54 +01:00
Fabien Potencier
1f1beb1ceb [Security] fixed tests when OpenSSL is not installed 2012-10-28 09:01:53 +01:00
Fabien Potencier
d21584ec68 merged branch fabpot/prng (PR #4763)
This PR was merged into the master branch.

Commits
-------

aecc9b1 fixed tests when OpenSsl is not enabled in PHP, renamed a missnamed test, added missing license doc blocks
ca567b5 fixed CS
5cdf696 added a SecureRandomInterface
234f725 rename String to StringUtils
5849855 moved the secure random dep for remember me as a constructor argument
248703f renamed Prng to SecureRandom
c0c8972 simplified the Prng code
e5dc7af moved the secure random class from JMSSecurityExtraBundle to Symfony (closes #3595)

Discussion
----------

[2.2][Security] Add a PRNG (closes #3595)

As per #3595, I have moved the secure random class from JMSSecurityExtraBundle to Symfony.

It has more impact than I expected ;)

As you will see, the implementation has been refactored a bit. The most notable change is that Doctrine support has been moved to the bridge with the addition of a proper Doctrine seed provider (Doctrine is not a special case anymore).

The Doctrine configuration has been moved to the DoctrineBundle: doctrine/DoctrineBundle#91

schmittjoh/JMSSecurityExtraBundle#65 removes the code that has been moved.

---------------------------------------------------------------------------

by Seldaek at 2012-07-05T13:26:01Z

I'm all for more security features, and both the String class & the Prng class for wrapping openssl make a lot of sense IMO, but I fail to see the use of the rest.

If we just want a seed to have a fallback in case openssl is missing, I'd rather have a secret in the config.yml than a million classes to store the same secret in the DB. Maybe I'm missing something though? /cc @schmittjoh

---------------------------------------------------------------------------

by schmittjoh at 2012-07-05T16:32:10Z

Having the configuration in different places (SecurityBundle & DoctrineBundle) feels a bit weird. I would prefer an approach similar to ACL, or the user provider/firewall section with factories. The latter being a bit more work to implement and the former potentially asking for complaints about too tight coupling to Doctrine.

Regarding testing, we probably need to move the disableOpenSsl method to the SecureRandom class in order to allow OpenSSL to be disabled for testing and we also need to change the byte generation algorithm to produce the same output for the same starting seed. I agree that it does not make sense to introduce an interface for SecureRandom as only the seed providers should be replaced.

As for the seed itself, it is constantly updated and does not stay the same as in the beginning. Thus, we need a provider that we can write to, and not only read from. I'm also not sure about using OpenSSL on Windows as I have read enough resources which claimed that the entropy on Windows is not always good (including OpenSSL docs). Always using the custom seed provider at least always ensured proper entropy even if OpenSSL's speed issues have been fixed in newer PHP versions.

---------------------------------------------------------------------------

by stof at 2012-07-05T16:44:24Z

@schmittjoh everything is in SecurityBundle now as it does not use a database anymore

---------------------------------------------------------------------------

by stof at 2012-07-05T16:44:59Z

and there is no seed provider anymore either

---------------------------------------------------------------------------

by schmittjoh at 2012-07-05T16:53:39Z

Not having a seed provider is not such a good idea, but having a file-based seed provider is.

---------------------------------------------------------------------------

by Seldaek at 2012-07-05T17:01:18Z

@schmittjoh why would you need to replace the seed provider? Don't you think that people serious about security to the point that they would want a stronger seed provider would enable openssl instead?

---------------------------------------------------------------------------

by stof at 2012-07-05T17:06:50Z

Well, what I meant is that there is no interchangeable provider anymore. The Prng class uses the file directly.

And btw, I think the Prng class should be mockable for tests, so it should either have an interface or not be final (I vote for adding an interface)

---------------------------------------------------------------------------

by jalliot at 2012-07-09T18:46:12Z

@fabpot @schmittjoh What about using more fallbacks for `openssl_random_pseudo_bytes` like in @Seldaek's post ["Unpredictable hashes for humans"](http://seld.be/notes/unpredictable-hashes-for-humans)?
Trying `mcrypt_create_iv` first might also be faster.

---------------------------------------------------------------------------

by Seldaek at 2012-07-10T08:52:46Z

@jalliot I think mcrypt should be after if you make it use /dev/urandom, not 100% sure but openssl is probably higher quality than urandom.

---------------------------------------------------------------------------

by schmittjoh at 2012-07-10T09:12:07Z

The fallback algorithm that I added should be enough (it passes the
statistical randomness tests).

On Tue, Jul 10, 2012 at 10:52 AM, Jordi Boggiano <
reply@reply.github.com
> wrote:

> @jalliot I think mcrypt should be after if you make it use /dev/urandom,
> not 100% sure but openssl is probably higher quality than urandom.
>
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/symfony/symfony/pull/4763#issuecomment-6870145
>

---------------------------------------------------------------------------

by stof at 2012-10-13T17:20:06Z

@fabpot please send a PR to the doc so that this can be merged 😃

---------------------------------------------------------------------------

by stof at 2012-10-13T17:22:08Z

hmm, actually, some comments have not been taken into account yet so it is not ready to be merged

---------------------------------------------------------------------------

by stof at 2012-10-27T07:14:43Z

you forgot the SecureRandom file

---------------------------------------------------------------------------

by fabpot at 2012-10-27T08:49:54Z

I think I've addressed all the comments. If everyone agree with the current implementation, I'm going to start updating the documentation.

---------------------------------------------------------------------------

by fabpot at 2012-10-27T10:51:15Z

I've fixed the remaining CS issues.

---------------------------------------------------------------------------

by fabpot at 2012-10-28T07:00:31Z

Documentation is here: symfony/symfony-docs#1858
2012-10-28 08:10:00 +01:00
Fabien Potencier
aecc9b12a3 fixed tests when OpenSsl is not enabled in PHP, renamed a missnamed test, added missing license doc blocks 2012-10-28 08:06:38 +01:00
Fabien Potencier
ca567b5109 fixed CS 2012-10-28 08:06:38 +01:00
Fabien Potencier
5cdf696bde added a SecureRandomInterface 2012-10-28 08:06:38 +01:00
Fabien Potencier
234f7255bb rename String to StringUtils 2012-10-28 08:06:37 +01:00
Fabien Potencier
5849855eb9 moved the secure random dep for remember me as a constructor argument 2012-10-28 08:06:37 +01:00
Fabien Potencier
248703f6d8 renamed Prng to SecureRandom 2012-10-28 08:06:33 +01:00
Fabien Potencier
c0c89724b0 simplified the Prng code 2012-10-28 08:03:05 +01:00
Fabien Potencier
e5dc7afe90 moved the secure random class from JMSSecurityExtraBundle to Symfony (closes #3595) 2012-10-28 08:03:00 +01:00
Fabien Potencier
a2a60c194b merged branch helios-ag/patch (PR #5496)
This PR was squashed before being merged into the 2.0 branch (closes #5496).

Commits
-------

9872d26 [HttpFoundation] Fix name sanitization after perfoming move

Discussion
----------

[HttpFoundation] Fix name sanitization after perfoming move

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #2577
License of the code: MIT

Further work on #2577, fixes name sanitization, after moving file name with new name with non latin characters in the beginning.

---------------------------------------------------------------------------

by stloyd at 2012-09-12T09:52:05Z

You must revert chmod changes.

---------------------------------------------------------------------------

by helios-ag at 2012-09-12T14:30:36Z

@stloyd fixed

---------------------------------------------------------------------------

by stof at 2012-10-13T21:12:43Z

@fabpot what is the status of this PR ?
2012-10-27 21:28:00 +02:00
Al Ganiev
9872d26c9c [HttpFoundation] Fix name sanitization after perfoming move 2012-10-27 21:28:00 +02:00
Fabien Potencier
4cefb62f0a updated CHANGELOG 2012-10-27 18:57:10 +02:00
Fabien Potencier
e44141162e merged branch merk/card-scheme-validator (PR #5072)
This PR was merged into the master branch.

Commits
-------

e2aa79b Added CardScheme validator

Discussion
----------

[2.2] [Validator] Added CardScheme validator

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets:
Todo: Adding documentation
License of the code: MIT

CardScheme separated into its own PR from #4734 as requested by @fabpot

---------------------------------------------------------------------------

by fabpot at 2012-10-05T17:08:24Z

As far I understand the discussion on #4734, a few people seemed to be concerned about the usefulness of adding such a validator in Symfony core. Anyone wanting to give his point of view? Personally, I'm -0 on merging this.

---------------------------------------------------------------------------

by merk at 2012-10-05T22:27:05Z

There are circumstances where such logic is required, and it could be desired by the programmer to filter out valid cards for a payment gateway before sending a request.

However, this is already included in JMSPaymentBundle if people don't think it should be in core.
2012-10-27 18:56:40 +02:00
Fabien Potencier
ef26a2185e [Process] added unit tests, phpdoc, and reorganized methods from previous merge 2012-10-27 18:54:34 +02:00
Fabien Potencier
41cb44bdac merged branch boombatower/process-status-5453 (PR #5455)
This PR was squashed before being merged into the master branch (closes #5455).

Commits
-------

7ea2f76 [process] expose the process status.

Discussion
----------

[process] expose the process status.

Pull request for issue #5453.

---------------------------------------------------------------------------

by pborreli at 2012-09-07T07:30:01Z

👍

---------------------------------------------------------------------------

by drak at 2012-09-21T18:53:14Z

This PR is missing the patch header in the description https://github.com/symfony/symfony-docs/blob/master/contributing/code/patches.rst#make-a-pull-request

---------------------------------------------------------------------------

by stof at 2012-10-13T21:25:04Z

@boombatower can you update the PR according to my comments and add some tests ?
2012-10-27 18:47:38 +02:00
boombatower
7ea2f76266 [process] expose the process status. 2012-10-27 18:47:38 +02:00
Fabien Potencier
d4c011d56d merged branch dirkaholic/master (PR #5638)
This PR was squashed before being merged into the master branch (closes #5638).

Commits
-------

98b68c2 [2.2][Console] Add possibility to add new input options to console application

Discussion
----------

[2.2][Console] Add possibility to add new input options to console application

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

At the moment it is not possible to overwrite the input arguments of a console application to not have the default ones. Adding is possible with:

$cli->getDefinition()->addOption(new InputOption('--custom', '-c', InputOption::VALUE_NONE, 'Use custom option.'));

Also added some simple tests for adding a custom HelperSet.

---------------------------------------------------------------------------

by dirkaholic at 2012-10-04T06:29:57Z

OK, is a bit inconsistent with what it's done with the helper set then, where you can use both ways. New PR for the tests is the referenced one.

---------------------------------------------------------------------------

by stof at 2012-10-04T18:57:42Z

@dirkaholic Can you rebase your branch (it conflicts with master) and squash your commit together ?

http://symfony.com/doc/current/contributing/code/patches.html#rework-your-patch may help you if you don't know how to do it

---------------------------------------------------------------------------

by dirkaholic at 2012-10-04T19:53:09Z

Done.

---------------------------------------------------------------------------

by stof at 2012-10-04T21:40:53Z

@dirkaholic the rebase worked fine but you have not squashed the commits together.

---------------------------------------------------------------------------

by dirkaholic at 2012-10-05T05:35:30Z

What do you mean ? Only the setDefinition function plus test is left here. The rest was already merged with https://github.com/symfony/symfony/issues/5668

---------------------------------------------------------------------------

by stof at 2012-10-05T10:48:53Z

@dirkaholic Squashing is about making the PR use only 1 commit instead of 2 (the second one changing only some whitespaces, which is not what its message says). But @fabpot told me that he improved his merging tool and so he can squash it when merging so it is OK.
2012-10-27 18:40:54 +02:00
Dirk Pahl
98b68c29ce [2.2][Console] Add possibility to add new input options to console application 2012-10-27 18:40:53 +02:00
Fabien Potencier
bdb5275da1 merged branch daum/master (PR #5601)
This PR was squashed before being merged into the master branch (closes #5601).

Commits
-------

7914d95 [HttpFoundation] UploadedFile: Added ability to the original extension of the file uploaded

Discussion
----------

[HttpFoundation] UploadedFile: Added ability to the original extension of the file uploaded

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT
Fixes the following tickets: #5599
Todo: -

`$file->getExtension()` on uploaded files always will return blank as the temp file names do not have an extension. This adds `$file->getClientOriginalExtension()` which returns the extension based off the original file name. It also includes a test to check this function.

---------------------------------------------------------------------------

by daum at 2012-09-25T21:54:00Z

@stof just pushed updated doc block and spacing fix.

---------------------------------------------------------------------------

by stof at 2012-10-13T21:47:17Z

@fabpot anything missing to merge it ?
2012-10-27 18:37:40 +02:00
Matt Daum
7914d957f0 [HttpFoundation] UploadedFile: Added ability to the original extension of the file uploaded 2012-10-27 18:37:39 +02:00
Fabien Potencier
649872be85 merged branch jonathaningram/issue_5375 (PR #5376)
This PR was merged into the 2.0 branch.

Commits
-------

a094f7e Add check to Store::unlock to ensure file exists

Discussion
----------

[2.0] [HttpKernel] Add check to Store::unlock to ensure file exists

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes

I was seeing this error in my logs when using an `AppCache`:

```
Error 2: /var/www/beta.example.com/shared/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpCache/Store.php line 92: unlink(/var/www/beta.example.com/releases/20120827020525/app/cache/beta/http_cache/md/c2/88/66a911b5266a57bdd55131a47895b8861dfd.lck): No such file or directory
```

It was only occurring when the `http_cache` file was being primed (i.e. first load).

I've added a simple check to ensure that the file is a valid file before trying to unlink. I also added a missing `@return` docblock. Note: I've chosen to return `false` if the file does not exist as this seems to be the behaviour of the `purge` method.

---------------------------------------------------------------------------

by jonathaningram at 2012-08-29T06:46:52Z

@henrikbjorn done and rebased. Thanks.

---------------------------------------------------------------------------

by jonathaningram at 2012-09-17T22:38:47Z

@henrikbjorn any news on this one? It's currently not possible to use the HTTP Cache without the first request failing.

---------------------------------------------------------------------------

by jonathaningram at 2012-09-25T01:28:38Z

ping @fabpot sorry to keep pushing this, but any chance you could take a look at this?
2012-10-27 18:34:13 +02:00
Fabien Potencier
da1b635d87 merged branch msonnabaum/httpcache_store_locking_fixes (PR #5381)
This PR was squashed before being merged into the master branch (closes #5381).

Commits
-------

0f3126f Added lockExists to Store interface, fixed locking bugs, added tests.

Discussion
----------

Added lockExists to Store interface, fixed locking bugs, added tests.

While working on Drupal's HttpCache implementation, I discovered that the base HttpCache class does an is_file to check for a lock, which assumes a file-based cache is being used. This seems like a mistake since the rest of the Store interface is easily swappable. I added a lockExists method so that this is properly abstracted.

I also noticed there were no tests for the change I made, so I added some very basic locking tests. While adding those I found that the existing lock method is a bit broken. This line here:

```php
<?php

if (false !== $lock = @fopen($path = $this->getPath($this->getCacheKey($request).'.lck'), 'x')) {
```

will return false if the file couldn't be written for any reason, but the rest of the method assumes that if $lock == false, the lock exists already. So if the file couldnt be written due to the parent directory not existing, $path will be returned as if it exists, which is clearly not the desired behavior.

I changed this to return false if the file couldnt be written and doesn't exist, $path if it exists, and true if the lock was created. It still doesn't feel great to have bool|string return values, but that's the best I could come up with atm. I also added a check for the parent directory that creates it if it doesn't exist. The new tests fail without it.

I also broke out that code a bit as it was very difficult to read.

---------------------------------------------------------------------------

by henrikbjorn at 2012-08-30T09:11:16Z

Symfony have a editorconfig file which set the correct indentation settings. http://editorconfig.org/

---------------------------------------------------------------------------

by msonnabaum at 2012-08-30T13:00:20Z

Updated based on stof's feedback.

---------------------------------------------------------------------------

by msonnabaum at 2012-08-30T13:21:40Z

Fixed based on code style feedback.

---------------------------------------------------------------------------

by jonathaningram at 2012-09-05T12:29:47Z

@msonnabaum, this seems to be distantly related to my recent PR too: #5376.

---------------------------------------------------------------------------

by stof at 2012-10-13T20:35:55Z

@fabpot anything left to merge this ?

---------------------------------------------------------------------------

by catch56 at 2012-10-23T16:42:10Z

This looks great to me, Couldn't find anything to complain about.
2012-10-27 18:31:07 +02:00
Mark Sonnabaum
0f3126f397 Added lockExists to Store interface, fixed locking bugs, added tests. 2012-10-27 18:31:06 +02:00
Fabien Potencier
7b998d9b2d Merge branch '2.1'
* 2.1:
  [ClassLoader] fixed unbracketed namespaces (closes #5747)
  slight refactoring in UrlMatcher
  [Form] Created test for DoctrineOrmTypeGuesser see #5790
  [Form] Fixed DoctrineOrmTypeGuesser to guess the "required" option for to-one associations
2012-10-27 17:59:37 +02:00
Fabien Potencier
43aa20fcb6 Merge branch '2.0' into 2.1
* 2.0:
  [ClassLoader] fixed unbracketed namespaces (closes #5747)

Conflicts:
	src/Symfony/Component/ClassLoader/ClassCollectionLoader.php
	tests/Symfony/Tests/Component/ClassLoader/ClassCollectionLoaderTest.php
2012-10-27 17:59:21 +02:00
Fabien Potencier
6f15c4780f [ClassLoader] fixed unbracketed namespaces (closes #5747) 2012-10-27 17:55:46 +02:00
Fabien Potencier
7adee1aeb2 [ClassLoader] added some tests for previous merge 2012-10-27 17:07:38 +02:00
Fabien Potencier
537760f058 merged branch bamarni/classcollectionloader-globalnamespace (PR #5120)
This PR was merged into the master branch.

Commits
-------

adeadfb fixed comment striping on global namespace classes

Discussion
----------

[ClassCollectionLoader] fixed comment striping on global namespace classes

previously #4792, I've removed the multiple blank lines removal not to break heredocs.

---------------------------------------------------------------------------

by stof at 2012-10-13T18:04:56Z

@fabpot is there anything left to merge this ?

---------------------------------------------------------------------------

by bamarni at 2012-10-14T11:47:23Z

I've added a space when faking a namespace, so that it stils works without the tokenizer (if #5747 gets merged)
2012-10-27 17:04:59 +02:00
Fabien Potencier
d7a02b5433 [Process] fixed previous merge 2012-10-27 15:48:18 +02:00
Fabien Potencier
453ff1af76 [Process] updated the CHANGELOG 2012-10-27 15:46:00 +02:00
Fabien Potencier
a6b2aa714b merged branch romainneutron/ProcessIncrementalOutput (PR #5546)
This PR was merged into the master branch.

Commits
-------

b89e413 [Process] Add output / error output incremental getters

Discussion
----------

[2.2][Process] Add output / error output incremental getters

Bug fix: #4999
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT

Travis fails ; tests are ok on my local clone but upstream symfony master is currently broken

---------------------------------------------------------------------------

by stof at 2012-10-13T21:20:47Z

@romainneutron is there anything left before merging ? And please open a PR to the documentation to document the new feature
2012-10-27 15:43:43 +02:00
Fabien Potencier
c7ef309e2a merged branch eventhorizonpl/100ptc_component_httpfundation_p10 (PR #5757)
This PR was merged into the master branch.

Commits
-------

85d39aa session class tests

Discussion
----------

session class tests

Hi,

This patch adds some Session class tests.

Best regards,
Michal

---------------------------------------------------------------------------

by lsmith77 at 2012-10-19T17:04:29Z

can you close and reopen this PR to retriggered the travis build?
2012-10-27 15:38:48 +02:00
Fabien Potencier
31db547a40 merged branch eventhorizonpl/100ptc_component_httpfundation_p9 (PR #5756)
This PR was merged into the master branch.

Commits
-------

99aa37c tests for Request class

Discussion
----------

tests for Request class

Hi,

This patch adds some tests for Request class.

Best regards,
Michal

---------------------------------------------------------------------------

by lsmith77 at 2012-10-19T17:04:33Z

can you close and reopen this PR to retriggered the travis build?
2012-10-27 15:38:10 +02:00
Fabien Potencier
15731a982e merged branch jfcixmedia/2.1 (PR #5838)
This PR was squashed before being merged into the master branch (closes #5838).

Commits
-------

201f3e6 [Form] Fixed cannot unset string offsets in CsrfValidationListener

Discussion
----------

[Form] Fixed cannot unset string offsets in CsrfValidationListener

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

A php fatal error is happening when someone rewrite the entire form data for an object with a single input.
```
Fatal error: Cannot unset string offsets in vendor/symfony/symfony/src/Symfony/Component/Form/Extension/Csrf/EventListener/CsrfValidationListener.php on line 72
```

Example:

```html
<form action="/app_dev.php/post/create" method="post" >
    <div id="posttype">
        <div>
            <label for="posttype_name" class="required">Name</label>
            <input type="text" id="posttype_name" name="posttype[name]" required="required" maxlength="255" />
        </div>
        <div>
            <label for="posttype_text" class="required">Text</label>
            <textarea id="posttype_text" name="posttype[text]" required="required"></textarea>
        </div>
        <input type="hidden" id="posttype__token" name="posttype[_token]" value="83a1617c694fbdea43c2527f1a55c7419ce82a42" /></div>
        <p>
            <button type="submit">Create</button>
        </p>
</form>
```

If someone alters the html to add a simple input at the bottom of the form like this one:
```html
<input type="text" id="posttype" name="posttype" value="test123" />
```

The result will be a php fatal error.

---------------------------------------------------------------------------

by bschussek at 2012-10-26T09:49:05Z

Thank you for the pull request! Could you please reference the pull request in the test?

```php
// https://github.com/symfony/symfony/pull/5838
public function testStringFormData()
{
    ...
```

---------------------------------------------------------------------------

by jfcixmedia at 2012-10-26T10:21:29Z

@bschussek  Added, thanks.
2012-10-27 15:29:28 +02:00
jfcixmedia
201f3e6489 [Form] Fixed cannot unset string offsets in CsrfValidationListener 2012-10-27 15:29:27 +02:00
Tobias Schultze
7447ef7171 slight refactoring in UrlMatcher 2012-10-26 12:26:42 +03:00
Fabien Potencier
bde2e26b69 [Form] updated CHANGELOG 2012-10-25 15:43:31 +02:00
Fabien Potencier
3138332152 [Form] tweaked previous merge 2012-10-25 15:42:46 +02:00
Fabien Potencier
13319da017 merged branch Dattaya/form/trim_listener (PR #4115)
This PR was squashed before being merged into the master branch (closes #4115).

Commits
-------

878dd91 [2.2] [Form] Trim listener, unicode whitespace characters.

Discussion
----------

[2.2] [Form] Trim listener, unicode whitespace characters.

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo:

I have some questions. ZERO WIDTH SPACE (200B) doesn't belong to White_Space but it's invisible and treated as white space by the html4.1 spec - http://www.w3.org/TR/html4/struct/text.html#h-9.1
Same question for
* U+202F	NARROW NO-BREAK SPACE
* U+FEFF	ZERO WIDTH NO-BREAK SPACE

---------------------------------------------------------------------------

by Dattaya at 2012-04-26T09:49:25Z

It seems to me that the check `mb_check_encoding($data, 'UTF-8')` is unnecessary. For non utf8 characters `preg_replace` returns `null` if `u` flag is set.
From http://www.pcre.org/pcre.txt:
>When you set the PCRE_UTF8 flag, the byte strings  passed  as  patterns
       and subjects are (by default) checked for validity on entry to the rel-
       evant functions.
...
>If an invalid UTF-8 string is passed to PCRE, an error return is given.

---------------------------------------------------------------------------

by Dattaya at 2012-07-27T06:52:58Z

Forgot to mention that `Cc` property includes more characters than needed (`0009-000D` and `0085`) but I think control characters shouldn't appear in a form field anyway.

---------------------------------------------------------------------------

by stof at 2012-10-13T16:47:47Z

@Dattaya ping
2012-10-25 15:40:56 +02:00
Yaroslav Kiliba
878dd91d37 [2.2] [Form] Trim listener, unicode whitespace characters. 2012-10-25 15:40:54 +02:00
Fabien Potencier
38b1ab68a3 Merge branch '2.1'
* 2.1:
  bumped Symfony version to 2.0.19-DEV
  updated VERSION for 2.0.18
  update CONTRIBUTORS for 2.0.18
  updated CHANGELOG for 2.0.18
  updated vendors for 2.0.18
  Remove § about prototype_name customization in 2.0
  fix option name
  Add to DateFormats 'D M d H:i:s Y T' (closes #5830)
2012-10-25 15:12:09 +02:00
Fabien Potencier
1277e6746b Merge branch '2.0' into 2.1
* 2.0:
  bumped Symfony version to 2.0.19-DEV
  updated VERSION for 2.0.18
  update CONTRIBUTORS for 2.0.18
  updated CHANGELOG for 2.0.18
  updated vendors for 2.0.18
  Add to DateFormats 'D M d H:i:s Y T' (closes #5830)

Conflicts:
	CONTRIBUTORS.md
	src/Symfony/Component/HttpKernel/Kernel.php
	tests/Symfony/Tests/Bridge/Monolog/Processor/WebProcessorTest.php
	vendors.php
2012-10-25 15:11:50 +02:00
Fabien Potencier
887207402b bumped Symfony version to 2.0.19-DEV 2012-10-25 15:09:46 +02:00
Christophe Coevoet
bd37f246e6 [Locale] Implement the lenient isser in the StubIntlFormatter 2012-10-25 14:24:18 +02:00
Fabien Potencier
03fbb485e0 updated VERSION for 2.0.18 2012-10-25 10:56:58 +02:00
Xavier REN
20898e53a6 Add to DateFormats 'D M d H:i:s Y T' (closes #5830)
DateFormat seen on the web
2012-10-25 09:07:48 +02:00
Fabien Potencier
67d9253127 Merge branch '2.1'
* 2.1:
  added missing use statment (closes #5825)
  Code cleanup
  [WebProfilerBundle] Fixed the use of nested macros
  Removed unused use statements.
  Nsdocblocks
  [ConfigDumpReference] avoid notice for variable nodes
  fixed fallback locale
  UniqueValidatorTest, Change message on assertions
  Documented removed _form_is_choice_group function

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/ConfigDumpReferenceCommand.php
	src/Symfony/Bundle/WebProfilerBundle/Profiler/TemplateManager.php
2012-10-24 17:41:27 +02:00
Fabien Potencier
20bb205f53 merged branch umpirsky/patch-1 (PR #5798)
This PR was merged into the master branch.

Commits
-------

40341bb Changed MoneyType::$patterns visibility.
c88fe94 Changed getPattern visibility

Discussion
----------

Changed getPattern visibility

It should be possible to override this method.

---------------------------------------------------------------------------

by Inori at 2012-10-22T19:25:37Z

Probably makes sense to also change visibility of [MoneyType::$patterns](c88fe94707/src/Symfony/Component/Form/Extension/Core/Type/MoneyType.php (L23))

---------------------------------------------------------------------------

by umpirsky at 2012-10-22T20:49:09Z

@Inori Fixed, thanks.
2012-10-24 17:32:38 +02:00
Albert Casademont
3e58893d0f [Security] Tweak UsernamePasswordFormAuthenticationListener
- Do not check twice for the only_post condition
- If the expected request is only_post, check only the post variables for the username and password parameters
2012-10-23 11:27:38 +02:00
Sasa Stamenkovic
40341bbb2f Changed MoneyType::$patterns visibility. 2012-10-22 22:46:47 +02:00
Mario A. Alvarez Garcia
f06432bc73 Code cleanup 2012-10-22 10:37:12 -04:00
Jordi Boggiano
94f3ba5236 [Console] Read input in raw mode to avoid processing escape sequences 2012-10-21 17:09:07 +02:00
Саша Стаменковић
c88fe94707 Changed getPattern visibility
It should be possible to override this method.
2012-10-21 15:41:00 +03:00
Drak
788cc2c7ef Nsdocblocks 2012-10-20 09:10:30 +02:00
Arnaud Le Blanc
c7a8f7af62 [Routing] fixed possible parameters conflict in apache url matcher 2012-10-20 00:39:25 +02:00
Philipp Kräutli
965734e857 fixed fallback locale 2012-10-19 13:24:34 +02:00
Fabien Potencier
390f36a86b merged branch acasademont/locale_request_collector (PR #5769)
This PR was merged into the master branch.

Commits
-------

20f19bf Add the Request locale to the RequestDataCollector

Discussion
----------

[HttpKernel] Add the Request locale to the RequestDataCollector

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/acasademont/symfony.png)](http://travis-ci.org/acasademont/symfony)
Fixes the following tickets: -
Todo: -
License of the code: MIT
Documentation PR: -

---------------------------------------------------------------------------

by acasademont at 2012-10-17T09:01:32Z

Seems like some Twig tests are failing in the master branch
2012-10-19 13:22:50 +02:00
Fabien Potencier
ab1a434eba merged branch eventhorizonpl/100ptc_component_httpfundation_p12 (PR #5773)
This PR was merged into the master branch.

Commits
-------

5b3ed82 MetadataBag test

Discussion
----------

MetadataBag test

Hi,

This patch adds MetadataBag test.

Best regards,
Michal
2012-10-19 13:22:05 +02:00
Fabien Potencier
388cbff022 merged branch arnaud-lb/routing-php-dumper-simplification (PR #5734)
This PR was merged into the master branch.

Commits
-------

e54d749 [Routing] Simplified php matcher dumper (and optimized generated matcher)

Discussion
----------

[Routing] Simplified php matcher dumper (and optimized generated matcher)

Bug fix: no
Feature addition: no
Related: #3378
Backwards compatibility break: no
Symfony2 tests pass: yes

This simplifies the php matcher dumper by allowing the dumper to re-organize routes in the dumper's own structure.

As a result, dumping is made a little simpler. This is also helps much for my hostname-based routes PR #3378.

Reorganizing routes also allows to find more optimization opportunities:

Currently the dumper wraps some collections of routes in a `if (0 === strpos($pathinfo, '/someprefix')` if the collection has user-defined prefix, and if it contains more than one direct child Route. This can miss many optimization opportunities.

The PR changes this by building a prefix tree of routes based on the static prefix extracted from routes' patterns. Then every leave having a prefix and more than one child (route or collection) will be wrapped in a `if` statement.

Example:

```
// No explicit prefix is specified
@Route("/cafe")
@Route("/cacao")
@Route("/coca")
```

is compiled like this:

```
if (url starts with /c) {
    if (url starts with /ca) {
        // test route "/cafe"
        // test route "/cacao"
    }
    // test route "/coca"
}
```

Some tests have many white space changes, much more easier to review [here](https://github.com/symfony/symfony/pull/5734/files?w=1)

---------------------------------------------------------------------------

by Tobion at 2012-10-13T02:27:54Z

I'm not sure if adding these specific classes just for dumping is the best implementation because they duplicate some logic and this optimization should also work out-of-the-box with the standard RouteCollection etc.
What I have in mind is a new method in RouteCollection like `RouteCollection::optimizeTree` that returns a new RouteCollection with the Routes that includes these optimization you do here. So there would probably be no need for the new classes.

It think it requires some changes in RouteCollection like the handling of prefix that must start with a slash currently, which is too restrictive. But it should be possible.

---------------------------------------------------------------------------

by arnaud-lb at 2012-10-13T12:52:32Z

@Tobion

> I'm not sure if adding these specific classes just for dumping is the best implementation because they duplicate some logic and this optimization should also work out-of-the-box with the standard RouteCollection etc.

I think RouteCollection and DumperCollection do not share the same concerns; and RouteCollection does things that don't allow to reorganize routes freely. For instance when adding a collection to a RouteCollection this changes all the child routes' prefix, requirements, options, etc. When setting a collection's prefix, this prepends the prefix to every child route's pattern, etc.

---------------------------------------------------------------------------

by arnaud-lb at 2012-10-15T08:50:23Z

squashed the CS commits

---------------------------------------------------------------------------

by arnaud-lb at 2012-10-15T13:50:16Z

@fabpot @Tobion this PR is ready to be merged if everyone agrees

---------------------------------------------------------------------------

by Tobion at 2012-10-16T18:10:36Z

When the above is fixed, I think it's good to be merged.

---------------------------------------------------------------------------

by arnaud-lb at 2012-10-17T08:40:20Z

Fixed; thanks @Tobion @stof for your reviews

---------------------------------------------------------------------------

by Tobion at 2012-10-19T03:30:10Z

@arnaud-lb could you please test whether your PR fixes #5780 as a side-effect?
I can image that it's fixed because you use `$route->compile()->getStaticPrefix();` for prefix optimization.
If it's fixed please add a test case. If not, that's fine, and we need to fix it in another PR.
2012-10-19 07:56:40 +02:00
Fabien Potencier
88ea842c5e Merge branch '2.1'
* 2.1: (28 commits)
  Delete use of CreationExeption
  [Form] Fixed error message in PropertyPath to not advice to use a non-existing feature
  [Form] Fixed creation of multiple money fields with different currencies
  [Form] Fixed setting the "data" option to an object in "choice" and "entity" type
  Fixed Serbian plural translations.
  Fixed IPv6 Check in RequestMatcher
  Fix typo
  change what I think is a typo
  [Console] Fix error when mode is not in PATH
  [WebProfilerBundle] fixed macro usage (to be forward compatible with Twig 2.x)
  Change monolog require-dev to use the branch alias instead of dev-master
  [FrameworkBundle] partially reverted previous merge
  [2.1] Added missing error return codes in commands
  Made the router lazy when setting the context
  [WebProfilerBundle] fixed typos
  Fix incorrect variable in FileProfilerStorage
  UnitTest fix
  UnitTest fix
  added a unit test
  fixed #5384
  ...
2012-10-18 23:16:19 +02:00
Fabien Potencier
82a6694c85 Merge branch '2.0' into 2.1
* 2.0:
  [Form] Fixed creation of multiple money fields with different currencies
  Fixed IPv6 Check in RequestMatcher
  fixed DomCrwaler/Form to handle <button> when submitted

Conflicts:
	tests/Symfony/Tests/Component/DomCrawler/FormTest.php
	tests/Symfony/Tests/Component/Form/Extension/Core/Type/MoneyTypeTest.php
2012-10-18 23:16:01 +02:00
Erik Saunier
051327ea03 Delete use of CreationExeption
CreationException not used
2012-10-18 21:44:44 +02:00
Fabien Potencier
a01ede2f4d merged branch bschussek/issue5388 (PR #5778)
This PR was merged into the 2.1 branch.

Commits
-------

bda29b3 [Form] Fixed error message in PropertyPath to not advice to use a non-existing feature

Discussion
----------

[Form] Fixed error message in PropertyPath to not advice to use a non-existing feature

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #5388
Todo: -
License of the code: MIT
Documentation PR: -
2012-10-18 21:42:42 +02:00
Bernhard Schussek
bda29b335e [Form] Fixed error message in PropertyPath to not advice to use a non-existing feature 2012-10-18 19:52:59 +02:00
Bernhard Schussek
bf3e358697 [Form] Fixed creation of multiple money fields with different currencies 2012-10-18 19:17:20 +02:00
Bernhard Schussek
8f81f078e0 [Form] Fixed setting the "data" option to an object in "choice" and "entity" type 2012-10-18 18:50:25 +02:00
Michal Piotrowski
5b3ed826a8 MetadataBag test 2012-10-17 22:23:03 +02:00
Albert Casademont
20f19bfd84 Add the Request locale to the RequestDataCollector 2012-10-17 10:50:16 +02:00