Commit Graph

14473 Commits

Author SHA1 Message Date
Fabien Potencier
1eed20a3f6 feature #11086 [HttpFoundation] Added ParameterBag::getBoolean (peterjmit)
This PR was merged into the 2.3-dev branch.

Discussion
----------

[HttpFoundation] Added ParameterBag::getBoolean

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

At the moment to pull a boolean value from a request the user has to use `ParameterBag::filter` or use `filter_var` directly

```php
// GET /products?hide_archived=true
$request->query->filter('hide_archived', false, false, FILTER_VALIDATE_BOOLEAN);
// or
filter_var($request->query->get('hide_archived'), FILTER_VALIDATE_BOOLEAN);
```

This is a pure convenience addition, adding a nice way of pulling a boolean value from a query string or request body (especially if http form/url encoded).

Example usage:
```php
// GET /products?hide_archived=true
$request->query->getBoolean('hide_archived'); // (boolean) true
$request->query->get('hide_archived'); // (string) "true"

// GET /products?hide_archived=1
$request->query->getBoolean('hide_archived'); // (boolean) true

// GET /products?hide_archived=false
$request->query->getBoolean('hide_archived'); // (boolean) false

// GET /products?hide_archived=banana
$request->query->getBoolean('hide_archived'); // (boolean) false
```

Commits
-------

36c58f8 [HttpFoundation] Added ParameterBag::getBoolean
2014-06-16 09:42:55 +02:00
Vyacheslav Salakhutdinov
1b253cb14d Disallow empty file in FileValidator 2014-06-15 13:48:08 +00:00
Fabien Potencier
9e3e89ae33 feature #8133 [Form] Add allow_extra_fields option on forms (felds)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Form] Add allow_extra_fields option on forms

This is specially useful when creating different *nameless* GET forms on the same page (ex: pagination and search).

Commits
-------

c6f3dd6 add allow_extra_fields option
2014-06-13 13:04:41 +02:00
Fabien Potencier
4ab34d686b Merge branch '2.5'
* 2.5:
  Minor doc fix.
  Simplified the way to update PHPUnit to the latest version
  [Debug] work-around https://bugs.php.net/61272
  [Debug] simplify code path to remove potential blank pages
  [Process] Minor README update
  [HttpFoundation] Basic auth in url is broken when using PHP CGI/FPM
  Fixed a html error "Element ul is not closed" in logger.html.twig
  [HttpFoundation] Officialize the 308 redirect RFC
  Officialize the 308 redirect RFC
  issue #10808 crawler test
  Empty select with attribute name="foo[]" bug fix
  Fixed contextually wrong translation
2014-06-12 12:01:10 +02:00
Fabien Potencier
e74d37b864 Merge branch '2.4' into 2.5
* 2.4:
  Minor doc fix.
  Simplified the way to update PHPUnit to the latest version
  [Process] Minor README update
  [HttpFoundation] Basic auth in url is broken when using PHP CGI/FPM
  Fixed a html error "Element ul is not closed" in logger.html.twig
  [HttpFoundation] Officialize the 308 redirect RFC
  Officialize the 308 redirect RFC
  issue #10808 crawler test
  Empty select with attribute name="foo[]" bug fix
  Fixed contextually wrong translation
2014-06-12 12:01:04 +02:00
Fabien Potencier
ec1065ac97 Merge branch '2.3' into 2.4
* 2.3:
  Minor doc fix.
  Simplified the way to update PHPUnit to the latest version
  [Process] Minor README update
  [HttpFoundation] Basic auth in url is broken when using PHP CGI/FPM
  Fixed a html error "Element ul is not closed" in logger.html.twig
  [HttpFoundation] Officialize the 308 redirect RFC
  issue #10808 crawler test
  Empty select with attribute name="foo[]" bug fix
  Fixed contextually wrong translation
2014-06-12 12:00:57 +02:00
Hans N. Hjort
bf21d1a0f1 Minor doc fix. 2014-06-12 11:58:07 +02:00
Fabien Potencier
cf28fd40b5 bug #11092 [HttpFoundation] Fix basic authentication in url with PHP-FPM (Kdecherf)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpFoundation] Fix basic authentication in url with PHP-FPM

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

`getUser()` and `getPassword()` from `Request` are broken when using PHP-FPM because of the lack of `$_SERVER['PHP_AUTH_USER']` and `$_SERVER['PHP_AUTH_PW']`. This PR fixes the issue.

However, now an empty password will return an empty string (which is the expected behavior of `ServerBag`) instead of `NULL`. The test is updated accordingly, but should we consider this as a breakage?

This issue was spotted by using basic auth via the Illuminate component of Laravel and is present from v2.1.0 to master.

Commits
-------

