Commit Graph

2270 Commits

Author SHA1 Message Date
Ryan Weaver
6d24d37b16 [Config] Moving the removal of the key attribute on ArrayNode onto the setKeyAttribute() method per Johannes.
This is more consistent with how this was handled elsewhere, and it really is an "option" on the keyAttribute idea.
2011-02-18 08:41:30 -06:00
Ryan Weaver
48459e9082 [Config] Renaming the key attribute removal property for consistency per Johannes' recommendation. Also fixing a PHPDoc typo per Stof. 2011-02-18 08:38:09 -06:00
Ryan Weaver
663dcbcb32 [SwiftmailerBundle] Removing unnecessary "enabled" key in a test.
I double-checked with Stof - this is obviously unnecessary and there was no meaning behind including it. This caused the test to fail with the new validation.
2011-02-18 07:55:39 -06:00
Ryan Weaver
2d94f2d8d0 [FrameworkBundle] Removing the "namespace" key when it's defined in its own weird location in XML. This prevents that key, which we move in this same location, from looking like an invalid option during validation. 2011-02-18 07:43:36 -06:00
Ryan Weaver
d6617f6fba [Config] Renaming NodeBuilder::nodeBuilder() to NodeBuilder::builder() due to the fact that PHP can get confused when you have a __construct() method *and* a method that has the same name as the class (looks like two constructors to PHP). 2011-02-18 07:31:00 -06:00
Ryan Weaver
ea768fe6fc [Config] Making the option to remove a key attribute optional.
This is *usually* what you want (and is defaulted this way). If you have an entry in an array *just* so it can become the key to that entry later, then you shouldn't normally still need it in the resulting array.

