Commit Graph

480 Commits

Author SHA1 Message Date
Fabien Potencier
fc96702483 [DependencyInjection] fixed generation of empty tags when getting a tag from a definition
This change removes a lot of noise in the dumped container.
2011-01-05 15:00:59 +01:00
Fabien Potencier
1148519695 [HttpKernel] unified paths on Windows and *nix 2011-01-04 18:21:58 +01:00
Fabien Potencier
7b7e83f428 removed js and css helpers and Twig integration
These helpers have been removed as they do not work as expected.
Among other things, the order is not the right one when using PHP
templates, and adding assets from an included template is not
possible when using Twig templates.

This should be replaced by integrating a third-party library that
manages assets: minification, compilation, packaging, ...
2011-01-04 14:07:25 +01:00
Bernhard Schussek
39c9bf160e [Validator] Implemented @Ip constraint 2011-01-03 22:07:15 +01:00
Bernhard Schussek
acdd5c06de [Form] Changed value transformers to throw UnexpectedTypeException instances 2011-01-03 22:07:08 +01:00
Bernhard Schussek
48af2fc86e [Form][FrameworkBundle][HttpFoundation] The session is now automatically started when a form is CSRF protected 2011-01-03 22:07:04 +01:00
Bernhard Schussek
e9a7531a26 [Form] added the constrained method Field::isTransformationSuccessful() 2011-01-03 22:06:59 +01:00
Bernhard Schussek
8513082007 [Form][HttpFoundation] Improved File and UploadedFile class 2011-01-03 22:06:56 +01:00
Bernhard Schussek
708c780213 [Validator] Renamed @Validation constraint to @Set 2011-01-03 22:06:52 +01:00
Bernhard Schussek
ba422e8472 [Form] Added support for virtual field groups 2011-01-03 22:06:46 +01:00
Fabien Potencier
eb4788e98e [DependencyInjection] made service keys and aliases case insensitive (as method names are case insensitive in PHP) 2011-01-03 09:07:06 +01:00
Victor Berchet
de42cfdf3e fix a typo 2011-01-03 08:48:57 +01:00
Victor Berchet
b7db5482d7 Container builder tweaks 2011-01-03 08:48:25 +01:00
Johannes M. Schmitt
55a48bcfa6 optimized AclVoter, added unit test 2011-01-03 07:46:16 +01:00
Johannes M. Schmitt
a99d8c8558 fix possible duplicate security identities 2011-01-02 10:53:54 +01:00
Bernhard Schussek
52ecffe51b [Validator] Implemented Locale constraint 2011-01-02 10:41:09 +01:00
Bernhard Schussek
b9c2e98315 [Form][Locale] Implemented LocaleField and added script for updating ICU data 2011-01-02 10:41:05 +01:00
Fabien Potencier
49a3e52fa8 [HttpFoundation] changed the default name of the session to _SESS as using _SESSION does not seem to work with PHP 5.3.3 (the session starts for each request) 2010-12-31 10:53:18 +01:00
Johannes Schmitt
b4288459cc added ACL system to the Security Component 2010-12-31 09:25:53 +01:00
Fabien Potencier
5c73619d80 [DependencyInjection] optimized previous commit 2010-12-31 09:15:36 +01:00
Lukas Kahwe Smith
c886d88bf3 [DependencyInjection] force loading of class file when resolving interface injections 2010-12-31 09:12:09 +01:00
Jeremy Mikola
46b1b5bd60 [Security] LogoutListener should not invoke handlers' logout() method if token is empty
If a user was not authenticated and visited the logout path, a null value was passed to the handler's logout() method, resulting in a catchable fatal error.
2010-12-30 21:12:29 +01:00
Bouke Haarsma
bf98b3c1ae Form->getUri() should return it's path if no action is defined 2010-12-30 17:03:52 +01:00
Johannes Schmitt
db5e180d37 tweaked DI container 2010-12-30 15:59:52 +01:00
fivestar
ac3e5545b9 [Console] fixed call to undefined method. 2010-12-30 11:28:03 +01:00
Bulat Shakirzyanov
f8a88e822f [HttpFoundation] added ArraySessionStorage for usage in tests 2010-12-23 08:30:44 +01:00
Kris Wallsmith
763ef35d0e [Routing] added creation of a file resource in annotations loader 2010-12-22 11:19:05 +01:00
Kris Wallsmith
32aef96441 [Routing] removed call to setDefaultAnnotationNamespace() so this can be configure on the injected reader 2010-12-22 11:18:44 +01:00
Benjamin Lévêque
8a472b7d98 [Routing] Fix PhpMatcherDump when url contains a . or a - 2010-12-22 11:14:49 +01:00
Johannes Schmitt
27f540463a added generic encoder factory 2010-12-21 16:23:46 +01:00
Victor Berchet
b2476719f6 Container PHP dumper: optimize string dumping ('f'.'o'.'o' -> 'foo') 2010-12-21 11:19:42 +01:00
Johannes M. Schmitt
03d25cc7fa refactored creation of access decision manager to make use of newly added compiler passes 2010-12-21 08:52:48 +01:00
Jordi Boggiano
451847c7d2 CS: prefer while (true) over while (1) 2010-12-21 08:51:31 +01:00
Jordi Boggiano
3d9b13f240 CS: Unified non-strict equality comparisons, put var on the right side 2010-12-21 08:51:27 +01:00
Jordi Boggiano
094d428e68 CS: Unified strict equality comparisons, put var on the right side 2010-12-21 08:51:21 +01:00
Johannes Schmitt
a2105d44aa slight compiler refactoring (RFC) 2010-12-20 20:11:13 +01:00
Victor Berchet
5e94807668 Speed up url matching for route without variable 2010-12-20 18:25:32 +01:00
Victor Berchet
d300fd6131 Remove a useless test 2010-12-20 17:59:02 +01:00
Victor Berchet
9ffb1637b9 Make use of SplFileInfo::getBasename 2010-12-20 17:58:58 +01:00
Fabien Potencier
d70ce5b9aa [Process] tweaked php doc and fixed PhpProcess::run() return value 2010-12-20 10:30:59 +01:00
Fabien Potencier
b57411b5ec renamed reloadUserByAccount() to loadUserByAccount() 2010-12-18 08:15:13 +01:00
Johannes Schmitt
df6ffbbf07 remove user provider name 2010-12-18 08:10:53 +01:00
Bernhard Schussek
cd64046811 [Form] Changed semantics of "always_empty" option in PasswordField
If the option is true, the password is never written into the input field's value. If it is false, it is only written into the input field's value after submitting a form with errors.

