Commit Graph

5579 Commits

Author SHA1 Message Date
Fabien Potencier
77a961d040 Merge branch '2.2' into 2.3
* 2.2:
  [Process] Fix #9182 : random failure on pipes tests
  Fixed propel guessed relations
  [FramworkBundle][HttpKernel] Check event listener services are not abstract
  fixed CS
  Check for lock existence before unlinking
  [FrameworkBundle] fixed path replacement on Windows

Conflicts:
	src/Symfony/Component/Process/Process.php
2013-10-09 22:51:36 +02:00
Fabien Potencier
8bee6883b6 fixed a test 2013-10-09 09:29:29 +02:00
Fabien Potencier
911b328dc1 bug #9216 [Security\Csrf] Split CsrfTokenGenerator into CsrfTokenManager and TokenGenerator (bschussek)
This PR was merged into the master branch.

Discussion
----------

[Security\Csrf] Split CsrfTokenGenerator into CsrfTokenManager and TokenGenerator

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

This is a follow-up PR of #6554 that splits the CsrfTokenGenerator into two separate classes for generating and managing CSRF tokens. As a consequence, it is now possible to explicitly remove or refresh CSRF tokens if they should be used only once. See #9210 for more information.

Commits
-------

d4bb5f4 [Security\Csrf] Split CsrfTokenGenerator into CsrfTokenManager and TokenGenerator
2013-10-07 15:08:26 +02:00
Bernhard Schussek
d4bb5f4e3c [Security\Csrf] Split CsrfTokenGenerator into CsrfTokenManager and TokenGenerator 2013-10-07 14:50:43 +02:00
Grégoire Pineau
cabb1fa8bb [FrameworkBundle] Adds the possibility to register Commands via the DIC 2013-10-04 16:09:28 +02:00
Grégoire Pineau
6744ead017 [FramworkBundle][HttpKernel] Check event listener services are not abstract 2013-10-04 15:20:41 +02:00
Fabien Potencier
678e1de289 skipped some tests on PHP 5.3 2013-10-04 15:17:50 +02:00
Fabien Potencier
86ef58c771 fixed some tests 2013-10-04 11:41:28 +02:00
Fabien Potencier
600f3bb5db [Console] fixed tests 2013-10-04 11:08:13 +02:00
Adrien Brault
4e6b27fe90 [Form] Choice children can be template customized like collection 2013-10-03 14:04:01 -07:00
Fabien Potencier
96fb922e67 bug #9197 [FrameworkBundle] updated XML route description (jfsimon)
This PR was merged into the master branch.

Discussion
----------

[FrameworkBundle] updated XML route description

This PR turns

```xml
<route name="route_1" path="/hello/{name}" class="Symfony\Component\Routing\Route" path_regex="#^/hello(?:/(?P&lt;name&gt;[a-z]+))?$#s">
```

into

```xml
<route name="route_1" class="Symfony\Component\Routing\Route">
    <path regex="#^/hello(?:/(?P&lt;name&gt;[a-z]+))?$#s">/hello/{name}</path>
```

in XML routing description.

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

Commits
-------

7b99ede [FrameworkBundle] updated XML route description
2013-10-02 16:57:54 +02:00
Fabien Potencier
fe5961a6cd [FrameworkBundle] moved router:debug and container:debug to use the compact layout 2013-10-02 16:43:14 +02:00
Fabien Potencier
bd16157e98 [FrameworkBundle] changed JSON descriptors to be more readable on PHP 5.4+ 2013-10-02 16:42:10 +02:00
Fabien Potencier
1d210f86a6 [FrameworkBundle] changed the router:debug to use the shortcut notation for the controller 2013-10-02 16:42:09 +02:00
Fabien Potencier
d997dfa556 [FrameworkBundle] fixed container:debug and router:debug commands 2013-10-02 16:42:09 +02:00
Jean-François Simon
7b99ede0dc [FrameworkBundle] updated XML route description 2013-10-02 09:30:07 +02:00
Fabien Potencier
04d767db56 fixed CS 2013-10-01 19:34:40 +02:00
Fabien Potencier
e47677edd5 minor #8487 [FrameworkBundle] The config:dump-reference command shows the list of bundles with the table helper (saro0h)
This PR was merged into the master branch.

Discussion
----------

[FrameworkBundle] The config:dump-reference command shows the list of bundles with the table helper

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no

Commits
-------

31c6c62 [FrameworkBundle] The config:dump-reference command shows the list of bundles with the table helper
2013-10-01 19:32:30 +02:00
Fabien Potencier
f8f8816e4b Merge branch '2.3'
* 2.3:
  Fix: duplicate usage of Symfony\Component\HttpFoundation\Response
  [Form] add support for Length and Range constraint in order to replace MaxLength, MinLength, Max and Min constraints in next release (2.3)
  Revert "merged branch Tobion/flattenexception (PR #9111)"
  [Form] check the required output timezone against the actual timezone of the input datetime object, rather than the expected timezone supplied

Conflicts:
	src/Symfony/Component/HttpKernel/EventListener/ExceptionListener.php
2013-10-01 16:17:10 +02:00
Fabien Potencier
31fb8c7cc3 feature #7887 [FrameworkBundle] adds routing/container descriptors (jfsimon)
This PR was squashed before being merged into the master branch (closes #7887).

Discussion
----------

[FrameworkBundle] adds routing/container descriptors

The goal of this PR is to add descriptors (as in #7454) for routing and container. This will permit add a `--format` option to `router:debug` and `container:debug` commands (with `txt`, `json`, `xml` and `md` formats).

Commits
-------

22f9bc8 [FrameworkBundle] adds routing/container descriptors
2013-10-01 16:13:14 +02:00
Jean-François Simon
22f9bc887e [FrameworkBundle] adds routing/container descriptors 2013-10-01 16:13:13 +02:00
Fabien Potencier
abb765f135 minor #8927 [Templating] fix logic regarding template references and many phpdocs (Tobion)
This PR was squashed before being merged into the master branch (closes #8927).

Discussion
----------

[Templating] fix logic regarding template references and many phpdocs

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

this clarifies the expected types and exceptions by much. and it fixes some logic flaws.
- missing info/methods in interfaces
- respecting Twig_LoaderInterface only accepting strings, not objects

related to fabpot/Twig#1183 but does not depend on it

Commits
-------

f6c12bd [Templating] fix logic regarding template references and many phpdocs
2013-10-01 14:37:06 +02:00
Tobias Schultze
f6c12bd6de [Templating] fix logic regarding template references and many phpdocs 2013-10-01 14:37:05 +02:00
Fabien Potencier
526d2858f2 [FrameworkBundle] fixed path replacement on Windows
In the cache, blackslashes in paths can be both represented by a single
or a double backslash.
2013-10-01 11:24:08 +02:00
Adrien Brault
38f02eacbf [HttpFoundation] Add a way to avoid the session be written at each request 2013-09-30 12:03:12 -07:00
Fabien Potencier
1e1835ef59 [FrameworkBundle] made sure that the debug event dispatcher is used everywhere 2013-09-30 17:51:41 +02:00
Fabien Potencier
bdcdc6eddb feature#9170 Decoupled TraceableEventDispatcher from the Profiler (fabpot)
This PR was merged into the master branch.

Discussion
----------

Decoupled TraceableEventDispatcher from the Profiler

| 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

This PR removes the Profiler dependency on the TraceableEventDispatcher. That makes things more decoupled and cleaner. This PR also cleans up how profiles are stored; a Profile is now always stored only once.

I've created a `LateDataCollectorInterface` that is implemented for data collector that needs to get information from data that are available very late in the request process (when the request and the response are not even available anymore). The `lateCollect()` method is called just before the profile is stored.

We have 3 data collectors that implement that interface:

 * Time: As the traceable event dipsatcher gets inject timing information via the stopwatch about all events (including the `terminate` one), we need to get events from the stopwatch as late as possible.
 * Event: The traceable event dispatcher gathers all called listeners to determine non-called ones. To be able to accurately do that for all events (including the `terminate` one), we need to get the data as late as possible.
 * Memory: We want to get the memory as late as possible to get the most accurate number as possible

I'm not very happy with the name and as always, better suggestions would be much appreciated.

This is an extract from #9168

Commits
-------

5cedea2 [HttpKernel] added LateDataCollectorInterface
9c4bc9a [HttpKernel] decoupled TraceableEventDispatcher and Profiler
2013-09-30 17:42:20 +02:00
Fabien Potencier
0f80916313 feature#6554 [Security] Added Security\Csrf sub-component with better token generation (bschussek)
This PR was merged into the master branch.

Discussion
----------

[Security] Added Security\Csrf sub-component with better token generation

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

**Update September 27, 2013**

This PR simplifies the CSRF mechanism to generate completely random tokens. A random token is generated once per ~~intention~~ token ID and then stored in the session. Tokens are valid until the session expires.

Since the CSRF token generator depends on `StringUtils` and `SecureRandom` from Security\Core, and since Security\Http currently depends on the Form component for token generation, I decided to add a new Security\Csrf sub-component that contains the improved CSRF token generator. Consequences:

* Security\Http now depends on Security\Csrf instead of Form
* Form now optionally depends on Security\Csrf
* The configuration for the "security.secure_random" service and the "security.csrf.*" services was moved to FrameworkBundle to guarantee BC

In the new Security\Csrf sub-component, I tried to improve the naming where I could do so without breaking BC:

* CSRF "providers" are now called "token generators"
* CSRF "intentions" are now called "token IDs", because that's really what they are

##### TODO

- [ ] The documentation needs to be checked for references to the configuration of the application secret. Remarks that the secret is used for CSRF protection need to be removed.
- [ ] Add aliases "csrf_token_generator" and "csrf_token_id" for "csrf_provider" and "intention" in the SecurityBundle configuration
- [x] Make sure `SecureRandom` never blocks for `CsrfTokenGenerator`

Commits
-------

7f02304 [Security] Added missing PHPDoc tag
2e04e32 Updated Composer dependencies to require the Security\Csrf component where necessary
bf85e83 [FrameworkBundle][SecurityBundle] Added service configuration for the new Security CSRF sub-component
2048cf6 [Form] Deprecated the CSRF implementation and added an optional dependency to the Security CSRF sub-component instead
85d4959 [Security] Changed Security HTTP sub-component to depend on CSRF sub-component instead of Form
1bf1640 [Security] Added CSRF sub-component
2013-09-30 17:35:08 +02:00
Fabien Potencier
164c1cbfec feature#9171 [Form] Rewrite boolean attributes to match HTML spec (bschussek)
This PR was merged into the master branch.

Discussion
----------

[Form] Rewrite boolean attributes to match HTML spec

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

Same as #7856

> 'The presence of a boolean attribute on an element represents the true value, and the absence of the attribute represents the false value.' - http://www.w3.org/html/wg/drafts/html/master/infrastructure.html#boolean-attribute

This commit modifies widget_container_attributes and widget_attributes so that:

* `true` values render as the attribute name with the attribute name repeated as the value
* `false` values are not rendered

The comparison is strict using sames() in twig.

Previously `false` values would have been rendered as `some-attribute=""` which according to the spec would actually make them a boolean attribute and therefore equal to true.

Commits
-------

b85577b [Form] Improved test coverage of widget_attributes and widget_container_attributes blocks
8e4c2a7 [Form] Rewrite boolean attributes to match HTML spec
2013-09-30 15:57:18 +02:00
Bernhard Schussek
2e04e32c8f Updated Composer dependencies to require the Security\Csrf component where necessary 2013-09-30 14:39:06 +02:00
Bernhard Schussek
b85577bb96 [Form] Improved test coverage of widget_attributes and widget_container_attributes blocks 2013-09-30 14:32:22 +02:00
Fabien Potencier
e0d3573454 Revert "merged branch Tobion/flattenexception (PR #9111)"
This reverts commit 53b2048c4c, reversing
changes made to c60a8e962b.
2013-09-30 11:54:26 +02:00
Fabien Potencier
9c4bc9a0ed [HttpKernel] decoupled TraceableEventDispatcher and Profiler 2013-09-30 10:52:26 +02:00
Fabien Potencier
d10dec9bf3 Merge branch '2.3'
* 2.3:
  fixed Client when using the terminable event
  Fix problem with Windows file links (backslash in JavaScript string)
  [Security] fixed wrong phpdoc
  [DependencyInjection] Prevented inlining of lazy loaded private service definitions.
  [Routing] removed extra argument
  [HttpFoundation] Header `HTTP_X_FORWARDED_PROTO` can contain various values Some proxies use `ssl` instead of `https`, as well as Lighttpd mod_proxy allows value chaining (`https, http`, where `https` is always first when request is encrypted).
  Added doc comments

Conflicts:
	src/Symfony/Component/Routing/Router.php
	src/Symfony/Component/Security/Http/Firewall.php
2013-09-29 21:43:28 +02:00
Fabien Potencier
bc256f9da4 Merge branch '2.2' into 2.3
* 2.2:
  fixed Client when using the terminable event
  Fix problem with Windows file links (backslash in JavaScript string)
  [Security] fixed wrong phpdoc
  [Routing] removed extra argument
  [HttpFoundation] Header `HTTP_X_FORWARDED_PROTO` can contain various values Some proxies use `ssl` instead of `https`, as well as Lighttpd mod_proxy allows value chaining (`https, http`, where `https` is always first when request is encrypted).
  Added doc comments

Conflicts:
	src/Symfony/Component/HttpFoundation/Request.php
2013-09-29 21:41:41 +02:00
Fabien Potencier
8c8cf62038 fixed Client when using the terminable event 2013-09-29 21:31:28 +02:00
Thomas Schulz
5e2ac93f98 Fix problem with Windows file links (backslash in JavaScript string) 2013-09-27 23:42:26 +02:00
Fabien Potencier
9988475881 feature#8534 [Translation] Added support for JSON format (both loader and dumper). (singles)
This PR was merged into the master branch.

Discussion
----------

[Translation] Added support for JSON format (both loader and dumper).

Based on `IniFileLoader\Dumper`.

Q | A
--- | ---
Bug fix? |no
New feature?	| yes
BC breaks?|	no
Deprecations?	|no
Tests pass?	| yes
Fixed tickets	| -
License	| MIT
Doc | this component don't have docs

Commits
-------

fcef021 [Translation] Added support for JSON format (both loader and dumper).
2013-09-27 15:25:18 +02:00
Bernhard Schussek
bf85e8365a [FrameworkBundle][SecurityBundle] Added service configuration for the new Security CSRF sub-component 2013-09-27 10:16:29 +02:00
Bernhard Schussek
2048cf6d35 [Form] Deprecated the CSRF implementation and added an optional dependency to the Security CSRF sub-component instead 2013-09-27 10:12:40 +02:00
Timothée Barray
b668e24fa7 form_debug.xml should be loaded only if form config is enabled 2013-09-26 15:56:56 +02:00
Bernhard Schussek
89509d9847 [Form] Improved form debugger 2013-09-25 17:47:13 +02:00
Robert Schönthal
a994a5d410 [Form] Merged subsriber/collector, also collect valid forms 2013-09-25 15:59:51 +02:00
Robert Schönthal
1972a91653 [Form] Added form debug collector 2013-09-25 15:59:51 +02:00
Fabien Potencier
6a28718453 Merge branch '2.3'
* 2.3:
  Run all tests in parallel.
  Fixed an entity class name.
  [HttpKernel] fix usage of deprecated FlattenException

Conflicts:
	src/Symfony/Component/HttpKernel/EventListener/ExceptionListener.php
2013-09-25 08:04:58 +02:00
Tobias Schultze
8bad61daf5 [HttpKernel] fix usage of deprecated FlattenException 2013-09-24 12:40:06 +02:00
Fabien Potencier
5ebaad33e6 added a note about why the debug dispatcher cannot be used everywhere 2013-09-23 18:04:04 +02:00
Fabien Potencier
5ed1d01449 Merge branch '2.3'
* 2.3:
  Revert "merged branch fabpot/event-dispatcher-debug (PR #9068)"
2013-09-23 17:56:38 +02:00
Fabien Potencier
c60a8e962b Merge branch '2.2' into 2.3
* 2.2:
  Revert "merged branch fabpot/event-dispatcher-debug (PR #9068)"

Conflicts:
	src/Symfony/Component/HttpKernel/DependencyInjection/RegisterListenersPass.php
	src/Symfony/Component/HttpKernel/Tests/DependencyInjection/RegisterListenersPassTest.php
2013-09-23 17:56:30 +02:00
Fabien Potencier
c2f935593d Revert "merged branch fabpot/event-dispatcher-debug (PR #9068)"
This reverts commit 1843b82015, reversing
changes made to 510960ed31.
2013-09-23 17:54:49 +02:00
Fabien Potencier
b1542f0620 Merge branch '2.3'
* 2.3:
  [Locale] added support for the position argument to NumberFormatter::parse()
  [Locale] added some more stubs for the number formatter
  [Yaml] fixed typo
  [Yaml] fixed a test on PHP < 5.4
  [DomCrawler]Crawler guess charset from html
  fixed PHP 5.3 compatibility
  [Yaml] reverted previous merge partially (refs #8897)
  [Security] remove unused logger
  [Security] fix typo
  [Yaml] Fixed filename in the ParseException message
2013-09-22 20:04:51 +02:00
Fabien Potencier
775a39c5c3 Merge branch '2.2' into 2.3
* 2.2:
  [Locale] added support for the position argument to NumberFormatter::parse()
  [Locale] added some more stubs for the number formatter
  [Yaml] fixed typo
  [Yaml] fixed a test on PHP < 5.4
  [DomCrawler]Crawler guess charset from html
  fixed PHP 5.3 compatibility
  [Yaml] reverted previous merge partially (refs #8897)
  [Security] remove unused logger
  [Security] fix typo
  [Yaml] Fixed filename in the ParseException message

Conflicts:
	src/Symfony/Component/Console/Input/InputDefinition.php
	src/Symfony/Component/Locale/Stub/StubNumberFormatter.php
	src/Symfony/Component/Locale/Tests/Stub/StubNumberFormatterTest.php
2013-09-22 20:04:39 +02:00
Fabien Potencier
8aa685bbe9 merged branch fabpot/expression-language-tweaks (PR #9091)
This PR was merged into the master branch.

Discussion
----------

[ExpressionLanguage] made minor tweaks

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

 * made ExpressionLanguage::parse return an ParsedExpression instance
 * optimized the size of the serialization of expressions

Commits
-------

e869136 [ExpressionLanguage] renamed addFunction() to register()
5076ec7 [ExpressionLanguage] optimized serialization of nodes and expressions
60b9f85 [ExpressionLanguage] made ExpressionLanguage::parse return an ParsedExpression instance
2013-09-21 20:31:30 +02:00
Fabien Potencier
60b9f856fd [ExpressionLanguage] made ExpressionLanguage::parse return an ParsedExpression instance 2013-09-21 20:20:49 +02:00
Thomas Adam
9e38819cef use "translator" alias not "translator.default" 2013-09-20 15:35:24 +02:00
Fabien Potencier
ca62f65887 merged branch fabpot/expression-engine (PR #8913)
This PR was merged into the master branch.

Discussion
----------

New Component: Expression Language

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #8850, #7352
| License       | MIT
| Doc PR        | not yet

TODO:

 - [ ] write documentation
 - [x] add tests for the new component
 - [x] implement expression support for access rules in the security component
 - [x] find a better character/convention for expressions in the YAML format
 - [x] check the performance of the evaluation mode
 - [x] better error messages in the evaluation mode
 - [x] add support in the Routing
 - [x] add support in the Validator

The ExpressionLanguage component provides an engine that can compile and
evaluate expressions.

An expression is a one-liner that returns a value (mostly, but not limited to, Booleans).

It is a strip-down version of Twig (only the expression part of it is
implemented.) Like Twig, the expression is lexed, parsed, and
compiled/evaluated. So, it is immune to external injections by design.

If we compare it to Twig, here are the main big differences:

 * only support for Twig expressions
 * no ambiguity for calls (foo.bar is only valid for properties, foo['bar'] is only valid for array calls, and foo.bar() is required for method calls)
 * no support for naming conventions in method calls (if the method is named getFoo(), you must use getFoo() and not foo())
 * no notion of a line for errors, but a cursor (we are mostly talking about one-liners here)
 * removed everything specific to the templating engine (like output escaping or filters)
 * no support for named arguments in method calls
 * only one extension point with functions (no possibility to define new operators, ...)
 * and probably even more I don't remember right now
 * there is no need for a runtime environment, the compiled PHP string is self-sufficient

An open question is whether we keep the difference betweens arrays and hashes.

The other big difference with Twig is that it can work in two modes (possible
because of the restrictions described above):

 * compilation: the expression is compiled to PHP and is self-sufficient
 * evaluation: the expression is evaluated without being compiled to PHP (the node tree produced by the parser can be serialized and evaluated afterwards -- so it can be saved on disk or in a database to speed up things when needed)

Let's see a simple example:

```php
$language = new ExpressionLanguage();

echo $language->evaluate('1 + 1');
// will echo 2

echo $language->compile('1 + 2');
// will echo "(1 + 2)"
```

The language supports:

 * all basic math operators (with precedence rules):
    * unary: not, !, -, +
    * binary: or, ||, and, &&, b-or, b-xor, b-and, ==, ===, !=, !==, <, >, >=, <=, not in, in, .., +, -, ~, *, /, %, **

 * all literals supported by Twig: strings, numbers, arrays (`[1, 2]`), hashes
   (`{a: "b"}`), Booleans, and null.

 * simple variables (`foo`), array accesses (`foo[1]`), property accesses
   (`foo.bar`), and method calls (`foo.bar(1, 2)`).

 * the ternary operator: `true ? true : false` (and all the shortcuts
   implemented in Twig).

 * function calls (`constant('FOO')` -- `constant` is the only built-in
   functions).

 * and of course, any combination of the above.

The compilation is better for performances as the end result is just a plain PHP string without any runtime. For the evaluation, we need to tokenize, parse, and evaluate the nodes on the fly. This can be optimized by using a `ParsedExpression` or a `SerializedParsedExpression` instead:

```php
$nodes = $language->parse($expr, $names);
$expression = new SerializedParsedExpression($expr, serialize($nodes));

// You can now store the expression in a DB for later reuse

// a SerializedParsedExpression can be evaluated like any other expressions,
// but under the hood, the lexer and the parser won't be used at all, so it''s much faster.
$language->evaluate($expression);
```
That's all folks!

I can see many use cases for this new component, and we have two use cases in
Symfony that we can implement right away.

## Using Expressions in the Service Container

The first one is expression support in the service container (it would replace
#8850) -- anywhere you can pass an argument in the service container, you can
use an expression:

```php
$c->register('foo', 'Foo')->addArgument(new Expression('bar.getvalue()'));
```

You have access to the service container via `this`:

    container.get("bar").getvalue(container.getParameter("value"))

The implementation comes with two functions that simplifies expressions
(`service()` to get a service, and `parameter` to get a parameter value). The
previous example can be simplified to:

    service("bar").getvalue(parameter("value"))

Here is how to use it in XML:

```xml
<parameters>
    <parameter key="value">foobar</parameter>
</parameters>
<services>
    <service id="foo" class="Foo">
        <argument type="expression">service('bar').getvalue(parameter('value'))</argument>
    </service>
    <service id="bar" class="Bar" />
</services>
```

and in YAML (I chose the syntax randomly ;)):

```yaml
parameters:
    value: foobar

services:
    bar:
        class: Bar

    foo:
        class: Foo
        arguments: [@=service("bar").getvalue(parameter("value"))]
```

When using the container builder, Symfony uses the evaluator, but with the PHP
dumper, the compiler is used, and there is no overhead as the expression
engine is not needed at runtime. The expression above would be compiled to:

```php
$this->get("bar")->getvalue($this->getParameter("value"))
```

## Using Expression for Security Access Control Rules

The second use case in Symfony is for access rules.

As we all know, the way to configure the security access control rules is confusing, which might lead to insecure applications (see http://symfony.com/blog/security-access-control-documentation-issue for more information).

Here is how the new `allow_if` works:

```yaml
access_control:
    - { path: ^/_internal/secure, allow_if: "'127.0.0.1' == request.getClientIp() or has_role('ROLE_ADMIN')" }
```

This one restricts the URLs starting with `/_internal/secure` to people browsing from the localhost. Here, `request` is the current Request instance. In the expression, there is access to the following variables:

 * `request`
 * `token`
 * `user`

And to the following functions:

 * `is_anonymous`
 * `is_authenticated`
 * `is_fully_authenticated`
 * `is_rememberme`
 * `has_role`

You can also use expressions in Twig, which works well with the `is_granted` function:

```jinja
{% if is_granted(expression('has_role("FOO")')) %}
   ...
{% endif %}
```

## Using Expressions in the Routing

Out of the box, Symfony can only match an incoming request based on some pre-determined variables (like the path info, the method, the scheme, ...). But some people want to be able to match on more complex logic, based on other information of the Request object. That's why we introduced `RequestMatcherInterface` recently (but we no default implementation in Symfony itself).

The first change I've made (not related to expression support) is implement this interface for the default `UrlMatcher`. It was simple enough.

Then, I've added a new `condition` configuration for Route objects, which allow you to add any valid expression. An expression has access to the `request` and to the routing `context`.

Here is how one would configure it in a YAML file:

```yaml
hello:
    path: /hello/{name}
    condition: "context.getMethod() in ['GET', 'HEAD'] and request.headers.get('User-Agent') =~ '/firefox/i'"
```

Why do I keep the context as all the data are also available in the request? Because you can also use the condition without using the RequestMatcherInterface, in which case, you don't have access to the request. So, the previous example is equivalent to:

```yaml
hello:
    path: /hello/{name}
    condition: "request.getMethod() in ['GET', 'HEAD'] and request.headers.get('User-Agent') =~ '/firefox/i'"
```

When using the PHP dumper, there is no overhead as the condition is compiled. Here is how it looks like:

```php
// hello
if (0 === strpos($pathinfo, '/hello') && preg_match('#^/hello/(?P<name>[^/]++)$#s', $pathinfo, $matches) && (in_array($context->getMethod(), array(0 => "GET", 1 => "HEAD")) && preg_match("/firefox/i", $request->headers->get("User-Agent")))) {
    return $this->mergeDefaults(array_replace($matches, array('_route' => 'hello')), array ());
}
```

Be warned that conditions are not taken into account when generating a URL.

## Using Expressions in the Validator

There is a new Expression constraint that you can put on a class. The expression is then evaluated for validation:

```php
use Symfony\Component\Validator\Constraints as Assert;

/**
 * @Assert\Condition(condition="this.getFoo() == 'fo'", message="Not good!")
 */
class Obj
{
    public function getFoo()
    {
        return 'foo';
    }
}
```

In the expression, you get access to the current object via the `this` variable.

## Dynamic annotations

The expression language component is also very useful in annotations. the SensoLabs FrameworkExtraBundle leverages this possibility to implement HTTP validation caching in the `@Cache` annotation and to add a new `@Security` annotation (see sensiolabs/SensioFrameworkExtraBundle#238.)

Commits
-------

d4ebbfd [Validator] Renamed Condition to Expression and added possibility to set it onto properties
a3b3a78 [Validator] added a constraint that runs an expression
1bcfb40 added optimized versions of expressions
984bd38 mades things more consistent for the end user
d477f15 [Routing] added support for expression conditions in routes
86ac8d7 [ExpressionLanguage] improved performance
e369d14 added a Twig extension to create Expression instances
38b7fde added support for expression in control access rules
2777ac7 [HttpFoundation] added ExpressionRequestMatcher
c25abd9 [DependencyInjection] added support for expressions in the service container
3a41781 [ExpressionLanguage] added support for regexes
9d98fa2 [ExpressionLanguage] added the component
2013-09-19 13:00:34 +02:00
Bernhard Schussek
d4ebbfd02d [Validator] Renamed Condition to Expression and added possibility to set it onto properties 2013-09-19 12:59:33 +02:00
Fabien Potencier
1bcfb40eb5 added optimized versions of expressions 2013-09-19 12:59:12 +02:00
Fabien Potencier
984bd38568 mades things more consistent for the end user 2013-09-19 12:59:11 +02:00
Fabien Potencier
e369d14a2c added a Twig extension to create Expression instances 2013-09-19 12:59:11 +02:00
Fabien Potencier
38b7fde8ed added support for expression in control access rules 2013-09-19 12:59:11 +02:00
Fabien Potencier
6a36fb6311 merged branch Tobion/security-fix-typo (PR #9069)
This PR was merged into the 2.2 branch.

Discussion
----------

[Security] fix typo and remove unused logger

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

Commits
-------

a33cc51 [Security] remove unused logger
62de9c1 [Security] fix typo
2013-09-19 11:48:50 +02:00
Fabien Potencier
51c6d7696c Merge branch '2.3'
* 2.3:
  fixed phpdoc
  Fix some annotates
  [FrameworkBundle] made sure that the debug event dispatcher is used everywhere
  [HttpKernel] remove unneeded strtoupper
  updated the composer install command to reflect changes in Composer

Conflicts:
	src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
2013-09-19 11:47:34 +02:00
Fabien Potencier
88cef41560 Merge branch '2.2' into 2.3
* 2.2:
  Fix some annotates
  [FrameworkBundle] made sure that the debug event dispatcher is used everywhere
  [HttpKernel] remove unneeded strtoupper
  updated the composer install command to reflect changes in Composer

Conflicts:
	src/Symfony/Component/Console/Application.php
	src/Symfony/Component/Console/Command/Command.php
	src/Symfony/Component/Console/Input/InputDefinition.php
	src/Symfony/Component/CssSelector/Node/CombinedSelectorNode.php
	src/Symfony/Component/Form/Form.php
	src/Symfony/Component/HttpKernel/Debug/ErrorHandler.php
	src/Symfony/Component/HttpKernel/DependencyInjection/RegisterListenersPass.php
	src/Symfony/Component/HttpKernel/Tests/DependencyInjection/RegisterListenersPassTest.php
	src/Symfony/Component/Locale/Locale.php
	src/Symfony/Component/Locale/README.md
	src/Symfony/Component/Locale/Stub/DateFormat/FullTransformer.php
2013-09-19 11:45:20 +02:00
Fabien Potencier
7597f7ea55 merged branch bronze1man/pr-2.2-annotate (PR #9067)
This PR was squashed before being merged into the 2.2 branch (closes #9067).

Discussion
----------

Fix some annotates

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

send those fixes in branch 2.2
This pr includes #9065

Commits
-------

de39bd5 Fix some annotates
2013-09-19 11:36:06 +02:00
bronze1man
de39bd5433 Fix some annotates 2013-09-19 11:36:05 +02:00
Fabien Potencier
1843b82015 merged branch fabpot/event-dispatcher-debug (PR #9068)
This PR was merged into the 2.2 branch.

Discussion
----------

[FrameworkBundle] made sure that the debug event dispatcher is used everywhere

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

Commits
-------

f65a526 [FrameworkBundle] made sure that the debug event dispatcher is used everywhere
2013-09-19 11:03:30 +02:00
Tobias Schultze
a33cc51648 [Security] remove unused logger 2013-09-18 18:54:35 +02:00
Fabien Potencier
f65a526e7d [FrameworkBundle] made sure that the debug event dispatcher is used everywhere 2013-09-18 17:45:40 +02:00
Fabien Potencier
b44bc0e2c2 merged branch fabpot/security-split (PR #9064)
This PR was merged into the master branch.

Discussion
----------

[Security] Split the component into 3 sub-components Core, ACL, HTTP

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

The rationale behind this PR is to be able to use any of the sub components without requiring all the dependencies of the other sub components. Specifically, I'd like to use the core utils for an improved CSRF protection mechanism (#6554).

Commits
-------

14e9f46 [Security] removed unneeded hard dependencies in Core
5dbec8a [Security] fixed README files
62bda79 [Security] copied the Resources/ directory to Core/Resources/
7826781 [Security] Split the component into 3 sub-components Core, ACL, HTTP
2013-09-18 15:11:39 +02:00
Fabien Potencier
4705e6f7cc fixed previous merge (refs #8635) 2013-09-18 14:22:34 +02:00
Fabien Potencier
7005cf5e71 merged branch WouterJ/dump_xml (PR #8635)
This PR was squashed before being merged into the master branch (closes #8635).

Discussion
----------

[Config] Create XML Reference Dumper

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

Only Yaml was supported. This PR adds support for XML. This makes it easier to test XML schema's (see symfony-cmf/MenuBundle#114 ), helps us at the docs with our configuration reference and helps others using XML with symfony.

## Todo

 - [x] Prototyped arrays don't work properly
 - [x] Add comments (see Yaml dumper)
 - [x] Add namespaces support

## Side effects

I've moved the reference dumpers to their own namespace and renamed the original reference dumper to `YamlReferenceDumper`. The old one is kept for BC, but deprecated.

/cc @dantleech

Commits
-------

05e9ca7 [Config] Create XML Reference Dumper
2013-09-18 13:36:39 +02:00
WouterJ
05e9ca7509 [Config] Create XML Reference Dumper 2013-09-18 13:36:38 +02:00
Fabien Potencier
62bda7906b [Security] copied the Resources/ directory to Core/Resources/ 2013-09-18 13:11:09 +02:00
Fabien Potencier
c3728d21cd Merge branch '2.3'
* 2.3:
  fixes RequestDataCollector bug, visible when used on Drupal8
  [Console] fixed exception rendering when nested styles
  [Console] added some more information about OutputFormatter::replaceStyle()
  [Console] fixed the formatter for single-char tags
  [Console] Escape exception message during the rendering of an exception
  [DomCrawler] fixed HTML5 form attribute handling
  Making tests pass on mac os x without this change tests would fail under mac os x at least in 10.8.2
  [BrowserKit] Fixed the handling of parameters when redirecting
  [Process] Properly close pipes after a Process::stop call
  fixed bytes conversion when used on 32-bits systems
  Typo fix
  HttpFoundation RequestTest - Fixed indentation and removed comments
  HttpFoundation Request test for #8619
  LICENSE files moved to meta folders
  added missing method in the UPGRADE file for 2.2 (closes #8941)
  [Form] Fixed: "required" attribute is not added to <select> tag if no empty value
  [Translation] Removed an unneeded return annotation.
  [DomCrawler] Added missing docblocks and removed unneeded return annotation.

Conflicts:
	src/Symfony/Component/Process/Tests/AbstractProcessTest.php
2013-09-18 09:05:46 +02:00
Fabien Potencier
d1825030b4 Merge branch '2.2' into 2.3
* 2.2:
  fixes RequestDataCollector bug, visible when used on Drupal8
  [Console] fixed exception rendering when nested styles
  [Console] added some more information about OutputFormatter::replaceStyle()
  [Console] fixed the formatter for single-char tags
  [Console] Escape exception message during the rendering of an exception
  [BrowserKit] Fixed the handling of parameters when redirecting
  Typo fix
  HttpFoundation RequestTest - Fixed indentation and removed comments
  HttpFoundation Request test for #8619
  LICENSE files moved to meta folders
  added missing method in the UPGRADE file for 2.2 (closes #8941)
  [Translation] Removed an unneeded return annotation.
  [DomCrawler] Added missing docblocks and removed unneeded return annotation.

Conflicts:
	src/Symfony/Component/BrowserKit/Client.php
	src/Symfony/Component/DomCrawler/Crawler.php
2013-09-18 09:03:56 +02:00
Peter Kokot
b1242ef143 LICENSE files moved to meta folders 2013-09-16 09:53:14 +02:00
Bernhard Schussek
a273e79898 [Form] Fixed: "required" attribute is not added to <select> tag if no empty value 2013-09-13 16:56:26 +02:00
Fabien Potencier
fc437cf6fb Merge branch '2.3'
* 2.3:
  [FrameworkBundle][Security] Replaced void return type with null for consistency
  fixed CS
  NativeSessionStorage regenerate
  removed unneeded comment
  Use setTimeZone if this method exists.
  Fix FileResource test
  fixed wrong usage of unset()
  [HttpFoundation] Fixed the way path to directory is trimmed.
  [Console] Fixed argument parsing when a single dash is passed.
2013-09-13 14:20:47 +02:00
Fabien Potencier
33e9571886 Merge branch '2.2' into 2.3
* 2.2:
  [FrameworkBundle][Security] Replaced void return type with null for consistency
  fixed CS
  NativeSessionStorage regenerate
  removed unneeded comment
  Use setTimeZone if this method exists.
  Fix FileResource test
  fixed wrong usage of unset()
  [HttpFoundation] Fixed the way path to directory is trimmed.
  [Console] Fixed argument parsing when a single dash is passed.

Conflicts:
	src/Symfony/Component/HttpKernel/Debug/ErrorHandler.php
2013-09-13 14:20:37 +02:00
Jakub Zalas
e4100ac2fa [FrameworkBundle][Security] Replaced void return type with null for consistency 2013-09-13 14:06:44 +02:00
Fabien Potencier
860151ee8e Merge branch '2.3'
* 2.3:
  [WebProfilerBundle] fixed toolbar for IE8 (refs #8380)
  [HttpFoundation] removed double-slashes (closes #8388)
  [HttpFoundation] tried to keep the original Request URI as much as possible to avoid different behavior between ::createFromGlobals() and ::create()
  [TwigBridge] fixed form rendering when used in a template with dynamic inheritance
2013-09-12 22:07:33 +02:00
Fabien Potencier
097b376309 [WebProfilerBundle] fixed toolbar for IE8 (refs #8380) 2013-09-12 22:07:01 +02:00
Kevin Bond
52d2bdd3f4 Added comment about http_method_override and HttpCache 2013-09-12 15:54:09 -04:00
Fabien Potencier
5b71e61d15 Merge branch '2.3'
* 2.3:
  [HttpKernel] added a check for private event listeners/subscribers
  [FrameworkBundle] fixed registration of the register listener pass
  [Form] Fixed regression causing invalid "WHERE id IN ()" statements
  [DependencyInjection] fixed a non-detected circular reference in PhpDumper (closes #8425)
  [Form] Fixed regression in BooleanToStringTransformer from ed83752
  [FrameworkBundle] removed obsolete code
  [Process] Close unix pipes before calling `proc_close` to avoid a deadlock
  [Process] Fix process merge in 2.3
  [Intl] made RegionBundle and LanguageBundle merge fallback data when using a country-specific locale
2013-09-12 14:59:51 +02:00
Fabien Potencier
0f78175dcd Merge branch '2.2' into 2.3
* 2.2:
  [HttpKernel] added a check for private event listeners/subscribers
  [FrameworkBundle] fixed registration of the register listener pass
  [Form] Fixed regression causing invalid "WHERE id IN ()" statements
  [DependencyInjection] fixed a non-detected circular reference in PhpDumper (closes #8425)
  [Form] Fixed regression in BooleanToStringTransformer from ed83752
  [FrameworkBundle] removed obsolete code
  [Process] Close unix pipes before calling `proc_close` to avoid a deadlock

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php
	src/Symfony/Component/HttpKernel/DependencyInjection/RegisterListenersPass.php
	src/Symfony/Component/Process/Process.php
2013-09-12 14:57:47 +02:00
Fabien Potencier
6c10b6966d merged branch fabpot/event-services-check (PR #9006)
This PR was merged into the 2.2 branch.

Discussion
----------

Fixed registration of private event listeners/subscribers

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

When registering a private event subscriber/listener, the listener was just ignored.

This PR does two things to fix the problem:

 * the event listener pass is done earlier to get access to the private services
 * when a private service is identified, a proper exception is thrown

Commits
-------

8444339 [HttpKernel] added a check for private event listeners/subscribers
427ee19 [FrameworkBundle] fixed registration of the register listener pass
2013-09-12 14:49:21 +02:00
Fabien Potencier
84443392df [HttpKernel] added a check for private event listeners/subscribers 2013-09-12 14:41:57 +02:00
Fabien Potencier
427ee19195 [FrameworkBundle] fixed registration of the register listener pass 2013-09-12 14:30:12 +02:00
Fabien Potencier
610301d5e0 [FrameworkBundle] removed obsolete code 2013-09-12 06:41:55 +02:00
Fabien Potencier
3e370f66a5 merged branch WouterJ/stopwatch_php (PR #8968)
This PR was merged into the master branch.

Discussion
----------

Added Stopwatch helper for PHP templates

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

Commits
-------

3ee2989 Added Stopwatch Helper
2013-09-12 06:30:13 +02:00
WouterJ
3ee2989287 Added Stopwatch Helper 2013-09-11 22:40:31 +02:00
Fabien Potencier
95483e518d Merge branch '2.3'
* 2.3:
  Fixed docblock in UserInterface::getSalt()
  [Process] Fix #8970 : read output once the process is finished, enable pipe tests on Windows
  [DoctrineBridge] Improved test coverage of EntityChoiceList
  [DoctrineBridge] Improved test coverage of EntityChoiceList
  [Form] Improved test coverage of ChoiceList classes
  [Form] Fixed expanded choice field to be marked invalid when unknown choices are submitted
  [Form] Fixed ChoiceList::get*By*() methods to preserve order and array keys
  [Form] Removed usage of the ChoiceList::getIndicesFor*() methods where they don't offer any performance benefit
  [Form] Improved test coverage of ChoiceList classes
  [Form] Fixed expanded choice field to be marked invalid when unknown choices are submitted
  [Form] Fixed ChoiceList::get*By*() methods to preserve order and array keys
  [Form] Removed usage of the ChoiceList::getIndicesFor*() methods where they don't offer any performance benefit
  Removed duplicate annotation
  [HttpKernel] made code more reliable
  [HttpFoundation] fixed regression in the way the request format is handled for duplicated requests (closes #8917)
  [HttpKernel] fixer HInclude src (closes #8951)
  Fixed escaping of service identifiers in configuration

Conflicts:
	src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/GenericEntityChoiceListTest.php
	src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php
	src/Symfony/Component/HttpKernel/Tests/Fragment/HIncludeFragmentRendererTest.php
2013-09-10 22:30:47 +02:00
Fabien Potencier
b0b109b422 merged branch peterrehm/router-command (PR #8657)
This PR was squashed before being merged into the master branch (closes #8657).

Discussion
----------

Added option to show controllers optionally in the router:debug command

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

Added option to show controllers in the router debug command as a convenience function.

    app/console router:debug --show-controllers

Commits
-------

6fd32f3 Added option to show controllers optionally in the router:debug command
2013-09-09 14:59:52 +02:00
Peter Rehm
6fd32f3da4 Added option to show controllers optionally in the router:debug command 2013-09-09 14:59:51 +02:00
Fabien Potencier
a010ed4721 Merge branch '2.2' into 2.3
* 2.2:
  [HttpFoundation] fixed regression in the way the request format is handled for duplicated requests (closes #8917)
  [HttpKernel] fixer HInclude src (closes #8951)
  Fixed escaping of service identifiers in configuration
2013-09-08 18:12:21 +02:00
Jaik Dean
c567262b7e Fixed escaping of service identifiers in configuration 2013-09-08 08:36:15 +02:00
Fabien Potencier
b1a062d232 moved RequestStack to HttpFoundation and removed RequestContext 2013-09-08 07:38:03 +02:00
Fabien Potencier
93e60eaeab [HttpKernel] modified listeners to be BC with Symfony <2.4 2013-09-07 21:48:44 +02:00
Fabien Potencier
a58a8a69fd [HttpKernel] changed request_stack to a private service 2013-09-07 21:43:49 +02:00
Benjamin Eberlei
c55f1ea8af added a RequestStack class 2013-09-07 21:43:49 +02:00
Fabien Potencier
08ec911c8e merged branch Tobion/deprecate-debuggerinterface (PR #8929)
This PR was merged into the master branch.

Discussion
----------

[Templating] deprecate DebuggerInterface

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes: deprecated DebuggerInterface and Debugger
| Tests pass?   | yes
| Fixed tickets | #8926
| License       | MIT

- [x] add suggested optional dependency in templating component to Psr log
- [x] remove ProjectTemplateDebugger from tests

Commits
-------

b853438 [Templating] deprecate DebuggerInterface
2013-09-07 19:45:30 +02:00
Fabien Potencier
091a96ca3d Merge branch '2.3'
* 2.3:
  Fixing singular form for kisses, accesses and addresses.
  fixed some circular references
  [Security] fixed a leak in ExceptionListener
  [Security] fixed a leak in the ContextListener
  Ignore posix_istatty warnings
  removed unused variable
  [Form] fix iterator typehint
  typos
  Button missing getErrorsAsString() fixes #8084 Debug: Not calling undefined method anymore. If the form contained a submit button the call would fail and the debug of the form wasn't possible. Now it will work in all cases. This fixes #8084
  Use isset() instead of array_key_exists() in DIC
  Fixed annotation
  [BrowserKit] fixed method/files/content when redirecting a request
  [BrowserKit] removed some headers when redirecting a request
  [BrowserKit] fixed headers when redirecting if history is set to false (refs #8697)
  [HttpKernel] fixed route parameters storage in the Request data collector (closes #8867)
  [BrowserKit] Pass headers when `followRedirect()` is called
  Return BC compatibility for `@Route` parameters and default values

Conflicts:
	src/Symfony/Component/Security/Http/Firewall/ContextListener.php
2013-09-06 20:21:06 +02:00
Fabien Potencier
702e652002 Merge branch '2.2' into 2.3
* 2.2:
  Fixing singular form for kisses, accesses and addresses.
  fixed some circular references
  [Security] fixed a leak in ExceptionListener
  [Security] fixed a leak in the ContextListener
  Ignore posix_istatty warnings
  typos
  [HttpKernel] fixed route parameters storage in the Request data collector (closes #8867)
  Return BC compatibility for `@Route` parameters and default values

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Templating/Helper/FormHelper.php
	src/Symfony/Component/Console/Application.php
2013-09-06 20:20:34 +02:00
Tobias Schultze
b853438088 [Templating] deprecate DebuggerInterface
set logger in extension , so its only done in debug mode
add psr/log to suggest of templating
add test for setLogger and refactor tests to not depend that much an
deprecated functionality
2013-09-04 21:57:45 +02:00
Radosław Benkel
fcef02151a [Translation] Added support for JSON format (both loader and dumper). 2013-09-03 22:32:09 +02:00
Jáchym Toušek
4e363a145e typos 2013-09-03 19:10:25 +02:00
Peter Kruithof
94d648b75c Added 'host' option to firewall configuration 2013-09-01 11:49:21 +02:00
Jean-François Simon
dd8014a0f4 Replace sha1 and md5 hashing with sha256 algorithm 2013-08-31 13:25:41 +02:00
Fabien Potencier
feff411dfc Merge branch '2.3'
* 2.3:
  Clear lazy loading initializer after the service is successfully initialized
  [FrameworkBundle] added support for double-quoted strings in the extractor (closes #8797)
  [SecurityBundle] Move format-dependent tests from SecurityExtensionTest
  bumped Symfony version to 2.3.5-DEV
  updated VERSION for 2.3.4
  updated CHANGELOG for 2.3.4
  bumped Symfony version to 2.2.7
  updated VERSION for 2.2.6
  update CONTRIBUTORS for 2.2.6
  updated CHANGELOG for 2.2.6
  clearToken exception is thrown at wrong place.
  fix typo in test skipped message
  [Form] Fixed Form::all() signature for PHP 5.3.3
  [Form] Fixed Form::all() signature for PHP 5.3.3
  [Locale] Fixed: Locale::setDefault() throws no exception when "en" is passed
  [Locale] Fixed: StubLocale::setDefault() throws no exception when "en" is passed
  [Translation] Grammar fix
  [Yaml] fixed embedded folded string parsing
  [Validator] fixed Boolean handling in XML constraint mappings (closes #5603)
  [Translation] Fixed regression: When only one rule is passed to transChoice(), this rule should be used

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2013-08-29 08:54:01 +02:00
Fabien Potencier
c0a256d966 Merge branch '2.2' into 2.3
* 2.2:
  [FrameworkBundle] added support for double-quoted strings in the extractor (closes #8797)
  [SecurityBundle] Move format-dependent tests from SecurityExtensionTest

Conflicts:
	src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/SecurityExtensionTest.php
2013-08-29 08:53:29 +02:00
Fabien Potencier
4922a80ee5 [FrameworkBundle] added support for double-quoted strings in the extractor (closes #8797) 2013-08-28 11:44:32 +02:00
Nikita Konstantinov
d463e25a75 [SecurityBundle] Move format-dependent tests from SecurityExtensionTest 2013-08-28 10:11:26 +02:00
Fabien Potencier
c3abd0c988 Merge branch '2.3'
* 2.3:
  fixed request format when forwarding a request
  [HttpKernel] added a comment to warn about possible inconsistencies
  added a functional test for locale handling in sub-requests
  Fixed issue #6932 - Inconsistent locale handling in subrequests
  fixed locale of sub-requests when explicitely set by the developer (refs #8821)

Conflicts:
	src/Symfony/Component/HttpKernel/EventListener/ExceptionListener.php
	src/Symfony/Component/HttpKernel/Fragment/RoutableFragmentRenderer.php
	src/Symfony/Component/HttpKernel/Tests/Fragment/RoutableFragmentRendererTest.php
2013-08-23 17:34:04 +02:00
Fabien Potencier
6610a7c80e Merge branch '2.2' into 2.3
* 2.2:
  fixed request format when forwarding a request
  [HttpKernel] added a comment to warn about possible inconsistencies
  added a functional test for locale handling in sub-requests
  Fixed issue #6932 - Inconsistent locale handling in subrequests
  fixed locale of sub-requests when explicitely set by the developer (refs #8821)

Conflicts:
	src/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php
2013-08-23 17:31:47 +02:00
Fabien Potencier
2165d5dffb merged branch fabpot/format-forward (PR #8829)
This PR was merged into the 2.2 branch.

Discussion
----------

fixed request format when forwarding a request

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

When calling forward() in a controller, the format is not the same as for the master request.

Commits
-------

7e87eb1 fixed request format when forwarding a request
2013-08-23 17:30:05 +02:00
Fabien Potencier
1602746548 merged branch fabpot/tests-simplification (PR #8796)
This PR was merged into the master branch.

Discussion
----------

removed deps checks in unit tests

| 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

As Composer is now widely used in the PHP world, having to run composer install before running the test suite is expected. This also has the nice benefit of removing a bunch of code, making things easier to maintain (there is only one place to declare a dev dependency), and probably more.

see fabpot/Silex#626 where we did the same a while ago for Silex.

Commits
-------

de50621 removed deps checks in unit tests
2013-08-23 17:27:50 +02:00
Fabien Potencier
7e87eb1fdf fixed request format when forwarding a request 2013-08-22 14:43:23 +02:00
Fabien Potencier
c4636e1252 added a functional test for locale handling in sub-requests 2013-08-22 08:57:44 +02:00
Fabien Potencier
b3c31593c7 fixed locale of sub-requests when explicitely set by the developer (refs #8821) 2013-08-22 08:48:41 +02:00
Fabien Potencier
167245c9c7 Merge branch '2.3'
* 2.3:
  [Locale] fixed build-data exit code in case of an error
  fixed request format of sub-requests when explicitely set by the developer (closes #8787)
  Sets _format attribute only if it wasn't set previously by the user.
  Exclude little words of 'ee' to 'oo' plural transformation
  fixed the format of the request used to render an exception
  Fix typo in the check_path validator
  added a missing use statement (closes #8808)
  fix for Process:isSuccessful()
  Include untrusted host in the exception message

Conflicts:
	src/Symfony/Component/HttpKernel/EventListener/ExceptionListener.php
	src/Symfony/Component/HttpKernel/Fragment/InlineFragmentRenderer.php
2013-08-22 08:44:20 +02:00
Fabien Potencier
8e1cb3e3ca Merge branch '2.2' into 2.3
* 2.2:
  [Locale] fixed build-data exit code in case of an error
  fixed request format of sub-requests when explicitely set by the developer (closes #8787)
  Sets _format attribute only if it wasn't set previously by the user.
  Exclude little words of 'ee' to 'oo' plural transformation
  fixed the format of the request used to render an exception
  Fix typo in the check_path validator
  added a missing use statement (closes #8808)
  fix for Process:isSuccessful()

Conflicts:
	UPGRADE-3.0.md
	src/Symfony/Component/Locale/Resources/data/build-data.php
2013-08-22 08:42:25 +02:00
Fabien Potencier
1ad64ee7a3 merged branch fabpot/inline-fragment-format (PR #8821)
This PR was merged into the 2.2 branch.

Discussion
----------

Sets _format attribute only if it wasn't set previously by the user

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

Commits
-------

9bb7a3d fixed request format of sub-requests when explicitely set by the developer (closes #8787)
fa35597 Sets _format attribute only if it wasn't set previously by the user.
2013-08-22 08:30:26 +02:00
Fabien Potencier
9bb7a3ddcb fixed request format of sub-requests when explicitely set by the developer (closes #8787) 2013-08-22 07:46:12 +02:00
Fabien Potencier
f946108d65 fixed the format of the request used to render an exception 2013-08-22 05:11:17 +02:00
Nikita Konstantinov
51022c30ae Fix typo in the check_path validator 2013-08-22 04:12:50 +02:00
Fabien Potencier
de50621e8a removed deps checks in unit tests
As Composer is now widely used in the PHP world, having to run composer
install before running the test suite is expected. This also has the
nice benefit of removing a bunch of code, making things easier to
maintain (there is only one place to declare a dev dependency), and
probably more.
2013-08-19 22:44:22 +02:00
Fabien Potencier
d15bb7351e Merge branch '2.3'
* 2.3:
  Added sleep() workaround for windows php rename bug
  [HttpKernel] removed unused variable
  [Form] Fixed: Added "validation_groups" option to submit button
  [Process] Fix for #8754 (Timed-out processes are successful)

Conflicts:
	src/Symfony/Component/Form/Tests/Extension/Validator/Type/FormTypeValidatorExtensionTest.php
2013-08-15 19:09:02 +02:00
Fabien Potencier
91e5b10d05 Merge branch '2.2' into 2.3
* 2.2:
  Added sleep() workaround for windows php rename bug
  [HttpKernel] removed unused variable

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2013-08-15 19:08:02 +02:00
Christian Morgan
dbd08551f8 Added sleep() workaround for windows php rename bug 2013-08-15 15:44:11 +02:00
Fabien Potencier
a67f5d03d1 Merge branch '2.3'
* 2.3:
  [Process] Revert change
  [Process] Fix #8746 : slowness added in unit tests since #8741
  [Process] Fix #8742 : Signal-terminated processes are not successful
  corrected English grammar (s/does not exists/does not exist)
  [Process] Add more precision to Process::stop timeout
  [Process] Avoid zombie process in case of unit tests failure
  [Process] Fix #8739
  [Process] Add failing test for #8739
  [Process] Fix CS
  [TwigBridge] removed superflous ; when rendering form_enctype() (closes #8660)
  Fixed documentation grammar for AuthenticationManagerInterface::authenticate()
  [Validator] fixed the wrong isAbstract() check against the class (fixed #8589)
  [TwigBridge] Prevent code extension to display warning
  Fix internal sub-request creation
  [FrameworkBundle] made code more generic
  [Form] Moved auto_initialize option to the BaseType
  Use strstr instead of strpos
  Make sure ContextErrorException is loaded during compile time errors
  Fix empty process argument escaping on Windows
  Ignore null value in comparison validators

Conflicts:
	src/Symfony/Component/Debug/Tests/ErrorHandlerTest.php
	src/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php
	src/Symfony/Component/Process/Process.php
2013-08-14 15:08:25 +02:00
Fabien Potencier
11018011dd Merge branch '2.2' into 2.3
* 2.2:
  corrected English grammar (s/does not exists/does not exist)
  [Process] Add more precision to Process::stop timeout
  [Process] Avoid zombie process in case of unit tests failure
  [Process] Fix #8739
  [Process] Add failing test for #8739
  [Process] Fix CS
  Fixed documentation grammar for AuthenticationManagerInterface::authenticate()
  [Validator] fixed the wrong isAbstract() check against the class (fixed #8589)
  [TwigBridge] Prevent code extension to display warning
  Use strstr instead of strpos

Conflicts:
	src/Symfony/Component/Finder/Shell/Command.php
	src/Symfony/Component/Process/Process.php
2013-08-13 22:18:00 +02:00
Fabien Potencier
5ca93a5454 merged branch fabpot/esi-fragment-handler (PR #8730)
This PR was merged into the master branch.

Discussion
----------

changed the ESI fragment renderer to be always registered

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

This is an alternative implementation for #8427

Commits
-------

09f727b changed the ESI fragment renderer to be always registered
2013-08-13 16:08:33 +02:00
Fabien Potencier
09f727b1f1 changed the ESI fragment renderer to be always registered 2013-08-13 11:17:13 +02:00
Grégoire Pineau
e8e76ece5a [TwigBridge] Prevent code extension to display warning 2013-08-12 10:19:38 +02:00
WouterJ
f39ed5706d Created stopwatch tag 2013-08-11 20:05:14 +02:00
Fabien Potencier
7eaaec1468 [FrameworkBundle] made code more generic 2013-08-09 14:53:54 +02:00
Kris Wallsmith
554f95fd9f [HttpKernel] added $event->isMasterRequest() 2013-08-08 14:41:21 -07:00
Fabien Potencier
fa1d7f540a Merge branch '2.3'
* 2.3:
  added missing support for the new output API in PHP 5.4+
  Fixed bug introduced in #8675
  made the filesystem loader compatible with Twig 2.0
  bumped Symfony version to 2.3.4-DEV
  updated VERSION for 2.3.3
  updated CHANGELOG for 2.3.3
  bumped Symfony version to 2.2.6
  updated VERSION for 2.2.5
  update CONTRIBUTORS for 2.2.5
  updated CHANGELOG for 2.2.5
  [Intl] Updated stubs to reflect ICU 51.2
  replaced deprecated Twig features

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2013-08-08 14:02:55 +02:00
Fabien Potencier
b463a70d73 Merge branch '2.2' into 2.3
* 2.2:
  added missing support for the new output API in PHP 5.4+
  Fixed bug introduced in #8675
  made the filesystem loader compatible with Twig 2.0
  bumped Symfony version to 2.2.6
  updated VERSION for 2.2.5
  update CONTRIBUTORS for 2.2.5
  updated CHANGELOG for 2.2.5
  replaced deprecated Twig features

Conflicts:
	src/Symfony/Bridge/Twig/Extension/FormExtension.php
	src/Symfony/Bridge/Twig/Extension/RoutingExtension.php
	src/Symfony/Component/HttpKernel/Kernel.php
2013-08-08 14:02:32 +02:00
Fabien Potencier
cb03a54348 merged branch hacfi/security_profiler_tpl (PR #8673)
This PR was merged into the master branch.

Discussion
----------

Adapt security collector template name to webprofiler conventions

| Q             | A
| ------------- | ---
| Bug fix?      | no, but syntax consistency & future compatibility(?)
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | fabpot/Twig#1156 which was reverted but will be merged in the future
| License       | MIT

Use Twig namespace syntax instead of bundle syntax for security webprofiler template to be consistent with @WebProfiler template names.

Commits
-------

66c792b Adapt security collector template name to webprofiler conventions
2013-08-08 13:01:03 +02:00
Fabien Potencier
0b965fbe7e made the filesystem loader compatible with Twig 2.0
Without adding the exists() method, the code happens to work by chance,
just because the current implementation of Twig exits() method calls
findTemplate().

But we know that it won't be the case anymore as of Twig 2.0.
2013-08-08 13:00:17 +02:00
Fabien Potencier
ec16d89e2b merged branch fabpot/twig-deprecated-features (PR #8675)
This PR was merged into the 2.2 branch.

Discussion
----------

replaced deprecated Twig features

| 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

As Symfony depends on Twig 1.11+, removing the usage of deprecated features will allow Symfony 2.2+ to work with Twig 2.0.

Commits
-------

322f880 replaced deprecated Twig features
2013-08-08 12:59:31 +02:00
Fabien Potencier
57531d47bd Merge branch '2.3'
* 2.3:
  added trusted hosts check
2013-08-07 16:02:33 +02:00
Fabien Potencier
f8ffb80067 Merge branch '2.2' into 2.3
* 2.2:
  added trusted hosts check

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
2013-08-07 16:02:06 +02:00
Fabien Potencier
b8b972fe74 Merge branch '2.1' into 2.2
* 2.1:
  added trusted hosts check

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php
	src/Symfony/Component/HttpFoundation/Request.php
2013-08-07 16:00:53 +02:00
Fabien Potencier
31f0efd7bc Merge branch '2.0' into 2.1
* 2.0:
  added trusted hosts check

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php
	src/Symfony/Component/HttpFoundation/Tests/RequestTest.php
2013-08-07 15:58:42 +02:00
Fabien Potencier
322f88000e replaced deprecated Twig features 2013-08-06 10:52:18 +02:00
Jean-François Simon
c35cc5b900 added trusted hosts check 2013-08-06 09:14:49 +02:00
Philipp Wahala
66c792bd9f Adapt security collector template name to webprofiler conventions 2013-08-05 03:29:07 +02:00
Fabien Potencier
4ee3d7f11a Merge branch '2.3'
* 2.3:
  moved some fixed dep versions from 2.2.* to ~2.2 (refs #8613)
  [HttpKernel] added a missing dep for dev
  [Form] fixed wrong call to setTimeZone() (closes #8644)
  Fix issue with \DateTimeZone::UTC / 'UTC' for PHP 5.4
  [Form] Fixed patched forms to be valid even if children are not submitted
  Revert "[Form] Fix of "PATCH'ed forms are never valid""
  [Form] Fixed: If a form is not present in a request, it is not automatically submitted
  Fixes link indices
  [Form] Removed the "disabled" attribute from the placeholder option in select fields due to problems with the BlackBerry 10 browser
  Revert "[Form] Remove "value" attribute on empty_value option"
  [routing] added ability for apache matcher to handle array values
  removed dead code and fixed CS
  [Validator] fixed StaticMethodLoader trying to invoke methods of abstract classes (closes #8589)
2013-08-02 22:53:46 +02:00
Fabien Potencier
64535bbcb2 Merge branch '2.2' into 2.3
* 2.2:
  [HttpKernel] added a missing dep for dev
  [Form] fixed wrong call to setTimeZone() (closes #8644)
  Fix issue with \DateTimeZone::UTC / 'UTC' for PHP 5.4
  [Form] Removed the "disabled" attribute from the placeholder option in select fields due to problems with the BlackBerry 10 browser
  [routing] added ability for apache matcher to handle array values
  removed dead code and fixed CS
  [Validator] fixed StaticMethodLoader trying to invoke methods of abstract classes (closes #8589)

Conflicts:
	src/Symfony/Bundle/TwigBundle/TokenParser/RenderTokenParser.php
	src/Symfony/Component/Form/FormConfigBuilder.php
	src/Symfony/Component/HttpKernel/composer.json
	src/Symfony/Component/Validator/Tests/GraphWalkerTest.php
2013-08-02 22:53:38 +02:00
Bernhard Schussek
97cbb19bce [Form] Removed the "disabled" attribute from the placeholder option in select fields due to problems with the BlackBerry 10 browser 2013-08-01 10:41:32 +02:00
Bernhard Schussek
dbd14fc78f Revert "[Form] Remove "value" attribute on empty_value option"
This reverts commit 9e849eb78b.

Reasons for the revert:

* https://github.com/symfony/symfony/issues/8478
* https://github.com/symfony/symfony/issues/8526
2013-08-01 10:34:30 +02:00
Jean-François Simon
17cbfc8cf1 [WebProfilerBundle] made toolbar listener instantiation conditional 2013-07-31 15:46:47 +02:00
Fabien Potencier
70bbf96498 merged branch fabpot/console-fix (PR #8599)
This PR was merged into the master branch.

Discussion
----------

[FrameworkBundle] fixed regression where the command might have the wrong container if the application is reused several times

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

This fixes a regression introduced in #8242. Before this PR, the commands were always getting the current container registered in the kernel. But as the commands are now registered only once, if the container changes, the commands were not aware of this change. That happens quite frequently in functional tests where the Kernel is booted and shutdown several times in the same process.

Commits
-------

1bd45b3 [FrameworkBundle] fixed regression where the command might have the wrong container if the application is reused several times
2013-07-29 19:51:53 +02:00
Fabien Potencier
1bd45b371e [FrameworkBundle] fixed regression where the command might have the wrong container if the application is reused several times 2013-07-29 19:40:51 +02:00
Fabien Potencier
7d581471ce removed dead code and fixed CS 2013-07-28 20:26:16 +02:00
Fabien Potencier
aa3e474aed Merge branch '2.3'
* 2.3:
  [Form] fixes empty file-inputs get treated as extra field
  return 0 if there is no valid data
  [DependencyInjection] fixed regression where setting a service to null did not trigger a re-creation of the service when getting it
  [DependencyInjection] fixed #8570
  fixed file permission
  The ignoreAttributes itself should be ignored, too.
  [Tests] Tests on php 5.5 should pass
  [Twig] fixed TwigEngine::exists() method when a template contains a syntax error (closes #88546)
2013-07-27 07:01:52 +02:00
bronze1man
4b7c3b9cb2 [template] fixed test failure introduted from #8585 2013-07-27 12:44:48 +08:00
Alexander M. Turek
dc1fff0fe1 The ignoreAttributes itself should be ignored, too. 2013-07-24 17:20:53 +02:00
Fabien Potencier
1d86ea10ff Merge branch '2.3'
* 2.3:
  [Validator] fixed ConstraintViolation:: incorrect when nested
  handle Optional and Required constraints from XML or YAML sources correctly
  added missing comments to WebTestCase
  Fixed #8455: PhpExecutableFinder::find() does not always return the correct binary
  Added missing files .gitignore
  [DependencyInjection] Fix Container::camelize to convert beginning and ending chars
  [Validator] Fixed groups argument misplace for validateValue method from validator class
  [Form] Fix of "PATCH'ed forms are never valid"
2013-07-21 22:19:01 +02:00
Fabien Potencier
b45f18b81d Merge branch '2.2' into 2.3
* 2.2:
  [Validator] fixed ConstraintViolation:: incorrect when nested
  handle Optional and Required constraints from XML or YAML sources correctly
  added missing comments to WebTestCase
  Fixed #8455: PhpExecutableFinder::find() does not always return the correct binary
  [DependencyInjection] Fix Container::camelize to convert beginning and ending chars
  [Validator] Fixed groups argument misplace for validateValue method from validator class

Conflicts:
	src/Symfony/Component/Validator/Tests/Constraints/CollectionTest.php
	src/Symfony/Component/Validator/Tests/GraphWalkerTest.php
2013-07-21 22:18:49 +02:00
Thomas Rothe
9852b92da9 added missing comments to WebTestCase 2013-07-21 14:18:53 +02:00
Martin Hasoň
4146587ce7 Added missing files .gitignore 2013-07-21 14:12:18 +02:00
David Buchmann
b960004993 security acl dbal schema: inject the schema instead of the whole container 2013-07-18 14:31:55 +02:00
Sarah Khalil
31c6c627f2 [FrameworkBundle] The config:dump-reference command shows the list of bundles with the table helper 2013-07-13 23:39:16 +02:00
WouterJ
cb5659afc0 Support multiple IPs for matching 2013-07-08 22:42:03 +02:00
Fabien Potencier
99f97e59f1 Merge branch '2.3'
* 2.3:
  Update JsonResponse.php
  [HttpKernel] fixed the inline renderer when passing objects as attributes (closes #7124)
  CookieJar remove unneeded var, Client remove unneeded else
  [DI] Fixed bug requesting non existing service from dumped frozen container
  Update validators.sk.xlf
  [WebProfiler] fix content-type parameter
  Replace romaji period characters with Japanese style zenkaku period characters
  fixed CS
  fixed CS
  [Console] Avoided an unnecessary check.
  Added missing French validator translations
  typo first->second
  Passed the config when building the Configuration in ConfigurableExtension
  removed unused code
  Fixed variable name used in translation cache

Conflicts:
	src/Symfony/Component/Console/Event/ConsoleCommandEvent.php
2013-07-08 15:37:01 +02:00
Fabien Potencier
686bbb61c4 Merge branch '2.2' into 2.3
* 2.2:
  Update JsonResponse.php
  [HttpKernel] fixed the inline renderer when passing objects as attributes (closes #7124)
  [WebProfiler] fix content-type parameter
  Replace romaji period characters with Japanese style zenkaku period characters
  Passed the config when building the Configuration in ConfigurableExtension

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/Functional/Bundle/TestBundle/Resources/config/routing.yml
	src/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php
2013-07-08 15:36:15 +02:00
Fabien Potencier
82dbaee06d [HttpKernel] fixed the inline renderer when passing objects as attributes (closes #7124) 2013-07-08 11:12:10 +02:00
Tobias Schultze
6dbd1e102b [WebProfiler] fix content-type parameter 2013-07-02 14:51:26 +02:00
Fabien Potencier
4c0bfd3313 fixed CS 2013-07-01 14:24:43 +02:00
Fabien Potencier
af101a5a63 Merge branch '2.2' into 2.3
* 2.2:
  fixed CS
  typo first->second
  Fixed variable name used in translation cache

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php
	src/Symfony/Component/CssSelector/Node/FunctionNode.php
	src/Symfony/Component/Finder/Tests/Iterator/RealIteratorTestCase.php
2013-07-01 14:17:23 +02:00
Cédric Girard
b272419ab9 Fixed variable name used in translation cache 2013-06-24 09:44:05 +02:00
Fabien Potencier
31ac13bcd1 Merge branch '2.3'
* 2.3: (33 commits)
  [Form] fixed INF usage which does not work on Solaris (closes #8246)
  Fix grammar
  Removed PHP 5.5 from the allowed failures.
  [Intl] Fixed tests failing on PHP 5.5
  bumped Symfony version to 2.2.4
  updated VERSION for 2.2.3
  update CONTRIBUTORS for 2.2.3
  updated CHANGELOG for 2.2.3
  [DependencyInjection] Replaced try/catch block with an @expectedException annotation in a test.
  [CssSelector] tweaked README file (closes #8287)
  added a node about HTML extension in readme
  [Console] Fixed the table rendering with multi-byte strings.
  Feature/fix unit tests
  [Process] Disable exception on stream_select timeout
  [HttpFoundation] fixed issue with session_regenerate_id (closes #7380)
  [DomCrawler] added a note about the default charset
  Throw exception if value is passed to VALUE_NONE input, long syntax
  fixed date type format pattern regex
  [Security] fixed usage of the salt for the bcrypt encoder (refs #8210)
  [FrameworkBundle] tweaked previous merge (refs #8242)
  ...

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2013-06-23 10:16:33 +02:00
Fabien Potencier
d7999d7108 Merge branch '2.2' into 2.3
* 2.2:
  [Form] fixed INF usage which does not work on Solaris (closes #8246)
  Fix grammar
  bumped Symfony version to 2.2.4
  updated VERSION for 2.2.3
  update CONTRIBUTORS for 2.2.3
  updated CHANGELOG for 2.2.3
  [Process] Disable exception on stream_select timeout
  [HttpFoundation] fixed issue with session_regenerate_id (closes #7380)
  [DomCrawler] added a note about the default charset
  [Console] fixed regression when calling a command foo:bar if there is another one like foo:bar:baz (closes #8245)
  force the Content-Type to html in the web profiler controllers

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2013-06-23 10:16:02 +02:00
Fabien Potencier
d744ffaaeb merged branch jakzal/templating-delegating-engine (PR #8280)
This PR was merged into the master branch.

Discussion
----------

[Templating|FrameworkBundle] Made DelegatingEngine::getEngine() public

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

As a bonus I've covered both classes with tests.

Commits
-------

a54cbff [FrameworkBundle] Made DelegatingEngine::getEngine() public.
3f84cd3 [Templating] Made DelegatingEngine::getEngine() public.
0a72a99 [FrameworkBundle] Added tests for the DelegatingEngine.
6c31ab2 [Templating] Added tests for the DelegatingEngine.
2013-06-17 09:11:26 +02:00
Jakub Zalas
a54cbfffc3 [FrameworkBundle] Made DelegatingEngine::getEngine() public. 2013-06-14 13:55:39 +01:00
Jakub Zalas
0a72a995ba [FrameworkBundle] Added tests for the DelegatingEngine. 2013-06-14 13:42:13 +01:00
Fabien Potencier
2e50edceeb Revert "marked some classes as being experimental in 2.3"
This reverts commit 74cfc84c87.
2013-06-13 10:14:47 +02:00
Fabien Potencier
d93883490d merged branch Seldaek/simplesecurity (PR #6069)
This PR was merged into the master branch.

Discussion
----------

[Security] Add simpler customization options

The goal of this is to provide a simpler extension point for people that don't have the time to dive into the whole security factory + authentication provider + user provider + authentication listener + token mess. As it stands, it gives you a way to just create one class that is handling all the security stuff in one (by implementing SimpleFormAuthenticatorInterface and UserProviderInterface) + one or more token classes.

I would like feedback on whether people think this makes sense or not before continuing and doing a SimpleHttpAuthenticatorInterface for non-form based stuff.

Just FYI that's how it would look in security.yml:

```yaml
security:
    providers:
        simple:
            id: simple_authenticator
    firewalls:
        foo:
            pattern: ^/
            simple_form:
                provider: simple
                authenticator: simple_authenticator
```

/cc @atrauzzi (who posted a long rant on the ML about how hard this all is, and I can't agree more - I hope it's the right account on github?)

Commits
-------

74cfc84 marked some classes as being experimental in 2.3
471e5bc [Security] allowed simple pre-auth to be optional if another auth mechanism already authenticated the user
01c913b moved the simple HTTP authenticator to a pre-auth one
887d9b8 fixed wrong Logger interface
65335ea [Security] Renamed simple_token to simple_http, added support for failure and success handler to both simple firewalls
f7a11a1 [Security] Add simple_token auth method
1fe2ed6 [Security] Add SimpleForm authentication
2013-06-13 10:14:40 +02:00
Fabien Potencier
d0983f0a79 merged branch lsmith77/force_content_type (PR #8050)
This PR was merged into the 2.2 branch.

Discussion
----------

[WebProfilerBundle] force the Content-Type to html in the web profiler controllers

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | [![Build Status](https://travis-ci.org/lsmith77/symfony.png?branch=force_content_type)](https://travis-ci.org/lsmith77/symfony)
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

This just forces the Content-Type to match what will be returned, otherwise if the request format happens to be something else than HTML (which can be the case when building an app that only does JSON/XML with FOSRestBundle) it can happen that the Response class automatically sets a different Content-Type.

The approach taken here matches https://github.com/nelmio/NelmioApiDocBundle/blob/master/Controller/ApiDocController.php#L24

Commits
-------

6d2135b force the Content-Type to html in the web profiler controllers
2013-06-13 10:00:03 +02:00
Fabien Potencier
d849d5d134 Merge branch '2.2' into 2.3
* 2.2:
  Throw exception if value is passed to VALUE_NONE input, long syntax
  fixed date type format pattern regex
  [FrameworkBundle] tweaked previous merge (refs #8242)
  do not re-register commands each time a Console\Application is run
  [Process] moved env check to the Process class (refs #8227)
  fix issue where $_ENV contains array vals
  [DomCrawler] Fix handling file:// without a host
  [Form] corrected interface bind() method defined against in deprecation notice
  [Finder] Fix SplFileInfo::getContents isn't working with ssh2 protocol

Conflicts:
	src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php
	src/Symfony/Component/DomCrawler/Link.php
	src/Symfony/Component/Form/Form.php
2013-06-13 09:51:49 +02:00
Fabien Potencier
24a07fbab8 [FrameworkBundle] tweaked previous merge (refs #8242) 2013-06-13 09:07:59 +02:00
Tom Maguire
842f3fa3d2 do not re-register commands each time a Console\Application is run 2013-06-13 09:04:38 +02:00
Fabien Potencier
35bdf823c4 Merge branch '2.3'
* 2.3: (33 commits)
  Revert "[Console] ensure exit code between 0-254"
  Added missing galician (gl) translations
  fix many-to-many Propel1 ModelChoiceList
  [Console] ensure exit code between 0-254
  Added Greek translation
  [DomCrawler] Fixed a fatal error when setting a value in a malformed field name.
  [FrameworkBundle] Fixed OutOfBoundException when session handler_id is null
  [DependencyInjection] Add support for aliases of aliases + regression test
  [Console] fix status code when Exception::getCode returns something like 0.1
  Fixed doc block on Filesystem::rename
  Fixed exit code for exceptions with error code 0
  [DependencyInjection] Rename ContainerBuilder::$aliases to avoid conflicting with the parent class
  [DependencyInjection] Remove get*Alias*Service methods from compiled containers
  [DependencyInjection] Fix aliased access of shared services, fixes #8096
  instantiate valid commands only
  bumped Symfony version to -DEV
  updated VERSION for 2.3.0
  updated CHANGELOG for 2.3.0
  [Config] Added tests for the FileResource and DirectoryResource.
  [Config] Fixed @covers annotation which ignored some of the methods from the code coverage.
  ...

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2013-06-11 09:15:38 +02:00
Saem Ghani
e3561ce49c [FrameworkBundle] Fixed OutOfBoundException when session handler_id is null
When a null is provided for framework.session.handler_id the FrameworkExtension attempts to set the session storage to null for the 'session.storage.php_bridge' by altering the second argument. According to the session.xml service definition, there is no second argument, and it is in fact the first (read, 0 index) argument that should be changed.
2013-06-07 15:05:01 -07:00
Fabien Potencier
f26c2b9deb Merge branch '2.3'
* 2.3:
  ErrorHandler and fixes
  fixed typo in CS translation (closes #8069)
  fix arab translation
  Removed reference to Symfony\Component\Form\Extension\Core\Type\FormType in form.xml
  slovenian validator translations updated
  [FrameworkBundle] set the dispatcher in the console application
  [Console] fix typehint for Application::setDispatcher
  [Finder] Fixed a path in a test.
  [Form] [Validator] Fixed post_max_size = 0 bug (Issue #8065)
2013-06-02 14:05:59 +02:00
Fabien Potencier
b5c9bb8e03 merged branch Tobion/console-dispatcher (PR #8158)
This PR was merged into the 2.3 branch.

Discussion
----------

[FrameworkBundle] set the dispatcher in the console application

BC break: no
test pass: yes

Otherwise events are not dispatched in symfony frameworkbundle.
The first commit fixes a related typehint in the console.

Commits
-------

e93fc7a [FrameworkBundle] set the dispatcher in the console application
176a3d4 [Console] fix typehint for Application::setDispatcher
2013-05-30 07:11:26 +02:00
Daniele Cesarini
0bd9d2c849 Removed reference to Symfony\Component\Form\Extension\Core\Type\FormType in form.xml 2013-05-29 10:49:10 +02:00
Tobias Schultze
e93fc7a2c0 [FrameworkBundle] set the dispatcher in the console application
So events are really dispatched using the FrameworkBundle console application
2013-05-28 21:38:03 +02:00
Fabien Potencier
e160ddb286 Merge branch '2.3'
* 2.3: (37 commits)
  [Console] renamed ConsoleForExceptionEvent into ConsoleExceptionEvent
  Fix several instances of doubled words
  [Security] Fixed the check if an interface exists.
  Added missing slovak translations
  [FrameworkBundle] removed HttpFoundation classes from HttpKernel cache
  [Finder] Fix iteration fails with non-rewindable streams
  [Finder] Fix unexpected duplicate sub path related AppendIterator issue
  [Security] Added tests for the DefaultLogoutSuccessHandler.
  [Security] Added tests for the DefaultAuthenticationSuccessHandler.
  [ClassLoader] tiny refactoring
  [Security] Added tests for the DefaultAuthenticationFailureHandler.
  [Security] Added tests for the remember me ReponseListener.
  [Security] Added tests for the SessionAuthenticationStrategy.
  [Security] Added tests for the AccessMap.
  [FrameworkBundle] removed deprecated method from cache:clear command
  [WebProfiler] remove deprecated verbose option
  fix logger in regards to DebugLoggerInterface
  [Form] [2.3] removed old option
  Added type of return value in VoterInterface.
  [Console] Add namespace support back in to list command
  ...
2013-05-27 16:49:42 +02:00
Bilal Amarni
c8e5503624 [FrameworkBundle] removed HttpFoundation classes from HttpKernel cache 2013-05-26 17:11:20 +03:00
Fabien Potencier
3158dad829 merged branch Tobion/profiler-verbose (PR #8131)
This PR was merged into the 2.3 branch.

Discussion
----------

[WebProfiler] remove deprecated verbose option

test pass: yes
bc break: no

Commits
-------

8a4b91b [WebProfiler] remove deprecated verbose option
2013-05-25 17:31:54 +02:00
Tobias Schultze
024bd9e814 [FrameworkBundle] removed deprecated method from cache:clear command 2013-05-24 16:28:17 +02:00
Tobias Schultze
8a4b91bf71 [WebProfiler] remove deprecated verbose option 2013-05-24 16:20:41 +02:00
Fabien Potencier
55f2000580 merged branch hason/security_bundle (PR #8064)
This PR was merged into the 2.3 branch.

Discussion
----------

[SecurityBundle] Added missing files for phpunit

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes and no (BC Break in RequestMatcher, symfony/http-foundation: 2.2.x)
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Commits
-------

11497f3 [SecurityBundle] Added missing files for phpunit
2013-05-21 00:17:21 +02:00
Fabien Potencier
2398144270 merged branch hason/framework (PR #8061)
This PR was merged into the 2.3 branch.

Discussion
----------

[FrameworkBundle] Added missing files for phpunit

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

Commits
-------

815cee5 [FrameworkBundle] Added missing files for phpunit
2013-05-21 00:16:18 +02:00
Fabien Potencier
44d7b2be33 merged branch hason/web-profiler-bundle (PR #8103)
This PR was merged into the 2.3 branch.

Discussion
----------

[WebProfilerBundle] Fixed composer.json

Commits
-------

d4f5389 [WebProfilerBundle] Fixed composer.json
2013-05-20 15:44:34 +02:00
Martin Hasoň
d4f5389a38 [WebProfilerBundle] Fixed composer.json 2013-05-20 12:46:47 +02:00
Martin Hasoň
11497f34cf [SecurityBundle] Added missing files for phpunit 2013-05-20 11:51:16 +02:00
Martin Hasoň
815cee5bac [FrameworkBundle] Added missing files for phpunit 2013-05-20 11:44:05 +02:00
Fabien Potencier
e4b900e137 merged branch hason/twig_bundle (PR #8062)
This PR was merged into the 2.3 branch.

Discussion
----------

[TwigBundle] Added missing files for phpunit

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

Commits
-------

2952269 [TwigBundle] Added missing files for phpunit
2013-05-19 21:21:42 +02:00
Vitaliy Zakharov
70c0424f69 fix double variable assignment in ContainerDebugCommand 2013-05-19 21:12:17 +02:00
Martin Hasoň
29522695d3 [TwigBundle] Added missing files for phpunit 2013-05-16 11:58:37 +02:00
Fabien Potencier
485802de94 updated version to 2.4 2013-05-16 09:54:39 +02:00
Lukas Kahwe Smith
6d2135b65c force the Content-Type to html in the web profiler controllers 2013-05-15 19:16:40 +02:00
Fabien Potencier
b1c9fd20a1 removed versions in composer.json files 2013-05-13 16:36:40 +02:00
Fabien Potencier
f41ac06531 changed all version deps to accepts all upcoming Symfony versions 2013-05-13 09:33:35 +02:00
Fabien Potencier
498bfa33fa Merge branch '2.2'
* 2.2:
  fixed CS
  Fixed XML syntax.
  Fixed parsing of leading blank lines in folded scalars. Closes #7989.
  [Form] Fixed a method name.
  Added a test case for Loader::import().
  Fixed Loader import
  [Console] Added dedicated testcase for HelperSet class
  [Serializer] fixed CS (refs #7971)
  Fixed fatal error in normalize/denormalizeObject.
  Fixed 2 namespaces

Conflicts:
	src/Symfony/Component/HttpKernel/Debug/ErrorHandler.php
	src/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php
2013-05-10 20:12:13 +02:00
Fabien Potencier
853f681957 fixed request scope issues (refs #7457) 2013-05-09 09:53:36 +02:00
Fabien Potencier
74cfc84c87 marked some classes as being experimental in 2.3 2013-05-08 15:02:54 +02:00
Fabien Potencier
01c913be4b moved the simple HTTP authenticator to a pre-auth one 2013-05-08 15:02:48 +02:00
Jordi Boggiano
65335eaa62 [Security] Renamed simple_token to simple_http, added support for failure and success handler to both simple firewalls 2013-05-08 15:02:42 +02:00
Jordi Boggiano
f7a11a1ab3 [Security] Add simple_token auth method 2013-05-08 15:02:39 +02:00
Jordi Boggiano
1fe2ed64d1 [Security] Add SimpleForm authentication 2013-05-08 15:02:36 +02:00
WouterJ
1788c6bd32 Fixed 2 namespaces 2013-05-07 18:20:13 +02:00
Fabien Potencier
1856df30c8 [Security] fixed wrong merge (refs #4776) 2013-05-05 18:48:12 +02:00
Bernhard Schussek
549a308a37 [Form] Fixed CSRF error messages to be translated and added "csrf_message" option 2013-05-03 08:38:36 +02:00
Alex Pods
9cca065d85 [FrameworkBundle] Place initialization of $bundlesDir out of foreach loop
Code enhancement. $bundlesDir variable doesnt't need any bundle information for initialization. So it must be placed out of the loop to not process unnecessary operations.
2013-05-01 10:39:32 +04:00
Fabien Potencier
4dcee0a528 tweaked previous merge (refs #6474) 2013-04-30 19:23:11 +02:00
Fabien Potencier
9d5f10ce6f merged branch Koc/fatal-errors-logging (PR #6474)
This PR was squashed before being merged into the master branch (closes #6474).

Discussion
----------

[BC Break][Debug] #2042 implementation of fatal error logging

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

Commits
-------

7671e5c [BC Break][Debug] #2042 implementation of fatal error logging
2013-04-30 19:18:45 +02:00
Konstantin.Myakshin
7671e5c85d [BC Break][Debug] #2042 implementation of fatal error logging 2013-04-30 19:18:44 +02:00
Fabien Potencier
5f889525f6 Merge branch '2.2'
* 2.2:
  [BrowserKit] fixed BC break done recently
  [Process] Fix #5594 : `termsig` must be used instead of `stopsig` in exceptions when a process is signaled
  [Console] find command even if its name is a namespace too (closes #7860)
  Rename misprint property (from warmer to finder)
  Reset all catalogues when adding resource to fallback locale (#7715, #7819)
  Added reloading of fallback catalogues when calling addResource() (#7715)
  Re-added context information to log list
  Add This field is missing RU translation

Conflicts:
	src/Symfony/Component/Console/Tests/ApplicationTest.php
2013-04-30 09:16:44 +02:00
Fabien Potencier
d29bf50dc8 Merge branch '2.1' into 2.2
* 2.1:
  [BrowserKit] fixed BC break done recently
  [Process] Fix #5594 : `termsig` must be used instead of `stopsig` in exceptions when a process is signaled
  Rename misprint property (from warmer to finder)
  Add This field is missing RU translation

Conflicts:
	src/Symfony/Component/Process/Process.php
	src/Symfony/Component/Validator/Resources/translations/validators.ru.xlf
2013-04-30 09:15:50 +02:00
Fabien Potencier
84d759d3d5 [SecurityBundle] fixed deps on the security component 2013-04-29 09:37:21 +02:00
Fabien Potencier
88ebd62e1c fixed the registration of the web profiler when the profiler is disabled 2013-04-26 16:27:29 +02:00
Fabien Potencier
a11f9017aa [FrameworkBundle] added a way to disable the profiler
Before:

  enabled: true  # the profiler is enabled and data are collected

  enabled: false # the profiler is enabled but data are not collected (data can be collected on demand)

  No way to disable the profiler

After:

  enabled: true  # the profiler is enabled and data are collected
  collect: true

  enabled: true  # the profiler is enabled but data are not collected (data can be collected on demand)
  collect: false

  enabled: false # the profiler is disabled
2013-04-26 16:14:55 +02:00
Florin Patan
f675dd8faa Truly disabled profiler in prod 2013-04-26 16:14:55 +02:00
Fabien Potencier
ccc52a4e4b merged branch fabpot/bcrypt (PR #7853)
This PR was merged into the master branch.

Discussion
----------

[Security] Outsource all the BCrypt heavy lifting to a library

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

The [BCrypt bundle](https://github.com/elnur/ElnurBlowfishPasswordEncoderBundle) is already using the library.

This is a working implementation of #7247

Commits
-------

c83546d [Security] tweaked previous commit
b2e553a Outsource all the BCrypt heavy lifting to a library
2013-04-25 18:23:35 +02:00
Fabien Potencier
c83546d268 [Security] tweaked previous commit 2013-04-25 17:52:07 +02:00
Jakub Zalas
0600d833ac Fixed typo 2013-04-25 17:43:02 +02:00
Fabien Potencier
5047227489 moved the kernel listener compiler pass to HttpKernel to make it reusable (refs #6643) 2013-04-25 16:01:08 +02:00
alexandresalome
45f1a16b93 make RegisterKernelListenersPass reusable 2013-04-25 15:40:01 +02:00
Fabien Potencier
e04ed3b9c2 merged branch fabpot/create-controller-names (PR #7843)
This PR was merged into the master branch.

Discussion
----------

Add a way to create a short controller name (a🅱️c) from a fully qualify one (controller::action)

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

Working implementation of #5865

Commits
-------

0795ea8 [FrameworkBundle] fixed implementation of previous merge (refs #5865)
91ebba4 new method to create shorthand name from full Controller name
2013-04-25 14:59:40 +02:00
Fabien Potencier
0795ea8663 [FrameworkBundle] fixed implementation of previous merge (refs #5865) 2013-04-25 13:41:28 +02:00
Bart van den Burg
91ebba420a new method to create shorthand name from full Controller name 2013-04-25 13:20:16 +02:00
Jordi Boggiano
54c1377a33 [Console] Handle new verbosity levels 2013-04-25 12:42:34 +02:00
alexpods
b3135254dd Rename misprint property (from warmer to finder) 2013-04-25 12:13:02 +02:00
Fabien Potencier
7ceb6e5c99 merged branch fabpot/browserkit-client (PR #7835)
This PR was merged into the master branch.

Discussion
----------

fixed Client implementation to return the right Response (closes #4475)

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

This PR addresses #4475 by trying to minimize the BC break impact.

Commits
-------

31cefc6 made some small tweaks
84ca34b alternate fix where we had accessor for the BrowerKit request/response instances
1005fd1 fixed Client implementation to return the right Response (closes #4475)
2013-04-25 08:32:27 +02:00
Fabien Potencier
31cefc642b made some small tweaks 2013-04-25 08:21:47 +02:00
Fabien Potencier
84ca34b45e alternate fix where we had accessor for the BrowerKit request/response instances 2013-04-24 22:00:56 +02:00
Fabien Potencier
1005fd1f79 fixed Client implementation to return the right Response (closes #4475) 2013-04-24 20:50:59 +02:00
Fabien Potencier
14ae4ecfd7 merged branch bschussek/improve-name-parser (PR #7812)
This PR was merged into the master branch.

Discussion
----------

[FrameworkBundle] Improved TemplateNameParser performance

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

Performance test in symfony-standard:
```php
<?php

use Symfony\Bundle\FrameworkBundle\Templating\TemplateNameParser;

require __DIR__.'/vendor/autoload.php';
require __DIR__.'/app/AppKernel.php';

$kernel = new AppKernel('dev', true);
$kernel->boot();
$parser = new TemplateNameParser($kernel);

$time = microtime(true);

for ($i = 0; $i < 50; ++$i) {
    $parser->parse("AcmeDemoBundle:Foo:bar$i.html.twig");
}

echo "Time:   " . (microtime(true) - $time)*1000 . "ms\n";
echo "Memory: " . memory_get_peak_usage(true)/(1024*1024) . "MB\n";
```

Before:
```
Time:   3.80706787109ms
Memory: 1.5MB
```

After:
```
Time:   3.13401222229ms
Memory: 1.5MB
```

Commits
-------

f092c7f [FrameworkBundle] Improved TemplateNameParser performance
2013-04-23 14:40:40 +02:00
Bernhard Schussek
f092c7f704 [FrameworkBundle] Improved TemplateNameParser performance 2013-04-23 14:20:34 +02:00
Michel Weimerskirch
9e49bc83a5 Re-added context information to log list
Fixes #7679
2013-04-23 09:56:11 +02:00
Miha Vrhovnik
5609aae856 Added currency form type and validator 2013-04-23 06:57:28 +02:00
Fabien Potencier
b13af94e01 merged branch bschussek/button-fix (PR #7800)
This PR was merged into the master branch.

Discussion
----------

[Form] Fixed missing label in button

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

Commits
-------

6671b32 [Form] Fixed missing label in button
2013-04-22 16:23:52 +02:00
Bernhard Schussek
6671b32285 [Form] Fixed missing label in button 2013-04-22 16:22:02 +02:00
Fabien Potencier
7ef73b14c6 [HttpKernel] added logging when an inline fragment cannot be rendered and ignore_errors is on 2013-04-22 15:39:53 +02:00
Fabien Potencier
2b473cbb65 Merge branch '2.2'
* 2.2:
  added missing license blocks
  added missing license blocks
2013-04-22 06:30:07 +02:00
Fabien Potencier
a8af3e2c18 added missing license blocks 2013-04-22 06:29:54 +02:00
Lukas Kahwe Smith
07d79279cd added changelog note about RedirectController action signature changes 2013-04-21 19:22:48 +02:00
Fabien Potencier
c3756eb800 merged branch webfactory/issue-7230/picks/cache-file-utils (PR #7753)
This PR was squashed before being merged into the master branch (closes #7753).

Discussion
----------

Mitigate dependency upon ConfigCache

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes (refactoring)
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        | todo, issue is symfony/symfony-docs#2531

Some clients use ConfigCache only for its ability to atomically write into a file.

The PR moves that code into the Filesystem component.

It's a pick off #7230.

__To-Do:__
- [ ] Update docs for the Filesystem component

Commits
-------

3158c41 Mitigate dependency upon ConfigCache
2013-04-21 16:28:51 +02:00
Matthias Pigulla
3158c4106a Mitigate dependency upon ConfigCache 2013-04-21 16:28:50 +02:00
Pascal Borreli
0a12fd619e Fixed typos 2013-04-21 13:23:54 +00:00
Pascal Borreli
6ef7f10628 Fixed typos 2013-04-21 11:14:35 +00:00
Fabien Potencier
46ac2f0e42 [TwigBundle] removed @ when defining an autoescaping service, and fixed XSD to use - instead of _ 2013-04-21 10:18:50 +02:00
Fabien Potencier
898a63c8f0 merged branch maxbeutel/pr/custom-template-escaping (PR #7479)
This PR was merged into the master branch.

Discussion
----------

[TwigBundle] Make twig extension handle custom template escaping guesser

I wanted to add a custom template escaping guesser for twig like in http://twig.sensiolabs.org/doc/recipes.html#using-the-template-name-to-set-the-default-escaping-strategy

This pull request allows you register a service id and a method as a custom guesser:

    twig:
        autoescape: my_service:guess

Documentation is missing for this PR and the unit tests are not that good. I´d work on it if this PR has any chance of getting merged?

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

Commits
-------

c2c1ed0 make twig extension handle custom template escaping guesser
2013-04-21 10:14:24 +02:00
Fabien Potencier
2b6d0cb955 merged branch lsmith77/redirect_controller (PR #7590)
This PR was merged into the master branch.

Discussion
----------

make it possible to ignore route attributes in the RedirectContoller

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

```
_welcome:
    pattern: /{path}
    defaults:
        _controller: FrameworkBundle:Redirect:redirect
        route: licenses_projects
        ignoreAttributes: true
    requirements:
        path: .*
```

or

```
_welcome:
    pattern: /{path}
    defaults:
        _controller: FrameworkBundle:Redirect:redirect
        route: licenses_projects
        ignoreAttributes: [path]
    requirements:
        path: .*
```

Ensures that ``path`` isnt added as a GET parameter in case the ``licenses_projects`` doesnt have a path in the pattern.

Commits
-------

190abc1 add unit tests for $ignoreAttributes
0c7b65f inject the Request via the action signature, rather than fetching it from the DIC
49062aa make it possible to ignore route attributes in the RedirectContoller
2013-04-20 22:39:42 +02:00
Lukas Kahwe Smith
190abc1842 add unit tests for $ignoreAttributes 2013-04-20 22:35:33 +02:00
Lukas Kahwe Smith
0c7b65faf6 inject the Request via the action signature, rather than fetching it from the DIC 2013-04-20 22:34:45 +02:00
Lukas Kahwe Smith
49062aacac make it possible to ignore route attributes in the RedirectContoller 2013-04-20 22:32:51 +02:00
Dmitrii Chekaliuk
811434f988 Allow setting trusted_proxies using CIDR notation 2013-04-20 17:49:56 +02:00
Fabien Potencier
51a3561ed4 [SecurityBundle] added a missing entry in the CHANGELOG 2013-04-20 15:51:07 +02:00
Fabien Potencier
1777d984b9 merged branch danfinnie/multiple_ip_matching (PR #7251)
This PR was squashed before being merged into the master branch (closes #7251).

Discussion
----------

[SecurityBundle] [HttpFoundation] Allow for multiple IP address in security access_control rules

Fixes #7249.

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

Commits
-------

650352d [SecurityBundle] [HttpFoundation] Allow for multiple IP address in security access_control rules
2013-04-20 15:48:17 +02:00
Dan Finnie
650352d1ca [SecurityBundle] [HttpFoundation] Allow for multiple IP address in security access_control rules 2013-04-20 15:48:16 +02:00
Fabien Potencier
719c278f32 merged branch egeloen/f-container-params-debug (PR #6550)
This PR was merged into the master branch.

Discussion
----------

[FrameworkBundle] Allow to debug container parameters

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

Hey!

This PR adds a new command which allows to debug container parameters. IMO, being able to list all available parameters is very useful. We can now know which parameters we can inject into our services.

Regards

Commits
-------

ceb401d Add parameters debug to the container:debug command
64388c1 [FrameworkBundle] Allow to debug container parameters
2013-04-20 15:10:52 +02:00
Bernhard Schussek
01b71a47ea [Form] Removed trigger_error() for deprecations as of 3.0 2013-04-18 11:02:51 +02:00
Bernhard Schussek
81f8c67566 [Form] Implemented form processors 2013-04-18 11:02:51 +02:00
Fabien Potencier
e51c560ad4 merged branch acasademont/patch-1 (PR #7678)
This PR was merged into the master branch.

Discussion
----------

[Form] Remove "value" attribute on empty_value option

Today we faced a very strange issue with the newest Blackberry 10 browser, it was not submitting our forms. Finally we found that in a ```select``` element, if you have a disabled option, it can't have a value or the HTML5 validator will crash and won't submit the form. Of course, setting the ```novalidate``` option for the whole form also solved the issue.

Although I know this must be an issue with the WebKit version the BB10 has, it can easily be solved in symfony with this change. In fact, it does make sense since we already have a disabled option with no value if the ```preferred_choices``` are not empty and a ```separator``` is set

Commits
-------

9e849eb [Form] Remove "value" attribute on empty_value option
2013-04-18 10:34:46 +02:00
Fabien Potencier
5a3428dc78 Revert "merged branch drak/start_on_demand (PR #7576)"
This reverts commit 7aa06818bc, reversing
changes made to 7bf8933662.
2013-04-18 07:30:58 +02:00
Fabien Potencier
7aa06818bc merged branch drak/start_on_demand (PR #7576)
This PR was merged into the master branch.

Discussion
----------

[2.3][Session] Give greater control over how and when session starts

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

Refs #6036

Gives control over how start on demand works: allowing to turn it on or off and to allow bag access when session is off.

Commits
-------

f431cb0 Fix tests
1f521d8 Coding standards
2583c26 [HttpFoundation][FrameworkBundle] Keep save auto_start behaviour as in 2.2 and make component values consistent with FrameworkBundle's configuration options.
ceaf69b [FrameworkBundle] Use more sophisticated validation and configuration.
af0a140 [FrameworkBundle] Add configuration to allow control over session start on demand.
8fc2397 [HttpFoundation] Give control over how session start on demand.
2013-04-18 07:26:17 +02:00
Fabien Potencier
7bf8933662 merged branch drak/session_detect (PR #7571)
This PR was squashed before being merged into the master branch (closes #7571).

Discussion
----------

[2.3] Handle PHP sessions started outside of Symfony

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

This PR brings a way to allow Symfony2 to manage a session started outside of Symfony in such a way that quite explicit. It also introduces more robust detection of previously started sessions under PHP 5.3 and supports real session status detection under PHP 5.4

Commits
-------

df99902 [2.3] Handle PHP sessions started outside of Symfony
2013-04-18 07:19:50 +02:00
Drak
df99902a01 [2.3] Handle PHP sessions started outside of Symfony 2013-04-18 07:19:50 +02:00
Jakub Zalas
043a91514f [FrameworkBundle] Fixed Stopwatch namespace. 2013-04-17 22:32:53 +01:00
Jakub Zalas
2170dcb58e [FrameworkBundle] Added a missing test for TimedPhpEngine. 2013-04-17 22:32:28 +01:00
Fabien Potencier
5a158ea08b merged branch bschussek/issue5383 (PR #6528)
This PR was merged into the master branch.

Discussion
----------

[2.3] [Form] Support buttons in forms

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

The general idea of this PR is to be able to add buttons to forms like so:

```php
$builder->add('clickme', 'submit');
```

You can then check in the controller whether the button was clicked:

```php
if ($form->get('clickme')->isClicked()) {
   // do stuff
}
```

Button-specific validation groups are also supported:

```php
$builder->add('clickme', 'submit', array(
    'validation_groups' => 'OnlyClickMe',
));
```

The validation group will then override the one defined in the form if that button is clicked.

This PR also introduces the disabling of form validation by passing the value `false` in the option `validation_groups`:

```php
$builder->add('clickme', 'submit', array(
    'validation_groups' => false,
));
```

The same can be achieved (already before this PR) by passing an empty array:
```php
$builder->add('clickme', 'submit', array(
    'validation_groups' => array(),
));
```

See the linked documentation for more information.

Commits
-------

faf8d7a [Form] Added upgrade information about setting "validation_groups" => false
d504732 [Form] Added leading backslashes to @exceptionMessage doc blocks
c8afa88 [Form] Removed deprecated code scheduled for removal in 2.3
36ca056 [Form] Simplified Twig code
ce29c70 [Form] Fixed incorrect doc comment
0bc7129 [Form] Fixed invalid use of FormException
600007b [Form] The option "validation_groups" can now be set to false to disable validation. This is identical to setting it to an empty array.
277d6df [Form] Fixed concatenation operator CS (see 7c47e34928)
7b07925 [Form] Changed isset() to array_key_exists() to be consistent with ParameterBag
7b438a8 [Form] Made submit buttons able to convey validation groups
cc2118d [Form] Implemented support for buttons
2013-04-17 19:40:27 +02:00
Albert Casademont
9e849eb78b [Form] Remove "value" attribute on empty_value option
Today we faced a very strange issue with the newest Blackberry 10 browser, it was not submitting our forms. Finally we found that in a ```select``` element, if you have a disabled option, it can't have a value or the HTML5 validator will crash and not submit the form. Of course, setting the ```novalidate``` option for the whole form also solved the issue.

Although I know this must be an issue with the WebKit version the BB10 has it can easily be solved in symfony with this change. In fact, it does make sense since we already have a disabled option with no value if the ```preferred_choices``` are not empty and a ```separator``` is set
2013-04-17 16:21:44 +02:00
Fabien Potencier
78b060961a merged branch Tatsh/add-zend-opcache-detection (PR #7674)
This PR was merged into the master branch.

Discussion
----------

[HttpKernel] ConfigDataCollector: Add support for new Zend OPcache accelerator

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

Related: https://github.com/symfony/symfony/pull/7670

**From original pull request:**

More information: https://github.com/zend-dev/ZendOptimizerPlus

This extension is compatible with PHP 5.2-5.5. I'm using it with 5.5 and 5.4. The PHP developers plan to include this as opposed to APC in PHP 5.5 core. http://php.net/archive/2013.php#id2013-03-21-1

This does not really have to do with Zend Optimiser+. It has to do with the newly open sourced version, Zend OPcache.

I noticed a *similar* PR here https://github.com/symfony/symfony/pull/7087 but did not like that the unit test check for accelerators was completely removed. I also do not consider it necessary to add more code just for an extension check (I would consider that 'unnecessary re-factoring'). And finally, I have no idea what the final purpose of it is. Based on its title, it seemed like at first that it was for Zend Optimizer+ (the proprietary extension: http://files.zend.com/help/Zend-Server-6/zend-server.htm#zendoptimizerplus.html) but then it sort of changed to adding support for Zend OPcache (the recently open sourced version).

This does only Zend OPcache. Tested on PHP 5.5 and PHP 5.4, including unit tests.

Based on naming scheme, I decided to name the function `hasZendOpcache` (ignoring the abbreviation as with `hasApc`) as opposed to `hasZendOpCache` or other names. Not sure if this is the 'perfect name' (it gets called in all lower-case in the twig file anyway).

Commits
-------

8e9cb3b Add support for detection of Zend OPcache as an accelerator
2013-04-17 07:42:22 +02:00
Fabien Potencier
1b2619078d Merge branch '2.2'
* 2.2:
  Fix default value handling for multi-value options
  [HttpKernel] truncate profiler token to 6 chars (see #7665)
  Disabled APC on Travis for PHP 5.5+ as it is not available
  [HttpFoundation] do not use server variable PATH_INFO because it is already decoded and thus symfony is fragile to double encoding of the path
  Fix download over SSL using IE < 8 and binary file response
  [Console] Fix merging of application definition, fixes #7068, replaces #7158
  [HttpKernel] fixed the Kernel when the ClassLoader component is not available (closes #7406)
  fixed output of bag values
  [Yaml] improved boolean naming ($notEOF -> !$EOF)
  [Yaml] fixed handling an empty value
  [Routing][XML Loader] Add a possibility to set a default value to null
  [Console] fixed handling of "0" input on ask
  The /e modifier for preg_replace() is deprecated in PHP 5.5; replace with preg_replace_callback()
  fixed handling of "0" input on ask
  [HttpFoundation] Fixed bug in key searching for NamespacedAttributeBag
  [Form] DateTimeToRfc3339Transformer use proper transformation exteption in reverse transformation
  Update PhpEngine.php
  [PropertyAccess] Add objectives to pluralMap
  [Security] Removed unused var
  [HttpFoundation] getClientIp is fixed.

Conflicts:
	src/Symfony/Component/Console/Tests/Command/CommandTest.php
	src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php
	src/Symfony/Component/HttpFoundation/Request.php
	src/Symfony/Component/HttpKernel/Kernel.php
2013-04-17 07:31:37 +02:00
Fabien Potencier
fd58a5f424 Merge branch '2.1' into 2.2
* 2.1:
  Fix default value handling for multi-value options
  [HttpKernel] truncate profiler token to 6 chars (see #7665)
  Disabled APC on Travis for PHP 5.5+ as it is not available
  [HttpFoundation] do not use server variable PATH_INFO because it is already decoded and thus symfony is fragile to double encoding of the path
  [Yaml] improved boolean naming ($notEOF -> !$EOF)
  [Yaml] fixed handling an empty value
  [Routing][XML Loader] Add a possibility to set a default value to null
  The /e modifier for preg_replace() is deprecated in PHP 5.5; replace with preg_replace_callback()
  [HttpFoundation] Fixed bug in key searching for NamespacedAttributeBag
  [Form] DateTimeToRfc3339Transformer use proper transformation exteption in reverse transformation
  Update PhpEngine.php
  [HttpFoundation] getClientIp is fixed.

Conflicts:
	.travis.yml
	src/Symfony/Component/Routing/Loader/XmlFileLoader.php
	src/Symfony/Component/Routing/Loader/schema/routing/routing-1.0.xsd
	src/Symfony/Component/Routing/Tests/Fixtures/validpattern.xml
	src/Symfony/Component/Routing/Tests/Loader/XmlFileLoaderTest.php
2013-04-17 07:27:14 +02:00
Andrew Udvare
8e9cb3b0a7 Add support for detection of Zend OPcache as an accelerator 2013-04-14 21:00:45 -07:00
Bernhard Schussek
c8afa886cd [Form] Removed deprecated code scheduled for removal in 2.3 2013-04-13 16:46:29 +02:00
Bernhard Schussek
7b438a816b [Form] Made submit buttons able to convey validation groups 2013-04-13 16:46:28 +02:00
Bernhard Schussek
cc2118dd5c [Form] Implemented support for buttons 2013-04-13 16:46:28 +02:00
Pavel Volokitin
f1632266e4 fixed output of bag values
Call json_encode with flags: JSON_UNESCAPED_SLASHES and
JSON_UNESCAPED_UNICODE
2013-04-12 14:36:58 +02:00
Drak
f431cb02b4 Fix tests 2013-04-11 13:22:46 +01:00
Fabien Potencier
3cb87a3f95 merged branch dantleech/enforce_sprintf_for_exceptions (PR #7620)
This PR was squashed before being merged into the master branch (closes #7620).

Discussion
----------

Enforce sprintf for exceptions

| Q             | A
| ------------- | ---
| Bug fix?      |no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | [yes|no]
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/2483

Changed format of exceptions which concatenate strings as follows

````
throw new \Exception('The '.$something.' needs the '.$foobar.' parameter');
````

to

````
throw new \Exception(sprintf('The %s needs the %s parameter', $something, $foobar));
````

This follows discussion on mailing list: https://groups.google.com/forum/?fromgroups#!topic/symfony-devs/tecj3UOAueM

Unit test results are pending...

Commits
-------

e655120 Enforce sprintf for exceptions
2013-04-11 08:50:46 +02:00
dantleech
e655120f05 Enforce sprintf for exceptions 2013-04-11 08:50:46 +02:00
Andrew Udvare
b22d2ff925 The /e modifier for preg_replace() is deprecated in PHP 5.5; replace with preg_replace_callback() 2013-04-11 08:41:26 +02:00
Fabien Potencier
17e065facb merged branch canni/prod_server (PR #7507)
This PR was squashed before being merged into the master branch (closes #7507).

Discussion
----------

[FrameworkBundle] Enable possibility to run PHP bultin server in production env

See the referenced ticket for discussion;

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

Commits
-------

12fce13 [FrameworkBundle] Enable possibility to run PHP bultin server in production env
2013-04-09 16:38:45 +02:00
Dariusz Górecki
12fce13dbb [FrameworkBundle] Enable possibility to run PHP bultin server in production env 2013-04-09 16:38:45 +02:00
Fabien Potencier
83e078a035 Merge branch '2.2'
* 2.2:
  Fix finding ACLs from ObjectIdentity's with different types
  [HttpKernel] tweaked previous merge
  #7531: [HttpKernel][Config] FileLocator adds NULL as global resource path
  Fix autocompletion of command names when namespaces conflict
  Fix timeout in Process::stop method
  fixed CS
  Round stream_select fifth argument up.
  Fix Process timeout
  [HttpKernel] Remove args from 5.3 stack traces to avoid filling log files, fixes #7259
  bumped Symfony version to 2.2.2-DEV
  updated VERSION for 2.2.1
  updated CHANGELOG for 2.2.1
  Fixed phpdoc blocks to show that $uri can be passed as a string or ControllerReference (rather than just as a string)
  [HttpFoundation] Fixed copy pasted comment from FlashBag in AttributeBag
  [FrameworkBundle] fixed the discovery of the PHPUnit configuration file when using aggregate options like in -vc app/ (closes #7562)
  [WebProfilerBundle] removed next pointer class in a template
  fix overwriting of request's locale if attribute _locale is missing

Conflicts:
	src/Symfony/Component/HttpKernel/Debug/ErrorHandler.php
	src/Symfony/Component/HttpKernel/EventListener/LocaleListener.php
	src/Symfony/Component/HttpKernel/Kernel.php
2013-04-07 22:25:23 +02:00
Lukas Kahwe Smith
d36f4aed80 dump the list of available bundles (and extension alaises) if no name is provided 2013-04-07 18:28:21 +02:00
Drak
2583c2614f [HttpFoundation][FrameworkBundle] Keep save auto_start behaviour as in 2.2 and make component values consistent with FrameworkBundle's configuration options. 2013-04-06 18:13:24 +01:00
Drak
ceaf69b32e [FrameworkBundle] Use more sophisticated validation and configuration. 2013-04-06 17:24:31 +01:00
Fabien Potencier
9a7c56788e Merge branch '2.1' into 2.2
* 2.1:
  [HttpFoundation] Fixed copy pasted comment from FlashBag in AttributeBag
  [FrameworkBundle] fixed the discovery of the PHPUnit configuration file when using aggregate options like in -vc app/ (closes #7562)
  [WebProfilerBundle] removed next pointer class in a template
2013-04-06 12:15:43 +02:00
Drak
af0a14009f [FrameworkBundle] Add configuration to allow control over session start on demand.
1. Gives user control over session start on demand mode.
2. Re-introduce flag to allow session listener to manually start session.
2013-04-06 10:34:54 +01:00
Fabien Potencier
375ded4227 [FrameworkBundle] fixed the discovery of the PHPUnit configuration file when using aggregate options like in -vc app/ (closes #7562) 2013-04-05 08:39:48 +02:00
Max Beutel
c2c1ed0728 make twig extension handle custom template escaping guesser 2013-04-03 10:05:05 +02:00
Dariusz Górecki
553e294f77 [Fix CS] Unneeded whitespace around negation operator 2013-04-02 10:46:23 +01:00
Dariusz Górecki
7c47e34928 [CS Fix] Consistent coding-style of concatenation operator usage 2013-04-02 10:39:57 +01:00
Bilal Amarni
b0ba9fd712 [WebProfilerBundle] removed next pointer class in a template 2013-04-02 11:25:27 +03:00
Fabien Potencier
aa5b22f279 merged branch jfsimon/issue-7439 (PR #7476)
This PR was merged into the master branch.

Discussion
----------

[HttpKernel] adds possibility to add attributes to hx:include tag

This PR follows #7439 and adds escaping to attributes.
This introduces 2 options to the `HIncludeFragmentRenderer::render()` method:
* `id`: an optional `id` attribute for the `hx:include` tag
* `attrs`: an optional array of attributes for the `hx:include` tag

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

Commits
-------

670a502 [HttpKernel] added escaping for hx:include tag attributes
342d089 Allow to set id + custom attributes to hinclude tag
2013-04-01 10:10:25 +02:00
Fabien Potencier
e1c741db9c Merge branch '2.2'
* 2.2: (22 commits)
  fixed doc references (closes #7515)
  fixed doc references (closes #7515)
  On OS X, sys_get_tmp_dir() returns /var/private/..., which really is below /private/var.
  Doctrine cannot handle bare random non-utf8 strings
  small changes
  [SecurityBundle] Fixed configuration exemple
  idAsIndex should be true with a smallint or bigint id field.
  [PropertyAccess] Remove trailing periods from doc blocks
  Fix param docs for PropertyAccessor read method
  Fixed long multibyte parameter logging in DbalLogger:startQuery
  Keep the file extension in the temporary copy and test that it exists (closes #7482)
  bumped Symfony version to 2.1.10-DEV
  [Validator][translation][japanese]replaced period to japanese one [Validator][translation][japanese]fixed japanese translation to more practical one [Validator][translation][japanese]fixed message ordering to be consistent with other languages [Validator][translation][japanese]added new validation messages in japanese translation
  updated VERSION for 2.1.9
  update CONTRIBUTORS for 2.1.9
  updated CHANGELOG for 2.1.9
  [Security] fixed wrong interface
  Remove already defined arguments
  Add missing use
  [FrameworkBundle] Reuse definition variable in FormPass
  ...

Conflicts:
	src/Symfony/Bridge/Doctrine/Logger/DbalLogger.php
	src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/config.html.twig
2013-04-01 10:07:30 +02:00
Fabien Potencier
ab1ab7ac18 merge branch '2.1' into 2.2
* 2.1:
  fixed doc references (closes #7515)
  small changes
  [SecurityBundle] Fixed configuration exemple
  idAsIndex should be true with a smallint or bigint id field.
  Fixed long multibyte parameter logging in DbalLogger:startQuery
  Keep the file extension in the temporary copy and test that it exists (closes #7482)
  [Validator][translation][japanese]replaced period to japanese one [Validator][translation][japanese]fixed japanese translation to more practical one [Validator][translation][japanese]fixed message ordering to be consistent with other languages [Validator][translation][japanese]added new validation messages in japanese translation

Conflicts:
	src/Symfony/Component/Validator/Resources/translations/validators.ja.xlf
2013-04-01 10:05:23 +02:00
Grégoire Pineau
2c7a99b679 [SecurityBundle] Fixed configuration exemple
| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -
2013-03-30 23:16:49 +01:00
Eric GELOEN
ceb401d1d6 Add parameters debug to the container:debug command 2013-03-30 16:35:41 +01:00
Jean-François Simon
670a5028a8 [HttpKernel] added escaping for hx:include tag attributes 2013-03-29 05:29:22 +01:00
Eric GELOEN
64388c14e6 [FrameworkBundle] Allow to debug container parameters 2013-03-28 14:55:36 +01:00
Fabien Potencier
aaf4f12ad9 Merge branch '2.1' into 2.2
* 2.1:
  bumped Symfony version to 2.1.10-DEV
  updated VERSION for 2.1.9
  update CONTRIBUTORS for 2.1.9
  updated CHANGELOG for 2.1.9
  [FrameworkBundle] Reuse definition variable in FormPass

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2013-03-26 15:39:23 +01:00
Xavier HAUSHERR
cb4704d1a9 Remove already defined arguments 2013-03-26 08:52:20 +01:00
Fran Moreno
f52320d4b9 [FrameworkBundle] Reuse definition variable in FormPass 2013-03-23 21:50:01 +01:00
loalf
b4e4844235 Add the serializer service 2013-03-23 19:05:00 +00:00
Fabien Potencier
da96476b56 reverted unwanted change (closes #7460) 2013-03-23 15:32:25 +01:00
Fabien Potencier
5dee43c186 tweaked previous merge 2013-03-23 15:29:58 +01:00
Igor Wiedler
e602122f97 Add plain-text exception to exception page 2013-03-23 15:04:43 +01:00
Fabien Potencier
d901afdd2f [FrameworkBundle] updated the CHANGELOG 2013-03-23 14:51:10 +01:00
inmarelibero
c46e3e1748 added route debug information when path matches url
included required class
2013-03-23 14:49:10 +01:00
Fabien Potencier
1d778cf5c8 [FrameworkBundle] added a missing entry in the CHANGELOG 2013-03-23 14:42:22 +01:00
Fabien Potencier
57a0f1bb78 merged branch bgarret/timed-php-engine (PR #6836)
This PR was merged into the master branch.

Discussion
----------

[2.3] [FrameworkBundle] [Templating] added Stopwatch support to the PHP engine

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

I did not include tests nor documentation because there weren't any for TimedTwigEngine (I took it as an example). If I'm mistaken and they are needed, I'll gladly write them.

Commits
-------

3c3d34d [FrameworkBundle] [Templating] added Stopwatch support to the PHP engine
2013-03-23 14:38:26 +01:00
Fabien Potencier
aa26e663b1 merged branch adrienbrault/security-feature (PR #4776)
This PR was merged into the master branch.

Discussion
----------

[2.2] [Security] Add an option to disable the hasPreviousSession() check in AbstractAuthenticationListener

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/adrienbrault/symfony.png?branch=security-feature)](http://travis-ci.org/adrienbrault/symfony)
Fixes the following tickets: #3703
Todo: Add this option to the symfony doc security configuration reference
License of the code: MIT
Documentation PR: N/A

As stated in #3703, all authentication listeners that inherit from AbstractAuthenticationListener, only work when a previous session has been created.
This PR allows to change the default behavior in the security.yml file.

Example:

```yml
security:
    firewalls:
        secured_area:
            pattern:    ^/demo/secured/
            form_login:
                check_path: /demo/secured/login_check
                login_path: /demo/secured/login
                require_previous_session: false # The default value is true
            logout:
                path:   /demo/secured/logout
                target: /demo/
            #anonymous: ~
            #http_basic:
            #    realm: "Secured Demo Area"
```

PS: While removing my old commit, it closed the #4774 PR ...

Commits
-------

0562463 [Security] Add an option to disable the hasPreviousSession() check in AbstractAuthenticationListener
2013-03-23 14:17:47 +01:00
Fabien Potencier
74f96bfebf merged branch fabpot/contagious-services (PR #7007)
This PR was merged into the master branch.

Discussion
----------

[2.3] [WIP] Synchronized services...

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #5300, #6756
| License       | MIT
| Doc PR        | symfony/symfony-docs#2343

Todo:

 - [x] update documentation
 - [x] find a better name than contagious (synchronized)?

refs #6932, refs #5012

This PR is a proof of concept that tries to find a solution for some problems we have with scopes and services depending on scoped services (mostly the request service in Symfony).

Basically, whenever you want to inject the Request into a service, you have two possibilities:

 * put your own service into the request scope (a new service will be created whenever a sub-request is run, and the service is not available outside the request scope);

 * set the request service reference as non-strict (your service is always available but the request you have depends on when the service is created the first time).

This PR addresses this issue by allowing to use the second option but you service still always has the right Request service (see below for a longer explanation on how it works).

There is another issue that this PR fixes: edge cases and weird behaviors. There are several bug reports about some weird behaviors, and most of the time, this is related to the sub-requests. That's because the Request is injected into several Symfony objects without being updated correctly when leaving the request scope. Let me explain that: when a listener for instance needs the Request object, it can listen to the `kernel.request` event and store the request somewhere. So, whenever you enter a sub-request, the listener will get the new one. But when the sub-request ends, the listener has no way to know that it needs to reset the request to the master one. In practice, that's not really an issue, but let me show you an example of this issue in practice:

 * You have a controller that is called with the English locale;
 * The controller (probably via a template) renders a sub-request that uses the French locale;
 *  After the rendering, and from the controller, you try to generate a URL. Which locale the router will use? Yes, the French locale, which is wrong.

To fix these issues, this PR introduces a new notion in the DIC: synchronized services. When a service is marked as synchronized, all method calls involving this service will be called each time this service is set. When in a scope, methods are also called to restore the previous version of the service when the scope leaves.

If you have a look at the router or the locale listener, you will see that there is now a `setRequest` method that will called whenever the request service changes (because the `Container::set()` method is called or because the service is changed by a scope change).

Commits
-------

17269e1 [DependencyInjection] fixed management of scoped services with an invalid behavior set to null
bb83b3e [HttpKernel] added a safeguard for when a fragment is rendered outside the context of a master request
5d7b835 [FrameworkBundle] added some functional tests
ff9d688 fixed Request management for FragmentHandler
1b98ad3 fixed Request management for LocaleListener
a7b2b7e fixed Request management for RequestListener
0892135 [HttpKernel] ensured that the Request is null when outside of the Request scope
2ffcfb9 [FrameworkBundle] made the Request service synchronized
ec1e7ca [DependencyInjection] added a way to automatically update scoped services
2013-03-23 14:07:03 +01:00
Fabien Potencier
ddd30d0b8e merged branch fabpot/request-scope (PR #7457)
This PR was merged into the master branch.

Discussion
----------

moved the request scope creation to the ContainerAwareHttpKernel class

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

While updating the scope documentation, I realized that the request scope was created in the FrameworkBundle while the HttpKernel that manages it was in the HttpKernel component. So, this PR makes things more consistent.

Commits
-------

cec98c1 [DependencyInjection] fixed PHP notice when the scope is not defined
550df5a moved the request scope creation to the ContainerAwareHttpKernel class
2013-03-23 13:54:47 +01:00
Fabien Potencier
26750075b8 merged branch fabpot/deprecated (PR #7227)
This PR was merged into the master branch.

Discussion
----------

[WIP] Removed deprecated stuff

Commits
-------

f2a8908 removed deprecated functionality from RouteCollection
4f4a5d1 [TwigBundle] removed deprecated syntax
45bd413 [FrameworkBundle] removed deprecated options
0bb5d01 [FrameworkBundle] removed deprecated cookie options
b3081e8 [Form] removed deprecated methods and classes
e0385a2 [Validator] removed deprecated methods
65e3b16 [Validator] removed deprecated constraints
4a70ddf [HttpFoundation] removed deprecated session methods
4e7943f [Yaml] removed deprecated support of PHP parsin when parsing YAML files
09a5969 [HttpFoundation] removed deprecated Request::splitHttpAcceptHeader() method
c28f1b0 removed deprected way to declared trusted proxies
5ff6006 removed deprecated stuff in the fragment sub-framework
0a06a7c [Translation] removed deprecated classes
67f6397 [Security] removed deprecated classes
2013-03-23 13:50:05 +01:00
Fabien Potencier
4f4a5d1643 [TwigBundle] removed deprecated syntax 2013-03-23 12:55:23 +01:00
Fabien Potencier
45bd4135ec [FrameworkBundle] removed deprecated options 2013-03-23 12:55:18 +01:00
Fabien Potencier
0bb5d01f32 [FrameworkBundle] removed deprecated cookie options 2013-03-23 11:48:19 +01:00
Fabien Potencier
c28f1b0926 removed deprected way to declared trusted proxies 2013-03-23 11:48:18 +01:00
Fabien Potencier
5ff6006fa6 removed deprecated stuff in the fragment sub-framework 2013-03-23 11:46:55 +01:00
Fabien Potencier
d35cb9f880 [WebProfiler] added the possibility to override the application name/version in the WDT 2013-03-23 11:43:44 +01:00
Fabien Potencier
5b5c7db23a merged branch igorw/css-display (PR #6624)
This PR was merged into the master branch.

Discussion
----------

[2.3][TwigBundle] Use display instead of visibility for exception page icons

Originally spawned from #6612, this allows us to get rid of the ugly margins for the open and close icons on the exception page.

Commits
-------

e66bd14 [TwigBundle] Use display instead of visibility for exception page icons
2013-03-23 11:31:30 +01:00
Fabien Potencier
550df5a85a moved the request scope creation to the ContainerAwareHttpKernel class 2013-03-23 10:14:37 +01:00
Fabien Potencier
8ae7d98569 merged branch DHorchler/2.1 (PR #7193)
This PR was merged into the 2.1 branch.

Discussion
----------

Routing issue with installation in a sub-directory

ref: https://github.com/symfony/symfony/issues/7129

Commits
-------

8d9cd42 Routing issue with installation in a sub-directory ref: https://github.com/symfony/symfony/issues/7129
2013-03-23 08:47:35 +01:00
Fabien Potencier
2f7a9fde7f updated various CHANGELOG files that were not updated when the PRs were merged 2013-03-23 08:35:36 +01:00
Fabien Potencier
5d7b8356ab [FrameworkBundle] added some functional tests 2013-03-20 17:13:44 +01:00
Fabien Potencier
ff9d6883bb fixed Request management for FragmentHandler 2013-03-20 17:13:44 +01:00
Fabien Potencier
1b98ad34ff fixed Request management for LocaleListener 2013-03-20 17:13:40 +01:00
Fabien Potencier
a7b2b7e92b fixed Request management for RequestListener 2013-03-20 16:58:09 +01:00
Fabien Potencier
2ffcfb98c8 [FrameworkBundle] made the Request service synchronized
This change allows any service to depend on the Request (via a method
call) and always have the right Request instance without the need for
the service to be in the request scope (you still need to set the
Request reference as non-strict).
2013-03-20 16:58:08 +01:00
Tobias Schultze
395c50909a add missing typehint to RouterController 2013-03-20 15:28:26 +01:00
Fabien Potencier
d699a929e0 Merge branch '2.2'
* 2.2: (70 commits)
  change wrapped exception message to be more usefull
  updated VERSION for 2.0.23
  update CONTRIBUTORS for 2.0.23
  updated CHANGELOG for 2.0.23
  [Form] fixed failing test
  [DomCrawler] added support for query string with slash
  Fixed invalid file path for hiddeninput.exe on Windows.
  fix xsd definition for strict-requirements
  [WebProfilerBundle] Fixed the toolbar styles to apply them in IE8
  [ClassLoader] fixed heredocs handling
  fixed handling of heredocs
  Add a public modifier to an interface method
  removing xdebug extension
  [HttpRequest] fixes Request::getLanguages() bug
  [HttpCache] added a test (cached content should be kept after purging)
  [DoctrineBridge] Fixed non-utf-8 recognition
  [Security] fixed HttpUtils class tests
  replaced new occurences of 'Request::create()' with '::create()'
  changed sub-requests creation to '::create()'
  fixed merge issue
  ...

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php
	src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/toolbar.html.twig
	src/Symfony/Component/DomCrawler/Link.php
	src/Symfony/Component/Translation/Translator.php
2013-03-20 15:03:03 +01:00
Fabien Potencier
8ff21064b2 merged branch Tobion/strict-req-xsd (PR #7424)
This PR was merged into the 2.2 branch.

Commits
-------

7ef90d2 fix xsd definition for strict-requirements

Discussion
----------

fix xsd definition for strict-requirements

see https://groups.google.com/forum/?fromgroups=#!topic/symfony-devs/bvHPI5C4dlY
2013-03-20 14:25:32 +01:00
Tobias Schultze
7ef90d2f32 fix xsd definition for strict-requirements 2013-03-19 15:23:22 +01:00
Christophe Coevoet
39445c5897 [WebProfilerBundle] Fixed the toolbar styles to apply them in IE8
Fixes #7422
2013-03-19 15:14:34 +01:00
Fabien Potencier
84ff273986 merged branch jfsimon/issue-7037 (PR #7395)
This PR was merged into the master branch.

Commits
-------

a011842 [HttpKernel] fixed memory collector
def2ccb Add PHP memory_limit to WDT

Discussion
----------

[HttpKernel] fixed memory collector

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

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

by vicb at 2013-03-15T20:21:55Z

OT, that's great to see many contributions for you @jfsimon, thanks !

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

by jfsimon at 2013-03-18T09:35:54Z

Thanks @vicb, this is so lovely :)
2013-03-18 18:10:19 +01:00
Jean-François Simon
a011842982 [HttpKernel] fixed memory collector 2013-03-18 16:18:56 +01:00
Fabien Potencier
ea9883f4be merged branch jfsimon/issue-6592 (PR #7331)
This PR was merged into the master branch.

Commits
-------

57aa3d5 [FrameworkBundle] adds --clean option translation:update command

Discussion
----------

[FrameworkBundle] adds --clean option translation:update command

This PR adds `--clean` option to `translation:update` command.
This options activates unused translation removal.

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #6592
2013-03-18 15:16:29 +01:00
Jean-François Simon
57aa3d51a7 [FrameworkBundle] adds --clean option translation:update command
[FrameworkBundle] moved operation classes to component

[FrameworkBundle] fixed catalogue operation classes

[Translation] renamed catalogue operation classes

[Translation] renamed operation classes
2013-03-18 14:53:00 +01:00
Jean-François Simon
6021873f82 [TwigBundle] fixed wrong rebase in #7373 2013-03-15 17:34:54 +01:00
Lee McDermott
def2ccb6d2 Add PHP memory_limit to WDT 2013-03-15 17:17:12 +01:00
Jean-François Simon
b9c37f2727 changed sub-requests creation to '::create()' 2013-03-15 11:44:42 +01:00
Fabien Potencier
0d7593c636 Merge branch '2.1' into 2.2
* 2.1:
  sub-requests are now created with the same class as their parent
  [FrameworkBundle] removed BC break
  [FrameworkBundle] changed temp kernel name in cache:clear
  [DoctrineBridge] Avoids blob values to be logged by doctrine
  [Security] use current request attributes to generate redirect url?
  [Validator] fix showing wrong max file size for upload errors
  [TwigBridge] removed double var initialization (refs #7344)
  [2.1][TwigBridge] Fixes Issue #7342 in TwigBridge
  [FrameworkBundle] fixed cahe:clear command's warmup
  [TwigBridge] now enter/leave scope on Twig_Node_Module
  [TwigBridge] fixed fixed scope & trans_default_domain node visitor
  [TwigBridge] fixed non probant tests & added new one
  [BrowserKit] added ability to ignored malformed set-cookie header
  [Translation] removed wriong 'use'
  [Translation] added xliff loader/dumper with resname support
  [TwigBridge] fixes

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/HttpKernel.php
	src/Symfony/Component/Security/Http/HttpUtils.php
	src/Symfony/Component/Translation/Loader/XliffFileLoader.php
	src/Symfony/Component/Translation/Tests/Loader/XliffFileLoaderTest.php
2013-03-15 11:14:31 +01:00
Jean-François Simon
e51432abaa sub-requests are now created with the same class as their parent 2013-03-14 17:43:08 +01:00
Jean-François Simon
82aa135e42 [TwigBundle] added conditions for routing & httpkernel extensions 2013-03-14 13:50:58 +01:00
Jean-François Simon
ad5eb7ebcb [TwigBundle] fixed compiler pass error 2013-03-14 13:44:07 +01:00
Jean-François Simon
e372183b26 [TwigBundle] Adds service check for extension loading 2013-03-14 12:28:51 +01:00
Jean-François Simon
f2ef6bc66b [FrameworkBundle] removed BC break 2013-03-14 12:23:30 +01:00
Jean-François Simon
cc3a40ed78 [FrameworkBundle] changed temp kernel name in cache:clear 2013-03-14 11:46:34 +01:00
Jean-François Simon
7d87ecd346 [FrameworkBundle] fixed cahe:clear command's warmup 2013-03-13 12:02:56 +01:00
janschoenherr
40528653c0 Update time.html.twig
the "max" variable seems to be unused
2013-03-12 17:57:40 +01:00
Fabien Potencier
44c865418f [FrameworkBundle] fixed regression for the translator fallback configuration (refs #7100, closes #7315) 2013-03-11 23:00:20 +01:00
janschoenherr
cf29581cb2 Update SecurityDataCollector.php
fixed annotations
2013-03-11 18:37:29 +01:00
Fabien Potencier
7c66dffa6b Merge branch '2.1' into 2.2
* 2.1:
  [FrameworkBundle] Fix code status in dockblock
  Fixed test to use Reflection
  [Finder] fixed a potential issue on Solaris where INF value is wrong (refs #7269)
  Update RouteCompiler.php
  [FrameworkBundle] avoids cache:clear to break if new/old folders already exist
  [HttpKernel] Fixed possible profiler token collision (closes #7272, closes #7171)
  [ClassLoader] tweaked test
  [ClassLoader] made DebugClassLoader idempotent
  [DomCrawler] Fix relative path handling in links

Conflicts:
	src/Symfony/Component/DomCrawler/Link.php
	src/Symfony/Component/Finder/Iterator/DepthRangeFilterIterator.php
	src/Symfony/Component/Routing/RouteCompiler.php
2013-03-11 18:18:44 +01:00
Fran Moreno
547350c951 [FrameworkBundle] Fix code status in dockblock 2013-03-09 14:56:26 +01:00
Tobias Schultze
15bf0337ed [FrameworkBundle] fix router debug command
- use dedicated Route:getMethods, getSchemes
- pattern -> path
- show missing scheme requirement
- show missing host regex
- refactoring
2013-03-08 13:29:09 +01:00
Tobias Schultze
d16d193d1e [FramworkBundle] removed unused property of trans update command 2013-03-07 14:40:19 +01:00
Tobias Schultze
5361f83be8 [FramworkBundle] fix phpdoc of commands 2013-03-07 14:36:36 +01:00
Fabien Potencier
ea252671b0 merged branch havvg/feature/config-http_method_override (PR #7202)
This PR was squashed before being merged into the master branch (closes #7202).

Commits
-------

817453c [2.2] add http_method_override option to ease setup

Discussion
----------

[2.2] add http_method_override option to ease setup

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT
2013-03-07 09:07:20 +01:00
Toni Uebernickel
817453cff5 [2.2] add http_method_override option to ease setup 2013-03-07 09:07:20 +01:00
Fabien Potencier
82f6389ac3 merged branch jfsimon/issue-6502 (PR #7260)
This PR was squashed before being merged into the 2.1 branch (closes #7260).

Commits
-------

1d3da29 [FrameworkBundle] avoids cache:clear to break if new/old folders already exist

Discussion
----------

[FrameworkBundle] avoids cache:clear to break if new/old folders already exist

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

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

by mahmouds at 2013-03-04T19:07:20Z

👍
2013-03-06 20:12:21 +01:00
Jean-François Simon
1d3da29779 [FrameworkBundle] avoids cache:clear to break if new/old folders already exist 2013-03-06 20:12:21 +01:00
Fabien Potencier
feaee3615f Merge branch '2.2'
* 2.2: (26 commits)
  [FrameworkBundle] Fixes invalid serialized objects in cache
  remove dead code in yaml component
  Fixed typo in UPGRADE-2.2
  fixed typo
  RedisProfilerStorage wrong db-number/index-number selected
  [DependencyInjection] added a test for the previous merge (refs #7261)
  Unset loading[$id] in ContainerBuilder on exception
  Default validation message translation fix.
  remove() should not use deprecated getParent() so it does not trigger deprecation internally
  adjust routing tests to not use prefix in addCollection
  add test for uniqueness of resources
  added tests for addDefaults, addRequirements, addOptions
  adjust RouteCollectionTest for the addCollection change and refactor the tests to only skip the part that really needs the config component
  added tests for remove() that wasnt covered yet and special route name
  refactor interator test that was still assuming a tree
  adjust tests to no use addPrefix with options
  adjusted tests to not use RouteCollection::getPrefix
  [Routing] trigger deprecation warning for deprecated features that will be removed in 2.3
  [Console] fixed StringInput binding
  [Console] added string input test
  ...
2013-03-06 18:50:21 +01:00
Fabien Potencier
2850fca233 Merge branch '2.1' into 2.2
* 2.1:
  [FrameworkBundle] Fixes invalid serialized objects in cache
  remove dead code in yaml component
  fixed typo
  RedisProfilerStorage wrong db-number/index-number selected
  [DependencyInjection] added a test for the previous merge (refs #7261)
  Unset loading[$id] in ContainerBuilder on exception
  [Console] fixed StringInput binding
  [Console] added string input test
  Revert "merged branch jfsimon/issue-6749 (PR #7220)"
  fixed CS

Conflicts:
	src/Symfony/Component/Console/Tests/Input/StringInputTest.php
	src/Symfony/Component/HttpKernel/Profiler/RedisProfilerStorage.php
2013-03-06 18:38:49 +01:00
Jean-François Simon
d1f5d25483 [FrameworkBundle] Fixes invalid serialized objects in cache 2013-03-06 18:29:15 +01:00
Fabien Potencier
7de4ec8869 merged branch fabpot/translator-consistency (PR #7100)
This PR was merged into the master branch.

Commits
-------

0ef08f5 [Translator] fixed inconsistency in Translator

Discussion
----------

[2.3] [Translator] fixed inconsistency in Translator

| 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

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

by stof at 2013-02-17T20:44:32Z

shouldn't you make ``setFallbackLocale`` call ``setFallbackLocales`` ?

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

by fabpot at 2013-02-18T14:04:39Z

@stof: done

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

by stof at 2013-02-18T14:18:10Z

shoudn't you also update the place where the method is used (in FrameworkBundle probably) to use the non-deprecated one ?
2013-03-06 18:22:34 +01:00
Fabien Potencier
6ead8a157e [WebProfilerBundle] removed the display of some information when their value is n/a 2013-03-06 18:13:54 +01:00
Fabien Potencier
ea7c685140 merged branch henrikbjorn/time-collector-canvas (PR #7065)
This PR was merged into the master branch.

Commits
-------

439b8bc [WebProfilerBundle] Draw retina canvas if devicePixelRatio is bigger than 1

Discussion
----------

[2.3] [WebProfilerBundle] Draw retina canvas elements

When using a MacBook Pro Retina the default canvas is fuzzy and ugly, this scales the elements for a higher DPI so they will look sharp and crisp.
2013-03-06 18:05:48 +01:00
Fabien Potencier
34c9323782 merged branch gimler/profiler_status_text (PR #7095)
This PR was merged into the master branch.

Commits
-------

b0bca01 add status text to web profiler response panel

Discussion
----------

[2.3] add status text to web profiler response panel

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

Add the status text to the web profiler response panel

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

by Burgov at 2013-02-17T11:08:37Z

The response object allows for setting a custom status message, so displaying the predefined one could be confusing.

E.g. ```$reponse->setStatusCode(403, "You can't go here!")```

However, there is no getter for it to be read... Perhaps it should be added?

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

by fabpot at 2013-02-17T11:32:37Z

I think displaying the default text is good enough. I suppose that the intent is to easily remember what a given status code means. There is no getter for the status text as it has no real meaning in terms of HTTP.

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

by gimler at 2013-02-17T16:50:47Z

Yes this was my intention. But i think this is a good point the response should have a `getStatusText` method.
So actual to only point where the status text is use is when the response is converted to string.

@fabpot i would add the `getStatusText` method to the `response` class and modify the PR to use this text. Do you agree with that?

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

by fabpot at 2013-02-17T17:13:07Z

Ad I said in my previous comment, not having a `getStatusText()` was in fact intentional.
2013-03-06 18:01:56 +01:00
Fabien Potencier
e047ac898b fixed CS 2013-03-01 11:46:19 +01:00
Fabien Potencier
fdb2948130 Merge branch '2.2'
* 2.2: (24 commits)
  Options small typo
  [Console] fixed unparsed StringInput tokens
  Mask PHP_AUTH_PW header in profiler
  [TwigBridge] fixed trans twig extractor
  [Finder] adds adapter selection/unselection capabilities
  [DomCrawler] fix handling of schemes by Link::getUri()
  [Console] Fixed comment
  [TwigBridge] fixed the translator extractor that were not trimming the text in trans tags (closes #7056)
  Fixed handling absent href attribute in base tag
  fixed paths/notPaths regex for shell adapters
  fix issue 4911
  Adds expandable globs support to shell adapters
  [HttpFoundation] Fixed messed up headers
  Fixes AppCache + ESI + Stopwatch problem
  added a DebuClassLoader::findFile() method to make the wrapping less invasive
  bumped Symfony version to 2.2.0-RC4-DEV
  updated VERSION for 2.2.0-RC3
  updated CHANGELOG for 2.2.0-RC3
  fixed CHANGELOG
  bumped Symfony version to 2.1.9-DEV
  ...
2013-03-01 07:43:27 +01:00
Fabien Potencier
556ca0cfbd Merge branch '2.1' into 2.2
* 2.1:
  Options small typo
  [Console] fixed unparsed StringInput tokens
  [TwigBridge] fixed trans twig extractor
  [DomCrawler] fix handling of schemes by Link::getUri()
  [Console] Fixed comment
  [TwigBridge] fixed the translator extractor that were not trimming the text in trans tags (closes #7056)
  Fixed handling absent href attribute in base tag
  added a DebuClassLoader::findFile() method to make the wrapping less invasive
  fixed CHANGELOG
  bumped Symfony version to 2.1.9-DEV
  updated VERSION for 2.1.8
  updated CHANGELOG for 2.1.8
  StringInput resets the given options.

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2013-03-01 07:43:14 +01:00
Brian Debuire
e2ef708f1a Options small typo 2013-02-28 23:03:28 +01:00
2manypeople
8d9cd42acd Routing issue with installation in a sub-directory
ref: https://github.com/symfony/symfony/issues/7129
2013-02-26 13:42:14 -03:00
Fabien Potencier
fb7004baab Merge branch '2.2'
* 2.2:
  Defined stable version point of Doctrine.
  [HttpFoundation] Remove Cache-Control when using https download via IE<9 (fixes #6750)
  Update composer.json
  [Form] Fixed TimeType not to render a "size" attribute in select tags
  [Form] Added test for "label" option to accept the value "0"
  Expanded fault-tolerance for unusual cookie dates
  Fix docblock type
  [Form] Fixed "label" option to accept the value "0"
  Added greek translation
  merged branch jfcixmedia/2.1 (PR #5838)
  added a note about a BC break for the path info of sub-request (closes #7138)
  [DomCrawler] lowered parsed protocol string (fixes #6986)
  [FrameworkBundle] Fix a BC for Hinclude global template
  [HttpKernel] fixed locale management when exiting sub-requests
  fixed HInclude renderer (closes #7113)
  Removed some leaking deprecation warning in the Form component
  [HttpKernel] hinclude fragment renderer must escape URIs properly to return valid html

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Component/Security/composer.json
2013-02-23 07:47:02 +01:00
Fabien Potencier
825dc17fbc Merge branch '2.1' into 2.2
* 2.1:
  Defined stable version point of Doctrine.
  [HttpFoundation] Remove Cache-Control when using https download via IE<9 (fixes #6750)
  Update composer.json
  [Form] Fixed TimeType not to render a "size" attribute in select tags
  [Form] Added test for "label" option to accept the value "0"
  Expanded fault-tolerance for unusual cookie dates
  Fix docblock type
  [Form] Fixed "label" option to accept the value "0"
  merged branch jfcixmedia/2.1 (PR #5838)
  [DomCrawler] lowered parsed protocol string (fixes #6986)

Conflicts:
	composer.json
	src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig
	src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/time_widget.html.php
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Component/Form/Tests/Extension/Csrf/EventListener/CsrfValidationListenerTest.php
	src/Symfony/Component/Routing/composer.json
	src/Symfony/Component/Security/composer.json
	src/Symfony/Component/Validator/composer.json
2013-02-23 07:46:07 +01:00
Guilherme Blanco
06ebb0db87 Defined stable version point of Doctrine. 2013-02-22 13:53:49 -05:00
Bernhard Schussek
b7bd630652 [Form] Fixed TimeType not to render a "size" attribute in select tags 2013-02-22 13:51:30 +01:00
Fabien Potencier
dde77ee99a merged branch fabpot/hinclude-fix (PR #7116)
This PR was merged into the 2.2 branch.

Commits
-------

3933912 fixed HInclude renderer (closes #7113)

Discussion
----------

fixed HInclude renderer (closes #7113)

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

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

by stof at 2013-02-19T08:36:20Z

👍
2013-02-20 23:02:50 +01:00
Victor
171cff0dc9 [FrameworkBundle] Fix a BC for Hinclude global template 2013-02-19 12:01:40 +01:00
Fabien Potencier
0ef08f5848 [Translator] fixed inconsistency in Translator 2013-02-19 08:34:16 +01:00
Fabien Potencier
39339121d6 fixed HInclude renderer (closes #7113) 2013-02-19 08:24:52 +01:00
Fabien Potencier
1c783f6038 Merge branch '2.2'
* 2.2: (22 commits)
  [Process] Fix regression introduced in #6620 / 880da01c49, fixes #7082
  [HttpKernel] added a unit for the previous commit (closes #7025)
  [HttpFoundation] fixed, overwritten CONTENT_TYPE
  [BrowserKit] fixed test added in the previous merge (refs #7059)
  [FrameworkBundle] tweaked reference dumper command (see #7093)
  Remove unnecessary comment and change test name
  [Config] tweaked dumper to indent multi-line info
  [HttpKernel] added some tests for previous merge
  Fix REMOTE_ADDR for cached subrequests
  [FrameworkBundle] CSRF should be on by default
  [WebProfilerBundle] removed dependency on FrameworkBundle (closes #6949)
  [HttpKernel] added error display suppression when using the ErrorHandler (if not, errors are displayed twice, refs #6254)
  [HttpFoundation] tweaked previous merge
  [HttpFoundation] Added getter for httpMethodParameterOverride state
  Create validators.lv.xlf
  [Process] Warn user with a useful message when tmpfile() failed
  [BrowserKit] added a test to make sure HTTP authentication is preserved when submitting a form
  Remove array type hint from GetResponseForControllerResultEvent::setControllerResult()
  bumped Symfony version to 2.2.0-DEV
  Revert "merged branch povilas/issue_6101 (PR #6708)"
  ...
2013-02-18 22:28:20 +01:00
Fabien Potencier
ae2f424da7 merged branch fabpot/hinclude-tweak (PR #7096)
This PR was merged into the 2.2 branch.

Commits
-------

a313188 added a proper setter for the templating servicein HInclude

Discussion
----------

added a proper setter for the templating servicein HInclude

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

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

by stof at 2013-02-17T12:44:40Z

👍
2013-02-17 16:28:01 +01:00
Gábor Egyed
18b139d41c [FrameworkBundle] tweaked reference dumper command (see #7093) 2013-02-17 13:49:11 +01:00
Fabien Potencier
9f0beabdd7 merged branch fabpot/profiler-fix (PR #7079)
This PR was merged into the 2.2 branch.

Commits
-------

a9f60f7 [WebProfilerBundle] removed dependency on FrameworkBundle (closes #6949)

Discussion
----------

[WebProfilerBundle] removed dependency on FrameworkBundle (closes #6949)

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #6949
| License       | MIT
| Doc PR        | n/a
2013-02-17 13:29:29 +01:00
Gordon Franke
b0bca01ce3 add status text to web profiler response panel 2013-02-17 11:09:31 +01:00
Victor
f842ae6d99 [FrameworkBundle] CSRF should be on by default 2013-02-15 10:56:14 +01:00
Fabien Potencier
a9f60f70a6 [WebProfilerBundle] removed dependency on FrameworkBundle (closes #6949) 2013-02-15 10:53:40 +01:00
Henrik Bjørnskov
439b8bcdf3 [WebProfilerBundle] Draw retina canvas if devicePixelRatio is bigger than 1 2013-02-14 11:49:47 +01:00
Fabien Potencier
f66e109d14 Merge branch '2.2'
* 2.2:
  Fixed XmlFileLoaderTest::testLoadThrowsExceptionWithInvalidFileEvenWithoutSchemaValidation
  moved file hash calculation to own method
  [Validator] Add check for existing metadata on property
  added support for the X-Forwarded-For header (closes #6982, closes #7000)
  fixed the IP address in HttpCache when calling the backend
  [EventDispatcher] Added assertion.
  [EventDispathcer] Fix removeListener
  [DependencyInjection] Add clone for resources which were introduced in 2.1
  [DependencyInjection] Allow frozen containers to be dumped to graphviz
  Fix 'undefined index' error, when entering scope recursively
  [Security] fixed session creation on login (closes #7011)
  replaced usage of the deprecated pattern routing key (replaced with path)
  Add dot character `.` to legal mime subtype regular expression
  [HttpFoundation] fixed the creation of sub-requests under some circumstancies (closes #6923, closes #6936)
2013-02-11 12:27:01 +01:00
Fabien Potencier
2c6e882b1b merged branch fabpot/pattern-fix (PR #6998)
This PR was merged into the 2.2 branch.

Commits
-------

73aa7d1 replaced usage of the deprecated pattern routing key (replaced with path)

Discussion
----------

replaced usage of the deprecated pattern routing key (replaced with path)

| 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

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

by lsmith77 at 2013-02-07T13:35:54Z

do we have tests to cover the BC behavior?

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

by fabpot at 2013-02-07T16:30:31Z

I've just added some tests for the legacy way.
2013-02-11 11:51:33 +01:00
Fabien Potencier
386884046d changed dependencies to allow all 2.3 versions of the components (closes #6983) 2013-02-11 11:13:11 +01:00
Fabien Potencier
c97be281c0 Merge branch '2.2'
* 2.2: (30 commits)
  [HttpFoundation] Added support for partial ranges in the BinaryFileResponse.
  [HttpFoundation] Fixed byte ranges in the BinaryFileResponse.
  updated required versions when depending on the HttpFoundation component
  updated required versions when depending on the HttpKernel component
  updated required versions when depending on the Config component
  updated required versions when depending on the Form component
  updated required versions when depending on the DependencyInjection component
  updated required versions when depending on the Validator component
  updated required versions when depending on the Translation component
  updated required versions when depending on the Routing component
  updated required versions when depending on the EventDispatcher component
  updated required versions when depending on the OptionsResolver component
  updated required versions when depending on the PropertyAccess component
  updated required versions when depending on the Security component
  updated required versions when depending on the Templating component
  updated required versions when depending on the Stopwatch component
  updated required versions when depending on the Process component
  updated required versions when depending on the Finder component
  updated required versions when depending on the Dom Crawler component
  use ~2.0 when depending on the Dom Crawler component
  ...
2013-02-11 11:09:44 +01:00
Fabien Potencier
a3131882e3 added a proper setter for the templating servicein HInclude 2013-02-10 12:34:10 +01:00
Fabien Potencier
270470596f updated required versions when depending on the HttpKernel component 2013-02-08 17:10:57 +01:00
Fabien Potencier
0a70fe7079 updated required versions when depending on the Config component 2013-02-08 17:10:57 +01:00
Fabien Potencier
719628a5ce updated required versions when depending on the DependencyInjection component 2013-02-08 17:10:56 +01:00
Fabien Potencier
a6713136d0 updated required versions when depending on the Translation component 2013-02-08 17:10:56 +01:00
Fabien Potencier
289ccfc724 updated required versions when depending on the Routing component 2013-02-08 17:10:56 +01:00
Fabien Potencier
a742f0a03e updated required versions when depending on the EventDispatcher component 2013-02-08 17:10:55 +01:00
Fabien Potencier
f971ccf231 updated required versions when depending on the Security component 2013-02-08 17:10:54 +01:00
Fabien Potencier
da068171bb updated required versions when depending on the Templating component 2013-02-08 17:10:54 +01:00
Fabien Potencier
108a8c0117 updated required versions when depending on the Stopwatch component 2013-02-08 17:10:54 +01:00
Fabien Potencier
b95184b834 updated required versions when depending on the Finder component 2013-02-08 17:10:53 +01:00
Fabien Potencier
a5da4a1c9a updated required versions when depending on the Dom Crawler component 2013-02-08 17:10:53 +01:00
Fabien Potencier
642c95a631 added Universal* classes in the list of deprecated classes for 3.0 2013-02-08 17:10:00 +01:00
Lee McDermott
bf9a483b3e CSS3, HTML5 cleanuos 2013-02-07 22:33:28 +00:00
Lee McDermott
61aadd6304 Fix style for abbr elements in toolbar 2013-02-07 23:19:05 +01:00
Fabien Potencier
8df773201a Merge branch '2.2'
* 2.2:
  [HttpFoundation] fixed Request::create() method
  [HttpKernel] fixed the creation of the Profiler directory
  [HttpKernel] fixed the hinclude fragment renderer when the template is empty
  bumped Symfony version to 2.2.0-RC2-DEV
  [DependencyInjection] enhanced some error messages
  [FrameworkBundle] fixed typo
  fixed typo
  tweaked previous merge
  [Security] fixed interface implementation (closes #6974)
  Add "'property_path' => false" deprecation message for forms
  fixed CS
  Added BCrypt password encoder.
  updated VERSION for 2.2.0-RC1
  Removed underscores from test method names to be consistent with other components.
  [Security] fixed session creation when none is needed (closes #6917)
  [FrameworkBundle] removed obsolete comment (see 2e356c1)
  Micro-optimization
  [FrameworkBundle] removed extra whitespaces
  [Security] renamed Constraint namespace to Constraints for validator classes in order to be consistent with the whole current validator API.
  [FrameworkBundle] fixed wrong indentation on route debug output
2013-02-07 17:43:41 +01:00
Fabien Potencier
73aa7d128b replaced usage of the deprecated pattern routing key (replaced with path) 2013-02-07 17:29:53 +01:00
Fabien Potencier
ed98a5164f Merge branch '2.1' into 2.2
* 2.1:
  [HttpKernel] fixed the creation of the Profiler directory
  [Security] fixed session creation when none is needed (closes #6917)
  [FrameworkBundle] removed obsolete comment (see 2e356c1)
2013-02-07 12:58:45 +01:00
Fabien Potencier
1f68f40518 [FrameworkBundle] fixed typo 2013-02-05 15:39:35 +01:00
Bilal Amarni
aff3485fa6 fixed typo 2013-02-05 15:29:37 +01:00
Elnur Abdurrakhimov
9d089ef998 Added BCrypt password encoder. 2013-02-05 10:22:32 +01:00
Fabien Potencier
be69ca1648 merged branch hhamon/user_password_constraints_namespace (PR #6960)
This PR was merged into the 2.2 branch.

Commits
-------

35b62ac [Security] renamed Constraint namespace to Constraints for validator classes in order to be consistent with the whole current validator API.

Discussion
----------

[Security] renamed Constraint namespace to Constraints for validator classes in order to be consistent with the whole current validator API.

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | yes (for people already using the ``UserPassword`` constraint class in their code)
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -
2013-02-04 21:25:39 +01:00
Fabien Potencier
09bbb68e9f [FrameworkBundle] removed obsolete comment (see 2e356c1) 2013-02-04 18:48:13 +01:00
Fabien Potencier
2d2b9bc1d0 [FrameworkBundle] removed extra whitespaces 2013-02-04 13:45:57 +01:00
Fabien Potencier
223cc6f7c7 Merge branch '2.2'
* 2.2:
  fixed regression in the Finder component (it was possible to use it without using exec before, closes #6357)
  fixed a circular call (closes #6864)
  typo
  [Security] [Tests] added unit tests for the UserPasswordValidator class and made the validator service for the UserPassword constraint configurable.
  fixed wrong indentation
  tweaked previous commit
  [HttpKernel] Fix the URI signer (closes #6801)
  Add Arabic translations.
  [HttpKernel] fixed regression when rendering an inline controller and passing some objects  (closes #6822)
  [FrameworkBundle] fixed typo
  renamed some classes and Twig functions to more descriptive names (refs #6871)
  Classcollectionloader: fix traits + enhancements
  Fix a deprecated method call in the tests
  Update `composer.json` files: - to allow versions ~2.2 (>=2.2,<3.0) of Doctrine DBAL, ORM & Common - fixed Propel1 versions difference between main and bridge files - fixed Twig versions difference between main and bridge files - to allow versions ~1.11 (>=1.11,<2.0) of Twig - fixed Locale ext-intl version to accept all, not non-existing version
  Correct comment in NativeSessionStorage regarding session.save_handler
  [Security] Add PHPDoc to AuthenticationEvents
2013-02-04 13:42:02 +01:00
Hugo Hamon
35b62ac4cd [Security] renamed Constraint namespace to Constraints for validator classes in order to be consistent with the whole current validator API. 2013-02-04 13:20:14 +01:00
inmarelibero
95f0202fac [FrameworkBundle] fixed wrong indentation on route debug output 2013-02-02 15:13:57 +01:00
Emanuele Gaspari
507ceac726 fixed wrong indentation 2013-02-01 23:03:50 +01:00
Fabien Potencier
bb5c8f4777 [FrameworkBundle] fixed typo 2013-02-01 17:07:52 +01:00
Fabien Potencier
c72e471c65 renamed some classes and Twig functions to more descriptive names (refs #6871)
HttpContentRenderer has been renamed to FragmentHandler.
The RendererStrategy subnamespace has been renamed to Fragment.
The strategy classes now have Fragment in their names.
ProxyRouterListener has been renamed to FragmentListener
The router_proxy configuration entry has been renamed to fragments.
2013-02-01 15:17:20 +01:00
Joseph Bielawski
53c70548a0 Update composer.json files: - to allow versions ~2.2 (>=2.2,<3.0) of Doctrine DBAL, ORM & Common - fixed Propel1 versions difference between main and bridge files - fixed Twig versions difference between main and bridge files - to allow versions ~1.11 (>=1.11,<2.0) of Twig - fixed Locale ext-intl version to accept all, not non-existing version 2013-02-01 10:33:53 +01:00
Fabien Potencier
d0aaf62557 updated the branch alias in composer files 2013-01-31 22:39:01 +01:00
Fabien Potencier
c1037b1603 merged branch vicb/fmwk/config (PR #6852)
This PR was squashed before being merged into the master branch (closes #6852).

Commits
-------

fde7585 [DIC] Better handling of enableable configurations

Discussion
----------

[DIC] Better handling of enableable configurations

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no, this feature has not been released yet
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

My definition of bug fix might be discussable. The thing which I think is not discussable is that this PR fixes the semantic - and I think it is important for a "semantic configuration": before this PR, some nodes had `->canBeDisabled` for nodes that were actually disabled by default. Those nodes now have `->canBeEnabled` which sounds right.

**Edit: Jan 28, 2013** - history:

See [the related comments](https://github.com/symfony/symfony/pull/6829#discussion_r2727742).

I think Symfony **must** get the configuration right as we can expect of lot of devs to use this as a template when writting their own configuration.

@schmittjoh could you please give me your feedback on [this change](https://github.com/symfony/symfony/pull/6852/files#L4R224) considering [the rationale](https://github.com/symfony/symfony/pull/6852/files#L3R7).

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

by stof at 2013-01-23T16:10:33Z

@vicb your links are broken as they are pointing to the PR creation page

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

by stof at 2013-01-23T16:10:55Z

and to create a TODO list, it has to be a list first

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

by vicb at 2013-01-23T16:31:10Z

@stof thanks for reporting the broken links, they are fixed /cc @schmittjoh

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

by vicb at 2013-01-23T16:31:50Z

@Tobion please submit a PR to my repo, I don't have much time to work on this. Thanks !

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

by vicb at 2013-01-25T15:14:47Z

@fabpot @schmittjoh I'd like your feedback on the latest commit, rationale is in the method phpDoc. It better matches what we do now and seem the most sensible thing to do.

edit: with this you can no more disable the node explicitly, I have to find a better solution

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

by schmittjoh at 2013-01-25T15:20:13Z

Looks good.

On Fri, Jan 25, 2013 at 4:15 PM, Victor Berchet <notifications@github.com>wrote:

> @fabpot <https://github.com/fabpot> @schmittjoh<https://github.com/schmittjoh>I'd like your feedback on the latest commit, rationale is in the method
> phpDoc. It better matches what we do now and seem the most sensible thing
> to do.
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/symfony/symfony/pull/6852#issuecomment-12704585>.
>
>

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

by vicb at 2013-01-28T14:37:57Z

@fabpot I know I keep insisting on this one and I am sorry for that but I think this should be considered as a bug fix (see the PR header for details) and should be merged in 2.2. I think the Symfony core should be exemplary as it is used by many developers as a template when creating their own bundle. *This PR is no more a WIP and can be merged right now*.

In addition to fixing the enableable nodes, this PR contain new UTs and some fixes to the code / tests.

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

by fabpot at 2013-01-28T16:43:42Z

@vicb As explained in a comment, this is not a BC break as this feature does not exist in 2.1. So, I can make the change to the CHANGELOG if you want after merging, or I can let you make the change.

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

by vicb at 2013-01-28T16:46:33Z

I am going to change it right now !

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

by vicb at 2013-01-28T16:46:56Z

(and thanks for having checked this)

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

by vicb at 2013-01-28T16:54:37Z

@fabpot I have updated the changelog and the PR header.

I am not sure if the commits should be squashed or not. On one side the multiple commits can help understand the changes but on the other side that's a lot of small commits which could pollute history. I let you choose what to do.
2013-01-28 18:21:49 +01:00
Victor
fde7585967 [DIC] Better handling of enableable configurations 2013-01-28 18:21:49 +01:00
Victor
189a05e8c7 css fix 2013-01-25 15:47:14 +01:00
Benoit Garret
3c3d34d03c [FrameworkBundle] [Templating] added Stopwatch support to the PHP engine 2013-01-25 09:25:30 +01:00
Fabien Potencier
3196dbdf52 Merge branch '2.1'
* 2.1:
  [DependencyInjection] fixed the creation of synthetic services in ContainerBuilder
  [Security] PHPDoc in SecurityEvents
  Fix typos in README
  Added an error message in the DebugClassLoader when using / instead of \.
  KNOWN_ISSUES with php 5.3.16
  [FrameworkBundle] fixed Client::doRequest that must call its parent method (closes #6737)
  [Yaml] fixed ignored text when parsing an inlined mapping or sequence (closes #6786)
  [Yaml] fixed #6773
  [Yaml] fixed #6770
  bumped Symfony version to 2.1.8-DEV
  bumped Symfony version to 2.0.23-DEV

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Client.php
	src/Symfony/Component/HttpKernel/Kernel.php
2013-01-23 21:21:00 +01:00
Fabien Potencier
7c957e3411 merged branch MaksSlesarenko/fix-for-choice-widget (PR #6734)
This PR was squashed before being merged into the master branch (closes #6734).

Commits
-------

4d51ec0 Fix for hardcode (#6384) in choice widget

Discussion
----------

Fix for hardcode (#6384) in choice widget

empty_value should not be disabled if field is not required!

#6384

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

by sstok at 2013-01-15T15:51:08Z

You need to revert the file mode changes (100644 → 100755)

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

by MaksSlesarenko at 2013-01-18T16:44:42Z

fixed tests

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

by MaksSlesarenko at 2013-01-21T15:36:59Z

ping @fabpot

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

by fabpot at 2013-01-21T15:58:26Z

ping @bschussek

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

by MaksSlesarenko at 2013-01-23T11:15:37Z

ping @fabpot @bschussek

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

by Tobion at 2013-01-23T12:08:19Z

I think it's good to squash and merge.

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

by fabpot at 2013-01-23T12:16:37Z

Can you rebase and squash before I merge? Thanks.

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

by MaksSlesarenko at 2013-01-23T19:51:36Z

@fabpot done
2013-01-23 20:54:36 +01:00
Maks Slesarenko
4d51ec05d8 Fix for hardcode (#6384) in choice widget 2013-01-23 20:54:35 +01:00
Fabien Potencier
65b4112ddb fixed a circular reference (closes #6730) 2013-01-23 14:48:08 +01:00
Fabien Potencier
4bdfb92a35 updated CHANGELOGS 2013-01-23 14:21:06 +01:00
Fabien Potencier
23f51450bd renamed proxy to router_proxy 2013-01-23 13:57:53 +01:00
Fabien Potencier
3193a90815 made the proxy path configurable 2013-01-23 13:57:53 +01:00
Fabien Potencier
ad82893691 removed the need for a proxy route for rendering strategies 2013-01-23 13:57:52 +01:00
Kris Wallsmith
731cd49781 made twig extension service private 2013-01-22 10:56:22 -08:00
Fabien Potencier
cdf1d72e2f [FrameworkBundle] fixed requirement of the _controller palceholder for the proxy route (closes #6783)
A controller name can be a service and service names can contain dots.
2013-01-22 10:57:00 +01:00
Fabien Potencier
bdc7e91865 Merge branch '2.0' into 2.1
* 2.0:
  [DependencyInjection] fixed the creation of synthetic services in ContainerBuilder
  [Security] PHPDoc in SecurityEvents
  [FrameworkBundle] fixed Client::doRequest that must call its parent method (closes #6737)
  [Yaml] fixed ignored text when parsing an inlined mapping or sequence (closes #6786)
  [Yaml] fixed #6773
  [Yaml] fixed #6770
  bumped Symfony version to 2.0.23-DEV

Conflicts:
	src/Symfony/Component/DependencyInjection/ContainerBuilder.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Yaml/Inline.php
	src/Symfony/Component/Yaml/Tests/InlineTest.php
2013-01-22 08:14:57 +01:00
Fabien Potencier
94f6116f42 renamed hostname to host in the routing system (closes #6775)
As explained in #6775, this has been done for the following reasons:

1. It's also Request::getHost()
2. The term hostname has been obsoleted in
http://tools.ietf.org/html/rfc3986#appendix-D.2 and uses the host only
3. hostname in the RFC was defined as the registered domain name, but we
probably also want to match IP-Adresses with the pattern which is the
host = IP-literal / IPv4address / reg-name for.
2013-01-21 17:57:32 +01:00
Fabien Potencier
1ab48db367 tweaked the deprecated error handler to actually display the deprecation message
I've also removed uninterested information (like the trigger_error stack
frame).
2013-01-20 16:29:41 +01:00
Fabien Potencier
c9cfcc1dc3 merged branch davedevelopment/new-twig-notation (PR #6805)
This PR was merged into the master branch.

Commits
-------

d5e73e5 [SecurityBundle] changed includes to use the new Twig notation

Discussion
----------

[SecurityBundle] changed includes to use the new Twig notation

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | no - couple of unrelated failures
| Fixed tickets | N/A
| License       | MIT
| Doc PR        | N/A
2013-01-19 08:44:11 +01:00
Dave Marshall
d5e73e5e2b [SecurityBundle] changed includes to use the new Twig notation 2013-01-18 21:52:28 +00:00
Christophe Coevoet
44fe249bae Fixed some tests on Windows 2013-01-18 21:36:32 +01:00
Fabien Potencier
94cb13df42 [FrameworkBundle] fixed circular reference for service templating (closes #6730, closes #6762) 2013-01-18 15:46:50 +01:00
Fabien Potencier
ce38069a94 [FrameworkBundle] fixed Client::doRequest that must call its parent method (closes #6737) 2013-01-18 11:08:30 +01:00
Fabien Potencier
1f762c7723 Merge branch '2.1'
* 2.1:
  [Yaml] fixed default value
  Added Yaml\Dumper::setIndentation() method to allow a custom indentation level of nested nodes.
  added a way to enable/disable object support when parsing/dumping
  added a way to enable/disable PHP support when parsing a YAML input via Yaml::parse()
  fixed CS
  [Process] Fix docblocks, remove `return` from `PhpProcess#start()` as parent returns nothing, cleaned up `ExecutableFinder`
  fixes a bug when output/error output contains a % character
  [Console] fixed input bug when the value of an option is empty (closes #6649, closes #6689)
  [Profiler] [Redis] Fix sort of profiler rows.
  Fix version_compare() calls for PHP 5.5.
  Removed underscores from test method names to be consistent with other components.
  [Process] In edge cases `getcwd()` can return `false`, then `proc_open()` should get `null` to use default value (the working dir of the current PHP process)
  Fix version_compare() calls for PHP 5.5.
  Handle the deprecation of IntlDateFormatter::setTimeZoneId() in PHP 5.5.
  removed the .gitattributes files (closes #6605, reverts #5674)
  [HttpKernel] Clarify misleading comment in ExceptionListener

Conflicts:
	src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/toolbar_style.html.twig
	src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTimeTypeTest.php
	src/Symfony/Component/Form/Tests/Extension/Core/Type/TimeTypeTest.php
	src/Symfony/Component/Form/Tests/Util/PropertyPathTest.php
	src/Symfony/Component/HttpKernel/Profiler/RedisProfilerStorage.php
	src/Symfony/Component/Process/Process.php
2013-01-17 16:25:59 +01:00
Fabien Potencier
4cc19990ac merged branch lmcd/wdt-padding-fix (PR #6769)
This PR was merged into the master branch.

Commits
-------

4b54156 Fix lack of padding in some WDT boxes (e.g. You are not authenticated.)

Discussion
----------

[WebProfilerBundle] Fix lack of padding in some WDT boxes (e.g. You are not authenticated.)

Fixes bug introduced by https://github.com/symfony/symfony/pull/6615

Before:
![wdt-padding-before](https://f.cloud.github.com/assets/363540/73453/c6779f30-6044-11e2-9df5-682c822ac13c.png)

After:
![wdt-padding-after](https://f.cloud.github.com/assets/363540/73455/cbeaa44e-6044-11e2-9d9b-9184b1351554.png)
2013-01-17 07:27:13 +01:00
Lee McDermott
4b541568ee Fix lack of padding in some WDT boxes (e.g. You are not authenticated.) 2013-01-17 01:20:55 +00:00
Lee McDermott
2d53698134 Make last toolbar info box right-aligned 2013-01-17 01:00:06 +00:00
Fabien Potencier
463b464c10 replaced usage of Route::getPattern() by Route::getPath() 2013-01-16 23:04:10 +01:00
Florin Patan
41d3953e76 Fix regression in WDT path/pattern naming 2013-01-16 17:51:26 +02:00
Fabien Potencier
efabb1e9ae merged branch lmcd/wdt-shadow-fix (PR #6615)
This PR was squashed before being merged into the master branch (closes #6615).

Commits
-------

490c746 [WDT] Toolbar cleanups

Discussion
----------

[WDT] Toolbar cleanups

Ok this is ridiculously minor, but it's one of those little things that winds me up on a daily basis so I fixed it.

When you mouseover a section on the WDT, the box-shadow is blurry on the right edge.

Edit: this PR now covers a few other minor tweaks - see below.

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

by lmcd at 2013-01-09T07:41:42Z

Just pushed a couple more changes that cleanup WDT popup boxes a little bit. Again the changes are subtle, but better imo.

Before:
![box1-before](https://f.cloud.github.com/assets/363540/52807/efc2cf7e-5a2f-11e2-9c42-1f5a33d667a9.png)

After:
![box1-after](https://f.cloud.github.com/assets/363540/52808/f4929c8c-5a2f-11e2-9195-7583979d8ce9.png)

Before:
![box2-before](https://f.cloud.github.com/assets/363540/52809/f8b1752c-5a2f-11e2-8166-a602e9e80d3a.png)

After:
![box2-after](https://f.cloud.github.com/assets/363540/52812/11791ede-5a30-11e2-92d4-b35c0d7ecc6b.png)

Note: requires cross-browser testing
2013-01-16 10:29:16 +01:00
Lee McDermott
490c746be9 [WDT] Toolbar cleanups 2013-01-16 10:29:15 +01:00
Fabien Potencier
2dfe9660a2 fixed CS 2013-01-16 10:27:54 +01:00
Fabien Potencier
89f9b24575 merged branch fabpot/routing-options (PR #6738)
This PR was merged into the master branch.

Commits
-------

9fc7def added the UPGRADE file for Symfony 3.0
e84cad2 [Routing] updated CHANGELOG
65eca8a [Routing] added new schemes and methods options to the annotation loader
5082994 [Routing] renamed pattern to path
b357caf [Routing] renamed hostname pattern to just hostname
e803f46 made schemes and methods available in XmlFileLoader
d374e70 made schemes and methods available in YamlFileLoader
2834e7e added scheme and method setter in RouteCollection
10183de make scheme and method requirements first-class citizen in Route

Discussion
----------

Routing options

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

In #5989, it has unanimously been decided to renamed `hostname_pattern` to `hostname` and `pattern` to `path`. That makes a lot of sense and I would like to do the renaming now as `hostname_pattern` is new in Symfony 2.2, so I'd like to avoid breaking BC just after the release. As we are modifying the route options, I've also included changes introduced by @Tobion in #6049 which were discussed in #5990.

As everything is BC, I think it's wise to include that in 2.2. What do you think?

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

by Tobion at 2013-01-14T18:25:53Z

I agree it should be done in 2.2. Thanks for working on it.

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

by vicb at 2013-01-14T23:11:12Z

@fabpot "Everything is BC" until it breaks BC in 3.0, that's why I'd like to see [deprecations in PR summary](https://github.com/symfony/symfony-docs/pull/2116) what do you think ?

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

by vicb at 2013-01-14T23:16:40Z

it would also be great to update the CHANGELOG with deprecations (it could also help people answering your question)

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

by fabpot at 2013-01-15T07:07:03Z

@vicb: I've just updated the CHANGELOG and created the UPGRADE file for 3.0.

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

by vicb at 2013-01-15T07:15:32Z

@fabpot thanks.
2013-01-15 17:25:04 +01:00
Fabien Potencier
b357cafd00 [Routing] renamed hostname pattern to just hostname 2013-01-14 17:14:02 +01:00
Pascal Borreli
b1c68815f5 Fixed PHPDoc 2013-01-11 17:38:19 +00:00
Alexander Miehe
f127781f2e Update src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php
Add use HttpKernelInterface for refactored forward method
2013-01-11 13:33:14 +01:00
Fabien Potencier
b58e8ce9aa merged branch fabpot/kernel-refactor (PR #6459)
This PR was merged into the master branch.

Commits
-------

76fefe3 updated CHANGELOG and UPGRADE files
f7da1f0 added some unit tests (and fixed some bugs)
f17f586 moved the container aware HTTP kernel to the HttpKernel component
2eea768 moved the deprecation logic calls outside the new HttpContentRenderer class
bd102c5 made the content renderer work even when ESI is disabled or when no templating engine is available (the latter being mostly useful when testing)
a8ea4e4 [FrameworkBundle] deprecated HttpKernel::forward() (it is only used once now and not part of any interface anyway)
1240690 [HttpKernel] made the strategy a regular parameter in HttpContentRenderer::render()
adc067e [FrameworkBundle] made some services private
1f1392d [HttpKernel] simplified and enhanced code managing the hinclude strategy
403bb06 [HttpKernel] added missing phpdoc and tweaked existing ones
892f00f [HttpKernel] added a URL signer mechanism for hincludes
a0c49c3 [TwigBridge] added a render_* function to ease usage of custom rendering strategies
9aaceb1 moved the logic from HttpKernel in FrameworkBundle to the HttpKernel component

Discussion
----------

[WIP] Kernel refactor

Currently, the handling of sub-requests (including ESI and hinclude) is mostly done in FrameworkBundle. It makes these important features harder to implement for people using only HttpKernel (like Drupal and Silex for instance).

This PR moves the code to HttpKernel instead. The code has also been refactored to allow easier integration of other rendering strategies (refs #6108).

The internal route has been re-introduced but it can only be used for trusted IPs (so for the internal rendering which is managed by Symfony itself, or by a trusted reverse proxy like Varnish for ESI handling). For the hinclude strategy, when using a controller, the URL is automatically signed (see #6463).

The usage of a listener instead of a controller to handle internal sub-requests speeds up things quite a lot as it saves one sub-request handling. In Symfony 2.0 and 2.1, the handling of a sub-request actually creates two sub-requests.

Rendering a sub-request from a controller can be done with the following code:

```jinja
{# default strategy #}
{{ render(path("partial")) }}
{{ render(controller("SomeBundle:Controller:partial")) }}

{# ESI strategy #}
{{ render(path("partial"), { strategy: 'esi' }) }}
{{ render(controller("SomeBundle:Controller:partial"), { strategy: 'esi' }) }}

{# hinclude strategy #}
{{ render(path("default1"), { strategy: 'hinclude' }) }}
```

The second commit allows to simplify the calls a little bit thanks to some nice syntactic sugar:

```jinja
{# default strategy #}
{{ render(path("partial")) }}
{{ render(controller("SomeBundle:Controller:partial")) }}

{# ESI strategy #}
{{ render_esi(path("partial")) }}
{{ render_esi(controller("SomeBundle:Controller:partial")) }}

{# hinclude strategy #}
{{ render_hinclude(path("default1")) }}
```

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

by fabpot at 2013-01-03T17:58:49Z

I've just pushed a new version of the code that actually works in my browser (but I've not yet written any unit tests). I've updated the PR description accordingly.

All comments welcome!

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

by Koc at 2013-01-03T20:11:43Z

what about `render(controller="SomeBundle:Controller:partial", strategy="esi")`?

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

by stof at 2013-01-04T09:01:01Z

shouldn't we have interfaces for the UriSigner and the HttpContentRenderer ?

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

by lsmith77 at 2013-01-04T19:28:09Z

btw .. as mentioned in #6213 i think it would make sense to refactor the HttpCache to use a cache layer to allow more flexibility in where to cache the data (including clustering) and better invalidation. as such if you are refactoring HttpKernel .. it might also make sense to explore splitting off HttpCache.

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

by fabpot at 2013-01-04T19:30:07Z

@lsmith77 This is a totally different topic. This PR is just about moving things from FrameworkBundle to HttpKernel to make them more reusable outside of the full-stack framework.

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

by fabpot at 2013-01-05T09:39:52Z

I think this PR is almost ready now. I still need to update the docs and add some unit tests. Any other comments on the whole approach? The class names? The `controller` function thingy? The URI signer mechanism? The proxy protection for the internal controller? The proxy to handle internal routes?

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

by sstok at 2013-01-05T10:08:25Z

Looks good to me 👍

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

by sdboyer at 2013-01-07T18:17:08Z

@Crell asked me to weigh in, since i'm one of the Drupal folks who's likely to work most with this.

i think i've grokked about 60% of the big picture here, and i'm generally happy with what i see. the assumption that the HInclude strategy makes about working with templates probably isn't one that we'll be able to use (and so, would need to write our own), but that's not a big deal since the whole goal here is to make strategies pluggable.

so, yeah. +1.

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

by winzou at 2013-01-09T20:21:44Z

Just for my information: will this PR be merged for 2.2 version? Thanks.

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

by stof at 2013-01-09T20:41:04Z

@winzou according to the blog post announcing the beta 1 release, yes. It is explicitly listed as being one of the reason to make it a beta instead of the first RC.

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

by winzou at 2013-01-09T20:49:36Z

OK thanks, I've totally skipped this blog post.

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

by fabpot at 2013-01-10T15:26:15Z

I've just added a bunch of unit tests and fix some bugs I found while writing the tests.
2013-01-11 08:24:18 +01:00
Fabien Potencier
b868bf6249 merged branch lmcd/php-sapi (PR #6636)
This PR was merged into the master branch.

Commits
-------

16b3426 Show PHP SAPI in WDT

Discussion
----------

[WDT] Show PHP SAPI in WDT

PHP running under Apache as a module:
![sapi-apache](https://f.cloud.github.com/assets/363540/53093/7709dc8a-5a48-11e2-8c09-031e0645e3ea.png)

PHP running with the in-built CLI web server (via `server:run`)
![sapi-cli](https://f.cloud.github.com/assets/363540/53094/96df9a0e-5a48-11e2-96e9-7bc2f452083d.png)
2013-01-11 08:00:38 +01:00
Fabien Potencier
39686077f8 merged branch bschussek/property-path (PR #6595)
This PR was merged into the master branch.

Commits
-------

6b1652e [PropertyAccess] Property path, small refactoring, read/writeProperty to read/write Property/Index.
1bae7b2 [PropertyAccess] Extracted PropertyAccess component out of Form

Discussion
----------

[PropertyAccess] Extracted PropertyAccess component out of Form

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: adapt DoctrineBundle/PropelBundle to pass the "property_accessor" service to EntityType/ModelType

Usage:

```php
$accessor = PropertyAccess::getPropertyAccessor();

// equivalent to $object->getFoo()->setBar('value')
$accessor->setValue($object, 'foo.bar', 'value');

// equivalent to $object->getFoo()->getBar()
$accessor->getValue($object, 'foo.bar');

// equivalent to $object->getFoo()['bar']
$accessor->getValue($object, 'foo[bar]');

// equivalent to $array['foo']->setBar('value')
$accessor->setValue($array, '[foo].bar', 'value');

// equivalent to $array['foo']['bar']
$accessor->getValue($array, '[foo][bar]');
```

Later on, once we have generation and caching of class-specific accessors, configuration will be something like this (consistent with the Form and Validator component):

```php
$accessor = PropertyAccess::getPropertyAccessorBuilder()
    ->setCacheDirectory(__DIR__ . '/cache')
    ->setCacheLifeTime(86400)
    ->enableMagicGetSet()
    ->enableMagicCall()
    ->getPropertyAccessor();
```

or

```php
$accessor = PropertyAccess::getPropertyAccessorBuilder()
    ->setCache($cache)
    ->getPropertyAccessor();
```

etc.

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

by Burgov at 2013-01-07T08:48:15Z

+1. I use this feature outside of the Form context a lot

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

by stof at 2013-01-07T08:49:34Z

The classes in the Form component should be kept for BC (and deprecated) for people using the feature

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

by michelsalib at 2013-01-07T10:02:19Z

YES YES YES 👍. Sorry for my enthusiasm, but I already copy pasted the PropertyPath class to some of my libraries to avoid linking to the whole Form component. I thus will be glad to officially use this component into my libraries via composer.

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

by norzechowicz at 2013-01-07T10:17:39Z

Same as @michelsalib to avoid linking full Form component I was using copied parts of code. Can't wait to use this component in my lib. 👍

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

by bschussek at 2013-01-07T10:43:41Z

I split away `getValue()` and `setValue()` from `PropertyPath` into a new class `ReflectionGraph`. The component is also named ReflectionGraph now.

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

by michelsalib at 2013-01-07T10:47:10Z

I am not found of the name. What do you intend to do in the component more than what PropertyPath does ?

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

by bschussek at 2013-01-07T10:58:59Z

@michelsalib A `PropertyPath` is simply a string like `foo.bar[baz]`. `getValue()` and `setValue()` interpret this path. There may be different interpretations for the same path, so these methods were split into a new class.

I chose the name `ReflectionGraph` because the functionality is very similar to `ReflectionProperty`.

```php
$reflProperty = new ReflectionProperty('Vendor/Class', 'property');
$reflProperty->setValue($object, 'foo');

$reflGraph = new ReflectionGraph();
$reflGraph->setValue($object, 'property.path', 'foo');
```

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

by michelsalib at 2013-01-07T11:00:42Z

What about naming it `Reflection`, maybe sometime we will want to add more reflection tools for classes, interfaces... ?

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

by bschussek at 2013-01-07T11:02:32Z

@michelsalib I doubt that we will do that. PHP's implementation is sufficient.

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

by vicb at 2013-01-07T11:03:57Z

> Backwards compatibility break: no

Really ?

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

by michelsalib at 2013-01-07T11:05:07Z

Well, that is just a suggestion. If I am the only one to oppose, I won't complain.

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

by bschussek at 2013-01-07T11:09:08Z

> Really ?

@vicb Would you please refrain from such meanginless comments in the future? I'm getting a bit tired of them. If you think that BC is broken somewhere, tell me where so that I can fix it.

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

by stof at 2013-01-07T11:09:43Z

@vicb There is no BC break as he kept deprecated classes for BC

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

by norzechowicz at 2013-01-07T11:13:12Z

@bschussek what do you think about some kind of factory for Reflection? This will prevent creating new Reflection objects each time you want to access properties values.

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

by vicb at 2013-01-07T11:18:47Z

@bschussek my point is that my comment is no more meaningless than closing #6453 because it will break BC.We could also keep BC by extending the classes in the new ns but in both cases BC will ultimately be broken (when the legacy classes are removed)

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

by vicb at 2013-01-07T12:23:45Z

@bschussek @stof I think that modifying the constructor signatures of `EntityChoiceList`, `FormType` are BC breaks (this is not an exhaustive list)

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

by bschussek at 2013-01-07T12:35:13Z

@vicb You are right. I added corresponding entries to the CHANGELOG and adapted the above description.

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

by vicb at 2013-01-08T13:39:13Z

@bschussek looking at this PR, I was wondering if an alternate syntax would make sense:

```php
<?php
$reflGraph = new ReflectionGraph($object);

// equivalent to $object->getFoo()->setBar('value')
$reflGraph['foo.bar'] = 'value';

// equivalent to $object->getFoo()->getBar()
$reflGraph['foo.bar'];
```

_Sorry for the off topic_

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

by vicb at 2013-01-08T13:49:46Z

The advantage of using such a `ReflectionGraph` factory is that it might be easier to return specialized reflection graphs, ie optimized instances (that would be cached).

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

by Toflar at 2013-01-08T14:49:54Z

I was also puzzled by the fact that there will be many `ReflectionGraph` instances although they don't have to. I'm with @vicb and I'd also vote for using the constructor to set the subject you're working on. Otherwise you'll repeat yourself over and over again by passing the subject - say `$object` - to `getValue()` or `setValue()`. If however you don't like the constructor thing then why do we have to have an instance of `ReflectionGraph` rather than just go for static methods and use `ReflectionGraph::getValue()` and `ReflectionGraph::setValue()`?

In my opinion there are a few methods that could be static anyway (especially some private ones) :)

But probably I misunderstood something as I'm just about to discover the SF components and don't have any experience working with them (so basically I just read the PR because of @bschussek's tweet :D)

Couldn't come up with any intuitive name for the component though :(
Generally when we talk about "getting" and "setting" values we call those things "mutators"...so `GraphMutator` might be more intuitive than the word `Reflection` :)

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

by Taluu at 2013-01-08T14:57:42Z

I like the last proposition made by @vicb (implementing `ArrayAccess` on `ReflectionGraph` - or whatever name will be chosen (`PathMutator` for example :D), and also specify which object should be worked on in the constructor rather than in each method).

Would this also be used in the `Validator` component ?

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

by stof at 2013-01-08T15:16:12Z

@Toflar A static ``ReflectionGraph::getValue()`` means you have a coupling to the implementation (as with any static call). The current implementation allows you to replace it with your own implementation as long as you implement the interface as it follows the DI pattern (as done in other places in Symfony).

@vicb The issue with ``$reflGraph = new ReflectionGraph($object);`` is that you cannot inject the ReflectionGraph anymore, as you need a new one each time. This would mean adding a ``ReflectionGraphFactory`` to be injected (and which could then be replaced by a factory using code generation). Using the constructor directly would not allow using a replacement based on code generation later. So the resulting code would more likely be

```php

$reflGraph = new ReflectionGraph();

$mutator = $reflGraph->getMutator($object);

// equivalent to $object->getFoo()->setBar('value')
$mutator['foo.bar'] = 'value';

// equivalent to $object->getFoo()->getBar()
$mutator['foo.bar'];
```

Btw, writing this, I find the naming Mutator suggested by @Taluu good when it concerns the setter, but quite weird when getting the value.

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

by Taluu at 2013-01-08T15:21:00Z

I was not the one to suggest though, it was @everzet. But then something like `PathAccessor`, as it is both a mutator and a getter ? I also like @stof suggestion, still in the idea of avoiding to have to put the object as an argument and also allowing to use an `ArrayAccess` interface..

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

by vicb at 2013-01-08T15:21:54Z

@stof your remark makes sense.

What about `Accessor`, the benefit being that it might well be the name of a coming PHP feature: https://wiki.php.net/rfc/propertygetsetsyntax-v1.2

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

by everzet at 2013-01-08T15:27:02Z

```php
$manager = new PropertyManager(new PropertyPath());
$num = $manager->getValue($object, 'foo.num');
$manager->setValue($object, 'foo.num', $num + 1);

$objectManager = new ObjectPropertyManager($object[, $manager]);
$num = $objectManager->getValue('foo.num');
$objectManager->setValue('foo.num', $num + 1);

$objectManager['foo.num'] += 1;
```

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

by bschussek at 2013-01-08T15:28:01Z

It might be me, but I don't like `ArrayAccess` to be misused for features like that. If I access a key in an array access structure, I expect it to be something like a collection, an associative array or a key value store. This class is neither.

Putting that aside, an accessor for a specific object might make sense, but I'm not sure about that yet.

```php
$reflObject->setValue('foo.bar', 'value');
$reflObject->getValue('foo.bar');
```

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

by stof at 2013-01-08T15:28:52Z

@vicb I would vote for PathAccessor then, as we are not doing simple accessor but accessors through a path in an object graph.
In my snippet above, we would then have a ReflectionGraph instance and a PathAccessor instance (``$mutator``).

Btw, I would also keep the methods ``setValue`` and ``getValue``. I find it more clear.

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

by bschussek at 2013-01-08T15:32:07Z

@stof But then we're rather left with the question of ReflectionGraph **vs.** PathAccessor. I don't think that the tiny interface difference (one global, one object-based) justifies the big naming difference.

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

by vicb at 2013-01-08T15:33:24Z

> This class is neither.

It might be `$pa['foo.bar[baz]'] = $pa['foo.bar']['baz'];` I don't know if it would help though.

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

by stof at 2013-01-08T15:35:51Z

@bschussek In my suggestion, ``ReflectionGraph`` is a factory for the PathAccessor objects. It is not accessing anymore itself (which would probably continue to cause issues to implement it with code generation). But the naming could indeed be changed to something else.
2013-01-10 19:35:24 +01:00
Fabien Potencier
f0a66db79a merged branch Seldaek/psr3 (PR #6628)
This PR was merged into the master branch.

Commits
-------

67d7423 Remove use of deprecated HttpKernel LoggerInterface
dca4528 [HttpKernel] Extend psr/log's NullLogger class
1e5a890 [Monolog] Mark old non-PSR3 methods as deprecated
91a86f8 [HttpKernel][Monolog] Add PSR-3 support to the LoggerInterface

Discussion
----------

[HttpKernel][MonologBridge] PSR-3 support

This enables PSR-3 support and monolog 1.3+. The first commit is the main part. The rest deals with deprecation of short-hand methods (warn/err/crit/emerg) that are fully expanded in PSR-3 (warning/error/critical/emergency).

The downside of deprecating them is that for bundles it's a bit harder to support older and newer versions. If that is too much of a hassle you can drop that for now and cherry pick the first commit.

The upside is that it forces people to move towards PSR-3 compatible stuff, which means eventually we could completely drop the LoggerInterface from the framework. In any case I think the documentation should only mention the `Psr\Log\LoggerInterface` and people should start hinting against that. The change should be done in core as well I suppose.

Anyway I wanted to throw this out there as it is to get feedback.

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

by stof at 2013-01-09T09:15:15Z

@Seldaek I also think you should change the typehint to use the PSR LoggerInterface in all classes using the logger

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

by Seldaek at 2013-01-09T09:54:55Z

OK updated according to all the feedback. I tested it in an app and it still seems to work so there shouldn't be any major issues.

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

by Seldaek at 2013-01-09T09:59:55Z

@fabpot if you merge please merge also the bundle PR, otherwise it won't be possible to update without conflict.

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

by frosas at 2013-01-10T14:59:20Z

I'm trying to understand why a `composer update` of a Symfony 2.1.* resulted in a fatal error. Shouldn't a stable version don't break like this?

As @olaurendeau points, why Symfony depends 1.* instead of 1.2.*? Or why Monolog 1.3 breaks its public interface (EDIT: I'm not sure about it)? Or why isn't this PR being merged (into branch 2.1) at the same time Monolog 1.3 is released?

Please, understand I'm not looking for who to blame, it's just I want to know if this situation is unexpected or if otherwise a `composer update` on a stable branch is not as innocent as it seems.

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

by stof at 2013-01-10T15:06:51Z

@frosas it cannot be merged into 2.1 as it is a BC break. The 2.1 branch has been updated to forbid Monolog 1.3 already

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

by Seldaek at 2013-01-10T15:11:58Z

@frosas you can blame me for releasing as 1.3.0 and not 2.0, but technically for monolog this isn't really a BC break, I just added an interface. The problem is due to the way it's used in symfony, it ended up as a fatal error. In any case the situation is now sorted out I think.

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

by frosas at 2013-01-10T15:26:43Z

@stof now I see this `>=1.0,<1.3-dev` change in the 2.1 branch. Now, shouldn't a new (2.1.7) version be released for all of us not in the dev minimum-stability?

@Seldaek then do you see feasible to rely only in X.Y.* versions to avoid this kind of errors?

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

by Seldaek at 2013-01-10T15:45:22Z

@frosas relying on X.Y.* is painful because you always need to wait until someone updates the constraint to get the new version. Of course using ~1.3 like in this PR means if I fuck up and break BC people will update to it, but that's a less likely occurrence than the alternative I think, so I would rather not use X.Y.*

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

by frosas at 2013-01-10T15:50:50Z

@Seldaek you are right about this, but I was thinking more in changing it only for the stable versions. EDIT: I mean, how often do you need a new feature in a branch you only apply fixes to?

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

by stof at 2013-01-10T15:57:32Z

@frosas Monolog and Symfony have separate release cycles. Foorcing Symfony users to use an old version of Monolog until they update to a new version of Symfony whereas the newer Monolog is compatible is a bad idea. Thus, as Monolog keeps BC, it does not maintain bugfix releases for all older versions (just like Twig does too). So it would also forbid you to get the fixes done in newer Monolog versions.

The incompatibility between Symfony 2.1 LoggerInterface and PSR-3 (whereas they expect exactly the same behavior and signature for methods with the same name) is unfortunate and is the reason why we get some issues here.

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

by frosas at 2013-01-10T16:21:06Z

@stof I appreciate you prefer to allow newer versions at the price of having to be constantly monitoring its changes to avoid breaks.

Another similar but safer strategy would be to stick to X.Y.* versions and upgrade to X.Y+1.* once the new version integration is tested, but I understand this is discutible in projects as close to Symfony as Monolog.

Returning to the issue, what do you say to release this 2.1.7 version? Or is it only me who is having issues here?

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

by stof at 2013-01-10T16:26:20Z

@frosas a minor release should not break BC when following smeantic versionning (Symfony warned about the fact it is not strictly followed for the first releases of 2.x). But as far as monolog is concerned, 1.3 is BC with 1.2.

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

by Seldaek at 2013-01-10T16:49:55Z

@frosas sorry I didn't get you still had the problem. I tagged a 2.1.7 of monologbundle which hopefully fixes your issue.
2013-01-10 17:57:14 +01:00
Fabien Potencier
76fefe3537 updated CHANGELOG and UPGRADE files 2013-01-10 17:09:48 +01:00
Fabien Potencier
f7da1f0eb8 added some unit tests (and fixed some bugs) 2013-01-10 16:26:59 +01:00
Fabien Potencier
3e99f4e976 merged branch asm89/issue-837 (PR #4935)
This PR was merged into the master branch.

Commits
-------

73db84f [Security] Move translations file to 'security' domain
324703a [Security] Switch to English messages as message keys
aa74769 [Security] Fix CS + unreachable code
2d7a7ba [Security] Fix `AuthenticationException` serialization
50d5724 [Security] Introduced `UsernameNotFoundException#get/setUsername`
39da27a [Security] Removed `get/setExtraInformation`, added `get/set(Token|User)`
837ae15 [Security] Add note about changed constructor to changelog
d6c57cf [FrameworkBundle] Register security exception translations
d7129b9 [Security] Fix exception constructors called in `UserChecker`
0038fbb [Security] Add initial translations for AccountStatusException childs
50e2cfc [Security] Add custom `getMessageKey` AccountStatusException childs
1147977 [Security] Fix InsufficientAuthenticationException constructor calls
79430b8 [Security] Fix AuthenticationServiceException constructor calls
42cced4 [Security] Fix AuthenticationException constructor calls
963a1d7 [Security] Add initial translations for the exceptions
ed6eed4 [Security] Add `getMessageKey` and `getMessageData` to auth exceptions
694c47c [Security] Change signature of `AuthenticationException` to match `\Exception`

Discussion
----------

[2.2][Security] AuthenticationException enhancements

Bug fix: semi
Feature addition: yes
Backwards compatibility break: yes
Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/asm89/symfony.png?branch=issue-837)](http://travis-ci.org/asm89/symfony)
Fixes the following tickets: #837
License of the code: MIT

This PR adds the functionality discussed in #837 and changes the constructor of the `AuthenticationException` to match that of `\Exception`. This PR will allow developers to show a translated (save) authentication exception message to the user. :)

*Todo:*
- Add some functional test to check that the exceptions can indeed be translated?
- Get feedback on the current English messages

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

by asm89 at 2012-07-15T14:04:11Z

ping @schmittjoh

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

by schmittjoh at 2012-07-15T14:57:32Z

Looks good to me.

While you are at the exceptions, I think we can also get rid of the "extra information" thing and replace it by explicit getters/setters. Mostly that will mean adding set/getToken, set/getUser, set/getUsername. Bundles might add custom exceptions which have other data. This will make it a bit more useful and predictable.

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

by asm89 at 2012-07-15T15:40:45Z

@schmittjoh I removed the `get/setExtraInformation` and added the more explicit getters/setters as you suggested.

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

by asm89 at 2012-07-15T19:33:15Z

@fabpot Did you reschedule this for 2.2? Why? It was originally a 2.1 ticket. I think it is an important one because at the moment there is no reliable way to show users the cause of an `AuthenticationException` without the threat of exposing sensitive information. This issue has been around for a while, see the original issue this PR refers to, or for example [this TODO comment in FOSUB](https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Controller/SecurityController.php#L37).

The PR itself is ready to merge now. My only question that remains is about whether the actual translations should be functional tested?

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

by fabpot at 2012-07-15T19:43:19Z

We need to stop at some point. If not, we never release anything. beta3 was scheduled for today and I don't plan any other one before the first RC and I won't have time to review this PR next week. So, if you, @schmittjoh, @vicb, @stof, and a few other core devs "validate" this PR, I might consider merging it before 2.1.

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

by asm89 at 2012-07-15T19:46:09Z

@fabpot I totally agree with your point of view. I just have been trying to pickup some security issues that were still open. :)

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

by stof at 2012-07-15T19:50:29Z

This looks good to me

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

by asm89 at 2012-08-12T09:06:24Z

Since the beta period is over I assume the window was missed to get this security related PR in 2.1. If I have feedback from @fabpot I'll still try to make it mergeable asap though.

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

by fabpot at 2012-08-13T10:10:32Z

@asm89 This would indeed be considered for merging in 2.2.

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

by Antek88 at 2012-10-03T10:30:46Z

+1

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

by stof at 2012-10-04T21:27:15Z

@asm89 could you rebase this PR ? It conflicts with master

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

by fabpot at 2012-10-05T17:16:44Z

What's the status of this PR? @asm89 Have you taken all the feedback into account?

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

by stof at 2012-10-13T17:48:48Z

@asm89 ping

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

by fabpot at 2012-10-29T09:48:40Z

@asm89 If you don't have time, I can finish the work on this PR, but can you just tell me what's left?

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

by asm89 at 2012-10-29T10:02:22Z

I can pick this up, but I have two outstanding questions:
- One about adding `::create()`? https://github.com/symfony/symfony/pull/4935#discussion_r1358297
- And what is the final verdict on the messages? https://github.com/symfony/symfony/pull/4935#discussion_r1165701 The initial idea was that the exception itself have an exception message which is plain english and informative for the developer. If you want to display the 'safe' user messages you have the optional dependency on the translator. There is a comparison made with the Validator component, but in my opinion that's a different case because the violations always contain the message directed at the user and have no plain english message for the developer. Apart from that the Validator component contains it's own code for replacing `{{ }}` variables in messages (duplication? not as flexible as the translator). Concluding I'd opt for: optional dependency on translator component if you want to show 'safe' user messages + message keys.

@schmittjoh Any things to add?

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

by schmittjoh at 2012-10-29T10:14:09Z

Message keys sound good to me. I wouldn't add the ``create`` method for now.

On Mon, Oct 29, 2012 at 11:02 AM, Alexander <notifications@github.com>wrote:

> I can pick this up, but I have two outstanding questions:
>
>    - One about adding ::create()? symfony/symfony#4935<https://github.com/symfony/symfony/issues/4935#discussion_r1358297>
>    - And what is the final verdict on the messages? symfony/symfony#4935<https://github.com/symfony/symfony/issues/4935#discussion_r1165701>The initial idea was that the exception itself have an exception message
>    which is plain english and informative for the developer. If you want to
>    display the 'safe' user messages you have the optional dependency on the
>    translator. There is a comparison made with the Validator component, but in
>    my opinion that's a different case because the violations always contain
>    the message directed at the user and have no plain english message for the
>    developer. Apart from that the Validator component contains it's own code
>    for replacing {{ }} variables in messages (duplication? not as
>    flexible as the translator). Concluding I'd opt for: optional dependency on
>    translator component if you want to show 'safe' user messages + message
>    keys.
>
> @schmittjoh <https://github.com/schmittjoh> Any things to add?
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/symfony/symfony/pull/4935#issuecomment-9861016>.
>
>

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

by fabpot at 2012-10-29T10:27:37Z

As I said in the discussion about the translations, I'm -1 for the message keys to be consistent with how we manage translations everywhere else in the framework.

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

by stof at 2012-10-29T10:30:50Z

@fabpot When we changed the English translation for the validation errors in 2.1, we had to tag the commit as a BC rbeak as it was changing the source for all other translations. And if you look at the state of the files now, you will see that we are *not* using the English as source anymore in some places as some validation errors have a pluralized translation but the source has not been changed.
So I think using a key is more future-proof.

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

by asm89 at 2012-10-30T19:44:49Z

Any final decision on this? On one hand I have @stof and @schmittjoh +1 on message keys, on the other @fabpot -1. I guess it's your call @fabpot.

Edit: also @vicb seemed to be +1 on message keys earlier on.

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

by drak at 2012-11-01T20:19:00Z

I am also -1, I agree with @fabpot

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

by asm89 at 2012-11-12T09:38:51Z

@fabpot Can you please give a definite answer on this? I personally think @stof and @vicb have good points to do message keys, but with all these different people +1 and -1'ing the PR I'm lost on what it should actually do.

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

by asm89 at 2012-11-14T09:59:06Z

ping @fabpot

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

by asm89 at 2012-11-26T10:01:27Z

ping @fabpot We talked about this in Berlin. Any final thoughts on the PR? :) One idea was to do message keys + opt depend on the translator component if you want to use them, or use your own implementation.

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

by fabpot at 2012-11-26T14:01:37Z

The conclusion is: keep using plain English.

On Mon, Nov 26, 2012 at 11:01 AM, Alexander <notifications@github.com>wrote:

> ping @fabpot <https://github.com/fabpot> We talked about this in Berlin.
> Any final thoughts on the PR? :) One idea was to do message keys + opt
> depend on the translator component if you want to use them, or use your own
> implementation.
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/symfony/symfony/pull/4935#issuecomment-10709997>.
>
>

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

by Inori at 2012-11-26T15:00:22Z

is this final? if not, then +1 for message keys

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

by vicb at 2012-11-27T22:33:47Z

@fabpot I can't understand why we keep discussing this for months as this implementation use *both* keys and plain Englis, ie using  keys  is optional ( if it was not it would not be an issue according to #6129)

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

by asm89 at 2013-01-02T21:43:46Z

@fabpot @vicb I'll rebase this PR, fix the comments and refactor the message keys to use plain English + {{ }} syntax for the placeholders.

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

by asm89 at 2013-01-07T15:00:58Z

@fabpot If I fix this tonight, will it make the beta?

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

by fabpot at 2013-01-07T15:53:00Z

yes, definitely.

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

by asm89 at 2013-01-07T20:13:38Z

@fabpot I switched the implementation to English messages instead of message keys and fixed the final comments + rebased. Anything you want me to do after this?

Still happy with `getMessageKey()`?
2013-01-10 14:38:06 +01:00
Bernhard Schussek
1bae7b242c [PropertyAccess] Extracted PropertyAccess component out of Form 2013-01-10 09:49:37 +01:00
Fabien Potencier
f17f5867a8 moved the container aware HTTP kernel to the HttpKernel component 2013-01-10 09:21:32 +01:00
Fabien Potencier
2eea7682e7 moved the deprecation logic calls outside the new HttpContentRenderer class 2013-01-10 09:21:32 +01:00
Fabien Potencier
bd102c5eba made the content renderer work even when ESI is disabled or when no templating engine is available (the latter being mostly useful when testing) 2013-01-10 09:21:31 +01:00
Fabien Potencier
a8ea4e4b10 [FrameworkBundle] deprecated HttpKernel::forward() (it is only used once now and not part of any interface anyway) 2013-01-10 09:21:31 +01:00
Fabien Potencier
1240690cac [HttpKernel] made the strategy a regular parameter in HttpContentRenderer::render() 2013-01-10 09:21:31 +01:00
Fabien Potencier
adc067e938 [FrameworkBundle] made some services private 2013-01-10 09:21:31 +01:00
Fabien Potencier
892f00ffee [HttpKernel] added a URL signer mechanism for hincludes 2013-01-10 09:21:31 +01:00
Fabien Potencier
9aaceb19ee moved the logic from HttpKernel in FrameworkBundle to the HttpKernel component 2013-01-10 09:21:30 +01:00
Lee McDermott
16b342607c Show PHP SAPI in WDT 2013-01-09 10:34:35 +00:00
Jordi Boggiano
67d7423456 Remove use of deprecated HttpKernel LoggerInterface 2013-01-09 10:52:29 +01:00
Fabien Potencier
3a4869dd14 merged branch Tobion/relative-path (PR #3958)
This PR was merged into the master branch.

Commits
-------

6703fb5 added changelog entries
1997e2e fix phpdoc of UrlGeneratorInterface that missed some exceptions and improve language of exception message
f0415ed [Routing] made reference type fully BC and improved phpdoc considerably
7db07d9 [Routing] added tests for generating relative paths and network paths
75f59eb [Routing] add support for path-relative and scheme-relative URL generation

Discussion
----------

[2.2] [Routing] add support for path-relative URL generation

Tests pass: yes
Feature addition: yes
BC break: <del>tiny (see below)</del> NO
deprecations: NO

At the moment the Routing component only supports absolute and domain-relative URLs, e.g.
`http://example.org/user-slug/article-slug/comments` and
`/user-slug/article-slug/comments`.

But there are two link types missing: schema-relative URLs and path-relative URLs.
schema-relative: e.g. `//example.org/user-slug/article-slug/comments`
path-relative: e.g. `comments`.

Both of them would now be possible with this PR. I think it closes a huge gap in the Routing component.
Use cases are pretty common. Schema-relative URLs are for example used when you want to include assets (scripts, images etc) in a secured website with HTTPS. Path-relative URLs are the only option when you want to generate static files (e.g. documentation) that can be downloaded as an HTML archive. Such use-cases are currently not possible with symfony.

The calculation of the relative path based on the request path and target path is hightly unit tested. So it is really equivalent. I found several implemenations on the internet but none of them worked in all cases. Mine is pretty short and works.

I also added an optional parameter to the twig `path` function, so this feature can also be used in twig templates.

Ref: This implements path-relative URLs as suggested in #3908.

<del>[BC BREAK] The signature of UrlGeneratorInterface::generate changed to support scheme-relative and path-relative URLs. The core UrlGenerator is BC and does not break anything, but users who implemented their own UrlGenerator need to be aware of this change. See UrlGenerator::convertReferenceType.</del>

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

by jalliot at 2012-04-16T09:56:56Z

@Tobion For completeness, you should add the option to the `url` and `asset` twig functions/template helpers.

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

by stof at 2012-04-16T10:46:06Z

@jalliot adding the option to ``url`` does not make any sense. The difference between ``path`` and ``url`` is that ``path`` generates a path and ``url`` generates an absolute url (thus including the scheme and the hostname)

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

by Tobion at 2012-04-16T12:27:49Z

@stof I guess jalliot meant we could then generate scheme-relative URLs with `url`. Otherwise this would have no equivalent in twig.

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

by jalliot at 2012-04-16T12:34:08Z

@stof Yep I meant what @Tobion said :)

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

by Tobion at 2012-04-18T11:57:04Z

The $relative parameter I added besides the existing $absolute parameter of the `->generate` method was not clear enough. So I merged those into a different parameter `referenceType`. I adjusted all parts of symfony to use the new signature. And also made the default `UrlGenerator` implementation BC with the old style. So almost nobody will recognize a change. The only BC break would be for somebody who implemented his own `UrlGenerator` and did not call the parent default generator.
Using `referenceType` instead of a simple Boolean is much more flexible. It will for example allow a custom generator to support a new reference type like http://en.wikipedia.org/wiki/CURIE

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

by Tobion at 2012-04-18T13:34:58Z

ping @schmittjoh considering your https://github.com/schmittjoh/JMSI18nRoutingBundle/blob/master/Router/I18nRouter.php would need a tiny change

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

by schmittjoh at 2012-04-18T13:37:39Z

Can you elaborate the necessary change?

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

by Tobion at 2012-04-18T13:51:10Z

This PR changes the signature of `generate` to be able to generate path-relative and scheme-relative URLs. So it needs to be
`public function generate($name, $parameters = array(), $referenceType = self::ABSOLUTE_PATH)` and your implementation would need to change `if ($absolute && $this->hostMap) {` to `if (self::ABSOLUTE_URL === $referenceType && $this->hostMap) {`
I can do a PR if this gets merged.

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

by schmittjoh at 2012-04-18T13:52:14Z

If I understand correctly, the old parameter still works, no?

edit: Ah, ok I see what you mean now.

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

by Tobion at 2012-04-18T13:56:33Z

Yeah the old parameter still works but $absolute would also evaluate to true (a string) in your case for non-absolute URLs, i.e. paths.

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

by Tobion at 2012-04-19T21:09:46Z

ping @fabpot

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

by fabpot at 2012-04-20T04:30:18Z

Let's discuss that feature for 2.2.

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

by Tobion at 2012-04-20T10:40:59Z

What are your objections against it? It's already implemented, it works and it adds support for things that are part of a web standard. The BC break is tiny at the moment (almost nobody is affected) because the core UrlGenerator works as before. But if we waited for 2.2 it will be much harder to make the transition because 2.1 is LTS. So I think is makes sense to add it now. Furthermore it makes it much more future-proof as custom generators can more easiliy add support for other link types like CURIE. At the moment a Boolean for absolute URLs is simply too limited and also somehow inconsistent because $absolute = false stands for an absolute path. You see the awkwardness in this naming.

Btw, I added a note in the changelog. And I will add documentation of this feature in symfony-docs once this is merged.

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

by fabpot at 2012-04-20T12:14:32Z

nobody has ever said that 2.1 would be LTS. Actually, I think we are going to wait for 2.3 for LTS.

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

by Tobion at 2012-04-20T12:27:18Z

Well what I meant is, the longer we wait with this, the harder to apply it.
In 04ac1fdba2 you modified `generate` signature for better extensibility that is not even made use of. I think changing `$abolute` param goes in the same direction and has direct use.

I'd like to know your reason to wait for 2.2. Not enough time to review it, or afraid of breaking something, or marketing for 2.2?

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

by stof at 2012-04-20T16:28:27Z

@Tobion the issue is that merging new features forces to postpone the release so that it is tested by enough devs first to be sure there is no blocking bug in it. Big changes cannot be merged when we are hunting the remaining bugs to be able to release.

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

by schmittjoh at 2012-04-20T16:42:11Z

Considering the changes that have been made to the Form component, and are still being made, I think this is in comparison to that a fairly minor change.

Maybe a clearer guideline on the release process, or the direction would help, and avoid confusion, or wrong expectations on contributors' part.

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

by Tobion at 2012-10-05T13:52:11Z

@fabpot this is ready. So if you agree with it, I would create a documentation PR.

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

by stof at 2012-10-13T16:09:47Z

@fabpot what do you think about this PR ?

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

by Crell at 2012-11-01T16:05:01Z

This feels like it's overloading the generate() method to do double duty: One, make a URl based on a route.  Two, make a  URI based on a URI snippet.  Those are two separate operations.  Why not just add a second method that does the second operation and avoid the conditionals?  (We're likely to do that in Drupal for our own generator as well.)

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

by Tobion at 2012-11-01T16:38:39Z

@crell: No, you must have misunderstood something. The generate method still only generates a URI based on a route. The returned URI reference can now also be a relative path and a network path. Thats all.

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

by Tobion at 2012-12-13T18:30:28Z

@fabpot this is ready. It is fully BC! I also improved phpdoc considerably.

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

by Tobion at 2012-12-14T20:51:38Z

@fabpot Do you want me to write documentation for it? I would also be interested to write about the new features of the routing component in general. I wanted to do that anyway and it would probably be a good fit for your "new in symfony" articles.

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

by fabpot at 2012-12-14T20:58:16Z

Im' going to review this PR in the next coming days. And to answer your second question, more documentation or better documentation is always a good thing, so go for it.

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

by Tobion at 2013-01-02T21:50:20Z

@fabpot ping. I added changelog entries.
2013-01-09 10:27:51 +01:00
Fabien Potencier
b33d5bc352 removed the .gitattributes files (closes #6605, reverts #5674) 2013-01-09 09:51:07 +01:00
Fabien Potencier
f07c61d25c merged branch bschussek/issue5844 (PR #6137)
This PR was merged into the master branch.

Commits
-------

586a16e [Validator] Changed DefaultTranslator::getLocale() to always return 'en'
58bfd60 [Validator] Improved the inline documentation of DefaultTranslator
cd662cc [Validator] Added ExceptionInterface, BadMethodCallException and InvalidArgumentException
e00e5ec [Validator] Fixed failing test
cc0df0a [Validator] Changed validator to support pluralized messages by default
56d61eb [Form][Validator] Added BC breaks in unstable code to the CHANGELOG
1e34e91 [Form] Added upgrade instructions to the UPGRADE file
b94a256 [DoctrineBridge] Adapted DoctrineBridge to translator integration in the validator
c96a051 [FrameworkBundle] Adapted FrameworkBundle to translator integration in the validator
92a3b27 [TwigBridge] Adapted TwigBridge to translator integration in the validator
e7eb5b0 [Form] Adapted Form component to translator integration in the validator
46f751c [Validator] Extracted message interpolation logic of ConstraintViolation and used the Translation component for that

Discussion
----------

[Validator] Integrated the Translator in the Validator component

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

This PR allows to replace the default message substitution strategy in the validator (`strtr()`) by passing an implementation of `Symfony\Component\Translation\TranslatorInterface`. The motivation for this are both #5844 and the need to replace the translation strategy in Drupal's integration of the Validator.

In the stand-alone usage of the validator, both the translator and the default translation domain can now be passed to `ValidatorBuilderInterface`:

```php
$validator = Validation::createValidatorBuilder()
    ->setTranslator(new MyTranslator())
    ->setTranslationDomain('validators')
    ->getValidator();
```

References:

* #5844
* #6117
* #6129
* [Add a validation framework to Drupal 8](http://drupal.org/node/1845546)
* [Add the symfony validator component to core despite Symfony potentially releasing BC-breaking updates after 2.3.](http://drupal.org/node/1849564)

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

by Tobion at 2012-11-28T08:53:25Z

no BC break? Looking at ValidatorBuilderInterface there is definitely one.

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

by bschussek at 2012-11-28T08:55:01Z

ValidatorBuilderInterface is not part of the stable API. You are not supposed to implement this interface.

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

by Tobion at 2012-11-28T09:01:07Z

We're not only documenting bc breaks for stable API, otherwise we could remove 90% of the upgrade file since few methods are tagged with API.
An interface that nobody should implement?

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

by bschussek at 2012-11-28T09:30:02Z

The question is what to consider a BC break. Something will always break for someone. Should we consequently mark everything as BC break? I don't think so.

For example, since 2.1, you are supposed to use `Validation::createValidator*()` for creating a validator. Because of that, I won't consider changing the constructor signature of `Validator` a BC break anymore from 2.1 on.

The same for the unstable interfaces. These are currently meant to be used only, that is, type hint against them and call their methods. But we don't guarantee that we won't add methods to them.

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

by Tobion at 2012-11-28T09:38:19Z

I agree that almost any change could be considered a BC break. So we probably need to better define what a BC break is and what not. Otherwise Symfony will stop evolving after 2.3 because from then on Fabien wanted to prevent BC breaks which is almost impossible in a strict definition of bc break.

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

by fabpot at 2012-11-28T11:37:22Z

BC breaks should always be documented, and we guarantee BC only for things tagged with @api. I'm going to update the docs to make things clearer.

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

by bschussek at 2012-11-28T13:09:57Z

@fabpot I documented these changes now in the CHANGELOG: af99ebb1206ac92889b7193ba1ecc12bf2617e85

Are we sure we want to document *all* BC breaks from now on, even in non-@api code? This could rather scare people looking at our changelogs (lots of BC BREAKS there).

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

by fago at 2012-11-28T17:29:58Z

Unfortunately, it turns out the symfony translator interface does not mach the Drupal translation system as well as we initally thought, see http://drupal.org/node/1852106. Given that, this would integrating the validator component into Drupal even harder, because it introduces the dependency on the (unwanted) translation component. :(

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

by stof at 2012-11-28T18:19:36Z

If this does not help Drupal anyway, maybe #5844 is a better way to manage translations for people using the validator outside forms ?
and the Drupal guys would simply follow a similar approach, but based on their own translator instead of the symfony one.

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

by fago at 2012-11-28T18:50:12Z

Yeah. The only problem I see with the approach of #5844 is that *after* validation only the translated messages are available. We'd need to have access to the untranslated messages also.

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

by fago at 2012-11-29T09:49:47Z

As our translation system handles translating pluralized messages differently, the current ExecutionContextInterface::addViolation() method poses a problem also. We need to pass on - both the single and plural - message, as the message gets chosen during translation, see http://api.drupal.org/api/drupal/core!includes!common.inc/function/format_plural/8
So maybe, we could allow adding an already created ConstraintViolation object also? Then, we could implement a "PluralConstraintViolation" class that takes both message templates.

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

by bschussek at 2012-12-03T15:52:36Z

I updated this PR to support pluralized messages by default in the validator. This should solve the problem of the Drupal guys, because their implementation of `TranslatorInterface::transChoice($id, $number, ...)` can now simply split the $id by pipes (`|`) and pass the parts to their own `format_plural($count, $singular, $plural, ...)` function.

For us, it breaks BC because translation catalog sources had to be adapted.

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

by fabpot at 2012-12-03T16:25:52Z

Most of the XLF files are broken (the end is missing now).

IIUC, we now have a hard dependency on the Translation component, which is something we wanted to avoid.

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

by fabpot at 2012-12-03T16:27:56Z

Oops, clicked on the "comment" button too fast.

So, the dependency is hard (you need to install the dep) but light as we only rely on the translation interface from the component (when using the default translator). It looks acceptable to me, especially because we now use Composer to manage dependencies.

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

by bschussek at 2012-12-03T16:54:10Z

@fabpot Thanks for the hint. Going to fix this.

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

by bschussek at 2012-12-04T11:34:43Z

@fabpot Fixed.

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

by bschussek at 2012-12-07T12:40:24Z

Is there anything missing for this PR to be merged?
2013-01-09 09:22:50 +01:00
Fabien Potencier
aba96c7cae Merge branch '2.1'
* 2.1:
  [Console] Fix style escaping parsing
  [Console] Make style formatter matching less greedy to avoid having to escape when not needed
  [Bundle] [FrameworkBundle] fixed indentation in esi.xml services file.
  [Component] [Security] fixed PSR-2 coding violation in ClassUtilsTest class.
  [Form] Fixed EntityChoiceList when loading objects with negative integer IDs
  [TwigBundle] There is no CSS visibility of display, should be visible instead
  [Form] corrected source node for a Danish translation
  [DependencyInjection] fixed a bug where the strict flag on references were lost (closes #6607)
  [HttpFoundation] Check if required shell functions for `FileBinaryMimeTypeGuesser` are not disabled
  [CssSelector] added css selector with empty string
  [HttpFoundation] Docblock for Request::isXmlHttpRequest() now points to Wikipedia
  [DependencyInjection] refactored code to avoid logic duplication
  [Form] Deleted references in FormBuilder::getFormConfig() to improve performance
  [HttpFoundation] Update docblock for non-working method

Conflicts:
	src/Symfony/Bundle/TwigBundle/Resources/views/Exception/trace.html.twig
	src/Symfony/Bundle/TwigBundle/Resources/views/Exception/traces.html.twig
2013-01-08 19:17:41 +01:00
Fabien Potencier
8321127cda Merge branch '2.0' into 2.1
* 2.0:
  [Bundle] [FrameworkBundle] fixed indentation in esi.xml services file.
  [TwigBundle] There is no CSS visibility of display, should be visible instead
  [DependencyInjection] fixed a bug where the strict flag on references were lost (closes #6607)
  [HttpFoundation] Check if required shell functions for `FileBinaryMimeTypeGuesser` are not disabled
  [CssSelector] added css selector with empty string
  [HttpFoundation] Docblock for Request::isXmlHttpRequest() now points to Wikipedia
  [DependencyInjection] refactored code to avoid logic duplication

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Resources/config/esi.xml
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/HttpFoundation/File/MimeType/FileBinaryMimeTypeGuesser.php
2013-01-08 19:16:44 +01:00
Igor Wiedler
e66bd14ca2 [TwigBundle] Use display instead of visibility for exception page icons 2013-01-08 18:27:02 +01:00
Hugo Hamon
113271c2df [Bundle] [FrameworkBundle] fixed indentation in esi.xml services file. 2013-01-08 16:05:00 +01:00
Bernhard Schussek
c96a0511f2 [FrameworkBundle] Adapted FrameworkBundle to translator integration in the validator 2013-01-08 14:43:29 +01:00
Igor Wiedler
8da2b412b4 [TwigBundle] There is no CSS visibility of display, should be visible instead 2013-01-08 02:14:26 +01:00
Alexander
73db84fd5e [Security] Move translations file to 'security' domain 2013-01-07 21:11:25 +01:00
Alexander
d6c57cff6f [FrameworkBundle] Register security exception translations 2013-01-07 20:58:58 +01:00
Fabien Potencier
b378964dbd Revert "merged branch stloyd/feature/kernel_secret_change (PR #6598)"
This reverts commit dbca0403b8, reversing
changes made to 1e6258846a.
2013-01-07 17:26:10 +01:00
Joseph Bielawski
f5290b95a9 [FrameworkBundle] Force users to set "kernel.secret" to something different than default "ThisTokenIsNotSoSecretChangeIt" 2013-01-07 10:48:25 +01:00
Bernhard Schussek
184c8e586f Fixed @expectedException definitions to reference absolute exception paths 2013-01-05 18:52:40 +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
Hugo Hamon
a88607c7ff [Bundle] [FrameworkBundle] fixed typo in phpdoc of the SessionListener. 2012-12-29 15:12:58 +01:00
Fabien Potencier
31a7825fe8 [FrameworkBundle] changed data collector templates to use the new namespaced template names 2012-12-23 12:31:08 +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
Fabien Potencier
e20b7d9d3c merged branch egeloen/date-time-type (PR #3846)
This PR was merged into the master branch.

Commits
-------

bf9e238 [Form] Add options with_minutes to DateTimeType & TimeType

Discussion
----------

[Form] Add option with_minutes to the DateTimeType & TimeType

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Fixes the following tickets: -
Todo: -

Hey,

One of my project requires the datetime usage only with hours. I have submit a patch allowing to disable minutes like seconds are disabled.

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

by stloyd at 2012-04-09T16:26:11Z

You should also extend tests for those `Types`

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

by egeloen at 2012-04-09T16:31:51Z

Oups, I have looked at tests but I didn't find it at my first reading. I will do it :)

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

by stloyd at 2012-04-09T16:34:42Z

@egeloen Here you can find tests for Form Types: https://github.com/symfony/symfony/tree/master/src/Symfony/Component/Form/Tests/Extension/Core/Type

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

by egeloen at 2012-04-09T16:42:42Z

@stloyd I have added tests. Can you give me some feedbacks ?

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

by stloyd at 2012-04-09T16:46:33Z

@egeloen I'm not sure if we should allow user to set `with_minutes=false` and `with_seconds=true`. But in overall seems quite ok.

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

by egeloen at 2012-04-09T16:51:37Z

Yes, you're right. But I'm unsure how can I do this following the good way.

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

by inanimatt at 2012-05-03T15:46:02Z

Just make it throw an InvalidConfigurationException.php exception, no? :)

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

by egeloen at 2012-06-09T18:27:41Z

I have updated the PR in order to throw an ``InvalidConfigurationException`` if we enable seconds & disable minutes.

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

by egeloen at 2012-07-09T19:08:11Z

@bschussek I have removed the useless code.

I think I have found an issue about my PR. I have added 3 tests in order to show it. It seems if we disable minutes, the text widget is broken.

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

by stof at 2012-10-13T16:00:43Z

@egeloen can you rebase your PR as it conflicts with master ?

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

by egeloen at 2012-10-13T17:15:22Z

@stof rebase

Like explain previously, my PR is still failling if we disable minutes & use the text widget.

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

by egeloen at 2012-10-13T18:09:03Z

I have fixed the last issue. IMO, the PR can now be merge.

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

by stof at 2012-10-13T18:20:00Z

@bschussek @fabpot ping

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

by egeloen at 2012-10-16T18:13:00Z

@bschussek Do yo think this PR can be merge?

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

by egeloen at 2012-10-30T19:14:00Z

@fabpot is there something missing before merging?

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

by fabpot at 2012-10-31T08:22:55Z

I'm waiting for @bschussek approval.

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

by geoffrey-brier at 2012-11-13T10:49:52Z

I really need the `with_minute => false` enhancement on a project as I don't want to write CSS/JS hacks, could @bschussek approve/disapprove it so that I can make a decision?

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

by henrikbjorn at 2012-11-13T10:52:12Z

@geoffrey-brier you could do you own FieldType that extends the current one and add the option your self.

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

by egeloen at 2012-11-13T13:20:44Z

@bschussek Yes... :) I have updated the PR according to your feedback.

I needed to update the `DateTimeToStringTransformer` because it tries to create a `DateTime` only from the value (with no format). In my case, the `'03'` value is not enougt to create it. So, if the date time creation fails, it then try to create the datetime from the format. I don't know if it is the best approach but it works well.

By the way, why does it first try to create a `DateTime` without format, **then only** try to use the format ?

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

by bschussek at 2012-11-13T14:20:13Z

@egeloen Good question, I think the transformer is a bit flawed there. I'm working on that. The rest of the PR looks good. Thank you!

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

by bschussek at 2012-12-13T18:14:58Z

I fixed the transformer in #6333. Once that is merged into 2.1, and once 2.1 is merged into master after that, you can rebase this PR on master. Then we can merge it.

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

by egeloen at 2012-12-22T14:54:38Z

I have rebased & squashed commits. The PR is ready to merge. ping @fabpot
2012-12-22 22:01:49 +01:00
Fabien Potencier
552185a98a [WebProfilerBundle] fixed wrong class name 2012-12-22 21:58:25 +01:00
Eric GELOEN
bf9e238f75 [Form] Add options with_minutes to DateTimeType & TimeType 2012-12-22 15:51:06 +01:00
Fabien Potencier
5e359d3e9d made the kernel optional in all data collectors 2012-12-22 14:27:11 +01:00
Fabien Potencier
a5e1c4a657 [TwigBundle] added a compatibility layer for the render tag so that the same code can work in both 2.1 and 2.2
If you want your code to work on both version, use the following syntax:

{% render url('foo') with {}, {'bar': 1} %}

where the empty array is not used in 2.2.
2012-12-21 08:47:46 +01:00
Fabien Potencier
84ec18783e Merge branch '2.1'
* 2.1:
  fixed typo
  [FrameworkBundle] fixed ESI calls
  [FrameworkBundle] fixed ESI calls
  bumped Symfony version to 2.1.6-DEV
  updated VERSION for 2.1.5
  updated CHANGELOG for 2.1.5
  bumped Symfony version to 2.0.21-DEV
  [FrameworkBundle] fixed trusted_proxies configuration for some edge cases
  [FrameworkBundle] fixed XSD for the trusted-proxies setting
  updated VERSION for 2.0.20
  update CONTRIBUTORS for 2.0.20
  updated CHANGELOG for 2.0.20

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/HttpKernel.php
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php
	src/Symfony/Component/HttpKernel/Kernel.php
2012-12-20 23:18:21 +01:00
Fabien Potencier
bc09ac9eb0 fixed typo 2012-12-20 23:15:41 +01:00
Fabien Potencier
b8e5689363 [FrameworkBundle] fixed ESI calls 2012-12-20 23:13:30 +01:00
Fabien Potencier
ce536cdd5a [FrameworkBundle] fixed ESI calls 2012-12-20 23:10:14 +01:00
Fabien Potencier
3341c8ec43 [FrameworkBundle] restricted to only URIs the first argument of the actions helper 2012-12-20 22:49:33 +01:00
Fabien Potencier
1493f747a2 Merge branch '2.0' into 2.1
* 2.0:
  bumped Symfony version to 2.0.21-DEV
  [FrameworkBundle] fixed trusted_proxies configuration for some edge cases
  [FrameworkBundle] fixed XSD for the trusted-proxies setting
  updated VERSION for 2.0.20
  update CONTRIBUTORS for 2.0.20
  updated CHANGELOG for 2.0.20

Conflicts:
	CONTRIBUTORS.md
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/full.xml
	src/Symfony/Component/HttpKernel/Kernel.php
2012-12-20 15:24:08 +01:00
Fabien Potencier
1f281db261 [TwigBundle] fixed PHP notice 2012-12-20 12:01:24 +01:00
Joseph Bielawski
5aed0d5505 [FrameworkBundle] Remove test for class removed in commit 64d43c8 2012-12-20 10:34:05 +01:00
Fabien Potencier
4517aebe6f [FrameworkBundle] fixed trusted_proxies configuration for some edge cases 2012-12-20 10:21:38 +01:00
Fabien Potencier
0085798dff [FrameworkBundle] fixed XSD for the trusted-proxies setting 2012-12-20 09:52:00 +01:00
Fabien Potencier
64d43c806b restricted to only URIs the first argument of the render tag 2012-12-20 08:31:14 +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
4bee2e9d3a Merge branch '2.0' into 2.1
* 2.0:
  [FrameworkBundle] added support for URIs as an argument to HttpKernel::render()
  [FrameworkBundle] restricted the type of controllers that can be executed by InternalController
  Making it easier to grab the PR template.
  fix double-decoding in the routing system

Conflicts:
	README.md
	src/Symfony/Bundle/FrameworkBundle/EventListener/RouterListener.php
	src/Symfony/Component/Security/Http/HttpUtils.php
2012-12-20 08:21:29 +01:00
Fabien Potencier
532cc9a0e6 [FrameworkBundle] added support for URIs as an argument to HttpKernel::render() 2012-12-20 08:14:51 +01:00
Fabien Potencier
1f8c501b99 [FrameworkBundle] restricted the type of controllers that can be executed by InternalController 2012-12-20 08:14:45 +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
Fabien Potencier
eedafadb58 merged branch lmcd/wdt-token (PR #6431)
This PR was merged into the master branch.

Commits
-------

4663450 Use abbr_class
15c52f5 Show class name of security token in WDT

Discussion
----------

Show class name for security token in WDT

I found this to be really useful when creating custom authentication providers

Example:

![token](https://f.cloud.github.com/assets/363540/23829/2f28c1ac-4a70-11e2-91d4-e3ac27201b4f.png)
2012-12-20 08:05:25 +01:00
Lee McDermott
4663450a03 Use abbr_class 2012-12-20 06:35:43 +00:00
Lee McDermott
15c52f507e Show class name of security token in WDT 2012-12-20 06:23:44 +00:00
Sema
8654cd80fd Fixed missing quote in FormHelper->widget() PHPDoc 2012-12-19 15:09:11 +04:00
Florin Patan
c2acc6c2cb Fixed most of the docblocks/unused namespaces 2012-12-19 08:09:49 +01:00
Fabien Potencier
2cc51b0823 merged branch fabpot/twig-render (PR #6386)
This PR was merged into the master branch.

Commits
-------

163564b [WebProfilerBundle] replaced yaml_dump by json_encode to make the Web Profiler independent from the YAML component
1c92307 [WebProfilerBundle] fixed exception panel when no exception is thrown
00e08be [WebProfilerBundle] replaced usage of the render tag by the render function (to decouple the bundle from TwigBundle)
0e2418c [TwigBundle] added the HttpKernel extension to the default Twig loaded extensions
f0d9be0 [TwigBridge] added an extension for the HttpKernel component

Discussion
----------

Added an HttpKernelExtension in Twig bridge and used it in the WebProfiler

The first commit introduces a new HttpKernelExtension in the Twig bridge that allows the rendering of a sub-request from a template (the code mostly comes from Silex, and will replace the code there at some point).

The name `render` is probably not the best one as it does not really tell you what it does (the same goes for the `render` tag we have in Symfony2 by the way).

Here is a list of possible names:

 * `render()`
 * `render_request()`
 * `request()`
 * `subrequest()`
 * `include_request()`

I don't really like the last one, but it is (perhaps) consistent with the `include` tag/function in Twig.

This new `render()` function is also a first step towards replacing the `render` tag (with support for ESI, SSI, ...). But it won't happen before we refactor the way it's managed now (a lot of the code is in the FrameworkBundle right now and that prevents Silex or Drupal to reuse it).

The other commits make use of this new extension to make the Web Profiler truly independent from TwigBundle and FrameworkBundle.
2012-12-17 14:59:17 +01:00
Fabien Potencier
163564b009 [WebProfilerBundle] replaced yaml_dump by json_encode to make the Web Profiler independent from the YAML component 2012-12-16 21:43:35 +01:00
Fabien Potencier
1c92307e4c [WebProfilerBundle] fixed exception panel when no exception is thrown 2012-12-16 21:43:35 +01:00
Fabien Potencier
00e08be05b [WebProfilerBundle] replaced usage of the render tag by the render function (to decouple the bundle from TwigBundle) 2012-12-16 21:43:31 +01:00
Fabien Potencier
8df9b7a2de [Config] renamed keepKeys() to normalizeKeys() (refs #6367) 2012-12-16 17:56:50 +01:00
Fabien Potencier
0e2418c505 [TwigBundle] added the HttpKernel extension to the default Twig loaded extensions 2012-12-16 17:47:32 +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
6efae29f2a [TwigBundle] fixed configuration to avoid key normalizations for paths and globals (closes #5998) 2012-12-16 16:11:31 +01:00
Fabien Potencier
608972417c merged branch nicam/biggerHitBoxWebProfiler (PR #6385)
This PR was merged into the master branch.

Commits
-------

a498261 [Webprofiler] increased hitboxSize of the close button the webprofiler toolbar. Otherwise it's very hard to close it on a tablet

Discussion
----------

[Webprofiler] increased hitboxSize of the close button the webprofiler

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:

Increased the hitbox Size of the close button on webprofiler, otherwise it's very hard to close it on a tablet. Apple recommends 40x40 pixels for touch stuff

see issue https://github.com/symfony/symfony/issues/6264

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

by nicam at 2012-12-16T13:45:36Z

@stloyd done
2012-12-16 16:02:21 +01:00
Pascal Helfenstein
a4982618fd [Webprofiler] increased hitboxSize of the close button the webprofiler toolbar. Otherwise it's very hard to close it on a tablet 2012-12-16 14:43:26 +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
Gábor Egyed
7a06ce8258 [WebProfilerBundle] fixed label for attribute 2012-12-16 11:16:08 +01:00
Fabien Potencier
cbef9c2837 merged branch dlsniper/profiler-time-search (PR #6113)
This PR was merged into the master branch.

Commits
-------

5a73d55 Added small test to check if time limit works
7f6e99b Fixed MongoDB storage missing time range. Fixed UI not searching properly. Removed unnecessary time query.
3a0ed58 Added ability to search by time when using the profiler

Discussion
----------

[WebProfilerBundle] [HttpKernel][Profiler] Added ability to search by time when using the profiler

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

This PR adds the ability to search in a certain time range for profiles.

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

by fabpot at 2012-12-11T14:36:21Z

Anyone willing to help for the MongoDB support? ping @jmikola

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

by jmikola at 2012-12-11T18:42:00Z

Totally. I'm flying between Turkey and New York tomorrow and if I have wifi on the plane (good chance) I'll check this out. Otherwise, later in the week.

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

by dlsniper at 2012-12-11T22:42:19Z

I could have a look on this matter as well tomorrow but I'm not really sure about my schedule. Any help would be greatly appreciated. Thanks!

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

by jmikola at 2012-12-13T21:56:26Z

@dlsniper: Had no wifi on the plane, but I'm available to work on this now. How can we go about it?

Should I submit a PR against your branch? Then you can accept that and my commit should show up in this PR.

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

by dlsniper at 2012-12-13T22:05:21Z

@jmikola I haven't had too much time either but yes, that would be great.

The change should go here: b631cd989c/src/Symfony/Component/HttpKernel/Profiler/MongoDbProfilerStorage.php (L172) but I clearly lack the skill of making the necessary changes for it.

Thank you very much!

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

by dlsniper at 2012-12-15T21:39:39Z

I've fixed MongoDB driver, adjusted search by time like @jmikola suggested and fixed a UI bug. Can someone please validate this over?

Thanks!

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

by dlsniper at 2012-12-15T21:55:51Z

The tests seem to be failing because of some locale changes not related to these commits. I encounter the same problem on my laptop and I could try and fix it into a different branch but last time I've tried to fix it it was ok on my side and failing on Travis. Any hints for that?
2012-12-16 09:22:52 +01:00
Florin Patan
254d40bca0 Small fix for WPB when there is no menu item 2012-12-15 23:53:39 +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
1f5b4a1648 [FrameworkBundle] fixed broken tests 2012-12-15 17:50:23 +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
47a56048f3 [FrameworkBundle] fixed broken tests 2012-12-15 17:47:55 +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
c0fc33df44 merged branch bamarni/2.0 (PR #6154)
This PR was merged into the 2.0 branch.

Commits
-------

f0743b1 Merge pull request #1 from pylebecq/2.0
555e777 [FrameworkBundle] Added tests for trusted_proxies configuration.
a0e2391 [FrameworkBundle] used the new method for trusted proxies

Discussion
----------

[FrameworkBundle] used the new method for trusted proxies

This makes the framework bundle using the new method from the request class.

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

by fabpot at 2012-12-05T10:38:20Z

As this is a sensitive issue, can you add some tests? Thanks.

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

by bamarni at 2012-12-06T13:00:24Z

Well I don't know why it fails on travis, I can't run the full test suite locally because of a segfault but ```phpunit src/Symfony/Bundle/``` marks all the tests as passing.

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

by fabpot at 2012-12-06T13:08:11Z

But it looks like the failing tests come from what you've changed.

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

by bamarni at 2012-12-06T13:29:33Z

Yes, I'm not saying it's not my fault but I can't reproduce this as locally it tells me they pass, I'll try to fix this this evening.

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

by bamarni at 2012-12-06T17:49:28Z

Apparently it fails only when running the whole testsuite, looking at other travis builds I can see this one on 2.0 : https://travis-ci.org/symfony/symfony/jobs/3495511 which fails in a similar way than here (https://travis-ci.org/symfony/symfony/jobs/3530928). Because of a place trying to access an undefined $_SERVER key : ```PHP Notice:  Undefined index: SCRIPT_NAME ...``` but I can't find where, and the stack trace references some phpunit classes.

I'd be happy if someone could give me some pointers in here as I don't have any clue about how to fix this..

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

by bamarni at 2012-12-06T18:00:57Z

As a consulsion I'd say I can't run the whole testsuite locally (it fails even when I revert my commit), so there is no reliable way for me to fix this, if anyone is up for continuing this feel free.

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

by fabpot at 2012-12-11T09:47:48Z

@bamarni Can you just update this PR with the code change and no tests at all? I will then finish the PR. Thanks.

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

by bamarni at 2012-12-11T16:58:17Z

@fabpot: thanks for helping me out on this, hope you won't run into the same issue!
2012-12-15 17:43:45 +01:00
Drak
54d3f814ec [FrameworkBundle] Fixed logic under test environment. 2012-12-15 15:16:34 +00: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
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
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
Fabien Potencier
1017f34001 merged branch pierredup/hinclude (PR #5993)
This PR was merged into the master branch.

Commits
-------

74a8fcf [FrameworkBundle] Added support for default templates per render tag

Discussion
----------

[FrameworkBundle] Added support for default templates per render tag

This commit allows you to specify default templates per render tag when using hinclude.

E.G:
The following will use the specific default template for the render:
```` {% render "AcmeDemoBundle:Controller:action" with {}, {"standalone" : "js", "default" : "AcmeDemoBundle:Default:content.html.twig"} %}````

or if you don't want to use a template for the default content but just a string, you can do the following
```` {% render "AcmeDemoBundle:Controller:action" with {}, {"standalone" : "js", "default" : "Loading..."} %}````

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Fixes the following tickets: #3356
Todo: -
Documentation

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

by fabpot at 2012-12-14T12:25:40Z

Looks good to me. Can you add a note in the CHANGELOG of the component and send a PR on symfony/symfony-docs about this new feature? Thanks.

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

by pierredup at 2012-12-14T14:30:00Z

@fabpot done, documentation PR symfony/symfony-docs#2021
2012-12-14 21:10:00 +01:00
Baldur Rensch
6b9ee87b62 [Session] Fixed a bug with the TestListener
When the session is not started, the test listener would still save the
session causing the session data to be emptied.
2012-12-14 11:26:41 -08:00
Pierre du Plessis
74a8fcf013 [FrameworkBundle] Added support for default templates per render tag 2012-12-14 16:02:08 +02:00
Francis Besset
d3f5f3a44f Added comment 2012-12-14 12:28:48 +01:00
Pierre-Yves LEBECQ
555e777b0c [FrameworkBundle] Added tests for trusted_proxies configuration. 2012-12-14 12:05:15 +01:00
Francis Besset
773d818d6b [FrameworkBundle] Added a check on file mime type for CodeHelper::fileExcerpt() 2012-12-14 11:53:52 +01:00
Fabien Potencier
a482aa0640 [WebProfilerBundle] made a small optimization 2012-12-14 08:20:45 +01:00
umpirsky
74a06f84b6 QtTranslationsLoader class renamed to QtFileLoader. 2012-12-13 20:15:36 +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
75f59ebe01 [Routing] add support for path-relative and scheme-relative URL generation 2012-12-13 20:13:09 +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
Fabien Potencier
142cffbc4f fixed unit tests 2012-12-13 17:59:38 +01:00
Fabien Potencier
fc444f1a55 fixed support for Twig loaders when they do not extend Twig_ExistsLoaderInterface 2012-12-13 17:11:26 +01:00
Fabien Potencier
f005649315 [WebProfilerBundle] decoupled the bundle from TwigBundle 2012-12-13 16:01:47 +01:00
Fabien Potencier
35d63df044 removed the dependency on the container for exception handling 2012-12-13 15:49:45 +01:00
Fabien Potencier
2f4ac5e3d1 bumped min version of Twig to 1.11.0 2012-12-13 15:33:46 +01:00
Tobias Schultze
35e19c76c3 refactor ControllerNameParser 2012-12-13 15:04:21 +01:00
Fabien Potencier
75636a00da [WebProfilerBundle] added missing exclusion in phpunit.xml.dist 2012-12-13 11:03:59 +01:00
Fabien Potencier
6eba7abb2c [WebProfilerBundle] fixed composer.json and added missing PHPUnit configuration 2012-12-12 12:39:13 +01:00
Fabien Potencier
e553e65047 moved the Twig CodeExtension from the bundle to the bridge 2012-12-12 12:26:16 +01:00
Bilal Amarni
a0e2391063 [FrameworkBundle] used the new method for trusted proxies 2012-12-11 17:56:21 +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
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
a7cd5f54ef fixed CS 2012-12-11 11:27:06 +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
fe194cb03f merged branch hason/tests_2_2 (PR #6202)
This PR was merged into the master branch.

Commits
-------

abe244f [TwigBundle] Fixed tests on windows

Discussion
----------

[TwigBundle] Fixed tests on windows
2012-12-11 09:58:49 +01:00
Fabien Potencier
e3ef9368df [FrameworkBundle] tweaked previous merge 2012-12-11 09:31:58 +01:00
Fabien Potencier
57b8447ae1 merged branch dantleech/twig_loader_pass (PR #6171)
This PR was merged into the master branch.

Commits
-------

f48b22a Added configuration pass that adds Twig Loaders

Discussion
----------

[Twig] [DI Pass] Added configuration pass that adds Twig Loaders

Bug fix: [no]
Feature addition: [yes]
Backwards compatibility break: [no]
Symfony2 tests pass: [yes]
Todo: Documentation?
License of the code: MIT

- Defined new Chain loader service with symfony Filesystem loader added
  by default.
- Added compiler class which picks up any services tagged "twig.loader"
- If there are any instances of "twig.loader" the "twig.loader" alias is
  set to the Twig_Loader_Chain service ID instead of the filesystem
  loader.

I think I still like the explicitness of the other pull request, but I defer to your judgment :) This is certainly much easier for the developer.

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

by dantleech at 2012-12-03T08:31:08Z

Will update the PR later today / tomorrow

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

by dantleech at 2012-12-03T18:19:09Z

ok, updated. I throw a `Symfony\Component\DependencyInjection\Exception\LogicException` if there are no loaders -- not sure if that is the best thing to do, or if that is the best exception.

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

by fabpot at 2012-12-05T15:28:24Z

Looks good to me. Can you add a note in the CHANGELOG about this new possibility and update the documentation accordingly? Thanks.

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

by dantleech at 2012-12-05T17:50:37Z

ok. updated change log and changed both count() comparisons to be strict. @fabpot which documentation should I update? or should I add `cookbook/templating/registering_multiple_loaders.rst`?

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

by stof at 2012-12-05T20:07:37Z

@dantleech at least the DIC tags reference need to be updated to mention the new tag. I'm not sure a dedicated article is needed for it (but @weaverryan will decide if it is worth it)

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

by dantleech at 2012-12-06T17:57:20Z

Made a PR for documentation: https://github.com/symfony/symfony-docs/pull/2005

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

by dantleech at 2012-12-07T16:44:00Z

ok. have updated the correct CHANGELOG and squashed to one commit
2012-12-11 09:30:20 +01:00
Joseph Bielawski
120547c8bc [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
2012-12-11 09:29:21 +01:00
Denis Gorbachev
9cf1d142b2 Fixed a typo 2012-12-10 13:42:21 +01:00
dantleech
f48b22a44e Added configuration pass that adds Twig Loaders
- Added compiler class which picks up any services tagged "twig.loader"
- If there is one loader registered we set the alias to this loader
- If there is more than one we set the alias to a chain loader and all
  the loaders to it
- If there is no loaders we throw an Exception
2012-12-07 17:39:55 +01:00
Victor Berchet
459a09fbdf [WebProfilerBundle] "View all" is "View last 10" 2012-12-07 10:03:28 +01:00
Mario A. Alvarez Garcia
cf630690be Fixed copy/paste mistake 2012-12-06 08:14:56 -05: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
Mario A. Alvarez Garcia
d902e9d839 [FrameworkBundle] Added hostnamePattern to the router:debug command 2012-12-06 06:57:32 -05:00
Martin Hasoň
10e5f3b3df Removed useless branch alias for dev-master in composer.json 2012-12-06 11:00:55 +01:00
Fabien Potencier
aee033699b fixed CS 2012-12-06 09:58:41 +01:00
Fabien Potencier
ee346bbc22 merged branch KingCrunch/feature/static-template-cache (PR #6083)
This PR was squashed before being merged into the master branch (closes #6083).

Commits
-------

6236c18 [FrameworkBundle] Added caching to TemplateController

Discussion
----------

[FrameworkBundle] Added caching to TemplateController

Because the main purpose for the `TemplateController` seems to be to render static pages like "disclaimer" and such, it seems useful to allow caching.

    imprint:
        pattern: /imprint
        defaults:
            _controller: SymfonyFrameworkBundle:Template:template
            template: "::pages/imprint.html.twig"
            maxAge: 86400

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

by pierredup at 2012-11-21T20:24:53Z

IMHO I think the caching should be allowed to be set optionally

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

by KingCrunch at 2012-11-21T20:38:54Z

I wrote it this way, because I assume, that it will cover more use-cases, than the other way round, but you are right, that this will change the current behaviour. Would like to hear other opinions, because I don't think one uses this action for anything else than fully-static content (means: The current behaviour doesn't feel very useful to me).

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

by pierredup at 2012-11-21T20:48:19Z

I totally agree, but I would then suggest keep the caching on by default, but have the option to turn it off if necessary

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

by pierredup at 2012-11-21T20:52:01Z

Actually I think to have caching permanently enabled for static content would probably be the best scenario, but I like to think in terms of flexibility and specific user requirements. It would be great to get some opinions from others on this

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

by KingCrunch at 2012-11-23T21:12:45Z

I thought about it and I come to the conclusion, that it is probably a not so good idea to enable caching by default, because ... well, it's not possible to disable it again. I guess something like this

    {{ render '@AcmeBundle:ArticleController:latest' with {count: 1} }}

may be not so uncommon as I suggested in the first commit.

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

by fabpot at 2012-12-03T22:18:51Z

Can you make a PR for the docs? (symfony/symfony-docs). Thanks.
2012-12-06 09:57:25 +01:00
Sebastian Krebs
6236c1835c [FrameworkBundle] Added caching to TemplateController 2012-12-06 09:57:24 +01:00
Martin Hasoň
abe244f0c9 [TwigBundle] Fixed tests on windows 2012-12-06 09:55:04 +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
Martin Hasoň
acf1f86611 [TwigBundle] Fixed tests 2012-12-04 14:39:39 +01:00
Fran Moreno
2ed30e702f Fixed DefaultValue for session.auto_start in NodeDefinition
This is just for consistency with the node type (Boolean)
2012-12-03 23:02:45 +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
Christophe Coevoet
ae3d531737 [TwigBundle] Moved the registration of the app global to the environment
This makes the app global variable available also when accessing the Twig
environment directly instead of using the TwigEngine.

Conflicts:
	src/Symfony/Bridge/Twig/CHANGELOG.md
	src/Symfony/Bundle/TwigBundle/Resources/config/twig.xml
	src/Symfony/Bundle/TwigBundle/TwigEngine.php
2012-12-03 14:25:44 +01:00
Victor Berchet
7f16c1f5bc [HttpKernel] Add DI extension configs as ressources when possible 2012-11-29 14:58:56 +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
7fce02c818 merged branch nomack84/issue6135 (PR #6136)
This PR was merged into the master branch.

Commits
-------

c8e65a2 [FrameworkBundle][Routing] Resolve placeholders in hostnamePattern rules

Discussion
----------

[FrameworkBundle][Routing] Resolve placeholders in hostnamePattern rules

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

Currently the placeholders in the `hostname_pattern` rule are not resolved, so that's why this PR is it for.

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

by nomack84 at 2012-11-28T14:18:02Z

@fabpot Could you please merge this? I really need this fix to be solve.
Thanks!
2012-11-28 17:24:04 +01:00
Mario A. Alvarez Garcia
c8e65a28e9 [FrameworkBundle][Routing] Resolve placeholders in hostnamePattern rules 2012-11-27 17:22:45 -05:00
marc.weistroff
431d593d59 [TwigBundle] Renames twig.loader to twig.loader.filesystem.
In the previous form of twig's service definitions, it was impossible to
use a chain loader correctly because the TwigBundle was registering paths
on the twig.loader service. This patch fixes that by creating a
twig.loader.filesystem definition and an alias twig.loader that points
to twig.loader.filesystem by default.
2012-11-27 14:37:15 -05:00
Tobias Schultze
98f3ca8395 [Routing] removed tree structure from RouteCollection 2012-11-26 18:28:37 +01:00
Fabien Potencier
c20efc7c78 fixed CS 2012-11-24 12:10:50 +01:00
Tobias Schultze
29bfa13ff0 small fix of #5984 when the container param is not set
this can happen when the config for the router is unset, but this method
does not need to depend on routing. reading an unset config would raise an exception.
2012-11-21 15:35:19 +01:00
Fabien Potencier
85be887e59 fixed CS 2012-11-19 21:00:36 +01:00
Fabien Potencier
ebd5e9286c merged branch flojon/patch-3 (PR #5984)
This PR was merged into the 2.0 branch.

Commits
-------

64b54dc Use better default ports in urlRedirectAction
64216f2 Add tests for urlRedirectAction

Discussion
----------

Default to current port in urlRedirectAction

I was a bit surprised when I used urlRedirectAction from a non-standard port (8000) it redirected me to port 80. I would argue that the default should be to use the current port instead. This is a simple patch to change that. This should only break in the case someone is relying on the current default to redirect from a non-standard port to the standard port, which should be a really rare case...

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

by Tobion at 2012-11-11T20:29:54Z

The idea is right but the implementation not. Seems this patch is not as "simple" as you said.
When you're on HTTPS and want to redirect to $scheme = HTTP, then it still uses the current HTTPS port which is wrong.

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

by flojon at 2012-11-11T20:36:47Z

Ah, I see the problem. So I guess the correct behavior would be to use the current port if staying with the same scheme or go to standard port if switching scheme. Unless the user has specified a port which will always override...

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

by Tobion at 2012-11-11T20:42:18Z

That would be the best solution that is currently possible but not the best solution that should be possible.
Because if you switch scheme but the other scheme does not use the standard port, it still doesn't work.
Ideally the Request class had an option that allows to define the ports symfony should use for HTTP and HTTPS.
This logic is in RequestContext, but it's not used here.

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

by flojon at 2012-11-11T21:32:55Z

Bummer, I forgot to check if the current port is a standard port...

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

by Tobion at 2012-11-11T21:35:13Z

add some tests

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

by flojon at 2012-11-11T23:28:18Z

Added tests and fixed my previous error

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

by flojon at 2012-11-15T18:25:12Z

@Tobion is there anything else I needed for this?

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

by fabpot at 2012-11-19T12:56:04Z

To be consistent with how we manage HTTP ports elsewhere, I'd rather use the values of the `request_listener.http_port` and `request_listener.https_port`:

```php
        if (null === $httpPort) {
            $httpPort = $this->container->getParameter('request_listener.http_port');
        }

        if (null === $httpsPort) {
            $httpsPort = $this->container->getParameter('request_listener.https_port');
        }
```

This is done in the `security.authentication.retry_entry_point` service and for the `router_listener` listener.

The parameter name is probably not the best one, but that could be changed then in master.

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

by flojon at 2012-11-19T13:49:18Z

@fabpot But then you would need to set that parameter manually right? It wouldn't automatically redirect you to the same port, which was what I wanted to achieve...

Could this be the right order of preference:
If a value was specified in the route use that.
Otherwise use the current port
unless switching scheme then use the parameter value

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

by fabpot at 2012-11-19T13:52:17Z

Your order of preference looks good to me.

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

by flojon at 2012-11-19T19:13:19Z

Man this was more involved than I thought... :)
Changed the logic to use the parameters when not using the current port. Also tried clean up the tests a little bit... Enjoy!
2012-11-19 20:59:22 +01:00
Jonas Flodén
64b54dc587 Use better default ports in urlRedirectAction 2012-11-19 20:08:12 +01:00
Jonas Flodén
64216f25a5 Add tests for urlRedirectAction 2012-11-19 20:04:16 +01:00
Denis Gorbachev
acbb39312c Renamed variable for consistency 2012-11-18 14:58:38 +04:00
Victor Berchet
32dc31eceb [SecurityBundle] Convert Http method to uppercase in the config 2012-11-15 08:13:39 +01:00
Fabien Potencier
2c346cba07 merged branch fabpot/images (PR #6006)
This PR was merged into the master branch.

Commits
-------

9f1cd84 moved most static assets directly into the templates

Discussion
----------

moved most static assets directly into the templates

This has been done for several reasons:

 * for consistency with the way we already manage the WDT and the
   profiler icons;
 * it makes the Exception independent from the location of the assets
   (and from the asset() function)
 * this is the second step to make the WebProfiler useable outside the
   full-stack framework

see dbcd171dd3

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

by stof at 2012-11-13T17:52:39Z

the images blue_picto_more and blue_picto_less are also used in DoctrineBundle (and probably in JMSDebuggingBundle but I haven't checked). Could you submit a PR inlining the images too before removing them ?

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

by fabpot at 2012-11-13T18:02:18Z

Any image useful for other bundles should not be deleted. So, if DoctrineBundle is using the blue_pico_* images, I'm going to revert their deletion.

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

by schmittjoh at 2012-11-13T18:07:02Z

I'm using them in two bundles, JMSDebuggingBundle and JMSJobQueueBundle (same for the exception related templates).

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

by dlsniper at 2012-11-13T22:22:29Z

Wouldn't it be better to have the encoded icons in a separate CSS file as different classes/background images?

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

by fabpot at 2012-11-14T11:28:24Z

ok, I've reverted the removal of the images that might be useful in third-party bundles.
2012-11-14 13:48:11 +01:00
Fabien Potencier
9f1cd84844 moved most static assets directly into the templates
This has been done for several reasons:

 * for consistency with the way we already manage the WDT and the
   profiler icons;
 * it makes the Exception independent from the location of the assets
   (and from the asset() function)
 * this is the second step to make the WebProfiler useable outside the
   full-stack framework

see dbcd171dd3
2012-11-14 12:26:15 +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
0159358a08 refactored CSS, images, templates included in the built-in bundles
The goal is to make things more decoupled and more reusable across
different bundles.

There will be a PR for the distribution bundle too to simplify the code
based on this PR.
2012-11-13 10:20:48 +01:00
Fabien Potencier
812b9b1724 replace _ in stylesheets (ids and classes) by - (should be consistent across the whole framework now) 2012-11-12 18:32:01 +01:00
Fabien Potencier
983b2b5e2a uniformized styles 2012-11-12 18:19:16 +01:00
Fabien Potencier
e0aab4075f renamed sf-exceptionreset to sf-reset 2012-11-12 18:19:16 +01:00
Fabien Potencier
ff9051d19f [TwigBundle] fixed typo 2012-11-12 18:18:57 +01:00
Fabien Potencier
226743f8cf merged branch fabpot/code-helpers (PR #5986)
This PR was merged into the master branch.

Commits
-------

56fe8d1 duplicated the code helper code to the Twig bundle

Discussion
----------

moved code helper code to the Twig bundle

These helpers are very specific and are only used in TwigBundle for the
profiler and the exception templates.

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

by schmittjoh at 2012-11-12T09:12:56Z

Is there a reason for this BC break other than a cosmetical tweak?

If not strictly necessary, I'd like to see these kind of changes being scheduled for 3.0.

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

by fabpot at 2012-11-12T09:29:35Z

Of course, I don't want to make this change without a reason and indeed, I forgot to mention the why of this change. Let me explain.

I've been working on the integration of the Symfony web profiler into other OSS that use HttpKernel like Silex and Drupal for quite some time now. That's why I developed the new namespace feature in Twig, that's why I've refactored the web profiler to only use Twig and not the templating component. One of the last step is this PR, which reduces the number of dependencies to be able to use the WebProfiler bundle.

So, this change is not cosmetic, but one more step towards the goal of making the web profiler more reusable.

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

by schmittjoh at 2012-11-12T13:22:28Z

I see, makes sense. How about duplicating the code for now?

After looking through the history, it doesn't seem like it changes often
(the last real code change was a year ago). So, it should not be much more
maintenance effort, and we could keep BC here.

On Mon, Nov 12, 2012 at 10:29 AM, Fabien Potencier <notifications@github.com
> wrote:

> Of course, I don't want to make this change without a reason and indeed, I
> forgot to mention the why of this change. Let me explain.
>
> I've been working on the integration of the Symfony web profiler into
> other OSS that use HttpKernel like Silex and Drupal for quite some time
> now. That's why I developed the new namespace feature in Twig, that's why
> I've refactored the web profiler to only use Twig and not the templating
> component. One of the last step is this PR, which reduces the number of
> dependencies to be able to use the WebProfiler bundle.
>
> So, this change is not cosmetic, but one more step towards the goal of
> making the web profiler more reusable.
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/symfony/symfony/pull/5986#issuecomment-10281201>.
>
>

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

by fabpot at 2012-11-12T13:32:33Z

Of course, that's a possibility. But what for? I doubt that people are using this code. Are you using this code somewhere?

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

by schmittjoh at 2012-11-12T13:37:24Z

Yes, I believe that I'm using it both in JMSDebuggingBundle, and
JMSJobQueueBundle as both are rendering exception stack traces at some
point.

On Mon, Nov 12, 2012 at 2:32 PM, Fabien Potencier
<notifications@github.com>wrote:

> Of course, that's a possibility. But what for? I doubt that people are
> using this code. Are you using this code somewhere?
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/symfony/symfony/pull/5986#issuecomment-10287353>.
>
>

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

by fabpot at 2012-11-12T14:11:50Z

ok, fair enough. The code is now in the framework bundle as well.
2012-11-12 15:15:24 +01:00
Fabien Potencier
56fe8d1ffd duplicated the code helper code to the Twig bundle
The code has been duplicated and not moved for BC reasons.

This code has been duplicated in the Twig bundle to be able to decouple
the web profiler and the exception templates.
2012-11-12 15:07:56 +01:00
Tobias Schultze
26e56842dc some type fixes 2012-11-12 11:54:32 +01:00
Arnaud Le Blanc
6cd34570d7 fixed CS 2012-11-12 11:35:46 +01:00
Arnaud Le Blanc
462999d2d2 [Routing] display hostname pattern in router:debug output 2012-11-12 11:14:24 +01:00
David Buchmann
d0e5ef1355 [FrameworkBundle] move change note to changelog of FrameworkBundle instead of master UPGRADE-2.2 2012-11-11 21:12:12 +01:00
David Buchmann
e77ecc95de [FrameworkBundle] switch to parameter for base url to make it configurable for tests and cli as done for host and scheme in d30943c2e8 2012-11-11 19:27:43 +01:00
Victor Berchet
d0433b69aa [Stopwatch] Get the "real size" used & minor tweaks 2012-11-11 11:18:42 +01:00
Fabien Potencier
15a5868ab4 [Validator] fixed Ukrainian language code (closes #5972) 2012-11-10 19:51:50 +01:00
Victor Berchet
fc300ecda1 [FrameworkBundle] Router class tweak 2012-11-10 17:18:12 +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
Fabien Potencier
6b54a51963 moved the Stopwatch classes to their own component 2012-11-09 10:08:25 +01:00
Fabien Potencier
380cf4f5ec [HttpKernel] added memory information in the Stopwatch 2012-11-09 07:36:10 +01:00
Włodzimierz Gajda
646a714ded Fix export-ignore on Windows 2012-11-08 10:51:48 +01:00
Fabien Potencier
224d6b7925 Merge branch '2.1'
* 2.1:
  [FrameworkBundle] Router skip defaults resolution for arrays

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Routing/Router.php
2012-11-07 07:48:28 +01:00
Antoine Hérault
208e134945 [FrameworkBundle] Router skip defaults resolution for arrays 2012-11-06 16:30:03 +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
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
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
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
Thomas Lallement
00d282324c Improve comments in ProfilerController 2012-10-28 07:05:50 +01: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
94f5f49894 merged branch bamarni/patch-10 (PR #5783)
This PR was merged into the 2.1 branch.

Commits
-------

3553276 [ConfigDumpReference] avoid notice for variable nodes

Discussion
----------

[ConfigDumpReference] avoid notice for variable nodes

When a variable node has an array as default value, a notice occurs later on because of an "array to string conversion", which is turned to an exception in debug mode (mandatory in order to run this command).
2012-10-24 17:35:37 +02:00
Christophe Coevoet
039bdfd7e7 [WebProfilerBundle] Fixed the use of nested macros
Closes #5800
2012-10-21 20:33:40 +02:00
Drak
788cc2c7ef Nsdocblocks 2012-10-20 09:10:30 +02:00
Bilal Amarni
3553276af2 [ConfigDumpReference] avoid notice for variable nodes 2012-10-19 15:53:01 +03: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
6b12fc0330 [TwigBundle] fixed unit tests 2012-10-17 15:58:03 +02:00
Fabien Potencier
3c65f6dee2 [TwigBundle] fixed unit tests 2012-10-17 15:22:39 +02:00
Bart van den Burg
34b60f7558 [FrameworkBundle] more verbose output about service tags in container:debug command and display all tag attributes as columns in normal container:debug output 2012-10-16 11:01:37 +02:00
Richard Miller
2a9805eec1 [FrameworkBundle] Adding a option to debug services by tag 2012-10-16 10:40:21 +02:00
Fabien Potencier
8731cc30ff [WebProfilerBundle] fixed macro usage (to be forward compatible with Twig 2.x) 2012-10-15 09:28:03 +02:00
Fabien Potencier
dc519847fe [FrameworkBundle] partially reverted previous merge 2012-10-14 11:21:53 +02:00
Fabien Potencier
98070d50af merged branch hason/return_code (PR #5586)
This PR was squashed before being merged into the 2.1 branch (closes #5586).

Commits
-------

6b66bc3 [2.1] Added missing error return codes in commands

Discussion
----------

[2.1] Added missing error return codes in commands

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

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

by fabpot at 2012-09-24T12:10:47Z

Exit code values are standardized and some values have some well-defined meaning. Have a look here for more info: https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Process/Process.php#L67
2012-10-14 11:21:26 +02:00
Martin Hasoň
6b66bc3226 [2.1] Added missing error return codes in commands 2012-10-14 11:21:26 +02:00
Fabien Potencier
eb176467e8 merged branch stof/twig_global (PR #5741)
This PR was merged into the master branch.

Commits
-------

b31ae34 [WebProfilerBundle] Remove the now unneeded BC var and fixed a typo
d07ce03 [TwigBundle] Moved the registration of the app global to the environment

Discussion
----------

[TwigBundle] Moved the registration of the app global to the environment

This makes the app global variable available also when accessing the Twig
environment directly instead of using the TwigEngine.
2012-10-14 11:19:55 +02:00
Fabien Potencier
875e0e2686 [WebProfilerBundle] fixed some tests 2012-10-13 20:51:02 +02:00
Fabien Potencier
56a159568b moved the traceable controller resolver from the framework bundle to the HttpKernel component (using composition now) 2012-10-13 20:49:27 +02:00
Fabien Potencier
95c4812d5c [WebProfilerBundle] fixed tests 2012-10-13 19:58:24 +02:00
Christophe Coevoet
b31ae34eb3 [WebProfilerBundle] Remove the now unneeded BC var and fixed a typo 2012-10-13 17:20:07 +02:00
Christophe Coevoet
d07ce03d6f [TwigBundle] Moved the registration of the app global to the environment
This makes the app global variable available also when accessing the Twig
environment directly instead of using the TwigEngine.
2012-10-13 17:19:49 +02:00
Fabien Potencier
289e71dbe9 [WebProfilerBundle] fixed typo 2012-10-13 16:00:17 +02:00
Fabien Potencier
a3b3c287cd [WebProfileBundle] remove dependency on the DIC
The controllers are not relying on the DIC anymore and only Twig
is used for rendering (instead of the Templating component).

The Exception controller has not been updated yet as it relies on many
external dependencies (and other bundles).
2012-10-13 15:57:41 +02:00
Fabien Potencier
dfc53b0c19 [WebProfilerBundle] removed dependency on the templating component 2012-10-13 12:53:34 +02:00
Fabien Potencier
c682f67df6 [HttpKernel] unified the way the traceable event dispatcher injects information into the profiler (closes #5733) 2012-10-13 12:32:02 +02:00
Fabien Potencier
ee7597576c [WebProfilerBundle] fixed typos 2012-10-13 12:22:02 +02:00
Fabien Potencier
267412f0d6 [WebProfilerBundle] avoid the usage of the global app variable 2012-10-13 12:02:09 +02:00
Fabien Potencier
c65632246d [WebProfilerBundle] changed all includes to use the new Twig's notation 2012-10-13 12:02:06 +02:00
Fabien Potencier
dbcd171dd3 [WebProfilerBundle] moved all static assets directly into the templates
This has been done for several reasons:

 * for consistency with the way we already manage the WDT icons;
 * it makes the WebProfiler independant from the location of the assets (and from the asset() function)
 * this is the very first step to make the WebProfiler useable outside the full-stack framework (more commits soon)

There is still one asset() call though, which will be removed later on.
2012-10-13 10:49:57 +02:00
Jonathan Ingram
74e2c5ef89 Fix incorrect inheritdoc blocks
Also add a docblock to stopwatch member variable.

Remove docblock from private member
2012-10-10 12:26:59 +11:00
Sebastiaan Stok
45349602e3 [Security] Added Pbkdf2PasswordEncoder
[Security] changed default iterations of Pbkdf2PasswordEncoder to 1000 instead of 5000

[Security] Improved description of PBKDF2 encoder

[SecurityBundle] added PBKDF2 PasswordEncoder

updated CHANGELOG.md

[Security] Use the build-in hash_pbkdf2() when available

[SecurityBundle] added information about hash_algorithm for configuration

[Security] always check algorithm and fixed CS
2012-10-08 11:17:32 +02:00
Fabien Potencier
5956f9f2b4 Merge branch '2.1'
* 2.1:
  fixed CS
  added doc comments
  added doc comments
  [Validator] Updated swedish translation
  Update src/Symfony/Component/Validator/Resources/translations/validators.de.xlf
  [2.1] Exclude tests from zips via gitattributes
  [HttpKernel][Translator] Fixed type-hints
  Updated lithuanian validation translation
  [DomCrawler] Allows using multiselect through Form::setValues().
  [Translation] forced the catalogue to be regenerated when a resource is added (closes symfony/Translation#1)
  Unit test for patched method OptionsResolver::validateOptionValues().
  validateOptionValues throw a notice if an allowed value is set and the corresponding option isn't.
  [Form] Hardened code of ViolationMapper against errors
  [HttpFoundation] Fixed #5611 - Request::splitHttpAcceptHeader incorrect result order.
  [Form] Fixed negative index access in PropertyPathBuilder
  Update src/Symfony/Component/Validator/Resources/translations/validators.ro.xlf

Conflicts:
	src/Symfony/Component/DomCrawler/Form.php
	src/Symfony/Component/Process/Process.php
2012-10-06 21:57:59 +02:00
Johannes M. Schmitt
0187a1ac94 adds two convenience methods for optional configuration sections 2012-10-06 14:13:41 +02:00
Fabien Potencier
6463c9919c merged branch docteurklein/fix-router-resolve-string (PR #4995)
This PR was merged into the master branch.

Commits
-------

4b86765 [FrameworkBundle] recursively resolve container parameter placeholders for arrays in router _defaults

Discussion
----------

[2.2] [FrameworkBundle] avoid trying to resolve container placeholders on arrays on router _defaults

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: ~

Permits to pass arrays in route `_defaults`.

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

by stof at 2012-07-20T13:07:36Z

This seems weird. An array could contain parameters in it.

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

by docteurklein at 2012-07-20T13:17:00Z

@stof An object too then, no ? Why accepting objects but not arrays ? Would you propose to recursively resolve array values ?

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

by stof at 2012-07-20T13:31:06Z

@docteurklein Resolving array values recursively would be consistent with the way the DIC parameters are resolved. I don't really see how you would resolve objects (and btw, it is pretty much an edge case as you cannot really put an object in your routes if you define them in your YAML or XML config files or with annotations)

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

by docteurklein at 2012-07-20T13:36:43Z

@stof I agree. I can manage recursive array resolving if needed.

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

by fabpot at 2012-07-23T13:58:07Z

Can you squash your commits before I merge? Thanks.

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

by docteurklein at 2012-07-23T14:39:17Z

@fabpot  done.
2012-10-05 19:11:53 +02:00
Igor Wiedler
462dddfac9 [2.1] Exclude tests from zips via gitattributes 2012-10-04 17:17:57 +02:00
Fabien Potencier
5c809d8ffb [TwigBundle] added support for Twig namespaced paths (Twig 1.10)
In a template, you can now use native Twig template names, instead of
the Symfony ones:

Before (still works):

    {% extends "AcmeDemoBundle::layout.html.twig" %}
    {% include "AcmeDemoBundle:Foo:bar.html.twig" %}

After:

    {% extends "@AcmeDemo/layout.html.twig" %}
    {% include "@AcmeDemo/Foo/bar.html.twig" %}

Using native template names is also faster.

The only drawback is that the new notation looks similar to the way we
locate resources in Symfony, which would be
@AcmeDemoBundle/Resources/views/Foo/bar.html.twig. We could have used
the same notation, but it is rather verbose (and by the way, using this
notation did not work anyway in templates).
2012-10-03 15:33:19 +02:00
Fabien Potencier
2a673d8626 Replaced ContainerAwareTraceableEventDispatcher with TraceableEventDispatcher
The ContainerAwareTraceableEventDispatcher class was tied to both the
Symfony container and the HttpKernel profiler. It made it non reusable
in another context.

The new TraceableEventDispatcher only keeps the HttpKernel profiler
integration and is able to wrap any other event dispatcher. It makes it
reusable in frameworks using the Symfony HttpKernel component like
Silex.

The only drawback is that we don't have access to the listener
priorities in the collected data anymore (but the listeners are still
ordered correctly). The change is still worth it I think.
2012-10-01 01:46:38 +02:00
Beau Simensen
8bc9f75642 Make secret not be required 2012-09-29 12:17:16 -07:00
Fabien Potencier
2c4ed86197 merged branch dlsniper/wpb-improvements (PR #5518)
This PR was squashed before being merged into the master branch (closes #5518).

Commits
-------

3303ca2 WPB and WDT improvements
be194cb Changed icons to be a bit more consistent
08241b8 Added minimize option to Web Profiler panels

Discussion
----------

[2.2][WebProfilerBundle] Added minimize option to Web Profiler panels

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: ~

I've added a minimize option to the profiler bundle so that you can have more space to work with on the panels.
You can view it in action here:http://sf2demo.rodb.ro/app_dev.php/

Feedback is welcomed!

Thanks!

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

by dlsniper at 2012-09-15T13:36:51Z

I could add a remember option via a cookie if you think this would help, I know I'd want one, but I'm not sure about the general opinion about this. Let me know if I should do it.

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

by stof at 2012-09-15T17:05:58Z

The profiler is totally broken when minimizing the menu in your demo.

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

by lennerd at 2012-09-15T17:10:54Z

I would not make it disappear completely. So I think a combination of Cookie and a small visual for open it again would be great to have.

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

by dlsniper at 2012-09-15T17:15:06Z

@stof I've only enabled a few panels to work in the demo, rest defaults to DB panel. If this is what you mean then it's not broken, it's designed to do so. I've tested the thing on Opera, FF and Chrome (on Linux) before uploading the demo/PR so I'm not sure what's broken. Can you please provide a screenshot?

@lennerd I could be doing something like only display it in the upper left corner and appear on mouse over as an overlay. Would that be better?

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

by stof at 2012-09-15T17:21:22Z

@dlsniper what I mean is that the text of the menu does not disappear. It simply goes over the panel itself as the menu becomes smaller. And this appears for all panels I tried.

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

by stof at 2012-09-15T17:22:32Z

hmm, sorry. It is a browser cache issue. It seems like your server was sending cache headers for the assets, and as I already looked at the demo previously (for your DoctrineBundle PR), it kept the old CSS

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

by dlsniper at 2012-09-15T17:25:09Z

@stof no problem, the server is configured a bit more on caching side in order to speed it up and save bandwidth ;)

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

by lennerd at 2012-09-15T17:38:41Z

@dlsniper I would use the close button changing to maybe an arrow in the bottom right. So it's more intuitive and you can simply show and hide it if you only want to take a quick look at a small detail behind it.

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

by henrikbjorn at 2012-09-15T18:08:02Z

What about making this the default, the icons are self explanatory already. The title would then be the "link" text instead.

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

by dlsniper at 2012-09-15T20:30:51Z

@henrikbjorn I wouldn't make this by default as new people might find it a bit confusing. Hence the suggestion to use the cookie to remember the preference.

---

Also I'm trying not to break the current format of the menu too much as hiding all that stuff by hand is pain but if I'm allowed to break the current way of displaying the left menu then this is going to be easy.

What I didn't understood so far is why is the toolbar displayed on the top as well since we have it on the left side already so I've remove it from my current changes (will be up soonish).

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

by dlsniper at 2012-09-15T21:10:03Z

@lennerd what exactly do you mean by 'I would use the close button' there's no close button on the profiler page, only on the toolbar.

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

by lennerd at 2012-09-15T21:21:20Z

That was the button I was talking about. So that there is a little close button at the bottom right for toggling the toolbar.

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

by dlsniper at 2012-09-15T23:14:06Z

I've changed the way the menu minimizes now, it hides in the top left corner and it maintains its state on refresh. I'll do something similar for the toolbar tomorrow.

You can view it on the same URL.

Please do leave feedback. Thanks!

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

by lennerd at 2012-09-16T01:02:27Z

Sorry. I misunderstand your PR.

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

by stof at 2012-09-16T03:01:06Z

@dlsniper The toolbar is displayed at the top because it gives a quick overview without having to go in each panel. So removing it is a bad idea IMO.

And hiding everything is a bad idea IMO. It means navigating is impossible, making it usable when minimizing it (and btw, this would make the cookie a non-sense as it would hide the menu for subsequent pages)

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

by fabpot at 2012-09-16T06:38:08Z

-1 for removing the toolbar at the top

I prefer the first version where you only hide the menu text but leave the icons. Keeping the state in a cookie is also a must (that cookie might be used to store some other states in the profiler too).

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

by Partugal at 2012-09-16T08:14:11Z

i'm not see first version but show icons without text is more useful.
imho minimize trigger should be always placed on top as it showns in minized state

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

by Partugal at 2012-09-16T08:24:49Z

http://s14.postimage.org/qkdcr8d4h/image.png

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

by dlsniper at 2012-09-16T09:06:50Z

@fabpot I've just had a look on how the timeline stores the selected value and it's using the local storage capabilities. Should I drop the cookie and use the local storage as well to have some sort of uniformity?
Also is there any reason why no generic JS library is used? I'm thinking now about jQuery mostly but any other should do just fine I think. I'm not saying that we should use a library when displaying the WDT as it might bump into issues with the frontend but for the rest of the profiler I guess it wouldn't be a problem to use a library, no?

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

by fabpot at 2012-09-16T09:15:37Z

Let's use the local storage for better consistency. I don't want to embed a JS library as we only need basic JS scripts.

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

by lennerd at 2012-09-16T10:29:20Z

@dlsniper Do we need the up and down arrows any longer?

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

by dlsniper at 2012-09-16T14:24:27Z

I've added a minimize mode to the toolbar but the 'design' isn't the best all around, I'll try to improve it in the future.
It also remembers the state of the toolbar so that you don't need to hide it every time.

@lennerd we don't need the up/down arrows for now, I've removed on the last commit. Thank you for the new icons ;)

L.E.
I've made some sort of rounded corner/gradient background in for the minimized toolbar

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

by dlsniper at 2012-09-18T22:02:35Z

@pborreli thanks for the idea regarding to auto-minimize on window resize, I'll implement it soon, I don't really have time right now to add the event handling part to Sfjs.

L. E.
I'm not going to implement the auto-resize as it proved not to be that useful given the fixed width of the panel. If it proves to be a requested thing then I'll improve it if no one else does it before me :)

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

by dlsniper at 2012-09-19T20:52:43Z

If there's nothing else left to be changed/improved/added, I'll lift the WIP tag of this PR so that it can be merged if you consider it.

@fabpot, if this gets its way to the repository, should I rebase this before merging so that it catches the next Symfony 2.1 release as it doesn't break anything? I don't mean the very next release which I've read that it would be done when Doctrine will release their new version but the version after that.

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

by fabpot at 2012-09-19T20:56:45Z

This is a new feature, so it can only be included in the master branch.

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

by dlsniper at 2012-09-23T12:27:41Z

As soon as this feature goes in master I'll start working on adding AJAX requests to the toolbar to make it even more useful.

Let me know if this change is good to merge or needs more work.

Thanks @stof for all the input and @lennerd for the icons.

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

by stof at 2012-09-23T13:40:38Z

Adding which ajax requests to the toolbar ?

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

by dlsniper at 2012-09-23T13:49:43Z

'Userland' AJAX requests, so that one could access the information from an AJAX request more straight forward
2012-09-28 21:16:51 +02:00
Florin Patan
310c2f98a9 [2.2][WebProfilerBundle] Added minimize option to Web Profiler panels 2012-09-28 21:16:50 +02:00
Fabien Potencier
0a3b012619 Merge branch '2.1'
* 2.1:
  Added Base64 encoding, decoding to MongoDBProfilerStorage
  Fix duplicated code and a field name
  refactor src/Symfony/Component/Translation/Loader/MoFileLoader.php
  fixed typo
  Update src/Symfony/Component/Validator/Resources/translations/validators.pl.xlf
  fixed issue #5596 (Broken DOM with the profiler's toolbar set in position top)
  [Form] Fixed the testsuite for PHPUnit 3.6 as travis still uses it
  added dirs generated by build-data.php in locale component to .gitignore
  [Process] Fixed bug introduced by 7bafc69f38.
  [Process][Tests] Prove process fail (Add more test case)
  [Process][Tests] Prove process fail
  [HttpFoundation] Fixed the tests
  [DomCrawler] Added test for supported encodings by mbstring
  [Config] Fixed preserving keys in associative arrays
  [Console] Fixed return value for Command::run
  [Locale] Fixed tests
  [Console] Fix some input tests
  [Filesystem] Fixed tests on Windows
  [Config] Fixed tests on Windows
2012-09-28 19:52:09 +02:00
Filippo Tessarotto
45bf52358e Optimize autoload prefix in composer.json
By having more specific autoload prefixes it is possible to reduce the
number of stat calls made. Also it prevents conflicts with similar
namespaces.
2012-09-28 09:34:16 +02:00
Fabien Potencier
f62fa8a79e fixed typo 2012-09-27 14:45:27 +02:00
Xavier Lacot
530bd225d2 fixed issue #5596 (Broken DOM with the profiler's toolbar set in position top) 2012-09-25 23:28:50 +02:00
Johannes M. Schmitt
6bafe5a635 moved some code to the component 2012-09-20 14:56:47 +02:00
Fabien Potencier
be331ca7f2 [FrameworkBundle] fixed functional tests 2012-09-19 06:19:30 +02:00
Fabien Potencier
05d8c4288c [FrameworkBundle] fixed the typehint for Kernel on the Client class (refs #4897) 2012-09-19 05:59:05 +02:00
Fabien Potencier
bf41d8b74a merged branch fabpot/profiler-tests (PR #4897)
Commits
-------

22e9036 updated CHANGELOG
bafe890 [FrameworkBundle] changed Client::enableProfiler() behavior to fail silently when the profiler is not available (it makes it easier to write functional tests)
f41872b [FrameworkBundle] added a way to enable the profiler for the very next request in functional tests (closes #4307)
67b91e5 [HttpKernel] added a way to enable a disable Profiler

Discussion
----------

[2.2] added a way to enable the profiler for the very next request in a functional test

Bug fix: yes/no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #4307
Todo: -
License of the code: MIT
Documentation PR: should be done before merging

After merging this PR, we need to disable the profiler in the test environment in Symfony SE.
2012-09-18 16:35:58 +02:00
Fabien Potencier
22e9036f8c updated CHANGELOG 2012-09-18 16:35:13 +02:00
Fabien Potencier
bafe89047f [FrameworkBundle] changed Client::enableProfiler() behavior to fail silently when the profiler is not available (it makes it easier to write functional tests) 2012-09-18 16:35:10 +02:00
Fabien Potencier
81206a2c92 Merge branch '2.1'
* 2.1:
  Create CONTRIBUTING.md file for auto-linking in PR's
  Added Bulgarian translation
  [Profiler]Use the abstract method to get client IP
  Typo fix
  Fixing incorrect word in twig:lint command description
  Rename $key parameter to $name for consistency
  =Minor chnage: replaced function by method
  Fixed the phpdoc in the DependencyInjection component
2012-09-17 22:42:23 +02:00
Richard Miller
2bcb6f2c9b Fixing incorrect word in twig:lint command description 2012-09-16 20:33:46 +01:00
Fabien Potencier
13937de2c8 replaced self.version/2.1.* by 2.2.* in composer.json files 2012-09-10 12:59:37 +02:00
Fabien Potencier
a9a0f420e2 merged 2.1 2012-09-10 12:54:04 +02:00
Fabien Potencier
3c32fd993d replaced self.version by 2.1.* in composer.json files 2012-09-10 12:53:42 +02:00
Fabien Potencier
4dc197c3e1 udpated composer.json to 2.2 2012-09-06 20:45:30 +02:00
DerManoMann
cf4189bdaf Move remember me ResponseListener from security bundle into security component
This move allows to implement the remember me feature in Silex without having to reference the security bundle.
2012-08-30 11:15:49 +12:00
Fabien Potencier
e080f5ae68 merged branch Tobion/redirectcontroller (PR #5368)
Commits
-------

3f8127c fixed '0' problem
7bec460 fixed phpdoc
4c5bfab [FrameworkBundle] non-permanent redirect should be status code 404 according to spec

Discussion
----------

[FrameworkBundle] non-permanent redirect to unknown location with 404

according to spec: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html see 410 Gone

bc break: tiny when omitting 2 parameter (I can avoid this with `func_num_args` but i think its not necessary and makes the code strange and inconsistent)
2012-08-29 12:24:19 +02:00
Tobias Schultze
3f8127ca1a fixed '0' problem 2012-08-29 01:07:28 +02:00
Tobias Schultze
7bec46036a fixed phpdoc 2012-08-29 01:04:20 +02:00
Fabien Potencier
a6bc12c9c1 Merge branch '2.0'
* 2.0:
  updated VERSION for 2.0.17
  updated CHANGELOG for 2.0.17
  updated vendors for 2.0.17
  fixed XML decoding attack vector through external entities
  prevents injection of malicious doc types
  disabled network access when loading XML documents
  refined previous commit
  prevents injection of malicious doc types
  standardized the way we handle XML errors
  Redirects are now absolute

Conflicts:
	CHANGELOG-2.0.md
	src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php
	src/Symfony/Component/DomCrawler/Crawler.php
	src/Symfony/Component/HttpKernel/Kernel.php
	tests/Symfony/Tests/Component/DependencyInjection/Loader/XmlFileLoaderTest.php
	tests/Symfony/Tests/Component/Routing/Loader/XmlFileLoaderTest.php
	tests/Symfony/Tests/Component/Serializer/Encoder/XmlEncoderTest.php
	tests/Symfony/Tests/Component/Translation/Loader/XliffFileLoaderTest.php
	tests/Symfony/Tests/Component/Validator/Mapping/Loader/XmlFileLoaderTest.php
	vendors.php
2012-08-28 09:54:42 +02:00
Thorsten Hallwas
352e8f583c Redirects are now absolute
According to w3c locations need to be absolute:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30
2012-08-28 08:40:05 +02:00
Tobias Schultze
4c5bfab058 [FrameworkBundle] non-permanent redirect should be status code 404 according to spec 2012-08-28 08:03:23 +02:00
Fabien Potencier
71732b1ec7 merged branch bdmu/ticket_5345 (PR #5346)
Commits
-------

85a53c1 [FrameworkBundle] fixed *FrameworkExtensionTest::testTranslator fail on Windows on master branch

Discussion
----------

[FrameworkBundle] fixed *FrameworkExtensionTest::testTranslator fail on Windows on master branch

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #5345
Todo: -
License of the code: MIT
Documentation PR:
fixed using some
str_replace('/', DIRECTORY_SEPARATOR, <value>)
so it works on Windows because it replaces the / in \ and shouldn't affect linux based OS, since it will replace / with /.

Not very nice, but it works, if anyone wants to do better, he/she is most welcome.
2012-08-26 11:11:06 +02:00
Christophe L
85a53c1ec9 [FrameworkBundle] fixed *FrameworkExtensionTest::testTranslator fail on Windows on master branch 2012-08-26 00:54:18 +04:00
Fabien Potencier
d1be451996 merged branch willdurand/fix-composer-components (PR #5318)
Commits
-------

933e821 Add minimum-stability (dev) in each component

Discussion
----------

Add minimum-stability (dev) in each component

This fixes the ability to run the test suite in each component if a `composer install` is needed.

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

by stof at 2012-08-22T13:57:14Z

If you really want to run the testsuite standalone, some dev requirements are missing (SecurityBundle needs the FrameworkBundle for its functional tests for instance). If you have some time to check the missing dev requirement, it would be great.
Anyway, 👍 for this

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

by willdurand at 2012-08-22T13:59:15Z

Yes I already did that once. I'll try to fix more components later.

On Wed, Aug 22, 2012 at 3:57 PM, Christophe Coevoet <
notifications@github.com> wrote:

> If you really want to run the testsuite standalone, some dev requirements
> are missing (SecurityBundle needs the FrameworkBundle for its functional
> tests for instance). If you have some time to check the missing dev
> requirement, it would be great.
> Anyway, [image: 👍] for this
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/symfony/symfony/pull/5318#issuecomment-7934886>.
>
>

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

by stof at 2012-08-22T14:02:23Z

Well, I think most components should be good now (as some work has been done on them). But the bridges and bundles may need some work (bundles were not having any dev requirements until yesterday when @guilhermeblanco added some on FrameworkBundle)

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

by pborreli at 2012-08-22T14:14:00Z

what about having for each READ-ONLY repo his own .travis.yml and travisci hook activated ?

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

by fabpot at 2012-08-22T14:30:13Z

please, don't add more travis files. The main already tests everything, and that's all we need.

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

by stof at 2012-08-22T14:33:46Z

@pborreli tests should not be different for subtree split repos as the code is the same and the tests are the same (except that more tests could be skipped because of missing deps).
Note that for the bundles, it is likely to be different currently as I think some skip tests are missing (just like dev requirements are). But fixing this does not require enablign travis.

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

by pborreli at 2012-08-22T14:42:30Z

ok, i was just thinking about a way to be sure each component is usable individually but yeah that would require to relaunch each tests and add a bunch of travis files + hook

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

by hason at 2012-08-24T13:12:04Z

@stof, @eriksencosta, @fabpot: Tests are different for Locale component, see #5235

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

by stof at 2012-08-24T13:35:07Z

@hason no. You also need to do it when running the tests of the Locale component as part of the full run.
2012-08-25 19:03:43 +02:00
Shin
472dfdc46a oops, the command with name, too 2012-08-24 23:41:40 +09:00
Shin
b1a9587ea7 fixed bug related to the change PR #5326 2012-08-24 23:33:39 +09:00
William DURAND
933e821496 Add minimum-stability (dev) in each component 2012-08-22 15:48:41 +02:00
Guilherme Blanco
595a9744d5 Update src/Symfony/Bundle/FrameworkBundle/composer.json 2012-08-21 13:47:47 -03:00
Fabien Potencier
1f37191938 merged branch Marmelatze/var_dump (PR #5291)
Commits
-------

9c20634 fixes pre for var_dump with xdebug

Discussion
----------

Displaying var_dump with xdebug in exceptions

When debugging code I often use `var_dump` to quickly look into variables. Since 2.1 alle output generated by `var_dump` is displayed in one line. http://screencast.com/t/11LuIlIdHsvP
It seems to be no problem for small objects, but it becomes a real pain when displaying huge arrays or objects.

This is caused by the changed word-wrapping for the pre tag introduced in #3827

With fix: http://screencast.com/t/GdA3dkpWxU

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

by dlsniper at 2012-08-17T17:22:38Z

👍
2012-08-18 10:25:33 +02:00
Florian Pfitzer
9c20634297 fixes pre for var_dump with xdebug 2012-08-17 18:39:39 +02:00
Drak
8e11aaa2f2 [FrameworkBundle] Allow to set null for the handler in NativeSessionStorage 2012-08-17 17:38:35 +01:00
Fabien Potencier
826f5122e9 Revert "merged branch guilhermeblanco/patch-6 (PR #4456)"
This reverts commit 6c527b6282, reversing
changes made to 223d187abc.
2012-08-14 19:34:30 +02:00
Grayson Koonce
b7caf374bf Adding more specific debug bar reset CSS.
This prevents frameworks like Foundation from getting past the reset.

Fixes #5250
2012-08-13 12:02:28 -07:00
Fabien Potencier
842b599c50 merged branch lsmith77/bundle_inheritance_in_config_dump_reference (PR #5126)
Commits
-------

cdfbe72 handle inheritance in config:dump-reference when a bundle name is passed to the command

Discussion
----------

handle inheritance in config:dump-reference

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

Currently when passing in a bundle name that identifies a bundle that is a parent to another bundle, it will not return the reference for the requested bundle, but for the inheriting (even if that bundle has no configuration class).

F.e.
app/console config:dump-reference SymfonyCmfBlockBundle

will fail if there is a Bundle SandboxBlockBundle that has SymfonyCmfBlockBundle set as the parent.
2012-08-06 16:48:36 +02:00
Fabien Potencier
c5346610f3 Merge branch '2.0'
* 2.0:
  Fixes incorrect class used in src/Symfony/Bundle/FrameworkBundle/Console/Application.php
  [FrameworkBundle] added test for fix broken command registration
  corrected phpdoc
2012-08-03 14:44:30 +02:00
smokeybear87
55a0b347a0 Fixes incorrect class used in src/Symfony/Bundle/FrameworkBundle/Console/Application.php
Issue must be related to commit 7a5f614240 (merged 2.0), specifically this file src/Symfony/Bundle/FrameworkBundle/Console/Application.php, lines 86-88. 

Presumably to do "instanceof Bundle" correct class has to be imported at the top of the file:

instead of 
use Symfony\Component\HttpKernel\Bundle;

this should be
use Symfony\Component\HttpKernel\Bundle\Bundle;
Conflicts:

	src/Symfony/Bundle/FrameworkBundle/Console/Application.php
2012-08-03 13:33:57 +02:00
Bart van den Burg
79c547f09c [FrameworkBundle] added test for fix broken command registration 2012-08-03 13:33:31 +02:00
Fabien Potencier
7a5f614240 merged 2.0 2012-08-03 11:11:11 +02:00
Fabien Potencier
13c60bdeaf merged branch henrikbjorn/2.0 (PR #5137)
Commits
-------

0b78fdf Only call registerCommand on bundles that is an instance of Bundle

Discussion
----------

Only call registerCommand on bundles that is an instance of Bundle

Fixes GH-5133

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

by travisbot at 2012-08-01T09:41:05Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/2008252) (merged 0b78fdff into 1da896dc).

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

by henrikbjorn at 2012-08-01T10:05:00Z

Build failed because of HTTP request error.

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

by lsmith77 at 2012-08-01T11:31:08Z

wondering if it would be good if you could include the commit from #5133 in this PR .. then we get the test and the fix at once.
2012-08-03 10:19:10 +02:00
Henrik Bjørnskov
0b78fdffa4 Only call registerCommand on bundles that is an instance of Bundle
Fixes GH-5133
2012-08-01 11:35:03 +02:00
Josiah Truasheim
30bcb57286 Added a test case to demonstrate the fatal error occuring when a Bundle implementing BundleInterface only is registered in the kernel. 2012-08-01 09:25:05 +07:00
Fabien Potencier
ee2b8c474e merged branch bschussek/bootstrap (PR #5112)
Commits
-------

b982883 [Form] Moved FormHelper back to FrameworkBundle
cb62d05 [Form] [Validator] Fixed issues mentioned in the PR
2185ca8 [Validator] Added entry point "Validation" for more convenient usage outside of Symfony2
ed87361 [Form] Moved FormHelper creation to TemplatingExtension
87ccb6a [Form] Added entry point "Forms" for more convenient usage outside of Symfony

Discussion
----------

[Form] [Validator] Added more convenient entry points for stand-alone usage

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

This PR greatly simplifies the usage of the Form and Validator component when used outside of Symfony2. Check out the below code to get an idea about the simplified usage:

```php
<?php

use Symfony\Component\Validator\Validation;
use Symfony\Component\Validator\Mapping\Cache\ApcCache;
use Symfony\Component\Form\Forms;
use Symfony\Component\Form\Extension\HttpFoundation\HttpFoundationExtension;
use Symfony\Component\Form\Extension\Csrf\CsrfExtension;
use Symfony\Component\Form\Extension\Csrf\CsrfProvider\SessionCsrfProvider;
use Symfony\Component\Form\Extension\Templating\TemplatingExtension;
use Symfony\Component\Form\Extension\Validator\ValidatorExtension;
use Symfony\Component\HttpFoundation\Session;
use Symfony\Component\Templating\PhpEngine;

$session = new Session();
$secret = 'V8a5Z97e...';
$csrfProvider = new SessionCsrfProvider($session, $secret);
$engine = new PhpEngine(/* ... snap ... */);

$validator = Validation::createValidator();
// or
$validator = Validation::createValidatorBuilder()
    ->addXmlMapping('path/to/mapping.xml')
    ->addYamlMapping('path/to/mapping.yml')
    ->addMethodMapping('loadValidatorMetadata')
    ->enableAnnotationMapping()
    ->setMetadataCache(new ApcCache())
    ->getValidator();

$formFactory = Forms::createFormFactory();
// or
$formFactory = Forms::createFormFactoryBuilder()
    // custom types, if you're too lazy to create an extension :)
    ->addType(new PersonType())
    ->addType(new PhoneNumberType())
    ->addTypeExtension(new FormTypeHelpTextExtension())
    // desired extensions (CoreExtension is loaded by default)
    ->addExtension(new HttpFoundationExtension())
    ->addExtension(new CsrfExtension($csrfProvider))
    ->addExtension(new TemplatingExtension($engine, $csrfProvider, array(
        'FormBundle:Form'
    ))
    ->addExtension(new ValidatorExtension($validator))
    ->getFormFactory();

$form = $formFactory->createBuilder()
    ->add('firstName', 'text')
    ->add('lastName', 'text')
    ->add('age', 'integer')
    ->add('gender', 'choice', array(
        'choices' => array('m' => 'Male', 'f' => 'Female'),
    ))
    ->getForm();

if (isset($_POST[$form->getName()])) {
    $form->bind($_POST[$form->getName()]);

    if ($form->isValid()) {
        // do stuff
    }
}

return $engine->render('AcmeHelloBundle:Hello:index.html.php', array(
    'form' => $form->createView(),
));
```

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

by bschussek at 2012-07-30T10:08:42Z

I should maybe add a comment about the benefits of this change, in case they are not self-explanatory:

* class construction with default configuration is now a one-liner
* userland code is decoupled from core implementations → userland code doesn't break if we change constructor signatures
* easier to understand, since many core classes are now created internally
* easy to discover the possible settings → just look at (FormFactory|Validator)BuilderInterface
* usage of custom interface implementations is supported, just like before

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

by fabpot at 2012-07-31T08:18:53Z

The new syntax is great.

I have one comment though about this PR about support of PHP as a templating system (support for Twig is provided by the bridge and it was already easy to configure Twig as a templating system for forms -- see Silex for instance).

The `FormHelper` has been moved into the Form component. This helper is only useful when using the PHP templating system (which is not what we recommend people to use), but the default templates are still in the Framework bundle. So using the Form component as standalone with PHP as a templating system still requires to install the bundle to get access to the default templates. Am I missing something? Do we want to move the PHP templates to the Form component too?

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

by stof at 2012-07-31T08:28:28Z

@fabpot it is even worse than that: the FormHelper currently uses the theme by using ``$theme . ':' . $block . '.html.php`` IIRC. This is not compatible with the default template name parser of the component expecting a path. And the FrameworkBundle template name parser does not support accessing a template outside a bundle AFAIK.
So moving the templating to the component would require some refactoring in the FormHelper and the template name parser. However, I think it is worth it. Some people complained that using the form rendering (outside the full-stack framework) was requiring either setting up Twig with the bridge, or adding FrameworkBundle in the project (which means including most of the code of the full-stack framework). Having the Templating rendering in the standalone component could be a great idea

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

by fabpot at 2012-07-31T08:42:53Z

But then, I don't want to promote the Templating component or the PHP templating system. Twig is always a better alternative and this should be what people use most of the time, PHP being the rare exception.

Anyway, we are too close from the first 2.1 RC, so any big refactoring will have to wait for 2.2.

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

by stof at 2012-07-31T09:02:10Z

then maybe we should keep the FormHelper in FrameworkBundle for now as it is tied to the FrameworkBundle template name parser anyway currently.

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

by bschussek at 2012-07-31T14:22:35Z

> it it is even worse than that: the FormHelper currently uses the theme by using ``$theme . ':' . $block . '.html.php`` IIRC. This is not compatible with the default template name parser of the component expecting a path.

This is why the templates are still in FrameworkBundle. I think they should be moved too, but then we have to change

* the default theme to an absolute file path
* the FrameworkBundle name parser to accept absolute paths

I think this can wait until 2.2. Baby steps.

> I don't want to promote the Templating component or the PHP templating system.

We can both promote Twig while making Templating as easy to use as possible. If people want to use Templating, they probably have a reason. We don't have to make their lives more painful than necessary.

Btw: Templating is a *lot* faster for rendering forms than Twig. On Denis' form, Templating takes 1.15 seconds while Twig takes 2.

About moving the helpers, we have two choices:

* Move each helper to the respective component. This would not require new releases of the Templating component when we add more helpers in other component.

* Move all helpers to Templating. This does not make that much sense for Form, as then Form has support for Templating (TemplatingRendererEngine) and Templating has support for Form (FormHelper), which is a bit weird. I personally prefer a stacked architecture, where Templating is at the bottom and Form-agnostic, and Form (or any other component) builds upon that.

I'm fine with both approaches. I'll move FormHelper back to FrameworkBundle, and we can decide for a direction in 2.2.

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

by bschussek at 2012-07-31T14:36:30Z

Done.
2012-07-31 16:38:15 +02:00
Bernhard Schussek
b982883a85 [Form] Moved FormHelper back to FrameworkBundle 2012-07-31 16:35:46 +02:00
Fabien Potencier
4b521985f1 merged branch vicb/lenient_generator (PR #5114)
Commits
-------

03bbaaf [Routing] Add an interface for configuring strict_parameters

Discussion
----------

[RFC][Routing] Add an interface for configuring strict_parameters

This is a proposal to fix #4697 (related to #4592).

The main point left to discuss was the name of the interface, which is now `LenientInterface`. We could change the name to anything else is someone has a better idea.

@stof @Tobion what do you think ?

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

by stof at 2012-07-30T16:34:20Z

@vicb I already said I had no idea to name it, and it has not changed. :)
So let's wait for other people to see if they have a better idea

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

by breerly at 2012-07-30T16:38:38Z

Maybe `PermissibleInterface` or `PermissiveInterface`.

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

by Partugal at 2012-07-30T17:00:09Z

`StrictUrlGeneratorInterface`, `StrictParametersInterface` or `StrictInterface`

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

by pborreli at 2012-07-30T17:04:46Z

👍 for `PermissiveInterface`

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

by stof at 2012-07-30T17:07:59Z

yes, because the Router currently can only use this interface to set it to ``not-strict``. It assumes that the url generator is already strict by default (which is probably a bad assumption btw as the base class for the generated generator can be changed)

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

by pborreli at 2012-07-30T17:09:33Z

@stof thx, got it

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

by Partugal at 2012-07-30T17:10:03Z

this interface realize setting Strict by setStrictParameters, and get by getStrictParameters, and imho named it by `Strictable` is more logic

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

by pborreli at 2012-07-30T17:11:07Z

@Partugal let's try to find an english term :)

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

by Partugal at 2012-07-30T17:11:31Z

)

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

by breerly at 2012-07-30T17:15:23Z

@Partugal I like using "able" in interface names because it describes a behavior instead of a noun. This type of naming makes following the Interface Segregation Principle easy to follow. Good work.

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

by vicb at 2012-07-30T18:24:26Z

As explained by @stof I did not consider `StrictInterface` because as of now the interface is used to disabled the strict bevahior (which is enabled by default).

I am not satisfied with `PermissiveInterface` / `LenientInterface` because implementing this interface does not mean that the generator will be permissive but only that the behavior is configurable - yes I did consider `Configurable` but the term is a too vague.

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

by breerly at 2012-07-30T18:35:45Z

I see. Perhaps ```StrictConfigurableInterface``` would do the trick.

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

by Tobion at 2012-07-30T21:02:21Z

I think renaming strict_parameters to `strict_requirements` is the way to go because it determines how requirements are handled when generating a URL. Also we should allow another option:
strict_requirements = true: throw exception for mismatching requirements
strict_requirements = null: return null as URL for mismatching requirements and log it.
strict_requirements = false: return the URL with the given parameters without checking the requirements and don't log it.
(Maybe use constants for these).
The Interface I would then call `ConfigurableRequirementsInterface` or `RequirementsHandlingInterface`.

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

by vicb at 2012-07-31T07:23:24Z

Thanks all for the feeback, this is what is now implemented:

- A `ConfigurableRequirementsInterface` that should be implemented by generators that can be configure not to throw an exception when the parameters do not match the requirements,
- The interface has two methods: `setStrictRequirements()` and `isStrictRequirements()`,
- `setStrictRequirements()` always gets called to configure the generator (whatever the option value is)

Note: The Router option name has not changed (i.e. `strict_parameters`)

Does that fit everyone ?

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

by vicb at 2012-07-31T07:39:22Z

So the option name is now consistent (`strict_requirements`) with the interface. We should sync the change [in the standard edition](https://github.com/symfony/symfony-standard/blob/master/app/config/config.yml#L11) if we agree to merge this.

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

by fabpot at 2012-07-31T07:51:47Z

@vicb you forgot to rename the property in `UrlGenerator` as @stof mentioned above.

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

by vicb at 2012-07-31T07:59:57Z

@fabpot fixed. If the code is ok, I'll squash the commits and open a PR on symfony-standard
2012-07-31 16:16:14 +02:00
Victor Berchet
03bbaaf325 [Routing] Add an interface for configuring strict_parameters 2012-07-31 16:14:37 +02:00
lsmith77
cdfbe72be4 handle inheritance in config:dump-reference when a bundle name is passed to the command 2012-07-31 15:20:04 +02:00
Bilal Amarni
f84f5fd6b5 fixed typo 2012-07-31 16:07:47 +03:00
Bernhard Schussek
87ccb6adb9 [Form] Added entry point "Forms" for more convenient usage outside of Symfony 2012-07-30 11:41:38 +02:00
Bernhard Schussek
8070e6997e [Form] Fixed ResolvedFormType to really be replaceable 2012-07-29 19:13:45 +02:00
Bernhard Schussek
173b929219 [Form] Completely decoupled CoreExtension from HttpFoundation 2012-07-29 16:18:04 +02:00
Pascal Borreli
6ac8e7308d Fixed typos 2012-07-28 22:02:29 +00:00
Pascal Borreli
4c726ea64c Fixed Phpdoc 2012-07-28 16:07:17 +00:00
Yaroslav Kiliba
f402a1643c [FrameworkBundle] AssetsInstallCommand. Made 'web' as a default folder. 2012-07-27 18:49:52 +03:00
marc.weistroff
d30943c2e8 [FrameworkBundle] Switched to parameters for request context host and scheme 2012-07-26 11:12:14 +02:00
Bernhard Schussek
fb002d89ea [Form] Fixed variable passing from outer to inner blocks of the same FormView instance 2012-07-25 13:20:23 +02:00
Klein Florian
4b867654c6 [FrameworkBundle] recursively resolve container parameter placeholders
for arrays in router _defaults
2012-07-23 16:44:28 +02:00
Fabien Potencier
76c1e26272 moved deps in recommend to suggest 2012-07-23 16:23:01 +02:00
Bilal Amarni
91415b1371 removed unneeded class to compile 2012-07-23 12:27:23 +03:00
Fabien Potencier
4bafd1d788 [FrameworkBundle] removed temporary XDebug hack as the nesting issue has been resolved now 2012-07-22 10:02:56 +02:00
Bernhard Schussek
dc3a680cd3 [Form] Improved FormRenderer API to reduce the size of the function call stack during rendering 2012-07-22 09:29:35 +02:00
Bernhard Schussek
921681658c [Form] Turned Twig filters into tests 2012-07-21 17:26:50 +02:00
Bernhard Schussek
5984b18a7a [Form] Precalculated the closure for deciding whether a choice is selected (PHP +30ms, Twig +30ms) 2012-07-21 12:56:50 +02:00
Bernhard Schussek
5dc3c39fd2 [Form] Moved the access to templating helpers out of the choice loop for performance reasons (PHP +100ms) 2012-07-21 12:56:50 +02:00
Bernhard Schussek
0ef9acb479 [Form] Moved the method isChoiceSelected() to the ChoiceView class (PHP +150ms) 2012-07-21 12:56:50 +02:00
Bernhard Schussek
8b72766473 [Form] Tweaked the generation of option tags for performance (PHP +200ms, Twig +50ms) 2012-07-21 12:56:50 +02:00
Bernhard Schussek
400c95bb4d [Form] Replace methods in ChoiceView by public properties (PHP +100ms, Twig +400ms) 2012-07-21 12:56:11 +02:00
Bernhard Schussek
d072f35ea0 [Form] The properties of FormView are now accessed directly in order to increase performance (PHP +200ms, Twig +150ms) 2012-07-21 12:56:11 +02:00
Fabien Potencier
b201812927 merged branch Fran6co/fix-security-handlers (PR #4985)
Commits
-------

39157a8 [Security] fixes multiple overlapping definitions of DefaultFailureHandler and DefaultSuccessHandler in AbstractFactory

Discussion
----------

[Security] fixes multiple overlapping definitions of DefaultFailureHandler and DefaultSuccessHandler in AbstractFactory

If more than one listener extends AbstractFactory, you'll have multiple calls to createAuthenticationFailureHandler and createAuthenticationSuccessHandler with the same id.

Implicitly it's going to use the one generated by the last factory generating unexpected behavior.

This is related to commits 915704c071 and c6aa392df7
2012-07-20 07:15:13 +02:00
Francisco Facioni
39157a852d [Security] fixes multiple overlapping definitions of DefaultFailureHandler and DefaultSuccessHandler in AbstractFactory 2012-07-19 19:25:03 -03:00
Pascal Borreli
3bb975c153 [WebProfilerBundle] Fixed white pixel in toolbar info 2012-07-18 19:29:43 +02:00
Fabien Potencier
4ce724936a moved the request data collector to HttpKernel 2012-07-18 10:39:53 +02:00
Fabien Potencier
f6815be7f2 [FrameworkBundle] raised the max nesting level for XDebug for tests to pass 2012-07-18 10:19:41 +02:00
Fabien Potencier
1570db9646 merged branch bschussek/performance (PR #4918)
Commits
-------

1474aa5 [Form] Fixed consideration of Twig's template inheritance and added another performance-improving check
b4ec7f5 Fixed my rubbish English
d11f8b5 [Form] Fixed passing of variables in the FormRenderer
629093e [Form] Extracted common parts of FormHelper and FormExtension into separate classes
216c539 [Form] Implemented a more intelligent caching strategy in FormHelper (PHP +100ms, Twig +100ms)

Discussion
----------

[Form] Merged FormHelper and FormExtension and implemented a better caching strategy

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

This PR extracts common parts of `FormHelper` and `FormExtension` into implementations of the new interfaces `FormRendererInterface` and `FormRendererEngineInterface`. The implemented `AbstractRendererEngine` features a more intelligent caching strategy than the one used before. When this strategy was implemented directly in `FormHelper`, the performance of [this specific, heavy form](http://advancedform.gpserver.dk/app_dev.php/taxclasses/1) could be improved from **2.5** to **2.25 seconds** on my machine for PHP templates.

Due to the abstraction and delegation, the performance gain is not that big anymore, but we still have a performance gain of about **0.1 seconds** for both PHP and Twig in the above example. The second, big improvement of this PR is maintainability - the differences between PHP and Twig templates are now contained in relatively small classes - and extendability (it is very easy now to support different template engines).

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

by stof at 2012-07-14T13:47:19Z

should a similar refactoring be done for the [Twig rendering](https://github.com/symfony/symfony/blob/master/src/Symfony/Bridge/Twig/Extension/FormExtension.php) ?

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

by bschussek at 2012-07-14T13:49:25Z

Yes. I would like to merge the common parts of Twig's FormExtension and PHP's FormHelper into an abstract class. Before that I need to have a [working, heavy Twig Form](https://twitter.com/webmozart/status/224135287377371138) in order to measure whether I don't actually decrease the performance with Twig. Can you help me there?

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

by vicb at 2012-07-16T21:48:24Z

Would it make sense to create a 'renderer' folder in the form component and move related classes there ?

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

by stof at 2012-07-16T22:06:58Z

@vicb It makes sense to keep the Twig renderer in the brisge. This is what the bridge is about. Moving the Twig class to the component would not be consistent. And the PHP renderer is already in the component (but it could make sense to move the helper from FrameworkBundle to the TemplatingExtension of the Form component though)

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

by vicb at 2012-07-16T22:16:50Z

@stof I was only referring to the classes located in the Component/Form folder.

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

by vicb at 2012-07-16T22:27:27Z

Overall I don't really know what to think of this PR. PHP and Twig use a different way to support blocks:

- PHP has one block per file,
- Twig could have many blocks per templates.

I am not sure if this PR is optimal for Twig and improves maintainability ?

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

by stof at 2012-07-16T22:46:11Z

@vicb it avoids duplicating the whole rendering logic for each engine (there is at least a third one in [SmartyBundle](https://github.com/noiselabs/SmartyBundle/blob/master/Extension/FormExtension.php) btw)

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

by bschussek at 2012-07-17T07:16:42Z

@vicb I don't think a renderer subfolder makes sense. The interfaces belong to the main namespace, and then the subfolder would only contain two classes.

Considering maintainability for Twig, I think that this PR in fact increases it. TwigExtension before always had to check the whole type hierarchy, while now the code in AbstractRendererEngine makes sure that this process is speeded up.

Before:
```
load _some_entity_field_label:
    - check _some_entity_field_label
    - check entity_label
    - check choice_label
    - check form_label

load _some_other_entity_field_label
    - check _some_other_entity_field_label
    - check entity_label
    - check choice_label
    - check form_label

a.s.o.
```

After:
```
load _some_entity_field_label:
    - check _some_entity_field_label
    - check entity_label (hits the cache if entity_label was checked before)
    - check choice_label (hits the cache if choice_label was checked before)
    - check form_label

load _some_other_entity_field_label
    - check _some_other_entity_field_label
    - check entity_label (now definitely hits the cache)

a.s.o.
```

Since many fields share the same ancestors in the inheritance tree, this definitely improves performance.

As can also be deducted here, custom block names such as `_some_entity_field_label` are now a major drawback. There is nothing we can cache for them, so they need to be checked for every individual block that we load. Removing this feature surprisingly gains no performance for Twig (I need to investigate why at some point), but it speeds up rendering for **250ms** using the PHP engine on [this example form](advancedform.gpserver.dk/app_dev.php/taxclasses/1), dropping the rendering time from 1.25 to 1 sec on my local machine. I'm not sure what we should do here.

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

by stof at 2012-07-17T07:21:31Z

@bschussek could it be possible to have an implementation checking the custom block and another one skipping it ? This way, the user could disable this feature when he does not need it.

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

by bschussek at 2012-07-17T07:38:34Z

@stof It would be possible to add a switch to `FormRenderer` that controls whether custom blocks are checked or not.

If this switch is disabled by default, we break BC. If this switch is enabled by default, it will be pretty useless. People will start designing away for custom blocks, and once they want to improve performance, they can't turn off the switch anymore because it would require too many changes.

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

by stof at 2012-07-17T08:08:38Z

@fabpot what do you think about it ?

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

by bschussek at 2012-07-17T08:41:43Z

Another option that just came to mind is to remove inheritance checks for anything but _widget and _row. I.e., if we render `entity_widget`, check
```
_id_widget
entity_widget
choice_widget
form_widget
```
But if we render `entity_label`, only check
```
_id_label
form_label
```

This improves PHP Templating for **170ms** and Twig for **20ms**. We gain another **150ms** for PHP Templating and **~15ms** for Twig if we also restrict custom fields (_id_widget) to the _widget and _row suffixes (it's really hard to tweak the renderer for Twig.. I think a lot of its performance bottlenecks lie in Twig itself).

Do you have any data on how often blocks other than _widget and _row are customized for specific types/IDs?

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

by stof at 2012-07-17T09:47:38Z

Well, I think most of the time other blocks are not even customized based on the type :)

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

by Tobion at 2012-07-17T14:32:39Z

From my experience rendering the form components individually is easier and more flexible than customizing by ID or type.
But there are still use cases for customizing like library-like bundles (e.g. Bootstrap).
2012-07-18 08:33:15 +02:00
Jonathan Ingram
764b1dea62 [FrameworkBundle] minor typo in controller action docblock 2012-07-17 15:02:05 +10:00
Bernhard Schussek
629093ed25 [Form] Extracted common parts of FormHelper and FormExtension into separate classes 2012-07-16 21:39:27 +02:00
Bernhard Schussek
216c539e41 [Form] Implemented a more intelligent caching strategy in FormHelper (PHP +100ms, Twig +100ms) 2012-07-16 18:04:36 +02:00
Fabien Potencier
c4b5d6d7fe simplified code 2012-07-15 20:06:17 +02:00
Fabien Potencier
91da592c7c fixed typo (thanks @stof) 2012-07-15 20:03:01 +02:00
Fabien Potencier
8c32a8e936 fixed guessRoute() 2012-07-15 19:49:08 +02:00
Fabien Potencier
8f82e07429 made RequestDataCollector from HttpKernel and FrameworkBundle compatible 2012-07-15 19:07:14 +02:00
Fabien Potencier
dd8a401e68 made the Kernel dep optional in ConfigDataCollector 2012-07-15 19:03:03 +02:00
Fabien Potencier
0875124fee moved the router data collector to HttpKernel 2012-07-15 18:35:25 +02:00
Jordan Alliot
e43a5c7b0d [Security] Changed logger channel for default auth failure handler 2012-07-15 18:55:17 +03:00
Fabien Potencier
b255db5ca0 [WebProfilerBundle] made WebDebugToolbarListener implement EventSubscriberInterface 2012-07-15 15:41:19 +02:00
Fabien Potencier
2644f1c2f5 [WebProfilerBundle] removed remaining request retrieval from the container 2012-07-15 14:45:43 +02:00
Fabien Potencier
cd24e6ea8f Revert "raised the minimum version of PHP to 5.3.4 (closes #3856)"
This reverts commit 2dcc44897e.
2012-07-15 12:13:51 +02:00
Fabien Potencier
80840fcd69 merged branch asm89/default-logout-success-handler (PR #4921)
Commits
-------

df2406f [Security] Add note to changelog about BC break
01b2e39 [Security] Extract default logout success handling logic

Discussion
----------

[Security] Extract default logout success handling logic

Bug fix: no
Feature addition: no
Backwards compatibility break: yes, small one for people using the component
Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/asm89/symfony.png?branch=default-logout-success-handler)](http://travis-ci.org/asm89/symfony)
License of the code: MIT

As discussed earlier with @fabpot and @schmittjoh. This PR extracts the default logout success handling logic to a separate class that users can extend.

Note: build status is red, but that is because of a failing performance test in the form component? ..
2012-07-15 10:12:14 +02:00
Drak
5ae0da015d Update changelogs 2012-07-14 22:43:03 +01:00
Drak
ff91b9aed0 [FrameworkBundle] Make FlashBag the default.
This makes the full stack framework ESI compatible.
2012-07-14 18:24:10 +01:00
Alexander
01b2e3946c [Security] Extract default logout success handling logic 2012-07-14 16:07:08 +02:00
Jordan Alliot
1764574198 [TwigBundle] Improved logs display on exception page 2012-07-14 13:58:32 +02:00
Bernhard Schussek
69e5e58629 [Form] Individual rows of CollectionType cannot be styled anymore for performance reasons 2012-07-14 12:10:29 +02:00
Fabien Potencier
4b2230da93 [WebProfilerBundle] injected Request object into the controller instead of getting it from the container 2012-07-14 10:09:51 +02:00
Jordan Alliot
77b434996e [WebProfiler] Improved logger panel 2012-07-13 22:51:18 +02:00
Fabien Potencier
b0d7d9e406 merged branch zachbadgett/frameworkbundle-session-file-handler-fix (PR #4901)
Commits
-------

23d8735 Added NativeFileSessionHandler to classes to compile .
12d6ae7 Removed FileSessionHandler from FrameworkExtension to stop compiling a file that does not exist.

Discussion
----------

[FrameworkBundle] Removed FileSessionHandler from FrameworkExtension to stop compiling a file that does not exist.

PR #4899 removed FileSessionHandler which caused a class not found error from FrameworkBundle after the cache was created. This PR will fix it.

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

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

by stof at 2012-07-13T19:12:51Z

you should add the NativeSessionHandler class in the list instead as it replaces it

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

by tystr at 2012-07-13T19:14:29Z

+1

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

by zachbadgett at 2012-07-13T19:15:55Z

Done
2012-07-13 21:31:17 +02:00
Fabien Potencier
a27aeda8f4 merged branch bschussek/performance (PR #4882)
Commits
-------

cd7835d [Form] Cached the form type hierarchy in order to improve performance
2ca753b [Form] Fixed choice list hashing in DoctrineType
2bf4d6c [Form] Fixed FormFactory not to set "data" option if not explicitely given
7149d26 [Form] Removed invalid PHPDoc text

Discussion
----------

[Form] WIP Improved performance of form building

Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: **Update the Silex extension**

This PR is work in progress and up for discussion. It increases the performance of FormFactory::createForm() on a specific, heavy-weight form from **0.848** to **0.580** seconds.

Before, the FormFactory had to traverse the hierarchy and calculate the default options of each FormType everytime a form was created of that type.

Now, FormTypes are wrapped within instances of a new class `ResolvedFormType`, which caches the parent type, the type's extensions and its default options.

The updated responsibilities: `FormFactory` is a registry and proxy for `ResolvedFormType` objects, `FormType` specifies how a form can be built on a specific layer of the type hierarchy (e.g. "form", or "date", etc.) and `ResolvedFormType` *does the actual building* across all layers of the hierarchy (by delegating to the parent type, which delegates to its parent type etc.).

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

by schmittjoh at 2012-07-12T18:25:40Z

Maybe ResolvedFormType

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

by jmather at 2012-07-13T02:56:38Z

I really like ResolvedFormType. That's the naming method I took for my tag parser that handes the same conceptual issue.

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

by axelarge at 2012-07-13T05:25:00Z

ResolvedFormType sounds very clear.
This change is great and I desperately hope to see more of this kind

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

by Baachi at 2012-07-13T06:41:26Z

Yes `ResolvedFormType` sounds good :) 👍

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

by fabpot at 2012-07-13T07:11:33Z

I like `ResolvedFormType` as well.

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

by henrikbjorn at 2012-07-13T07:46:48Z

👍 `ResolvedFormType` :shipit:

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

by stof at 2012-07-13T18:01:51Z

This looks good to me
2012-07-13 21:26:31 +02:00
Fabien Potencier
2dcc44897e raised the minimum version of PHP to 5.3.4 (closes #3856)
We've raised the minimum version of PHP because of a PHP
bug before 5.3.4:

https://bugs.php.net/bug.php?id=52083
https://bugs.php.net/bug.php?id=50027
2012-07-13 21:22:46 +02:00
Zach Badgett
23d87353a2 Added NativeFileSessionHandler to classes to compile . 2012-07-13 13:14:31 -06:00
Zach Badgett
12d6ae76a2 Removed FileSessionHandler from FrameworkExtension to stop compiling a file that does not exist. 2012-07-13 13:04:05 -06:00
Bernhard Schussek
cd7835d8d2 [Form] Cached the form type hierarchy in order to improve performance 2012-07-13 20:39:30 +02:00
Drak
39813a0a05 Revert "[FrameworkBundle] Refactor session file handler service name and update changelogs"
This partially reverts commit 13a2c82f01.
2012-07-13 14:54:32 +01:00
Fabien Potencier
f41872b907 [FrameworkBundle] added a way to enable the profiler for the very next request in functional tests (closes #4307) 2012-07-13 15:41:42 +02:00
Fabien Potencier
3f05e7047f ensured that an exception is always converted to an error response (and that we keep the HTTP status code and headers) 2012-07-13 11:55:51 +02:00
Alexander
5e6c06fc70 [Security] Remove hard dependency on $providerKey for default auth success handler 2012-07-12 12:03:58 +02:00
Alexander
f59b0528f6 [Security] Fix the default authentication handlers config definition 2012-07-11 20:12:59 +02:00
Fabien Potencier
878e86db8a added global variables access in a form theme (closes #3058) 2012-07-10 11:44:08 +02:00
Fabien Potencier
9e32d9029f [FrameworkBundle] tweaked previous merge 2012-07-10 08:56:32 +02:00
Fabien Potencier
f2958b3fb6 merged branch merk/routing-bug (PR #4823)
Commits
-------

c061c30 Router#resolveString should return null instead of empty string when $value is null
a1d1a02 Null default value route regression

Discussion
----------

[Router] Null default value route regression

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

---

The commit by @vicb 0555913fbb introduces a regression in the handling of default values that are null, while there are requirements still set for this value.

This is a failing test case and fix for the issue.

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

by merk at 2012-07-10T04:24:40Z

Now contains a fix, tests now pass.
2012-07-10 08:50:31 +02:00
Fabien Potencier
2c6b825068 merged branch zachbadgett/framework_bundle_delegating_engine (PR #4824)
Commits
-------

2fa98e8 [FrameworkBundle] Changed DelegatingEngine::renderResponse to use specified engine's renderResponse

Discussion
----------

[FrameworkBundle] Changed DelegatingEngine::renderResponse to use specified engine's renderResponse

Currently the DelegatingEngine in the FrameworkBundle has a renderResponse method that creates a new response, it should use the engine's renderResponse since EngineInterface requires a renderResponse to be defined and gives more flexibly to change the response object when creating a new templating engine.

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-07-10 08:42:11 +02:00
Zach Badgett
2fa98e8a23 [FrameworkBundle] Changed DelegatingEngine::renderResponse to use specified engine's renderResponse 2012-07-09 22:41:10 -06:00
Tim Nagel
c061c30a9e Router#resolveString should return null instead of empty string when $value is null
Closes #4823
2012-07-10 14:22:39 +10:00
Tim Nagel
a1d1a02b47 Null default value route regression 2012-07-10 13:59:45 +10:00
Arnaud Kleinpeter
dc4d3437ce [TwigBundle] Fixed error message 2012-07-09 23:12:46 +02:00
Fabien Potencier
2cf1a0a7e8 merged branch bschussek/issue4615 (PR #4799)
Commits
-------

df5bb4a [Form] Unified rendering of errors for nested elements

Discussion
----------

[Form] Unified rendering of errors for nested elements

Bug fix: yes
Feature addition: no
Backwards compatibility break: yes?
Symfony2 tests pass: yes
Fixes the following tickets: #4615
Todo: -
2012-07-09 18:41:53 +02:00
Fabien Potencier
39e821c1eb [TwigBundle] added a new paths setting to allow configuration of more paths for the filesystem loader (refs #4649) 2012-07-09 17:37:31 +02:00
Fabien Potencier
8f267ada09 merged branch everzet/twig-paths (PR #4649)
Commits
-------

dbeff69 [TwigBundle] added support for custom loader paths

Discussion
----------

[TwigBundle] added support for custom loader paths

Before this commit, there was no ability to specify custom
search paths for Twig loader. Lets say we have twig templates
outside bundles directories (parts of the domain logic, not
application) - we want to be able to load them.

This commit adds `loader_paths` parameter to twig config,
which is used to set custom paths to the loader.

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

by travisbot at 2012-06-25T09:50:44Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1699654) (merged dbeff697 into 03c8d4d2).

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

by vicb at 2012-06-26T06:14:30Z

You also need to support xml in the configuration and update the xsd file.

edit: adding some DI unit tests is probably a good idea.

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

by everzet at 2012-06-26T08:49:20Z

@vicb agree, was just a fast stabbing ;)

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

by fabpot at 2012-06-28T14:06:02Z

I'm +1. Can you "finish" the PR?

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

by fabpot at 2012-07-02T13:23:33Z

@everzet If you don't have time, I can do the remaining work.
2012-07-09 17:37:22 +02:00
Bernhard Schussek
df5bb4aefa [Form] Unified rendering of errors for nested elements 2012-07-09 16:14:58 +02:00
Fabien Potencier
7f9fd11fd0 merged branch asm89/refactor-authentication-success-handling (PR #4599)
Commits
-------

bb138da [Security] Fix regression after rebase. Target url should be firewall dependent
eb19f2c [Security] Add note to CHANGELOG about refactored authentication failure/success handling [Security] Various CS + doc fixes [Security] Exception when authentication failure/success handlers do not return a response [Security] Add authors + fix docblock
f9d5606 [Security] Update AuthenticationFailureHandlerInterface docblock. Never return null
915704c [Security] Move default authentication failure handling strategy to seperate class [Security] Update configuration for changes regarding default failure handler [Security] Fixes + add AbstractFactory test for failure handler
c6aa392 [Security] Move default authentication success handling strategy to seperate class [Security] Update configuration for changes regarding default success handler [Security] Fix + add AbstractFactory test

Discussion
----------

[Security] Refactor authentication success handling

Bug fix: no
Feature addition: no
Backwards compatibility break: yes
Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/asm89/symfony.png?branch=refactor-authentication-success-handling)](http://travis-ci.org/asm89/symfony)
License of the code: MIT

This PR extracts the default authentication success handling to its own class as discussed in #4553. In the end the PR will basically revert #3183 (as suggested by @schmittjoh) and fix point one of #838.

There are a few noticeable changes in this PR:
- This implementation changes the constructor signature of the `AbstractAuthentictionListener` and `UsernamePasswordFormAuthenticationListener` by making the `AuthenticationSuccessHandler` mandatory (BC break). If this WIP is approved I will refactor the failure handling logic too and then this will also move one place in the constructor
- This PR reverts the change of making the returning of a `Response` optional in the `AuthenticationSuccessHandlerInterface`. Developers can now extend the default behavior themselves

@schmittjoh Any suggestions? Or a +1 to do the failure logic too?

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

by schmittjoh at 2012-06-17T23:53:07Z

+1 from me

@fabpot, what so you think?

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

by fabpot at 2012-06-19T08:15:48Z

Can you add a note in the CHANGELOG? Thanks.

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

by asm89 at 2012-06-19T10:22:20Z

I will, but I'll first do the same for the failure logic.

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

by travisbot at 2012-06-21T08:03:14Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1671555) (merged 17c8f66f into 55c6df99).

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

by asm89 at 2012-06-21T08:45:38Z

👍 thank you @stof. I think this is good to go now.

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

by travisbot at 2012-06-21T08:50:28Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1671817) (merged 8982c769 into 55c6df99).

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

by asm89 at 2012-06-21T14:23:58Z

@schmittjoh @fabpot The `LogoutListener` currently throws an exception when the successhandler doesn't return a `Response` ([link](9e9519913d/src/Symfony/Component/Security/Http/Firewall/LogoutListener.php (L101))). Should this code check for this too?

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

by schmittjoh at 2012-06-21T14:26:49Z

Yes, this code was removed, but needs to be re-added here as well.

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

by travisbot at 2012-06-21T15:08:59Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1674437) (merged 5afa240d into 55c6df99).

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

by asm89 at 2012-06-26T06:01:02Z

@fabpot Can you make a final decision on this? If you decide on point 3, this code can be merged.  I agree with the arguments of @stof about the option handling and it 'only' being a BC break for direct users of the security component. I even think these direct users should be really careful anyway, since the behavior of the success and failurehandlers now change back to how they acted in 2.0.

Now I am thinking about it, can't the optional parameters of this class move to setters anyway? That will make it cleaner to extend.

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

by asm89 at 2012-06-28T10:29:50Z

ping @fabpot

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

by fabpot at 2012-06-28T17:23:02Z

I'm ok with option 1 (the BC break). After doing the last changes, can you squash your commits before I merge? Thanks.

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

by asm89 at 2012-07-06T21:59:54Z

@fabpot I rebased the PR, added the authors and also ported the fix that was done in 8ffaafa867 to be contained in the default success handler. I also squashed all the CS and 'small blabla fix' commits. Is it ok now?

Edit: travisbot will probably say that the tests in this PR fail, but that is because current master fails on form things

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

by asm89 at 2012-07-08T18:53:05Z

I rebased the PR, tests are green now: [![Build Status](https://secure.travis-ci.org/asm89/symfony.png?branch=refactor-authentication-success-handling)](http://travis-ci.org/asm89/symfony).
2012-07-09 15:29:00 +02:00
Fabien Potencier
d100ffaf76 fixed CS 2012-07-09 14:54:20 +02:00
Fabien Potencier
03d22b74ec fixed CS (mainly method signatures) 2012-07-09 14:43:50 +02:00
Adrien BRAULT
0562463cb7 [Security] Add an option to disable the hasPreviousSession() check in AbstractAuthenticationListener 2012-07-09 01:05:31 +02:00
Alexander
bb138dadb3 [Security] Fix regression after rebase. Target url should be firewall dependent 2012-07-08 19:59:10 +02:00
Alexander
eb19f2c9e3 [Security] Add note to CHANGELOG about refactored authentication failure/success handling
[Security] Various CS + doc fixes
[Security] Exception when authentication failure/success handlers do not return a response
[Security] Add authors + fix docblock
2012-07-08 19:59:10 +02:00
Alexander
915704c071 [Security] Move default authentication failure handling strategy to seperate class
[Security] Update configuration for changes regarding default failure handler
[Security] Fixes + add AbstractFactory test for failure handler
2012-07-08 19:59:10 +02:00
Alexander
c6aa392df7 [Security] Move default authentication success handling strategy to seperate class
[Security] Update configuration for changes regarding default success handler
[Security] Fix + add AbstractFactory test
2012-07-08 19:59:10 +02:00
Fabien Potencier
b8f99ee19e merged branch arnaud-lb/memory-example-fix (PR #4769)
Commits
-------

8997853 [Security] fixed in_memory provider example

Discussion
----------

[Security] fixed in_memory provider example

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

This fixes the in_memory provider configuration example shown by config:dump-reference

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

by stof at 2012-07-06T11:07:50Z

👍
2012-07-08 10:05:28 +02:00
Adel
dbb63aee9c Fix typo change String to string 2012-07-06 19:52:14 +03:00
Arnaud Le Blanc
8997853dbd [Security] fixed in_memory provider example 2012-07-06 11:40:37 +02:00
Sylvain Lorinet
b9c518213d Fix error variable name. 2012-07-05 15:21:41 +03:00
Fabien Potencier
73d3efb7a9 [FrameworkBundle] added a note about the classes cache 2012-07-05 08:00:39 +02:00
Fabien Potencier
1a37b78078 reverted #4542 2012-07-05 07:56:16 +02:00
Fabien Potencier
d4bd50a340 merged branch vicb/router/kp (PR #4745)
Commits
-------

0555913 [FrameworkBundle] Allow using kernel parameters in routes

Discussion
----------

[FrameworkBundle] Allow using kernel parameters in routes

Kernel parameters can now be used at any position in patterns, defaults and requirements.

Relates to: #3316, #3276

**Differences from 3316:**

- The substitution is now done in the `Router`,
- 3316 uses `$container->getParameterBag()` which is not part of the `ContainerInterface`. The way it been solved in this PR is that some code have been duplicated inside the `Router`, see `resolveString()`.

**BC break:**

Before this PR, nonexistent parameters would have be silently ignored (ie `%idontexist%` would not have been replaced). After this PR, they will throw an exception. However you can escape the value (ie `%%idontexist%%` will be accepted and replaced by `%idontexist%`).

_This behavior is not mandatory and can be reverted if needed. However this keeps the router more consistent with the DI_.

Any feedback ? @helmer @Koc

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

by Seldaek at 2012-07-04T12:40:08Z

👍 for consistency.

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

by helmer at 2012-07-04T13:07:11Z

+1 a much better solution to the problem than mine, closing #3316

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

by Tobion at 2012-07-04T13:21:59Z

How about escaping kernel params with `\%idontexist%` as I suggested it for route params in 4563?

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

by stof at 2012-07-04T13:28:55Z

@Tobion this would not be consistent with the way DI parameters are escaped elsewhere

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

by Koc at 2012-07-04T14:24:25Z

Looks good for me, thanx.
2012-07-04 18:48:59 +02:00
Fabien Potencier
000d54cd27 merged branch fabpot/classloader-optim (PR #4729)
Commits
-------

3f9e8ff [ClassLoader] made ClassCollectionLoader::load() automatically include class dependencies
6f4d281 [ClassLoader] added missing support for PHP 5.4 traits

Discussion
----------

Classloader optimization

The first commit fixes support for PHP 5.4 trait.

The second one does several things:

 * it optimizes the recent merge so that the reflection class instance is only loaded once;
 * we use the fact that we now get all class dependencies to automatically add all class dependencies to the map.

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

by fabpot at 2012-07-03T17:26:46Z

I've updated to take into accounts traits.

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

by bamarni at 2012-07-04T11:58:57Z

great job 👍

I can't see it in the diff as this part hasn't changed, but somewhere in the autoReload block there is :
```
if ($meta[1] != $classes) {
    $reload = true;
}
```

It should be array_unique($classes), otherwise the file would be perpetually regenerated in autoReload mode when the input contains duplicate, because they're implicitely removed when dumping the files.

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

by fabpot at 2012-07-04T13:20:04Z

@bamarni I've added an `array_unique` call at the top (this bug existed before by the way).
2012-07-04 15:47:47 +02:00
Fabien Potencier
3f9e8ffe5c [ClassLoader] made ClassCollectionLoader::load() automatically include class dependencies 2012-07-04 15:19:35 +02:00
Fabien Potencier
41da9c7068 merged branch Tobion/patch-3 (PR #4720)
Commits
-------

51b610f [Profiler] fix typehint

Discussion
----------

[Profiler] fix typehint

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

by fabpot at 2012-07-03T10:23:25Z

The profiler only works with Twig anyway.

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

by Tobion at 2012-07-03T10:29:18Z

Right. But why does he have this error: f47b9a6625 (commitcomment-1532164)

And since the class only uses methods of the general interface, I thought this makes it more reliable.

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

by fabpot at 2012-07-03T10:37:26Z

It was unrelated and I fixed that problem already.
2012-07-04 15:15:20 +02:00
Victor Berchet
0555913fbb [FrameworkBundle] Allow using kernel parameters in routes
Kernel parameters can now be used at any position in patterns, defaults and requirements.
2012-07-04 14:47:36 +02:00
Douglas Greenshields
6751c87b52 [Profiler] fixed a couple of minor typos in a test 2012-07-04 13:15:12 +02:00
Fabien Potencier
391ee67d68 merged branch vicb/profiler (PR #4727)
Commits
-------

eda439f [EventDataCollector] Display a better message when no events have been recorded
6b87981 [TimeDataCollector] Do not throw an exception when no events are recorded

Discussion
----------

[Profiler] Better support for collector in a production env

relates to #3706.

With this PR it is possible to:
- enable only the profiler in a production environment - the wdt being disabled you have to switch to the development environment to inspect the collected data,
- enable both the profiler and the wdt in a production environment (the use case form #3706).

@jmikola would this solve your use case ?
2012-07-03 19:54:59 +02:00
Fabien Potencier
3cfe916e65 [FrameworkBundle] fixed some unit tests 2012-07-03 18:55:00 +02:00
Victor Berchet
eda439ffe5 [EventDataCollector] Display a better message when no events have been recorded 2012-07-03 18:15:27 +02:00
Victor Berchet
6b87981641 [TimeDataCollector] Do not throw an exception when no events are recorded 2012-07-03 18:15:20 +02:00
Fabien Potencier
23f41a21ca merged branch vicb/templates (PR #4723)
Commits
-------

aef7663 [FrameworkBundle] Create a dedicated template filename parser

Discussion
----------

[FrameworkBundle] Create a dedicated template filename parser

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

related to #3116
2012-07-03 17:47:16 +02:00
Fabien Potencier
3ee1b383af merged branch vicb/auto_start (PR #4724)
Commits
-------

c5470b0 [Session] Removes references to the deprecated 'auto_start' setting

Discussion
----------

[Session] Removes references to the deprecated 'auto_start' setting

fix #4721
2012-07-03 16:13:04 +02:00
Victor Berchet
c5470b06bb [Session] Removes references to the deprecated 'auto_start' setting 2012-07-03 15:44:06 +02:00
Victor Berchet
aef7663676 [FrameworkBundle] Create a dedicated template filename parser 2012-07-03 14:58:30 +02:00
Tobias Schultze
51b610f8ba [Profiler] fix typehint 2012-07-03 13:04:37 +03:00
Victor Berchet
816539b110 [FrameworkBundle] Display an error message when 'session.auto_start' is used (deprecated) 2012-07-03 11:35:02 +02:00
Fabien Potencier
bf59b8677c merged branch fabpot/charset-fix (PR #4716)
Commits
-------

d9439ab made the charset overridable (closes #2072)

Discussion
----------

made the charset overridable (closes #2072)

The charset was configurable in a configuration file but it never worked:

    framework:
        charset: ISO-8859-1

Now, like for the cache and log dirs, you can configure the charset by
overriding the getCharset() method in the app kernel:

    public function getCharset()
    {
        return 'ISO-8859-1';
    }

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

by fabpot at 2012-07-03T07:26:04Z

See #2072 for the previous attempts to fix this issue.
2012-07-03 10:43:15 +02:00
Fabien Potencier
d9439aba71 made the charset overridable (closes #2072)
The charset was configurable in a configuration file but it never worked:

    framework:
        charset: ISO-8859-1

Now, like for the cache and log dirs, you can configure the charset by
overriding the getCharset() method in the app kernel:

    public function getCharset()
    {
        return 'ISO-8859-1';
    }
2012-07-03 10:28:30 +02:00
Fabien Potencier
f47b9a6625 [WebProfilerBundle] inlined a service (closes #4717) 2012-07-03 10:02:51 +02:00
Fabien Potencier
637aaacccb merged branch uwej711/security_target_path_master (PR #4409)
Commits
-------

8ffaafa Make the session entry for the target url firewall dependent.

Discussion
----------

[Security] Make the session entry for the target url firewall dependent.

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

If there are two firewalls (eg. main and admin), calling an protected admin url
will direct you to the login form of the admin. If I ignore this and go to the login
form of the main firewall directly I will end up being redirected to the stored
admin target url, which will lead me to the admin login form again.

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

by travisbot at 2012-05-25T09:33:44Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1431566) (merged 8ffaafa8 into 45849ce3).

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

by uwej711 at 2012-06-09T08:05:54Z

Doesn't this make sense or did this slip through? Or is there something missing?
2012-07-02 19:27:21 +02:00
Fabien Potencier
7407773234 [WebProfilerBundle] tweaked previous merge 2012-07-02 11:12:51 +02:00
Fabien Potencier
155320ae83 merged branch wodor/profiler_rely_on_profile_3372 (PR #3373)
Commits
-------

1472283 fixed CS
bc73487 renamed template to TemplateManager , moved profiler to the deps of manager
5fd6ed6 properties protected
abd0eb7 generating template names moved out from controller  to another class
6138e80 [Profiler] relying on config of displayed profile  instead of current config.

Discussion
----------

[2.2][Profiler] relying on config of displayed profile  instead of current config

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: code of ProfilerController is not covered by any test
Fixes the following tickets: #3372
Todo: ~

This fixes the exception which is raised when viewed profile has other  data collectors than in config of currently run profiler.
explained here
https://github.com/symfony/symfony/issues/3372

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

by fabpot at 2012-02-16T06:11:00Z

This should probably be done on the 2.0 branch. Also, I think we need to check if the panel is actually available in the current profiler (if not, we won't be able to display it anyway). So, both checks are important.

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

by wodor at 2012-02-18T10:15:40Z

defects mentioned by Stof are fixed
2012-07-02 11:05:28 +02:00
Fabien Potencier
28b6ff0f48 merged branch nomack84/wdt_documentation_link_color_fix (PR #4260)
Commits
-------

b804b94 Fixed style for the abbr tag
147cab7 [WDT] Fix the color of Documentation link to keep concistence.

Discussion
----------

[WDT] Fix the color of Documentation link to keep concistence.

This pull request is to make the Documentation link black as the other links of the WDT

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

by travisbot at 2012-05-11T13:33:24Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1304777) (merged 5a87a098 into 554e0738).

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

by Tobion at 2012-05-11T16:36:39Z

should be done via selector in the css file that is used for the WDT (also refactor the profiler token link like this)

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

by nomack84 at 2012-05-11T17:46:15Z

Done.

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

by travisbot at 2012-05-11T17:48:24Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1307502) (merged eee437c9 into 554e0738).

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

by travisbot at 2012-05-11T18:27:55Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1307838) (merged 3604f131 into dd0da03c).

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

by mvrhov at 2012-05-11T18:40:05Z

While you are at it, the controller text color is also wrong.

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

by travisbot at 2012-05-11T18:43:00Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1308018) (merged 147cab74 into dd0da03c).

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

by nomack84 at 2012-05-11T18:49:47Z

@mvrhov I don't see the difference.

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

by mvrhov at 2012-05-11T19:45:45Z

Set the color for abbr tag on your website to red or something like that. By default abbr color is set to black. My website has is set to #55555 so the controller name its barely visible.

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

by nomack84 at 2012-05-14T12:42:30Z

@mvrhov Done!

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

by travisbot at 2012-05-14T12:43:48Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1326494) (merged b804b942 into dd0da03c).

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

by nomack84 at 2012-05-15T13:09:59Z

Hi @fabpot,
Can you merge this? The only thing it does is add a missed style to the Documentation link and also to the abbr tag, as suggested by @mvrhov.
Greetings!
2012-07-02 10:42:21 +02:00
Fabien Potencier
7ac10fefa0 merged branch jalliot/load-class-cache (PR #4542)
Commits
-------

f09789b [FrameworkBundle] Generate the class cache when warming up the cache

Discussion
----------

[FrameworkBundle] Generate the class cache when warming up the cache

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/jalliot/symfony.png?branch=load-class-cache)](http://travis-ci.org/jalliot/symfony)
Fixes the following tickets: -
Todo: -

With this PR, the commands `cache:clear` (if `--no-warmup` hasn't been specified) and `cache:warmup` generate the class cache. Now the first page load after clearing the cache does not take over one second anymore :)
Of course, if someone does not want to use the class cache for whatever reason, he can always remove the `$kernel->loadClassCache()` in his front controller and the cache will just be ignored...

On a side note, can someone explain why [SensioDistributionBundle does not warmup the cache in the Composer post-install script](https://github.com/sensio/SensioDistributionBundle/blob/master/Composer/ScriptHandler.php#L48)?

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

by travisbot at 2012-06-10T05:18:30Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1579114) (merged baecbaee into 6266b72d).

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

by travisbot at 2012-06-10T05:24:48Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1579154) (merged f09789b1 into 6266b72d).

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

by jalliot at 2012-06-28T23:18:54Z

@fabpot ping
2012-07-01 23:19:22 +02:00
Fabien Potencier
8a3f5bd323 merged branch Tobion/requestmatcher (PR #4582)
Commits
-------

7464dcd added phpdoc
c413e7b [Routing] remove RequestContextAwareInterface from RequestMatcherInterface
921be34 [Routing] fix phpdoc

Discussion
----------

[Routing] RequestMatcherInterface doesn't need context

Matchers that implement RequestMatcherInterface should match a Request, thus they don't need the request context.

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

by travisbot at 2012-06-14T21:39:48Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1624496) (merged f5ff1fe0 into 7c91ee57).

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

by schmittjoh at 2012-06-15T13:32:59Z

I think it makes sense to remove the RequestContext from the RequestMatcher.

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

by travisbot at 2012-06-15T15:54:28Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1628931) (merged 7464dcd2 into f881d282).

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

by Tobion at 2012-06-26T12:32:06Z

Anything missing?
2012-07-01 23:09:16 +02:00
Fabien Potencier
4f4c679eef [FrameworkBundle] fixed client insulation (closes #1726, closes #4608) 2012-07-01 23:01:26 +02:00
Fabien Potencier
c0e4760b38 merged branch kriswallsmith/form/mv-humanize (PR #4645)
Commits
-------

c1e4166 moved create of default form label to view layer

Discussion
----------

move create of default form label to view layer

A small optimization if you provide custom labels in the view layer (i.e. `{{ form_label(form.name, 'Your name') }}`

```
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: ~
```

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

by travisbot at 2012-06-24T14:45:17Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1694310) (merged 37f0b774 into 0d4b02e4).

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

by travisbot at 2012-06-24T15:03:44Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1694418) (merged c1e4166e into 0d4b02e4).
2012-07-01 22:38:07 +02:00
Fabien Potencier
85d77c2ec9 merged branch flojon/patch-1 (PR #4638)
Commits
-------

eb26e89 [FrameworkBundle] Fix built-in server when using query params in paths

Discussion
----------

[FrameworkBundle] Fix built-in server when using query params in paths

$_SERVER['REQUEST_URI'] will contain the query params so is_file will fail.
I propose to use $_SERVER['SCRIPT_FILENAME'] instead which contains the full path and no query params.

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

by ajessu at 2012-06-23T10:17:34Z

I was going to make this comment on your approach in #4484, but I'll make it here, since that issue is already closed.

Your solution won't work on PHP 5.4.0, as `$_SERVER['SCRIPT_FILENAME']` will not be set [see PHP bug #60850](https://bugs.php.net/bug.php?id=60850).

Also PHP 5.4.1 and up, if you don't request a file explicitely, Ex:

     http://localhost:8000/app_dev.php

but a location, Ex:

    http://localhost:8000/

The value of the `$_SERVER['SCRIPT_FILENAME']` will be the router file, not the script name, which makes relying on `$_SERVER['SCRIPT_FILENAME']` inconsistent. [See this comment on the php bug](https://bugs.php.net/bug.php?id=60850#1331261652)

I'm not sure if (nor how?) the issue of the params should be addressed on this "default" router, to not make it overly complex.

For your use case, and this is just my own early opinion without much thought, in case we can't come up with a general solution, there is always the option of defining your own router and passing it to the `server:run` command with `--router` like so:

    php app/console server:run --router=app/config/my_own_router.php

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

by flojon at 2012-06-23T10:31:47Z

So would `$_SERVER['SCRIPT_NAME']` be more reliable? Like this:

    if (is_file($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . $_SERVER['SCRIPT_NAME'])) {
        return false;
    }

I did a simple test and `$_SERVER['SCRIPT_NAME']` is set to `/` when accessing the root (using PHP 5.4.3).

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

by flojon at 2012-06-23T10:51:22Z

Browse around the code a bit and `$_SERVER['SCRIPT_NAME']` has been there since PHP 5.4.0:
https://github.com/php/php-src/blob/php-5.4.0/sapi/cli/php_cli_server.c#L598

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

by travisbot at 2012-06-23T11:16:59Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1688361) (merged eb26e896 into 0d4b02e4).

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

by travisbot at 2012-06-24T10:23:52Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1688043) (merged 71855665 into 0d4b02e4).

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

by CHH at 2012-06-29T07:17:32Z

This works fine for me!

👍

Could someone please merge this? This issue makes the `server:run` command currently quite unusable, because it can't load CSS for example which has a `?v=` parameter.

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

by ajessu at 2012-06-29T08:25:14Z

👍 from me also. Works just like `$_SERVER['REQUEST_URI']`, but doesn't include the params.

Tested working on PHP 5.4.0 and 5.4.3.
2012-07-01 22:34:54 +02:00
Fabien Potencier
2e356c1ab9 [FrameworkBundle] removed the auto-starting of the session when a previous session exists (it is not needed anymore as the session is now always started on demand) 2012-06-30 20:44:16 +02:00
Sergey Linnik
0b02e3ce79 [FrameworkBundle] Removed unneeded parameter 2012-06-30 13:11:07 +04:00
Fabien Potencier
741927baf3 [FrameworkBundle] removed unneeded start call 2012-06-30 09:42:40 +02:00
Drak
911db69bfe [FrameworkBundle] Typo fix 2012-06-29 20:13:19 +01:00
Drak
1fd66f3cdf [FrameworkBundle] Remove 'auto_start' configuration parameter. 2012-06-29 17:34:28 +01:00
Xavier Lacot
e44e21c2e9 Reverted to Symfony 2.0's signature, which made it simple to display only a subset of the routes of the application.
This is particularly useful for FOSJsRoutingBundle's fos:js-routing:debug command, which allows to filter the list of javascript-exposed routes.
2012-06-28 18:29:35 +02:00
Fabien Potencier
be27ccf961 [FrameworkBundle] removed duplicated line 2012-06-28 16:05:05 +02:00
Fabien Potencier
84e619c016 merged branch hason/translationrequest (PR #4650)
Commits
-------

8ae0fa2 [FrameworkBundle] Fixed locale detection from request

Discussion
----------

[FrameworkBundle] Fixed locale detection from request

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

by travisbot at 2012-06-25T10:09:24Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1699743) (merged 8ae0fa21 into 03c8d4d2).
2012-06-28 16:03:12 +02:00
Fabien Potencier
b5e6613ad0 merged branch everzet/config-interface-check (PR #4659)
Commits
-------

d4a0988 [FrameworkBundle] added configuration interface check

Discussion
----------

[FrameworkBundle] added configuration interface check

Added check for ConfigurationInterface to config ref dumping
command. To ensure that configuration implements needed
`getConfigTreeBuilder()` command

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

by travisbot at 2012-06-26T09:19:03Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1708744) (merged d4a09881 into d131f9d3).
2012-06-28 15:07:45 +02:00
Fabien Potencier
e8c0e07841 merged branch vlechemin/ticket_3472 (PR #3473)
Commits
-------

ab47a88 [FrameworkBundle][Translator] Fix test for request being available in order to get the locale.

Discussion
----------

[FrameworkBundle][Translator] Fix test for request being available.

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #3472
Todo: -
2012-06-27 20:31:58 +02:00
Fabien Potencier
16a0af1262 [Security] changed the HttpUtils constructor to tak both a UrlGenerator and a UrlMatcher instead of a Router (to make it useable by Silex) 2012-06-26 11:18:35 +02:00
everzet
d4a09881f1 [FrameworkBundle] added configuration interface check
Added check for ConfigurationInterface to config ref dumping
command. To ensure that configuration implements needed
`getConfigTreeBuilder()` command
2012-06-26 10:46:00 +02:00
Eduardo Gulias
4bfb6fddf7 [FrameworkBundle][Command] ContainerDebugCommand - Changed visibility to allow re use in childs 2012-06-26 09:01:12 +02:00
Martin Hasoň
8ae0fa2178 [FrameworkBundle] Fixed locale detection from request 2012-06-25 11:49:17 +02:00
everzet
dbeff6979b [TwigBundle] added support for custom loader paths
Before this commit, there was no ability to specify custom
search paths for Twig loader. Lets say we have twig templates
outside bundles directories (parts of the domain logic, not
application) - we want to be able to load them.

This commit adds `loader_paths` parameter to twig config,
which is used to set custom paths to the loader.
2012-06-25 11:36:26 +02:00
Kris Wallsmith
c1e4166ead moved create of default form label to view layer 2012-06-24 07:57:42 -07:00
Jonas Flodén
eb26e89625 [FrameworkBundle] Fix built-in server when using query params in paths
$_SERVER['REQUEST_URI'] will contain the query params so is_file will fail.
Change it to use $_SERVER['SCRIPT_NAME'] instead which only contains the
relative filename of the the script.
2012-06-23 13:09:46 +02:00
Albert Jessurum
d982bac008 Fix built-in server for PHP > 5.4.1 2012-06-18 23:10:49 +02:00
Julien Brochet
e11360018d [WebProfilerBundle] removed the extra space before the toolbar 2012-06-18 00:35:49 +02:00
Fabien Potencier
f65ade24b2 fixed order of translation files registration 2012-06-16 18:09:40 +02:00
Fabien Potencier
76b2ed46d6 moved validator translation files to the Form and Validator components to make them reusable (closes #4588) 2012-06-16 13:31:07 +02:00
Tobias Schultze
c413e7ba39 [Routing] remove RequestContextAwareInterface from RequestMatcherInterface 2012-06-15 17:27:49 +02:00
Fabien Potencier
6448fd0772 [FrameworkBundle] added a missing attribute in XSD 2012-06-14 11:31:07 +02:00
Fabien Potencier
28f6c5889b merged branch Seldaek/route-gen (PR #4534)
Commits
-------

31843cf [FrameworkBundle] Add info to config
d5ab4c1 [Routing] Update changelog
bbef65e [Routing] Add strict_parameters option to disable exceptions when a route generation fails due to an invalid parameter

Discussion
----------

[Routing] Add strict_parameters option to disable exceptions on invalid parameters

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

by travisbot at 2012-06-09T15:07:26Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1577025) (merged bbef65e6 into 37678e17).

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

by stof at 2012-06-09T15:43:48Z

Seems good, but you forgot to update the Changelog of the component. Anyway, let's wait for @vicb's review as he knows the Routing component better than me.

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

by Seldaek at 2012-06-09T16:35:56Z

I updated the changelog

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

by travisbot at 2012-06-09T16:38:31Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1577716) (merged d5ab4c1d into 37678e17).

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

by travisbot at 2012-06-11T10:10:37Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1590901) (merged a54e59e4 into 37678e17).

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

by travisbot at 2012-06-11T13:50:21Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1591926) (merged 31843cf0 into 0995b1f2).
2012-06-12 19:58:14 +02:00
Fabien Potencier
ba16a51d37 changed getName() to name on all Reflection* object calls (fixes #4555, refs https://bugs.php.net/bug.php?id=61384) 2012-06-12 13:59:42 +02:00
Fabien Potencier
66ff06096c fixed an issue with session mocking in functional tests that do not start with a fresh session instance for each request (Silex for instance) 2012-06-12 10:24:12 +02:00
Jordi Boggiano
31843cf0bf [FrameworkBundle] Add info to config 2012-06-11 14:26:01 +02:00
Fabien Potencier
0995b1f28b moved the UserPassword validator from the security bundle to the security component to make it reusable outside the full-stack framework 2012-06-10 21:58:31 +02:00
Fabien Potencier
7bec0786be moved the Security Twig extension to the bridge 2012-06-10 19:01:52 +02:00
Jordan Alliot
f09789b192 [FrameworkBundle] Generate the class cache when warming up the cache 2012-06-09 22:38:58 +02:00
Fabien Potencier
6266b72ddc merged branch dlsniper/wdt-session-metadata (PR #4428)
Commits
-------

8dd2af7 Added Session Metadata info to the Request section of the WDT

Discussion
----------

[WebProfilerBundle] Added Session Metadata info to the Request section of the WDT

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/dlsniper/symfony.png?branch=wdt-session-metadata)](http://travis-ci.org/dlsniper/symfony)
Fixes the following tickets: #4181
Todo: ~
License of the code: MIT
Documentation PR: ~

This PR adds some session metadata available into the WDT (Created, Last used, Lifetime specifically).
If you'd like to see more info then let me know.

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

by travisbot at 2012-05-26T21:11:56Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1443801) (merged 9b0b4383 into 9e951991).

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

by travisbot at 2012-05-26T21:24:27Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1443856) (merged 31858319 into 9e951991).

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

by drak at 2012-05-27T00:48:37Z

Nice addition.

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

by dlsniper at 2012-05-31T21:21:37Z

@drak While using this patch on a production application I've noticed that the `$request->hasSession()` section will fail to recognize that there's no session anymore in the app if I'm not using the auto-start feature. I'm using the latest master branch, updated today around 12:00 UTC. Clearly this is not the right place to discuss that there's a problem with ::hasSession() but I wanted to ask someone else for an opinion before creating the issue/fix for it.

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

by stof at 2012-06-09T10:14:05Z

@dlsniper create an ticket for it, and it will become the best place to discuss it :)

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

by dlsniper at 2012-06-09T10:42:58Z

Ok, but then can this be merged meanwhile?

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

by stof at 2012-06-09T10:58:39Z

@fabpot  👍

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

by dlsniper at 2012-06-09T17:36:24Z

I've opened #4529 to address the issue seen in the comment.
2012-06-09 21:44:05 +02:00
Jordi Boggiano
bbef65e657 [Routing] Add strict_parameters option to disable exceptions when a route generation fails due to an invalid parameter 2012-06-09 16:59:48 +02:00
Rowan Manning
326991bd6e Reset image styling for the web-profiler toolbar
I've had issues with the toolbar where the site styling pushes
the toolbar info below the image. This is often because of global
image styling such as applying `display: block` by default.

This fixes the issue by reseting image styling to browser
defaults, which is what the toolbar expects.
2012-06-08 11:45:18 +01:00
Fabien Potencier
f8e68e58bf merged branch alexandresalome/twig-linter-context (PR #4452)
Commits
-------

df5590e [TwigBundle] Fix return code in LintComand
604a79a [TwigBundle] Fix line start in twig:lint command
91936b5 [TwigBundle] Fancy output for twig:lint

Discussion
----------

[TwigBundle] Fancy output for twig:lint

Previous PR : #3804

@marcw @fabpot Since no exception is raised, the return code is always 0. Do I add ``return rand(64, 113)`` ?

Screenshot : http://twitpic.com/9qql09

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

by travisbot at 2012-05-29T21:18:33Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1470256) (merged 91936b53 into adf07f1e).

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

by travisbot at 2012-05-29T21:21:54Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1470353) (merged 604a79ab into adf07f1e).

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

by fabpot at 2012-05-30T16:45:24Z

@alexandresalome just return 1 in case of a problem.

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

by travisbot at 2012-06-06T20:06:04Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1550631) (merged df5590ec into adf07f1e).
2012-06-08 09:58:39 +02:00
Fabien Potencier
3c8947e3f1 merged branch shiroyuki/master (PR #4481)
Commits
-------

06cc9ff Adjust the width of the timeline in the profiler dynamically when the (browser) window is resized.

Discussion
----------

Adjust the width of the timeline in the profiler dynamically when the (browser) window is resized.

(Rework of [PR 4476](https://github.com/symfony/symfony/pull/4476))

Instead of making the developer to resize the width of the visual presentation of the timeline in the profile manually, this change is to make the profiler adjust the width of the timeline dynamically when the (browser) window is resized.

Also, this change introduce the cleaner HTML/JavaScript code and URL as the result of:

* the removal of 'width' from the query string as the width is now controlled by JavaScript.
the removal of 'threshold' from the query string as the threshold is now passed between pages via HTML5 LocalStorage.
* Please note that at the time of submitting the pull request, GitHub didn't pick up some commits to deal with the trailing white spaces.

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

by travisbot at 2012-06-01T18:30:49Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1501464) (merged 06cc9ff3 into 1541fe26).
2012-06-08 09:55:41 +02:00
alexandresalome
df5590ec60 [TwigBundle] Fix return code in LintComand 2012-06-06 21:11:24 +02:00
alexandresalome
4d29c7555b [WebProfilerBundle] Add a button "View all" in top of the page
This is a link in the toolbar to search for last queries. This actions is
often achieved and having a link in top of the page to reach the 10 last
queries seems useful.
2012-06-06 21:04:12 +02:00
Juti Noppornpitak
06cc9ff32d Adjust the width of the timeline in the profiler dynamically when the (browser) window is resized. 2012-06-01 14:12:35 -04:00
Joseph Bielawski
2e299aa84f [FrameworkBundle] Sync with latest changes in session handlers 2012-05-30 12:07:22 +02:00
Fabien Potencier
0e98d33ee0 merged branch drak/natives (PR #4454)
Commits
-------

3c8cc0a [HttpFoundation][Sessions] Refactored tests
13a2c82 [FrameworkBundle] Refactor session file handler service name and update changelogs
b2cc580 [HttpFoundation] Removed Native*Handler session save handler classes
f33b77c [HttpFoundation] Added a custom file save handler

Discussion
----------

[HttpFoundation][Sessions] Removed native save handlers

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: -

Added a specific filesessionhandler
Removed native handlers to slim down code.

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

by travisbot at 2012-05-30T02:54:40Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1473181) (merged 3c8cc0a1 into adf07f1e).
2012-05-30 07:57:13 +02:00
Fabien Potencier
f5dee51c9e merged branch schmittjoh/configAttr (PR #4425)
Commits
-------

23bb668 [FrameworkBundle][SecurityBundle] updated configuration to new method names
8775f2c [Config] replaced setInfo(), setExample() with more generic attributes

Discussion
----------

[Config] replaced setInfo(), setExample() with more generic attributes

This replaces ``setInfo`` and ``setExample`` with a more generic attribute system which provides more flexibility and is more future prove.

I have kept the specialized ``setInfo`` and ``setExample`` methods because they are a bit shorter, and also a good demonstration of what the system could be used for. However for consistency, I have renamed them to ``info()`` and ``example()`` respectively.

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

by travisbot at 2012-05-26T17:37:06Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1442720) (merged 8775f2c1 into 9e951991).

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

by stof at 2012-05-26T17:42:02Z

and you forgot to update FrameworkBundle

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

by travisbot at 2012-05-26T17:46:37Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1442764) (merged 23bb668e into 9e951991).
2012-05-30 07:56:53 +02:00
Guilherme Blanco
3ef377b6c3 Update src/Symfony/Bundle/FrameworkBundle/EventListener/TestSessionListener.php 2012-05-30 02:26:39 -03:00
Fabien Potencier
2c6818fefc merged branch vicb/timeline (PR #4440)
Commits
-------

d549493 [WebProfilerBundle] Fix time panel for fr locale (fix #4437)

Discussion
----------

[WebProfilerBundle] Fix time panel for fr locale (fix #4437)

@Vincent-P could you confirm if this commit fixes your issues , Thanks.

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

by travisbot at 2012-05-28T12:39:05Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1455324) (merged d5494936 into adf07f1e).
2012-05-30 07:16:03 +02:00
alexandresalome
604a79aba2 [TwigBundle] Fix line start in twig:lint command 2012-05-29 23:15:22 +02:00
alexandresalome
91936b533d [TwigBundle] Fancy output for twig:lint 2012-05-29 23:06:08 +02:00
Guilherme Blanco
3ad01c0512 Update src/Symfony/Bundle/FrameworkBundle/EventListener/TestSessionListener.php 2012-05-29 15:59:57 -03:00
Victor Berchet
d54949364e [WebProfilerBundle] Fix time panel for fr locale (fix #4437) 2012-05-28 14:33:31 +02:00
Drak
13a2c82f01 [FrameworkBundle] Refactor session file handler service name and update changelogs 2012-05-28 06:09:36 +05:45
Fabien Potencier
adf07f1e53 merged 2.0 2012-05-27 12:30:27 +02:00
Florin Patan
8dd2af77a4 Added Session Metadata info to the Request section of the WDT 2012-05-27 00:21:50 +03:00
Johannes M. Schmitt
23bb668e26 [FrameworkBundle][SecurityBundle] updated configuration to new method names 2012-05-26 12:43:16 -05:00
Johannes M. Schmitt
8775f2c17c [Config] replaced setInfo(), setExample() with more generic attributes 2012-05-26 12:30:39 -05:00
Bernhard Schussek
90516223ab Fixing email 2012-05-26 09:48:33 +02:00
Bernhard Schussek
2e6cdd15c5 [Form] Inverted the logic of "single_control" and renamed it to "compound". The opposite is now "simple". 2012-05-25 12:34:16 +02:00
Bernhard Schussek
98a7c0cf5f [Form] Consolidated FormInterface, FormBuilderInterface and FormViewInterface 2012-05-25 12:34:16 +02:00
Bernhard Schussek
33fecca210 [Form] Merged various form events and added class FormEvent 2012-05-25 12:34:16 +02:00
Bernhard Schussek
8cae3282d8 [Form] setDefaultOptions() is now coded against OptionsResolverInterface 2012-05-25 12:34:16 +02:00
Bernhard Schussek
2cd99e80b6 [Form] Added FormBuilderInterface and FormViewInterface and cleaned up FormTypeInterface and FormTypeExtensionInterface 2012-05-25 12:28:17 +02:00
Bernhard Schussek
027259eba4 [Form] Changed getDefaultOptions() to setDefaultOptions(OptionsResolver $resolver) in FormTypeInterface 2012-05-25 12:28:17 +02:00
Uwe Jäger
8ffaafa867 Make the session entry for the target url firewall dependent.
If there are two firewalls (eg. main and admin), calling an protected admin url
will direct you to the login form of the admin. If I ignore this and go to the login
form of the main firewall directly I will end up being redirected to the stored
admin target url. This is not what you usually want to happen.
2012-05-25 10:47:31 +02:00
Jakub Zalas
8da880c394 Fixed notice in AddCacheWarmerPass if there is no cache warmer defined. 2012-05-24 23:58:50 +01:00
Jakub Zalas
8c6c86c9c9 Added unit tests for AddCacheWarmerPass class. 2012-05-24 23:42:04 +01:00
Fabien Potencier
7f93bf1f5b [TwigBundle] fixed a PHP warning (closes #4397) 2012-05-24 16:44:41 +02:00
Christian Raue
d11af63672 avoid showing the web profiler toolbar loading error if status is 0 2012-05-24 16:06:17 +02:00
Fabien Potencier
95ca5fe11e fixed typo 2012-05-23 17:39:12 +02:00
Christophe Coevoet
7a85b4340b [TwigBundle] Fixed the path to templates when using composer
When installing the bundle and the bridge from the standalone repositories
the relative path between them is different. This simply backports the
change done in symfony 2.1 to allow using subtree repositories with 2.0.x
too.
2012-05-22 22:57:32 +02:00
Christophe Coevoet
40fd99e949 [FrameworkBundle] Added another missing dependency to Config 2012-05-22 23:40:54 +03:00
Christophe Coevoet
47a6a29855 [FrameworkBundle] Added a missing dependency to DI
The bundle class extends ContainerAware so the DI component is a required
dependency of the bundle.
2012-05-22 22:22:14 +02:00
Fabien Potencier
a6b3902128 added the possibility to translate the placeholder and title attributes in the PHP form templates (refs #4194) 2012-05-22 12:23:06 +02:00
Fabien Potencier
fc34ed1f86 merged branch craue/patch-20 (PR #4230)
Commits
-------

64101ab separate numeric value from suffix in File constraint's error message `$uploadIniSizeErrorMessage`
ff122d3 fixed tests
868d649 separate numeric values from suffixes in File constraint's error message `$maxSizeMessage`

Discussion
----------

[Validator] separate numeric values from suffixes in File validation error messages

This change allows me to locale-aware format the numbers in a form theme, i.e., to use a comma instead of a dot. If there's a better way without re-implementing the entire validator, let me know.

Such changes also allow for using a different separator than the usual space in translations.

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

by travisbot at 2012-05-08T19:14:16Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1278845) (merged f7c50098 into e54f4e46).

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

by travisbot at 2012-05-08T19:23:31Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1278940) (merged ce1cdafc into e54f4e46).

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

by r1pp3rj4ck at 2012-05-10T11:05:18Z

I don't know if there is a better way to do this, but I like the idea anyway.

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

by craue at 2012-05-11T14:18:52Z

Separated numeric values and suffixes for `$maxSizeMessage` and `$uploadIniSizeErrorMessage` now. Can't find any other relevant places (in other validators). Might be merged if accepted.

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

by travisbot at 2012-05-11T14:19:10Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1305246) (merged 438da7dd into e54f4e46).

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

by travisbot at 2012-05-11T21:22:25Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1309277) (merged 64101aba into dd0da03c).

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

by sstok at 2012-05-13T13:29:07Z

Using the NumberFormatter class would be an option, but that would also add a dependency when using Validation as stand-alone so using the {{ suffix }} is a good idea.

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

by craue at 2012-05-13T14:15:54Z

Using a NumberFormatter (if available) directly in the validator might indeed be a good option. In either case, having the numeric value separated from its suffix looks cleaner.

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

by craue at 2012-05-19T13:36:00Z

@fabpot: Would you merge this?
2012-05-22 12:14:01 +02:00
Fabien Potencier
976d32ecbf merged branch yethee/ru_plural_trans (PR #4291)
Commits
-------

2f05b40 [FrameworkBundle] Added Russian translations for CollectionSize constraint
d10f33f [FrameworkBundle] Added Russian plural messages

Discussion
----------

[FrameworkBundle] Added Russian plural messages

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

by travisbot at 2012-05-15T09:10:46Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1334630) (merged d10f33f2 into bd07b891).

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

by travisbot at 2012-05-16T13:06:49Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1345310) (merged 2f05b40f into 5314836d).
2012-05-22 12:05:48 +02:00
Fabien Potencier
953547c089 merged branch Tobion/router-parameter (PR #4369)
Commits
-------

bc7043f [Routing] removed unused constructor arguments in test classes
d81fdfe [Routing] fixed namespace of test classes
53aaf76 [Routing] removed unused property of Router

Discussion
----------

[Routing] removed unused property of Router

Test pass: yes
BC break: no

This PR removes an unused property ($defaults) of Router. The property was passed to the constructor of UrlMatcher and UrlGenerator although these classes don't accept this parameter at all. And the dumped equivalents of them (produced by PhpMatcherDumper/PhpGeneratorDumper) don't need this property either.
So passing the $defaults was wrong and the property is not used in any way.
The DI config does not define anything for this property either: [routing.xml](https://github.com/symfony/symfony/blob/master/src/Symfony/Bundle/FrameworkBundle/Resources/config/routing.xml#L52)

The second commit fixes the namespaces of test classes that were wrong.

The third commit removes false arguments in the test classes.

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

by travisbot at 2012-05-22T07:34:03Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1397749) (merged bc7043f1 into e4e3ce6c).
2012-05-22 12:01:44 +02:00
Bernhard Schussek
ac6939441f [Form] Allowed native framework errors to be mapped as well 2012-05-22 09:30:21 +02:00
Tobias Schultze
53aaf76ad0 [Routing] removed unused property of Router 2012-05-22 09:27:43 +02:00
Fabien Potencier
335d4eab86 fixed CS 2012-05-21 22:27:15 +02:00
Fabien Potencier
c01fed0c89 fixed CS 2012-05-21 22:25:19 +02:00
Christophe Coevoet
cdfb0b19d2 Changed composer constraint to allow Doctrine 2.3 too 2012-05-20 22:28:43 +02:00
Fabien Potencier
9b7aab5e94 merged 2.0 2012-05-20 18:16:37 +02:00
Fabien Potencier
26b489f499 fixed CS 2012-05-20 18:15:10 +02:00
Fabien Potencier
58b924533a removed unused use statements 2012-05-19 09:24:13 +02:00
Fabien Potencier
d48d88a05a merged 2.0 2012-05-19 09:24:03 +02:00
Fabien Potencier
cf11cc067f removed unused use statements 2012-05-19 09:22:59 +02:00
Christophe Coevoet
beb8d18411 [WebProfilerBundle] Fixed the displaying of the toolbar in the profiler 2012-05-19 00:31:49 +02:00
Fabien Potencier
3bdf52a16a fixed CS 2012-05-18 19:42:42 +02:00
Fabien Potencier
5014011327 fixed CS 2012-05-18 19:40:45 +02:00
Fabien Potencier
e173d79e34 fixed CS 2012-05-18 19:37:58 +02:00
Fabien Potencier
ec36ae7eda merged 2.0 2012-05-18 19:04:58 +02:00
Fabien Potencier
c9ba077a20 added missing LICENSE files 2012-05-18 19:00:00 +02:00
Christophe Coevoet
fff7221700 Fixed the proxy autoloading for Doctrine 2.2 2012-05-18 00:22:06 +02:00
Alexander Deruwe
6341de025e Be more specific in phpdoc (Fixes #3216) 2012-05-16 20:34:56 +02:00
Deni
2f05b40f28 [FrameworkBundle] Added Russian translations for CollectionSize constraint 2012-05-16 16:40:09 +04:00
Fabien Potencier
5314836d3c merged branch Herzult/feature/collection_size_validator (PR #4149)
Commits
-------

3a5e84f [Validator] Add CollectionSize constraint

Discussion
----------

[Validator] Add CollectionSize constraint

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

I will also send a PR to the documentation as soon as this one is accepted.

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

by bschussek at 2012-04-29T08:24:28Z

-1

I dislike the rising amount of very specific constraints in the core. Can't we add this to Size?

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

by vicb at 2012-04-29T09:01:39Z

@bschussek #3918 implements what you propose but then the messages are not valid any more:

```php
<?php
    public $minMessage = 'This value should be {{ limit }} or more';
    public $maxMessage = 'This value should be {{ limit }} or less';
    public $invalidMessage = 'This value should be a valid number';
```

I can imagine 2 solutions:

- adding some more message,
- rename the `Size` constraint to `Range` and create a new `Size` constraint for arrays / countables.

What do you think ?

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

by bschussek at 2012-04-29T09:27:53Z

I'd prefer the second solution and merge `Size` with `SizeLength` as well.

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

by vicb at 2012-04-29T09:34:50Z

@bschussek It would make sense. @makasim @Herzult any one of you would like to contribute this (i.e. rename the current Size to Range and create a new Size supporting arrays / countables / strings) ?

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

by Herzult at 2012-04-29T14:31:12Z

Yep, I'm on it.

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

by stof at 2012-04-29T15:22:44Z

@Herzult could you take the other comment into account and merge SizeLength into you Size ?

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

by vicb at 2012-04-29T15:33:05Z

The guessers should also be modified (it might also affect the ODM which is in an other repo, if so it would be good to sync the changes).

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

by Herzult at 2012-04-29T16:38:19Z

@stof the problem merging SizeLength into Size is that they don't have the same required options & messages.

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

by Herzult at 2012-04-29T16:47:40Z

And what about renaming Range to Interval and SizeLength to IntervalLength?

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

by stof at 2012-04-29T16:54:38Z

Well, SizeLength is about matching the length of a string currently. Nothing related to intervals

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

by Herzult at 2012-04-29T17:29:40Z

Here are the current names:

 * **Size** for collection (countable) size
 * **Range** for numbers
 * **SizeLength** for strings

Merging **SizeLength** into **Size** is maybe not appropriate because collections and strings are different things. It'll be hard to find messages that fit both collections and strings. Maybe we had better to find a better name for both. What do you think?

About the ValidatorTypeGuesser, I'll update it as soon as we know ow to name the constraints.

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

by vicb at 2012-04-29T17:43:01Z

Size is a good name for both strings and "collections", could we have two sets of strings and select according to the type ?

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

by Herzult at 2012-04-29T22:39:55Z

I tried to merge them together, what do you think?

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

by vicb at 2012-04-30T06:52:37Z

I think your changes are great, may be @bschussek has more feedback. The ValidatorTypeGuesser and the translation are yet to be updated.

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

by hhamon at 2012-05-01T12:32:28Z

Am I missing something or `SizeLength` for strings is a duplicate for `MinLength` and `MaxLength` constraints?

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

by Herzult at 2012-05-02T13:29:36Z

Yep, that's true. But the only link between this PR and the SizeLength constraint is that I merged it to the one I introduced.

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

by Herzult at 2012-05-07T07:48:01Z

@bschussek what do you think?

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

by vicb at 2012-05-10T19:51:26Z

@Herzult this PR looks good to me, could you update the changelog and update guides, try to factorize the code and squash the commits ? Thanks.

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

by travisbot at 2012-05-11T15:42:35Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1306112) (merged 8d8e6443 into 4ac3bddb).

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

by vicb at 2012-05-11T21:42:21Z

* could #4259 be helpful ?
* please squash the commits.
* please create a PR / issue on [symfony-docs](https://github.com/symfony/symfony-docs)

thanks for the updates.

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

by travisbot at 2012-05-13T18:38:18Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1321123) (merged eeda9044 into 4ac3bddb).

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

by travisbot at 2012-05-13T18:45:12Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1321146) (merged 491ca19a into 8b54eb56).

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

by travisbot at 2012-05-14T11:29:39Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1326110) (merged 44865024 into 8b54eb56).

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

by vicb at 2012-05-14T11:49:37Z

@Herzult what about plural translations ?

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

by travisbot at 2012-05-14T16:52:37Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1328677) (merged 93480f95 into 46ffbd52).

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

by travisbot at 2012-05-14T17:03:13Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1328705) (merged 326c3b81 into 46ffbd52).

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

by vicb at 2012-05-14T20:19:18Z

thanks for the updates, this PR looks fine to me. @bschussek ?

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

by vicb at 2012-05-16T06:45:51Z

@Herzult can you squash your commits ?

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

by travisbot at 2012-05-16T11:20:44Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1344811) (merged 3a5e84f4 into 58b6ef23).
2012-05-16 14:22:22 +02:00
Antoine Hérault
3a5e84f4a7 [Validator] Add CollectionSize constraint
[Validator] Rename constraint Size to Range

[Validator] Rename constraint CollectionSize to Size

[Validator] Merge the SizeLength into the Size constraint

[Validator] Update messages in Size constraint for consistancy

[Validator] Add english and french translation for Size messages

[Validator] Tweak expected types for exceptions in SizeValidator

[Validator] Fix CS in SizeValidator

[Validator] Update the ValidatorTypeGuesser

[Validator] Tweak SizeValidator

[Validator] Update CHANGELOG

[Validator] Complete previous CHANGELOG updates

[Form] Update validator type guesser

[Validator] Pluralize collection size english messages

[Validator] Pluralize Size french messages
2012-05-16 13:15:05 +02:00
Fabien Potencier
41621e42e9 fixed phpdoc @param alignment 2012-05-15 22:19:31 +02:00
Fabien Potencier
ce9791246b fixed phpdoc @param alignment 2012-05-15 18:56:32 +02:00
Fabien Potencier
03d4b0264f merged 2.0 2012-05-15 18:49:53 +02:00
Fabien Potencier
ec45169f4f merged branch robocoder/autoloader (PR #4168)
Commits
-------

b2afd9f use require instead of include
1ed8b72 Autoloader should not throw exception because PHP will continue to call other registered autoloaders.

Discussion
----------

[DoctrineBundle] Proxy autoloader should not throw exception

Also change 'require' to non-fatal '@include' in the event no file is generated.

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

by stof at 2012-05-01T06:13:34Z

The goal of the exception was to make debugging easier. And all Symfony2 autoloaders are using ``require``

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

by robocoder at 2012-05-01T16:09:04Z

I changed the include back to a require.

Whether or not the exception makes debugging easier is debatable.  But throwing an exception from an autoloader is both unconventional and unexpected given that (1) exceptions are propagated while php calls other registered autoloaders, and (2) php will throw a fatal error where the usage actually occurs if the class doesn't exist.

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

by fabpot at 2012-05-15T06:01:11Z

ping @beberlei

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

by beberlei at 2012-05-15T10:20:06Z

Its tricky, the message does try to give some additional information - but later autoloaders could handle this issue anyways. I guess the PR makes sense as users have absolutely no control over this autoloader and it should therefore behave less strictly.
2012-05-15 12:45:21 +02:00
Deni
d10f33f271 [FrameworkBundle] Added Russian plural messages 2012-05-15 13:06:46 +04:00
Fabien Potencier
114c34f82a [WebProfilerBundle] re-added a div that were removed during the last update of the toolbar (closes #4265, #4282) 2012-05-15 08:58:05 +02:00
Olivier Dolbeau
3623580742 Add missing PHPDoc 2012-05-14 17:06:14 +02:00
nomack84
b804b942a8 Fixed style for the abbr tag 2012-05-14 08:40:40 -04:00
Fabien Potencier
459942b456 merged branch sstok/patch-2 (PR #4272)
Commits
-------

498b814 [FrameworkBundle] minor fix in TranslationUpdateCommand <info> was not properly closed.

Discussion
----------

[FrameworkBundle] TranslationUpdateCommand <info> was not properly closed.

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

by travisbot at 2012-05-13T13:43:06Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1319869) (merged 498b8140 into e1934527).

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

by fabpot at 2012-05-13T17:06:25Z

Can you reopen a PR on the 2.0 branch as this is a bug fix? Thanks.

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

by stof at 2012-05-13T18:09:39Z

@fabpot this command is a 2.1 feature (even if it was added 6 month ago and so seems already old). There is nothing to fix in 2.0
2012-05-13 20:52:26 +02:00
Sebastiaan Stok
498b81409f [FrameworkBundle] minor fix in TranslationUpdateCommand <info> was not properly closed. 2012-05-13 16:37:31 +03:00
Matthieu Moquet
9f772c78f3 [WDT] Ajusted the color of the PHP logo
Since the redesign of the Web-Debug-Toolbar, a new PHP icon has been
set, but its color was a bit darker (#000000) than the other icons in
the toolbar (#302e32 for the Symfony2 logo). This commit aims to ajust
the background color of the PHP logo to keep a certain homogeneity.
2012-05-12 22:27:28 +02:00
Christian Raue
64101aba0a separate numeric value from suffix in File constraint's error message $uploadIniSizeErrorMessage 2012-05-11 23:15:32 +02:00
Christian Raue
868d649d5c separate numeric values from suffixes in File constraint's error message $maxSizeMessage 2012-05-11 23:15:29 +02:00
nomack84
147cab749f [WDT] Fix the color of Documentation link to keep concistence.
This pull request is to make the Documentation link black as the other links of the WDT

Styled the WDT links and refactored the profiler token link.
2012-05-11 14:33:27 -04:00
Fabien Potencier
266b686017 merged branch hason/plural_validators (PR #4259)
Commits
-------

030dd2f Added English plural messages
077a594 Added Czech plural messages

Discussion
----------

Plural validators

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

by travisbot at 2012-05-11T08:47:46Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1303101) (merged 030dd2fa into 554e0738).
2012-05-11 18:21:19 +02:00
Fabien Potencier
4c7261e3b1 merged 2.0 2012-05-11 18:14:47 +02:00
Martin Hasoň
030dd2facc Added English plural messages 2012-05-11 10:43:23 +02:00
Fabien Potencier
554e073822 merged branch Tobion/doc-link (PR #4140)
Commits
-------

709be4b [WDT] added documentation link

Discussion
----------

[WDT] added documentation link

This adds a documentation link in the WDT for the appropriate branch according to the current symfony version.
@weaverryan there is no documentation branch yet for the currently created 2.1 branch.
Also it might be a nice feature to redirect the dev branch to master automatically on the website. I.e. `http://symfony.com/doc/2.1/index.html` -> `http://symfony.com/doc/master/index.html`
@fabpot It might be a good idea to introduce a `Kernel::BRANCH` constant. So there would be no need to extract the branch from the symfony version in `ConfigDataCollector`. And bumping new versions/branches would be in one place.

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

by vicb at 2012-04-27T14:17:07Z

Maybe the documentation server should redirect to the right version according to `Kernel::VERSION` (i.e. using rewritting) ?

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

by Tobion at 2012-04-27T14:31:49Z

That would be best yes.

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

by fabpot at 2012-05-10T06:03:45Z

FYI, I've added some more constants about the Symfony version: 48099a852c (modeled after PHP constants)

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

by fabpot at 2012-05-10T07:08:57Z

I've just updated the website to accept any `HttpKernel::VERSION` string. Some redirection examples:

 * 2.0.12 -> current
 * 2.0 -> current
 * 2.0.12-DEV -> current
 * 2.1 -> master
 * 2.1.0-DEV -> master

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

by Tobion at 2012-05-10T12:49:16Z

👍 for updating the website. But I think you missed to return 404 for a non-existent main doc page.
http://symfony.com/doc/2.4/book/controller.html -> 404 as expected
http://symfony.com/doc/2.4/index.html -> does not return 404 (and all links there are dead)

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

by travisbot at 2012-05-10T15:12:07Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1296057) (merged 04adf361 into a01dec00).

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

by fabpot at 2012-05-10T17:21:06Z

I've fixed the doc index for non-existing versions. Can you squash your commits before I merge? Thanks.

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

by Tobion at 2012-05-10T22:49:18Z

done

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

by travisbot at 2012-05-10T22:52:13Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1300414) (merged 709be4b7 into fae4523f).
2012-05-11 06:51:34 +02:00
Tobias Schultze
709be4b712 [WDT] added documentation link
the doc server redirects to the correct branch according to the symfony version
2012-05-11 00:46:43 +02:00
Ondrej Slinták
f2caf07f83 Fixed minor typo in slovak translation (validator.sk.xliff). 2012-05-10 16:11:03 +03:00
Martin Hasoň
077a5949ab Added Czech plural messages 2012-05-10 09:41:12 +02:00
corphi
be350994cc Replaced &raquo; and &nbsp; for XHTML compatibility 2012-05-09 03:07:25 +03:00
corphi
0a0e74b9af Replaced &raquo; by &#187; (for XHTML compatibility) 2012-05-09 03:05:23 +03:00
Fabien Potencier
fe6b26c5d0 [TwigBundle] updated CHANGELOG 2012-05-07 10:53:05 +02:00
Fabien Potencier
6e6eb6c462 merged branch symfony/escaping-839 (PR #4105)
Commits
-------

1e84f1e [TwigBundle] implemented context auto-escaping in Twig templates based on the template extension

Discussion
----------

[2.2] Implements context escaping for Twig (fixes #839)
2012-05-07 10:51:11 +02:00
Fabien Potencier
3719c70870 updated minimum PHP version to 5.3.3
5.3.3 has some interesting fixes and this is the version used by
Redhat 6 and Debian 6
2012-05-07 10:29:11 +02:00
Stéphane PY
bc63fb26be Fix some cs 2012-05-04 00:17:06 +02:00
Anthon Pang
b2afd9ff46 use require instead of include 2012-05-01 11:33:50 -04:00
Fabien Potencier
26f933e7bd fixed CS 2012-05-01 15:23:48 +02:00
Anthon Pang
1ed8b720ac Autoloader should not throw exception because PHP will continue to call other registered autoloaders.
Change 'require' to non-fatal '@include' in the event no file is generated.  Let PHP handle the undefined class, natively.
2012-04-30 22:25:24 -04:00
Gábor Egyed
fa45f0e288 [FrameworkBundle] updated hungarian validator messages 2012-04-30 22:20:05 +02:00
Uwe Jäger
7fe236a44d [Security] Configure ports in RetryAuthenticationEntryPoint according to router settings
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes

Currently the ports in RetryAuthenticationEntryPoint are fixed in the constructor call, there is no way to set them when you run your application on different ports.

With this fix the ports are taken from the router configuration.
2012-04-30 16:39:18 +02:00
Fabien Potencier
9fbf8555f0 Revert "merged branch Seldaek/master (PR #4133)"
This reverts commit 00e7a94a8c, reversing
changes made to a01dec00f4.
2012-04-27 19:55:40 +02:00
Fabien Potencier
091ede2dd1 merged branch bschussek/issue3994 (PR #4046)
Commits
-------

246c885 [Form] Fixed: Default value of 'error_bubbling' is now determined by the 'single_control' option
d3bb4d0 [Form] Renamed option 'primitive' to 'single_control'
167e64f [Form] Fixed: Field attributes are not rendered in the label anymore. Label attributes are now passed in "label_attr"
68018a1 [Form] Dropped useless test that is guaranteed by OptionsParser tests and that needs to be adapted very often
649752c [Form] Fixed: CSRF token was not displayed on empty complex forms
c623fcf [Form] Fixed: CSRF protection did not run if token was missing
eb75ab1 [Form] Fixed results of the FieldType+FormType merge.

Discussion
----------

[Form] Fixed errors introduced in the FieldType+FormType merge

Bug fix: yes
Feature addition: no
Backwards compatibility break: yes
Symfony2 tests pass: yes
Fixes the following tickets: #3994, #4000, #2294, #4118
Todo: -

![Travis Build Status](https://secure.travis-ci.org/bschussek/symfony.png?branch=issue3994)

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

by Tobion at 2012-04-22T15:39:20Z

`primitive` is a pretty abstract option name. It depends on the person what he considers primitive. Maybe more explicit naming or better documentation what it means.

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

by bschussek at 2012-04-22T15:47:29Z

Better suggestions?

The distinction here is between primitive and complex forms, where primitive forms are such forms that can be represented by a single HTML tag. This obviously needs to be documented.

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

by Tobion at 2012-04-22T15:49:45Z

Maybe `single_widget` or something like that.

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

by vicb at 2012-04-23T13:09:43Z

@Tobion @bschussek would `elementary` be better than `primitive` ?

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

by vicb at 2012-04-23T13:17:04Z

and `compound \ composite` better than `complex` ?

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

by bschussek at 2012-04-23T14:08:33Z

@vicb I fail to see how elementary/compound is easier to understand than primitive/complex. Maybe single_widget, but what's the opposite of this case? multi_widget?

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

by vicb at 2012-04-23T14:15:09Z

Actually I am fine with anything... as long as it is documented.

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

by bschussek at 2012-04-23T14:22:31Z

Still I think that this unveals a more profound naming problem. How do we (also in the documentation) name forms with children (formerly "forms") and forms without children (formerly "fields")?

Should we refer to them as

* forms and fields?
* complex and primitive forms?
* ...

We must first answer this question before we can find an intuitive option name. If the documentation always switches between different terminologies, neither will it be understandable nor will this option be easy to remember.

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

by vicb at 2012-04-23T15:10:32Z

> Still I think that this unveals a more profound naming problem. How do we (also in the documentation) name forms with children (formerly "forms") and forms without children (formerly "fields")?

To make it clear, I would rather say forms that **can have** children and forms that **can not have** children (i.e. Empty collections have no children but they can have and this is reason why you have to introduce those options, right ? - that could be a good example for the doc).

It will probably be better to refer to "complex" / "primitive" forms in the doc (and use the "form" / "field" terms to explain them).

Note: I think @Tobion concern is that "primitive" / "complex" could be pejorative terms (this is why I have proposed "elementary" / "compound").

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

by Tobion at 2012-04-23T16:00:54Z

1. primitive/complex is subjective (and could be pejorative too)
2. elementary/compound is more explicit so probably better than primitive/complex
3. I dislike this option in general. Does it make sense to change this option from a user perspective? I guess it's always the same as long as the widget structure stays the same. So it should be resolved at a higher level dynamically from the widget structure and not exposed to any configuration.
4. In documentation I would use the terms forms and fields. Because all people with HTML knowledge will understand that fields cannot have sub-fields whereas forms can. But since this distinction is not findable in code, it should be mentioned that all these are implemented as a form hierarchy.

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

by mvrhov at 2012-04-23T16:02:00Z

how about simple and complex?

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

by bschussek at 2012-04-23T16:06:33Z

@Tobion It does not make sense to change this option from the user perspective, still the overloading type has to propagate to FormType whether it is a form or a field, so that the default behaviour is correct.

A second option how to implement this is to add a method `isField` to FormTypeInterface that can be overloaded and receives the options. I don't really like to introduce new methods here unless absolutely required.

What about renaming the option "primitive" to "is_field"? The blocks in the template would then be named "form_widget_field" and "form_widget_form".

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

by tristanbes at 2012-04-25T14:01:06Z

Oh, I should've seen this before, i thought I was doing something wrong. (empty collections gets an input field bug)

Please big :UP: on this. When will it be merged ? @bschussek

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

by Tobion at 2012-04-25T15:30:28Z

+1 for "is_field" and "form_widget_field" but I would rather use "form_widget_compound" instead of "form_widget_form" which is quite strange.

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

by bschussek at 2012-04-26T16:34:04Z

@Tobion "simple" and "compound" then?

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

by Tobion at 2012-04-26T16:49:58Z

no "field" and "compound"

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

by bschussek at 2012-04-26T17:17:02Z

I don't like "field" for a simple reason: Consider the "date" type. We are typically speaking of the "date" field there. But technically, the "date" field is a compound field. So?

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

by Tobion at 2012-04-26T21:17:37Z

I don't understand the open question. You proposed "is_field" and "form_widget_field" yourself. So calling the template block "form_widget_field" is a comprehensible consequence of "is_field". I wouldn't call the date type with multiple inputs a field.

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

by tristanbes at 2012-04-26T21:52:39Z

We should take a decision cause right here i got all my forms that are broken because of the empty collection rendering as input field :-).

I guess we are many in that situation.

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

by bschussek at 2012-04-27T08:28:16Z

I renamed "primitive" to "single_control" now to match with the HTML specification which names all input elements (input, select etc.) "controls". The opposite is now "compound".

Meanwhile, I added a fix for #4118.

@fabpot This is ready for merge now.

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

by Tobion at 2012-04-27T10:22:49Z

Hm, I know naming things is hard and sometimes not really important. But since users need to know which block to override, it is essential to make it clear. I think there is still one issue.
The block is named `form_widget_single_control` in order, as you said, to abstract away if it's an input, select etc. But in fact it can only render `input` and nothing else. So this is misleading.
So you could also simply name it `form_widget_input`.
Apart from that I agree with everything.
2012-04-27 19:13:34 +02:00
Jordi Boggiano
00c4267726 Update branch aliases 2012-04-27 12:47:50 +02:00
Bernhard Schussek
d3bb4d085c [Form] Renamed option 'primitive' to 'single_control' 2012-04-27 10:18:25 +02:00
Bernhard Schussek
167e64f799 [Form] Fixed: Field attributes are not rendered in the label anymore. Label attributes are now passed in "label_attr" 2012-04-27 09:48:34 +02:00
Bernhard Schussek
eb75ab1b74 [Form] Fixed results of the FieldType+FormType merge. 2012-04-27 09:47:16 +02:00
Fabien Potencier
ae9b7fcad1 merged branch hollodk/master (PR #4127)
Commits
-------

e590b7a Fixed a typo

Discussion
----------

fix for issue #4123

Translation issue... fixed a typo.
2012-04-26 22:56:43 +02:00
Fabien Potencier
8e9db446f9 [FrameworkBundle] added CHANGELOG 2012-04-26 22:54:51 +02:00
Fabien Potencier
92ec62ef1e [SecurityBundle] added CHANGELOG 2012-04-26 22:54:07 +02:00
Fabien Potencier
5f50b944ee [TwigBundle] added CHANGELOG 2012-04-26 22:53:20 +02:00
Fabien Potencier
6e8b369cbb [WebProfilerBundle] added CHANGELOG 2012-04-26 22:50:45 +02:00
Michael Holm
e590b7a91c Fixed a typo 2012-04-26 21:42:30 +02:00
Michael Holm
a1267a66dd Fixed the danish to be the same in all the validations..
English:
The value is not a country.

Danish translation in the latest commit:
Denne værdi er ikke et land.

Danish translation in the first commit and mine version:
Værdien er ikke et land

So this commit is simply to make the danish translation the same, and
not two different expressions..
2012-04-26 13:57:23 +02:00
Michael Holm
4092dc3359 Updated danish translation. 2012-04-26 13:54:57 +02:00
Tobias Schultze
b180c01f7c added link in config panel 2012-04-26 02:11:38 +02:00
Tobias Schultze
3551b29683 [WebProfiler] added phpinfo 2012-04-26 01:51:17 +02:00
Daniel Gomes
ad5e0979cd updated pt (portuguese) translations 2012-04-25 13:15:39 +01:00
Daniel Gomes
7172378cf1 updated pt (portuguese) translations 2012-04-25 13:13:54 +01:00
Daniel Gomes
4f409b5789 updated pt (portuguese) translations 2012-04-25 13:04:41 +01:00
Fabien Potencier
1e84f1eef1 [TwigBundle] implemented context auto-escaping in Twig templates based on the template extension 2012-04-25 12:25:06 +02:00
Fabien Potencier
76ef8da030 merged 2.0 2012-04-25 12:18:06 +02:00
Fabien Potencier
66090ffec0 merged branch pminnieur/patch-3 (PR #4099)
Commits
-------

a210920 fixed indention

Discussion
----------

fixed indentation
2012-04-24 21:17:41 +02:00
Drak
f209f4fc88 Typo spelling mistake 2012-04-24 22:43:51 +05:45
Pierre Minnieur
a21092012f fixed indention 2012-04-24 18:36:09 +03:00
Ziumin
2e7d3b19c1 http_build_query fix 2012-04-23 10:56:52 +03:00
Fabien Potencier
b0a6956bdc merged branch willdurand/fix-composer-json (PR #4066)
Commits
-------

e344609 [DependencyInjection] Fixed composer.json
1aa0786 [FrameworkBundle] Fixed composer.json
3601f61 [DoctrineBridge] Fixed composer.json

Discussion
----------

Fix composer json

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

by jalliot at 2012-04-22T14:22:24Z

`suggest` no longer requires a version constraint. While you're at it, maybe you could change those to more meaningful strings explaining what each optional dependency provides.

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

by willdurand at 2012-04-22T14:24:27Z

I know, but the version is fine. It's more up to @fabpot to add description in each `suggest` entries.
Anyway, this is not the purpose of this PR. If you want to contribute on that, feel free :)
2012-04-22 18:51:57 +02:00
William DURAND
1aa07869f2 [FrameworkBundle] Fixed composer.json
'recommend' section no more exists
2012-04-22 15:36:25 +02:00
Florin Patan
e1cf54c24b Small fixes for the WDT 2012-04-22 14:17:46 +03:00
Ryan Weaver
a9d8197d21 Removing the security_factories.xml file - not needed after sha: 413756c103 2012-04-21 17:16:58 -05:00
Fabien Potencier
6c714095fa merged branch ruimarinho/profiler_ie7 (PR #4032)
Commits
-------

ffc074b [Profiler] Fixed IE7 JavaScript errors

Discussion
----------

[Profiler] Fixed IE7 JavaScript errors

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

Requires merge of another [PR](https://github.com/doctrine/DoctrineBundle/pull/61) available on the `doctrine/DoctrineBundle` repository (compatibility changes to `db.html.twig`).

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

by fabpot at 2012-04-20T14:15:22Z

That does not work for me.
2012-04-20 17:01:54 +02:00
Rui Marinho
ffc074be54 [Profiler] Fixed IE7 JavaScript errors 2012-04-20 15:51:44 +01:00
Fabien Potencier
14b3b05866 [TwigBundle] added missing entry in the XSD schema 2012-04-20 16:29:04 +02:00
Victor Berchet
7ddc8cbb9c [FrameworkBundle] Monitor added/removed translations files in dev (fix #3653) 2012-04-20 16:06:46 +02:00
Victor Berchet
3937561b20 [FrameworkBundle] Look for translations in %kernel.root_dir%/Resources/%bundle%/translations (fix #4018) 2012-04-20 14:17:18 +02:00
Fabien Potencier
539634cbaa merged 2.0 2012-04-20 12:18:51 +02:00
Fabien Potencier
56a4ab7903 made some private protected as many users needs to override the default implementation anyway (closes #3942) 2012-04-20 09:20:31 +02:00
Fabien Potencier
e1c8a2fdbd [WebProfilerBundle] made some small changes to the WDT 2012-04-20 08:44:34 +02:00
Fabien Potencier
f7287db9be [WebProfilerBundle] deprecated the verbose option for the WDT as this is not needed anymore (responsive design FTW) 2012-04-20 08:22:09 +02:00
Fabien Potencier
e2326a7b73 merged branch shiroyuki/master (PR #3850)
Commits
-------

75c7d3a Fixed the link to the method with onclick event.
ecbabec renamed 'Request handler' to 'Controller' and 'Route ID' to 'Route name'.
3c5ede4 Add a new query to display all information.
f6a866b Merged CSS for the toolbar in both embedded mode (on each page) and profiler.
306533b Updated the responsive design in addition to the scenario with authenticated users and exception notification.
4a3312b Updated the toolbar with the responsive design (normal-to-large scenario).
1eec2a2 Updated the toolbar with the responsive design (normal-to-small scenario).
03c8213 Refactored the CSS code for the toolbar out of the template.
37843b3 Updated with PHP logo (only the text).
d5e0ccc Made the toolbar to show the version, memory usage, the state of security (both a abbreviation and an associate description) and number of DB requests and request time.
37ad8a6 Removed the check for verbose and adjusted the style when the toolbar is on the top of the page.
67b0532 Redesigned the WDT.

Discussion
----------

Re-design the debugging toolbar

The toolbar is very useful and containing lots of information. However, as there are too much information, it is very distracting and the toolbar area somehow ends up taking too much space and then becomes something like a panel.

The main purpose of this pull request is to hide any information and show only whenever the user wants to see, except the status code and response time.

This is based on [the pull request #3833](https://github.com/symfony/symfony/pull/3833) with the feedbacks and for 2.1 (master).

The testing app is available at http://home.shiroyuki.com.

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

by stof at 2012-04-10T06:24:36Z

@shiroyuki your testing app denies the access because of the restriction in app_dev.php

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

by shiroyuki at 2012-04-10T06:27:27Z

@stof: I'm sorry. It should be working now.

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

by stof at 2012-04-10T06:45:39Z

Moving the toolbar to the top of the page means it will hide some content of the page. You should keep it at the bottom

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

by shiroyuki at 2012-04-10T06:48:28Z

Just a moment ago, I changed the position of the toolbar via `config_dev` so I could check when WDT is on the top.

I just reverted the config file. :D

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

by fabpot at 2012-04-10T06:55:16Z

Some comments:

 * I would have kept the number of database request as this number is probably the one everybody should have a look at on every page.
 * I would have used the original PHP logo (in black and white) instead of a non-standard one

But overall, this is a very nice improvement.

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

by stloyd at 2012-04-10T06:55:43Z

There is an issue with "bubbling" at Firefox 11 (at least), when you hover `<a>` element, the hover event seems to be "launched" twice.

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

by fabpot at 2012-04-10T06:56:13Z

As the verbose mode has been removed from the template, it should also be removed from the configuration (I can do that after merging if you don't know how to do that).

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

by shiroyuki at 2012-04-10T07:05:31Z

@stloyd I noticed that too. As I couldn't find the same issue on Webkit-based browsers and all effects on this toolbar heavily relies on CSS, it could have been a glitch on Firefox.

@fabpot I'll see what I can do with the number of DB request and the logo.

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

by asm89 at 2012-04-10T07:26:28Z

Will there be options to somehow keep the debug toolbar 'expanded' or something? I guess the folding of the sf and php information makes sense, but I personally look at the request/time/memory/security and query parts of the toolbar a lot. As my browser window is big enough to show all information at once, this would be a huge step backwards imo.

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

by XWB at 2012-04-10T07:28:38Z

Agreed with @asm89, I also want the option to show all the information on my screen.

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

by fabpot at 2012-04-10T08:28:00Z

I tend to agree too with @asm89. What about reusing the `verbose` option for that. This was already its purpose anyway.

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

by shiroyuki at 2012-04-10T14:56:45Z

How about using media query?

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

by shiroyuki at 2012-04-11T02:20:32Z

Please note that the latest commit still doesn't have the new logo for PHP.

As DoctrineBundle now has its own repository, the change to show the number of DB requests is already done via DoctrineBundle's [PR 57](https://github.com/doctrine/DoctrineBundle/pull/57).

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

by guilhermeblanco at 2012-04-11T02:50:47Z

@fabpot @shiroyuki as soon as this patch is merged I will do the same on DoctrineBundle.
All you need to do is look at me over our desks' separator. =D

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

by shiroyuki at 2012-04-11T03:17:41Z

The last commit has the updated PHP logo. Unfortunately as @stloyd and @guilhermeblanco pointed out, the flicking on the toolbar when the mouse is over might have been due to the CSS issue on Firefox.

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

by Tobion at 2012-04-11T04:46:36Z

Nice work shiroyuki. I always had the feeling the toolbar can be improved. Good that you got this one going.
I would remove the verbose option (rarely nobody changes it) and use media queries to accomplish a responsive design that shows as much information as possible. And only shows the most important facts when there is not enough space.
E.g. the symfony version could be removed if it doesn't fit on the screen because it's mostly static from request to request.

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

by Tobion at 2012-04-11T04:48:45Z

Another idea: Add a panel "PHP Info" to the profiler that shows the output of `phpinfo()`. This panel is linked from the PHP logo in the WDT which currently has no link on it.

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

by shiroyuki at 2012-04-11T15:47:51Z

@Tobion: It would be an overkill if `phpinfo()` was visible in the toolbar. Additionally, the toolbar doesn't fit to show that amount of information. Plus, the information released by `phpinfo()` is also static and easily obtained by a simple PHP script. I don't think that WDT should be showing this information.

Please note that the media query is not yet implement. The followings are still unknown to me:

* should we support the toolbar for mobile device?
* what is the minimum screen size?

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

by Tobion at 2012-04-11T15:52:43Z

@shiroyuki you misunderstood me. phpinfo() should be a new panel in the PROFILER, not the WDT. It is reachable from the WDT by clicking on the PHP logo. But that can be implemented in a seperate PR. It's just an idea and before I would implement it, I'd like to receive feedback if it would be accepted at all.

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

by fabpot at 2012-04-11T16:38:44Z

Displaying `phpinfo()` data is not in the scope of this PR.

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

by Tobion at 2012-04-11T16:48:50Z

@fabpot yeah. But would you accept such a PR or do you think it's not useful?

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

by fabpot at 2012-04-11T16:57:49Z

@Tobion The web profiler is mainly about information for the current request; so I'm not sure it would be useful to have such a tab in the profiler.

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

by vicb at 2012-04-11T17:06:15Z

@fabpot @Tobion what about adding it in the config panel ? Not sure if it is very useful but I have seen to many `phpinfo.php` in the web root folder. (It could be an expandable panel loaded via ajax like what is used for the Doctrine explain panel).

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

by shiroyuki at 2012-04-12T03:11:40Z

@tobian @vicb: what kind of information are you looking from `phpinfo()`?

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

by Felds at 2012-04-12T03:30:02Z

The equivalent for `phpinfo()` was extremely convenient and helped a lot in Symfony 1. It's out of scope but an optional panel could be nice.
Ini flags are of great help when debugging on a hurry.

👍 for that!

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

by Tobion at 2012-04-12T03:37:52Z

@shiroyuki I don't understand your question. Everything of it should be displayed. But don't worry about phpinfo(), I'll work on that in a seperate PR. You can focus on the responsive design. ;)

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

by vicb at 2012-04-12T06:54:35Z

@shiroyuki I am not looking for anything specific. Just saying I have seen many times customer code using a publicly accessible file to return the info and it would help to get ride of this file.

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

by sstok at 2012-04-12T07:59:18Z

```
should we support the toolbar for mobile device?
```

Good question, I don't think so because the screen-size is to small to show anything useful.
Maybe a small icon to display the information as overlay, including the token so you can refer to that on a bigger screen?.

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

by johnnypeck at 2012-04-13T06:45:43Z

If your interested in a useful but not so intrusive way of providing the toolbar on mobile devices perhaps take a look at what the guys at Twitter have done with the topbar navigation converting to a semi-accordion style menu on mobile in Bootstrap. I can see the usefulness. Checkout the responsive.less which makes it easy enough to include/exclude depending on screen size. I found it quite useful in a recent project.

Regarding adding a tab for phpinfo, sure it would be useful BUT if the reasoning is that some people leave a publicly available phpinfo script therefore just include it then I would not include it. There are many more useful requirements of the toolbar rather than to insulate intro to web issues. That's like saying don't include the toolbar because someone may build an application that makes the toolbar available publicly (which will happen). I've seen too many projects in my years having no clue of versioning tools that must have been built on the server, live, with filenames like indexv1.php, indexv2.php, indexTryAgain.php, db credentials in the clear, and just hoping to find a point where it works enough. And yes, I've found those scripts were publicly available and still around years after they were created; security holes and all! I'm preaching to the choir here. You'll never stop stupid. All we can do is educate by any means we have and share our knowledge with one another. Aside from that devils advocate reasoning, I would include the phpinfo tab, it does make sense in those random "did I/they compile that in" circumstances. ;-) Sorry for the rant.

+1 for mobile
sorta+1 for phpinfo
+10 for better educating on how to include anything you need so phpinfo could be a "my first foray into adding a tool to my toolbar for Symfony" tutorial in the cookbook.

Again, sorry for the long winded rant. Cheers everyone. Goodnight.

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

by shiroyuki at 2012-04-13T23:33:21Z

@stof I think we can remove the CSS.
2012-04-20 08:12:25 +02:00
Sebastiaan Stok
89a1cdb1bc Fixed grammar error. "tenminste" (instead of) -> "ten minste" (at minimum).
http://www.onzetaal.nl/taaladvies/advies/tenminste
2012-04-19 11:45:13 +03:00
Victor Berchet
99ec873134 [Form] Fix the FormTypeValidatorExtension (required by PR 3923) 2012-04-18 18:43:28 +02:00
Drak
3939c90944 [FrameworkBundle] Fix TraceableEventDispatcher unable to trace static class callables 2012-04-18 20:30:08 +05:45
Fabien Potencier
85bb439356 merged branch bschussek/issue3878 (PR #3923)
Commits
-------

6e4ed9e [Form] Fixed regression: bind(null) was not converted to an empty string anymore
fcb2227 [Form] Deprecated FieldType, which has been merged into FormType
bfa7ef2 [Form] Removed obsolete exceptions
2a49449 [Form] Simplified CSRF mechanism and removed "csrf" type

Discussion
----------

[Form] Merged FieldType into FormType

Bug fix: no
Feature addition: no
Backwards compatibility break: yes
Symfony2 tests pass: yes
Fixes the following tickets: #3878
Todo: update the documentation on theming

![Travis Build Status](https://secure.travis-ci.org/bschussek/symfony.png?branch=issue3878)

This PR is a preparatory PR for #3879. See also #3878.

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

by juliendidier at 2012-04-13T14:25:19Z

What's the benefit ?

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

by henrikbjorn at 2012-04-13T14:26:40Z

why `input_widget` ? and not just `widget`

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

by Burgov at 2012-04-13T14:27:49Z

@juliendidier dynamic inheritance is now obsolete which fixes some other issues

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

by stloyd at 2012-04-13T14:37:26Z

What about __not__ breaking API so *badly* and leaving `FieldType` which will be simple like (with marking as deprecated):

```php
<?php

class FieldType extends AbstractType
{
    public function getParent(array $options)
    {
        return 'form';
    }

    public function getName()
    {
        return 'field';
    }
}

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

by bschussek at 2012-04-13T14:43:41Z

@stloyd That's a very good idea.

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

by mvrhov at 2012-04-13T17:41:21Z

IMHO what @stloyd proposed sounds like a good idea, but removing FieldType class, if #3903 will come into life might ensure that more forms will broke and people will check them thoroughly.

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

by r1pp3rj4ck at 2012-04-13T18:46:08Z

@bschussek looks great, but I'm concerned about how quickly will the third-party bundles adapt to this BC break. I hope really quick, because if they don't the whole stuff will be useless :S of course it's not your problem to solve.

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

by stof at 2012-04-13T18:50:32Z

@r1pp3rj4ck there is already another BC break requiring to update custom types for Symfony master. So third party bundles already have to do some work.

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

by r1pp3rj4ck at 2012-04-13T18:59:37Z

@stof which one? I've looked into @bschussek 's RFC about these [foo].bar stuff, but it's not yet implemented. Are you refering to this or another one I've missed?

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

by stof at 2012-04-13T19:04:06Z

@r1pp3rj4ck the change regarding default options

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

by r1pp3rj4ck at 2012-04-13T19:06:10Z

@stof oh, I forgot that one. Weird thing is that I've already changed my default options today and still forgetting these stuff :D

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

by bschussek at 2012-04-14T08:58:29Z

I restored and deprecated FieldType now. I'd appreciate further reviews.

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

by stloyd at 2012-04-14T09:02:32Z

Maybe we should try to avoid this BC in templates ? What do you think about similar move like with `FieldType` ? (hold old, but inside just render new)

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

by bschussek at 2012-04-14T09:07:22Z

@stloyd You mean for those cases where people explicitely render the block "field_*"? We can do that.

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

by stloyd at 2012-04-14T09:09:45Z

@bschussek Yes I mean this case =) Sorry for not being explicit, I need some coffee I think =)

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

by bschussek at 2012-04-17T14:45:35Z

I added the field_* blocks again for BC. Could someone please review again? Otherwise this can be merged.

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

by Burgov at 2012-04-17T15:11:16Z

@bschussek I'm not sure what has changed to cause this, but if I try out your branch on our forms, if I leave the value of an input empty, eventually the reverseTransform method receives a null value, rather than a '' (empty string) value, as on the current symfony master.

DateTimeToLocalizedStringTransformer, for example, will throw an Exception if the value is not a string

```php
if (!is_string($value)) {
   throw new UnexpectedTypeException($value, 'string');
}
```

Other than that, all forms render just the same as they do on symfony master

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

by bschussek at 2012-04-17T15:30:29Z

@Burgov Fixed.
2012-04-18 12:50:00 +02:00
Fabien Potencier
a47a5aa52c merged branch umpirsky/issue-3379 (PR #3922)
Commits
-------

24bd8f4 Added missing dot to translation messages.
4bff221 Added missing dot to translation messages.
7454894 Added missing dot to translation messages.
6e90c50 Updated upgrade instructions.
7e21dd1 Added missing dot to translation messages.

Discussion
----------

Issue 3379

This should fix [issues 3379](https://github.com/symfony/symfony/issues/3379)

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

by stof at 2012-04-13T15:06:32Z

Your branch conflicts with master. Please rebase it

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

by umpirsky at 2012-04-13T19:11:54Z

@stof I tried to rebase, I'm not sure if I did everything right. Is it ok now?

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

by umpirsky at 2012-04-13T19:12:06Z

@stof I tried to rebase, I'm not sure if I did everything right. Is it ok now?

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

by mvrhov at 2012-04-13T19:19:34Z

IMHO no, because there are commits from other people. Did you follow the [instructions](http://symfony.com/doc/current/contributing/code/patches.html#id1)?

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

by stof at 2012-04-13T19:36:53Z

@mvrhov commits from others ?

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

by umpirsky at 2012-04-13T19:41:53Z

@stof There were some, so I reverted. Now I'm trying again following instructions from Symfony doc.

I come to this:

```
$ git push origin issue-3379
To git@github.com:umpirsky/symfony.git
 ! [rejected]        issue-3379 -> issue-3379 (non-fast-forward)
error: failed to push some refs to 'git@github.com:umpirsky/symfony.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.
```

And I don't know how to fix this. Any idea?

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

by stof at 2012-04-13T19:43:45Z

@umpirsky when you rebase, it is logical to need to force the push

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

by umpirsky at 2012-04-13T19:44:38Z

@stof I did `git push -f origin issue-3379`. I hope it's fixed now.

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

by maoueh at 2012-04-13T20:39:34Z

@umpirsky seems better than last time I checked :)

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

by umpirsky at 2012-04-13T20:43:04Z

@maoueh Is it good enough? :)

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

by maoueh at 2012-04-13T20:51:27Z

@umpirsky At least, the rebase seems good enough :D As for the subject of the PR, I don't pronounce myself ;)

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

by vicb at 2012-04-13T20:53:23Z

you should probably squash the commits
2012-04-18 11:57:20 +02:00
Fabien Potencier
ee0be6c408 tweaked previous merge 2012-04-18 11:17:58 +02:00
Fabien Potencier
0669b61035 merged branch canni/composer (PR #3291)
Commits
-------

aa055df [Composer] Stwitch to composer vendors management

Discussion
----------

[Composer] Stwitch to composer vendors management

Bug fix: no
Feature addition: yes
Backwards compatibility break: No?
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -

[![Build Status](https://secure.travis-ci.org/canni/symfony.png?branch=composer)](http://travis-ci.org/canni/symfony)

This speeds up Travis CI builds to `~2 min` also makes vendor management
a lot easier.

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

by fabpot at 2012-02-09T06:24:24Z

I'm -1 on this change. The `vendors.php` script is *only* for people working on the core so that we can run the unit tests. So, we need the flexibility to test on many different versions of the code and having the repository here is kind of mandatory.

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

by Seldaek at 2012-02-09T08:15:28Z

You can `composer install --dev` to get proper clones. I'm not really pro or against, just saying it's an option.

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

by canni at 2012-02-09T08:28:54Z

@fabpot I understand yours point, but from my view transferring the whole git structure of *vendors* is little pointless IMO (especially in Travis env)
but I think I can make this change optional, so Travis and anyone that prefer to, can use `composer` an with old functionality available.

(There will be almost no duplication, as anyway we're updating `composer.json`)

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

by canni at 2012-02-09T09:20:17Z

@fabpot I've enabled both behaviors, everything will work regardless of using `composer` or `vendors.php` this lets the developer decide what to use

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

by drak at 2012-02-16T12:05:28Z

Since there is a `--dev` option in Composer then I think this is a good idea.  You could also add composer.phar to the repo bin  directory.

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

by henrikbjorn at 2012-02-16T12:06:55Z

`--dev` have been renamed to `--prefer-source`

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

by canni at 2012-02-16T12:22:01Z

@fabpot any chance to consider this merge? If not, this PR can be closed.

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

by henrikbjorn at 2012-02-16T12:25:51Z

@canni This is the goal eventually. But i think we need composer to be a bit more stable in its solver.

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

by francoispluchino at 2012-02-16T12:39:24Z

👍

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

by jmikola at 2012-04-06T18:19:27Z

@fabpot: Is this PR still off the table, or are you reconsidering it with the `--prefer-source` option? I was just running symfony unit tests, and attempted to install deps with composer as I thought this PR or another like it had recently been merged to core. It wasn't :)

Admittedly, it's a downside that vendor libs, even if git repositories, will be nestled within the `.composer/` directory.

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

by drak at 2012-04-07T00:20:33Z

@canni This PR needs to be rebased and reviewed because of the changed tests directory (there is no longer a central `tests/` folder).

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

by canni at 2012-04-07T06:34:28Z

Hey,

will do after a weekend.

canni

Użytkownik Drak <reply@reply.github.com> napisał:

>@canni This PR needs to be rebased and reviewed because of the changed tests directory (there is no longer a central `tests/` folder).
>
>---
>Reply to this email directly or view it on GitHub:
>https://github.com/symfony/symfony/pull/3291#issuecomment-5004750

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

by canni at 2012-04-08T19:02:03Z

@drak done.
2012-04-18 11:06:49 +02:00
Fabien Potencier
580c8fa875 fixed CS 2012-04-18 10:41:11 +02:00
Fabien Potencier
5b36a09e52 merged branch lsmith77/router_debug_refactoring (PR #3963)
Commits
-------

98a0052 improved readability
b06537e refactored code to use get() when outputting a single route

Discussion
----------

Router debug refactoring

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: [![Build Status](https: //secure.travis-ci.org/lsmith77/symfony.png?branch=router_debug_refactoring)](http://travis-ci.org/lsmith77/symfony)
Fixes the following tickets: -

refactored code to use get() when outputting a single route
this is useful for a CMS, where in most cases there will be too many routes to make it feasible to load all of them. here a router implementation will be used that will return an empty collection for ->all(). with this refactoring the given routes will not be listed via router:debug, but would still be shown when using router:debug [name]
2012-04-18 10:32:20 +02:00
Bernhard Schussek
6336d9314e [Validator] Renamed ConstraintValidatorInterface::isValid() to validate() because of the lack of a return value 2012-04-17 16:46:43 +02:00
Bernhard Schussek
46f0393f70 [Validator] Removed return value from ConstraintValidatorInterface::isValid() 2012-04-17 16:46:43 +02:00
Bernhard Schussek
fcb2227ac9 [Form] Deprecated FieldType, which has been merged into FormType 2012-04-17 16:44:39 +02:00
Bernhard Schussek
2a49449862 [Form] Simplified CSRF mechanism and removed "csrf" type
CSRF fields are now only added when the view is built. For this reason we already know if
the form is the root form and avoid to create unnecessary CSRF fields for nested fields.
2012-04-17 16:44:38 +02:00
lsmith77
98a00526ad improved readability 2012-04-17 10:08:22 +02:00
lsmith77
b06537e351 refactored code to use get() when outputting a single route
this is useful for a CMS, where in most cases there will be too many routes to make it feasible to load all of them. here a router implementation will be used that will return an empty collection for ->all(). with this refactoring the given routes will not be listed via router:debug, but would still be shown when using router:debug [name]
2012-04-17 10:08:13 +02:00
Juti Noppornpitak
75c7d3a126 Fixed the link to the method with onclick event. 2012-04-15 14:03:31 -04:00
Juti Noppornpitak
ecbabec976 renamed 'Request handler' to 'Controller' and 'Route ID' to 'Route name'. 2012-04-14 19:04:43 -04:00
Juti Noppornpitak
3c5ede4bb6 Add a new query to display all information. 2012-04-14 11:57:18 -04:00