Commit Graph

3204 Commits

Author SHA1 Message Date
Fabien Potencier
ca8dc87940 merged 2.0 2012-01-09 11:51:30 +01:00
Hugo Hamon
96425b01f7 [SwiftmailerBundle] harmonized commands descriptions. 2012-01-09 10:05:25 +01:00
Hugo Hamon
7eb1c436ae [FrameworkBundle] harmonized commands descriptions. 2012-01-09 10:01:34 +01:00
Hugo Hamon
082909417b [DoctrineBundle] harmonized commands descriptions. 2012-01-09 10:01:09 +01:00
Peter Kokot
620a354026 slovenian translations updated 2012-01-09 03:02:36 +01:00
Fabien Potencier
8ce034fae0 Revert "merged 2.0"
This reverts commit 7000e944fd, reversing
changes made to 9d9013d662.
2012-01-08 20:43:02 +01:00
Fabien Potencier
5b566f84b6 merged branch antonbabenko/master (PR #2995)
Commits
-------

1cd74ec Added norwegian translations of validators

Discussion
----------

Added norwegian translations of validators

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

by stof at 2011/12/29 10:14:43 -0800

Can you send a PR to the 2.0 branch instead of master to add these translation for the ids 1 to 41 (missing in your PR btw) ? and then another PR to master for the ids 42 to 48 which are new for 2.1 ?

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

by antonbabenko at 2011/12/29 10:59:39 -0800

Ok, will do, but where can I find the correct original one ? I took german file as the most complete. Some languages have different amount of phrases and sources.

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

by javiereguiluz at 2011/12/29 11:23:04 -0800

@antonbabenko you can use the Spanish translation as an example (it was updated very recently and I initially made the same mistake ;) ):

  * #2968 for 2.0 branch (added id 41)
  * #2969 for master branch (added ids 42 - 48)

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

by antonbabenko at 2011/12/29 11:28:03 -0800