The importance of this comes in with validation. Since we're throwing an exception if you have any unrecognized options, the presence of the "key" field in the resulting array will cause issues when it's not needed.
2011-02-18 07:15:59 -06:00
Ryan Weaver
554628cf5b [Config] Renaming the NodeBuilder::addNodeBuilder() to simply NodeBuilder::nodeBuilder() to be consistent with the other names: node(), arrayNode(). 2011-02-18 07:00:03 -06:00
Ryan Weaver
e7c098e8a2 [DependencyInjection] Renaming allowUnnamedChildren to preventExtraKeys. Also moved the place where validation of extra configs occurs. 2011-02-18 06:52:44 -06:00
Ryan Weaver
fd5cdfc18f [DependencyInjection] Being sure to remove XML-remapped singular options and key attribute options after processing.
This prevents these keys from being validated as extra fields.
2011-02-18 06:52:44 -06:00
Ryan Weaver
bd15ddda96 [DependencyInjection] Adding a NodeBuilder::addNodeBuilder() method that helps achieve a fluid interface when a pre-built NodeBuilder needs to be added. 2011-02-18 06:51:56 -06:00
Ryan Weaver
f5b1cb18e1 [DependencyInjection] Initial implementation of an allowUnnamedChildren method on NodeBuilder. Also added an "extra field" exception.
This allows for an array node, which has any number of child values not represented by nodes.
2011-02-18 06:51:56 -06:00
Miha Vrhovnik
9b602626eb Added missing use statement 2011-02-18 13:48:22 +01:00
hhamon
f985da5a9c [HttpFoundation] fix Cache-Control header when forcing the Response to have an Expires header field. The RFC2616 Bis indicates that if the Response has both max-age (or s-maxage) and Expires header field, the Cache-Control maxage wins over Expires. The previous code in ResponseHeaderBag always returned "private, max-age=0, must-revalidate" even if the Expires header field was forced.
This commit breaks functional tests in Symfony\Component\HttpKernel\HttpCache\HttpCacheTest.php. I tried to fix functional tests but I didn\'t manage to. For your information, the "try { } catch" block in the HttpKernel\HttpCache::lookup() method seems strange because I suspect line 274 to never leverage any exception...
2011-02-18 12:34:33 +01:00
Juan Ases García
2ba9ebfee9 Fixed typo in json error template 2011-02-18 12:10:07 +01:00
Jordi Boggiano
3fbe366df2 [Yaml] Fix warning 2011-02-18 12:08:05 +01:00
Fabien Potencier
75238c6817 added the LICENSE file for the YAML component 2011-02-18 11:52:11 +01:00
Clément Jobeili
e8d39d6d32 Fix description 2011-02-18 10:43:34 +01:00
Clément Jobeili
aef85dde27 Add an example using the options in the help message 2011-02-18 10:41:34 +01:00
Clément Jobeili
438ccbdf8a Fix CS 2011-02-18 10:34:44 +01:00
Clément Jobeili
9b16f1a614 [SwiftMailer] Add the SendEmail Command (for the spool) 2011-02-18 10:22:14 +01:00
Christophe Coevoet
76262b2ccc Fixed spool handling 2011-02-18 08:32:43 +01:00
Christophe Coevoet
b3460653bc Revert "fix spooler handling"
This reverts commit 3607f1d334.
2011-02-18 08:32:43 +01:00
Justin Hileman
b8c531e1fc Add a namespace separator for console commands in Command sub-directories.
Fixes a bug in `Bundle::registerCommands` with console commands in sub-directories of `Command`. `MyBundle\Command\FooCommand` worked great, but with `MyBundle\Command\Bar\BazCommand` Bundle would try to register `MyBundle\CommandBar\BazCommand` instead.
2011-02-17 19:39:21 +01:00
hhamon
b61e288e0b [BrowserKit] fix phpdoc for Client::followRedirect() 2011-02-17 19:38:06 +01:00
hhamon
b687e52835 [DomCrawler] fix Form::getUri() when the form action attribute contains only a sharp (#) character. 2011-02-17 19:37:25 +01:00
Fabien Potencier
6b12c21261 moved DependencyInjection\Configuration to Config\Definition 2011-02-17 16:03:48 +01:00
Jordi Boggiano
38813c122e [TwigBundle] Resolve some TODOs in form templates 2011-02-17 16:00:28 +01:00
Ryan Weaver
c5e4dfb5a6 [DependencyInjection] Adding to InvalidArgumentException messages to clarify when a service is given an invalid "tags" value. 2011-02-17 15:59:39 +01:00
Ryan Weaver
a0fc4240f9 [HttpKernel] Adding a line break to the end of the Kernel die() statements so that the output is more natural when receiving this message from the terminal. 2011-02-17 15:58:45 +01:00
Fabien Potencier
d64277d101 fixed typo 2011-02-17 13:33:15 +01:00
Victor Berchet
0a33cbb403 [Finder] Add support for relative path 2011-02-17 07:23:55 +01:00
Jeremy Mikola
92f50bbe4d [SwiftmailerBundle] Fix expected default value in SwiftmailerExtension unit test 2011-02-17 06:49:28 +01:00
Lukas Kahwe Smith
3607f1d334 fix spooler handling 2011-02-17 06:49:05 +01:00
Christophe Coevoet
9d2a9dd65d Updated the root node to match the new syntax 2011-02-16 23:07:12 +01:00
Christophe Coevoet
990910d601 Converted SwiftmailerBundle to use a Configuration class 2011-02-16 23:07:11 +01:00
Christophe Coevoet
ee8ad0c4e9 Fixed previous commit to handle the case of arrays 2011-02-16 23:07:11 +01:00
Christophe Coevoet
27e2ec139d Added the possibility to add the value in the exception message 2011-02-16 23:07:11 +01:00
Christophe Coevoet
6b4538a1c4 Added the test ifNotInArray 2011-02-16 23:07:11 +01:00
Christophe Coevoet
ef045a9433 Added missing license header in the DependenciInjection\Configuration classes 2011-02-16 23:07:11 +01:00
Christophe Coevoet
077d1921b3 Added the support of the validation in the Builder 2011-02-16 23:07:10 +01:00
Bernhard Schussek
89dbb04c63 [Validator] Made method name shorter 2011-02-16 23:05:22 +01:00
Bernhard Schussek
9569262635 [Form] Fixed date handling classes to use server timezone by default 2011-02-16 23:05:22 +01:00
Bernhard Schussek
0a260b96fb [Form] Fixed error handling in DateTimeToArrayTransformer 2011-02-16 23:05:22 +01:00
Bernhard Schussek
df011ed1ef [Form] Fixed isXXXWithinRange() methods in TimeField and DateField to ignore empty dropdowns 2011-02-16 23:05:22 +01:00
Bernhard Schussek
14c3518c6e [Form] Fixed: If a DateField or TimeField is displayed with select boxes, either all or no select box must have a value selected 2011-02-16 23:05:22 +01:00
Bernhard Schussek
40acc6ac79 [Form] Fixed ChoiceField::isChoiceSelected() to differentiate between zero and empty 2011-02-16 23:05:21 +01:00
Bernhard Schussek
1593d6f75d [Form] Added method FieldInterface::isEmpty() 2011-02-16 23:05:21 +01:00
Bernhard Schussek
f589304fe3 [Form] Added clearer error message for CSRF errors 2011-02-16 23:05:21 +01:00
Jonathan H. Wage
34859999b2 Revert "[DoctrineMongoDBBundle] updated tests to reflect extension changes"
This reverts commit 8c3923e5f59fda3221776c6fc747ca9bd603f9af.
2011-02-16 23:01:37 +01:00
Jonathan H. Wage
20cf9f8a1a Revert "[DoctrineMongoDBBundle] updated DocumentManager definition to reflect latest ODM changes"
This reverts commit 6555013ac4c39e4a39b8d595c834eadc21e4a684.
2011-02-16 23:01:36 +01:00
Johannes M. Schmitt
1a0742003f [Security] use 'database_connection' as default connection for ACL 2011-02-16 23:00:27 +01:00
Johannes M. Schmitt
22947da18d [Security] added some classes to the compilation map 2011-02-16 23:00:27 +01:00
Johannes M. Schmitt
53f3ff8258 [Security] adds a chain user provider 2011-02-16 23:00:27 +01:00
Johannes Schmitt
82c6844147 [Security] moved Security classes out of DoctrineBundle, cleaned-up SecurityExtension accordingly
Note that this commit removes the built-in support for MongoDB user providers.
This code can be moved back in once there is a stable release for MongoDB, but
for now you have to set-up that user provider just like you would set-up any
custom user provider:

    security:
         providers:
             document_provider:
                 id: my.mongo.provider
2011-02-16 23:00:27 +01:00
Johannes Schmitt
dfd921822a [Security/Http] Adds CSRF protection to the form-login 2011-02-16 23:00:27 +01:00
Johannes M. Schmitt
d22743cf3a [Security] removed defaults from boolean columns 2011-02-16 23:00:27 +01:00
Kris Wallsmith
e62031a54e [AsseticBundle] fixed closure .jar configuration 2011-02-16 22:55:52 +01:00
Kris Wallsmith
cd5b60359d [AsseticBundle] added local caching to the controller 2011-02-16 22:55:10 +01:00
Kris Wallsmith
42a68d9ca4 [AsseticBundle] renamed controller class 2011-02-16 22:55:10 +01:00
Kris Wallsmith
181165f592 [AsseticBundle] added injection of node path to coffee filter 2011-02-16 22:54:18 +01:00
Kris Wallsmith
1230bc6441 [AsseticBundle] updated config for new LESS filter 2011-02-16 22:54:18 +01:00
Victor Berchet
1d7f8120e0 Update code with latest Finder changes 2011-02-16 22:53:11 +01:00
Victor Berchet
bad3a97ad6 [Finder] tweak code 2011-02-16 22:51:06 +01:00
Christophe Coevoet
a5bac4b5a3 Fixed xmlloader 2011-02-15 22:41:29 +01:00
Fabien Potencier
a29a413c48 made DIC extensions members of the Container instead of static members 2011-02-15 22:22:32 +01:00
Fabien Potencier
62e3053769 refactored previous commit, fixed tests
How to upgrade?

For XML configuration files:

 * All extensions should now use the config tag (this is just a convention as
   the YAML configurations files do not use it anymore):

 * The previous change means that the doctrine and security bundles now are
   wrapped under a main "config" tag:

        <doctrine:config>
            <doctrine:orm />
            <doctrine:dbal />
        </doctrine:config>

        <security:config>
            <security:acl />
            ...
        </security:config>

For YAML configuration files:

 * The main keys have been renamed as follows:

        * assetic:config -> assetic
        * app:config -> framework
        * webprofiler:config -> web_profiler
        * doctrine_odm.mongodb -> doctrine_mongo_db
        * doctrine:orm -> doctrine: { orm: ... }
        * doctrine:dbal -> doctrine: { dbal: ... }
        * security:config -> security
        * security:acl -> security: { acl: ... }
        * twig.config -> twig
        * zend.config -> zend
2011-02-15 22:22:28 +01:00
Lukas Kahwe Smith
7f182bd877 implicitly load all registered bundles, all loading is now handled by load(), disable loading of an extension explcitly via setting the extension config to false (for now only Yaml is implemented) 2011-02-15 22:11:08 +01:00
Fabien Potencier
14aa95ba21 added the concept of a main DIC extension for bundles
This allows for better conventions and better error messages if you
use the wrong configuration alias in a config file.

This is also the first step for a bigger refactoring of how the configuration
works (see next commits).

 * Bundle::registerExtensions() method has been renamed to Bundle::build()

 * The "main" DIC extension must be renamed to the new convention to be
   automatically registered:

      SensioBlogBundle -> DependencyInjection\SensioBlogExtension

 * The main DIC extension alias must follow the convention:

      sensio_blog for SensioBlogBundle

 * If you have more than one extension for a bundle (which should really
   never be the case), they must be registered manually by overriding the
   build() method

 * If you use YAML or PHP for your configuration, renamed the following
   configuration entry points in your configs:

      app -> framework
      webprofiler -> web_profiler
      doctrine_odm -> doctrine_mongo_db
2011-02-15 22:11:07 +01:00
Fabien Potencier
391e00c1de [DependencyInjection] fixed a bug when xpath() returns false 2011-02-15 22:06:52 +01:00
Pablo Godel
f6a1c2d195 renamed SQLiteProfilerStorage to SqliteProfilerStorage 2011-02-15 21:57:09 +01:00
Pablo Godel
fa66bf4a85 rename file 2011-02-15 21:57:09 +01:00
Pablo Godel
bf09fc1065 rename file 2011-02-15 21:57:08 +01:00
Jeremy Mikola
cc4eb6b40f [Security] Add providerKey to PreAuthenticatedToken tokens constructed by PreAuthenticatedAuthenticationProvider 2011-02-15 21:55:24 +01:00
Kris Wallsmith
c67a9a9643 [HttpFoundation] cleaned up some constructors 2011-02-15 21:51:44 +01:00
Jeremy Mikola
b8d574087f [Security] Allow authentication tokens to hold attributes 2011-02-15 21:50:02 +01:00
Bertrand Zuchuat
462976d0d9 [DoctrineBundle] Typo 2011-02-15 21:46:56 +01:00
Bernhard Schussek
7dbc09ed8b [Form] Fixed reference handling in forms. Sometimes data wasn't written into the domain object, resulting in failed validation. 2011-02-15 21:39:32 +01:00
Fabien Potencier
81765f8b6a [DependencyInjection] fixed XML loader 2011-02-15 10:09:58 +01:00
Fabien Potencier
7c8e6669f4 updated bootstrap files 2011-02-15 04:27:46 +01:00
Fabien Potencier
4972bf6350 [DependencyInjection] made getXsdValidationBasePath() and getNamespace() methods from DIC Extension class optional
This has been changed so that people that do not use XML for their own extensions do
not need to bother implementing these two methods.
2011-02-15 04:14:48 +01:00
Victor Berchet
5eee0db18e [FrameworkBundle] tweak Templating 2011-02-15 04:02:31 +01:00
Fabien Potencier
7a2522b6ed [HttpFoundation] fixed unit tests 2011-02-15 03:42:24 +01:00
ornicar
189b82da0e [FrameworkBundle] Ensure test session listener is called late 2011-02-15 03:35:25 +01:00
ornicar
69393b0762 Simplify and fix the session listener 2011-02-15 03:35:25 +01:00
John Wards
73cd26e2ca [Serializer] added the ability to add attributes to nodes using an array key begining with @
Example:

array(
	'foo-bar' => array(
		'@id' => 1,
		'@name' => 'Bar'
	),
	Foo' => array(
		'Bar' => "Test",
		'@Type' => 'test'
	)
)

