Commit Graph

8691 Commits

Author SHA1 Message Date
Drak
e585ca783d [HttpFoundation] Added forward compatibility for \SessionHandlerInterface 2012-02-22 07:07:07 +05:45
Drak
d339e74bc5 [ClassLoader] Add ability to incrementally register fallbacks.
This is useful in the cases where you might be adding forward compat
classes to several components.
2012-02-22 07:07:03 +05:45
Yanick Witschi
4f8e8efe08 Improving performance on digit filtering 2012-02-21 18:08:57 +01:00
Fabien Potencier
74ebd057a1 merged branch tna/session-cache-limiter (PR #3400)
Commits
-------

fb2bb65 [HttpFoundation] Fix session.cache_limiter is not set correctly

Discussion
----------

[HttpFoundation] Fix session.cache_limiter is not set correctly

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -

Fixes a regression after the session refactoring where extra cache control http headers are sent.

This was previously handled by [calling session_cache_limiter(false) in NativeSessionStorage](https://github.com/symfony/symfony/blob/2.0/src/Symfony/Component/HttpFoundation/SessionStorage/NativeSessionStorage.php#L81)

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

by drak at 2012-02-21T12:23:48Z

@fabpot - this code can be merged imo.
2012-02-21 14:47:46 +01:00
Fabien Potencier
dc1ff89a94 merged branch mazen/fix-memcached-sessions (PR #3399)
Commits
-------

6fbd290 Improved unit tests for MemcacheSessionStorage
b4c5323 Added comma to array initializer, reverted permissions back to 644
3dd851a Use correct parameters
0e01418 Fix default if no serverpool is provided
2a65121 Fix several issues in MemccheSessionStorage which prevented it from being used correctly

Discussion
----------

Fix several issues in MemcacheSessionStorage

Apperently this could never have worked unless someone passed wrong arguments to the options.

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

by mazen at 2012-02-19T07:58:52Z

```
[marcel@development symfony]$ phpunit tests/Symfony/Tests/Component/HttpFoundation/Session/Storage/MemcacheSessionStorageTest.php
PHPUnit 3.6.10 by Sebastian Bergmann.

Configuration read from /www/includes/vendor/symfony/phpunit.xml.dist

......

Time: 0 seconds, Memory: 3.75Mb

OK (6 tests, 11 assertions)
```

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

by lsmith77 at 2012-02-19T16:10:13Z

cc @drak

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

by drak at 2012-02-19T17:44:00Z

Looks like we could do with some tests for the constructor that also test the defaults and the internal properties.  And also more extensively tests the mock to test the addServer behaviour.

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

by helmer at 2012-02-19T18:02:03Z

@mazen You've changed file permissions from 644->755 ..

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

by drak at 2012-02-21T12:25:11Z

@fabpot - with the extra tests added in 6fbd290 I believe this code is ready for merge.
2012-02-21 14:47:18 +01:00
Fabien Potencier
c06fecf604 merged branch patrick-mcdougle/patch-1 (PR #3405)
Commits
-------

c1c0f6f Fixed a doc block

Discussion
----------

Fixed a doc block

The doc block had incorrect text.
2012-02-21 14:37:06 +01:00
Victor Berchet
b269e27191 [Config] Improve handling of PrototypedArrayNode defaults 2012-02-20 23:07:03 +01:00
Victor Berchet
4feba09aa9 [Config] implements feedback 2012-02-20 19:15:01 +01:00
patrick-mcdougle
c1c0f6f64b Fixed a doc block 2012-02-20 11:24:42 -06:00
Victor Berchet
bc122bdb2d [Config] Fix nested prototyped array nodes 2012-02-20 18:01:14 +01:00
Fabien Potencier
9356be3a1b Revert "fixed tests for the latest Twig"
This reverts commit 3236fc5af3.
2012-02-20 13:28:51 +01:00
Victor Berchet
675e5eb6e0 [Config] Take advantage of the new PrototypedArrayNode API in the core bundles 2012-02-20 11:20:39 +01:00
Victor Berchet
cba2c332ad [Config] Improve error messages & extensibility 2012-02-20 10:45:28 +01:00
Victor Berchet
bca2b0edf3 [Config] Improve PrototypedArrayNode default value management 2012-02-20 10:45:21 +01:00
Christophe Coevoet
96da7c8c44 [MonologBridge] Added the user agent check for the ChromePhpHandler 2012-02-20 02:34:53 +01:00
Christophe Coevoet
f7aa6c006e [MonologBridge] Added the Response-aware ChromePhpHandler 2012-02-20 01:10:53 +01:00
Tobias Naumann
fb2bb65b1e [HttpFoundation] Fix session.cache_limiter is not set correctly 2012-02-19 21:07:38 +01:00
Marcel Beerta
6fbd2902be Improved unit tests for MemcacheSessionStorage 2012-02-19 19:54:54 +01:00
Marcel Beerta
b4c53238b0 Added comma to array initializer, reverted permissions back to 644 2012-02-19 19:31:41 +01:00
Marcel Beerta
3dd851afed Use correct parameters 2012-02-19 13:22:38 +01:00
Marcel Beerta
0e0141805c Fix default if no serverpool is provided 2012-02-19 08:56:31 +01:00
Marcel Beerta
2a65121865 Fix several issues in MemccheSessionStorage which prevented it from being used correctly 2012-02-19 08:46:28 +01:00
Fabien Potencier
3236fc5af3 fixed tests for the latest Twig 2012-02-18 10:54:20 +01:00
Fabien Potencier
3e326ff903 fixed typo 2012-02-18 10:47:38 +01:00
Fabien Potencier
6299ee8247 merged branch havvg/hotfix/Propel1/stopwatch (PR #3392)
Commits
-------

13f0e4a fix PropelLogger stopwatch events

Discussion
----------

fix PropelLogger stopwatch events

* add queries like "SET NAMES 'UTF8';"
* track only prepared statements
* add named labels to the StopwatchEvents corresponding to the query counter

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

by willdurand at 2012-02-17T13:47:19Z

I'm ok with this PR, we discussed with @havvg last night :)
2012-02-18 09:43:49 +01:00
Fabien Potencier
ac19b206c4 merged branch adrienbrault/2.0 (PR #3386)
Commits
-------

ae8704c [Console] Fix wrong ref in phpdoc

Discussion
----------

[Console] Fix wrong ref in phpdoc

Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: N/A
Todo: N/A

Hey guys, found that typo.
2012-02-17 08:19:13 +01:00
Toni Uebernickel
13f0e4a01a fix PropelLogger stopwatch events
* add queries like "SET NAMES 'UTF8';"
* track only prepared statements
* add named labels to the StopwatchEvents corresponding to the query counter
2012-02-16 23:41:53 +01:00
Adrien BRAULT
ae8704cdce [Console] Fix wrong ref in phpdoc 2012-02-16 22:26:30 +01:00
Jordi Boggiano
c4e8ff75f5 [Process] Always escape commands properly and remove windows-specific handling 2012-02-16 16:52:23 +01:00
Jordi Boggiano
9e237f6345 [Process] Add ProcessBuilder::create() for more fluidity in the interface until 5.4 2012-02-16 16:38:35 +01:00
Jordi Boggiano
4882777c4e [Process] Code clean up 2012-02-16 16:37:52 +01:00
Fabien Potencier
7b8acbccf4 removed usage of a deprecated function in previous merge 2012-02-16 07:27:52 +01:00
Fabien Potencier
883637d43d merged branch vicb/config/master/fix (PR #3365)
Commits
-------

0a176eb [FrameworkBundle] Fix configuration errors
6745b28 [Config] Throw exceptions on invalid definition
fb27de0 [Config] cleanup

Discussion
----------

[Config] Cleanup, error detection, fixes

see #3357

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

by stloyd at 2012-02-15T10:56:00Z

@vicb As you added new exceptions, IMO you should add some tests to cover it.

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

by vicb at 2012-02-15T10:56:50Z

good point, I'll do.

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

by vicb at 2012-02-15T13:49:44Z

@stloyd that was a great idea, I realized I had miss a case. It has been added and should be covered by UT + fixes made.

I am done with the fixes, should be ready to merge.

And time to give the `PrototypedArrayNode` some more usability now.
2012-02-16 07:24:06 +01:00
Fabien Potencier
54e6516d46 merged branch kriswallsmith/monolog/missing-class (PR #3368)
Commits
-------

1cec4f5 [MonologBundle] added missing class to compile

Discussion
----------

[MonologBundle] added missing class to compile

`Symfony\Bridge\Monolog\Handler\DebugHandler` extends a class which was not being included in the compiled class file.

```
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: ~
Todo: ~
```

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

by stof at 2012-02-15T14:27:29Z

@kriswallsmith Can you send the same PR to the standalone repo for 2.1 ?

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

by kriswallsmith at 2012-02-15T14:30:05Z

Can I just commit to that repository directly? /ping @Seldaek

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

by stof at 2012-02-15T14:33:51Z

yeah indeed, you have the needed permissions, and the change is OK
2012-02-16 07:22:19 +01:00
Fabien Potencier
df91627031 merged branch kriswallsmith/security/access-map-interface (PR #3374)
Commits
-------

eb7aa1b [SecurityBundle] added interface to compiler
1e8236c [Security] added AccessMapInterface

Discussion
----------

[Security] added AccessMapInterface

I am optimizing the security layer at OpenSky and need to make this class smarter instead of running through all of the many access rules for each request. I would like to do this by creating a delegating access map composed of many inner maps and would rather implement an interface than extending a core class without using any of its functionality.

```
Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -
```

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

by kriswallsmith at 2012-02-15T22:31:36Z

For conversation: https://gist.github.com/1839490

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

by jwage at 2012-02-16T03:57:09Z

👍
2012-02-16 07:20:40 +01:00
Victor Berchet
651f4c5d2d [Routing] Added a missing property declaration 2012-02-16 07:03:32 +01:00
Kris Wallsmith
eb7aa1bf78 [SecurityBundle] added interface to compiler 2012-02-15 14:14:40 -08:00
Kris Wallsmith
1e8236cfb3 [Security] added AccessMapInterface 2012-02-15 14:14:40 -08:00
Kris Wallsmith
1cec4f5b22 [MonologBundle] added missing class to compile 2012-02-15 06:19:20 -08:00
Victor Berchet
0a176ebc98 [FrameworkBundle] Fix configuration errors 2012-02-15 14:38:38 +01:00
Victor Berchet
6745b28b3d [Config] Throw exceptions on invalid definition 2012-02-15 14:38:31 +01:00
Fabien Potencier
a5013bc3ef merged branch vicb/profiler/ajax (PR #3340)
Commits
-------

ed028d5 [WebProfilerBundle] Made is_ajax available to the view when rendering panels

Discussion
----------

[Profiler] Ajax

The first commit should be merged as `app` is not always accessible in the twig template due to the ways the templating system is used. Then there is currently no way to check if we are dealing with an ajax request in the view.

The second commit use ajax to load the panels. This should make the interface more responsive as you don't have to load the layout each time + the panels are cached. Loading via AJAX would also work if your panel does not extend the ajax layout (legacy support) - this would be less efficient though as you would load the layout and filter it out afterwards.

I am not sure if the second commit is worth merging, maybe it is useless ?

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

by stof at 2012-02-12T20:40:16Z

@vicb please rebase

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

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

@vicb just FYI, this conflicts with master so you will need to rebased it before it can be merged.

Otherwise, what are the remaining points ?

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

by vicb at 2012-02-13T17:57:27Z

I am still wondering if the second commit is a good idea or not ?

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

by vicb at 2012-02-13T18:28:17Z

@stof isn't the branch based on the latest master ?

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

by stof at 2012-02-13T19:32:52Z

Well, github tells me it cannot be merged automatically. so either there is a conflict, either their conflict detection failed last time you pushed.

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

by vicb at 2012-02-13T22:20:06Z

I did fail.
Should be ok now.

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

by fabpot at 2012-02-14T23:27:08Z

I'm -1 on the second commit.

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

by vicb at 2012-02-15T07:44:25Z

Thanks all for the feedback.

@fabpot ready !

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

by stof at 2012-02-15T07:46:53Z

@vicb not ready: you reverted all use of ``is_ajax`` in the templates (and you did not renamed it to the underscored name preferred by @fabpot)

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

by vicb at 2012-02-15T07:54:30Z

Well I did revert the use of "`isajax`" (prefer not to mix CS here, the scope of this PR is not to fix CS) because it is not used (this should be applied to the Doctrine profiler).

_What I mean is that `isajax` in all the Sf templates w/o the associated js is useless, basically all or nothing_

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

by vicb at 2012-02-15T08:26:41Z

btw @fabpot it makes me wonder if underscored variable names is a good idea, this will force us to mix (i.e. `is_ajax` vs `request.isxmlhttprequest`). What do you think ?

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

by fabpot at 2012-02-15T10:09:20Z

I still prefer `is_ajax` as it makes things more readable.

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

by vicb at 2012-02-15T10:16:13Z

At a larger scale how do fix the inconsistency described in my previous message ?
Options are:

* fix twig cs
* create twig cs specific to sf2
* don't fix (= keep & live with some inconsistency)

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

by stof at 2012-02-15T10:22:13Z

@vicb we also use underscores for variables used in the form themes. the official Twig CS are basically the one used by Sf2 in the form theme

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

by fabpot at 2012-02-15T10:24:46Z

I don't see any inconsistencies here. One a variable name and the other is a method call/property name. So, my vote is a don't fix.

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

by vicb at 2012-02-15T10:28:53Z

I agree but then we loose one advertised benefit a twig: _"Easy to learn: The syntax is easy to learn and has been optimized to allow web designers to get their job done fast without getting in their way"_.

The designers should now be aware of the underlying implementation (i.e. Am I dealing with a variable or a function ?)

Edit: race condition here... I agree with @stof

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

by stof at 2012-02-15T10:45:49Z

@vicb they see that ``isXmlHttpRequest`` is not a variable. They are accessing it on the ``request`` variable (well, recurse here to reach the variable)

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

by fabpot at 2012-02-15T10:46:57Z

variables and functions are underscored.

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

by vicb at 2012-02-15T10:51:28Z

I think that the beauty of Twig comes from the fact that designers do not have to wonder if "something" is an array / an object / a variable / a method / a property.
But never mind, I'll update the PR.

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

by vicb at 2012-02-15T10:55:06Z

@fabpot would you mind if I open a PR against twig to check for existence of `collector::getNotCalledListeners()` when a designer writes `collector.not_called_listeners`, then we are all happy ?

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

by vicb at 2012-02-15T11:21:55Z

ready !

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

by fabpot at 2012-02-15T11:31:50Z

The problem is that the `Twig_Template::getAttribute()` is already the bottleneck
2012-02-15 12:32:06 +01:00
Victor Berchet
ed028d57d5 [WebProfilerBundle] Made is_ajax available to the view when rendering panels 2012-02-15 12:23:04 +01:00
Victor Berchet
fb27de0f8a [Config] cleanup 2012-02-15 11:43:27 +01:00
Fabien Potencier
3f76d0f60f merged branch vicb/memcache/fix (PR #3363)
Commits
-------

b95284e [Profiler] Fix memcache(d)

Discussion
----------

[Profiler] Fix memcache(d) storages

This fixes an ambiguity...

The memcache(d) storages have a `$lifetime` option. The name indicates that we are talking about a ttl (in seconds). This is wrong is `$lifetime` > 2592000 (=30 days), see http://fr.php.net/manual/en/memcache.set.php.

Doctrine is also [affected](e9ab2d2cca).

The ambiguity also exists in the session storage but to a lesser extend as those storage directly use memcache(d) options rather than a `$lifetime`. @drak could you confirm ?

Hopefully the Cache Component will get it right (#3211).
2012-02-15 11:11:34 +01:00
Fabien Potencier
60846105c3 merged branch drak/session_tests (PR #3360)
Commits
-------

d077ede [HttpFoundation] Increase test coverage.
cbb3e69 [HttpFoundation] Increase test coverage.

Discussion
----------

[HttpFoundation] Increase session test coverage.

Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -
2012-02-15 11:02:16 +01:00
Fabien Potencier
e7adf546ef merged branch jmikola/doctrine-data-fixtures (PR #3328)
Commits
-------

c754f28 [DoctrineBridge] Rename data fixtures loader class
af84805 [DoctrineBridge] Suggest doctrine/data-fixtures dependency
e4243a1 [DoctrineBridge] Add common data fixtures loader

Discussion
----------

[DoctrineBridge] Add common data fixtures loader

Symfony does not depend on doctrine/data-fixtures, but having this class in the bridge would enable DoctrineMongoDBBundle (and possibly others) to load fixtures without requiring DoctrineFixturesBundle to be installed.

Additionally, DoctrineFixturesBundle seems to only consist of this class and a command for loading ORM fixtures. With this in the bridge, we can possibly eliminate DoctrineFixturesBundle altogether by merging its command into DoctrineBundle.

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

by stof at 2012-02-11T19:40:17Z

The reason to have a separate bundle for the ORM fixtures was that the ORM is released whereas the DataFixtures library is still in alpha versions. So we wanted to avoid having it in Symfony itself for the 2.0 release. It could maybe change now that we have the bundle in a separate repo.
The other solution could be to put all commands related to fixtures in DoctrineFixturesBundle but IIRC @beberlei rejected a PR trying to make the same command work for ORM and PHPCR.

@beberlei what do you think about these suggestions ? And what is missing in DataFixtures to release it ? It has not changed recently except for the addition of the typehint and an update of the PHPCR purger

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

by fabpot at 2012-02-14T23:30:23Z

The Symfony bridges provide integration between a third-party library and Symfony components. IIUC, this PR is only about Doctrine and as such it is not in the scope of the bridge. It should be done "somewhere" in the Doctrine namespace (what about common for instance?).

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

by stof at 2012-02-14T23:34:19Z

@fabpot no it is not a Doctrine-only code. This extended loader is about integrating the Doctrine DataFixtures library with the DI component to allow fixtures to be container-aware (it does absolutely nothing else fancy btw). So this *is* in the scope of the bridge.

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

by jmikola at 2012-02-15T00:40:12Z

I second @stof's point here. This class is specifically for loading fixtures into application with a service container. Likewise, that is why the base class it inherits is in the common data-fixtures library.

Since this is common to both ORM and ODM, the most logical home for it would be DoctrineCommonBundle, and I believe that's what the bridge is :)

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

by stof at 2012-02-15T01:53:17Z

@jmikola not even a DoctrimeCommonBundle IMO. This is not about integrating things with the fullstack framework but with one component
2012-02-15 11:00:50 +01:00
Fabien Potencier
2b384bb461 merged branch jmikola/memcached-profiler (PR #3358)
Commits
-------

57968f8 [HttpKernel] Fix call to Memcached::set() in MemcachedProfilerStorage

Discussion
----------

[HttpKernel] Fix call to Memcached::set() in MemcachedProfilerStorage

The existing code seems to have been copied from MemcacheProfilerStorage. Memcache::set() includes a $flag argument, but Memcached::set() omits that. See:

 * http://php.net/manual/en/memcached.set.php
 * http://php.net/manual/en/memcache.set.php

----

I assume Travis-CI didn't catch the MemcachedProfilerStorageTest failures because those tests are skipped: http://travis-ci.org/#!/symfony/symfony/jobs/678889/L104
2012-02-15 10:59:57 +01:00
Victor Berchet
b95284e198 [Profiler] Fix memcache(d) 2012-02-15 10:50:58 +01:00
Jeremy Mikola
57968f8fb1 [HttpKernel] Fix call to Memcached::set() in MemcachedProfilerStorage
The existing code seems to have been copied from MemcacheProfilerStorage. Memcache::set() includes a $flag argument, but Memcached::set() omits that. See:

 * http://php.net/manual/en/memcached.set.php
 * http://php.net/manual/en/memcache.set.php
2012-02-14 19:23:01 -05:00