Thanks Javier.
2012-01-06 04:21:06 +01:00
Fabien Potencier
3e24636904 merged branch justinrainbow/2_0_framework_bundle_fix (PR #3039)
Commits
-------

7c8bd3d [FrameworkBundle] Invalid composer ref fix

Discussion
----------

[FrameworkBundle] Invalid composer ref fix

Changes the `composer.json` reference in the FrameworkBundle to use the `symfony/translation` package rather than the current `symfony/translator` (which doesn't exist).
2012-01-05 17:11:25 +01:00
Justin Rainbow
7c8bd3d917 [FrameworkBundle] Invalid composer ref fix
The composer.json was referencing a "symfony/translator" package
which does not exist.  This has been updated to use the
"symfony/translation" package.
2012-01-05 09:00:58 -07:00
Fabien Potencier
85a5f1533b fixed previous merge 2012-01-05 14:55:00 +01:00
Fabien Potencier
7000e944fd merged 2.0 2012-01-05 14:54:04 +01:00
Fabien Potencier
208c2e468c removed the version attribute in all composer.json files 2012-01-05 14:51:20 +01:00
Fabien Potencier
9d9013d662 merged branch franmomu/patch-1 (PR #3033)
Commits
-------

0ed3497 [FrameworkBundle][translations] Updated Catalan translation

Discussion
----------

[FrameworkBundle][translations] Updated Catalan translation

Added some translations

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

by stof at 2012/01/04 19:14:29 -0800

Can you send the trans-unit 41 to the 2.0 branch as it is already part of the 2.0 release (ids 42 and above are new for 2.1)

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

by franmomu at 2012/01/05 00:53:49 -0800

Of course, I didn't realize
2012-01-05 14:29:56 +01:00
Fabien Potencier
7572cfa95a merged 2.0 2012-01-05 14:29:25 +01:00
Fran Moreno
d0c54e1856 [FrameworkBundle][translations] Updated Catalan translation 2012-01-05 10:07:52 +01:00
franmomu
0ed3497eca [FrameworkBundle][translations] Updated Catalan translation 2012-01-05 02:42:39 +01:00
Fabien Potencier
5f959e3e6f merged branch henrikbjorn/security-extension-check-path (PR #3005)
Commits
-------

c37c145 [SecurityBundle] Only throw exception if check_path looks like an url

Discussion
----------

[SecurityBundle] Only throw exception if check_path looks like an url

fixes #2954 and enables the usage of route names like you can in all other paths
2012-01-02 19:16:50 +01:00
Fabien Potencier
dcf209a4aa [DoctrineBundle] removed the bundle (migrated to the Doctrine organization) 2012-01-02 18:07:52 +01:00
Fabien Potencier
789d5ad20f [FrameworkBundle] allowed attributes of the render() method to be arrays 2012-01-02 16:31:32 +01:00
Fabien Potencier
254e49b47c [FrameworkBundle] removed the possibility to pass a non-scalar attributes when calling render() to make the call works with or without a reverse proxy (closes #2941) 2012-01-02 11:47:41 +01:00
Peter Kokot
fae715798a slovenian validators translations correction 2012-01-01 20:48:21 +01:00
Fabien Potencier
1e2d1a3406 [WebProfilerBundle] fixed some bugs 2011-12-31 16:35:58 +01:00
Fabien Potencier
b46114a0f6 [WebProfilerBundle] moved the computation of the Router panel at runtime 2011-12-31 15:53:13 +01:00
Fabien Potencier
6c6d91ed74 fixed typo 2011-12-31 10:50:19 +01:00
Fabien Potencier
899e252032 merged branch symfony/streaming (PR #2935)
Commits
-------

887c0e9 moved EngineInterface::stream() to a new StreamingEngineInterface to keep BC with 2.0
473741b added the possibility to change a StreamedResponse callback after its creation
8717d44 moved a test in the constructor
e44b8ba made some cosmetic changes
0038d1b [HttpFoundation] added support for streamed responses

Discussion
----------

[HttpFoundation] added support for streamed responses

To stream a Response, use the StreamedResponse class instead of the
standard Response class:

    $response = new StreamedResponse(function () {
        echo 'FOO';
    });

    $response = new StreamedResponse(function () {
        echo 'FOO';
    }, 200, array('Content-Type' => 'text/plain'));

As you can see, a StreamedResponse instance takes a PHP callback instead of
a string for the Response content. It's up to the developer to stream the
response content from the callback with standard PHP functions like echo.
You can also use flush() if needed.

From a controller, do something like this:

    $twig = $this->get('templating');

    return new StreamedResponse(function () use ($templating) {
        $templating->stream('BlogBundle:Annot:streamed.html.twig');
    }, 200, array('Content-Type' => 'text/html'));

If you are using the base controller, you can use the stream() method instead:

    return $this->stream('BlogBundle:Annot:streamed.html.twig');

You can stream an existing file by using the PHP built-in readfile() function:

    new StreamedResponse(function () use ($file) {
        readfile($file);
    }, 200, array('Content-Type' => 'image/png');

Read http://php.net/flush for more information about output buffering in PHP.

Note that you should do your best to move all expensive operations to
be "activated/evaluated/called" during template evaluation.

Templates
---------

If you are using Twig as a template engine, everything should work as
usual, even if are using template inheritance!

However, note that streaming is not supported for PHP templates. Support
is impossible by design (as the layout is rendered after the main content).

Exceptions
----------

Exceptions thrown during rendering will be rendered as usual except that
some content might have been rendered already.

Limitations
-----------

As the getContent() method always returns false for streamed Responses, some
event listeners won't work at all:

* Web debug toolbar is not available for such Responses (but the profiler works fine);
* ESI is not supported.

Also note that streamed responses cannot benefit from HTTP caching for obvious
reasons.

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

by Seldaek at 2011/12/21 06:34:13 -0800

Just an idea: what about exposing flush() to twig? Possibly in a way that it will not call it if the template is not streaming. That way you could always add a flush() after your </head> tag to make sure that goes out as fast as possible, but it wouldn't mess with non-streamed responses. Although it appears flush() doesn't affect output buffers, so I guess it doesn't need anything special.

When you say "ESI is not supported.", that means only the AppCache right? I don't see why this would affect Varnish, but then again as far as I know Varnish will buffer if ESI is used so the benefit of streaming there is non-existent.

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

by cordoval at 2011/12/21 08:04:21 -0800

wonder what the use case is for streaming a response, very interesting.

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

by johnkary at 2011/12/21 08:19:48 -0800

@cordoval Common use cases are present fairly well by this RailsCast video: http://railscasts.com/episodes/266-http-streaming

Essentially it allows faster fetching of web assets (JS, CSS, etc) located in the &lt;head>&lt;/head>, allowing those assets to be fetched as soon as possible before the remainder of the content body is computed and sent to the browser. The end goal is to improve page load speed.

There are other uses cases too like making large body content available quickly to the service consuming it. Think if you were monitoring a live feed of JSON data of newest Twitter comments.

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

by lsmith77 at 2011/12/21 08:54:35 -0800

How does this relate the limitations mentioned in:
http://yehudakatz.com/2010/09/07/automatic-flushing-the-rails-3-1-plan/

Am I right to understand that due to how twig works we are not really streaming the content pieces when we call render(), but instead the entire template with its layout is rendered and only then will we flush? or does it mean that the render call will work its way to the top level layout template and form then on it can send the content until it hits another block, which it then first renders before it continues to send the data?

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

by stof at 2011/12/21 09:02:53 -0800

@lsmith77 this is why the ``stream`` method calls ``display`` in Twig instead of ``render``. ``display`` uses echo to print the output of the template line by line (and blocks are simply method calls in the middle). Look at your compiled templates to see it (the ``doDisplay`` method)
Rendering a template with Twig simply use an output buffer around the rendering.

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

by fabpot at 2011/12/21 09:24:33 -0800

@lsmith77: We don't have the Rails problem thanks to Twig as the order of execution is the right one by default (the layout is executed first); it means that we can have the flush feature without any change to how the core works. As @stof mentioned, we are using `display`, not `render`, so we are streaming your templates for byte one.

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

by fabpot at 2011/12/21 09:36:41 -0800

@Seldaek: yes, I meant ESI with the PHP reverse proxy.

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

by fabpot at 2011/12/21 09:37:34 -0800

@Seldaek: I have `flush()` support for Twig on my todo-list. As you mentioned, It should be trivial to implement.

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

by fzaninotto at 2011/12/21 09:48:18 -0800

How do streaming responses deal with assets that must be called in the head, but are declared in the body?

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

by fabpot at 2011/12/21 09:52:12 -0800

@fzaninotto: What do you mean?

With Twig, your layout is defined with blocks ("holes"). These blocks are overridden by child templates, but evaluated as they are encountered in the layout. So, everything works as expected.

As noted in the commit message, this does not work with PHP templates for the problems mentioned in the Rails post (as the order of execution is not the right one -- the child template is first evaluated and then the layout).

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

by fzaninotto at 2011/12/21 10:07:35 -0800

I was referring to using Assetic. Not sure if this compiles to Twig the same way as javascript and stylesheet blocks placed in the head - and therefore executed in the right way.

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

by fabpot at 2011/12/21 10:34:59 -0800

@Seldaek: I've just added a `flush` tag in Twig 1.5: 1d6dfad4f5

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

by catchamonkey at 2011/12/21 13:29:22 -0800

I'm really happy you've got this into the core, it's a great feature to have! Good work.
2011-12-31 08:12:02 +01:00
Fabien Potencier
887c0e9c04 moved EngineInterface::stream() to a new StreamingEngineInterface to keep BC with 2.0 2011-12-31 08:11:20 +01:00
Henrik Bjørnskov
c37c14528e [SecurityBundle] Only throw exception if check_path looks like an url 2011-12-30 20:00:08 +01:00
Fabien Potencier
eef8a3c513 [FrameworkBundle] changed the implementation of Controller::getUser() to be similar to the one from GlobalVariables::getUser() 2011-12-30 16:15:28 +01:00
alefranz
de9d7d8c3c Updated italian traslation of validator 2011-12-29 20:56:01 +01:00
Anton Babenko
1cd74ec2cd Added norwegian translations of validators 2011-12-29 18:21:01 +01:00
Fabien Potencier
cab70f4083 merged 2.0 2011-12-28 20:44:29 +01:00
Fabien Potencier
48203fc1a2 merged branch havvg/patch-1 (PR #2957)
Commits
-------

41950a6 [WebProfilerBundle] add margin-bottom to caption

Discussion
----------

[WebProfilerBundle] add margin-bottom to caption

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

by fabpot at 2011/12/26 13:15:57 -0800

What does it fix?

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

by havvg at 2011/12/27 02:46:16 -0800

Just a minor design issue with table captions.

Without: http://dl.dropbox.com/u/548684/PR2957/without-margin.png
With: http://dl.dropbox.com/u/548684/PR2957/with-margin.png

I currently hold it in a custom css, but thought it is generic enough to be put into the bundle.

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

by henrikbjorn at 2011/12/27 04:03:53 -0800

@havvg What custom bundle is that ? and what does it show? look interesting

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

by havvg at 2011/12/27 04:40:18 -0800

@henrikbjorn It's a bundle (not published yet, https://github.com/havvg/HavvgCloudcontrolBundle) adding features to fully utilize applications on http://cloudcontrol.com PaaS.
2011-12-28 20:42:42 +01:00
Michael
1bc10e5375 Forgotten </trans-unit> tag added 2011-12-28 14:15:50 +02:00
Fabien Potencier
b254851e91 merged branch lsmith77/forward_compat_filesystem (PR #2971)
Commits
-------

aacb2de use the forward compat version in the Filesystem service

Discussion
----------

use the forward compat version in the Filesystem service

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: ![Build Status](https://secure.travis-ci.org/lsmith77/symfony.png?branch=forward_compat_filesystem)
Fixes the following tickets: -

by changing the service it should fix any type hints for the Filesystem class inside 2.1, but it shouldn't affect anyone still type hinting the old location in 2.0 since the new forward compat file extends the old file.

See
00c988bf0c (commitcomment-820879)

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

by tobiassjosten at 2011/12/26 18:41:45 -0800

👍
2011-12-27 10:01:26 +01:00
lsmith77
aacb2deb20 use the forward compat version in the Filesystem service 2011-12-27 00:32:17 +01:00
Fabien Potencier
8282cd9f66 reverted wrong CD fix 2011-12-26 22:17:17 +01:00
Fabien Potencier
83dbbb2691 merged branch javiereguiluz/add-image-validator-spanish-translation (PR #2969)
Commits
-------

341dc2b [FrameworkBundle] Added Image validator messages translation for Spanish

Discussion
----------

[FrameworkBundle] Added Image validator messages translation for Spanish
2011-12-26 21:58:22 +01:00
Fabien Potencier
cc9eff0bc6 merged 2.0 2011-12-26 21:57:48 +01:00
Javier Eguíluz
341dc2b9eb [FrameworkBundle] Added Image validator messages translation for Spanish 2011-12-26 20:53:04 +01:00
Javier Eguíluz
eb2d6e6f2f [FrameworkBundle] Added UniqueEntity message translation for Spanish 2011-12-26 20:39:34 +01:00
Drak
628016dbdb Partial revert of b6a7167 JS syntax requires space in else if. 2011-12-26 08:42:19 +05:45
Toni Uebernickel
41950a625f [WebProfilerBundle] add margin-bottom to caption 2011-12-25 14:49:49 +01:00
Drak
79793e442a Coding standards and removing whitespace. 2011-12-24 15:50:47 +05:45
Fabien Potencier
b498138471 merged branch willdurand/filesystem-component (PR #2949)
Commits
-------

4afc6ac Updated CHANGELOG-2.1
3d3239c Added Filesystem Component mention in composer.json
5775a0a Added composer.json
b26ae4a Added README
fbe9507 Added LICENSE
818a332 [Component] Moved Filesystem class to its own component

Discussion
----------

Filesystem component

Related to #2946

William

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

by stof at 2011/12/22 10:58:25 -0800

you need to add the new component in the ``replace``  section of the main composer.json, and you also need to add it as a dependency for FrameworkBundle as it defines a service using it.

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

by stof at 2011/12/22 10:59:34 -0800

and you need to update the changelog file

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

by willdurand at 2011/12/22 11:06:04 -0800

@stof thanks. Is it ok ?

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

by stof at 2011/12/22 11:13:31 -0800

mentioning the move only once in the changelog would probably be enough (and it is especially not needed in the FrameworkBundle section IMO) but otherwise it's fine
2011-12-24 09:15:42 +01:00
Fabien Potencier
5b2bc7d7f9 merged 2.0 2011-12-23 08:57:06 +01:00
William DURAND
3d3239c29b Added Filesystem Component mention in composer.json
- In the global Symfony2 composer.json file as a replacement
- In the FrameworkBundle composer.json file as a requirement
2011-12-22 20:02:15 +01:00
William DURAND
818a3321c0 [Component] Moved Filesystem class to its own component 2011-12-22 19:36:46 +01:00
Christophe Coevoet
9653be618a Moved the EntityFactory to the bridge 2011-12-22 16:54:29 +01:00
Christophe Coevoet
24319bb0f4 [DoctrineBridge] Made it possible to change the manager used by the provider 2011-12-22 16:14:12 +01:00
Fabien Potencier
473741b9db added the possibility to change a StreamedResponse callback after its creation 2011-12-22 07:58:59 +01:00