Commit Graph

6212 Commits

Author SHA1 Message Date
Javier Eguiluz
44c54160a5 Updated the styles for the "cache:warmup" command 2015-09-28 18:28:16 +02:00
Javier Eguiluz
08b29598c4 Updated the style for the "cache:clear" command 2015-09-28 18:25:49 +02:00
Fabien Potencier
b9100d3a3f [WebProfileBundle] fix missing request var in the 'last 10' panel 2015-09-28 16:54:55 +02:00
Fabien Potencier
634aafc3ac feature #15970 [TwigBundle] removed usage of Templating classes (fabpot)
This PR was merged into the 2.8 branch.

Discussion
----------

[TwigBundle] removed usage of Templating classes

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | yes (but frankly, I don't see how that would break anything out there)
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

Commits
-------

ff3c107 [TwigBundle] removed usage of Templating classes
7f13f95 [WebProfilerBundle] fixed a template reference
2015-09-28 16:27:59 +02:00
Fabien Potencier
ff3c107f14 [TwigBundle] removed usage of Templating classes 2015-09-28 16:10:19 +02:00
Fabien Potencier
7f13f9537c [WebProfilerBundle] fixed a template reference 2015-09-28 15:53:15 +02:00
Javier Eguiluz
13d0da26fd Applied the new styles to the router: commands 2015-09-28 15:50:38 +02:00
John Bafford
dc6ee81196 Profiler View Latest should preserve all the current query parameters
* Restore View Latest button
* In order to fit into the horizontal space available, shorten the names of the Latest Profiles and View Latest buttons and adjust the buttons' margin and padding.
2015-09-28 09:22:20 -04:00
Fabien Potencier
7d7e07fefa feature #14602 [2.8] [Ldap] Added support for LDAP (New Component + integration in the Security Component). (csarrazi, lyrixx)
This PR was merged into the 2.8 branch.

Discussion
----------

[2.8] [Ldap] Added support for LDAP (New Component + integration in the Security Component).

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

Current state:

- [x] Implement logic
- [x] Post-review tuning and stabilization
- [x] Fix tests

This PR is a follow-up to #5189, which was in a stand-still for a few years now. It tries to fix the remaining issues which were mentioned in the discussion.

There are still a few issues with the PR, as it is. For example, it introduces two new firewall factories, whereas the base factories (`form_login` and `http_basic`) could simply introduce new configuration options.

Also, for a user to use an LDAP server as an authentication provider, he first needs to define a service which should be an instance of `Symfony\Component\Security\Ldap\Ldap`.

For example:

```yml
services:
    my_ldap:
        class: Symfony\Component\Security\Ldap\Ldap
        arguments: [ "ldap.mydomain.tld" ]
```

Then, in `security.yml`, this service can be used in both the user provider and the firewalls:

```yml
security:
    encoders:
        Symfony\Component\Security\Core\User\User: plaintext

    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]

    providers:
        ldap_users:
            ldap:
                service: my_ldap
                base_dn: dc=MyDomain,dc=tld
                search_dn: CN=My User,OU=Users,DC=MyDomain,DC=tld
                search_password: p455w0rd
                filter: (sAMAccountName={username})
                default_roles: ROLE_USER

    firewalls:
        dev:
            pattern:  ^/(_(profiler|wdt)|css|images|js)/
            security: false
        demo_login:
            pattern:  ^/login$
            security: false
        api:
            provider: ldap_users
            stateless: true
            pattern:    ^/api
            http_basic_ldap:
                service: my_ldap
                dn_string: "{username}@MYDOMAIN"
        demo_secured_area:
            provider: ldap_users
            pattern:    ^/
            logout:
                path:   logout
                target: login
            form_login_ldap:
                service: my_ldap
                dn_string: CN={username},OU=Users,DC=MyDomain,DC=tld
                check_path: login_check
                login_path: login
```

Commits
-------

60b9f2e Implemented LDAP authentication and LDAP user provider
1c964b9 Introducing the LDAP component
2015-09-28 13:32:19 +02:00
Grégoire Pineau
60b9f2e7ec Implemented LDAP authentication and LDAP user provider 2015-09-28 13:12:05 +02:00
Fabien Potencier
d3271e1fae missing tags in whitelist 2015-09-28 12:16:05 +02:00
Florian Pfitzer
f51fe4ac41 [FrameworkBundle] [DependencyInjection] added logging of unused tags during container compilation 2015-09-28 12:07:01 +02:00
Matthias Pigulla
5392a0ca1f Remove failing test
Fixes #15935, test has been removed on 2.8 already in https://github.com/symfony/symfony/pull/15738/files#diff-990df0e8238847f8ae54e8227f295c22L107
2015-09-27 16:27:15 +02:00
Javier Eguiluz
8c47eb9be6 Removed the "Delete profiles" action from the web profiler sidebar 2015-09-27 15:39:02 +02:00
Fabien Potencier
58ed0762e9 Merge branch '2.7' into 2.8
* 2.7:
  Detect Mintty for color support on Windows
  Detect Mintty for color support on Windows
  Add a group for tests of the finder against the FTP server
  Fix license headers
  Forbid serializing a Crawler
  Fix phpdoc block of NativeSessionStorage class
  Added exception when setAutoInitialize is called when locked
  [FrameworkBundle] Advanced search templates of bundles
  [Security] Allow user providers to be defined in many files
  Use random_bytes function if it is available for random number generation
2015-09-27 12:09:46 +02:00
Fabien Potencier
3ba54c1c31 Merge branch '2.3' into 2.7
* 2.3:
  Detect Mintty for color support on Windows
  Add a group for tests of the finder against the FTP server
  Fix license headers
  Forbid serializing a Crawler
  Fix phpdoc block of NativeSessionStorage class
  Added exception when setAutoInitialize is called when locked
  [FrameworkBundle] Advanced search templates of bundles
  [Security] Allow user providers to be defined in many files
  Use random_bytes function if it is available for random number generation
2015-09-27 12:08:38 +02:00
Fabien Potencier
5dcdc486ad bug #15928 [2.8][WebProfilerBundle] Fix search button click listener (xelaris)
This PR was merged into the 2.8 branch.

Discussion
----------

[2.8][WebProfilerBundle] Fix search button click listener

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

This fixes an issue when clicking the sidebar "Search" button **text** instead of the **button**. Then the click event target/srcElement is the *span* child-element, instead of the listening *a* element, which causes errors in the listener, since it expects the listening element. In consequence of that the search form isn't shown.

To fix this, the same technique is used, as for the navigation tabs. Traversing the DOM up to the expected *a* element.

Commits
-------

f9ddddb [WebProfilerBundle] Fix search button click listener
2015-09-27 11:22:34 +02:00
Fabien Potencier
9cf4ab74d3 minor #15920 Guard minor tweaks (weaverryan)
This PR was merged into the 2.8 branch.

Discussion
----------

Guard minor tweaks

| 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

Various completely minor things, most from suggestions on #14673

Commits
-------

869d5a7 tweaking message related to configuration edge case that we want to be helpful with
da4758a Minor tweaks - lowering the required security-http requirement and nulling out a test field
2015-09-27 10:55:21 +02:00
Alexander Schwenn
f9ddddb6c2 [WebProfilerBundle] Fix search button click listener 2015-09-27 09:53:17 +02:00
Christophe Coevoet
e610b416c9 Merge branch '2.7' into 2.8
* 2.7:
  Fix license headers
  Ensure the ClockMock is loaded before using it in the testsuite
  Fix with_minutes option in time widget
  Fixed properties not explicitily declared
2015-09-26 21:48:07 +02:00
Ryan Weaver
869d5a77f0 tweaking message related to configuration edge case that we want to be helpful with 2015-09-26 10:22:30 -04:00
Gábor Egyed
db8239ffab Fix license headers 2015-09-26 14:15:17 +02:00
Gábor Egyed
b03bcb34ec Fix license headers 2015-09-26 13:59:49 +02:00
Fabien Potencier
61550dc564 minor #15765 Fixed properties not explicitily declared (deguif)
This PR was merged into the 2.7 branch.

Discussion
----------

Fixed properties not explicitily declared

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

Commits
-------

d2b3fe4 Fixed properties not explicitily declared
2015-09-26 10:14:04 +02:00
Fabien Potencier
44091f579c feature #15818 [WebProfilerBundle] Add collapsed sidebar on small screens (hason)
This PR was merged into the 2.8 branch.

Discussion
----------

[WebProfilerBundle] Add collapsed sidebar on small screens

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

Desktop
![Desktop](https://cloud.githubusercontent.com/assets/288535/9927840/1e4eb7fc-5d22-11e5-9833-f1431ed2855d.png)

Mobile
![Mobile](https://cloud.githubusercontent.com/assets/288535/9927847/23a5c5c4-5d22-11e5-928a-87b167a079b5.png) ![Mobile touch](https://cloud.githubusercontent.com/assets/288535/9927851/2bb800e2-5d22-11e5-9566-c74a23eb9cb5.png)

Commits
-------

184d4f2 [WebProfilerBundle] Added collapsed sidebar on small screens
2015-09-26 10:11:55 +02:00
yethee
3ba14604a7 [FrameworkBundle] Advanced search templates of bundles
It uses two different locations to search templates of bundle,
as described in the documentation.
2015-09-26 10:02:46 +02:00
Fabien Potencier
7079aa9e96 feature #15892 deprecated the Shell Console class (fabpot)
This PR was merged into the 2.8 branch.

Discussion
----------

deprecated the Shell Console class

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

Commits
-------

1c17928 deprecated the Shell Console class
2015-09-26 09:27:31 +02:00
Fabien Potencier
1c17928e58 deprecated the Shell Console class 2015-09-26 09:26:13 +02:00
Grégoire Pineau
9165191816 [Security] Allow user providers to be defined in many files 2015-09-25 15:16:17 +02:00
Fabien Potencier
693af63d65 bug #15721 [FrameworkBundle] compatibility with older Form component versions (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[FrameworkBundle] compatibility with older Form component versions

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

Commits
-------

01ad767 compatibility with older Form component versions
2015-09-25 13:59:08 +02:00
Fabien Potencier
d60428c9ca feature #15738 Implement service-based Resource (cache) validation (mpdude)
This PR was squashed before being merged into the 2.8 branch (closes #15738).

Discussion
----------

Implement service-based Resource (cache) validation

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

### Overview

Currently, any metadata passed to `ConfigCache` (namely implementations of `ResourceInterface`) is serialized to disk. When the `ConfigCache` is validated, the metadata is unserialized and queried through `ResourceInterface::isFresh()` to determine whether the cache is fresh. That way, `ResourceInterface` implementations cannot interact with services, for example a database connection.

This PR introduces the new concept of `ResourceCheckers`. Services implementing `ResourceCheckerInterface` can be tagged as `config_cache.resource_checker` with an optional priority.

Clients that wish to use `ConfigCache` can then obtain an instance from the `config_cache_factory` service (which implements `ConfigCacheFactoryInterface`). The factory will take care of injecting resource checkers into the `ConfigCache` instance so that they can be used for cache validation.

Checking cache metadata is easy for `ResourceCheckers`:
* First, the `ResourceCheckerInterface::supports()` implementation is passed the metadata object in question. If the checker cannot handle the type of resource passed, `supports()` should return `false`.
* Otherwise, the `ResourceCheckerInterface::isFresh()` method will be called and given the resource as well as the timestamp at which the cache was initialized. If that method returns `false`, the cache is considered stale. If it returns `true`, the resource is considered unchanged and will *not* be passed to any additional checkers.

### BC and migration path

This PR does not (intend to) break BC but it comes with deprecations. The main reason is that `ResourceInterface` contains an `isFresh()` method that does not make sense in the general case of resources.

Thus, `ResourceInterface::isFresh()` is marked as deprecated and should be removed in Symfony 3.0. Resource implementations that can (or wish to) be validated in that simple manner can implement the `SelfCheckingResourceInterface` sub-interface that still contains (and will keep) the `isFresh()` method. The change should be as simple as changing the `extends` list.

Apart from that, `ResourceInterface` will be kept as the base interface for resource implementations. It is used in several `@api` interfaces and thus cannot easily be substituted.

For the Symfony 2.x series, a `BCResourceInterfaceChecker` will be kept that performs validation through `ResourceInterface::isFresh()` but will trigger a deprecation warning. The remedy is to either implement a custom ResourceChecker with a priority higher than -1000; or to switch to the aforementioned `SelfCheckingResourceInterface` which is used at a priority of -990 (without deprecation warning).

The `ConfigCache` and `ConfigCacheFactory` classes can be used as previously but do not feature checker-based cache validation.

### Outlook and closing remarks:

This PR supersedes #7230, #15692 and works at least in parts towards the goal of #7176.

The `ResourceCheckerInterface`, `...ConfigCache` and `...ConfigCacheFactory` no longer need to be aware of the `debug` flag. The different validation rules applied previously are now just a matter of `ResourceChecker` configuration (i. e. "no checkers" in `prod`).

It might be possible to remove the `debug` flag from Symfony's `Router` and/or `Translator` classes in the future as well because it was only passed on to the `ConfigCache` there.

Commits
-------

20d3722 Implement service-based Resource (cache) validation
2015-09-25 08:33:07 +02:00
Matthias Pigulla
20d3722120 Implement service-based Resource (cache) validation 2015-09-25 08:31:17 +02:00
Nicolas Grekas
995cf4ea7d Merge branch '2.7' into 2.8
* 2.7:
  Fix syntax in a test
  Normalize the way we check versions
2015-09-24 11:01:09 +02:00
Fabien Potencier
5f2acfd4c7 feature #14673 New Guard Authentication System (e.g. putting the joy back into security) (weaverryan)
This PR was merged into the 2.8 branch.

Discussion
----------

New Guard Authentication System (e.g. putting the joy back into security)

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | at least partially: #14300, #11158, #11451, #10035, #10463, #8606, probably more
| License       | MIT
| Doc PR        | symfony/symfony-docs#5265

Hi guys!

Though it got much easier in 2.4 with `pre_auth`, authentication is a pain in Symfony. This introduces a new authentication provider called guard, with one goal in mind: put everything you need for *any* authentication system into one spot.

### How it works

With guard, you can perform custom authentication just by implementing the [GuardAuthenticatorInterface](https://github.com/weaverryan/symfony/blob/guard/src/Symfony/Component/Security/Guard/GuardAuthenticatorInterface.php) and registering it as a service. It has methods for every part of a custom authentication flow I can think of.

For a working example, see https://github.com/weaverryan/symfony-demo/tree/guard-auth. This uses 2 authenticators simultaneously, creating a system that handles [form login](https://github.com/weaverryan/symfony-demo/blob/guard-auth/src/AppBundle/Security/FormLoginAuthenticator.php) and [api token auth](https://github.com/weaverryan/symfony-demo/blob/guard-auth/src/AppBundle/Security/TokenAuthenticator.php) with a respectable amount of code. The [security.yml](https://github.com/weaverryan/symfony-demo/blob/guard-auth/app/config/security.yml) is also quite simple.

This also supports "manual login" without jumping through hoops: https://github.com/weaverryan/symfony-demo/blob/guard-auth/src/AppBundle/Controller/SecurityController.php#L45

I've also tested with "remember me" and "switch user" - no problems with either.

I hope you like it :).

### What's Needed

1) **Other Use-Cases?**: Please think about the code and try it. What use-cases are we *not* covering? I want Guard to be simple, but cover the 99.9% use-cases.

2) **Remember me** functionality cannot be triggered via manual login. That's true now, and it's not fixed, and it's tricky.

### Deprecations?

This is a new feature, so no deprecations. But, creating a login form with a guard authenticator is a whole heck of a lot easier to understand than `form_login` or even `simple_form`. In a perfect world, we'd either deprecate those or make them use "guard" internally so that we have just **one** way of performing authentication.

Thanks!

Commits
-------

a01ed35 Adding the necessary files so that Guard can be its own installable component
d763134 Removing unnecessary override
e353833 fabbot
dd485f4 Adding a new exception and throwing it when the User changes
302235e Fixing a bug where having an authentication failure would log you out.
396a162 Tweaks thanks to Wouter
c9d9430 Adding logging  on this step and switching the order - not for any huge reason
31f9cae Adding a base class to assist with form login authentication
0501761 Allowing for other authenticators to be checked
293c8a1 meaningless author and license changes
81432f9 Adding missing factory registration
7a94994 Thanks again fabbot!
7de05be A few more changes thanks to @iltar
ffdbc66 Splitting the getting of the user and checking credentials into two steps
6edb9e1 Tweaking docblock on interface thanks to @iltar
d693721 Adding periods at the end of exceptions, and changing one class name to LogicException thanks to @iltar
eb158cb Updating interface method per suggestion - makes sense to me, Request is redundant
c73c32e Thanks fabbot!
6c180c7 Adding an edge case - this should not happen anyways
180e2c7 Properly handles "post auth" tokens that have become not authenticated
873ed28 Renaming the tokens to be clear they are "post" and "pre" auth - also adding an interface
a0bceb4 adding Guard tests
05af97c Initial commit (but after some polished work) of the new Guard authentication system
330aa7f Improving phpdoc on AuthenticationEntryPointInterface so people that implement this understand it
2015-09-24 09:21:03 +02:00
Romain Neutron
121eade822 Normalize the way we check versions 2015-09-23 11:17:11 +02:00
Fabien Potencier
d1ae400cb1 bug #15861 Avoid errors when generating the logout URL when there is no firewall key (javiereguiluz)
This PR was squashed before being merged into the 2.8 branch (closes #15861).

Discussion
----------

Avoid errors when generating the logout URL when there is no firewall key

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

Commits
-------

a811912 Avoid errors when generating the logout URL when there is no firewall key
2015-09-23 10:16:07 +02:00
Javier Eguiluz
a81191239a Avoid errors when generating the logout URL when there is no firewall key 2015-09-23 10:16:04 +02:00
Fabien Potencier
74c24a5315 minor #15814 [WebProfilerBundle] fixed cursor as pointer when hovering over link. (aitboudad)
This PR was merged into the 2.8 branch.

Discussion
----------

[WebProfilerBundle] fixed cursor as pointer when hovering over link.

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

Commits
-------

ac7591f [WebProfilerBundle] added btn-link.
2015-09-22 14:44:41 +02:00
Ryan Weaver
293c8a1775 meaningless author and license changes 2015-09-20 19:37:42 -04:00
Ryan Weaver
81432f9044 Adding missing factory registration 2015-09-20 19:24:22 -04:00
Ryan Weaver
c73c32e674 Thanks fabbot! 2015-09-20 19:24:21 -04:00
Ryan Weaver
05af97c7f7 Initial commit (but after some polished work) of the new Guard authentication system 2015-09-20 19:24:20 -04:00
Martin Hasoň
184d4f2df0 [WebProfilerBundle] Added collapsed sidebar on small screens 2015-09-17 10:17:00 +02:00
Abdellatif Ait boudad
ac7591f505 [WebProfilerBundle] added btn-link. 2015-09-16 12:52:37 +00:00
Nicky De Maeyer
534c5db3a3 bug #15811 use of twig deprecated sameas test 2015-09-16 11:31:47 +02:00
John Bafford
62dc0147bf Remove minimum width for web profiler content view 2015-09-15 16:21:23 -04:00
Fabien Potencier
68353a6305 fixed composer.json 2015-09-14 17:18:35 +02:00
Fabien Potencier
6393ec3169 Merge branch '2.7' into 2.8
* 2.7:
  [DomCrawler] Invalid uri created from forms if base tag present
  [Console] update param type phpdoc for StreamOutput
  [Console] fix typo in OutputInterface
  Use stderr by default when a specific output is not injected
  [Debug] Fix case mismatch detection
  [HttpKernel] fix broken multiline <esi:remove>
  [DoctrineBridge] Fixed #14840
  [FrameworkBundle] add a suggest for the serializer component
  [Yaml] Fix the parsing of float keys
  [Console] Ensure the console output is only detected as decorated when both stderr and stdout support colors
  [HttpKernel] fix DumpDataCollector compat with Twig 2.0
  Improve exception messages.
  Fix that two DirectoryResources with different patterns would be deduplicated
  Tests fix clockmock
  [WebProfilerBundle] Added tabindex="-1" to not interfer with normal UX
  missing "YAML" in the exception message.
  [Translator][warmup][fallback locales] fixed missing cache file generation.
  [framework-bundle] Add Test for TranslationUpdateCommand
  Use ObjectManager interface instead of EntityManager
2015-09-14 16:15:17 +02:00
Fabien Potencier
cafd4af7cd Merge branch '2.3' into 2.7
* 2.3:
  [DomCrawler] Invalid uri created from forms if base tag present
  [Console] update param type phpdoc for StreamOutput
  [Console] fix typo in OutputInterface
  [HttpKernel] fix broken multiline <esi:remove>
  [DoctrineBridge] Fixed #14840
  [FrameworkBundle] add a suggest for the serializer component
  [Yaml] Fix the parsing of float keys
  [Console] Ensure the console output is only detected as decorated when both stderr and stdout support colors
  Improve exception messages.
  Fix that two DirectoryResources with different patterns would be deduplicated
  Tests fix clockmock
  [WebProfilerBundle] Added tabindex="-1" to not interfer with normal UX
  missing "YAML" in the exception message.
  [framework-bundle] Add Test for TranslationUpdateCommand
  Use ObjectManager interface instead of EntityManager
2015-09-14 16:14:09 +02:00
François-Xavier de Guillebon
d2b3fe4c72 Fixed properties not explicitily declared 2015-09-14 11:40:15 +02:00
Fabien Potencier
74e408600e feature #14378 [DX] Added a logout link in the security panel of the web debug toolbar (javiereguiluz)
This PR was squashed before being merged into the 2.8 branch (closes #14378).

Discussion
----------

[DX] Added a logout link in the security panel of the web debug toolbar

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

While developing applications, it's common to login/logout users continuously to test security features. I usually type `/logout` in the URL, but this is boring and, depending on the application, not always works.

This PR adds a small *Logout* link in the security panel when you are logged in the application:

![logged](https://cloud.githubusercontent.com/assets/73419/7184976/6c66831a-e460-11e4-86a9-eb5a48c9aa4c.png)

Anonymous users won't see anything:

![anonymous](https://cloud.githubusercontent.com/assets/73419/7184982/74a95b60-e460-11e4-8b35-72d8336355fb.png)

Commits
-------

192523a [DX] Added a logout link in the security panel of the web debug toolbar
2015-09-14 09:18:59 +02:00
Javier Eguiluz
192523aeab [DX] Added a logout link in the security panel of the web debug toolbar 2015-09-14 09:18:57 +02:00
Lukas Kahwe Smith
c7acde8024 [FrameworkBundle] add a suggest for the serializer component 2015-09-14 08:48:11 +02:00
Fabien Potencier
f20e4e5ed8 fixed CS 2015-09-14 08:46:24 +02:00
Fabien Potencier
7b776e7ac5 removed non-working tests 2015-09-14 08:45:34 +02:00
Fabien Potencier
46eaafcd63 feature #15620 [WIP] #15502 Make template shortcuts be usable without Templating component (Koc)
This PR was squashed before being merged into the 2.8 branch (closes #15620).

Discussion
----------

[WIP] #15502 Make template shortcuts be usable without Templating component

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

Commits
-------

d547ec0 [WIP] #15502 Make template shortcuts be usable without Templating component
2015-09-14 08:44:24 +02:00
Konstantin.Myakshin
d547ec0084 [WIP] #15502 Make template shortcuts be usable without Templating component 2015-09-14 08:44:21 +02:00
Fabien Potencier
72111334b2 minor #15673 [framework-bundle] Add Test for TranslationUpdateCommand (zerustech)
This PR was merged into the 2.3 branch.

Discussion
----------

[framework-bundle] Add Test for TranslationUpdateCommand

Added the test script as per the discussion in PR #15562

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

Commits
-------

232f6fd [framework-bundle] Add Test for TranslationUpdateCommand
2015-09-14 08:41:36 +02:00
Fabien Potencier
a2eebe8128 feature #15523 Redesigned the Symfony Profiler (javiereguiluz)
This PR was squashed before being merged into the 2.8 branch (closes #15523).

Discussion
----------

Redesigned the Symfony Profiler

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

### Context

Recently, we redesigned the web debug toolbar ([read announcement](http://symfony.com/blog/new-in-symfony-2-8-redesigned-web-debug-toolbar)). We maintained "the spirit" of the original toolbar, but its visual appearance was completely changed.

Now it's the turn of the Symfony Profiler. We want to update it to match the new toolbar design and to give it a more modern look and feel.

### The redesign

Most of the redesign is focused on updating just the visual appearance, but we've seized this opportunity to make some minor functional changes as well. Testing this pull request in your own applications may be difficult, so we'll provide below a complete walkthrough of the redesign. (Click on the images to see them in full resolution)

### Overview

This is the new general structure of the profiler pages:

![profiler-structure](https://cloud.githubusercontent.com/assets/73419/9226162/c1bf71f0-410d-11e5-8a7b-5c690b7c8c8a.png)

### Request panel

* Renamed `Request` panel to `Request / Response`
* Divided contents into tabs: Request, Response, Session, etc. (this prevents ultra long pages)

![profiler-request](https://cloud.githubusercontent.com/assets/73419/9226172/cb7f7938-410d-11e5-8ffd-cea8264446dd.png)

### Timeline panel

* Renamed `Timeline` panel to `Performance`
* Highlighted the most important metrics
* Added "Peak Memory Usage" to those metrics
* The timeline graph is now easier to read (font size is slightly larger, updated the color palette, made the canvas wider, etc.)
* If there is only one request, the page doesn't distract you with the "Master Request" heading. If there are several sub-requests, headings are now bigger and graphs are more separated.

![profiler-performance](https://cloud.githubusercontent.com/assets/73419/9226178/d1335782-410d-11e5-9f9a-5ace45b0dfa0.png)

### Twig panel

* Just a minor update to highlight the important metrics. The rest of the contents remain the same.

![profiler-twig](https://cloud.githubusercontent.com/assets/73419/9226180/d5bd6ff4-410d-11e5-86c8-beba426516c1.png)

### Exception panel

* Just minor design tweaks.

![profiler-exception](https://cloud.githubusercontent.com/assets/73419/9226182/da0dfd9e-410d-11e5-965c-e980f7144541.png)

### Events panel

When the `framework.ide` config option is set:

* The listeners are now displayed as more evident clickable links.
* Bellow the listener we show its full class namespace (if you don't need this information, it doesn't distract you much; if you need it, you don't have to wait for the `<abbr>` tooltip to show it)

![profiler-events-links-enabled](https://cloud.githubusercontent.com/assets/73419/9226188/e403ae48-410d-11e5-8c86-5d28fed940e7.png)

When the `framework.ide` config option is NOT set:

* In this case the developer cannot click on the listener name to go to that file and line. Therefore, we think it's important to display that information (full class namespace + full file path + line number). At first it may seem that it contains too much information ... but this panel should be more "useful" than "beautiful".

![profiler-events-links-disabled](https://cloud.githubusercontent.com/assets/73419/9226198/eb9f3bae-410d-11e5-8bbe-95c148809387.png)

### Logs panel

* Logs are now grouped in: "Info. & Errors" (this is the panel that you need most of the times); "Deprecations" (separated from the normal logs because they are specific to the process of updating your Symfony version); and "Debug" (which are all those messages that you almost never need)
* We now show the channel for the log messages (for built-in Symfony channels it may be redundant, but your application can define custom channels)

![profiler-logger](https://cloud.githubusercontent.com/assets/73419/9226203/f345163a-410d-11e5-85e6-cf9fceb885fc.png)

### Routing panel

* Just a minor redesign and highlighted some information.

![profiler-routing](https://cloud.githubusercontent.com/assets/73419/9226213/00e99130-410e-11e5-90c0-dda9394dabd7.png)

### Forms panel

* Not redesigned yet.

### Translation panel

* Highlighted the important metrics.
* Replaced the old selector by the new tabbed navigation.

![profiler-translation](https://cloud.githubusercontent.com/assets/73419/9226215/06036c40-410e-11e5-90c9-fe3b43dd6156.png)

### Security panel

* Just a minor redesign and highlighted some information.

![profiler-security](https://cloud.githubusercontent.com/assets/73419/9226217/0a92fbcc-410e-11e5-9438-e9e230a7865b.png)

### E-mails panel

* Not redesigned yet.

### Doctrine panel

* Queries are no longer displayed "shrinked". We display the full query without parameters by default.
* The three old actions ("expand", "runnable" and "explain") have been reduced to two actions ("runnable" and "explain")

![profiler-doctrine](https://cloud.githubusercontent.com/assets/73419/9226225/13e0b5d4-410e-11e5-96ce-1eb67f99df49.png)

Here you can see what happens when you click on the "Show runnable query" and "Explain query" links:

![profiler-doctrine-detail](https://cloud.githubusercontent.com/assets/73419/9226247/33b47918-410e-11e5-9657-e1351787657a.png)

### Debug panel

* Not redesigned yet.

### Config panel

* This was probably the "ugliest" panel in the old profiler, because of the two first tables.
* We now display the information of those tables highlighted in a different way.

![profiler-config](https://cloud.githubusercontent.com/assets/73419/9226257/3d728850-410e-11e5-86d8-da807f6a1217.png)

### Search results

Results with response status different from 2xx now are highlighted:

![profiler-search-results](https://cloud.githubusercontent.com/assets/73419/9226279/44bacd8e-410e-11e5-8daf-e77d2be7e3c6.png)

### Other design elements

The page title now changes for each section:

**Before**

![page-title-before](https://cloud.githubusercontent.com/assets/73419/9226312/6301b9c4-410e-11e5-8ef7-001be222ac53.png)

**After**

![page-title-after](https://cloud.githubusercontent.com/assets/73419/9226316/693bce42-410e-11e5-897a-c5e4413bc638.png)

Empty elements now display a dashed border. This allows to make design more consistent between different section. Besides, once you are used to the new design, your brain will immediately associate that design to an empty element, so you'll no longer need to read the inner text content.

![profiler-empty-element](https://cloud.githubusercontent.com/assets/73419/9226400/c9ffe06a-410e-11e5-9859-f095e444d9af.png)

Besides, when the entire panel doesn't have any content, its menu label looks disabled:

![sidebar-menu](https://cloud.githubusercontent.com/assets/73419/9226405/cf4ee5e8-410e-11e5-9501-523cd6b3413e.png)

Long pages have been break down using a tabs-based navigation:

![tabbed-navigation](https://cloud.githubusercontent.com/assets/73419/9226409/d918dba6-410e-11e5-9cd4-516a082950de.gif)

Below the page header we display a "summary section" which displays the profiled URL and some useful profiling information. The big URL is the natural way to "go back to application" from the profiler:

![summary-back-to-application](https://cloud.githubusercontent.com/assets/73419/9226414/df1abb00-410e-11e5-88ff-59dbd35b584f.gif)

Besides, the summary background color changes according to the response HTTP status code:

![profiler-summary](https://cloud.githubusercontent.com/assets/73419/9226423/e5b03850-410e-11e5-9163-2f2153c5d1de.png)

Above the main menu we now display two shortcuts to common operations: "display the 10 most recent profiles" and "search profiles":

![sidebar-shortcuts](https://cloud.githubusercontent.com/assets/73419/9226427/eaea4586-410e-11e5-8ff4-f6141723996a.png)

The search form in the sidebar has been collapsed and it's revealed when clicking on the "Search" shortcut button:

![search-form-reveal](https://cloud.githubusercontent.com/assets/73419/9226435/ef907fec-410e-11e5-9627-37cb2a241f86.gif)

-----

And that's all! Please tell us what you think about this redesign. **Don't hesitate to criticize anything you don't like or think it's wrong or it's worse than in the previous profiler.** Let's work together to make the new profiler a reality! Thanks!

Commits
-------

05773c2 Redesigned the Symfony Profiler
2015-09-14 08:10:06 +02:00
Javier Eguiluz
05773c263b Redesigned the Symfony Profiler 2015-09-14 08:10:04 +02:00
Abdellatif Ait boudad
2ae2714dbf bug #15516 [Translator][warmup][fallback locales] fixed missing cache file generation. (aitboudad)
This PR was merged into the 2.7 branch.

Discussion
----------

[Translator][warmup][fallback locales] fixed missing cache file generation.

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

Commits
-------

cade651 [Translator][warmup][fallback locales] fixed missing cache file generation.
2015-09-10 11:41:15 +00:00
Nicolas Grekas
51b6d74557 [HttpKernel] Fix RequestStack argument position and deprecated behavior 2015-09-10 12:52:08 +02:00
AlberT
53cdb1a420 [WebProfilerBundle] Added tabindex="-1" to not interfer with normal UX 2015-09-10 10:15:17 +02:00
Fabien Potencier
d1c51a341d feature #15724 [HttpKernel] Move required RequestStack args as first arguments (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[HttpKernel] Move required RequestStack args as first arguments

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

Since we planned to make RequestStack required, we have to move it as first arguments.

Commits
-------

84ba05b [HttpKernel] Move required RequestStack args as first arguments
2015-09-10 09:40:22 +02:00
Fabien Potencier
0383559f95 feature #15709 [WebProfilerBundle] deprecated import/export commands (fabpot)
This PR was merged into the 2.8 branch.

Discussion
----------

[WebProfilerBundle] deprecated import/export commands

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

Commits
-------

943fec9 [HtppKernel] deprecated Profiler::import/export
17e00b9 [WebProfilerBundle] deprecated import/export commands
2015-09-09 23:21:50 +02:00
Fabien Potencier
943fec97d3 [HtppKernel] deprecated Profiler::import/export 2015-09-09 22:55:09 +02:00
Omar Yepez
8497ad7ce9 [WebProfilerBundle ] Removes the ajax animation in | sf-toolbar-block-ajax
| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | n/a
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

The change removes the animation in the "sf-toolbar-block-ajax" when the request state was "ok".
2015-09-09 15:09:41 -04:30
Tobias Schultze
14c538eb39 2.8 changes from #15733 2015-09-09 20:09:35 +02:00
Tobias Schultze
3bae5f7aa9 Merge branch '2.7' into 2.8
Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2015-09-09 20:05:45 +02:00
Evgeniy Sokolov
f0d40c4559 fix class use and in phpdoc 2015-09-09 19:42:36 +02:00
Abdellatif Ait boudad
cade651915 [Translator][warmup][fallback locales] fixed missing cache file generation. 2015-09-09 14:57:38 +00:00
Christophe Coevoet
e42adf7818 Remove wrong deprecation triggers for forms in the DI extension
When a form type provides a BC layer with old form names (all core types
do), the form registry will ask for type extensions registered on the
legacy name for BC, and trigger a warning if it finds any.
The DependencyInjectionExtension should not trigger warnings on its own
when being asked for such extensions (especially when it has none
registered).
Core extensions are also registered using the proper extended type
rather than legacy names.
2015-09-09 16:30:53 +02:00
Christophe Coevoet
36e09da4b9 Fix the injection of the container in invokable controllers 2015-09-09 14:19:27 +02:00
Nicolas Grekas
84ba05b9e5 [HttpKernel] Move required RequestStack args as first arguments 2015-09-08 13:21:25 +02:00
Christian Flothmann
01ad7671bc compatibility with older Form component versions 2015-09-08 09:16:05 +02:00
Fabien Potencier
4253824919 removed some Form deprecation notices 2015-09-08 07:19:27 +02:00
Fabien Potencier
17e00b9b8e [WebProfilerBundle] deprecated import/export commands 2015-09-07 15:21:37 +02:00
Nicolas Grekas
0edcc2ef10 Fix deps 2015-09-06 15:17:23 +02:00
Fabien Potencier
ce5bb621fd minor #15701 [SecurityBundle] allow more versions of the ACL package (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[SecurityBundle] allow more versions of the ACL package

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

This actually is the version that is required when using the Symfony SE
(`symfony/symfony` requires `symfony/security-acl` in version `~2.7`).

Commits
-------

3a15921 allow more versions of the ACL package
2015-09-06 10:12:52 +02:00
Fabien Potencier
d5c046d8c5 minor #15694 [2.8] Deprecate IntrospectableContainerInterface (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[2.8] Deprecate IntrospectableContainerInterface

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

Patch on Security is required for tests compat with 3.0, see #15684
IntrospectableContainerInterface is already deprecated in master.

Commits
-------

c2b94a1 [2.8] Cleanup
2015-09-06 10:10:56 +02:00
Nicolas Grekas
c2b94a1f75 [2.8] Cleanup 2015-09-06 10:02:00 +02:00
Christian Flothmann
3a15921cf4 allow more versions of the ACL package
This actually is the version that is required when using the Symfony SE
(`symfony/symfony` requires `symfony/security-acl` in version `~2.7`).
2015-09-06 08:37:02 +02:00
Abdellatif Ait boudad
be4716505f feature #15562 [translation] Deprecated DiffOperation (zerustech)
This PR was merged into the 2.8 branch.

Discussion
----------

[translation] Deprecated DiffOperation

## Summary:
The ``DiffOperation`` class has been deprecated and ``TargetOperation``
should be used instead, because ``DiffOperation`` has nothing to do
with 'diff', thus its class name is misleading.

Also added detailed documents for all operation interface and classes.

## Background:

The following names should have consistent meanings for all operations:

The name of ``intersection`` is temporarily introduced here to explain this issue.

* [x] ``intersection`` = source &#x2229; target = {x: x &#x2208; source &#x2227; x &#x2208; target}
* [x] ``all`` = **result of the operation, depends on the operation.**
* [x] ``new`` = all &#x2216; source = {x: x &#x2208; all &#x2227; x &#x2209; source}
* [x] ``obsolete`` = source &#x2216; all = {x: x &#x2208; source &#x2227; x &#x2209; all}

The following analysis explains why ``DiffOperation`` should be deprecated.

## Logic of ``MergeOperation``:
* [x] ``all`` = source &#x222a; target = {x: x &#x2208; source &#x2228; x &#x2208; target}
* [x] ``new`` = all &#x2216; source = {x: x &#x2208; target &#x2227; &#x2209; source}
* [x] ``obsolete`` = source &#x2216; all = {x: x &#x2208; source &#x2227; x &#x2209; source &#x2227; x &#x2209; target} = &#x2205;

This absolutely makes sense.

## Logic of ``DiffOperation``:
* [ ] ``all`` =  intersection &#x222a; (target &#x2216; intersection) = target
* [x] ``new`` = all &#x2216; source = {x: x &#x2208; target &#x2227; x &#x2209; source}
* [x] ``obsolete`` = source &#x2216; all = source &#x2216; target = {x: x &#x2208; source &#x2227; x &#x2209; target}

The ``all`` part is confusing because 'diff' should either mean 'relative complement' or 'symmetric difference' operation:

### Relative Complement:
* ``all`` = source &#x2216; target = {x: x &#x2208; source &#x2227; x &#x2209; target}

### Symmetric Difference:
* ``all`` = (source &#x2216; target) &#x222a; (target &#x2216; source) = {x: x &#x2208; source &#x2227; x &#x2209; target &#x2228; x &#x2208; target &#x2227; x &#x2209; source}

### Current Logic has Nothing to do with "Diff":
* ``all`` =  intersection &#x222a; (target &#x2216; intersection) = target

So the name of ``DiffOperation`` is misleading and inappropriate.
Unfortunately, there is no corresponding set operation for this class,
so it's hard to give it an apppriate name.
From my point of view, I believe the most accurate name for this class
should be ``TargetOperation`` because its result is same as the target set.

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

Commits
-------

353c94d [translation][framework-bundle] Deprecated DiffOperation
2015-09-05 11:37:34 +00:00
Nicolas Grekas
22b17b2c93 Merge branch '2.7' into 2.8
* 2.7:
  [travis] Add PHP 7 to allowed failures until segfaults are fixed
  [Intl] Fix test
  [Translator][fallback catalogues] fixed circular reference.
  bumped Symfony version to 2.3.33
  updated VERSION for 2.3.32
  update CONTRIBUTORS for 2.3.32
  updated CHANGELOG for 2.3.32
  [FrameworkBundle] Fix templating.helper.code.file_link_format when defined by ini setting
  [console] Use the description when no help is available
2015-09-03 13:42:45 +02:00
Nicolas Grekas
05d9411670 Merge branch '2.3' into 2.7
* 2.3:
  [Intl] Fix test
  [Translator][fallback catalogues] fixed circular reference.
  bumped Symfony version to 2.3.33
  updated VERSION for 2.3.32
  update CONTRIBUTORS for 2.3.32
  updated CHANGELOG for 2.3.32
  [FrameworkBundle] Fix templating.helper.code.file_link_format when defined by ini setting
  [console] Use the description when no help is available

Conflicts:
	src/Symfony/Component/Console/Tests/Fixtures/application_asxml1.txt
	src/Symfony/Component/Console/Tests/Fixtures/application_asxml2.txt
	src/Symfony/Component/HttpKernel/Kernel.php
2015-09-03 13:40:38 +02:00
Michael Lee
232f6fd534 [framework-bundle] Add Test for TranslationUpdateCommand
Added the test script as per the discussion in PR #15562

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a
2015-09-03 17:05:39 +08:00
Michael Lee
353c94db64 [translation][framework-bundle] Deprecated DiffOperation
The ``DiffOperation`` class has been deprecated and ``TargetOperation``
should be used instead, because ``DiffOperation`` has nothing to do
with 'diff', thus its class name is misleading.

Also added detailed documents for all operation interface and classes.

The following names should have consistent meanings for all operations:

The name of ``intersection`` is temporarily introduced here to explain this issue.

* [x] ``intersection`` = source &#x2229; target = {x: x &#x2208; source &#x2227; x &#x2208; target}
* [x] ``all`` = **result of the operation, depends on the operation.**
* [x] ``new`` = all &#x2216; source = {x: x &#x2208; all &#x2227; x &#x2209; source}
* [x] ``obsolete`` = source &#x2216; all = {x: x &#x2208; source &#x2227; x &#x2209; all}

The following analysis explains why ``DiffOperation`` should be deprecated.

* [x] ``all`` = source &#x222a; target = {x: x &#x2208; source &#x2228; x &#x2208; target}
* [x] ``new`` = all &#x2216; source = {x: x &#x2208; target &#x2227; &#x2209; source}
* [x] ``obsolete`` = source &#x2216; all = {x: x &#x2208; source &#x2227; x &#x2209; source &#x2227; x &#x2209; target} = &#x2205;

This absolutely makes sense.

* [ ] ``all`` =  intersection &#x222a; (target &#x2216; intersection) = target
* [x] ``new`` = all &#x2216; source = {x: x &#x2208; target &#x2227; x &#x2209; source}
* [x] ``obsolete`` = source &#x2216; all = source &#x2216; target = {x: x &#x2208; source &#x2227; x &#x2209; target}

The ``all`` part is confusing because 'diff' should either mean 'relative complement' or 'symmetric difference' operation:

* ``all`` = source &#x2216; target = {x: x &#x2208; source &#x2227; x &#x2209; target}

* ``all`` = (source &#x2216; target) &#x222a; (target &#x2216; source) = {x: x &#x2208; source &#x2227; x &#x2209; target &#x2228; x &#x2208; target &#x2227; x &#x2209; source}

* ``all`` =  intersection &#x222a; (target &#x2216; intersection) = target

So the name of ``DiffOperation`` is misleading and inappropriate.
Unfortunately, there is no corresponding set operation for this class,
so it's hard to give it an apppriate name.
From my point of view, I believe the most accurate name for this class
should be ``TargetOperation`` because its result is same as the target set.

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a
2015-09-03 14:49:29 +08:00
Nicolas Grekas
922a534427 Merge branch '2.7' into 2.8
* 2.7:
  Mark deprecated Twig functions as deprecated with the Twig feature
  [appveyor] PHP 5.3.11 for Symfony 2.7
  [HttpKernel] Group deprecation notices

Conflicts:
	appveyor.yml
2015-09-01 09:33:03 +02:00
Nicolas Grekas
8d6e337602 [HttpKernel] Group deprecation notices 2015-08-31 14:42:37 +02:00
Fabien Potencier
82ed1bed6b Merge branch '2.7' into 2.8
* 2.7:
  [VarDumper] Fix missing support for dumping PHP7 return type
  [travis] disable symfony_debug ext when deps!=no
  Do not normalize the kernel root directory path (see symfony/symfony#15474).
  Don't trigger deprecation on interfaces
  [Debug] Ignore silencing for deprecations
  [ci] Run minimal versions on appveyor only
  Fix appveyor file
  consistently use str_replace to unify directory separators (remaining)
2015-08-31 14:33:08 +02:00
Fabien Potencier
9d6fdc3b50 minor #15624 consistently use str_replace to unify directory separators (2.7) (Tobion)
This PR was merged into the 2.7 branch.

Discussion
----------

consistently use str_replace to unify directory separators (2.7)

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

Remaining ones from #15614

Commits
-------

17ce649 consistently use str_replace to unify directory separators (remaining)
2015-08-29 21:20:26 +02:00
Nicolas Grekas
de7d4a7225 [FrameworkBundle] Fix templating.helper.code.file_link_format when defined by ini setting 2015-08-29 20:06:03 +02:00
Nicolas Grekas
6fd4019975 Merge branch '2.7' into 2.8
* 2.7:
  [SecurityBundle] Skip SetAclCommandTest when sqlite is not available
2015-08-27 15:34:10 +02:00
Nicolas Grekas
95961a5aae [SecurityBundle] Skip SetAclCommandTest when sqlite is not available 2015-08-27 15:21:43 +02:00
Nicolas Grekas
fb9838c2d4 Merge branch '2.7' into 2.8
* 2.7:
  Various fixes esp. on Windows
  Fix the validation of form resources to register the default theme
  Fix the retrieval of the value with property path when using a loader
  [appveyor] minor enhancements
  [Process] Disable failing tests on Windows
  [Translation] Fix the string casting in the XliffFileLoader
  Windows and Intl fixes
  Add appveyor.yml for C.I. on Windows
  [VarDumper] fixed HtmlDumper to target specific the head tag
  [travis] merge php: nightly and deps=high test-matrix lines
  consistently use str_replace to unify directory separators
  Support omitting the <target> node in an .xlf file.
  Fix the handling of values for multiple choice types
  moved PHP nightly to PHP 7.0
  [Security] Add missing docblock in PreAuthenticatedToken

Conflicts:
	.travis.yml
2015-08-27 08:53:13 +02:00
Nicolas Grekas
464a1b3152 Various fixes esp. on Windows 2015-08-27 08:45:45 +02:00
Tobias Schultze
17ce6492d9 consistently use str_replace to unify directory separators (remaining) 2015-08-26 20:02:40 +02:00
Tobias Schultze
755f3c0223 Merge branch '2.3' into 2.7
Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Templating/TemplateFilenameParser.php
2015-08-26 19:56:37 +02:00
Tobias Schultze
051cb35c8d bug #15428 Fix the validation of form resources to register the default theme (stof)
This PR was merged into the 2.3 branch.

Discussion
----------

Fix the validation of form resources to register the default theme

| 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

https://github.com/symfony/symfony/pull/14173 made some wrong changes, changing the behavior of the code. This reverts to the right behavior in affected places

Commits
-------

ea92610 Fix the validation of form resources to register the default theme
2015-08-26 19:46:48 +02:00
Christophe Coevoet
ea92610a85 Fix the validation of form resources to register the default theme 2015-08-26 18:52:32 +02:00
Tobias Schultze
b9760efb02 consistently use str_replace to unify directory separators 2015-08-25 14:59:33 +02:00
Fabien Potencier
1d53ca9c92 fixed CS 2015-08-24 09:31:10 +02:00
Fabien Potencier
aad7963ede Merge branch '2.7' into 2.8
* 2.7:
  fixes CS
2015-08-24 09:18:02 +02:00
Fabien Potencier
c25e054d9e minor #15597 fixes CS (fabpot)
This PR was merged into the 2.7 branch.

Discussion
----------

fixes CS

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

Commits
-------

c0e4495 fixes CS
2015-08-24 09:16:32 +02:00
Fabien Potencier
c0e4495b66 fixes CS 2015-08-24 09:13:45 +02:00
Fabien Potencier
07174c30de Merge branch '2.7' into 2.8
* 2.7:
  fixed CS
  [DependencyInjection] Add missing file headers
  fixed typo
  made Symfony compatible with both Twig 1.x and 2.x
  [FrameworkBundle] Fix precedence of xdebug.file_link_format
2015-08-24 08:37:50 +02:00
Fabien Potencier
ce93f61437 Merge branch '2.3' into 2.7
* 2.3:
  fixed CS
  [FrameworkBundle] Fix precedence of xdebug.file_link_format
2015-08-24 08:37:42 +02:00
Fabien Potencier
1076a0f551 bug #15549 [FrameworkBundle] Fix precedence of xdebug.file_link_format (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[FrameworkBundle] Fix precedence of xdebug.file_link_format

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

See https://github.com/symfony/symfony-demo/pull/148#issuecomment-131058728

Commits
-------

adb5327 [FrameworkBundle] Fix precedence of xdebug.file_link_format
2015-08-23 23:27:21 +02:00
Fabien Potencier
472b374790 Merge branch '2.7' into 2.8
* 2.7:
  fixed Twig deprecations
  replaced deprecated Twig sameas test by same as
  fixed a namespace in the upgrade file
2015-08-23 18:16:48 +02:00
Fabien Potencier
7b64354058 fixed Twig deprecations 2015-08-23 17:59:39 +02:00
Fabien Potencier
99a1fcc3e2 replaced deprecated Twig sameas test by same as 2015-08-23 09:32:15 +02:00
Fabien Potencier
4de4180457 made Symfony compatible with both Twig 1.x and 2.x 2015-08-22 18:18:42 +02:00
Fabien Potencier
1fc31243de Merge branch '2.7' into 2.8
* 2.7:
  [Form] fixed BC-break on grouped choice lists
  [WebProfilerBundle] add import for Twig macro
  made Symfony compatible with both Twig 1.x and 2.x
  [Debug/VarDumper] minor cleanups
  [Form] only use PropertyPath if not already callable
  [Form] fix reworked choice list phpdoc
  [DoctrineBridge][Form] Add old tests to legacy group
  Fixed warning when command alias is longer than command name
  removed _self usage when not needed
  Implement the support of timezone objects in the stub IntlDateFormatter
  typofix - https://github.com/vlajos/misspell_fixer
  make doctrine mappings compiler pass exception message more understandable
  fix debug-ext 003.phpt
  [Yaml] Nested merge keys
  [FrameworkBundle] [Command] removed unused variable.
  [Debug] Enhance DebugClassLoader performance on MacOSX
  Add support for variadic arguments in the GetSetNormalizer
  [DoctrineBridge][Form] Fix IdReader when indexing by primary foreign key
  [DoctrineBridge][Form] Fix EntityChoiceList when indexing by primary foreign key
2015-08-22 09:42:07 +02:00
Fabien Potencier
e25aca7072 Merge branch '2.3' into 2.7
* 2.3:
  made Symfony compatible with both Twig 1.x and 2.x
2015-08-22 09:41:51 +02:00
Christian Flothmann
17950711a2 [WebProfilerBundle] add import for Twig macro 2015-08-22 09:00:15 +02:00
Fabien Potencier
a5c7a85b78 made Symfony compatible with both Twig 1.x and 2.x 2015-08-18 14:26:23 +02:00
Nicolas Grekas
adb5327dbb [FrameworkBundle] Fix precedence of xdebug.file_link_format 2015-08-14 15:34:27 +02:00
Fabien Potencier
b450c8481a bug #15514 removed _self usage when not needed (fabpot)
This PR was merged into the 2.7 branch.

Discussion
----------

removed _self usage when not needed

| 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 those calls are macros, there are already imported via the `from` call, so accessing them directly is not need, nor desired.

Commits
-------

3d0577d removed _self usage when not needed
2015-08-11 22:59:59 +02:00
Fabien Potencier
3d0577d1d2 removed _self usage when not needed 2015-08-11 17:34:43 +02:00
Nicolas Grekas
c0ff72802c Merge branch '2.3' into 2.7
* 2.3:
  typofix - https://github.com/vlajos/misspell_fixer
  [Yaml] Nested merge keys
  Add support for variadic arguments in the GetSetNormalizer

Conflicts:
	src/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.php
	src/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php
	src/Symfony/Component/Validator/Tests/Mapping/ClassMetadataTest.php
	src/Symfony/Component/Yaml/Tests/Fixtures/sfMergeKey.yml
2015-08-11 09:58:34 +02:00
Fabien Potencier
7f745d72c0 bug #15467 [FrameworkBundle] fix serializer config check (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[FrameworkBundle] fix serializer config check

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

Commits
-------

060c167 [FrameworkBundle] fix serializer config check
2015-08-08 08:10:39 +02:00
Fabien Potencier
19ee814cee minor #15470 [FrameworkBundle] [Command] removed unused variable. (hhamon)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle] [Command] removed unused variable.

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

Commits
-------

117e054 [FrameworkBundle] [Command] removed unused variable.
2015-08-06 12:02:52 +02:00
Nicolas Grekas
71852f8add Merge branch '2.7' into 2.8
* 2.7:
  [travis] Build standalone phpunit without symfony/yaml

Conflicts:
	.travis.yml
	src/Symfony/Bundle/TwigBundle/composer.json
2015-08-06 10:36:27 +02:00
Nicolas Grekas
500a2c4504 Merge branch '2.3' into 2.7
* 2.3:
  [travis] Build standalone phpunit without symfony/yaml

Conflicts:
	.travis.yml
	src/Symfony/Bundle/TwigBundle/composer.json
2015-08-06 10:34:04 +02:00
Nicolas Grekas
4dd0de6694 [travis] Build standalone phpunit without symfony/yaml 2015-08-06 10:22:42 +02:00
Hugo Hamon
117e054f87 [FrameworkBundle] [Command] removed unused variable. 2015-08-05 19:26:57 -04:00
Christian Flothmann
060c1670ba [FrameworkBundle] fix serializer config check 2015-08-05 21:44:23 +02:00
Nicolas Grekas
6888c1f256 Merge branch '2.7' into 2.8
* 2.7:
  [Locale] Fix Intl requirement
  Better Iban Validation

Conflicts:
	src/Symfony/Component/Locale/composer.json
	src/Symfony/Component/Validator/Constraints/Iban.php
2015-08-02 10:31:38 +02:00
Christophe Coevoet
4fefd3d1e7 Remove the duplicated rendering of deprecation messages in the profiler 2015-08-02 01:52:06 +02:00
Nicolas Grekas
48aa3e1453 Merge branch '2.7' into 2.8
* 2.7:
  [Locale] Add missing @group legacy annotations
  Fix security-acl deps
  Fix doctrine mapping validation type error
  Remove skipping of tests based on ICU data version whenever possible
  Fix the handling of null as locale in the stub intl classes
  do not dump leading backslashes in class names
  fix issue #15377
  Skip ::class constant
  [Config] type specific check for emptiness

Conflicts:
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/SecurityBundle/composer.json
	src/Symfony/Component/DependencyInjection/Dumper/GraphvizDumper.php
	src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTypeTest.php
	src/Symfony/Component/Form/Tests/Extension/Core/Type/TimeTypeTest.php
2015-08-01 11:43:59 +02:00
Nicolas Grekas
3d7d378cbc Merge branch '2.3' into 2.7
* 2.3:
  Fix security-acl deps
  Fix doctrine mapping validation type error
  Remove skipping of tests based on ICU data version whenever possible
  Fix the handling of null as locale in the stub intl classes
  do not dump leading backslashes in class names
  Skip ::class constant
  [Config] type specific check for emptiness

Conflicts:
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/SecurityBundle/composer.json
	src/Symfony/Component/Config/Tests/Definition/ScalarNodeTest.php
	src/Symfony/Component/DependencyInjection/Dumper/GraphvizDumper.php
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container9.php
	src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/IntegerToLocalizedStringTransformerTest.php
	src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTimeTypeTest.php
	src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTypeTest.php
	src/Symfony/Component/Locale/Tests/LocaleTest.php
	src/Symfony/Component/Locale/Tests/Stub/StubLocaleTest.php
	src/Symfony/Component/Validator/Tests/Constraints/CountryValidatorTest.php
	src/Symfony/Component/Validator/Tests/Constraints/CurrencyValidatorTest.php
2015-08-01 11:05:17 +02:00
Nicolas Grekas
1270e72560 Fix security-acl deps 2015-08-01 10:11:30 +02:00
Fabien Potencier
bffca95112 feature #15013 [Security] Removed security-acl from the core (iltar)
This PR was squashed before being merged into the 2.8 branch (closes #15013).

Discussion
----------

[Security] Removed security-acl from the core

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

The `Security\Acl` is removed from the core and is loaded from its own repository. All tests were passing and this is fully backwards compatible. I have removed all but the Test files in the first step and added the dependency to verify the Test were still working with the package dependency. The second step was to remove the remaining test files and tests are still running for both the Bundle and the Framework. Once the Read-Only repository is a full standalone repository, this PR can be merged.

- [x] Remove component from the core
- [ ] Remove read-only from https://github.com/symfony/security-acl

Once this PR is merged, I can start working on splitting the SecurityBundle and extracting the ACL part to the AclBundle.

/cc @fabpot

Commits
-------

b26a449 [Security] Removed security-acl from the core
2015-08-01 09:18:32 +02:00
Iltar van der Berg
b26a449d46 [Security] Removed security-acl from the core 2015-08-01 09:17:24 +02:00
Fabien Potencier
5b38d74128 feature #15079 [Form] Deprecated FormTypeInterface::getName() and passing of type instances (webmozart)
This PR was merged into the 2.8 branch.

Discussion
----------

[Form] Deprecated FormTypeInterface::getName() and passing of type instances

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

#### Type Names

This PR deprecates the definition of the `getName()` method of form types. See #15008 for a more detailed description.

Before:

```php
class MyType extends AbstractType
{
    public function getName()
    {
        return 'mytype';
    }

    // ...
}
```

After:

```php
class MyType extends AbstractType
{
    // ...
}
```

You should always reference other types by their fully-qualified class names. Thanks to PHP 5.5, that's easy:

Before:

```php
$form = $this->createFormBuilder()
    ->add('name', 'text')
    ->add('age', 'integer')
    ->getForm();
```

After:

```php
$form = $this->createFormBuilder()
    ->add('name', TextType::class)
    ->add('age', IntegerType::class)
    ->getForm();
```

#### Type Instances

Furthermore, passing of type instances is deprecated.

Before:

```php
$form = $this->createForm(new AuthorType());
```

After:

```php
$form = $this->createForm(AuthorType::class);
```

#### DIC Aliases

When registering a type in the DIC, you should omit the "alias" attribute now.

Before:

```xml
<service id="my.type" class="Vendor\Type\MyType">
    <tag name="form.type" alias="mytype" />
    <argument type="service" id="some.service.id" />
</service>
```

After:

```xml
<service id="my.type" class="Vendor\Type\MyType">
    <tag name="form.type" />
    <argument type="service" id="some.service.id" />
</service>
```

Types without dependencies don't need to be registered in the DIC as they can be instantiated right away.

#### Template Block Prefixes

By default, the class name of the type in underscore notation minus "Type" suffix is used as Twig template block prefix (e.g. `UserProfileType` => `user_profile_*`). If you want to customize that, overwrite the new `getBlockPrefix()` method in your type:

```php
class UserProfileType extends AbstractType
{
    public function getBlockPrefix()
    {
        return 'profile';
    }

    // ...
}
```

Commits
-------

3d9e5de [Form] Deprecated FormTypeInterface::getName() and passing of type instances
2015-08-01 08:44:19 +02:00
Fabien Potencier
839e925dff feature #15123 [2.8][FrameworkBundle] Allow parameter use_cookies in session configuration (derrabus)
This PR was merged into the 2.8 branch.

Discussion
----------

[2.8][FrameworkBundle] Allow parameter use_cookies in session configuration

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

This PR adds support for the `use_cookies` parameter to the session configuration of Symfony's FrameworkBundle. It is a rebase of #13671 against the 2.8 branch.

Commits
-------

08bf50a Allow parameter use_cookies in session configuration.
2015-08-01 08:28:15 +02:00
Fabien Potencier
f02a5dcec4 feature #14987 [FrameworkBundle] Configurable Serializer name converter (dunglas)
This PR was merged into the 2.8 branch.

Discussion
----------

[FrameworkBundle] Configurable Serializer name converter

| 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#5483

- [x] Add tests

Commits
-------

e500a71 [FrameworkBundle] Configurable Serializer name converter
2015-08-01 08:23:02 +02:00
Fabien Potencier
ce5363aee0 feature #15372 [FrameworkBundle] Change the default value of cookie_httponly (jderusse)
This PR was merged into the 2.8 branch.

Discussion
----------

[FrameworkBundle] Change the default value of cookie_httponly

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

Commits
-------

a7bef1e Change the default value of cookie_httponly to fix #15303
2015-08-01 08:15:28 +02:00
Javier Eguiluz
5a571b6eca Reordered the toolbar elements via service priorities 2015-07-31 17:06:53 +02:00
Javier Eguiluz
f237ff1913 Increased the z-index of .sf-toolbar-info 2015-07-31 15:42:14 +02:00
Javier Eguiluz
b3ad83da01 Removed an unused media query 2015-07-31 15:37:44 +02:00
Javier Eguiluz
b438ee5482 Redesigned "abbr" elements 2015-07-31 15:19:54 +02:00
Javier Eguiluz
7d92cb8a02 Restored the old behavior for toolbars with lots of elements
If a toolbar includes lots of elements, some of them may
span to a new line, increasing the height of the toolbar
2015-07-31 15:08:06 +02:00
Javier Eguiluz
597637ecea Tweaks and bug fixes 2015-07-31 13:11:01 +02:00
Javier Eguiluz
22f6bc5003 Removed an useless CSS class and added styles for <hr> 2015-07-30 15:15:53 +02:00
Javier Eguiluz
5070861326 Added a new profiler_markup_version to improve BC of the new toolbar 2015-07-30 13:21:10 +02:00
Javier Eguiluz
2fb33191fe Removed an unused import 2015-07-30 09:30:53 +02:00
Javier Eguiluz
7ec1cd491d Reverted the feature to display different toolbar versions 2015-07-30 09:29:46 +02:00
Javier Eguiluz
084cca644d Minor JavaScript optimizations 2015-07-30 09:29:45 +02:00
Javier Eguiluz
972a92e778 Misc. tweaks and improvements 2015-07-30 09:29:45 +02:00