Commit Graph

3731 Commits

Author SHA1 Message Date
JhonnyL
fd27801cf1 [FrameworkBundle] Remove TranslatorBagInterface check 2016-08-23 10:02:31 -07:00
JhonnyL
20a69aa1cf [FrameworkBundle] Remove duplicated code in RouterDebugCommand 2016-08-23 14:39:28 +02:00
Fabien Potencier
1a059e54cf bug #19373 [Form] Skip CSRF validation on form when POST max size is exceeded (jameshalsall)
This PR was squashed before being merged into the 2.7 branch (closes #19373).

Discussion
----------

[Form] Skip CSRF validation on form when POST max size is exceeded

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

In #19140 the CSRF validation listener was not aware that the POST max size had exceeded, and was adding a form error message that wasn't relevant to the actual error.

This introduces the `ServerParams` utility class into the `CsrfValidationListener` and checks that the POST max size has not been exceeded. If it has then it won't bother trying to validate the CSRF token.

My main concern with this change is that it opens up an attack vector around tokens, but I've encapsulated the request size validation in a single method in `ServerParams` now so that the request handlers are using the same logic.

Commits
-------

289531f [Form] Skip CSRF validation on form when POST max size is exceeded
2016-08-15 15:45:28 -07:00
James Halsall
289531f0d0 [Form] Skip CSRF validation on form when POST max size is exceeded 2016-08-15 15:45:25 -07:00
Vyacheslav Pavlov
774c984863 Minor fixes 2016-07-30 03:17:26 -04:00
Nicolas Grekas
b27b0a93bb minor #19405 Fixed bugs in names of classes and methods. (zomberg)
This PR was squashed before being merged into the 2.7 branch (closes #19405).

Discussion
----------

Fixed bugs in names of classes and methods.

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

It's related to case sensitive.

I changed only calls of names of called methods but not definition of methods because BC.

Commits
-------

c41aa03 Fixed bugs in names of classes and methods.
2016-07-26 06:40:56 +02:00
Vyacheslav Pavlov
c41aa03c48 Fixed bugs in names of classes and methods. 2016-07-26 06:40:54 +02:00
Vyacheslav Pavlov
9c4efd0d91 [FrameworkBundle] Fixed parameters number mismatch declaration 2016-07-26 06:37:20 +02:00
Magnus Nordlander
db841018dc [HttpKernel] Add listener that checks when request has both Forwarded and X-Forwarded-For 2016-06-30 08:49:13 +02:00
Nicolas Grekas
9d3ae85301 [HttpKernel] Inline ValidateRequestListener logic into HttpKernel 2016-06-29 12:24:37 +02:00
Jules Pietri
f809f3e340 fixed HttpKernel dependencies after #18688 2016-06-29 10:18:30 +02:00
Fabien Potencier
2d3723007d bug #18688 [HttpFoundation] Warning when request has both Forwarded and X-Forwarded-For (magnusnordlander)
This PR was squashed before being merged into the 2.7 branch (closes #18688).

Discussion
----------

[HttpFoundation] Warning when request has both Forwarded and X-Forwarded-For

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

Emit a warning when a request has both a trusted Forwarded header and a trusted X-Forwarded-For header, as this is most likely a misconfiguration which causes security issues.

Commits
-------

ee8842f [HttpFoundation] Warning when request has both Forwarded and X-Forwarded-For
2016-06-29 09:01:56 +02:00
Magnus Nordlander
ee8842fedb [HttpFoundation] Warning when request has both Forwarded and X-Forwarded-For 2016-06-29 09:01:55 +02:00
Fabien Potencier
554303e339 removed dots at the end of @param and @return 2016-06-28 08:24:06 +02:00
Fabien Potencier
e8901b1669 bug #19061 [FORM] fix post_max_size_message translation (alt. 2) (David Badura)
This PR was merged into the 2.7 branch.

Discussion
----------

[FORM] fix post_max_size_message translation (alt. 2)

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

Commits
-------

9d8a5e5 fix post_max_size_message translation
2016-06-22 13:59:59 +02:00
David Badura
9d8a5e5a04 fix post_max_size_message translation 2016-06-21 22:32:24 +02:00
Fabien Potencier
7cc3ca59d0 fixed CS 2016-06-20 18:47:20 +02:00
Jules Pietri
445dcc8ae2 [Form] Fixed collapsed choice attributes 2016-06-13 01:34:04 +02:00
Nicolas Grekas
065dee8525 [HttpKernel] Fix context dependent test 2016-06-06 14:20:11 +02:00
Nicolas Grekas
bf3a2c0abd @throws annotations should go after @return 2016-06-06 13:03:51 +02:00
Fabien Potencier
011d2dcd26 Merge branch '2.3' into 2.7
* 2.3:
  updated VERSION for 2.3.42
  update CONTRIBUTORS for 2.3.42
  updated CHANGELOG for 2.3.42
  Revert "bug #18908 [DependencyInjection] force enabling the external XML entity loaders (xabbuh)"
  Partial revert of previous PR
  [DependencyInjection] Skip deep reference check for 'service_container'
  Catch \Throwable
  [Serializer] Add missing @throws annotations
  Fix for #18843
  force enabling the external XML entity loaders
  Removed UTC specification with timestamp
2016-06-06 10:55:42 +02:00
Filip Procházka
893cf00a52 Catch \Throwable 2016-05-30 10:14:41 +02:00
Peter Rehm
94e4706609 Fixed server status command when port has been omitted 2016-05-20 17:00:42 +02:00
Jeremy Benoist
ac7f74ecca Use levenshtein level for better Bundle matching 2016-05-17 15:13:00 +02:00
Christian Flothmann
2d46bd4812 prevent calling get() for service_container service 2016-05-09 17:08:24 +02:00
Fabien Potencier
cf38962dfe minor #18551 [FrameworkBundle] Remove misleading comment (JhonnyL)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle] Remove misleading comment

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

This is not true for service_container anymore.

Commits
-------

9f2f858 [FrameworkBundle] Remove misleading comment
2016-04-28 13:02:03 +02:00
JhonnyL
5885cbc1a2 [FrameworkBundle] Remove duplicated code in ContainerDebugCommand 2016-04-21 09:55:15 +02:00
jhonnyL
9f2f858f55 [FrameworkBundle] Remove misleading comment 2016-04-14 20:06:25 +00:00
Nicolas Grekas
01fb26b4d2 Merge branch '2.3' into 2.7
* 2.3:
  Detect CLI color support for Windows 10 build 10586
  [EventDispatcher] Try first if the event is Stopped
  [FrameworkBundle] fixes grammar in container:debug command manual.

Conflicts:
	src/Symfony/Component/EventDispatcher/EventDispatcher.php
	src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
2016-04-04 19:08:16 +02:00
Hugo Hamon
c3c092de0f [FrameworkBundle] fixes grammar in container:debug command manual. 2016-04-04 10:38:46 +02:00
Kévin Dunglas
5c87d766d5 [FrameworkBundle] Return the invokable service if its name is the class name 2016-03-31 22:45:44 +02:00
Christian Flothmann
aa4dd4fcf0 fix high deps tests 2016-03-29 22:47:33 +02:00
Iltar van der Berg
9fea1ee4f4 Removed unused variables 2016-03-24 12:33:34 +01:00
Christian Flothmann
81886530c7 move test methods to test case class 2016-03-23 19:17:25 +01:00
Nicolas Grekas
86c0a17721 Merge branch '2.3' into 2.7
* 2.3:
  [Validator] use correct term for a property in docblock (not "option")
  [PropertyAccess] Remove most ref mismatches to improve perf
  [Validator] EmailValidator cannot extract hostname if email contains multiple @ symbols
  [NumberFormatter] Fix invalid numeric literal on PHP 7
  Use XML_ELEMENT_NODE in nodeType check
  [PropertyAccess] Reduce overhead of UnexpectedTypeException tracking
  [PropertyAccess] Throw an UnexpectedTypeException when the type do not match
  [FrameworkBundle] Add tests for the Controller class

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/Controller/ControllerTest.php
	src/Symfony/Component/Intl/NumberFormatter/NumberFormatter.php
	src/Symfony/Component/PropertyAccess/PropertyAccessor.php
	src/Symfony/Component/PropertyAccess/PropertyAccessorInterface.php
	src/Symfony/Component/PropertyAccess/PropertyPath.php
	src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorTest.php
	src/Symfony/Component/Validator/Constraints/EmailValidator.php
2016-03-22 09:55:46 +01:00
Kévin Dunglas
514a06083a [FrameworkBundle] Add tests for the Controller class 2016-03-16 19:49:12 +01:00
Kévin Dunglas
ca56be1c8a [FrameworkBundle] Add tests for the Controller class 2016-03-16 19:32:37 +01:00
Nicolas Grekas
c7686a3624 Merge branch '2.3' into 2.7
* 2.3:
  Improved the PHPdoc of FileSystem::copy()
  [Validator] Test DNS Email constraints using checkdnsrr() mock
  [travis] Run real php subprocesses on hhvm for Process component tests
  bug #18161 [Translation] Add support for fuzzy tags in PoFileLoader
  [Form] Fix NumberToLocalizedStringTransformer::reverseTransform with big integers
  [Form] Fix INT64 cast to float in IntegerType.
  [SecurityBundle][PHPDoc] Added method doumentation for SecurityFactoryInterface
  FrameworkBundle: Client: getContainer(): fixed phpdoc
  [Validator] Updating inaccurate docblock comment

Conflicts:
	.travis.yml
	src/Symfony/Component/Validator/Tests/Constraints/EmailValidatorTest.php
2016-03-16 17:00:15 +01:00
Dawid Nowak
7462fa59b1 FrameworkBundle: Client: getContainer(): fixed phpdoc
The kernel might be shut down and then the method will return null instead of a ContainerInterface object
2016-03-15 11:30:50 +01:00
Patrick McDougle
181f256949 Use debug member variable 2016-03-12 10:48:57 -08:00
Nicolas Grekas
81c50d628e Merge branch '2.3' into 2.7
* 2.3:
  [HttpFoundation] Fix transient test
  [HttpFoundation] Add a dependency on the mbstring polyfill
  add readme files where missing
  Don't use reflections when possible
  [Form] Update form tests after the ICU data update
  [Intl] Update tests and the number formatter to match behaviour of the intl extension
  [Intl] Update the ICU data to version 55
  [Intl] Fix the update-data.php script in preparation for ICU 5.5
  Use constant instead of function call.
  fixed test name
  automatically generate safe fallback filename

Conflicts:
	src/Symfony/Component/Debug/Debug.php
	src/Symfony/Component/HttpFoundation/composer.json
	src/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php
2016-03-07 14:45:47 +01:00
Christian Flothmann
a1997b92c6 add readme files where missing 2016-03-07 11:36:15 +01:00
Fabien Potencier
a29e818a3f minor #18025 [2.7] Don't use reflection when possible (Ener-Getick)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7] Don't use reflection when possible

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

See https://github.com/symfony/symfony/pull/18021

Commits
-------

35be501 Don't use reflections when possible
2016-03-06 11:26:36 +01:00
Ener-Getick
35be5017e7 Don't use reflections when possible 2016-03-05 18:34:36 +01:00
Fabien Potencier
d66f0ebe35 Merge branch '2.3' into 2.7
* 2.3:
  Updated all the README files
  [TwigBundle] Fix failing test on appveyor
  [FrameworkBundle] Fix a regression in handling absolute and namespaced template paths
  Allow to normalize \Traversable
  Remove _path from query parameters when fragment is a subrequest and request attributes are already set Added tests for _path removal in FragmentListener
  Simplified everything
  Added a test
  Fixed the problem in an easier way
  Fixed a syntax issue
  Improved the error message when a template is not found
  [CodingStandards] Conformed to coding standards
  [TwigBundle] fixed Include file locations in "Template could not be found" exception
2016-03-04 08:52:28 +01:00
Jakub Zalas
d8c493f076 [FrameworkBundle] Fix a regression in handling absolute and namespaced template paths 2016-03-03 08:16:18 +00:00
Fabien Potencier
9851928f9b fixed tests 2016-03-02 13:43:59 +01:00
Fabien Potencier
11a8524742 minor #17632 [FrameworkBundle] Test that ObjectNormalizer is registered (dunglas)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle] Test that ObjectNormalizer is registered

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

Commits
-------

129b140 [FrameworkBundle] Test that ObjectNormalizer is registered
2016-03-02 13:42:07 +01:00
Fabien Potencier
51a71ab74a Merge branch '2.3' into 2.7
* 2.3:
  #17676 - making the proxy instantiation compatible with ProxyManager 2.x by detecting proxy features
  Fix bug when using an private aliased factory service
  ChoiceFormField of type "select" could be "disabled"
  Update contributing docs
  [Console] Fix escaping of trailing backslashes
  Fix constraint validator alias being required
  [ci] clone with depth=1 to kill push-forced PRs
  Add check on If-Range header
2016-02-28 17:19:47 +01:00
Tristan Roussel
5136c308f2 Fix constraint validator alias being required 2016-02-23 21:06:57 +01:00
Jules Pietri
ce6e5ac5aa [2.7] [FrameworkBundle] minor fix tests added by #17569 2016-02-19 17:41:56 +01:00
Fabien Potencier
653428af76 Merge branch '2.3' into 2.7
* 2.3:
  fixed CS
  fixed CS
  documented the $url parameter better
  register commands from kernel when accessing list
  Update FileSystem
2016-02-18 17:03:55 +01:00
Fabien Potencier
a02967c9ee fixed CS 2016-02-18 16:45:01 +01:00
Fabien Potencier
e932baec28 bug #17569 [FrameworkBundle] read commands from bundles when accessing list (havvg)
This PR was merged into the 2.3 branch.

Discussion
----------

[FrameworkBundle] read commands from bundles when accessing list

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

This allows access to the list of commands registered by the kernel (bundle and later service ids) programmatically when you do not `run` the application.

Commits
-------

0fe3088 register commands from kernel when accessing list
2016-02-18 16:42:34 +01:00
Fabien Potencier
d3c55cb3f1 bug #17787 [Form] Fix choice placeholder edge cases (Tobion)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Fix choice placeholder edge cases

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

Fixing several problems with choice placeholder that enhances #9030 for more edge cases:

- A choice with an empty value manually added in the choices array should only be considered a placeholder when it is the first element in the final choice select.
This is part of the HTML spec and how browsers also behave. If you select a choice with an empty value that is not the first option, it will still pass the "required" check
and thus submit the empty value. So it's not a placeholder.
If in the example below you move the empty option to the first place, the browsers will error on submit that you
must select a value. So only then it is a placeholder to show as initial value.

```html
<select id="form_timezone" name="form[timezone]" required="required">
    <option value="Africa/Abidjan">Abidjan</option>
    <option value="">Empty</option>
</select>
```

Also the validator https://validator.w3.org/nu/ will mark the above code as error:
> The first child option element of a select element with a required attribute, and without a multiple attribute, and without a size attribute whose value is greater than 1, must have either an empty value attribute, or must have no text content. Consider either adding a placeholder option label, or adding a size attribute with a value equal to the number of option elements.

This is fixed by replacing`0 !== count($choiceList->getChoicesForValues(array('')))` with `$view->vars['placeholder_in_choices'] = $choiceListView->hasPlaceholder()`.
Which means, the required attribute is removed automatically because the select form element is required implicitly anyway due to the nature of the choice UI.

- As the above quote mentions, the `size` attribute also has impact. Namely for a select with size > 1 it can be possible to have a required attribute even without placeholder.
This is because when the size > 1, there is no default choice selected (similar to select with "multiple").

- A placeholder for required radio buttons or a select with size > 1 does not make sense as it would just be fake data that can be submitted (similar to the ignored placeholder for multi-select and checkboxes).

Commits
-------

0efbc30 [Form] fix edge cases with choice placeholder
2016-02-18 13:07:46 +01:00
Fabien Potencier
1af6e98851 Merge branch '2.3' into 2.7
* 2.3:
  fix YAML syntax in functional tests config
2016-02-16 08:15:42 +01:00
Christian Flothmann
2da40382ab [FrameworkBundle] fix YAML syntax 2016-02-15 19:07:52 +01:00
Christian Flothmann
d9af4bc606 fix YAML syntax in functional tests config 2016-02-15 19:05:26 +01:00
Tobias Schultze
0efbc30304 [Form] fix edge cases with choice placeholder 2016-02-13 13:18:37 +01:00
Fabien Potencier
4598b74906 Merge branch '2.3' into 2.7
* 2.3:
  remove unnecessary retrieval and setting of data
  avoid (string) catchable fatal error for __PHP_Incomplete_Class instances
  sendContent return as parent.
  [FrameworkBundle] Fix a typo
2016-02-12 07:23:50 +01:00
Jakub Zalas
89133e6a71 [FrameworkBundle] Fix a typo 2016-02-10 10:18:08 +00:00
Nicolas Grekas
fc939580ab Merge branch '2.3' into 2.7
* 2.3:
  [travis] Add some comments
  changed operator from and to &&

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/choice_widget_collapsed.html.php
2016-02-04 13:09:54 +01:00
Fabien Potencier
c71840193c changed operator from and to && 2016-02-02 15:23:07 +01:00
Christian Flothmann
10c17f8589 Merge branch '2.3' into 2.7
* 2.3:
  Move licenses according to new best practices
2016-02-01 20:38:55 +01:00
Kévin Dunglas
aab5decc5b Move licenses according to new best practices 2016-01-31 22:16:42 +01:00
Kévin Dunglas
8780e26c9d [FrameworkBundle] Remove unused code in test 2016-01-31 22:09:31 +01:00
Kévin Dunglas
129b140a5f [FrameworkBundle] Test that ObjectNormalizer is registered 2016-01-31 22:03:33 +01:00
Fabien Potencier
9d8232bf25 Merge branch '2.3' into 2.7
* 2.3:
  fix container cache key generation
  [Translation] Add resources from fallback locale
  [DependencyInjection] enforce tags to have a name
  [YAML] Refine the return value of Yaml::parse()
2016-01-31 08:56:20 +01:00
Christian Flothmann
29750e51ad fix container cache key generation
If the actual class name were not taken into, we would not be able to
detect inconsistencies between the different configuration formats (PHP,
YAML, and XML) as the container built based on the first evaluated
configuration format would be cached and reused by tests for the other
formats too.
2016-01-30 22:24:39 +01:00
Fabien Potencier
8c0b48f6ca bug #17605 [FrameworkBundle] remove default null value for asset version (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle] remove default null value for asset version

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

Setting `null` as the version of a package means that it uses the empty
version strategy. However, omitting the `version` option entirely was
meant to fall back to the default version strategy. This is not possible
when the default version value is `null` as there is no way to remove
it.

Commits
-------

25f735f remove default null value for asset version
2016-01-30 16:54:06 +01:00
Paráda József
c8e1384b84 [2.7] Fix tests 2016-01-30 16:53:18 +01:00
Christian Flothmann
25f735f78a remove default null value for asset version
Setting `null` as the version of a package means that it uses the empty
version strategy. However, omitting the `version` option entirely was
meant to fall back to the default version strategy. This is not possible
when the default version value is `null` as there is no way to remove
it.
2016-01-30 09:02:28 +01:00
Toni Uebernickel
0fe3088dea register commands from kernel when accessing list 2016-01-27 13:20:43 +01:00
Christian Flothmann
3a027badb7 Merge branch '2.3' into 2.7
* 2.3:
  fixed CS
  [BrowserKit] Corrected HTTP_HOST logic #15398
  resolve aliases in factory services
  Remove invalid CSS white-space value
  Fix FileSystem tests on Windows
2016-01-27 12:27:15 +01:00
Fabien Potencier
72fa3bdda9 minor #17552 Remove invalid CSS white-space value (Triiistan)
This PR was merged into the 2.3 branch.

Discussion
----------

Remove invalid CSS white-space value

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

Commits
-------

03d3182 Remove invalid CSS white-space value
2016-01-27 11:20:13 +01:00
Fabien Potencier
1876b4f1c8 Merge branch '2.3' into 2.7
* 2.3:
  Static code analysis
  Update AnnotationDirectoryLoader.php
  [FrameworkBundle] Fix template location for PHP templates
  [FrameworkBundle] Add path verification to the template parsing test cases
2016-01-27 06:09:39 +01:00
Fabien Potencier
89e86197c1 minor #17480 Static code analysis (Koc)
This PR was merged into the 2.3 branch.

Discussion
----------

Static code analysis

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

Things that done:
* fix case in method calls
* removed unused imports
* use shorter concat where it possible
* optimize some css
* removed duplicated array keys
* removed redurant return statements
* removed one-time variables
* do not pass arguments that not used in functions

Commits
-------

8db691a Static code analysis
2016-01-27 05:57:57 +01:00
Tristan Roussel
03d3182129 Remove invalid CSS white-space value 2016-01-27 01:14:25 +01:00
Javier Eguiluz
37655be008 Increase the inlining YAML level for config:debug 2016-01-26 16:21:36 +01:00
Fabien Potencier
40035327b2 bug #15272 [FrameworkBundle] Fix template location for PHP templates (jakzal)
This PR was merged into the 2.3 branch.

Discussion
----------

[FrameworkBundle] Fix template location for PHP templates

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

- [x] improve the test to cover logical path & filesystem path
- [x] Add a new test case and fix the path to the template

As the first commit only enchanced the test, and the second commit fixed the bug, it's best to review them seperately.

Commits
-------

132a4e4 [FrameworkBundle] Fix template location for PHP templates
cd42e2d [FrameworkBundle] Add path verification to the template parsing test cases
2016-01-25 18:08:12 +01:00
Konstantin.Myakshin
8db691ab94 Static code analysis 2016-01-25 19:00:36 +02:00
Fabien Potencier
ce0946dde0 Merge branch '2.3' into 2.7
* 2.3:
  fixed undefined variable
  Fixed the phpDoc of UserInterface
  fixed APCu dep version
  Added support for the `0.0.0.0/0` trusted proxy
  [DoctrineBridge][Validator] >= 2.3 Pass association instead of ID as argument
  [HttpKernel] Lookup the response even if the lock was released after 2 seconds
2016-01-25 17:27:59 +01:00
Ivan Kurnosov
3188e1b5d2 Added support for the 0.0.0.0/0 trusted proxy 2016-01-25 13:36:47 +01:00
Stepan Anchugov
884368e709 Throw for missing container extensions
This covers cases when a bundle does not have an extension, which
lead to FatalErrorException with ```Call to a member function getAlias() on null```
2016-01-25 10:38:10 +01:00
Fabien Potencier
c738085cb3 minor #16941 [FrameworkBundle] Compute the kernel root hash only one time (dunglas)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle] Compute the kernel root hash only one time

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

Commits
-------

23431e9 [FrameworkBundle] Compute the kernel root hash only one time
2016-01-25 09:11:55 +01:00
Evgeniy Sokolov
65adb7282c add defaultNull to version 2016-01-25 01:05:43 +01:00
Evgeniy Sokolov
646fc9caaa Ability to set empty version strategy in packages 2016-01-23 23:57:07 +01:00
Christian Flothmann
a5c881182f sort bundles in config:dump-reference command
This backports #17495 to the `2.3` branch.
2016-01-23 17:38:15 +01:00
Stepan Anchugov
80d51e0d18 Sort bundles in config commands 2016-01-22 18:33:13 +05:00
Stepan Anchugov
b85059a672 Remove default match from AbstractConfigCommand::findExtension
Previously, findExtension would return the first extension that might
not even match the $name parameter.
2016-01-21 07:10:38 +01:00
Fabien Potencier
6ec5537aed Merge branch '2.3' into 2.7
* 2.3:
  [Process] Remove a misleading comment
  Improve the phpdoc of SplFileInfo methods
  [Process] Use stream based storage to avoid memory issues
  Fixed the documentation of VoterInterface::supportsAttribute
  Remove useless duplicated tests
  [FrameworkBundle] Optimize framework extension tests
  Use is_subclass_of instead of Reflection when possible
2016-01-20 07:45:12 +01:00
Nicolas Grekas
90d493ea97 [FrameworkBundle] Don't log twice with the error handler 2016-01-19 00:13:42 +01:00
Paráda József
f6a078b96c [FrameworkBundle] Optimize framework extension tests 2016-01-17 17:17:03 +01:00
Fabien Potencier
ab43f389e2 minor #17401 [2.7] Use is_subclass_of instead of reflection (Ener-Getick)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7] Use is_subclass_of instead of reflection

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

Follows https://github.com/symfony/symfony/pull/17400

>
For performance reason, I replaced a reflection instantiation by ``is_subclass_of``.

Commits
-------

5af5d06 Use is_subclass_of instead of reflection
2016-01-16 19:10:37 +01:00
Tobias Schultze
aedeebb4f1 fix merge 2.3 into 2.7 for SecureRandom dependency 2016-01-16 18:29:47 +01:00
Ener-Getick
5af5d06f2e Use is_subclass_of instead of reflection 2016-01-16 14:49:28 +01:00
Fabien Potencier
8d7b19fbbe Merge branch '2.3' into 2.7
* 2.3:
  Fixed correct class name in thrown exception
  Add gc_mem_caches() call for PHP7 after itoken_get_all() as new memory manager will not release small buckets to OS automatically
  Removed a duplicated test in CardSchemeValidatorTest
  Fix perf and mem issue when using token_get_all
  [SecurityBundle] fix SecureRandom service constructor args
  Normalize params only when used.
2016-01-16 05:55:21 +01:00
Peter Ward
e555aade12 Add gc_mem_caches() call for PHP7 after itoken_get_all() as new memory manager will not release small buckets to OS automatically 2016-01-15 10:01:44 +01:00
Nicolas Grekas
d1f72d8ef4 Fix perf and mem issue when using token_get_all 2016-01-14 14:27:10 +01:00
Fabien Potencier
da655a9368 Merge branch '2.3' into 2.7
* 2.3:
  Typo fix
  [2.3] Static Code Analysis for Components
  Added support \IteratorAggregate for UniqueEntityValidator
  Fix #17306 Paths with % in it are note allowed (like urlencoded)
  Added sort order SORT_STRING for params in UriSigner
  Remove normalizer cache in Serializer class
2016-01-12 18:44:11 +01:00
Pavel Batanov
de7b4d73c6 Fix #17306 Paths with % in it are note allowed (like urlencoded) 2016-01-09 15:55:11 +03:00
Diego Saint Esteben
e38fa135ab Use proper class to fetch $versionStrategy property 2016-01-07 19:01:12 +01:00
Titouan Galopin
a7b7766983 [FrameworkBundle] Add case in Kernel directory guess for PHPUnit 2016-01-06 11:27:30 +01:00
Nicolas Grekas
6cd79e92f6 Merge branch '2.3' into 2.7
* 2.3:
  [Process] Fix potential race condition
  typo
  [FrameworkBundle] Set the kernel.name properly after a cache warmup
  Removed spaces before semicolon
2016-01-06 10:57:37 +01:00
Titouan Galopin
758fc1dfb2 [FrameworkBundle] Add case in Kernel directory guess for PHPUnit 2016-01-06 10:52:17 +01:00
Jakub Zalas
1438b9a067 [FrameworkBundle] Set the kernel.name properly after a cache warmup 2016-01-04 18:15:54 +01:00
Fabien Potencier
d6f503660f Merge branch '2.3' into 2.7
* 2.3:
  Update copyright year
  [2.3] Static Code Analysis for Components
2016-01-03 16:32:00 +01:00
Diego Saint Esteben
ce067e6460 Update copyright year 2016-01-01 23:53:47 -03:00
Tobias Schultze
140ed985be feature #16747 [Form] Improved performance of ChoiceType and its subtypes (webmozart)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Improved performance of ChoiceType and its subtypes

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

I found out today that, although CachingFactoryDecorator is part of Symfony 2.7, it is not configured to be used in the DI configuration. This simple in-memory cache improved the page load by 50% for one considerably large form with many (~600) choice/entity fields that I was working on today.

Also, caching of query builders with parameters was broken, since the parameters are represented by objects. PHP's object hashes were used to calculate the cache keys, hence the cache always missed. I converted parameters to arrays for calculating the cache keys to fix this problem.

Commits
-------

a0ef101 [Form] Improved performance of ChoiceType and its subtypes
2015-12-30 16:04:43 +01:00
Bernhard Schussek
a0ef1018d6 [Form] Improved performance of ChoiceType and its subtypes 2015-12-30 11:11:52 +01:00
Nicolas Grekas
a63dd194ed Merge branch '2.3' into 2.7
* 2.3:
  [travis] timeout the sigchild tests at 60s
  CS: Single line comments should use double slashes (//) and not hash (#).
  Do not use HttpKernel Extension when not needed
  bumped Symfony version to 2.3.37
  updated VERSION for 2.3.36
  update CONTRIBUTORS for 2.3.36
  updated CHANGELOG for 2.3.36
  use nowdoc instead of heredoc

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/ConfigDumpReferenceCommand.php
	src/Symfony/Bundle/FrameworkBundle/Command/RouterApacheDumperCommand.php
	src/Symfony/Bundle/FrameworkBundle/Command/RouterMatchCommand.php
	src/Symfony/Bundle/FrameworkBundle/Translation/Translator.php
	src/Symfony/Bundle/TwigBundle/Command/LintCommand.php
	src/Symfony/Component/Config/Tests/Definition/Dumper/YamlReferenceDumperTest.php
	src/Symfony/Component/Debug/ExceptionHandler.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Routing/Generator/Dumper/PhpGeneratorDumper.php
2015-12-28 14:11:03 +01:00
Tobias Schultze
cc64c54cfa Do not use HttpKernel Extension when not needed for 2.7 2015-12-26 18:53:53 +01:00
Gregor Harlan
3dca549b95 use nowdoc instead of heredoc 2015-12-21 17:05:00 +01:00
Nicolas Grekas
85814de44c Merge branch '2.3' into 2.7
* 2.3:
  prefer phpunit 5.x on hhvm
  [FrameworkBundle][HttpKernel] the finder is required to discover bundle commands
  [travis] Auto-conf deps=high matrix line
  Fix the logout path when not using the router
  [HttpFoundation] Added the ability of mapping stream wrapper protocols when using X-Sendfile
  [HttpFoundation] Add a test case for using BinaryFileResponse with stream wrappers

Conflicts:
	.travis.yml
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Bundle/SecurityBundle/Templating/Helper/LogoutUrlHelper.php
2015-12-18 16:35:58 +01:00
Christian Flothmann
17fcef5aff [FrameworkBundle][HttpKernel] the finder is required to discover bundle commands 2015-12-18 10:21:31 +01:00
Tobias Schultze
88d586b447 Merge branch '2.3' into 2.7 2015-12-15 02:31:17 +01:00
Nicolas Grekas
f253d624a0 Merge branch '2.3' into 2.7
* 2.3:
  [Process] Enhance compatiblity with --enable-sigchild
  [Process] Always call proc_close
  [Validator] Updated Luxembourgish translations for 2.8
  [FrameworkBundle] prevent cache:clear creating too long paths

Conflicts:
	src/Symfony/Component/Process/Tests/ProcessTest.php
	src/Symfony/Component/Process/Tests/SigchildDisabledProcessTest.php
	src/Symfony/Component/Process/Tests/SigchildEnabledProcessTest.php
	src/Symfony/Component/Process/Tests/SimpleProcessTest.php
	src/Symfony/Component/Validator/Resources/translations/validators.lb.xlf
2015-12-10 17:58:22 +01:00
Nicolas Grekas
99535506e8 Clean useless deprecation silencing 2015-12-10 15:12:08 +01:00
Kévin Dunglas
23431e99d6 [FrameworkBundle] Compute the kernel root hash only one time 2015-12-10 11:46:31 +01:00
Tobias Schultze
4cde2d1e33 bug #16829 [FrameworkBundle] prevent cache:clear creating too long paths (Tobion)
This PR was merged into the 2.3 branch.

Discussion
----------

[FrameworkBundle] prevent cache:clear creating too long paths

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

Commits
-------

6e279c5 [FrameworkBundle] prevent cache:clear creating too long paths
2015-12-10 01:42:36 +01:00
Fabien Potencier
420da14156 bug #16757 [FrameworkBundle] [Translation] Fixed translations not written when no translations directory in update command (jeremyFreeAgent)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle] [Translation] Fixed translations not written when no translations directory in update command

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

Currently when you run the TranslationUpdateCommand and want to write the translation in the domain file without a `translations` directory the output is `[OK] Success` but the file is not created.

This PR fix the creation of the directory.

Commits
-------

8c45107 [FrameworkBundle] [Translation] Fixed translations not written when no translations directory in update command
2015-12-08 19:14:24 +01:00
Fabien Potencier
b8fbe69bb8 bug #16871 [FrameworkBundle] Disable built-in server commands when Process component is missing (gnugat, xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle] Disable built-in server commands when Process component is missing

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

This also backports the improvement for the `suggest` section from #16650 to the `2.7` branch and improves it by also mentioning the other built-in server commands.

Commits
-------

972c4ca disable server commands without Process component
dd82b64 list all server command names in suggestion
d18fb9b Suggested Process dependency
2015-12-07 22:55:06 +01:00
Fabien Potencier
52915ede0f Merge branch '2.3' into 2.7
* 2.3:
  disable server:run cmd without Process component
  Suggested Process dependency
2015-12-07 22:53:02 +01:00
Christian Flothmann
972c4caae8 disable server commands without Process component 2015-12-06 23:34:46 +01:00
Christian Flothmann
dd82b6459d list all server command names in suggestion 2015-12-06 23:34:45 +01:00
Loïc Faugeron
d18fb9bbbe Suggested Process dependency
The `server:run` command requires the Process component.
2015-12-06 23:33:58 +01:00
Christian Flothmann
99d174176a disable server:run cmd without Process component 2015-12-06 23:31:12 +01:00
Loïc Faugeron
604174c963 Suggested Process dependency
The `server:run` command requires the Process component.
2015-12-06 23:31:09 +01:00
Tobias Schultze
6e279c5f8a [FrameworkBundle] prevent cache:clear creating too long paths 2015-12-05 03:07:20 +01:00
Jérémy Romey
8c45107856 [FrameworkBundle] [Translation] Fixed translations not written when no translations directory in update command 2015-11-30 14:03:45 +01:00
Nicolas Grekas
ef61e5481f Forward compatibility with AbstractLayout* 2.8 tests 2015-11-29 18:06:34 +01:00
Nicolas Grekas
a8d21b5ca9 Merge branch '2.3' into 2.7
* 2.3:
  Fix undefined array $server
  [ProxyManager] Tmp fix composer reqs issue in ZF
  Add missing exclusions from phpunit.xml.dist
  Fix the server variables in the router_*.php files
  [Validator] Allow an empty path with a non empty fragment or a query
  The following change adds support for Armenian pluralization.
  [2.3][Process] fix Proccess run with pts enabled

Conflicts:
	composer.json
	src/Symfony/Bridge/ProxyManager/composer.json
	src/Symfony/Bundle/DebugBundle/phpunit.xml.dist
	src/Symfony/Component/Security/phpunit.xml.dist
2015-11-18 14:41:01 +01:00
Nicolas Grekas
d4880c4785 Add missing exclusions from phpunit.xml.dist 2015-11-18 09:19:46 +01:00
Fabien Potencier
c0f7463c3e bug #16352 Fix the server variables in the router_*.php files (leofeyer)
This PR was squashed before being merged into the 2.3 branch (closes #16352).

Discussion
----------

Fix the server variables in the router_*.php files

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

The built-in web server automatically rewrites everything to the `app_dev.php` script, but it does not adjust the server variables accordingly.

Here is the output of `print_r($_SERVER)` on Apache with mod_rewrite enabled (relevant lines only):

```
Array
(
    [REQUEST_URI] => /text-elements.html
    [SCRIPT_NAME] => /app_dev.php
    [PHP_SELF] => /app_dev.php
)
```

And here is the output of the exact same script on the built-in server:

```
Array
(
    [REQUEST_URI] => /text-elements.html
    [SCRIPT_NAME] => /text-elements.html
    [PHP_SELF] => /text-elements.html
)
```

And here is the return value of Symfony's `Request::getScriptName()` method:

```php
// Apache: http://localhost/text-elements.html
echo $this->container->get('request_stack')->getCurrentRequest()->getScriptName(); // /app_dev.php

// Built-in web server: http://127.0.0.1:8000/text-elements.html
echo $this->container->get('request_stack')->getCurrentRequest()->getScriptName(); // /text-elements.html
```

This PR fixes the two server variables in the `router_dev.php` script.

Commits
-------

4923411 Fix the server variables in the router_*.php files
2015-11-13 09:09:50 +01:00
Leo Feyer
4923411062 Fix the server variables in the router_*.php files 2015-11-13 09:09:48 +01:00
Fabien Potencier
aacbcef537 bug #16384 [FrameworkBundle] JsonDescriptor - encode container params only once (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle] JsonDescriptor - encode container params only once

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

Commits
-------

dd9d076 JsonDescriptor - encode container params only once
2015-11-07 09:20:26 +01:00
Fabien Potencier
05c2ecc124 Merge branch '2.3' into 2.7
* 2.3:
  added the new Composer exclude-from-classmap option
  fix expected argument type docblock
  Set back libxml settings after testings.
  fixed Twig deprecation notices
2015-10-30 13:10:21 -07:00
Anne-Sophie Bachelard
65bef75bef added the new Composer exclude-from-classmap option 2015-10-30 12:48:51 -07:00
Christian Flothmann
dd9d076a0b JsonDescriptor - encode container params only once 2015-10-29 22:04:12 +01:00
Fabien Potencier
ced865deb1 Merge branch '2.3' into 2.7
* 2.3:
  fixed YAML files missing quotes when a string starts with @
  [Routing] mark internal classes
  [Translation][Csv file] remove unnecessary statements, for better readability.
  [Form] remove validation of FormRegistry::getType as FormRegistry::hasType does not validate either
2015-10-27 08:38:06 -07:00
Fabien Potencier
e36fea8a63 fixed YAML files missing quotes when a string starts with @ 2015-10-26 13:58:42 +01:00
Nicolas Grekas
f30ae9a9bb Merge branch '2.3' into 2.7
* 2.3:
  [ci] SymfonyTestsListener is now auto-registered
  adds validation messages missing italian translations
2015-10-11 11:39:48 +02:00
Nicolas Grekas
d1d0e041c2 [ci] SymfonyTestsListener is now auto-registered 2015-10-11 11:37:49 +02:00
Nicolas Grekas
52dbc3b7cc minor #16186 [2.7][tests] Use @requires annotation when possible (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7][tests] Use @requires annotation when possible

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

Commits
-------

b028aea [tests] Use @requires annotation when possible
2015-10-10 11:27:33 +02:00
Nicolas Grekas
309ad43b71 Merge branch '2.3' into 2.7
* 2.3:
  [tests] Use @requires annotation when possible
  [ci] Enable collecting and replaying skipped tests
  [Process] Workaround buggy PHP warning
  [Console] Add additional ways to detect OS400 platform
  [Yaml] Allow tabs before comments at the end of a line

Conflicts:
	composer.json
	src/Symfony/Bridge/Doctrine/Tests/Logger/DbalLoggerTest.php
	src/Symfony/Bridge/Monolog/composer.json
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Bundle/SecurityBundle/composer.json
	src/Symfony/Component/Asset/composer.json
	src/Symfony/Component/ClassLoader/Tests/LegacyApcUniversalClassLoaderTest.php
	src/Symfony/Component/Console/composer.json
	src/Symfony/Component/Debug/composer.json
	src/Symfony/Component/DomCrawler/composer.json
	src/Symfony/Component/EventDispatcher/composer.json
	src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php
	src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php
	src/Symfony/Component/HttpFoundation/composer.json
	src/Symfony/Component/Intl/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
2015-10-10 11:26:25 +02:00
Nicolas Grekas
b028aeaa04 [tests] Use @requires annotation when possible 2015-10-10 11:00:45 +02:00
Nicolas Grekas
4032c88a21 [ci] Enable collecting and replaying skipped tests 2015-10-10 10:46:02 +02:00
Nicolas Grekas
26ca3dc6c2 [FrameworkBundle] Fix deps=low/high tests 2015-10-06 16:14:42 +02:00
maxime.steinhausser
1ed07a09d8 [FrameworkBundle] [Security] Remove trans from the security/core in 2.3 & dir loading 2015-10-06 14:29:32 +02:00
Nicolas Grekas
f37ceef819 [FrameworkBundle] Fix translations dir discovery 2015-10-06 10:41:18 +02:00