This PR was merged into the 2.1 branch.
Commits
-------
ae3d454 [Form] corrected source node for a Danish translation
Discussion
----------
[Form] corrected source node for a Danish translation
This PR was merged into the master branch.
Commits
-------
5be0042 better regexp, more test cases, added comments about each credit card
cc278af [Validator] Fix `CardSchemeValidator` double violation when value is non-numeric. Making scheme option accept strings in addition to arrays.
Discussion
----------
[Validator] Improve regexp for Credit Cards and some more tests
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets:
Todo: Ensure these regexps are proper (credit card validation is always a pain)
License of the code: MIT
Documentation PR:
Regarding Cases excluded from new Regular Expressions:
- Credit card lengths should be respected, these regexp cover lengths in http://en.wikipedia.org/wiki/Bank_card_number
- Visa length can only be 16 and 13 (older ones)
- Diners Cards starting by 5 come from a joint venture between Diners Club and MasterCard, and should be processed like a MasterCard (according to http://www.regular-expressions.info/creditcard.html).
- There seems to be JCB cards starting by 2131 and 1800, I could find them is some places, also found these numbers being tested in Credit Card generators, but some people don't cover them. I don't know their story either
Any comments will be much appreciated!
---------------------------------------------------------------------------
by fabpot at 2013-01-06T19:33:27Z
Thanks for working on this. It would be very valuable if you can add information about these regexes as comments (with links to relevant sources -- like what you've done in the PR description). Thanks.
---------------------------------------------------------------------------
by ricardclau at 2013-01-06T21:01:52Z
Always glad to be able to contribute a little bit
@fabpot you mean @link / @see PHPDoc inside CardSchemeValidator.php? Or further comments in this discussion before adding them?
---------------------------------------------------------------------------
by fabpot at 2013-01-06T21:16:48Z
The more information we can add in the class, the better it is.
---------------------------------------------------------------------------
by ricardclau at 2013-01-07T20:56:05Z
I've added comments and included code from #6603 as I've said there. If you need something else, please let me know, once this is merged, #6603 can also be closed
---------------------------------------------------------------------------
by fabpot at 2013-01-07T21:41:40Z
Can you keep the commit from #6603 to keep ownership?
---------------------------------------------------------------------------
by ricardclau at 2013-01-07T21:44:16Z
I actually have thought about that... let me try my git skills :)
---------------------------------------------------------------------------
by ricardclau at 2013-01-07T21:59:16Z
There you go!
This PR was merged into the 2.0 branch.
Commits
-------
1d362b8 [DependencyInjection] fixed a bug where the strict flag on references were lost (closes#6607)
Discussion
----------
[DependencyInjection] fixed a bug where the strict flag on references were lost (closes#6607)
This PR was merged into the master branch.
Commits
-------
bcc5552 [Form] Protected methods in FormConfigBuilder and FormBuilder from being called when it is turned into a FormConfigInterface instance
fee1bf5 [Form] Introduced base ExceptionInterface
Discussion
----------
[Form] Protected methods in FormConfigBuilder and FormBuilder
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: -
When a form is created, a `FormConfigInterface` instance is passed to the constructor of `Form` and then accessible via `getConfig()`. For performance reasons, `FormBuilder` also implements `FormConfigInterface` and is passed here directly instead of copying its values to a new `FormConfig` instance, although protected from further modifications.
In addition to the already existing guard clauses in the setters, this PR adds guard clauses to the getters of `FormBuilder` to prevent misuse of the "config" object giving unexpected results.
Additionally, this PR introduces first improvements of the form's `Exception\` namespace as described in #6549.
---------------------------------------------------------------------------
by mvrhov at 2013-01-05T18:19:04Z
@bschussek I don't have the time to review this one, but please do not over optimize. We do a lot of weird things. e.g. I have the following code in one of my models.
```php
public function validateEmail(ExecutionContextInterface $context)
{
if ((null !== $this->product) && (in_array($this->product->getType(), array(ProductTypeEnum::Software, ProductTypeEnum::Subscription)))) {
/** @var $form Form */
$form = $context->getRoot();
if (($form instanceof Form) && ('foo' == $form->getConfig()->getOption('app_name'))) {
$context->validate($this, 'email', 'Email');
}
}
}
```
---------------------------------------------------------------------------
by bschussek at 2013-01-05T18:46:17Z
@mvrhov Absolutely no problem. Most people will use methods from `FormConfigInterface` on the result of `getConfig()`, because that's the type hinted return value, and that's the way it should be. I don't even know how many people are aware that `getConfig()` returns the builder object.
This PR is for rare cases where people write forward-incompatible hacks by accessing `FormBuilder` methods like `get()`, `getParent()` or the like on `getConfig()` (I don't know why anyone would do this, but you never know...)
---------------------------------------------------------------------------
by vicb at 2013-01-07T11:08:34Z
> Backwards compatibility break: no
Really ?
---------------------------------------------------------------------------
by vicb at 2013-01-07T12:26:22Z
Changing `FormException` from a class to an interface is a BC break (`new FormException()`)
---------------------------------------------------------------------------
by bschussek at 2013-01-07T12:41:20Z
@vicb Fair enough ;) I adapted the CHANGELOG and UPGRADE-2.2.
---------------------------------------------------------------------------
by fabpot at 2013-01-07T15:50:03Z
This PR break the tests.
---------------------------------------------------------------------------
by bschussek at 2013-01-07T15:50:34Z
I just fixed them and they run on my computer. I'm not sure why Travis fails again.
---------------------------------------------------------------------------
by bschussek at 2013-01-07T15:56:41Z
Travis merged the wrong commit. It merged 42c8987f350650a42d8c968d32cde50fc5d548c0 - see the merge commit here 766f7fe958ea69a302bed6298e55a3001a51e2b8 - when it should have merged cd3f4f9dfe43a526c23f30e16354ff11489b9db1.
This PR was merged into the 2.0 branch.
Commits
-------
3195122 [HttpFoundation] Check if required shell functions for `FileBinaryMimeTypeGuesser` are not disabled
Discussion
----------
[HttpFoundation] Check if required shell functions are not disabled
Rebased to `2.0` & squashed version of #6526.
This PR was merged into the master branch.
Commits
-------
0cf9fcb [HttpFoundation] Deprecated count() and \Countable
Discussion
----------
[HttpFoundation] Deprecated count() and \Countable
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #6408
Todo: -
License of the code: MIT
Documentation PR: -
The docblock is done in #6423 so will be merged up.
---------------------------------------------------------------------------
by stloyd at 2013-01-07T11:19:20Z
@fabpot ping
---------------------------------------------------------------------------
by drak at 2013-01-07T11:22:54Z
This should be OK for merge as the solution was agreed with @fabpot before making the PR.
---------------------------------------------------------------------------
by fabpot at 2013-01-07T11:24:50Z
@drak Can you add an entry in the CHANGELOG stating that this is a BC break?
---------------------------------------------------------------------------
by drak at 2013-01-07T15:31:21Z
@fabpot - There doesnt seem to be a CHANGELOG-2.2 in the master branch... where should I place the information?
---------------------------------------------------------------------------
by Tobion at 2013-01-07T15:46:25Z
@drak just in the CHANGELOG under the 2.2. header
---------------------------------------------------------------------------
by fabpot at 2013-01-07T15:48:43Z
Here: https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpFoundation/CHANGELOG.md
---------------------------------------------------------------------------
by drak at 2013-01-07T15:48:45Z
@Tobion - thanks, I forgot it's in the package root, not the repo root. :)
---------------------------------------------------------------------------
by drak at 2013-01-07T15:52:37Z
@fabpot - updated changelog, squashed and rebased.
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
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.
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.
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.
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.
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
This PR was merged into the master branch.
Commits
-------
f5290b9 [FrameworkBundle] Force users to set "kernel.secret" to something different than default "ThisTokenIsNotSoSecretChangeIt"
Discussion
----------
[RFC][BC][FrameworkBundle] Force users to set "kernel.secret" to something unique
Bug fix: kinda*
Feature addition: no
BC break: yes
Symfony2 tests pass: yes
Fixes the following tickets: #6480
License of the code: MIT
This PR is to show different approach for "fix" suggested in #6480, as IMO there is no real point for "yet another listener" =)
This PR also introduces BC break for all users that used default value for `kernel.secret`, but IMO it's worth it.
This PR was merged into the master branch.
Commits
-------
d570dbe [Security][Acl] CS fix for commit: 3c3a90b9e53c3a90b [Security][Acl] Reduce query size when Select ACL entries for many instances of the same Type at once
Discussion
----------
[Security][Acl] Reduce query size when select ACL type is same
Rebased & squashed version of #6479.
ps. I was thinking that this could be done on _lower_ versions too, but was not sure =)
This PR was merged into the master branch.
Commits
-------
4bf82e0 Update Ukrainian translation for master branch
Discussion
----------
[Validator] Update Ukrainian translation for master branch