Parse XML now creates @ attribites for the array.

$rss = array(
   "channel" => array(
     "title" => "Test RSS",
     "description" => "Test description",
     "item" => array(
       0 => array(
         "title" => "Test Title 1",
         "link" => "http://foo.com"
       ),
       1 => array(
         "title" => "Test Title 2",
         "link" => "http://bar.com"
       )
     )
   )
);

<channel>
    <title>Test RSS</title>
    <description>Test description</description>
    <item>
        <title>Test Title 1</title>
        <link>http://foo.com</link>
    </item>
    <item>
        <title>Test Title 2</title>
        <link>http://bar.com</title>
    </item>
</channel>
2011-02-14 22:20:03 +01:00
Victor Berchet
8588d55c11 [Config] Improve the component 2011-02-14 22:05:56 +01:00
Johannes Schmitt
32b0b64d2d [Security] fixed AbstractFactory test 2011-02-14 21:58:59 +01:00
Victor Berchet
af81bcabf0 [Templating] Refactor the component 2011-02-14 21:11:44 +01:00
Fabien Potencier
12f99dd066 fixed typo 2011-02-14 20:56:03 +01:00
Johannes M. Schmitt
bc05bef2b9 [Security] fixes a bug in DigestAuthenticationListener 2011-02-14 20:55:07 +01:00
Johannes M. Schmitt
44b89e5ac3 [Security] fixes a bug when clearing cookies on logout 2011-02-14 20:55:07 +01:00
Johannes Schmitt
b685b3ab4d [Security] adds logout success handler 2011-02-14 20:55:07 +01:00
Johannes Schmitt
bc283f1a66 [Security] removed 'security.authentication_provider' tag 2011-02-14 20:55:06 +01:00
Johannes Schmitt
9e6fc0a11e [Security] fixes a bug where authentication errors might have leaked confidential information 2011-02-14 20:55:06 +01:00
Johannes Schmitt
5c7fe8f866 [Security] simplified encoder factory implementation 2011-02-14 20:55:06 +01:00
Johannes M. Schmitt
0643dc44fd [Security] adds a priority attribute to security voters 2011-02-14 20:55:06 +01:00
Johannes M. Schmitt
b9f4eab5c2 [Security/Acl] added pre-generated schemas 2011-02-14 20:55:06 +01:00
Fabrice Bernhard
20e31cd3f2 [HttpKernel] Added some details for two commonly encountered errors in Kernel.php and HttpKernel.php
I used https://github.com/fabpot/symfony/blob/master/src/Symfony/Component/Form/PropertyPath.php#L324 as a model for the wording
2011-02-14 20:51:55 +01:00
hhamon
9a89b4628f [CssSelector] fix phpdoc to match coding standards (int -> integer, bool -> Boolean). 2011-02-14 20:50:52 +01:00
Bulat Shakirzyanov
31b923ff55 [DoctrineMongoDBBundle] updated tests to reflect extension changes 2011-02-14 20:44:54 +01:00
Bulat Shakirzyanov
3623753c27 [DoctrineMongoDBBundle] updated DocumentManager definition to reflect latest ODM changes 2011-02-14 20:44:54 +01:00
Fabrice Bernhard
13469a2d82 [FrameworkBundle] added --format=xml,php,yml optional parameter to the init:bundle command
* Added the --format parameter to the InitBundleCommand.php file
* Moved all the non-format-dependent files from Resources/skeleton/bundle to Resources/skeleton/bundle/generic
* Created Resources/skeleton/bundle/[php,yml,xml] subfolders containing the files config/routing.[xml,yml,php]
2011-02-14 19:31:21 +01:00
Tim Nagel
7173764dc1 [Dependency Injection] PHPDoc 2011-02-14 11:16:04 +01:00
Jordi Boggiano
6311960511 [HttpFoundation] Minor clearCookie optimization 2011-02-14 11:15:22 +01:00
Bertrand Zuchuat
f659396b7c Changed getTaggedServiceIds with findTaggedServiceIds 2011-02-14 11:14:47 +01:00
Fabien Potencier
2a1005efa7 [Translation] fixed typo 2011-02-14 11:14:04 +01:00
Fabien Potencier
5c905beb13 moved common configuration classes to a new Config component 2011-02-13 22:31:50 +01:00
Deni
657f90a931 [Security] Fixed missed argument in call custom handler when authentication is successful. 2011-02-13 22:27:28 +01:00
Kris Wallsmith
1292925702 [AsseticBundle] initial entry of assetic integration 2011-02-13 22:21:30 +01:00
Hugo Hamon
b5972f3447 [Yaml] fix some php documentation 2011-02-13 17:48:48 +01:00
Jordi Boggiano
f5f41696ec [Serializer] Allow for more flexible element names 2011-02-13 17:47:22 +01:00
Jordi Boggiano
8216a6ef3d [Serializer] Added XmlEncoder::setRootNodeName 2011-02-13 17:47:22 +01:00
Fabien Potencier
cf5cfb0b51 updated bootstrap files 2011-02-13 11:24:47 +01:00
Jonathan H. Wage
b716b707ba General work on DoctrineMongoDBBundle to bring it more up to speed with DoctrineBundle. Added missing console commands, proxy cache warmer and hydrator cache warmer. 2011-02-13 10:43:21 +01:00
Johannes M. Schmitt
d4d2d60f7b [DependencyInjection] minor interface change 2011-02-13 10:38:10 +01:00
dordille
205621dee8 Changed namepace use of SecurityContext to SecurityContextInterface so that constant SecurityContextInterface::LAST_USERNAME would resolve properly
Also changed method signature of __construct to take and instance of SecurityContextInterface instead of SecurityContext
2011-02-13 10:36:15 +01:00
Johannes M. Schmitt
3dfc09cd8d [Security] fixes some regressions 2011-02-13 00:15:57 +01:00
ornicar
b043bfde0b Do not catch subrequest exceptions, because it makes debugging hard. 2011-02-12 22:48:54 +01:00
Jordi Boggiano
9bcd1b3e5f [Security] Fixed indenting 2011-02-12 22:14:16 +01:00
Christophe Coevoet
556305b4ac Fixed the default value of the access denied url
The custom error page is now disabled by default as this would throw an
exception if the /access_denied url does not match a route.
This commit also remove the old parameter for this url which is not used
anymore in the code.

