Commit Graph

6011 Commits

Author SHA1 Message Date
Francis Besset
f91f4dda13 Added the possibility to set cookies with the same name for different domains and paths for Symfony\Component\HttpFoundation\ResponseHeaderBag
ResponseHeaderBag::hasCookie() and ResponseHeaderBag::getCookie() were removed
2011-07-11 23:03:26 +02:00
Francis Besset
f08eeb4433 Moved managing cookies of HeaderBag in ResponseHeaderBag
By example, a cookie can't be set in a request
2011-07-11 19:50:24 +02:00
Fabien Potencier
e8ea852179 added missing test 2011-07-11 18:38:59 +02:00
Fabien Potencier
9a6aafa83f added missing required classes on form label 2011-07-11 18:37:09 +02:00
Fabien Potencier
e718a51b59 [DependencyInjection] fixed un-detected circular references involving aliases 2011-07-11 18:25:40 +02:00
Fabien Potencier
be31bc091e [DependencyInjection] made a small performance optimization 2011-07-11 17:55:12 +02:00
Fabien Potencier
f0f83a9f6e merged branch stof/exception_listener (PR #1633)
Commits
-------

11369eb Fixed phpdoc
dbe1854 Added a AccessDeniedHttpException to wrap the AccessDeniedException.

Discussion
----------

Added a AccessDeniedHttpException to wrap the AccessDeniedException.

This is a proposal to fix #1631

It wraps the AccessDeniedException in an AccessDeniedHttpException when the firewall is not able to handle it itself. This allows getting a 403 response using the standard exception listener in this case.

Note that the app should not throw the AccessDeniedHttpException itself but keep using the AccessDeniedException to let the Security component check if the user is already fully authenticated or if it should give a chance to authenticate.

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

by fabpot at 2011/07/11 07:10:12 -0700

For reference, I've tried something more radical some time ago here: https://github.com/symfony/symfony/pull/369.

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

by stof at 2011/07/11 07:22:07 -0700

my implementation is what @schmittjoh suggested in the comments on your PR.
2011-07-11 17:02:32 +02:00
Fabien Potencier
00c7e91182 [HttpKernel] removed special case when using the CLI
* This special case means that functional tests run from the CLI behave differently
* It means that web servers created in PHP behave differently
2011-07-11 16:13:15 +02:00
Christophe Coevoet
11369eb7e4 Fixed phpdoc 2011-07-11 14:08:49 +02:00
Christophe Coevoet
dbe1854e1f Added a AccessDeniedHttpException to wrap the AccessDeniedException.
See #1631
2011-07-11 13:12:24 +02:00
Fabien Potencier
10a3ea82f0 merged branch jdreesen/validator-translation-update-2 (PR #1632)
Commits
-------

f076561 [FrameworkBundle] Synced German validator translation

Discussion
----------

[FrameworkBundle] Synced German validator translation
2011-07-11 12:54:55 +02:00
jdreesen
f0765618de [FrameworkBundle] Synced German validator translation 2011-07-11 12:41:21 +02:00
Fabien Potencier
1bdc2b206e merged branch aboks/dutch_translations (PR #1630)
Commits
-------

bf7ca50 [FrameworkBundle] Synced Dutch validator translation

Discussion
----------

[FrameworkBundle] Synced Dutch validator translation
2011-07-11 12:10:32 +02:00
Arnout Boks
bf7ca509a2 [FrameworkBundle] Synced Dutch validator translation 2011-07-11 12:06:18 +02:00
Fabien Potencier
8a653f2335 merged branch stloyd/patch-1 (PR #1629)
Commits
-------

e54ad66 [Validator] Polish translation sync.

Discussion
----------

[Validator] Polish translation sync.
2011-07-11 11:57:54 +02:00
Fabien Potencier
6a7359389d removed usage of \Exception as PHPUnit won't allow to catch them anymore in the next major version 2011-07-11 11:54:00 +02:00
Joseph Bielawski
e54ad66e7d [Validator] Polish translation sync. 2011-07-11 02:48:27 -07:00
Fabien Potencier
41210b07c7 [FrameworkBundle] fixed form PHP templates for previous merge 2011-07-11 11:38:46 +02:00
Fabien Potencier
4e605aa761 merged branch Seldaek/form_tpl (PR #1519)
Commits
-------

52fdd53 [Bridge/Twig] Add required class to labels that match required fields

Discussion
----------

[Bridge/Twig] Add required class to labels that match required fields

I have used this to simply style labels that are required with a red star behind them using this CSS:

``` css
label.required::after {
	content: " *";
	color: #c00;
}
```

The problem is that you can't use `input[required] + label::after` as a selector since the label is typically rendered before the input. There is no way to check for an element that is *followed by* another, only elements *following*.

Of course this CSS in particular won't work except in the latest browsers, but you could still use the `label.required` selector to add a background image and so on. I think this is a very common use case and therefore I think it'd benefit the core framework.

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

by fabpot at 2011/07/05 01:27:49 -0700

Can you also update the PHP templates?

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

by schmittjoh at 2011/07/05 01:43:33 -0700

How about namespacing these css classes, like for example "sf-form-required"?

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

by stloyd at 2011/07/05 01:50:58 -0700

I would prefer an @schmittjoh naming, or even adding ability to setup it thought options.

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

by fabpot at 2011/07/05 01:54:36 -0700

Please, do not add more options. Prefix with `sf` is actually a good idea but people will argue that this is not a good idea because it gives too much information about the technology used to create the website (that's one of the things that came up pretty often in symfony1).

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

by schmittjoh at 2011/07/05 02:00:11 -0700

An option is not such a good idea imo since you likely want to have a uniform naming strategy across your entire site. How about adding a new service CssNamingStrategy?

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

by stloyd at 2011/07/05 02:01:19 -0700

Then this can be some simpler one not giving such informations i.e.: `form-label-required`, `label-required`, `framework-form-required`, `form-required` or whatever else ;-)

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

by fabpot at 2011/07/05 02:16:41 -0700

It cannot be configurable as it would potentially break bundles that come with stylesheets.

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

by stloyd at 2011/07/05 02:21:10 -0700

IMO if we decide to add this one, we could add same to `inputs/selects/etc` with `required` option.

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

by schmittjoh at 2011/07/05 02:21:59 -0700

I think it can, consider an interface like this:

```php
interface CssNamingStrategyInterface
{
    function getCssName($class);
}
```

This will give people a lot of flexibility, and it also does allow them to exclude classes which for example are provided by third-party bundles.

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

by Seldaek at 2011/07/05 02:47:54 -0700

Wow guys, if this turns into a full blown class generator solution, I'm happy to close the PR.

"required" is not a name that's commonly used for main page elements, it's typically associated with forms, and therefore I don't see the need to make it unnecessary longer/namespaced. Similarly I don't see the need to add it to the input/select/.., because they already have an attribute, which you can very easily select as: `input[required]` in CSS. That works everywhere except IE6, but we can't build for the future on very old browsers. If you really want support for IE6, you can override the templates imo. But core should be looking forward, as it already is with HTML5, form markup, etc.

As for calling it form-label-required or label-required, again, I don't see the benefit, you can use `label.required` if you want to avoid conflicts with non-label elements having a required class, or a safer `form .required`. There are plenty of options in CSS itself, let's not make this overly complex.

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

by schmittjoh at 2011/07/05 02:52:17 -0700

see
http://code.google.com/intl/de-DE/speed/page-speed/docs/rendering.html#UseEfficientCSSSelectors

On Tue, Jul 5, 2011 at 11:47 AM, Seldaek <
reply@reply.github.com>wrote:

> Wow guys, if this turns into a full blown class generator solution, I'm
> happy to close the PR.
>
> "required" is not a name that's commonly used for main page elements, it's
> typically associated with forms, and therefore I don't see the need to make
> it unnecessary longer/namespaced. Similarly I don't see the need to add it
> to the input/select/.., because they already have an attribute, which you
> can very easily select as: `input[required]` in CSS. That works everywhere
> except IE6, but we can't build for the future on very old browsers. If you
> really want support for IE6, you can override the templates imo. But core
> should be looking forward, as it already is with HTML5, form markup, etc.
>
> As for calling it form-label-required or label-required, again, I don't see
> the benefit, you can use `label.required` if you want to avoid conflicts
> with non-label elements having a required class, or a safer `form
> .required`. There are plenty of options in CSS itself, let's not make this
> overly complex.
>
> --
> Reply to this email directly or view it on GitHub:
> https://github.com/symfony/symfony/pull/1519#issuecomment-1502560
>

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

by Seldaek at 2011/07/05 03:11:50 -0700

Really? Come on, we're talking about forms, it's not like you have billions of form/input tags per page that have to be parsed by the browser when you select that. Also you don't have to select the elements, if you want true performance just use no stylesheet, your users will thank you.

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

by schmittjoh at 2011/07/05 03:30:40 -0700

Your CSS selectors not only affect the performance of form elements, but of all elements that have a "required" class. Likewise, the same applies if we decide to add more classes.

Why close the door for people who care about performance? We can easily avoid this by making the css class more specific as suggested earlier. The idea with the renaming strategy is one step further and allows people to "obfuscate" which tool was used to generate the form, or do additional optimizations like shortening the css name.

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

by lenar at 2011/07/05 03:34:34 -0700

@Seldaek: Just for remark I've seen matrix forms spanning multiple screenfuls horizontally and vertically
containing tens of thousands inputs. Not pretty, but they do exist. Basically "poor" man's/company's excel
emulation or something.

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

by Seldaek at 2011/07/05 04:19:13 -0700

@schmittjoh, @lenar: We're catering to the most common use case, for which this will be more than fast enough. Small/medium scale websites don't have to optimize on CSS rules parsing, they usually have much bigger issues to deal with. If you really care about it, overriding the block to remove the class is just as easy as it was to for me to add it, but IMO this is the edge case.

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

by schmittjoh at 2011/07/05 05:37:19 -0700

IMO Symfony should follow best practices by encouraging to use class selectors, and not tag selectors for the reasons explained on the page I linked.

Anyway, I think everybody made his points. Time for @fabpot to make a decision :)
2011-07-11 11:32:26 +02:00
Fabien Potencier
fa78e78f5f [HttpFoundation] added some information in a phpdoc 2011-07-11 11:30:24 +02:00
Fabien Potencier
7f960a10f2 merged branch gbirke/form_error_docs (PR #1599)
Commits
-------

22a49f1 Better docstring for FormError constructor

Discussion
----------

Better docstring for FormError constructor

Better docs for placeholder format of FormError.
2011-07-11 11:28:00 +02:00
Fabien Potencier
c188ca85b9 merged branch vicb/form/translate (PR #1627)
Commits
-------

24e0d71 [FrameworkBundle] Fix a translatable string from the Form default validator
30d348d [Form] Make the default invalid message translatable

Discussion
----------

[Form] Translation

The first commit adds the ability to customize the default message when the form is invalid:

  * Make it an option in the form builder,
  * Allow placeholders in the message,
  * The default value `This value is not valid` exists in the translation files.

The second commit updates a source string in the XLIFF files to make it translatable. All translations should be updated accordingly. The source string is from the [default validator](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Form/Extension/Core/Validator/DefaultValidator.php#L27).

This PR should fix The issue #997.

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

by fabpot at 2011/07/11 01:53:05 -0700

The first commit is not about making the message translatable, but to make it customizable (as the message is used for very different purposes depending on the Type).

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

by fabpot at 2011/07/11 01:55:11 -0700

The "This value is not valid" string should be added to the translation files too.

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

by vicb at 2011/07/11 02:02:51 -0700

@fabpot it was not translatable as the name was hardcoded in the message (instead of using a placeholder). So yes it becomes translatable now (and "customize"able as explained in the PR message).

I have also removed the form name from the default message as I don't think it brings any added value.

`This value is not valid` already exists in the translation files (see id=24).
2011-07-11 11:25:45 +02:00
Fabien Potencier
0e4d057984 moved some RFC-tweaking logic in Response to a public method to make it reusable 2011-07-11 11:22:12 +02:00
Fabien Potencier
1a576552f8 [HttpFoundation] fixed unit test for previous merge 2011-07-11 11:02:30 +02:00
Fabien Potencier
de2ab0b506 merged branch lenar/patch-3 (PR #1551)
Commits
-------

f7d0f65 RFC2616 changes
b9a218a [HttpFoundation] set Content-Length header to the length of content

Discussion
----------

[HttpFoundation] set Content-Length header to the length of content

I can't think of why this could be bad but if somebody knows please chime in.

The good thing is that with this change keepalive will work out of the box.

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

by Seldaek at 2011/07/06 05:34:51 -0700

That sounds like a great change. I think it might explain/fix the issues I've encountered with AppCache on my production box. Never had time to look into it, but IIRC I noticed the missing Content-Length, and it seemed to load forever.

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

by fabpot at 2011/07/06 06:46:50 -0700

The `Content-Length` is automatically added by servers like Apache. Moreover, sometimes, you should not add it: http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.4

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

by lenar at 2011/07/06 07:54:45 -0700

It is not added automatically by default. Yes, in case of Apache it is actually added if deflate module is enabled and if that module decides to compress the content (decision based on content-type).

About RFC2616: I will read it and add changes to this PR if applicable.

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

by fabpot at 2011/07/06 08:38:14 -0700

e943fde2ef

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

by Seldaek at 2011/07/06 08:45:22 -0700

@lenar all you have to do is skip setting the Content-Length for `1xx`, `204`, and `304` responses I believe.

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

by Seldaek at 2011/07/06 08:46:54 -0700

But this should maybe be done in sendHeaders() à la `fixContentType`, because you can't be sure about the statusCode before that.

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

by lenar at 2011/07/06 13:55:33 -0700

I propose this based on what I read and understood from RFC2616.

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

by mheleniak at 2011/07/10 03:57:26 -0700

+1
2011-07-11 10:58:31 +02:00
Fabien Potencier
540a32cee5 merged branch DerStoffel/patch-1 (PR #1628)
Commits
-------

377ef79 Error Message id 1 & 2 changed in "true" & "false", since direct german translation (wahr, falsch) are properly missleading. Corrected typos.

Discussion
----------

Error Message id 1 & 2 changed in "true" & "false"

Error Message id 1 & 2 changed in "true" & "false", since direct german translation (wahr, falsch) are properly missleading. Corrected typos.
2011-07-11 10:45:09 +02:00
DerStoffel
377ef7974f Error Message id 1 & 2 changed in "true" & "false", since direct german translation (wahr, falsch) are properly missleading. Corrected typos. 2011-07-11 01:18:45 -07:00
Victor Berchet
24e0d71d92 [FrameworkBundle] Fix a translatable string from the Form default validator 2011-07-11 08:41:58 +02:00
Victor Berchet
30d348d18d [Form] Make the default invalid message translatable 2011-07-11 08:36:37 +02:00
Fabien Potencier
2f51bc3ef3 [Security] fixed tests 2011-07-11 08:28:02 +02:00
Fabien Potencier
21c80df3a1 merged branch arnaud-lb/issues/1598 (PR #1603)
Commits
-------

e6a2d76 delay resolving values of extensions config until all files are loaded

Discussion
----------

[DependencyInjection] Delay resolving values of extensions' config until all files are loaded

This addresses #1598.

This delays resolving of extensions' configuration until all files are loaded. Without this, overriding parameters do not work for extensions.
2011-07-11 08:15:47 +02:00
Fabien Potencier
ea7a0eb19c [Security] fixed redirection URLs when using {_locale} in the pattern 2011-07-11 08:09:36 +02:00
Fabien Potencier
9301ad00fd merged branch tero/master (PR #1624)
Commits
-------

0149ba9 Added finnish translation for validator messages

Discussion
----------

Created finnish translation file for validator messages
2011-07-10 21:55:14 +02:00
Fabien Potencier
ff92ba79f0 merged branch davideborsatto/translation-it (PR #1623)
Commits
-------

f359e3d Updated italian translations

Discussion
----------

Updated and corrected italian translations

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

by davideborsatto at 2011/07/10 12:41:29 -0700

Previously they were not translated that good, plus there were a few typos here and there.
2011-07-10 21:53:42 +02:00
Fabien Potencier
a381e78d25 merged branch guilhermeblanco/patch-1 (PR #1622)
Commits
-------

89c8962 Fixed minor portuguese brazilian messages. File is pretty much up to date, just small glitches.

Discussion
----------

Fixed minor portuguese brazilian messages. File is pretty much up to date

Fixed minor portuguese brazilian messages. File is pretty much up to date, just small glitches.
2011-07-10 21:53:19 +02:00
Tero Alén
0149ba99d6 Added finnish translation for validator messages 2011-07-10 22:44:49 +03:00
Davide Borsatto
f359e3db18 Updated italian translations 2011-07-10 12:37:17 -07:00
Guilherme Blanco
89c8962574 Fixed minor portuguese brazilian messages. File is pretty much up to date, just small glitches. 2011-07-10 12:19:10 -07:00
Fabien Potencier
1a5b14d49d merged branch xmontana/master (PR #1618)
Commits
-------

b8b8869 updated translation to catalan

Discussion
----------

Edited src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ca.xliff
2011-07-10 19:53:41 +02:00
Fabien Potencier
99f5eac71a merged branch wtfzdotnet/patch-2 (PR #1619)
Commits
-------

0be00c1 Edited src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.nl.xliff via GitHub

Discussion
----------

Edited src/Symfony/Bundle/FrameworkBundle/Resources/translations/validato

Edited src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.nl.xliff via GitHub
2011-07-10 19:53:25 +02:00
Fabien Potencier
f88a7a78b0 merged branch 77web/add_ja_translation_11_july (PR #1620)
Commits
-------

d53f312 changed "should" to "must" in message 6 and 7. also moved message 32 as replacement of message 5, according to note by yethee
e151c80 updated japanese translations

Discussion
----------

updated japanese translations

Please update japanese translations.
I  picked up some messages from the latest sources of validation classes on your master branch, because translations for many other languages seems not to contain messages for recent validator classes, such as Image,Ip,Locale,Language.
Thanks in advance!

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

by yethee at 2011/07/10 09:23:01 -0700

> "One or more..." is on message#33 in my commit, should I locate #33 just after #5?

Not necessarily, the order of messages is not important, AFAIK.
2011-07-10 19:53:09 +02:00
77web
d53f312e2b changed "should" to "must" in message 6 and 7. also moved message 32 as replacement of message 5, according to note by yethee 2011-07-11 00:50:09 +09:00
Michael Roterman
0be00c13dd Edited src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.nl.xliff via GitHub 2011-07-10 08:24:56 -07:00
Xmontana
b8b8869f05 updated translation to catalan 2011-07-10 17:07:42 +02:00
77web
e151c805a0 updated japanese translations 2011-07-10 23:53:04 +09:00
Fabien Potencier
29460becde merged branch drm/master (PR #1615)
Commits
-------

9714cfc Fixes fatal error when intl module is not installed.

Discussion
----------

Session instantiation breaks with Fatal error if intl module is not installed.

A check for class_exists in setPhpDefaultLocale() fixes this, though I got the feeling it should be resolved with a proxy or subscriber object; setPhpDefaultLocale feels like a hack now.

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

by stealth35 at 2011/07/10 06:32:43 -0700

Locale::setDefault don't throw any exception
Maybe just :

```php
if (class_exists('Locale', false)) {
    return \Locale::setDefault($this->locale);
} else {
    return false;
}
```
2011-07-10 15:34:36 +02:00
Fabien Potencier
5e2729c9c5 merged branch ideea/patch-1 (PR #1616)
Commits
-------

cd7eb02 Edited src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ru.xliff via GitHub

Discussion
----------

Edited src/Symfony/Bundle/FrameworkBundle/Resources/translations/validato

Typo correction
Edited src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ru.xliff via GitHub
2011-07-10 15:34:13 +02:00
Vladislav
cd7eb02816 Edited src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ru.xliff via GitHub 2011-07-10 06:28:16 -07:00
drm
9714cfc4f9 Fixes fatal error when intl module is not installed. 2011-07-10 15:15:04 +02:00
Fabien Potencier
5d1f5b1cf4 merged branch javiereguiluz/update_spanish_translation (PR #1613)
Commits
-------

bb6eefe [FrameworkBundle] Updated Spanish validator translations

Discussion
----------

[FrameworkBundle] Updated Spanish validator translations
2011-07-10 14:17:17 +02:00