The default value for "always_empty" is true.
2010-12-18 08:06:15 +01:00
Pierre-Louis LAUNAY
a6e414f746 The method ->getHeader(...) doen't exists. Replace it by ->headers->get(...) 2010-12-16 20:13:40 +01:00
Jordi Boggiano
4f46235ab0 [HttpFoundation] Send proper charset along with the default text/html header 2010-12-16 10:23:53 +01:00
Bernhard Schussek
a059ec891d [Validator] Implemented Image constraint 2010-12-16 10:18:33 +01:00
Bernhard Schussek
993257a83e [Validator] Implemented Language constraint 2010-12-16 10:18:33 +01:00
Bernhard Schussek
fdb7f84c7d [Locale][Form][Validator] Refactored code to new Locale component, implemented Country constraint 2010-12-16 10:18:33 +01:00
Bernhard Schussek
93d3716a84 [Form] Implemented LanguageField 2010-12-16 10:18:32 +01:00
Bernhard Schussek
9db7db4439 [Form] Implemented CountryField 2010-12-16 10:18:31 +01:00
Bernhard Schussek
78b69876d4 [Form] Locale can now only be set statically before creating a form/field, otherwise we have too many problems updating a field's state when the locale is changed 2010-12-16 10:18:31 +01:00
Bernhard Schussek
7c557d0d6e [Form] Made and parameter in the constructor optional 2010-12-16 10:18:31 +01:00
Bernhard Schussek
b8ef7e7332 [Form] Improved semantics of property paths and removed FieldGroup::merge() for now
The semantics of property paths are now:

   (1) if a property path is set, it is _always_ respected (relative to the object
       of the parent field)
   (2) if no property path is set, the object of the parent field is _always_ ignored

Fact (2) allows us to set data into fields that is updated independently of the parent
field (like CSRF tokens, subforms with different objects etc.)

What is missing now is support for subfields that pass the object of the parent field
through to their own subfields. This functionality would be needed for GoogleMapFields,
DateRangeFields etc., which are compositions of individual fields that update the
parent object of the FieldGroup.