Moved the default value to the Configuration class
2011-02-12 22:11:11 +01:00
Johannes Schmitt
a5cfc2207c [Security/DependencyInjection] updated SecurityBundle's configuration, some bug fixes in DIC config classes 2011-02-12 22:05:54 +01:00
Jeremy Mikola
fc3f56d17c [FrameworkBundle] Small fixes to FrameworkExtension and its configuration
* Remove redundant null/true equivalent array() values for array nodes
 * Profiler matcher should not be deep merged; subsequent configs can simply overwrite its array
 * Per lsmith's suggestion, change "isset(x) && x" to "!empty(x)"
 * Templating engines node should be required, which is necessary to ensure requiresAtLeastOneElement() applies to its prototype children
2011-02-12 21:59:25 +01:00
Jordi Boggiano
98e035b963 [DepdenencyInjection] Prevent self-referencing aliases 2011-02-12 21:58:00 +01:00
Jeremy Mikola
b3cb02adf2 [FrameworkBundle/Routing] Add "type" option for main Router resource (and expose this in FrameworkExtension config)
In routing files, import statements allow an optional "type" option to hint the resources' type (e.g. for ambiguous file extensions). This adds the same type option to the FrameworkExtension config, which defines the main routing resource.
2011-02-12 21:57:27 +01:00
Christophe Coevoet
ccd630981f Moved the exception to setDefaultValue 2011-02-12 21:56:21 +01:00
Christophe Coevoet
142212e2ba Added a way to define the default value of a prototype for array nodes 2011-02-12 21:56:21 +01:00
Fabian Vogler
9caa17823a Fix for SimpleXML in XmlEncoder
Check first for special objects like SimpleXMLElement and Traversable and the check for is_object.
2011-02-12 21:54:27 +01:00
Johannes Schmitt
9749da6e52 [Security] performance improvements of PermissionGrantingStrategy 2011-02-12 21:53:04 +01:00
Johannes Schmitt
19bbafc441 [Security] Refactored security context, moved getUser() implementation to templating 2011-02-12 21:53:04 +01:00
Johannes Schmitt
66fbbd6b17 [Security] removed __toString() from AccountInterface 2011-02-12 21:53:04 +01:00
hhamon
bd79e85928 [BrowserKit] fix phpdoc 2011-02-12 21:52:34 +01:00
hhamon
beaaa6d457 [BrowserKit] fix Response::__toString() method to take care of multiple headers, for example when setting more than one cookie. 2011-02-12 21:52:33 +01:00
Jeremy Mikola
8525ff83cd [Routing] XmlFileLoader should treat a missing "type" attribute as null when calling FileLoader::import() 2011-02-12 21:52:16 +01:00
Kris Wallsmith
36ff9abe67 [Console] fixed new ArgvInput method 2011-02-12 21:51:34 +01:00
hhamon
c2e4ec44a8 [HttpFoundation] fixed phpdoc 2011-02-12 21:51:10 +01:00
Fabien Potencier
5ee8eca0ee [Routing] fixed previous commit 2011-02-11 01:54:25 +01:00
Fabien Potencier
b588caf467 [DependencyInjection] made a small change to mimic a similar change in Routing 2011-02-11 00:13:02 +01:00
Jeremy Mikola
d85a839997 [Routing] Avoid locating imported resources as files unless they resolve to a FileLoader
XML/YAML loaders assume imported resources are files before attempting to resolve their loader. This is problematic for loaders such as Assetic, which does not use a file as its resource. Furthermore, the previous consecutive calls to both locate() and getAbsolutePath() were redundant. File location can safely be delayed until FileLoader::import(), and we can let that throw an exception if the file is not found.
2011-02-11 00:08:43 +01:00
Igor Wiedler
e929bc5d1b [HttpKernel] Allow any 2xx response code in a subrequest 2011-02-11 00:06:41 +01:00
Igor Wiedler
8cb3a237cc [FrameworkBundle] Allow any 2xx response code in a subrequest 2011-02-11 00:06:41 +01:00
Jordi Boggiano
5bf593353f [Routing] Added optional trailing slash support to ApacheMatcherDumper 2011-02-10 23:46:23 +01:00
Jordi Boggiano
fe694de746 [Routing] Make trailing slashes in urls optional 2011-02-10 23:46:23 +01:00
Fabien Potencier
b91f082be5 Revert "moved Resource to the Config component"
This reverts commit f53080860a.