7a75adf [HttpFoundation] Basic auth in url is broken when using PHP CGI/FPM
2014-06-12 10:56:53 +02:00
Nicolas Grekas
cb8aff323e [Debug] work-around https://bugs.php.net/61272 2014-06-11 20:54:02 +02:00
Fabien Potencier
81f5cc91cb minor #11067 [Stopwatch] Added return type to Stopwatch::getSections() (umpirsky)
This PR was merged into the 2.6-dev branch.

Discussion
----------

[Stopwatch] Added return type to Stopwatch::getSections()

https://github.com/symfony/symfony/pull/10851#discussion_r13479016

Commits
-------

ab00361 Added return type to Stopwatch::getSections()
2014-06-11 15:30:39 +02:00
Nicolas Grekas
ecefccd8ba [Debug] simplify code path to remove potential blank pages 2014-06-11 12:05:25 +02:00
Romain Neutron
c7d6bbbacc [Process] Minor README update 2014-06-11 09:56:44 +02:00
Romain Neutron
edc1bfeb2b [Console] Add process helper tests 2014-06-11 08:54:52 +02:00
Peter Mitchell
36c58f84d8 [HttpFoundation] Added ParameterBag::getBoolean
Added the getBoolean method as a convenience on top of the pre-existing
ParameterBag::filter method
2014-06-10 18:08:57 -04:00
Kevin Decherf
7a75adf6f1 [HttpFoundation] Basic auth in url is broken when using PHP CGI/FPM
Request#getUser() and Request#getPassword() introduced in
aecfd0a891 do not handle the lack of
PHP_AUTH_USER and PHP_AUTH_PW in $this->server when using PHP-FPM. Use
$this->headers instead.
Furthermore, the test of empty password now expects an empty string
instead of NULL according to a450d002f2.
2014-06-10 23:31:45 +02:00
Fabien Potencier
faffe7e3a8 [Console] added a Process helper 2014-06-10 19:20:02 +02:00
Martin Hasoň
e3bf86f31c Fixed a html error "Element ul is not closed" in logger.html.twig 2014-06-09 21:13:04 +02:00
Fabien Potencier
8f0b984d76 Merge branch '2.5'
* 2.5: (25 commits)
  [Bridge][Twig] Replace deprecated features
  Yaml component change in 2.5
  [HttpFoundation] fix switch statement
  [serializer] fixed whitespace issue when decoding xml
  [Doctrine Bridge] fix DBAL session handler according to PdoSessionHandler
  #10862 loadClassMetadata vs loadValidatorMetadata: revert default config
  fixed previous merge
  Added phpdoc for Cache-Control directives methods
  [Console] OutputFormatter Unset Bold has wrong id
  [Debug] fix debug handlers config
  [Serializer] fixed bc-break with cdata-section nodes
  Remove undefined variable $e
  [Debug] fix wrong case mismatch exception
  bumped Symfony version to 2.5.1
  bumped Symfony version to 2.4.7
  bumped Symfony version to 2.3.17
  Fix a parameter name in a test
  updated VERSION for 2.5.0
  updated CHANGELOG for 2.5.0
  updated VERSION for 2.4.6
  ...

Conflicts:
	src/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php
	src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php
	src/Symfony/Component/HttpKernel/Kernel.php
2014-06-07 17:54:31 +02:00
Fabien Potencier
3e62ad8e53 [HttpFoundation] Officialize the 308 redirect RFC 2014-06-07 17:46:10 +02:00
Jordi Boggiano
9834670d18 Officialize the 308 redirect RFC 2014-06-07 17:45:34 +02:00
Tobias Schultze
8d375ca81b [HttpFoundation] merge symfony/symfony#11009 into master 2014-06-06 14:10:28 +02:00
umpirsky
ab003619b7 Added return type to Stopwatch::getSections() 2014-06-06 12:36:27 +02:00
Michal Dabrowski
876d6caacb issue #10808 crawler test 2014-06-06 07:27:49 +02:00
Darius
15f081d80a Empty select with attribute name="foo[]" bug fix
If you have a select with attribute name="foo[]", and you submit your form, http_build_query returns empty string as a result. In this case you get a form extra field validation error, because your field "foo" converts to
'' => bool(false)
2014-06-06 07:26:43 +02:00
Alaattin Kahramanlar
96518b4a0b Fixed contextually wrong translation 2014-06-06 06:58:08 +02:00
Fabien Potencier
c558887cdf Merge branch '2.4' into 2.5
* 2.4:
  [Bridge][Twig] Replace deprecated features
  [HttpFoundation] fix switch statement
  [Doctrine Bridge] fix DBAL session handler according to PdoSessionHandler
  fixed previous merge
  Added phpdoc for Cache-Control directives methods
  Remove undefined variable $e
  bumped Symfony version to 2.4.7
  bumped Symfony version to 2.3.17
  Fix a parameter name in a test
  updated VERSION for 2.4.6
  updated CHANGELOG for 2.4.6
  updated VERSION for 2.3.16
  update CONTRIBUTORS for 2.3.16
  updated CHANGELOG for 2.3.16
  [HttpFoundation] use different approach for duplicate keys in postgres, fix merge for sqlsrv and oracle

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2014-06-06 05:57:03 +02:00
Fabien Potencier
b85c68d38a Merge branch '2.3' into 2.4
* 2.3:
  [Bridge][Twig] Replace deprecated features
  [HttpFoundation] fix switch statement
  [Doctrine Bridge] fix DBAL session handler according to PdoSessionHandler
  fixed previous merge
  Added phpdoc for Cache-Control directives methods
  Remove undefined variable $e
  bumped Symfony version to 2.3.17
  Fix a parameter name in a test
  updated VERSION for 2.3.16
  update CONTRIBUTORS for 2.3.16
  updated CHANGELOG for 2.3.16
  [HttpFoundation] use different approach for duplicate keys in postgres, fix merge for sqlsrv and oracle

