* bschussek/form-extensions:
[Form] Refactored code from CoreExtension to new ValidatorExtension
[Form] Added FormTypeExtensionInterface
[Form] Reorganized code into "form extensions"
With implementations of this interface, existing types can be amended.
The Csrf extension, for example, now contains a class FormTypeCsrfExtension
that adds CSRF capabilities to the "form" type.
To register new type extensions in the DIC, tag them with "form.type_extension"
and the name of the extended type as alias.
The extension classes are now the only constructor argument of the FormFactory class. They replace the existing "type loader" classes.
new FormFactory(array(
new CoreExtension($validator, $storage),
new CsrfExtension($csrfProvider),
new DoctrineOrmExtension($em),
));
Together with a few upcoming commits this mechanism will make
* extension of the form framework in bundles and
* usage of the forms outside of Symfony2
much easier.
* lsmith77/request_format_tweaks:
added text/html to default format mapping
return "q" from splitHttpAcceptHeader() to enable more complex accept header negotiations
added support for setting a custom default format in Request::getRequestFormat()
* made the options array only for "global" options that are valid for all session storages
* changed the PDO session storage constructor signature to accept an array of options for DB configuration
* changed the storage_id to be the full service id, instead of just part of it
* removed the class parameter for session as it can be changed via the .class parameter (it was the only example in the framework)
* removed the configuration for the PDO session storage for now
The data can now be passed to all creation methods:
$form = $factory->create('form', $data);
By default, a form will receive the name of its type ("form" in above example). If you wish to pass a custom name, use createNamed():
$form = $factory->createNamed('form', 'myform', $data);
* form: (291 commits)
[FrameworkBundle] updated method call
[Form] Removing excess option in the TimezoneType
[FrameworkBundle] Adding check for invalid form type for better exception message
[TwigBundle] Removing dbug text in form template
[Form] Removed obsolete code in TextType
[Form] fixed translations escaping
[Form] Adding a check that the choice_list option on the ChoiceType implements the ChoiceListInterface.
[Form] added support for groups in form validation (when using array data)
[Form] fixed error bubbling for choices when expanded is true
[Form] added a unit test
[Form] Removed obsolete view variables
[Form] Renamed ChoiceUtil to FormUtil and gave its methods more general names
[Form] Changed separator for Twig blocks from double underscore to single underscore to match the PHP template separator
[Form] Removed StripTagsListenerTest
[Form] Removed StripTagsListener. Its implementation is insufficient and needs to be replaced by a better one.
[Form] added a way to specify the form constraint when building the form (useful if you work with arrays instead of objects)
[Form] Added test for 'email' type and fixed a few bugs
[Form] Removed obsolete constraints from validation.xml
Revert "[Form] removed validation.xml file (not used anymore)"
Added html5 email input to the forms
...
* Infranology/framework-bundle-updated-method-call: (91 commits)
[FrameworkBundle] updated method call
moved DoctrineMongoDBBundle to its own repository
[AsseticBundle] fixed unit tests
[FrameworkBundle] removed unneeded files in tests
updated vendors
[FrameworkBundle] removed the need to boot a Kernel in a unit test file
[FrameworkBundle] removed the need to boot a Kernel in a unit test file
[Routing] added getContext() accessor
[HttpFoundation] fixed a potential security problem in Request
updated vendors
Added 201 to the possible status codes that indicate a response is a redirect.
[FrameworkBundle] made ESI URL relative as allowed by the spec (no need to generate absolute URLs)
[AsseticBundle] fixed router and controller
[AsseticBundle] removed fake front controller from URL before creating route
[AsseticBundle] updated twig integration to check debug mode at runtime rather than compile time since twig cannot vary its cache by debug mode
[Routing] the global parameters must not be added in the QS when generating URLs
removed the possibility to pass a message to the trans tag
simplified exceptions as Twig is now smart enough to automatically add line information
made the %count% variable automatically available when using the transchoice filter (similar to how the tag works)
[Container] Added function array_unique on getServiceIds to return only one service name
...
* schmittjoh/referenceValidation:
[DependencyInjection] also check references of inlined services
[DependencyInjection] adds emulation of "exception-on-invalid-reference" behavior
* schmittjoh/security:
[Security/Core] force implementations to accept null values
[Security/Acl] some misc fixes
[Security/Acl] removed Doctrine dependency from interfaces and moved them to the actual implementation
[SecurityBundle] changed expected value for token_provider key in the rememberme section
* kriswallsmith/dic/method-renames:
added method renames to UPDATE
[DependencyInjection] renamed ContainerBuilder::remove() as removeDefinition() to be more consistent with other definition-related methods
[DependencyInjection] renamed Definition::setArgument() as replaceArgument() to be more specific
The _scheme requirement can be used to force routes to always match one given scheme
and to always be generated with the given scheme.
So, if _scheme is set to https, URL generation will force an absolute URL if the
current scheme is http. And if you request the URL with http, you will be redirected
to the https URL.
* lsmith77/add_decoder_interface:
added a DecodeInterface (and SerializerAwareInterface) to make it easier to identify if an Encoder also supports decoding
* hidenorigoto/feature/add-server-param-method:
[BrowserKit] added tests for setServerParameter/getServerParameter methods
[BrowserKit] added getServerParameter method which makes setServerParameters/setServerParameter methods testable
[BrowserKit] added the method to Client which enables to set single server parameter
[Form] Fixed {get,set,has}Var references in templating php
[Form] Added getVars to FormView to ease usage in Twig. Also added some phpdoc and cleaned up the get method by adding a default value
[Form] Fix
[Form] Delete file generated by test
Based on dfb93b1bcebf1f34d3a880d00f36acb2bcca0f08:
[FORM] Fixed DateField Month Choices
The month choices were calculated using the current day of the month with
gmmktime rather than the 1st of the month. Additionally, this provides a
UTC timestamp which is passed to the formatter (IntlDateFormatter) which
converts the timestamp using the current timezone. This means that the UTC
timestamp for 1st March was being converted for my timezone (EST) and giving
a date of 28th February, leading to Feb appearing again in the popup form
instead of Mar.
* schmittjoh/diLogging:
[DependencyInjection] enable debug related passes only in debug environment
[DependencyInjection] removed pass time
[DependencyInjection] fixes a bug which might have occurred when using property injection under certain circumstances
[DependencyInjection] fixed method name
[FrameworkBundle] whitespace fix
[DependencyInjection] refactored code a bit, added some more logging messages
[DependencyInjection] dump a readable format
[DependencyInjection] better logging
* hhamon/http_cache_fix:
[HttpKernel] private $traces property was not initialized to an empty array. When using the getLog() method to debug traces, it led to a warning in the apache error log.
* Funsational/master:
Update PDO session storage to check if any rows are updated when doing a session write. If no rows are udpated when performing a session write it generally means that we have created a new session id somewhere and we have not inserted into the database. This is the case for when calling regenerate_session_id() from the native session storage class. It will update the session id then call sessionWrite() to save the session but since the new session id does not exist in the DB, no rows are updated and any new session attributes such as security tokens are lost.
* vicb/event_debug:
[FrameworkBundle] Make some TraceableEventDispacther properties private
[Event] Tweak phpDoc for consistency
[FrameworkBundle] Add error detection to the TraceableEventDispatcher
Moving the template context creation makes sense and allows for simpler code for the end user:
Before:
return array('post' => $post, 'form' => $this->get('form.factory')->createTemplateContext($form));
After:
return array('post' => $post, 'form' => $form->getContext());
* Brouznouf/master:
[Serializer] Revert DOMElement to SimpleXmlElement
[Serializer] Using DOMElement instead of SimpleXmlElement in XmlEncoder to permit some behavior
* hason/logicalname:
[Templating] changed __toString method (synonym for getLogicalName method)
[Templating] fixed phpdoc a test
[FrameworkBundle] added getLogicalName() method to TemplateReference
[Templating] added method to return the template logical name, added test
* vicb/config_base:
[Config] Add a note about the ConfigurationInterface interface in UPDATE.md
[MonologBundle] Make The Configuration class implements the ConfigurationInterface
[Config] Introduction of an ConfigurationInterface
* vicb/resource_path:
Update for Bundle names long again (= include the 'Bundle' suffix)
[Kernel] Make locateResource() throws an exception when a resource from a Bundle hides a custom resource
[Kernel] Make resources overriding consistent across bundle directories and resource directories
[Kernel] Improve test semantic
[Kernel] Update tests with shorter bundle names
[Kernel] Restore the tests for the locateResource method
Resource paths should use the full bundle name (with the 'Bundle' postfix)
* Seldaek/serializer:
[Serializer] Some more privates
[Serializer] Move private methods below protected ones
[Serializer] Added @api annotations
[Serializer] Added docblocks for NormalizableInterface
[Serializer] add methods to the SerializerInterface
[Serializer] Added docblock
[Serializer] Switched most protected to private or final
* weaverryan/prevent_exception_on_handle_exception:
[HttpKernel] Wrapping the end of handleException() in a try-catch to prevent response listeners from throwing another exception
* weaverryan/better_import_exception_and_bug_fix:
[Config] Improving the exception when a resource cannot be imported
[DependencyInjection] Fixing a bug where "ignore_errors" doesn't work in YAML and XML
This improves, for example, the exception one would receive if they tried to import a resource from a bundle that doesn't exist.
Previously, the deep "bundle is not activated" exception would be thrown. That has value, however there is no indication of where
the exception is actually occurring.
In this new implementation, we throw an exception that explains exactly which resource, and from which source resource, cannot be
loaded. The deeper exception is still thrown as a nested exception.
Two caveats:
* The `HttpKernel::varToString` method was replicated
* This introduces a new `Exception` class, which allows us to prevent lot's of exceptions from nesting into each other in the case
that some deeply imported resource cannot be imported (each upstream import that fails doesn't add its own exception).
* hason/frameworkbundle:
[HttpKernel] removed unused class
[FrameworkBundle] fixed bugs
[FrameworkBundle] fixed test on windows
[FrameworkBundle] fixed CS