Revert "[Router] config fixes"

This reverts commit 51beecc6f2.

Revert "moved duplicated files to a new Config component"

This reverts commit a8ec9b27f0.
2011-02-10 16:14:12 +01:00
Fabien Potencier
f53080860a moved Resource to the Config component 2011-02-10 16:07:42 +01:00
Kris Wallsmith
51beecc6f2 [Router] config fixes 2011-02-10 15:54:00 +01:00
Christophe Coevoet
1305728502 Fixed ExprBuilder to really use the parameter when replacing a key with an attribute 2011-02-10 15:33:14 +01:00
Christophe Coevoet
fa32adb9a3 Added phpdoc for the configuration builder 2011-02-10 15:33:14 +01:00
Christophe Coevoet
74b87294c2 Fixed access denied handling 2011-02-10 15:32:59 +01:00
hidenorigoto
82a8a3fb42 [WebProfilerBundle][FrameworkBundle]Fixed events panel to handle closures correctly 2011-02-10 15:32:04 +01:00
Fabien Potencier
a8ec9b27f0 moved duplicated files to a new Config component 2011-02-10 03:43:36 +01:00
Jeremy Mikola
a72145bf5f [HttpFoundation] Add array type-hint to Session::setAttributes() param 2011-02-10 00:50:07 +01:00
Fabien Potencier
e58a84eb09 added a FileLocator to DIC so that we can load resources like @BundleName/Resources/... 2011-02-10 00:44:02 +01:00
Victor Berchet
24b1b6e898 [FrameworkBundle] Tweak the template cache warmer 2011-02-09 18:44:07 +01:00
Victor Berchet
717efd14fd [Kernel] some tweaks 2011-02-09 18:43:01 +01:00
Jordi Boggiano
6a7d6843ae [Form] Removed unnecessary code 2011-02-09 15:49:05 +01:00
hhamon
d076ee4f3a [DoctrineMongoDBBundle] use namespace in MongoDB data fixtures command 2011-02-09 07:09:34 +01:00
hhamon
56dc1281d0 [DoctrineBundle] use namespace and fix double variable declaration 2011-02-09 07:09:34 +01:00
Sven Paulus
5d87d83a10 optimize duplication of Request objects 2011-02-09 06:59:36 +01:00
Tim Nagel
06e2c01e76 [CssSelector] PHPDoc additions 2011-02-09 06:55:44 +01:00
Tim Nagel
76e9b6ec97 [Console] PHPDoc fixes 2011-02-09 06:55:12 +01:00
Jeremy Mikola
9f77cabd2f [TwigBundle] Cast non-array resources argument to array in form_field() twig function
Methods within FormExtension later type-hint this parameter as an array, but it's convenient to allow a single string to be passed from Twig if we ensure it's wrapped in an array.
2011-02-09 06:53:10 +01:00
Fabien Potencier
fae8a557f9 [Console] fixed typo 2011-02-08 22:37:21 +01:00
Fabien Potencier
7e0ed2759b [HttpKernel] fixed phpdoc 2011-02-08 22:36:58 +01:00
Fabien Potencier
f35f1e1f3c [FrameworkBundle] fixed init:bundle command 2011-02-08 22:36:36 +01:00
Marc Weistroff
9f52333bf6 [HttpKernel] Fixed DataCollector Request attributes when attributes have objects 2011-02-08 19:18:38 +01:00
Bernhard Schussek
f51dafca3f [Form] Fixed: "data_constructor" option is used even if "data_class" option is not set 2011-02-08 04:14:56 +01:00
Bernhard Schussek
5b95805340 [Form] Added option "data_constructor" to Form. When a Form is initialized with NULL, an object is automatically created using this constructor. If no constructor is given but the option "data_class" is set, an object of that class is created with the default constructor instead. 2011-02-08 04:14:56 +01:00
Bernhard Schussek
09a50c3c55 [Form] Fixed: "by_reference" option is ignored if reading from/writing to an array 2011-02-08 04:14:55 +01:00
Bernhard Schussek
59bf50bf41 [Form] Disabled by reference handling for arrays 2011-02-08 04:14:55 +01:00
Bulat Shakirzyanov
97679e5bda [DoctrineAbstractBundle] added test for new Loader 2011-02-08 04:11:47 +01:00
Bulat Shakirzyanov
d447d22809 [DoctrineBundle, DoctrineAbstractBundle, DoctrineMongoDBBundle] added container aware fixture loader
Updated load data fixtures command in DoctrineMongoDBBundle to be identical to the one in DoctrineBundle
Created custom loader, that passes $container to all ContainerAware DataFixtures
2011-02-08 04:11:47 +01:00
Bulat Shakirzyanov
734be8107c [DoctrineMongoDBBundle] fixed UniqueValidatorTest to mark skipped if Doctrine\ODM classes not found 2011-02-08 04:11:47 +01:00
Xavier Perez
2f9b9f5521 [Templating] Added some missing PHPDoc 2011-02-07 16:25:20 +01:00
Xavier Perez
4c65161953 [Yaml] Added PHPDoc on getTimestampRegex() 2011-02-07 16:25:19 +01:00
Fabien Potencier
9f30e42c16 added --debug/-d and --env/-d to console 2011-02-07 03:03:02 +01:00
Tim Nagel
f3b6e1a30c PHPDoc for Console 2011-02-07 01:54:10 +01:00
ornicar
4252680ccf [HttpKernel] Catch exception when SQLite profiler storage fails to cleanup 2011-02-07 01:52:10 +01:00
Marc Weistroff
ea4ab77b6d [HttpKernel] HttpCache now sends maxage=0 cache-control directive in case of Esi presence. 2011-02-07 01:43:19 +01:00
Marc Weistroff
bebdcb242d [HttpKernel] Added response cache-control modification if page is composed of ESIs.
Rules are :
- If one of the ESI has validation cache strategy, the whole page will be
forced to validate.
- In none of the ESI has validation, the response will feature a Cache-Control
directive with s-maxage value equals to the smallest TTL of ESIs.
2011-02-07 01:34:14 +01:00
ornicar
2201382fa1 [HttpKernel] Fix issue in SQLite profiler storage when PDO fails to prepare a statement 2011-02-07 01:25:34 +01:00
Tim Nagel
93fd935b70 PHPDoc style fix 2011-02-07 01:02:56 +01:00
ornicar
803cc91b8b [FrameworkBundle] Fix TemplateNameParser template name exception message 2011-02-07 00:45:46 +01:00
Tim Nagel
0d6a6b79f0 PHPDoc fixes 2011-02-07 00:44:48 +01:00
Tim Nagel
108efc6ec9 Classloader PHPDoc 2011-02-07 00:44:48 +01:00
Tim Nagel
69672bad59 Added phpdoc to BrowserKit 2011-02-07 00:44:48 +01:00
Marcin Sikon
b9ed739d75 fixed RedirectController - removed parmanent attribute before generate new url, added tests 2011-02-07 00:15:22 +01:00
pborreli
7ad4f99153 [HttpFoundation] File/UploadedFile, MimeTest, Exception full coverage 2011-02-06 21:53:36 +01:00
Fabien Potencier
33c8d12b9a [FrameworkBundle] fixed XSD for the new exception-controller option 2011-02-06 21:44:04 +01:00
Lukas Kahwe Smith
44e6a5d45f added exception_controller config option 2011-02-06 21:42:51 +01:00
ornicar
afad113297 [HttpKernel] Fix notice in Kernel 2011-02-06 21:42:17 +01:00
Fabien Potencier
86631a9fee [FrameworkBundle] fixed template loaders in configuration 2011-02-06 21:39:30 +01:00
Fabien Potencier
7cb42d2a68 Revert "[TwigBundle] fixed error messages when an error occurs during template compilation"
This reverts commit c68b326665.
2011-02-06 21:05:37 +01:00
Jeremy Mikola
099b9dee1f [FrameworkBundle] Integrate Configuration\Builder class for config merging and normalization
This fixes some BC problems introduced in f9138d313b. Some top-level can now be simply enabled by providing true/null in PHP/YAML. Additionally, the Configuration\Builder allows options to be unset by providing "false" (helpful for overriding activation in a previous config file). All options supporting these behaviors can be found in the Configuration.php file (look for canBeUnset() and treatNull/TrueLike()).