Conflicts:
	src/Symfony/Component/DependencyInjection/ContainerBuilder.php
	src/Symfony/Component/HttpKernel/Kernel.php
2014-06-06 05:56:41 +02:00
Fabien Potencier
97750f7b02 feature #10427 Username in UsernameNotFoundException message data (maryo)
This PR was squashed before being merged into the 2.6-dev branch (closes #10427).

Discussion
----------

Username in UsernameNotFoundException message data

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

Added username in UsernameNotFoundException message data

Commits
-------

3dfaa19 Username in UsernameNotFoundException message data
2014-06-06 05:53:34 +02:00
Marek Štípek
3dfaa19518 Username in UsernameNotFoundException message data 2014-06-06 05:53:30 +02:00
Fabien Potencier
5925780d5f feature #10660 [RFC][WebProfilerBundle] Add simple placeholders into search form (stloyd)
This PR was merged into the 2.6-dev branch.

Discussion
----------

[RFC][WebProfilerBundle] Add simple placeholders into search form

This is an RFC mostly, it's not a real feature, it's more like little helper for the profiler form, I guess that would mostly useful for _newcomers_, but sometimes even _old dogs_ could find it useful sometimes =)

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

![form](https://cloud.githubusercontent.com/assets/67402/2655386/4637aa0c-bfe5-11e3-958e-84308217b52e.png)

Commits
-------

be65226 [WebProfilerBundle] Add simple placeholders into search form
2014-06-06 05:49:45 +02:00
Fabien Potencier
12d44bcf6c feature #10851 Added retrieval of sections (umpirsky)
This PR was squashed before being merged into the 2.3-dev branch (closes #10851).

Discussion
----------

Added retrieval of sections

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

Commits
-------

7928767 Added retrieval of sections
2014-06-06 05:26:07 +02:00
umpirsky
7928767b3e Added retrieval of sections 2014-06-06 05:26:05 +02:00
Eric GELOEN
14a4e4de27 [Bridge][Twig] Replace deprecated features 2014-06-06 05:23:41 +02:00
Tobias Schultze
da24bc9d13 [HttpFoundation] fix switch statement 2014-06-05 14:50:34 +02:00
Fabien Potencier
fe01d10735 bug #11009 [HttpFoundation] smaller fixes for PdoSessionHandler (Tobion)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpFoundation] smaller fixes for PdoSessionHandler

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

For both the PdoSessionHandler and DbalSessionHandler
- https://github.com/symfony/symfony/pull/10652#issuecomment-42370425: Transactional DELETE + INSERT does not work as expected
- https://github.com/symfony/symfony/pull/10652#issuecomment-44359784: sqlsrv 2005 does not support the MERGE SQL, and if used it requires an HOLDLOCK
- missing time update for sqlsrv and oracle

Commits
-------

a0e1d4d [Doctrine Bridge] fix DBAL session handler according to PdoSessionHandler
00d707f [HttpFoundation] use different approach for duplicate keys in postgres, fix merge for sqlsrv and oracle
2014-06-04 19:27:41 +02:00
fieg
466a3d70b7 [serializer] fixed whitespace issue when decoding xml 2014-06-04 12:17:52 +02:00
Tobias Schultze
a0e1d4d5d7 [Doctrine Bridge] fix DBAL session handler according to PdoSessionHandler 2014-06-04 11:55:45 +02:00
Joseph Bielawski
be652260d1 [WebProfilerBundle] Add simple placeholders into search form 2014-06-04 09:22:48 +02:00
Nicolas Grekas
0cee60429e [Yaml] Cleanups for object maps 2014-06-04 08:43:44 +02:00
Zachary Tong
e2d5468b4a [Yaml] Added support for object maps
Previously, the parser treated maps ( {} ) the same as sets ( [] ).
Both were returned as PHP associative arrays. Since
these are distinct entities, this can cause considerably problems for
the users, especially when YAML is being serialized into another
format such as JSON.

This commit allows the user to enable object-map support via a third
parameter on the Parse method.  It defaults to `false`, which means
that this commit does not break backwards compatibility.

If the user enables object-map support, maps are represented
by stdClass() objects.  Sets remain as arrays.
2014-06-04 08:30:39 +02:00
Fabien Potencier
0a177805bc bug #11047 #10862 loadClassMetadata vs loadValidatorMetadata: revert default config (phramz)
This PR was squashed before being merged into the 2.5 branch (closes #11047).

Discussion
----------

#10862 loadClassMetadata vs loadValidatorMetadata: revert default config

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

Commits
-------

3bde718 #10862 loadClassMetadata vs loadValidatorMetadata: revert default config
2014-06-03 23:45:50 +02:00
Maximilian Reichel
3bde718411 #10862 loadClassMetadata vs loadValidatorMetadata: revert default config 2014-06-03 23:45:48 +02:00
Fabien Potencier
4c12b7b9ff feature #9990 [SecurityBundle] added acl:set command (dunglas)
This PR was merged into the 2.6-dev branch.

Discussion
----------

[SecurityBundle] added acl:set command

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

This new command allows to set ACL directly from the command line. This useful to quickly set up an environment and for debugging / maintenance purpose.

This PR also includes a functional test system for the ACL component. As an example, it is used to test the `acl:set` command.
The provided entity class is not mandatory (tests will still be green without it) but can be useful to test other ACL related things. I can remove it if necessary.

The instantiation of the `MaskBuilder` object is done in a separate method to be easily overridable to use a custom one (e.g. the SonataAdmin one).

Commits
-------

a702124 [SecurityBundle] added acl:set command
2014-06-03 23:19:40 +02:00
Fabien Potencier
e8146810e7 feature #10667 [HttpFoundation] Add a way to match a specific scheme in RequestMatcher #10556 (ProPheT777)
This PR was squashed before being merged into the 2.6-dev branch (closes #10667).

Discussion
----------

[HttpFoundation] Add a way to match a specific scheme in RequestMatcher #10556

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

Commits
-------

787ae07 [HttpFoundation] Add a way to match a specific scheme in RequestMatcher #10556
2014-06-03 23:09:10 +02:00
prophet777
787ae070ae [HttpFoundation] Add a way to match a specific scheme in RequestMatcher #10556 2014-06-03 23:09:07 +02:00
Fabien Potencier
4b7e7ad271 feature #10699 [DomCrawler] Added support for slicing nodes (Berat Doğan, beratdogan)
This PR was squashed before being merged into the 2.6-dev branch (closes #10699).

Discussion
----------

[DomCrawler] Added support for slicing nodes

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

There are no easy way to slice nodes in specific range. I created a method using \LimitIterator. Works fine for me.

An example using is:
```php
     $crawler->filter('h1')->slice(5, 10)->each(function ($node, $i) {
         return $node->text();
     });

Commits
-------

1181bdc [DomCrawler] Added support for slicing nodes
2014-06-03 23:06:30 +02:00
Berat Doğan
1181bdc63b [DomCrawler] Added support for slicing nodes 2014-06-03 23:05:08 +02:00
Fabien Potencier
be6aac252e feature #10792 [Security] Allow overloading ContextListener::refreshUser() (lstrojny)
This PR was merged into the 2.6-dev branch.

Discussion
----------

[Security] Allow overloading ContextListener::refreshUser()

Allow overloading refreshUser() for the use case of doing something special with user providers.

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

Commits
-------

b67ed43 Allow overloading ContextListener::refreshUser()
2014-06-03 22:56:38 +02:00
Fabien Potencier
df3d3f70d3 minor #10980 error.html.twig should contain a email value (clemens-tolboom)
This PR was squashed before being merged into the 2.3-dev branch (closes #10980).

Discussion
----------

error.html.twig should contain a email value

When getting an exception on env PROD it would be nice to have an email to report to.

Current code has [email] instead of a value.

I'm not sure how to fix this as the email value should come from exception.html.twig

```html
<div id="logs">
    {% include 'TwigBundle:Exception:logs.html.twig' with { 'logs': logger.logs } only %}
</div>
```

Some hints are welcome.

Commits
-------

030b8c0 error.html.twig should contain a email value
2014-06-03 22:41:36 +02:00
Clemens Tolboom
030b8c05ea error.html.twig should contain a email value 2014-06-03 22:41:34 +02:00