There are several alternatives for the latter functionality that should be discussed
in a RFC.
2010-12-16 10:18:31 +01:00
Bernhard Schussek
242be933d5 [Form] Added proper error handling to FileField 2010-12-16 10:18:31 +01:00
Johannes M. Schmitt
bd7e9b022b variable name fix 2010-12-15 21:24:37 +01:00
Johannes Schmitt
3c692bd160 fixed user refreshing after unserialization 2010-12-15 17:38:30 +01:00
Fabien Potencier
9f5253e460 fixed typo 2010-12-14 07:49:55 +01:00
Bulat Shakirzyanov
ff9e9ac315 [DependencyInjection] fixed a typo in PhpDumper 2010-12-13 18:55:37 +01:00
Johannes M. Schmitt
b3081c79e9 CS fixes 2010-12-13 11:10:55 +01:00
Jordi Boggiano
583340db7b [HttpFoundation] Added a way to grab the request body as a resource 2010-12-13 07:55:40 +01:00
Jordi Boggiano
9fef10f67d [HttpFoundation] Fixed indenting 2010-12-13 07:53:09 +01:00
Jordi Boggiano
ac7e0bc35f [DependencyInjection] Fixes a loading order issue
ab7ad4808b introduced a regression when using a parameter in an extension config that is defined in the same file, the ParameterBag can not resolve it
2010-12-13 07:52:09 +01:00
jeff
e6d0385778 [HttpFoundation] fixed Request::create() when using HTTPS and getUri()/getPathForUri() when script name should be removed.
Original explanation from pull request:

I'm Using symfony2 with URL Rewriting to 'hide' index.php.
On form authentication, symfony2 redirect to http://host:port/index.php/login_path instead of http://host:port/login_path. I do understand that, in my case, redirect is set into one of :
FormAuthenticationEntryPoint with getUriForPath()
FormAuthenticationListener with getUriForPath()
Security/Firewal/ExceptionListener with getUri()