Major changes:

 * Removed "enabled" option for profiler config. Profiler is now enabled if its config is true, null or a map.
 * Restore original config structure for validation namespaces. In PHP/YAML, namespaces are defined under annotations as an alternative to false (disabled) and true/null (enabled). For XML, annotation remains a boolean attribute for validation and a one or more optional namespace tags may appear within <app:validation />. During config normalization, namespace tags under validation will be moved to annotations to conform to the PHP/YAML structure (this occurs transparently to the user).
 * Restore behavior for router/templating config sections being optional (as shown in changes to session/validation test fixtures). If either top-level section is unset in the configuration, neither feature will be enabled and the user will no longer receive exceptions due to missing a resource option (router) or engines (templating). Resource/engines will still be properly required if the respective feature is enabled.
 * Remove unused router type option from XML config XSD. Type is only relevant for import statements, so this option is likely useless.

Additional small changes:

 * Added isset()'s, since config options may be unset
 * Wrap registerXxxConfiguration() calls in isset() checks
 * Load translation.xml in configLoad(), since it's always required
 * Default cache_warmer value (!kernel.debug) is determined via Configuration class

Things to be fixed:

 * Configuration\Builder doesn't seem to respect isRequired() and requiresAtLeastOneElement() (or I haven't set it properly); this should replace the need for FrameworkExtension to throw exceptions for bad router/templating configs
 * The config nodes for session options don't have the "pdo." prefix, as dots are not allowed in node names. To preserve BC for now, the "pdo." prefix is still allowed (and mandated by XSD) in configuration files. In the future, we may just want to do away with the "pdo." prefix.
 * Translator has an "enabled" option. If there's no use case for setting "fallback" independently (when "enabled" is false), perhaps "enabled" should be removed entirely and translator should function like profiler currently does.
 * Profiler matcher merging might need to be adjusted so multiple configs simply overwrite matcher instead of merging its array keys.