This path modify getUri and getUriForPath to :
remove default port from URI
remove script name if not initially present
2010-12-12 14:08:35 +01:00
Johannes Schmitt
abe8047262 added authentication trust resolver 2010-12-12 10:49:43 +01:00
Johannes Schmitt
763bba9b89 bug fix 2010-12-12 10:27:15 +01:00
Fabien Potencier
a7c81577c7 [HttpFoundation] added a way to retrieve raw body from a request 2010-12-12 09:05:03 +01:00
Fabien Potencier
5857576024 [Routing] added . as a valid character in route names 2010-12-12 08:53:49 +01:00
Fabien Potencier
7cb8dca04d [Routing] added . as a valid character in route names 2010-12-12 08:53:18 +01:00
Fabien Potencier
504463c307 [Routing] refactored code 2010-12-12 08:50:46 +01:00
Fabien Potencier
48e30537c4 added exception when a loaded YAML resource is not an array 2010-12-12 08:39:37 +01:00
Fabien Potencier
9944542811 [Security] fixed method visibility 2010-12-12 08:02:13 +01:00
Johannes Schmitt
e49cc36339 This commit fixes two bugs:
- interfaces can now also be defined on containers which are built with an Extension
- interface injection can also be used on classes that require constructor arguments
2010-12-10 17:15:04 +01:00
Johannes Schmitt
cc3a783890 removed dead code 2010-12-10 16:34:20 +01:00
Bernhard Schussek
1b2ca259f1 [Validator] Fixed string-based constraint validators to accept empty values 2010-12-10 14:28:11 +01:00
Gustavo Falco
af291bb0f1 [Validator] Fixed UrlValidator to accept empty strings (closes #9297) 2010-12-10 14:28:07 +01:00
GordonsLondon
f73b6b4e1c [PropertyPath] Fixed usage of __get() and __set() when accessing properties that exist in the object but are not public 2010-12-10 14:28:04 +01:00
Bernhard Schussek
e80aa9a5ab [Form] Fixed: The data in a CollectionField is resized down if fields are removed 2010-12-10 14:27:57 +01:00
Bernhard Schussek
131b3fe373 [Form] Refactored Field and FieldGroup to facilitate modifications in subclasses 2010-12-10 14:27:54 +01:00
pablodip
984a857a96 [Validator] fixed the static method loader to not repeat the loading when the static method is in the parent classes 2010-12-10 14:27:49 +01:00
Jeremy Mikola
c8c9fba7d9 [Routing] Add optional "type" param for loader hinting when resource strings are ambiguous
Currently, ambiguities only arise for PHP files, as PhpFileLoader and AnnotationFileLoader would both claim support.  Future conflicts may occur if the XML, YAML, or PHP loaders were to receive Directory and Glob loaders (as annotations have).

Since the "type" parameter is optional, loader resolution will default to awarding resolution to the first loader to claim support.  A previous hack in PhpFileLoader to avoid an AnnotationFileLoader conflict was removed, so that should be the only lost backwards compatibility with this patch.  Unit tests were also created for the various loader classes, although only the supports() method is being tested.

This implementation was proposed on the symfony-dev mailing list in response to Fabien's RFC for custom loader notation: http://groups.google.com/group/symfony-devs/browse_thread/thread/3104c1a9e45799d2/20fbe393c1afe088
2010-12-10 09:48:10 +01:00
Fabien Potencier
b3149a235b [HttpKernel] fixed request management in HttpKernel 2010-12-10 09:30:32 +01:00
Fabien Potencier
bff58d14d7 [HttpKernel] fixed request management in HttpKernel 2010-12-10 09:24:14 +01:00
Fabien Potencier
da26584735 [HttpKernel] fixed request management in HttpKernel 2010-12-10 09:21:31 +01:00
Fabien Potencier
55bed307f1 removed HttpException base class, refactored FlattenException class 2010-12-10 09:16:42 +01:00
Fabien Potencier
23fbd87164 [HttpKernel] removed UnauthorizedHttpException as this should be handled by the Security component 2010-12-10 09:02:26 +01:00
Fabien Potencier
131776001f removed ForbiddenHttpException
Both HttpKernel and Security define a 403 exception:

* Symfony\Component\HttpKernel\Exception\ForbiddenHttpException
* Symfony\Component\Security\Exception\AccessDeniedException

The one in HttpKernel has been removed in favor of the Security one.
2010-12-10 09:00:06 +01:00
Fabien Potencier
d036448542 [HttpKernel] simplified code 2010-12-10 08:50:45 +01:00
Ryan Weaver
be94daba66 [HttpKernel] Reworking the HttpException class constructor to be more consistent with normal OO classes. Additionally, the base HttpException constructor was changed to require a code argument as it doesn't make sense to create an exception that will translate into a status code of 0 (in fact it'll cause a strange error). 2010-12-10 08:47:25 +01:00
Jonathan H. Wage
ab7ad4808b [DependencyInjection] Allow parameter replacement within extension configurations. 2010-12-10 08:45:49 +01:00
Kris Wallsmith
5da423be20 [HttpKernel] Added getRequest() to HttpKernelInterface. 2010-12-10 08:43:05 +01:00
Jeremy Mikola
7eea4882db [HttpKernel] Move request-stashing behavior to the Kernel class
Previously, HttpKernel performed request-stashing.  By moving this to the Kernel class, the request is now available immediately after the kernel becomes aware of it.  If the kernel is allowed to boot lazily (during the first call to handle()), this also allows an actual master Request to be available during booting.