2011-02-06 20:50:12 +01:00
Johannes M. Schmitt
2b256a0804 [DependencyInjection] allow null for scalar nodes 2011-02-06 20:50:03 +01:00
Fabien Potencier
cdff8b2bf8 [FrameworkBundle] fixed error message for template as an array 2011-02-06 20:22:57 +01:00
Johannes Schmitt
2316c90ec2 [Security] fixes a regression 2011-02-06 20:11:08 +01:00
Johannes M. Schmitt
c7ef8d98d6 [DependencyInjection] append new elements for prototype nodes without a key attribute 2011-02-06 20:11:08 +01:00
Johannes Schmitt
0b8fef2347 [Security/DependencyInjection] adds support for merging security configurations
The merging is done in three steps:

    1. Normalization:
    =================
    All passed config arrays will be transformed into the same structure
    regardless of what format they come from.

    2. Merging:
    ===========
    This is the step when the actual merging is performed. Starting at the root
    the configs will be passed along the tree until a node has no children, or
    the merging of sub-paths of the current node has been specifically disabled.

       Left-Side       Right-Side      Merge Result
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       -nothing-       array           Right-Side will be taken.
       scalar          scalar          Right-Side will be taken.
       array           false           Right-Side will be taken if ->canBeUnset()
                                       was called on the array node.
       false           array           Right-Side will be taken.
       array           array           Each value in the array will be passed to
                                       the specific child node, or the prototype
                                       node (whatever is present).

    3. Finalization:
    ================
    The normalized, and merged config will be passed through the config tree to
    perform final validation on the submitted values, and set default values
    where this has been requested.