The old "request" service definition (with a bogus class name) can be replaced with a factory-aware definition that retrieves the request directly from the kernel.
2010-12-09 09:38:17 +01:00
Jeremy Mikola
2ff474fc3a [HttpKernel][FrameworkBundle] Rename BaseHttpKernel to HttpKernel
The original HttpKernel class can be deleted, as it's request-stashing will be moved to the Kernel class.  FrameworkBundle's list of compiled classes must also be modified to respect this change.
2010-12-09 09:38:13 +01:00
Johannes M. Schmitt
d94420f3a5 logout refactoring 2010-12-08 08:26:58 +01:00
Johannes M. Schmitt
eef6578c15 fixes bugs due to not disconnected listeners 2010-12-08 08:14:33 +01:00
Jordi Boggiano
fb41389999 [HttpFoundation] Fixed Request::create handling of full URIs 2010-12-08 07:52:33 +01:00
Jordi Boggiano
beecd1fef8 [HttpKernel] Log query string as well as path in Cache debug headers 2010-12-08 07:49:19 +01:00
Jordi Boggiano
f6bc712028 [HttpFoundation] Always force the request method to full caps 2010-12-08 07:28:18 +01:00
Fabien Potencier
e8672740c7 [HttpFoundation] allowed any HTTP method for a Request 2010-12-08 07:24:37 +01:00
Jordi Boggiano
a832885960 [HttpFoundation] Fixed default netmask to be restricted to one IP 2010-12-06 18:32:39 +01:00
Justin Hileman
112fb5ad99 Fix Request::overrideGlobals $_COOKIE global var reference. 2010-12-06 08:12:40 +01:00
Fabien Potencier
2547bbffc3 a-[Console] added some phpdoc 2010-12-06 08:11:27 +01:00
Fabien Potencier
47e5344eda [HttpKernel] fixed typo 2010-12-02 16:44:43 +01:00
Fabien Potencier
45e34c29fd [Routing] simplified code 2010-11-30 21:10:55 +01:00
pablodip
794634db7c [Routing] changed method_exists by an array with the routes names in the php generator dumper, its more efficient 2010-11-30 20:59:58 +01:00
Bulat Shakirzyanov
73331cf1c1 [DependencyInjection] Interface Injection implementation 2010-11-30 20:36:56 +01:00
Fabien Potencier
dca8a79bf5 [Routing] made annotation class loader more flexible 2010-11-30 14:00:48 +01:00
Fabien Potencier
b2eec52429 [Routing] added missing Route::setRequirement() 2010-11-30 14:00:36 +01:00
pablodip
314d3d06ae [DependencyInjection] format the tags in the findTaggedServiceIds method of the PhpDumper 2010-11-30 07:56:51 +01:00
Fabien Potencier
6e18a2c529 [Yaml] fixed parsing of simple inline documents 2010-11-29 21:09:02 +01:00
Fabien Potencier
97cafc7218 [HttpKernel] fixed typo 2010-11-29 18:49:07 +01:00
Ryan Weaver
bd0d9dc1cb [Routing] Fixing a coding standard violating I introduced. 2010-11-29 18:23:02 +01:00
Ryan Weaver
7efb4630b8 [Command] Changing the InputOption::PARAMETER_* constants to InputOption::VALUE_* to more accurately reflect that these constants refer to the value or lack of value assigned to a particular option (e.g. --verbose or --em=doctrine).
To keep language consistent, three methods were changed in InputOption:

 * `InputOption::acceptParameter()` -> `InputOption::acceptValue()`
 * `InputOption::isParameterRequired()` -> InputOption::isValueRequired()`
 * `InputOption::isParameterOptional()` -> `InputOption::isValueOptional()`

The InputDefinition::asXml() method was also modified to update the `accept_value` and `is_value_required` attributes.
2010-11-27 19:56:27 +01:00
Ryan Weaver
739ebf92f5 [Routing] Changing the _method route requirement to be a regular expression so that it's consistent with all other requirements.
Unlike all other requirements, the _method regex requirement is case-insensitive.
2010-11-27 11:48:57 +01:00
Ryan Weaver
acb977aa88 [Routing] Tweaking the ApacheMatcherDumper formatting - no real change. 2010-11-27 11:48:00 +01:00
Ryan Weaver
1e9e1b346d [Routing] Adding tests for the ApacheMatcherDumper, PhpMatcherDumper and UrlMatcher. 2010-11-27 11:47:48 +01:00
Ryan Weaver
0c97335284 Updating calls from Console\Application::addCommand() to Console\Application::add() after method name refactoring. 2010-11-26 21:05:18 +01:00
Fabien Potencier
1e983a6115 moved static Form configuration to a new class (avoid loading 7 classes just to enable CSRF -- even when no form is present in the page) 2010-11-26 17:44:17 +01:00
Fabien Potencier
dfe8bb9fef added more classes to the bootstrap file 2010-11-26 17:44:17 +01:00
Fabien Potencier
8359419913 fixed class cache 2010-11-26 17:44:17 +01:00
Jordi Boggiano
cc05b09a29 [HttpFoundation] Standardize flash messages api 2010-11-26 14:44:39 +01:00
Ryan Weaver
5aa6ad28ae Updating RouteCollection::getRoutes() call to RouteCollection::getAll() in many places. 2010-11-26 14:43:12 +01:00
Ryan Weaver
f0ee10112e [Routing] Updating changed method name after method name refactoring. 2010-11-26 14:43:07 +01:00
Fabien Potencier
944d91c1df made some method name changes to have a better coherence throughout the framework
When an object has a "main" many relation with related "things" (objects,
parameters, ...), the method names are normalized:

 * get()
 * set()
 * all()
 * replace()
 * remove()
 * clear()
 * isEmpty()
 * add()
 * register()
 * count()
 * keys()

The classes below follow this method naming convention:

 * BrowserKit\CookieJar -> Cookie
 * BrowserKit\History -> Request
 * Console\Application -> Command
 * Console\Application\Helper\HelperSet -> HelperInterface
 * DependencyInjection\Container -> services
 * DependencyInjection\ContainerBuilder -> services
 * DependencyInjection\ParameterBag\ParameterBag -> parameters
 * DependencyInjection\ParameterBag\FrozenParameterBag -> parameters
 * DomCrawler\Form -> FormField
 * EventDispatcher\Event -> parameters
 * Form\FieldGroup -> Field
 * HttpFoundation\HeaderBag -> headers
 * HttpFoundation\ParameterBag -> parameters
 * HttpFoundation\Session -> attributes
 * HttpKernel\Profiler\Profiler -> DataCollectorInterface
 * Routing\RouteCollection -> Route
 * Security\Authentication\AuthenticationProviderManager -> AuthenticationProviderInterface
 * Templating\Engine -> HelperInterface
 * Translation\MessageCatalogue -> messages

The usage of these methods are only allowed when it is clear that there is a
main relation:

 * a CookieJar has many Cookies;

 * a Container has many services and many parameters (as services is the main
   relation, we use the naming convention for this relation);

 * a Console Input has many arguments and many options. There is no "main"
   relation, and so the naming convention does not apply.

For many relations where the convention does not apply, the following methods
must be used instead (where XXX is the name of the related thing):

 * get()      -> getXXX()
 * set()      -> setXXX()
 * all()      -> getXXXs()
 * replace()  -> setXXXs()
 * remove()   -> removeXXX()
 * clear()    -> clearXXX()
 * isEmpty()  -> isEmptyXXX()
 * add()      -> addXXX()
 * register() -> registerXXX()
 * count()    -> countXXX()
 * keys()
2010-11-25 17:30:06 +01:00
Fabien Potencier
341178e869 [DependencyInjection] made some cosmetic changes to the PHP dumper output 2010-11-24 15:55:25 +01:00
Fabien Potencier
60bbb8f380 [DependencyInjection] optimized compiled containers
* removed the __call() method in Container: it means that now, there is only
   one way to get a service: via the get() method;

 * removed the $shared variable in the dumped Container classes (we now use
   the $services variable from the parent class directly -- this is where we
   have a performance improvement);

 * optimized the PHP Dumper output.
2010-11-23 22:43:09 +01:00
Fabien Potencier
ad68092291 removed the OutputEscaper component, added escape mechanism in the Templating Engine class 2010-11-23 12:59:21 +01:00
Bernhard Schussek
e0aa3f30a8 [Form] Improved FileField to store files in a temporary location in case validation fails 2010-11-23 06:51:30 +01:00
Bernhard Schussek
f2f0d044c3 [Form][FrameworkBundle] Fixed default values of CheckboxFields 2010-11-23 06:51:23 +01:00
Bernhard Schussek
d95d33666d [HttpFoundation] Fixed class Request to convert empty files to NULL 2010-11-23 06:51:17 +01:00
Bernhard Schussek
f9e830caa2 [Form] Added hook method preprocessData() to FieldGroup 2010-11-23 06:51:13 +01:00
Bernhard Schussek
4aa12248c5 [Form] Field can now be instantiated to create anonymous fields 2010-11-23 06:51:10 +01:00
Dominique Bongiraud
73daccd6c3 [HttpFoundation] Fixed coding style, fixed wrong parameter method, added omitted split ip and added upper limit to the netmask ip 2010-11-22 22:28:21 +01:00
Lukas Kahwe Smith
14520d565b tweaked phpdoc comment descriptions to explain how multiple base URL's are handled 2010-11-22 18:54:33 +01:00
Fabien Potencier
a79ed13624 [Routing] removed the variable_prefixes and variable_regex Route options 2010-11-22 11:04:53 +01:00
Fabien Potencier
ba9e3dec69 [Templating] fix problem with PHP 5.4 2010-11-21 21:23:28 +01:00
Fabien Potencier
6fa943ad54 moved Exception and WebProfiler templates to Twig 2010-11-21 15:37:01 +01:00
ornicar
faf0182be0 [HttpFoundation] Rename HeaderBag::validateCookieName to HeaderBag::validateCookie 2010-11-21 15:24:52 +01:00
Fabien Potencier
cbb22b4ec4 [Templating] added an Engine::load() method 2010-11-21 09:33:03 +01:00
Bernhard Schussek
e0d6aad5f4 [Form][FrameworkBundle][TwigBundle] Introduced class FieldError to wrap form errors 2010-11-19 07:11:29 +01:00
Bernhard Schussek
68cebd667a [Validator] Group sequences must now always contain the group "<ClassName>" and never the group "Default" since that group is redefined by the group sequence 2010-11-19 07:11:26 +01:00
Bernhard Schussek
a71cad480a [Validator] Added @validation:GroupSequence to annotation driver 2010-11-19 07:11:23 +01:00
Bernhard Schussek
681ce7f46a [Form] Fixed: FieldGroup::hasErrors() does not return true if only children have errors 2010-11-19 07:11:17 +01:00
Fabien Potencier
333504a201 [OutputEscaper] fixed output escaping when a variable was decorated with SafeDecorator and passed to another part of the system where decoration also happens on the same un-decorated variable
This is the case for instance when you pass a variable to a template like this:

new SafeDecorator($var);

and in the template, you pass it again to another embedded template:

$view->render('...', array('var' => $var);

The second time, $var will be escaped as the SafeDecorator wrapper will have been removed
by the escaper.
2010-11-18 19:25:18 +01:00
Fabien Potencier
3ce745cf6e fixed typo 2010-11-18 18:49:08 +01:00
Fabien Potencier
b6923dd7b9 changed Cache-Control default value behavior
The PHP native cache limiter feature has been disabled as this is now managed
by the HeaderBag class directly instead (see below.)

The HeaderBag class uses the following rules to define a sensible and
convervative default value for the Response 'Cache-Control' header:

 * If no cache header is defined ('Cache-Control', 'ETag', 'Last-Modified',
   and 'Expires'), 'Cache-Control' is set to 'no-cache';

 * If 'Cache-Control' is empty, its value is set to "private, max-age=0,
   must-revalidate";

 * But if at least one 'Cache-Control' directive is set, and no 'public' or
   'private' directives have been explicitely added, Symfony2 adds the
   'private' directive automatically (except when 's-maxage' is set.)

So, remember to explicitly add the 'public' directive to 'Cache-Control' when
you want shared caches to store your application resources:

    // The Response is private by default
    $response->setEtag($etag);
    $response->setLastModified($date);
    $response->setMaxAge(10);

    // Change the Response to be public
    $response->setPublic();

    // Set cache settings in one call
    $response->setCache(array(
        'etag'          => $etag,
        'last_modified' => $date,
        'max_age'       => 10,
        'public'        => true,
    ));
2010-11-18 17:05:05 +01:00
Jordi Boggiano
e69c5ae860 Coding style fixes 2010-11-18 07:00:03 +01:00
Bernhard Schussek
46145d8de7 [Validator] Fixed exception thrown in Valid constraint to be thrown only when the options are not empty 2010-11-17 10:55:48 +01:00
Bernhard Schussek
940ce9aedf [Validator] Group "Default" is now propagated to validated references when group sequences are validated
This conforms to JSR303 (see version 1.0 final, page 39).
2010-11-17 08:02:10 +01:00
Bernhard Schussek
6a148465da [Validator][Form] Removed support for match-all group "*"
The constraint "Valid" does not accept any options or groups anymore. As per
JSR303 1.0 final, section 3.5.1 "Object graph validation" (page 39),
properties  annotated with valid should be cascaded independent of the current
group (i.e. always). Thus the group "*" is not necessary anymore and was
removed from the "Valid" constraint in the Form validation.xml.
2010-11-17 08:02:06 +01:00
Bernhard Schussek
8df966f507 [Validator] Made class Constraint abstract because it must not be instantiated 2010-11-17 08:02:03 +01:00