You can influence this process in various ways, here is a list with some examples.
All of these methods must be called on the node on which they should be applied.

  * isRequired(): Node must be present in at least one config file.
  * requiresAtLeastOneElement(): PrototypeNode must have at least one element.
  * treatNullLike($value): Replaces null with $value during normalization.
  * treatTrueLike($value): Same as above just for true
  * treatFalseLike($value): Same as above just for false
  * defaultValue($value): Sets a default value for this node (only for scalars)
  * addDefaultsIfNotSet(): Whether to add default values of an array which has not
                           been defined in any configuration file.
  * disallowNewKeysInSubsequentConfigs(): All keys for this array must be defined
                                          in one configuration file, subsequent
                                          configurations may only overwrite these.
  * fixXmlConfig($key, $plural = null): Transforms XML config into same structure
                                        as YAML, and PHP configurations.
  * useAttributeAsKey($name): Defines which XML attribute to use as array key.
  * cannotBeOverwritten(): Declares a certain sub-path as non-overwritable. All
                           configuration for this path must be defined in the same
                           configuration file.
  * cannotBeEmpty(): If value is set, it must be non-empty.
  * canBeUnset(): If array values should be unset if false is specified.

Architecture:
=============
The configuration consists basically out of two different sets of classes.

  1. Builder classes: These classes provide the fluent interface and
                      are used to construct the config tree.

  2. Node classes: These classes contain the actual logic for normalization,
                   merging, and finalizing configurations.

After you have added all the metadata to your builders, the call to
->buildTree() will convert this metadata to actual node classes. Most of the
time, you will not have to interact with the config nodes directly, but will
delegate this to the Processor class which will call the respective methods
on the config node classes.
2011-02-06 20:11:08 +01:00
ornicar
c5fb96b86b [HttpKernel] Add more unit tests for Kernel 2011-02-06 20:05:49 +01:00
Bernhard Schussek
74d0ac82f7 [Form] Cleaned up ValueTransformerInterface
This commit removes CollectionToStringTransformer. Transformers should never change the state of the outside world, otherwise hard-to-track bugs might creap in.

This functionality needs to be implemented as a custom FieldType (see EntityChoiceField).
2011-02-06 19:46:29 +01:00