Commit Graph

7431 Commits

Author SHA1 Message Date
stealth35
58cd03cedf use SplFileInfo insteed fgetcsv 2011-03-25 11:51:32 +01:00
Bernhard Schussek
0ace068a52 [Form] PropertyPathMapper now only maps if the form data is synchronized to avoid duplicate form errors ('invalid'+'NotNull', for example) 2011-03-25 11:27:22 +01:00
Bernhard Schussek
6825ea2489 [Form] Improved test coverage of PropertyPathMapper 2011-03-25 11:27:20 +01:00
stealth35
cee94be277 sanitize die (exit) 2011-03-25 11:26:43 +01:00
Bernhard Schussek
e3ac248617 [Form] Errors are mapped to subforms correctly and bubble up again if necessary 2011-03-25 10:53:36 +01:00
Bernhard Schussek
4f360109ed [Form] Fixed validation.xml (now really) 2011-03-25 10:41:18 +01:00
Bernhard Schussek
eb18676354 Merge branch 'master' into experimental 2011-03-25 09:24:38 +01:00
Fabien Potencier
0e57943531 [HttpKernel] fixed typo 2011-03-25 07:19:02 +01:00
Bernhard Schussek
7b412cc762 [Form] Removed FormFactory::addGuessers() and moved guessers to constructor arg instead 2011-03-25 02:26:14 +01:00
Bernhard Schussek
9b1b8cbffa [Form] Replaced various occurences of 'field' by 'form' 2011-03-25 02:12:01 +01:00
Bernhard Schussek
3c412ffba0 [Form] Moved Form::validateData() to DelegatingValidator::validateFormData() 2011-03-25 01:59:28 +01:00
Gustavo Adrian
bedbe51081 [Security] ACL: AclVoter::vote only gets an ObjectIdentity if $object is not an instance of ObjectIdentityInterface 2011-03-24 21:54:21 -03:00
Bernhard Schussek
ec38901572 Merge branch 'rename-execute' into experimental
Conflicts:
	src/Symfony/Component/Form/Resources/config/validation.xml
2011-03-25 01:49:17 +01:00
Bernhard Schussek
71230a094b [Form] Fixed validation.xml 2011-03-25 01:46:05 +01:00
Bernhard Schussek
729438fdea Merge branch 'rename-execute' into experimental
Conflicts:
	src/Symfony/Component/Form/FileField.php
	src/Symfony/Component/Form/Resources/config/validation.xml
2011-03-25 01:38:49 +01:00
Bernhard Schussek
3e29348d21 [Validator] Added support for static callbacks to Callback constraint 2011-03-25 01:36:58 +01:00
Bernhard Schussek
9c6a6e13bf [Validator] Renamed Execute constraint to Callback 2011-03-25 01:34:35 +01:00
Bernhard Schussek
4c43aa07ea [Form] Fixed: Elements are removed from collections when a 'collection' field is sized down 2011-03-25 01:15:33 +01:00
Bernhard Schussek
770d403a52 [Form] Improved error mapping in DelegatingValidator 2011-03-25 00:57:35 +01:00
Bernhard Schussek
d2b07058f4 [Form] CSRF token is now only validated for root form 2011-03-25 00:19:00 +01:00
Bernhard Schussek
4372bd5dc8 [Form] Fixed: Bubbling errors are caught correctly 2011-03-25 00:18:58 +01:00
Bernhard Schussek
d84d167b71 [Form] Fixed display of enctype for file fields in Twig theme 2011-03-25 00:16:30 +01:00
Bernhard Schussek
66ba0c3a73 [Form] Fixed: vars are initialized when ThemeRenderer::getVars() is accessed 2011-03-25 00:16:23 +01:00
Bernhard Schussek
262bdcb21d [Form] Fixed validation 2011-03-25 00:16:21 +01:00
Bernhard Schussek
ef334dbc4a Merge remote branch 'beberlei/AttributeSupport' into beberlei-merge 2011-03-24 22:53:39 +01:00
Bernhard Schussek
3f390aa271 [Form] Removed EntityType from DefaultTypeLoader 2011-03-24 22:50:39 +01:00
Benjamin Eberlei
ee96ad0e81 [Form] [DoctrineBridge] Move EntityType and DoctrineTypeLoader into Doctrine Bridge 2011-03-24 22:43:00 +01:00
Bernhard Schussek
1ff6906608 [Form] Simplified ArrayTypeLoader and used it as base class of DefaultTypeLoader 2011-03-24 22:30:49 +01:00
Benjamin Eberlei
8d6dd2b9af [Form] Add Arbitrary Attribute Support to Form Rendering. 2011-03-24 22:08:08 +01:00
Benjamin Eberlei
6bcc04905c [Form] Introduce ArrayTypeLoader, Remove EntityManager and FormFactory interface from DefaultTypeLoader 2011-03-24 20:00:17 +01:00
Bernhard Schussek
15d5259eb8 [Form] Forms now remember the types used during their construction 2011-03-24 16:16:31 +01:00
Bernhard Schussek
0b4c3c0cb8 [Form] Fixed coding conventions 2011-03-24 15:26:17 +01:00
Bernhard Schussek
2faa47d03b [Form] Added fallback templates to TwigThemeFactory 2011-03-24 15:11:43 +01:00
Bernhard Schussek
1211d77f49 [Form] Introduced renderer theme factories so that themes can be changed during runtime 2011-03-24 14:27:21 +01:00
Fabien Potencier
e232218eed [Console] fixed PHP notice 2011-03-24 13:30:27 +01:00
Alexey Popkov
7423f0bf50 [SecurityBundle] fixed missing argument EventDisplatcher in RememberMe service 2011-03-24 14:00:16 +03:00
Bernhard Schussek
5b41810b6d Revert "[Form] Changed naming of Themes to ThemeEngines. Theme templates are now 'themes'"
This reverts commit 1efd680b68.
2011-03-24 10:55:12 +01:00
Bernhard Schussek
5078a63c74 Revert "[Form] Fixed more naming of themes and theme engines"
This reverts commit 1aa34b7240.
2011-03-24 10:54:47 +01:00
Fabien Potencier
0f231c33e5 [EventDispatcher] tagged the guaranteed BC API 2011-03-24 10:06:26 +01:00
Fabien Potencier
c60ee9fef1 [Finder] tagged the guaranteed BC API 2011-03-24 10:05:16 +01:00
Fabien Potencier
faf72269dd Merge remote branch 'aurelijus/filefield_original_name'
* aurelijus/filefield_original_name:
  get originalName before move call
2011-03-24 10:01:03 +01:00
Fabien Potencier
f5ab021386 Merge remote branch 'aurelijus/clear_name_for_goto'
* aurelijus/clear_name_for_goto:
  removes unwanted characters from goto name
2011-03-24 10:00:31 +01:00
Fabien Potencier
e515913747 [DomCrawler] tagged the guaranteed BC API 2011-03-24 10:00:10 +01:00
Fabien Potencier
9206af1773 [Console] tagged the guaranteed BC API 2011-03-24 09:39:53 +01:00
Aurelijus
2ee47f3c69 get originalName before move call 2011-03-24 10:39:42 +02:00
Fabien Potencier
ff3c66753f [BrowserKit] tagged the guaranteed BC API 2011-03-24 09:25:46 +01:00
Fabien Potencier
7280da8af2 [Process] fixed previous commit 2011-03-24 09:15:33 +01:00
Fabien Potencier
b2a8e35900 [Process] tagged the guaranteed BC API 2011-03-24 09:13:58 +01:00
Fabien Potencier
639d93cbbf [Process] moved protected to private 2011-03-24 09:10:42 +01:00
Fabien Potencier
34cf511a1d [Translation] tagged the guaranteed BC API 2011-03-24 09:07:52 +01:00
Aurelijus
38318f8f80 removes unwanted characters from goto name 2011-03-24 10:03:59 +02:00
Fabien Potencier
e0469d398d [Yaml] tagged the guaranteed BC API 2011-03-24 09:02:09 +01:00
Fabien Potencier
8ab59f82db [CssSelector] tagged thlassLoader]d BC API 2011-03-24 08:44:53 +01:00
Fabien Potencier
f58654c6fd [CssSelector] tagged the guaranteed BC API 2011-03-24 08:40:47 +01:00
Fabien Potencier
eeca46dea0 [CssSelector] moved protected to private 2011-03-24 08:34:52 +01:00
Bernhard Schussek
9b6722222f [Form] Improved internal structore of PropertyPathMapper 2011-03-24 00:15:59 +01:00
Bernhard Schussek
1aa34b7240 [Form] Fixed more naming of themes and theme engines 2011-03-23 22:51:37 +01:00
Bernhard Schussek
1efd680b68 [Form] Changed naming of Themes to ThemeEngines. Theme templates are now 'themes' 2011-03-23 22:34:58 +01:00
Fabien Potencier
06d00f36ba Merge remote branch 'kriswallsmith/framework/protocol-relative-base-urls'
* kriswallsmith/framework/protocol-relative-base-urls:
  [Templating] updated assets helper to leave protocol-relative URLs untouched
  [FrameworkBundle] cleaned up test class
2011-03-23 22:03:48 +01:00
Bernhard Schussek
f71ae03143 [Form] AbstractType::getParent() returns 'form' by default now 2011-03-23 21:51:50 +01:00
Fabien Potencier
1fb08b6445 [Routing] fixed private method 2011-03-23 21:40:54 +01:00
Fabien Potencier
a6e6cbbb27 [HttpFoundation] removed the hardcoded ^ and $ from the RequestMatcher 2011-03-23 21:27:04 +01:00
Bernhard Schussek
c01419d856 Merge remote branch 'johnwards/renderer_tests' into renderer-tests-merge 2011-03-23 21:13:36 +01:00
Kris Wallsmith
55671be888 [Templating] updated assets helper to leave protocol-relative URLs untouched 2011-03-23 13:02:49 -07:00
Fabien Potencier
1b8dc80215 [HttpKernel] moved from protected to private 2011-03-23 19:47:16 +01:00
Fabien Potencier
e4a3e0c2c7 [Config] moved from protected to private (WIP) 2011-03-23 19:34:00 +01:00
Fabien Potencier
b5857528e0 [Routing] moved protected to private 2011-03-23 19:25:56 +01:00
Bernhard Schussek
9839aafb7d Merge remote branch 'symfony/master' into experimental 2011-03-23 19:18:38 +01:00
Bernhard Schussek
08a09240f6 [Form] Fixed order of input and output timezone to a more natural one 2011-03-23 17:12:04 +01:00
Bernhard Schussek
a880f8d0d1 [Form] Fixed coding conventions 2011-03-23 16:14:53 +01:00
Fabien Potencier
662a4b3740 removed the status message from HttpException, changed the signature so that most useful arguments are first, fixed many small problems introduced with previous HTTP exception refactoring
Quote from HTTP (bis) spec (Part 2 - 5.1.1):

The Reason Phrase exists for the
sole purpose of providing a textual description associated with the
numeric status code, out of deference to earlier Internet application
protocols that were more frequently used with interactive text
clients.  A client SHOULD ignore the content of the Reason Phrase.
2011-03-23 16:11:54 +01:00
Bernhard Schussek
9e025440ca Merge remote branch 'johnwards/configuration' into configurable-merge 2011-03-23 16:05:16 +01:00
Fabien Potencier
abb99e9469 [HttpKernel] changed the abstract BaseHttpException to HttpException to allow the creation of any HTTP exception 2011-03-23 11:12:31 +01:00
Christophe Coevoet
cc036b4f2b [Security] Removed useless method call 2011-03-23 00:02:57 +01:00
Christophe Coevoet
8b8bb66afe [Security] Fixed some listeners not updated after the event refactoring 2011-03-22 23:56:46 +01:00
John Wards
85701b65af [Form] Missing methods from interfaces 2011-03-22 22:20:14 +00:00
John Wards
1a014d130e [Form] Tests for Renderer Plugins 2011-03-22 22:19:51 +00:00
John Wards
37f12f68da [Form] The declaration and initialization (constructor) of the variables should be in the same class. 2011-03-22 20:54:15 +00:00
Fabien Potencier
e159c47cc9 [Routing] fixed UrlMatcher when no method requirement is defined 2011-03-22 20:56:55 +01:00
Fabien Potencier
af9c292001 Merge remote branch 'subsven/master'
* subsven/master:
  re-add filename based directory filter to the AnnotationDirectoryLoader, now restricting to *.php files and therefore disregarding e.g. SVN metadata files
  revert adding filename based filter to the directory resource
  Eleminate the need to manually clear the cache if a new controller file containing routing annotations is added - part II * add unit tests * introduce filename filter to DirectoryResource (to restrict change monitoring to a subset of files) * modify AnnotationDirectoryLoader.php to use filename filter set on Controller\.php$
2011-03-22 19:52:55 +01:00
Fabien Potencier
68011c0dd6 [DependenInjection] fixed CS 2011-03-22 19:47:46 +01:00
Fabien Potencier
3c0ecf277e Merge remote branch 'jaypea/PhpDumperFix'
* jaypea/PhpDumperFix:
  Fixed PhpDumper isSimpleService and changed test fixtures
2011-03-22 19:46:58 +01:00
Sven Paulus
eb8491f754 re-add filename based directory filter to the AnnotationDirectoryLoader,
now restricting to *.php files and therefore disregarding e.g. SVN metadata
files
2011-03-22 18:23:54 +01:00
Jan Prieser
67aaf5ce91 Fixed PhpDumper isSimpleService and changed test fixtures 2011-03-22 17:01:03 +01:00
John Wards
e54973b5d4 [Form] Refactoring Types to use new DataTransfomer interface 2011-03-22 15:40:52 +00:00
Fabien Potencier
1991437766 Merge remote branch 'kriswallsmith/router/method-not-allowed' 2011-03-22 16:40:41 +01:00
Bernhard Schussek
ea0e5bb2d6 [Form] Renamed FieldTypeInterface to FormTypeInterface 2011-03-22 12:36:41 +01:00
Bernhard Schussek
270a98e413 [Form] Added support for types that are not registered in the DIC. These are identified by their FQ class name. 2011-03-22 12:33:15 +01:00
Sven Paulus
61974adb4f revert adding filename based filter to the directory resource 2011-03-22 12:14:12 +01:00
Sven Paulus
f93e4b2d73 Eleminate the need to manually clear the cache if a new controller file containing routing annotations is added - part II
* add unit tests
* introduce filename filter to DirectoryResource (to restrict change monitoring to a subset of files)
* modify AnnotationDirectoryLoader.php to use filename filter set on Controller\.php$
2011-03-22 09:03:45 +01:00
John Wards
5a5fdd0529 Merge remote branch 'bernhard/experimental' into configuration 2011-03-22 07:43:47 +00:00
Bernhard Schussek
33692eae4a [Form] Renamed Form::isTransformationSuccessful() to isSynchronized(). This method now indicates whether the data in the different representations is synchronized. Moved 'invalid' error to DefaultValidator 2011-03-22 02:03:22 +01:00
Bernhard Schussek
09da126464 [Form] Fixed validation.xml 2011-03-22 01:45:40 +01:00
Bernhard Schussek
16d65f6f16 [Form] Moved previously skipped tests from FormTypeTest to FormTest and fixed them 2011-03-22 01:40:02 +01:00
Bernhard Schussek
577e106361 [Form] Implemented custom mapping of data errors to form fields 2011-03-22 01:15:48 +01:00
John Wards
b4406f254d [Form] Removing Configurable from DataTransformers 2011-03-21 23:01:10 +00:00
John Wards
7d7c36a178 [Form] More sensible constructor variable order 2011-03-21 21:42:34 +00:00
Bernhard Schussek
87665bc380 [Form] Decoupled FormBuilder from CSRF protection 2011-03-21 22:41:19 +01:00
John Wards
714f2173be [Form] Coding conventions and use of the new variables 2011-03-21 21:39:59 +00:00
John Wards
3c80bc37df [Form] Removing use of old class 2011-03-21 21:20:57 +00:00
John Wards
d8287a6dff Merge remote branch 'bernhard/experimental' into experimental 2011-03-21 21:18:04 +00:00
John Wards
002a22df04 [Form] Refactoring DateTimeToStringTranformer not to use Configuration 2011-03-21 21:16:20 +00:00
Bernhard Schussek
c1abf08d9c [Form] Implemented error bubbling 2011-03-21 22:13:02 +01:00
Bernhard Schussek
255eda5238 [Form] Renamed RecursiveFieldIterator to RecursiveFormIterator 2011-03-21 21:19:36 +01:00
Bernhard Schussek
3985522b9b [Form] Removed obsolete classes Error and DataError 2011-03-21 21:19:31 +01:00
Bernhard Schussek
01a47457d0 [Form] Improved naming of various interfaces. Renamed DefaultRenderer to ThemeRenderer 2011-03-21 20:57:38 +01:00
Bernhard Schussek
321d40b21a [Form] Decoupled FormBuilder from ThemeInterface 2011-03-21 20:46:43 +01:00
Bernhard Schussek
61804bbd8b Merge remote branch 'symfony/master' into experimental 2011-03-21 20:27:39 +01:00
Fabien Potencier
6ace6af537 Merge remote branch 'mvrhov/variousFixes' 2011-03-21 16:57:34 +01:00
Kris Wallsmith
10dc18b28b [HttpKernel] refactored HTTP exceptions to be more flexible 2011-03-21 05:57:35 -07:00
Kris Wallsmith
b2f5ac8beb [Routing] refactored URL matching to support 405 Method Not Allowed responses 2011-03-21 05:56:53 -07:00
Johannes M. Schmitt
eb0d772743 [Security/Acl] removed remaining LIMIT clauses 2011-03-21 11:39:05 +01:00
Miha Vrhovnik
25e4193294 removed unused variable 2011-03-21 11:34:06 +01:00
Miha Vrhovnik
496280329b changing phpdoc parameter to array as all variables are used in foreach 2011-03-21 11:28:38 +01:00
Miha Vrhovnik
33dd0da420 removed unused variables 2011-03-21 11:22:29 +01:00
Miha Vrhovnik
909a6bfc30 $user* was refactored to $accout* 2011-03-21 11:20:21 +01:00
Fabien Potencier
e4a636a885 [FrameworkBundle] refactored the cache:clear command
* removed the hack on the Kernel
* removed inheritance from the warmup command
* major cleanup
2011-03-21 11:03:55 +01:00
Miha Vrhovnik
fb814c666b removed unused and undefined namespace and use statement 2011-03-21 10:45:34 +01:00
Miha Vrhovnik
a491af873b removed unecessary use statements (ExceptionEvent was also undefined namespace) 2011-03-21 10:41:39 +01:00
Miha Vrhovnik
d1a2681531 fixing undefined class RuntimeException 2011-03-21 10:37:49 +01:00
Miha Vrhovnik
031ffaee6b fixing undefined class UnsetKeyException 2011-03-21 10:33:27 +01:00
Fabien Potencier
82a5ae669e [FrameworkBundle] fixed merge problem 2011-03-21 09:43:41 +01:00
Fabien Potencier
45f9c2fbf4 merged francisbesset:cache_clear_command 2011-03-21 09:24:16 +01:00
Johannes M. Schmitt
ede59926a4 Merge branch 'interactive-login-event' of git://github.com/yethee/symfony into security 2011-03-21 09:18:55 +01:00
Bernhard Schussek
acaa9c9058 [Form] Fixed signature of Form::addError() 2011-03-20 15:23:36 +01:00
Bernhard Schussek
6c9ff0a2a3 [Form] Improved naming of data conversion methods in Form and made them private 2011-03-20 15:22:37 +01:00
Bernhard Schussek
119866e06d [Form] Renamed FormBuilder::getInstance() to getForm() 2011-03-20 15:17:25 +01:00
Bernhard Schussek
2dbb41714a [Form] Merged Field and Form. Merged FieldBuilder and FormBuilder. After the refactoring, the distinction between the two concepts is small enough to merge them 2011-03-20 13:35:19 +01:00
Bernhard Schussek
fc7281bcab [Form] Extracted validation logic of form. Fields can now contain multiple validators 2011-03-20 12:00:19 +01:00
Bernhard Schussek
cb599f417e [Form] Renamed field option 'disabled' to 'read_only'. How to render read-only fields is now the responsibility of the renderer 2011-03-20 10:35:16 +01:00
Bernhard Schussek
b5656f1290 [Form] Renamed ObjectMapper to PropertyPathMapper 2011-03-20 10:29:23 +01:00
Bernhard Schussek
295d01745b [Form] Renamed StripTagsFilter to StripTagsListener until we have better conventions 2011-03-20 10:26:38 +01:00
Bernhard Schussek
2c6c89d898 Merge remote branch 'beberlei/forms' into beberlei-merge 2011-03-20 10:15:59 +01:00
Benjamin Eberlei
b43318ee3e [Form] Add tests for untested classes. 2011-03-19 22:03:49 +01:00
Benjamin Eberlei
d62213662e Merge branch 'experimental' of git://github.com/bschussek/symfony into forms 2011-03-19 20:36:56 +01:00
Benjamin Eberlei
864a3ec45f [Form] Add StripTagsFilter EventListener 2011-03-19 20:36:49 +01:00
Bernhard Schussek
a1c3d21d0e [Form] Added comment 2011-03-19 19:56:18 +01:00
Bernhard Schussek
e9cb19721a [Form] Optimized code in Form to remove one event listener 2011-03-19 19:53:39 +01:00
Bernhard Schussek
fb2db58801 [Form] Added fluid interface for inline adding of sub-builders to a builder 2011-03-19 19:44:45 +01:00
Bernhard Schussek
6793bcd698 [Form] Removed magic from method signature of add() 2011-03-19 19:20:55 +01:00
Bernhard Schussek
c4b7a77ece Merge remote branch 'beberlei/forms' into beberlei-merge
Conflicts:
	src/Symfony/Component/Form/Type/Loader/DefaultTypeLoader.php
2011-03-19 19:01:57 +01:00
Bernhard Schussek
3586268bc2 [Form] Renamed field types. They are now always the name of the type with a 'Type' suffix 2011-03-19 18:31:24 +01:00
Bernhard Schussek
65353bd81e [Form] Fixed failing choice field tests 2011-03-19 18:22:08 +01:00
Benjamin Eberlei
c05b3c440d [Form] Add DefaultFormFactory for convenience usage outside of a DIC context. 2011-03-19 18:14:15 +01:00
Benjamin Eberlei
39c2d3f166 [Form] Add PhpTheme that relies on no Template Engine, generalize tests to use for PhpTheme and PhpEngineTheme. Fixed some bugs 2011-03-19 17:47:18 +01:00
Fabien Potencier
a505ff43b5 [Routing] added supported for multiple route annotations for a single controller 2011-03-19 17:40:24 +01:00
Bernhard Schussek
43a24fa931 [Form] Renamed events to match terminology in Field 2011-03-19 16:59:23 +01:00
Bernhard Schussek
0259d4da1e [Form] Moved namespace DataValidator to Validator 2011-03-19 16:54:07 +01:00
Bernhard Schussek
7f9284105d [Form] Moved namespace FieldGuesser to Type\Guesser 2011-03-19 16:46:03 +01:00
Benjamin Eberlei
af60ddf8ad Moved PhpTheme to FrameworkBundle and renamed to PhpEngineTheme 2011-03-19 15:27:39 +01:00
Benjamin Eberlei
32e1a7c8f9 Merge bschussek/experimental into branch forms. 2011-03-19 15:18:52 +01:00
Bernhard Schussek
d2210a2e79 [Form] Removed unused Form::isCsrfTokenValid() 2011-03-19 15:09:11 +01:00
Bernhard Schussek
3e17b26105 [Form] Moved CSRF protection into separate field 2011-03-19 15:06:54 +01:00
Benjamin Eberlei
3e2b8e5f12 Fix some missing use statements and small bugs. 2011-03-19 14:31:25 +01:00
Bernhard Schussek
89215d167d Merge remote branch 'symfony/master' into experimental 2011-03-19 13:25:41 +01:00
Miha Vrhovnik
e35832ef2d Fixing failure on forward which was broken by Event refactoring 2011-03-19 13:06:52 +01:00
Amal Raghav
eff6bc8a80 fix to use setException 2011-03-19 17:08:34 +05:30
Fabien Potencier
904cf6145e Merge remote branch 'everzet/routing-config-errors' 2011-03-19 12:27:38 +01:00
everzet
e4eee05b06 [Routing] tuned exception message 2011-03-19 12:58:31 +02:00
Benjamin Eberlei
bb8c2a9b9d Rename this to renderer to be able to use it in Php Templating 2011-03-19 11:54:46 +01:00
everzet
3fd50ea4e6 [Routing] throw an exception if route config has unsupported keys 2011-03-19 12:54:29 +02:00
Benjamin Eberlei
d44e2264ba Merge branch 'experimental' of git://github.com/bschussek/symfony into forms 2011-03-19 09:36:30 +01:00
ornicar
7440db7244 [HttpFoundation] Make sure Request::getLanguages always returns an array 2011-03-19 01:34:54 -07:00
Deni
5e40695272 [Security] Added a type hint. 2011-03-19 01:32:33 +03:00
Fabien Potencier
cdfc731ff5 Merge remote branch 'schmittjoh/security' 2011-03-18 21:07:11 +01:00
Fabien Potencier
f990bf96ee Merge remote branch 'ornicar/removeNamespaceInSwitchUserListener' 2011-03-18 20:57:48 +01:00
ornicar
5e75c66a66 [Security] Remove duplicated namespace in SwitchUserListener 2011-03-18 12:30:09 -07:00
Johannes Schmitt
7e1c4d5748 [Security] removed un-needed event parameter from many interfaces 2011-03-18 20:20:19 +01:00
Fabien Potencier
5658d224fd Merge remote branch 'hhamon/security_token_fix' 2011-03-18 19:32:28 +01:00
Fabien Potencier
263c32aff0 Merge remote branch 'schmittjoh/security' 2011-03-18 19:31:57 +01:00
Fabien Potencier
b7806cdb8d Merge remote branch 'kriswallsmith/http/html-errors' 2011-03-18 19:20:16 +01:00
Kris Wallsmith
73db141ce6 [HttpFoundation] stripped tags from native error messages in case html_errors is on 2011-03-18 11:11:42 -07:00
Fabien Potencier
bd8d2b829f [EventDispatcher] changed listener storage to use SplObjectStorage to avoid collisions 2011-03-18 18:48:26 +01:00
hhamon
681a3b7ff0 [Security] removed import of the UserInterface interface as it is unused in the file and fix some phpdoc. 2011-03-18 18:44:04 +01:00
Johannes Schmitt
a56dbec6d8 [Security] removed un-needed event parameter from many interfaces 2011-03-18 18:26:55 +01:00
Kris Wallsmith
e596931dc8 [DomCrawler] enabled removal of form fields to allow emulating javascript in a functional test 2011-03-18 09:39:08 -07:00
Bernhard Schussek
b66b8326a8 [Form] Fixed undefined variable in DefaultRenderer 2011-03-18 17:03:12 +01:00
Bernhard Schussek
6bc79a1a12 [Form] Renamed different kinds of data transformers within a field for better clarity 2011-03-18 16:59:34 +01:00
Bernhard Schussek
1c85daa56b [Form] Split FieldBuilder into FieldBuilder and FormBuilder to make creation of classes deterministic 2011-03-18 16:34:54 +01:00
Bernhard Schussek
2a1e394352 [Form] Renamed field configs to types. Everywhere else, we are referring to the name of the type as 'type' now (was 'identifier') 2011-03-18 16:20:00 +01:00
Bernhard Schussek
0b929ee342 [Form] Renamed ValueTransformers to DataTransformers to fit with DataMapper and DataValidator 2011-03-18 16:01:06 +01:00
Bernhard Schussek
f86ecec403 [Form] Extracted data validation logic into DataValidatorInterface 2011-03-18 15:58:22 +01:00
Bernhard Schussek
97d0183d84 [Form] Moved properties propertyPath, modifyByReference, validationGroups and virtual to generic attributes because they are specific to the used data validator/mapper implementations 2011-03-18 15:26:02 +01:00
Bernhard Schussek
700c96e7fa [Form] Moved FieldFactoryTest to FormFactoryTest and fixed it 2011-03-18 14:37:54 +01:00
Bernhard Schussek
4cb76c0045 [Form] Moved error distribution logic to validation listener 2011-03-18 13:07:06 +01:00
Bernhard Schussek
9caaf0f3a3 [Form] Introduced FieldBuilder for field/form creation and made Field/Form mostly immutable 2011-03-18 12:50:26 +01:00
Fabien Potencier
f0c558592c Merge remote branch 'everzet/console-formatter-refactoring' 2011-03-18 11:58:05 +01:00
Fabien Potencier
c5a6c8432f Merge remote branch 'vicb/templating' 2011-03-18 11:54:20 +01:00
Fabien Potencier
3627eee3c6 Merge remote branch 'vicb/cfg_rebase'
* vicb/cfg_rebase:
  [Config] Ability to add and override node types without having to subclass NodeBuilder
  [DoctrineBundle] Fix some typos
  [SwiftMailerBundle] Fix a merge issue in the configuration
  Tweak PHPDocs in the extension configuration files
  [Config] Component refactoring
2011-03-18 11:41:43 +01:00
Victor Berchet
cead49fa2b [Kernel] Fixed a typo 2011-03-18 11:17:56 +01:00
Bernhard Schussek
3f70f89339 Merge remote branch 'symfony/master' into experimental
Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Debug/TraceableEventDispatcher.php
	src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
	src/Symfony/Component/HttpFoundation/File/UploadedFile.php
2011-03-18 10:39:40 +01:00
Fabien Potencier
136b23ead4 [EventDispatcher] refactored the code
* The array returned by getListeners() now removes the listener hash as the key (as this is an implementation detail)
 * The sort method now guarantees that a listener registered before another will stay in the same order even for the same priority (for BC)
 * Made various optimizations
2011-03-18 09:01:22 +01:00
Fabien Potencier
69d324eca8 [EventDispatcher] added EventDispatcher::removeSubscriber() 2011-03-18 09:00:58 +01:00
Fabien Potencier
10a02ff7fa [EventDispatcher] reverted to the old event dispatcher way of storing listeners 2011-03-18 08:09:42 +01:00
Fabien Potencier
9e88fc4e66 Merge remote branch 'kriswallsmith/kernel/uploaded-file-for-test' 2011-03-18 08:02:16 +01:00
Fabien Potencier
e286adf173 [Security] fixed typos 2011-03-18 07:58:51 +01:00
Fabien Potencier
9de0a3872b Merge branch 'events'
* events:
  [FrameworkBundle] fixed the traceable event manager
  [EventDispatcher] made order deterministic (first registered one stay first) -- this makes the new system more compatible with the old one
  [FrameworkBundle] fixed class loading order
  fixed various bugs introduced during the event system migration
  renamed filterCore* to onCore*
  fixed CS
  fixed phpdoc
  renamed some methods in the event dispatcher
  [HttpKernel] Removed unused onCoreSecurity event
  [Security] Fixed method names in the Firewall listeners
  [HttpKernel] Added more code documentation to the HttpKernel events
  [Security] Fixed method calls on EventDispatcher
  [FrameworkBundle] Removed EventSubscriber support for DI tags because it currently cannot be implemented
  [Security] Fixed calls to EventDispatcher::dispatchEvent()
  Switched from Doctrine's EventManager implementation to the EventManager clone in Symfony2 (now called EventDispatcher again)
  [EventDispatcher] Replaced EventDispatcher by Doctrine's implementation
  Renamed EventArgs classes and adapted remaining code to EventManager
  Replaced EventDispatcher by Doctrine's EventManager implementation
2011-03-18 07:52:05 +01:00
Fabien Potencier
59ac6313ad [EventDispatcher] made order deterministic (first registered one stay first) -- this makes the new system more compatible with the old one 2011-03-18 07:36:02 +01:00
Fabien Potencier
1af43a1562 fixed various bugs introduced during the event system migration 2011-03-18 07:35:59 +01:00
Victor Berchet
9fd7d05ecf [Config] Ability to add and override node types without having to subclass NodeBuilder 2011-03-18 00:32:35 +01:00
Kris Wallsmith
a9af77a035 [HttpKernel] fixed file uploads in functional tests 2011-03-17 16:09:31 -07:00
Kris Wallsmith
ab3b8ac364 [HttpFoundation] cleaned up comments and coding standards, added better exception messages when filesystem functions throw errors, added "moved" arg to UploadedFile constructor, added FileNotFoundException to UploadedFile per the parent constructor 2011-03-17 16:07:53 -07:00
Kris Wallsmith
69609257ac [DomCrawler] updated upload logic to better emulate a real upload by copying the source file to the temp directory 2011-03-17 16:06:47 -07:00
Benjamin Eberlei
76b0041d1b [Form] Implemented first PhpTheme attempt 2011-03-17 22:47:19 +01:00
Bernhard Schussek
a51321c264 [Form] Moved validation logic to ValidationListener 2011-03-17 21:47:12 +01:00
Bernhard Schussek
0799662361 [Form] Extracted data mapping logic from Form into ObjectMapperListener 2011-03-17 21:23:59 +01:00
Benjamin Eberlei
3bc825bbd4 Merge branch 'experimental' of git://github.com/bschussek/symfony into forms 2011-03-17 19:05:59 +01:00
Benjamin Eberlei
85b61fe1e2 First attempt of PhpTheme. 2011-03-17 19:05:48 +01:00
ever.zet
3e7fa82f34 [Console] privatized protected variables, cuz they now have getters/setters 2011-03-17 18:51:37 +02:00
ever.zet
aa084dbc45 [Console] moved whole constructor definitions in one line 2011-03-17 18:51:01 +02:00
Fabien Potencier
6c8e71c8e7 renamed filterCore* to onCore*
The onCore* events are fired at some pre-defined points during the
handling of a request. At this is more important than the fact
that you can change things from the event.
2011-03-17 17:01:59 +01:00
ever.zet
8b885a991c [Console] updated console and stream outputs to support new output formatter 2011-03-17 17:53:46 +02:00
ever.zet
644cf612b3 [Console] updated console output to support new output formatter and styles 2011-03-17 17:52:36 +02:00
ever.zet
4fe2efd49e [Console] implemented output formatter to decorate and format output messages 2011-03-17 17:51:49 +02:00
ever.zet
e5700b817b [Console] implemented output formatter style class for defining custom styles 2011-03-17 17:51:25 +02:00
ever.zet
65681cdc85 [Console] added output formatter interfaces 2011-03-17 17:50:42 +02:00
Victor Berchet
1e0ed22c55 [Config] Component refactoring
The Config component API have changed and the extension configuration files must be updated accordingly:

1. Array nodes must enclosed their children definition in ->children() ... ->end() calls:

Before:

    $treeBuilder->root('zend', 'array')
        ->arrayNode('logger')
            ->scalarNode('priority')->defaultValue('INFO')->end()
            ->booleanNode('log_errors')->defaultFalse()->end()
        ->end();

After:

    $treeBuilder->root('zend', 'array')
        ->children()
            ->arrayNode('logger')
                ->children()
                    ->scalarNode('priority')->defaultValue('INFO')->end()
                    ->booleanNode('log_errors')->defaultFalse()->end()
                ->end()
            ->end()
        ->end();

2. The 'builder' method (in NodeBuilder) has been dropped in favor of an 'append' method (in ArrayNodeDefinition)

Before:

    $treeBuilder->root('doctrine', 'array')
        ->arrayNode('dbal')
            ->builder($this->getDbalConnectionsNode())
        ->end();

After:

    $treeBuilder->root('doctrine', 'array')
        ->children()
            ->arrayNode('dbal')
                ->append($this->getDbalConnectionsNode())
            ->end()
        ->end();

3. The root of a TreeBuilder is now an NodeDefinition (and most probably an ArrayNodeDefinition):

Before:

    $root = $treeBuilder->root('doctrine', 'array');
    $this->addDbalSection($root);

    public function addDbalSection(NodeBuilder $node)
    {
        ...
    }

After:

    $root = $treeBuilder->root('doctrine', 'array');
    $this->addDbalSection($root);

    public function addDbalSection(ArrayNodeDefinition $node)
    {
        ...
    }

4. The NodeBuilder API has changed (this is seldom used):

Before:

    $node = new NodeBuilder('connections', 'array');

After:

The recommended way is to use a tree builder:

    $treeBuilder = new TreeBuilder();
    $node = $treeBuilder->root('connections', 'array');

An other way would be:

    $builder = new NodeBuilder();
    $node = $builder->node('connections', 'array');

Some notes:

- Tree root nodes should most always be array nodes, so this as been made the default:

    $treeBuilder->root('doctrine', 'array') is equivalent to $treeBuilder->root('doctrine')

- There could be more than one ->children() ... ->end() sections. This could help with the readability:

    $treeBuilder->root('doctrine')
        ->children()
            ->scalarNode('default_connection')->end()
        ->end()
        ->fixXmlConfig('type')
        ->children()
            ->arrayNode('types')
                ....
            ->end()
        ->end()
2011-03-17 16:26:15 +01:00
Fabien Potencier
9d0b6f0012 fixed CS 2011-03-17 16:09:25 +01:00
Fabien Potencier
794b3b8e86 fixed phpdoc 2011-03-17 16:02:36 +01:00
Fabien Potencier
1219b98ec5 renamed some methods in the event dispatcher 2011-03-17 15:27:42 +01:00
Bernhard Schussek
d00f1fa205 [Form] Removed unused method Form::deepArrayUnion() 2011-03-17 15:22:48 +01:00
Bernhard Schussek
8e41cc66fe [Form] Moved form logic to event listeners 2011-03-17 15:22:10 +01:00
Jan Prieser
60c1159b2e [DependecyInjection] fixed typo. Using InterfaceInjectors broke methodCalls. 2011-03-17 15:03:16 +01:00
Fabien Potencier
663b0a97ac Merge remote branch 'bschussek/event-manager' 2011-03-17 15:02:26 +01:00
Bernhard Schussek
7a63b840f3 [Form] Renamed submit() to bind() 2011-03-17 14:55:26 +01:00
Bernhard Schussek
5bfd02bcd0 [Form] Renamed bind() to bindRequest(). It is now semantically the same as in symfony1 again 2011-03-17 14:51:22 +01:00
Bernhard Schussek
f2f78890de [Form] Removed deprecated method preprocessData() 2011-03-17 14:41:26 +01:00
Bernhard Schussek
ffa5bd264a [Form] Moved logic of Field::isMultipart() to rendering layer 2011-03-17 14:40:34 +01:00
Bernhard Schussek
50ce0d53a0 [Form] Removed FieldInterface::getDisplayedData(). Use getTransformedData() instead 2011-03-17 14:28:59 +01:00
Bernhard Schussek
f0d841ef8c [Form] Fixed DateTimeToArrayTransformer when transforming empty values and the option 'fields' is set 2011-03-17 14:27:10 +01:00
Bernhard Schussek
1c9a00733f Merge branch 'event-manager' into experimental
Conflicts:
	src/Symfony/Component/Security/Http/Firewall/AbstractAuthenticationListener.php
	src/Symfony/Component/Security/Http/Firewall/AbstractPreAuthenticatedListener.php
2011-03-17 13:38:24 +01:00
Bernhard Schussek
eba602ed1b [Form] Removed dependency from renderer plugins on fields. The field instance is now passed to setUp() instead. 2011-03-17 13:37:27 +01:00
Bernhard Schussek
c02f4220f2 [HttpKernel] Removed unused onCoreSecurity event 2011-03-17 13:24:38 +01:00
Bernhard Schussek
466f1b99c5 [Security] Fixed method names in the Firewall listeners 2011-03-17 13:24:23 +01:00
Bernhard Schussek
ab57e5c611 [HttpKernel] Added more code documentation to the HttpKernel events 2011-03-17 13:06:32 +01:00
Bernhard Schussek
ffdc879624 [Security] Fixed method calls on EventDispatcher 2011-03-17 12:34:30 +01:00
Bernhard Schussek
5f14d8d6aa Merge remote branch 'symfony/master' into event-manager
Conflicts:
	src/Symfony/Bundle/AsseticBundle/CacheWarmer/AssetWriterCacheWarmer.php
	src/Symfony/Bundle/AsseticBundle/Tests/CacheWarmer/AssetWriterCacheWarmerTest.php
	src/Symfony/Bundle/FrameworkBundle/Profiler/ProfilerListener.php
	src/Symfony/Bundle/FrameworkBundle/Resources/config/profiling.xml
	src/Symfony/Component/HttpKernel/HttpKernel.php
	src/Symfony/Component/Security/Http/Firewall/AbstractAuthenticationListener.php
	src/Symfony/Component/Security/Http/Firewall/AbstractPreAuthenticatedListener.php
2011-03-17 12:34:12 +01:00
Fabien Potencier
d5396f64de [HttpFoundation] fixed a small bug on Windows 2011-03-17 12:28:29 +01:00
Bernhard Schussek
73464f411e Merge remote branch 'Infranology/intl-stub' into intl-stub 2011-03-17 11:20:52 +01:00
Bernhard Schussek
f966c30c8b Merge remote branch 'symfony/master' into intl-stub 2011-03-17 11:20:25 +01:00
Bernhard Schussek
cb283d3783 [Form] Renamed 'key' to 'name'. Removed setKey() totally. 2011-03-17 11:03:10 +01:00
Bernhard Schussek
caa49aa841 [Form] Moved trimming logic to listener 2011-03-17 10:52:23 +01:00
Fabien Potencier
e8b0b488cb [HttpKernel] moved exception management logic to its own method 2011-03-17 09:16:53 +01:00
Fabien Potencier
14903ce915 [HttpKernel] removed the need to call getRootDir() more than once 2011-03-16 21:50:24 +01:00
Fabien Potencier
a6411cb712 [HttpKernel] fixed phpdoc 2011-03-16 21:39:30 +01:00
Fabien Potencier
4da43df963 merged vicb/kernel 2011-03-16 21:30:23 +01:00
Fabien Potencier
f48512cd54 [HttpKernel] renamed default profiler table to sf_profiler_data 2011-03-16 20:47:50 +01:00
Fabien Potencier
e6ebf4da4c fixed small bug in sub-request profiling 2011-03-16 19:33:55 +01:00
Bernhard Schussek
e85aab2dc1 [Form] Changed form to use the new EventDispatcher implementation 2011-03-16 18:20:13 +01:00
Fabien Potencier
ad3b7e912d merged noelg/profiler 2011-03-16 16:44:44 +01:00
Fabien Potencier
005287ac88 Merge remote branch 'kriswallsmith/templating/asset-packages' 2011-03-16 16:18:45 +01:00
Bernhard Schussek
fb8efaba67 [Form] Fixed a couple of failing tests 2011-03-16 16:13:06 +01:00
Bernhard Schussek
f64f55002b Merge remote branch 'symfony/master' into experimental
Conflicts:
	src/Symfony/Component/Security/Http/Firewall/AbstractAuthenticationListener.php
	src/Symfony/Component/Security/Http/Firewall/AbstractPreAuthenticatedListener.php
2011-03-16 16:00:54 +01:00
Fabien Potencier
8cc37eaa23 [HttpKernel] fixed CS 2011-03-16 15:16:21 +01:00
Fabien Potencier
f9d2f69ca8 Merge remote branch 'janschumann/mysql_profiler_storage' 2011-03-16 15:09:07 +01:00
Fabien Potencier
ae7a2df104 fixed CS 2011-03-16 14:45:34 +01:00
Fabien Potencier
ac49289451 Merge remote branch 'rrehbeindoi/master' 2011-03-16 14:44:44 +01:00
Fabien Potencier
2a6e299d52 Merge remote branch 'kriswallsmith/http/apache-request' 2011-03-16 14:31:16 +01:00
Kris Wallsmith
a5d8770a54 [HttpFoundation] fixed ApacheRequest, added tests 2011-03-16 06:13:01 -07:00
Fabien Potencier
e0df94cb8b [Config] added the possibility to use a Closure for default values 2011-03-16 09:30:51 +01:00
max
e2542962df reinitialize array so arguments dont stack up 2011-03-15 12:08:13 -07:00
Ray
c2908cdaa0 Allow collection's internal keys to be mixed case 2011-03-15 09:35:40 -05:00
Jan Schumann
c7cde09d1c fixed coding standard 2011-03-15 14:16:19 +01:00
Jan Schumann
bbfb1ffb53 fixed coding standard 2011-03-15 14:08:43 +01:00
Jan Schumann
d1ebc8da9f - Added abstract PDO profiler storage, updated sqlite storage and added a mysql storage.
- Updated profiler config in framework bundle
2011-03-15 14:08:43 +01:00
Fabien Potencier
e5fad94482 [HttpKernel] fixed a unit test 2011-03-15 13:43:45 +01:00
Fabien Potencier
18de62ccb1 Merge remote branch 'schmittjoh/security' 2011-03-15 13:39:34 +01:00
Fabien Potencier
50e463977b Merge remote branch 'vicb/profiler_again' 2011-03-15 13:37:52 +01:00
Fabien Potencier
b6528c3ea6 Merge remote branch 'hason/container_class' 2011-03-15 11:41:05 +01:00
Martin Hason
ba9653d99a [HttpKernel] optimized getContainerLoader 2011-03-15 11:00:45 +01:00
Martin Hason
cef70893df [HttpKernel], [FrameworkBundle] added method getContainerClass and parameter kernel.container_class 2011-03-15 09:16:02 +01:00
Johannes M. Schmitt
98216a9af2 [DependencyInjection] refactored some more exceptions 2011-03-14 21:14:49 +01:00
Fabien Potencier
14d58d97bc [ClassLoader] made a small change to be consistent with the previous change 2011-03-14 18:46:05 +01:00
Fabien Potencier
f4e4a2aa1b refactored ConfigCache and optimized container:debug task 2011-03-14 18:37:25 +01:00
Fabien Potencier
58bf229856 Merge remote branch 'schmittjoh/security' 2011-03-14 17:51:37 +01:00
Johannes M. Schmitt
a1fb717074 [DependencyInjection] loader fix 2011-03-14 17:45:27 +01:00
Johannes M. Schmitt
4539b47522 [Security] small performance optimization 2011-03-14 17:41:33 +01:00
Victor Berchet
8128300baa [WebProfilerBundle] Revert the support for a status in data collectors 2011-03-14 17:24:11 +01:00
Fabien Potencier
539e0e4870 Merge remote branch 'mweimerskirch/master' 2011-03-14 14:38:00 +01:00
Fabien Potencier
3e389f8666 Merge remote branch 'vicb/nitpicking' 2011-03-14 14:02:40 +01:00
Fabien Potencier
f0a6ed2e54 [Routing] fixed CS 2011-03-14 13:54:48 +01:00
Fabien Potencier
84172c4839 Merge remote branch 'xdecock/Performance' 2011-03-14 13:48:37 +01:00
Fabien Potencier
ef87ca3d75 Merge remote branch 'udat/router/empty-string-as-default-parameter-value' 2011-03-14 13:43:59 +01:00
Fabien Potencier
cf2bffd760 Merge remote branch 'schmittjoh/security' 2011-03-14 12:59:04 +01:00
Fabien Potencier
49e3494560 [Console] fixed typo 2011-03-14 12:56:59 +01:00
Eriksen Costa
9a9a11b8f5 [Locale] fixed some emails 2011-03-13 22:06:29 -03:00
Eriksen Costa
157f001253 Merge remote branch 'bschussek/intl-stub' into intl-stub 2011-03-13 21:50:25 -03:00
Eriksen Costa
8f08bccaae [Locale] fixed some emails 2011-03-13 21:46:28 -03:00
Eriksen Costa
9c6ccd8290 [Locale] replaced symfony-project.org by symfony.com 2011-03-13 21:22:11 -03:00
Eriksen Costa
50aee60e9b Merge branch 'master' into intl-stub 2011-03-13 21:20:57 -03:00
Bernhard Schussek
932f3b1f06 [Security] Fixed calls to EventDispatcher::dispatchEvent() 2011-03-13 21:30:50 +01:00
Bernhard Schussek
0bf566310c Merge branch 'event-manager' into experimental
Conflicts:
	src/Symfony/Component/Form/BirthdayField.php
	src/Symfony/Component/Form/CheckboxField.php
	src/Symfony/Component/Form/ChoiceField.php
	src/Symfony/Component/Form/ChoiceList/TimeZoneChoiceList.php
	src/Symfony/Component/Form/CollectionField.php
	src/Symfony/Component/Form/DateField.php
	src/Symfony/Component/Form/DateTimeField.php
	src/Symfony/Component/Form/EntityChoiceField.php
	src/Symfony/Component/Form/Events.php
	src/Symfony/Component/Form/FieldFactory/FieldFactory.php
	src/Symfony/Component/Form/FieldFactory/FieldFactoryInterface.php
	src/Symfony/Component/Form/FileField.php
	src/Symfony/Component/Form/Filters.php
	src/Symfony/Component/Form/FormContext.php
	src/Symfony/Component/Form/FormContextInterface.php
	src/Symfony/Component/Form/FormFactoryInterface.php
	src/Symfony/Component/Form/HybridField.php
	src/Symfony/Component/Form/IntegerField.php
	src/Symfony/Component/Form/LanguageField.php
	src/Symfony/Component/Form/LocaleField.php
	src/Symfony/Component/Form/MoneyField.php
	src/Symfony/Component/Form/NumberField.php
	src/Symfony/Component/Form/PasswordField.php
	src/Symfony/Component/Form/PercentField.php
	src/Symfony/Component/Form/RepeatedField.php
	src/Symfony/Component/Form/TextField.php
	src/Symfony/Component/Form/TimeField.php
	src/Symfony/Component/Form/ToggleField.php
	src/Symfony/Component/Form/UrlField.php
	src/Symfony/Component/HttpFoundation/File/UploadedFile.php
	tests/Symfony/Tests/Component/Form/FileFieldTest.php
	tests/Symfony/Tests/Component/Form/FormContextTest.php
	tests/Symfony/Tests/Component/Form/HiddenFieldTest.php
2011-03-13 21:04:24 +01:00
Johannes M. Schmitt
e624e27675 [DependencyInjection] refactored some exceptions 2011-03-13 20:35:15 +01:00
Bernhard Schussek
06c682b4fb Switched from Doctrine's EventManager implementation to the EventManager clone in Symfony2 (now called EventDispatcher again) 2011-03-13 19:49:10 +01:00
Johannes M. Schmitt
76573f1ab2 [Security] added some finals, some visibility changes 2011-03-13 19:40:12 +01:00
Bernhard Schussek
699e046b4f [EventDispatcher] Replaced EventDispatcher by Doctrine's implementation 2011-03-13 19:15:38 +01:00
Bernhard Schussek
25931caeab Merge remote branch 'symfony/master' into event-manager
Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Debug/TraceableEventManager.php
	src/Symfony/Bundle/WebProfilerBundle/WebDebugToolbarListener.php
	src/Symfony/Component/Security/Http/Firewall.php
	src/Symfony/Component/Security/Http/Firewall/AbstractAuthenticationListener.php
	src/Symfony/Component/Security/Http/Firewall/AbstractPreAuthenticatedListener.php
	src/Symfony/Component/Security/Http/Firewall/AccessListener.php
	src/Symfony/Component/Security/Http/Firewall/AnonymousAuthenticationListener.php
	src/Symfony/Component/Security/Http/Firewall/BasicAuthenticationListener.php
	src/Symfony/Component/Security/Http/Firewall/ChannelListener.php
	src/Symfony/Component/Security/Http/Firewall/ContextListener.php
	src/Symfony/Component/Security/Http/Firewall/DigestAuthenticationListener.php
	src/Symfony/Component/Security/Http/Firewall/ExceptionListener.php
	src/Symfony/Component/Security/Http/Firewall/ListenerInterface.php
	src/Symfony/Component/Security/Http/Firewall/LogoutListener.php
	src/Symfony/Component/Security/Http/Firewall/RememberMeListener.php
	src/Symfony/Component/Security/Http/Firewall/SwitchUserListener.php
	tests/Symfony/Tests/Component/Security/Http/Firewall/RememberMeListenerTest.php
2011-03-13 19:15:25 +01:00
Artur Kotyrba
3f73a748a9 [Routing] Fixed compiling routes with empty string or 0 as default parameter value. 2011-03-13 18:13:41 +01:00
Victor Berchet
36d51d7bbd [WebProfilerBundle] Config panel
Split the main Key / Value table in different sections.
Add a list of active bundles.
2011-03-13 16:25:16 +01:00
Victor Berchet
b04a647c65 [WebProfilerBundle] Create a configuration panel 2011-03-13 15:50:44 +01:00
Victor Berchet
f752dd34a0 [Profiler] Profilers now return a status which is used for visual feedback 2011-03-13 15:50:44 +01:00
Fabien Potencier
843c449c73 Merge remote branch 'everzet/crawler-privatisation-fixes'
* everzet/crawler-privatisation-fixes:
  [DomCrawler] moved private methods under public ones (readability)
2011-03-13 09:26:41 +01:00
Fabien Potencier
411a382d80 [Serializer] fixed XmlEncoder for single char tags 2011-03-12 15:23:30 +01:00
ever.zet
160c4b8702 [DomCrawler] moved private methods under public ones (readability) 2011-03-12 14:46:40 +02:00
Johannes Schmitt
70867f06e9 re-added a __toString method for debugging purposes 2011-03-12 13:24:57 +01:00
Klaas Naaijkens
02cb362ae6 use username instead of token object in logging 2011-03-12 13:24:57 +01:00
Fabien Potencier
dcc1948fb6 Merge remote branch 'everzet/console-privatisation-errors'
* everzet/console-privatisation-errors:
  if we moved definition under private area, than we need to use only public API for that, to be able to redefine it is subclasses
  start => finish, begin => end. Mixing them is a bad choice.
  ability to define custom regex's for style placeholders
  we need ability to get style parameters same way we set them with setStyle
2011-03-12 13:10:09 +01:00
ever.zet
dab8e5888f if we moved definition under private area, than we need to use only public API for that, to be able to redefine it is subclasses 2011-03-12 13:59:51 +02:00
ever.zet
d4d8576f93 start => finish, begin => end. Mixing them is a bad choice. 2011-03-12 13:57:04 +02:00
ever.zet
a809453416 ability to define custom regex's for style placeholders
sometimes, developers like me want to redefine style placeholders
in their applications. From this patch, they can acchieve this from
simple get...Regex() method redefine.
2011-03-12 13:54:35 +02:00
ever.zet
49b968df67 we need ability to get style parameters same way we set them with setStyle
from last privatisation update $styles now private. So,
user can set style with public setter (setStyle), but can't
get this value later, which is very stupid behavior!
2011-03-12 13:49:06 +02:00
Fabien Potencier
9ec4f8a8a9 Merge remote branch 'kriswallsmith/classloader/optimizations'
* kriswallsmith/classloader/optimizations:
  [ClassLoader] added an apc class loader
  [ClassLoader] created protected findFile() method to allow creating a cache layer via inheritance
  [ClassLoader] added a check before trimming the leading \
2011-03-12 12:39:42 +01:00
ever.zet
5ec8f47d7c if proper style not found, then this is a tag - no need in Exception 2011-03-12 11:55:44 +02:00
Francis Besset
bb7986e221 [FrameworkBundle] Added cache:clear command with warmup option 2011-03-11 23:35:48 +01:00
Kris Wallsmith
441a154203 [ClassLoader] added an apc class loader 2011-03-11 12:32:49 -08:00
Kris Wallsmith
757e4ea4d6 [ClassLoader] created protected findFile() method to allow creating a cache layer via inheritance 2011-03-11 12:32:49 -08:00
Kris Wallsmith
dcffadb6c4 [ClassLoader] added a check before trimming the leading \ 2011-03-11 12:25:45 -08:00
Fabien Potencier
bc6ffeef83 [HttpFoundation] fixed flash management 2011-03-11 20:23:17 +01:00
Fabien Potencier
a1fcbf4d5f Merge remote branch 'kriswallsmith/dic/false-circular-ref-fix'
* kriswallsmith/dic/false-circular-ref-fix:
  [DependencyInjection] fixed false positive when detecting circular references if a service throws an exception during creation
2011-03-11 19:58:54 +01:00
Fabien Potencier
cedf588e98 Revert "Merge remote branch 'kriswallsmith/dic/lazy-replace-ext-params'"
This reverts commit 32ac2e8709, reversing
changes made to 6e81c28ca4.
2011-03-11 15:35:09 +01:00
Fabien Potencier
c8c5720fa1 [DomCrawler] moved protected to private 2011-03-11 15:13:33 +01:00
Fabien Potencier
f321fadad6 [DependencyInjection] moved most protected things to private 2011-03-11 14:50:46 +01:00
Fabien Potencier
9dadcff13e [DependencyInjection] removed obsolete code 2011-03-11 14:36:44 +01:00
Fabien Potencier
a8d05746ff Merge remote branch 'schmittjoh/propertyAnnotations'
* schmittjoh/propertyAnnotations:
  [DependencyInjection] added some tests
  [DependencyInjection] adds property injection
2011-03-11 13:12:12 +01:00
Fabien Potencier
ad36ce7b38 Merge remote branch 'schmittjoh/security'
* schmittjoh/security:
  [Security] fixed some tests
  [SecurityBundle] removed the option to declare access_control rules based on request attributes
  [Security] removed core.security event
  [Security] refactored remember-me code
2011-03-11 13:08:37 +01:00
Fabien Potencier
b940cc6f40 moved most protected to private in the Console component 2011-03-11 12:53:42 +01:00
Johannes Schmitt
97125269d2 [Security] fixed some tests 2011-03-11 12:50:52 +01:00
Fabien Potencier
c2e9dd27b2 [Console] fixed synopsis when an error occurs 2011-03-11 11:51:05 +01:00
Fabien Potencier
edb620122a fixed some emails 2011-03-11 11:07:11 +01:00
Fabien Potencier
32ac2e8709 Merge remote branch 'kriswallsmith/dic/lazy-replace-ext-params'
* kriswallsmith/dic/lazy-replace-ext-params:
  [DependencyInjection] added test for lazy param replacement
  Removed replacement of parameter placeholders at load time since they're now replaced at compile time. Extensions should be written to expect parameter placeholders.
2011-03-11 10:41:22 +01:00
Fabien Potencier
6e81c28ca4 [Routing] fixed typo 2011-03-11 10:40:38 +01:00
Amal Raghav
517735e581 fix for ignoring abstract definition 2011-03-11 10:36:48 +01:00
Xavier De Cock
d91ea24b3e [Performance] Routing Generator, avoid array_merge in generated classes 2011-03-11 10:15:18 +01:00
Victor Berchet
61be2b7986 [Routing] XMLFileLoader small optimization 2011-03-11 09:47:46 +01:00
Johannes Schmitt
d8022e34eb [Security] removed core.security event 2011-03-11 01:43:22 +01:00
Johannes M. Schmitt
3d97638813 [Security] refactored remember-me code 2011-03-11 01:19:55 +01:00
Kris Wallsmith
f33cf0ba5d Removed replacement of parameter placeholders at load time since they're now replaced at compile time. Extensions should be written to expect parameter placeholders.
Revert "[DependencyInjection] Allow parameter replacement within extension configurations."

This reverts commit ab7ad4808b.

Conflicts:

	src/Symfony/Component/DependencyInjection/ContainerBuilder.php
2011-03-10 12:59:00 -08:00
Xavier De Cock
ab46d0c62b Removed comment about array_* removal 2011-03-10 18:35:54 +01:00
Xavier De Cock
865ee54558 Performance improvement on Router to avoid array_*
Changes on the Router to avoid array_diff, array_keys and other inneficient array_ functions.

This is a "recommit" to respect Symfony Contribution rules
2011-03-10 18:24:33 +01:00
Johannes M. Schmitt
d9848f38ac [DependencyInjection] added some tests 2011-03-10 15:31:00 +01:00
Johannes M. Schmitt
a64cc0e3cc [Security] some more visibility changes 2011-03-10 10:25:33 +01:00
Johannes M. Schmitt
13665fc113 [Security] added some more tests 2011-03-10 10:25:33 +01:00
Johannes M. Schmitt
5127ece259 [Security] fixed some left-overs 2011-03-10 10:25:32 +01:00
Johannes Schmitt
1d5538fc60 [Security] various changes, see below
- visibility changes from protected to private
- AccountInterface -> UserInterface
- SecurityContext::vote() -> SecurityContext::isGranted()
2011-03-10 10:25:32 +01:00
Fabien Potencier
dded1955e4 [Routing] fixed the / problem in a URL segment 2011-03-09 23:57:26 +01:00
Fabien Potencier
222d4aa89d Merge remote branch 'stof/tree_builder'
* stof/tree_builder:
  Fixed type-hinting and renamed the method to be more semantic
  Removed duplicated code
2011-03-09 22:07:31 +01:00
Fabien Potencier
1de694ffc0 merged 2011-03-09 21:58:43 +01:00
Fabien Potencier
72586b2d5f Merge remote branch 'opensky/hotfix/test_client'
* opensky/hotfix/test_client:
  [HttpKernel] added test for uri change
  [HttpKernel] got rid of url transformation into uri, as parse_url doesn't work with uris
2011-03-09 21:46:16 +01:00
Fabien Potencier
b4cde9d3bb Merge remote branch 'lsmith77/classcollectionloader'
* lsmith77/classcollectionloader:
  make it possible to define the file extension
2011-03-09 17:40:38 +01:00
Fabien Potencier
1fe25bc00a Merge remote branch 'Seldaek/file_field'
* Seldaek/file_field:
  [HttpFoundation] Fixed test breaking on windows
  [HttpFoundation] UploadedFile::getOriginalName is now overriding getName
  [HttpFoundation] Minor optimization
  [Form] Add exception for missing enctype attribute
2011-03-09 17:26:51 +01:00
Jordi Boggiano
991b1ed225 [HttpFoundation] UploadedFile::getOriginalName is now overriding getName 2011-03-09 17:26:08 +01:00
Fabien Potencier
17ef911f19 [Routing] removed the normalizeUrl() method and renamed url to pathinfo as this is more correct 2011-03-09 17:25:44 +01:00
Jordi Boggiano
2a5fcdfb1a [HttpFoundation] Minor optimization 2011-03-09 17:25:36 +01:00
Jordi Boggiano
88cfc4c011 [Form] Add exception for missing enctype attribute 2011-03-09 17:23:21 +01:00
Jordi Boggiano
4c0ea6179b [Routing] UrlMatcher shouldn't collapse multiple slashes
* fixes a problem with security (/foo/bar and /foo///bar are not the same URL as far as security is concerned)
* this can still be done in your web server configuration or by adding a core.request listener
2011-03-09 17:07:12 +01:00
Kris Wallsmith
8c45a21637 [DependencyInjection] fixed false positive when detecting circular references if a service throws an exception during creation 2011-03-09 06:38:02 -08:00
Bernhard Schussek
0eb04e487d Merge remote branch 'Infranology/intl-stub' into intl-stub 2011-03-09 12:04:51 +01:00
Bernhard Schussek
8658287ed6 Merge branch 'master' into intl-stub 2011-03-09 12:02:35 +01:00
Miha Vrhovnik
76d664faa6 Fixing undefined notices by changing visibility back to protected for sompe properties and methods. 2011-03-09 10:24:16 +01:00
Fabien Potencier
9f0f127e6a [Form] fixed typo in XSD path 2011-03-09 02:34:51 +01:00
Fabien Potencier
32d2ec7571 [ClassLoader] moved most protected methods and properties to private 2011-03-08 20:55:22 +01:00
Fabien Potencier
c9b965dbee [Finder] moved most protected methods and properties to private 2011-03-08 20:54:22 +01:00
Fabien Potencier
75b29ffdfe [Translation] moved most protected methods and properties to private 2011-03-08 20:47:32 +01:00
Fabien Potencier
94c445957c [Yaml] moved most protected methods and properties to private 2011-03-08 20:33:19 +01:00
Eriksen Costa
0fb9b9a70d [Locale] changed method name 2011-03-08 16:28:29 -03:00
Eriksen Costa
1da1b80169 [Locale] updated docblocks for StubCollator 2011-03-08 16:06:26 -03:00
Eriksen Costa
310d7eadba [Locale] updated docblocks 2011-03-08 16:06:10 -03:00
Kris Wallsmith
e273a709f1 [Templating] introduced concept of asset packages so base URLs and asset versions can be set more granularly 2011-03-08 08:31:39 -08:00
Fabien Potencier
4f0e0a6193 fixed some emails 2011-03-08 15:43:54 +01:00
Fabien Potencier
8716c2ad1e merged 2011-03-08 15:43:02 +01:00
Fabien Potencier
a0caa942e9 [Config] fixed CS 2011-03-08 15:33:46 +01:00
Fabien Potencier
031a65e4f8 Merge remote branch 'kriswallsmith/dic/lazy-compiler'
* kriswallsmith/dic/lazy-compiler:
  [DependencyInjection] made compiler lazy again since there are many temporary ContainerBuilder objects that don't use it
2011-03-08 14:42:53 +01:00
Kris Wallsmith
de6c353b40 [DependencyInjection] made compiler lazy again since there are many temporary ContainerBuilder objects that don't use it 2011-03-08 05:34:07 -08:00
develop
1daedcc6fc fix whitespace problem 2011-03-08 09:49:52 +01:00
develop
a93aa55199 If you use an annotation resource pointing to a controller directory
in your routing configuration, only existing files in this directory
get tracked for changes in this directory. So if you add a new
controller file in this directory you'd have to manually clear the
cache since the new file gets ignored.
This patch adds a DirectoryResource for this case which tracks all
changes in the given directory (and files and directories contained
within).
2011-03-08 09:49:45 +01:00
Bernhard Schussek
2cf3779a2c Renamed EventArgs classes and adapted remaining code to EventManager
The only missing part is ContainerAwareEventManager::addEventSubscriberService(),
because I'm not sure how to find out the class name of a service in the DIC.

Also, inline documentation of this code needs to be finished once it is accepted.
2011-03-07 19:16:05 +01:00
Bernhard Schussek
a54d3e6fb0 Merge remote branch 'symfony/master' into event-manager 2011-03-07 19:15:57 +01:00
Bulat Shakirzyanov
b80f307efd [HttpKernel] got rid of url transformation into uri, as parse_url doesn't work with uris 2011-03-07 10:54:31 -05:00
Eriksen Costa
33c37085da [Locale] moved static constructor 2011-03-07 03:07:19 -03:00
Eriksen Costa
1e2fa773c2 [Locale] renamed method 2011-03-07 03:07:18 -03:00
Eriksen Costa
8825dc8166 [Locale] renamed private method name and variable method with better names 2011-03-07 03:07:18 -03:00
Eriksen Costa
78485356a9 [Locale] code conventions changes (static keyword before visibility keyword) 2011-03-07 03:07:18 -03:00
Eriksen Costa
d8e35a2f5c [Locale] added tests to document behavior not implemented by StubIntlDateFormatter::parse() 2011-03-07 03:07:18 -03:00
Eriksen Costa
0a577e6fce [Locale] added more tests to time zone parsing with AM/PM markers 2011-03-07 03:07:17 -03:00
Eriksen Costa
d2df09f744 [Locale] refactored time zone support 2011-03-07 03:07:12 -03:00
ornicar
5d794cc62a [HttpKernel] Remove method visibility in BundleInterface 2011-03-06 19:17:50 -08:00
Fabien Potencier
8c423edfef replaced symfony-project.org by symfony.com 2011-03-06 12:40:06 +01:00
Lenar Lõhmus
c6bbecf0bb Check if config/template file is actually readable before further processing 2011-03-06 10:46:39 +01:00
Fabien Potencier
a137d72351 Merge remote branch 'hhamon/cookie_path_fix'
* hhamon/cookie_path_fix:
  [Security] renamed Cookie::isHttponly() to Cookie::isHttpOnly()
  [HttpKernel] renamed Cookie::isHttponly() to Cookie::isHttpOnly()
  [BrowserKit] renamed Cookie::isHttponly() to Cookie::isHttpOnly()
  [HttpFoundation] fix cookie path default value to / and added some new unit tests to cover the class
2011-03-06 10:44:40 +01:00
Fabien Potencier
487cddcfee Merge remote branch 'DuoSRX/code-coverage'
* DuoSRX/code-coverage:
  [HttpFoundation] Fixed a typo in response->setLastModified()
  [HttpFoundation] Added some more tests on response
  [HttpFoundation] Added some tests on Response
  [HttpFoundation] Replace a duplicated test with a method in Response
  Fixed code coverage generation when resources folder are deeper
2011-03-06 10:44:13 +01:00
Fabien Potencier
bbc5f40636 Merge remote branch 'jakzal/FileLocatorTest'
* jakzal/FileLocatorTest:
  [Config] Added missing tests to satisfy 100% test coverage of FileLocator. Made sure that every path returned with locate() is unique.
2011-03-06 10:40:52 +01:00
Fabien Potencier
51023eea86 [HttpFoundation] fixed CS 2011-03-06 10:39:33 +01:00
Fabien Potencier
c02ebbf2d8 Merge remote branch 'digitalkaoz/httpkernel-datacollector'
* digitalkaoz/httpkernel-datacollector:
  [HttpKernel] added Tests for DataCollectors
  [HttpFoundation] more sophisticated checks for valid expiration
2011-03-06 10:38:55 +01:00
Fabien Potencier
54e19b5376 Merge remote branch 'digitalkaoz/httpkernel-debug'
* digitalkaoz/httpkernel-debug:
  [HttpKernel] added tests for debug stuff
  [HttpKernel] reset handling if subject::handle throws an exception, otherwise it wouldnt be able to handle furthermore
2011-03-06 10:37:14 +01:00
Fabien Potencier
4accca3a76 Merge remote branch 'digitalkaoz/httpfoundation-session'
* digitalkaoz/httpfoundation-session:
  [HttpFoundation] added Session tests.
  [HttpFoundation] added a check for array keys existence.
2011-03-06 10:36:15 +01:00
Fabien Potencier
1e996901f5 Merge remote branch 'schmittjoh/security'
* schmittjoh/security:
  [Security] forward the entire access denied exception instead of only the message
  [Security] changed defaults for MessageDigestEncoder
  TICKET #9557: session isn't required when using http basic authentification mecanism for example
  [Security] improved entropy to make collision attacks harder
  [Security] added the 'key' attribute of RememberMeToken to serialized string to be stored in session
  Fix the Acl schema generator script.
2011-03-06 10:33:18 +01:00
Fabien Potencier
a972770371 Merge remote branch 'Seldaek/exception_msg'
* Seldaek/exception_msg:
  [Config] Improved exception message a bit
2011-03-06 10:32:12 +01:00
Fabien Potencier
0a8730ab26 Merge remote branch 'lewinski/yaml-escapes'
* lewinski/yaml-escapes:
  [Yaml] Improved support for double quoted values.
2011-03-06 08:34:20 +01:00
Xavier Perez
19090d3fb7 [HttpFoundation] Fixed a typo in response->setLastModified() 2011-03-06 00:17:54 +01:00
Robert Schönthal
87e1359ebd [HttpFoundation] more sophisticated checks for valid expiration 2011-03-06 00:13:47 +01:00
Matthew Lewinski
ed338d9422 [Yaml] Improved support for double quoted values.
Added support for the full range of escaped values in double quoted
strings in chapter 5 of the YAML 1.1 and 1.2 specs. The escaping
and unescaping strategies were factored out into separate classes to
keep the logic isolated.

Added examples from the spec to the unit tests for all escaped values.
2011-03-05 15:39:48 -06:00
Robert Schönthal
415b456b4e [HttpKernel] reset handling if subject::handle throws an exception, otherwise it wouldnt be able to handle furthermore 2011-03-05 20:21:23 +01:00
Bernhard Schussek
f1393d7b1f Replaced EventDispatcher by Doctrine's EventManager implementation
Doctrine's EventManager implementation has several advantages over the
EventDispatcher implementation of Symfony2. Therefore I suggest that we
use their implementation.

Advantages:

 * Event Listeners are objects, not callbacks. These objects have handler
   methods that have the same name as the event. This helps a lot when
   reading the code and makes the code for adding an event listener shorter.
 * You can create Event Subscribers, which are event listeners with an
   additional getSubscribedEvents() method. The benefit here is that the
   code that registers the subscriber doesn't need to know about its
   implementation.
 * All events are defined in static Events classes, so users of IDEs benefit
   of code completion
 * The communication between the dispatching class of an event and all
   listeners is done through a subclass of EventArgs. This subclass can be
   tailored to the type of event. A constructor, setters and getters can be
   implemented that verify the validity of the data set into the object.
   See examples below.
 * Because each event type corresponds to an EventArgs implementation,
   developers of event listeners can look up the available EventArgs methods
   and benefit of code completion.
 * EventArgs::stopPropagation() is more flexible and (IMO) clearer to use
   than notifyUntil(). Also, it is a concept that is also used in other
   event implementations

Before:

    class EventListener
    {
        public function handle(EventInterface $event, $data) { ... }
    }

    $dispatcher->connect('core.request', array($listener, 'handle'));
    $dispatcher->notify('core.request', new Event(...));

After (with listeners):

    final class Events
    {
        const onCoreRequest = 'onCoreRequest';
    }

    class EventListener
    {
        public function onCoreRequest(RequestEventArgs $eventArgs) { ... }
    }

    $evm->addEventListener(Events::onCoreRequest, $listener);
    $evm->dispatchEvent(Events::onCoreRequest, new RequestEventArgs(...));

After (with subscribers):

    class EventSubscriber
    {
        public function onCoreRequest(RequestEventArgs $eventArgs) { ... }

        public function getSubscribedEvents()
        {
            return Events::onCoreRequest;
        }
    }

    $evm->addEventSubscriber($subscriber);
    $evm->dispatchEvent(Events::onCoreRequest, new RequestEventArgs(...));
2011-03-05 15:30:34 +01:00
Jakub Zalas
bdd4194b6f [Config] Added missing tests to satisfy 100% test coverage of FileLocator. Made sure that every path returned with locate() is unique. 2011-03-05 15:24:44 +01:00
Johannes Schmitt
b67a1dd677 [Security] forward the entire access denied exception instead of only the message 2011-03-05 14:30:08 +01:00
Xavier Perez
0d56ca5654 [HttpFoundation] Replace a duplicated test with a method in Response 2011-03-05 14:27:35 +01:00
Johannes Schmitt
63dbcea8ee Merge branch 'lewinski-fix-acl-schema-generator' into security 2011-03-05 14:13:53 +01:00
Johannes Schmitt
0eb4f49061 Merge branch 'fix-acl-schema-generator' of https://github.com/lewinski/symfony into lewinski-fix-acl-schema-generator 2011-03-05 13:54:10 +01:00
Johannes Schmitt
4c7aa343d3 Merge branch 'opensky-hotfix/remember-me-token-fix' into security 2011-03-05 13:51:52 +01:00
Johannes Schmitt
966607746f Merge branch 'hotfix/remember-me-token-fix' of https://github.com/opensky/symfony into opensky-hotfix/remember-me-token-fix 2011-03-05 13:51:20 +01:00
Johannes Schmitt
e03958f5b0 Merge branch 'cyqui-TICKET_9557' into security 2011-03-05 13:50:14 +01:00
Johannes Schmitt
e91cb7cf96 Merge branch 'TICKET_9557' of https://github.com/cyqui/symfony into cyqui-TICKET_9557 2011-03-05 13:49:38 +01:00
Johannes Schmitt
f82b89cdc5 [Security] changed defaults for MessageDigestEncoder
- encode_as_base64 set to true
- iterations increased to 5000 from 1
2011-03-05 13:45:35 +01:00
Cyril Quintin
310a6c99a2 TICKET #9557: session isn't required when using http basic authentification mecanism for example 2011-03-05 13:33:56 +01:00
Robert Schönthal
58db452e21 [HttpFoundation] added a check for array keys existence. 2011-03-05 13:30:54 +01:00
Johannes Schmitt
f010742e45 [Security] improved entropy to make collision attacks harder 2011-03-05 13:30:27 +01:00
Johannes Schmitt
eb2eb2e47a [DependencyInjection] adds property injection 2011-03-05 13:03:28 +01:00
Fabien Potencier
44d069a3fb Merge remote branch 'kriswallsmith/dic/auto-ext-load'
* kriswallsmith/dic/auto-ext-load:
  [HttpKernel] added an subclass merge extension configuration compiler pass to ensure each bundle's "main" extension is loaded
  [DependencyInjection] extensions should only load if called during configuration
2011-03-05 12:18:18 +01:00
Bulat Shakirzyanov
dbde41c082 [Security] added the 'key' attribute of RememberMeToken to serialized string to be stored in session 2011-03-04 13:26:08 -05:00
Bernhard Schussek
4346097ffd [Form] Added TODOs and a tweak 2011-03-04 16:01:50 +01:00
Chekote
4e280dfc37 Fixed undefined variable error when escaping a js string while using UTF-8 charset. 2011-03-03 16:00:42 -06:00
Hugo Hamon
2cbdd2c18b [HttpKernel] renamed Cookie::isHttponly() to Cookie::isHttpOnly() 2011-03-03 14:52:26 +01:00
Hugo Hamon
8182913f1f [BrowserKit] renamed Cookie::isHttponly() to Cookie::isHttpOnly() 2011-03-03 14:52:03 +01:00
Hugo Hamon
ad56bd8e47 [HttpFoundation] fix cookie path default value to / and added some new unit tests to cover the class 2011-03-03 14:50:14 +01:00
Kris Wallsmith
33d47be32e [HttpKernel] added an subclass merge extension configuration compiler pass to ensure each bundle's "main" extension is loaded 2011-03-03 13:54:32 +01:00
Kris Wallsmith
bf0553c23a [DependencyInjection] extensions should only load if called during configuration 2011-03-03 13:53:29 +01:00
Bernhard Schussek
bfbc1121ce [Form] Added ArrayAccess to DefaultRenderer 2011-03-02 22:56:20 +01:00
Igor Wiedler
2c65c7dab6 [Locale] use the sort flag in StubCollator::asort() 2011-03-02 17:39:30 +01:00
Igor Wiedler
c22a43860b [Locale] add missing StubCollator methods, with tests 2011-03-02 17:13:24 +01:00
Bernhard Schussek
0f8cd43ac4 [Form] The TwigTheme now accepts several templates 2011-03-02 16:24:22 +01:00
Bernhard Schussek
e53c688a6b [Form] Fixed RepeatedField, improved structure of the Twig templates 2011-03-02 16:00:31 +01:00
Bernhard Schussek
ea49621034 [Form] Fixed CSRF protection 2011-03-02 15:01:04 +01:00
Bernhard Schussek
5705f74bd0 [Form] Refactored FieldFactory and moved new implementation into the DIC. FormTest fails now. 2011-03-02 14:58:19 +01:00
Bernhard Schussek
68013f4db2 Merge remote branch 'symfony/master' into experimental 2011-03-02 12:27:30 +01:00
Bernhard Schussek
8a6246bd06 [Form] Refactored contents of FormFactory into individual FieldConfig classes 2011-03-02 12:20:30 +01:00
ornicar
6790e45911 [DependencyInjection] Fix variable name in ExtensionInterface 2011-03-01 16:20:26 -08:00
Fabien Potencier
fd53035c8d Merge remote branch 'schmittjoh/inlinePassFix'
* schmittjoh/inlinePassFix:
  [DependencyInjection/Compiler] fixes a bug which silently changed the scope of services
2011-03-01 20:38:48 +01:00
Pascal Borreli
65560b30e1 [Validator] Fixed Typo 2011-03-01 18:58:08 +01:00
Pascal Borreli
843d5a8399 [Security] Fixed Typo 2011-03-01 18:58:08 +01:00
Pascal Borreli
c70824d22c [HttpKernel] Fixed Typo 2011-03-01 18:58:08 +01:00
Pascal Borreli
f3a0b3fd83 [Form] Fixed Typo 2011-03-01 18:58:08 +01:00
Pascal Borreli
b84999ac33 [DependencyInjection] Fixed Typo 2011-03-01 18:58:08 +01:00
Pascal Borreli
d060a3c6ff [CssSelector] Fixed Typo 2011-03-01 18:58:07 +01:00
Pascal Borreli
ff44b0ff28 [HttpFoundation] Removed remove recurring test 2011-03-01 18:58:07 +01:00
Bernhard Schussek
9eff64dd54 [Form] Added EventListener implementation and moved CollectionField to factory 2011-03-01 15:18:55 +01:00
Jordi Boggiano
75dbc3a5b8 [Config] Improved exception message a bit 2011-03-01 14:44:24 +01:00
Bernhard Schussek
528ef55da6 [Form] Implemented generic data filter hooks
You can now modify set or bound data by adding a filter for either of the following events:

* Filters::filterBoundDataFromClient
* Filters::filterBoundData
* Filters::filterSetData
2011-03-01 14:19:28 +01:00
Johannes M. Schmitt
67c886f3df [DependencyInjection/Compiler] fixes a bug which silently changed the scope of services 2011-03-01 13:47:34 +01:00
Eriksen Costa
a04099728b [Locale] removed redundant code 2011-03-01 02:14:08 -03:00
Eriksen Costa
2a06139a97 [Locale] reordered methods to match code conventions 2011-03-01 02:13:55 -03:00
Eriksen Costa
4cc5b6f2d0 [Locale] throw exception if value different than null is provided (behavior not implemented in the stub) 2011-03-01 02:08:13 -03:00
Eriksen Costa
7ba71c0be1 [Locale] added missing docblocks 2011-03-01 01:59:14 -03:00
Igor Wiedler
51e9d8946b [Locale] match reverseMatchingRegExp against full string value 2011-02-28 18:45:52 +01:00
Igor Wiedler
fd0cc37c71 [Locale] handle escaped (enquoted) strings when parsing 2011-02-28 18:22:22 +01:00
Degory Valentine
057e86161e added test to verify ArgvInput->parse() failure with array input definition 2011-02-28 17:16:58 +01:00
Degory Valentine
0306c9aa66 Fixed array argument parsing in ArgvInput. 2011-02-28 17:16:58 +01:00
Bernhard Schussek
c1edf116f2 [Form] Removed notion of "hidden" fields
Instead, hidden fields now override the "row" template to not include a label or errors.

The "rest" (former "hidden") helper has been adapted to output any fields that were not
rendered manually. It should usually be called at the end of a form.
2011-02-28 17:01:11 +01:00
Bernhard Schussek
02d2121dcd [Form] Improved rendering
Fields are not available in the templates anymore. Instead, all required information can be
accessed through view variables.

Example usage of helpers and variables in a form theme:

// use the label helper
{{ this.label('my label') }}

// use the label variable
{{ this.vars.label }}
{{ label }}

Example usage of helpers and variables in a normal template:

// use the label helper
{{ field.label('my label') }}

// use the label variable
{{ field.vars.label }}
2011-02-28 16:50:23 +01:00
Igor Wiedler
ac8b9be130 [Locale] import FullTransformer via usee statement 2011-02-28 14:29:44 +01:00
Igor Wiedler
a5f8411eff [Locale] minor cosmetical tweaks to the pre-escaped regExp 2011-02-28 13:54:38 +01:00
Igor Wiedler
20acdac57d [Locale] remove support for era (BC|AD)
parsing it is a pain, nobody uses it, BC only works on 64 bit.
2011-02-28 09:46:30 -03:00
Igor Wiedler
195b2ebdde [Locale] handle IntlDateFormatter::parse with non-integer timestamp 2011-02-28 09:46:30 -03:00
Eriksen Costa
b7e9b35ca9 [Locale] added parsing of dates with regExp metachars 2011-02-28 09:44:14 -03:00
Victor Berchet
d281409ed5 [Config] Define a common interface for NodeBuilder and TreeBuilder 2011-02-28 12:39:43 +01:00
Victor Berchet
6d37218db1 [Config] Tweak type hints & phpDoc for the builders 2011-02-28 12:39:43 +01:00
Victor Berchet
b5fadcd22c [Config][TreeBuilder] Tweak the code 2011-02-28 12:39:22 +01:00
Victor Berchet
6c9e48fd8f [Config][VariableNode] Tweak the code 2011-02-28 12:39:21 +01:00
Victor Berchet
687c4dfeb1 [Config][BooleanNode] Tweak the code 2011-02-28 12:39:21 +01:00
Victor Berchet
e47f808376 [Config] Tweak phpDoc 2011-02-28 12:39:13 +01:00
Fabien Potencier
2bb2388c3f fixed typo 2011-02-28 12:12:49 +01:00
Victor Berchet
4d83b36170 [Config][ArrayNode] Tweak normalizeValue() code & phpDoc 2011-02-28 10:13:27 +01:00
Victor Berchet
60043a3c96 [Config][ArrayNode] Tweak some phpDoc 2011-02-28 10:12:44 +01:00
Martin Hason
c75622cb4b [DependencyInjection] removed unused class Extension, fix tests 2011-02-28 09:57:18 +01:00
Martin Hason
1d04ebfda5 [HttpKernel] changed extends Extension to implements ExtensionInterface 2011-02-28 09:55:53 +01:00
Martin Hason
d231a8a8d5 [Config] [DependencyInjection] removed DependencyInjection dependency in Config, fix tests 2011-02-28 09:19:13 +01:00
Eriksen Costa
0449889513 [Locale] added timezone parsing implementation 2011-02-28 01:19:19 -03:00
Matthew Lewinski
cde5f528c2 Fix the Acl schema generator script.
Change 3e818846 in doctrine/dbal introduced a number of new classes in
the Doctrine\DBAL\Platforms\Keywords namespace, so we need to be more
careful here when generating Acl schema, so as to only load Platform
classes and not any others in the same directory.
2011-02-27 16:56:47 -06:00
Christophe Coevoet
a960355c46 Fixed type-hinting and renamed the method to be more semantic 2011-02-27 22:44:44 +01:00
Christophe Coevoet
0f2380af3f Removed duplicated code 2011-02-27 22:43:07 +01:00
Fabien Potencier
3948c2d8a2 [Routing] fixed annotation dir loader auto-reload when a controller class changes 2011-02-27 22:39:54 +01:00
Fabien Potencier
37178fed01 Merge remote branch 'lewinski/radio-infinite-recursion-fix'
* lewinski/radio-infinite-recursion-fix:
  [Form] Fix infinite recursion in RadioField->getName()
2011-02-27 22:35:57 +01:00
Fabien Potencier
d4663505f7 Merge remote branch 'vicb/config'
* vicb/config:
  [Config] Simplify ScalarNode by inheriting from VariableNode
2011-02-27 22:32:11 +01:00
Eriksen Costa
dadd896915 [Locale] added implementation for minutes and seconds 2011-02-27 18:21:35 -03:00
Fabien Potencier
c99a44b1e8 Merge remote branch 'schmittjoh/security'
* schmittjoh/security:
  [Security] added method to retrieve the configured remember-me parameter
  [Security] Copy token attributes when auth providers create a new token from another
2011-02-27 22:20:44 +01:00
Eriksen Costa
e78c6c2b1a [Locale] refactored hour manipulation 2011-02-27 18:14:02 -03:00
Fabien Potencier
c58b6afc38 Merge remote branch 'cristiangsp/Translation_FallbackLocale'
* cristiangsp/Translation_FallbackLocale:
  [Translation] Modified Translation unit test "testTransWithFallbackLocale"
  [Translation] Fixed the addition of the fallbackLocale catalogue to the current locale catalogue.
  [Translation] Added search to FallbackLocale Catalogue.
2011-02-27 21:48:34 +01:00
Fabien Potencier
cdf6851eb3 fixed merge 2011-02-27 21:16:13 +01:00
Fabien Potencier
49f84f1997 Merge remote branch 'lsmith77/code_analyzer_2011_02_27'
* lsmith77/code_analyzer_2011_02_27:
  corrected NonceExpiredException namespace
  issues found by static code analysis
2011-02-27 21:12:31 +01:00
Eriksen Costa
348dd7ba24 [Locale] refactoring to separate concerns 2011-02-27 17:03:54 -03:00
Christophe Coevoet
92bfbf575c Fixed CS 2011-02-27 20:56:29 +01:00
Eriksen Costa
4a7c33ce82 [Locale] inject named capture string into Transformer constructor 2011-02-27 16:37:49 -03:00
Lukas Kahwe Smith
2bf30f8bb7 corrected NonceExpiredException namespace 2011-02-27 19:46:40 +01:00
Lukas Kahwe Smith
4b3c49550f issues found by static code analysis 2011-02-27 19:34:02 +01:00
Eriksen Costa
c1c0c3c42e [Locale] added parsing for hours (12 and 24 hours) 2011-02-27 15:22:25 -03:00
Pascal Borreli
5b819261c2 [Yaml] Removed useless else 2011-02-27 18:36:38 +01:00
Pascal Borreli
87452f7515 [Translation] Removed useless else 2011-02-27 18:36:38 +01:00
Pascal Borreli
5a922dae22 [Templating] Removed useless else 2011-02-27 18:36:38 +01:00
Pascal Borreli
787812d968 [Security] Removed useless else 2011-02-27 18:36:38 +01:00
Pascal Borreli
1fcb99b936 [HttpKernel] Removed useless else 2011-02-27 18:36:38 +01:00
Pascal Borreli
fc42cc5066 [HttpFoundation] Removed useless else 2011-02-27 18:36:38 +01:00
Pascal Borreli
03f91ff1e0 [Form] Removed useless else 2011-02-27 18:36:37 +01:00
Pascal Borreli
66f4d8bf6d [DependencyInjection] Removed useless else 2011-02-27 18:36:37 +01:00
Pascal Borreli
2cbaddfd87 [CssSelector] Removed useless else 2011-02-27 18:36:37 +01:00
Pascal Borreli
f7ab114d36 [HttpFoundation] Fixed missing curly brackets 2011-02-27 18:36:37 +01:00
Pascal Borreli
46d28ce1b1 [Console] Removed useless else 2011-02-27 18:36:37 +01:00
Pascal Borreli
96981670ea [BrowserKit] Removed useless else 2011-02-27 18:36:36 +01:00
cgonzalez
381d1e2da1 [Translation] Fixed the addition of the fallbackLocale catalogue to the current locale catalogue.
When loading a catalogue the function "optimizeCatalogue" add the fallback catalogue to the current locale catalogue. This should be done by first adding the language catalogue and finally adding the fallbacklocale catalogue specified in the configuration. This subsequent additions are done by the "loadCatalogue" function.

The problem is that in the "loadCatalogue" function exists an if statement that checks if the resource of a given locale exists before loading it. If not, the function simply returns. This return implies that the subsequent addition of the fallbacklocale wouldn't be done.

This has been fixed by simply replacing the current if statement and adding a new one that, if the resource exists, then executes the process of resource loading. Finally, the function continue calling the "optimizeCatalogue" function.
2011-02-27 12:32:46 +01:00
cgonzalez
b6049beca2 [Translation] Added search to FallbackLocale Catalogue.
When the current locale catalogue doesn't contain the id searched, the code doesn't search in the fallbacklocale catalogue (as is explained in the documentation).
Added the search to the fallbacklocale catalogue to the translation function.
2011-02-27 12:32:46 +01:00
Eriksen Costa
ed85345312 [Locale] added parsing implementation for year, month and day 2011-02-27 02:22:07 -03:00
Eriksen Costa
f096b7b2bb [Locale] removed trailing whitespace 2011-02-27 01:04:07 -03:00
Lukas Kahwe Smith
141b798127 make it possible to define the file extension 2011-02-26 23:12:46 +01:00
Johannes Schmitt
97ee92e7b0 Merge branch 'CopyTokenAttributesInProviders' of https://github.com/opensky/symfony into opensky-CopyTokenAttributesInProviders 2011-02-26 21:47:57 +01:00
Johannes Schmitt
621a79f1f2 [Security] added method to retrieve the configured remember-me parameter 2011-02-26 21:44:40 +01:00
Pascal Borreli
2fbb8e07f8 [Security] Fixed typo 2011-02-26 20:02:06 +01:00
Pascal Borreli
b9a6f9210b [HttpKernel] Fixed typo 2011-02-26 20:02:06 +01:00
Pascal Borreli
f3b9364eae [HttpFoundation] Fixed typo 2011-02-26 20:02:06 +01:00
Pascal Borreli
ddd6d93f9f [Form] Fixed typo 2011-02-26 20:02:06 +01:00
Pascal Borreli
4f2f1c08a9 [EventDispatcher] Fixed typo 2011-02-26 20:02:06 +01:00
Pascal Borreli
1a8ce933e1 [DependencyInjection] Fixed typo 2011-02-26 20:02:05 +01:00
Pascal Borreli
b940046ac4 [CssSelector] Fixed typo 2011-02-26 20:02:05 +01:00
Pascal Borreli
e1ec66cbb8 [Config] Fixed typo 2011-02-26 20:02:05 +01:00
Igor Wiedler
0e260c1170 [Locale] refactor date formatting into separate transformer classes, early concepts for date parsing 2011-02-26 19:34:59 +01:00
noel guilbert
a8eff2b154 Improved profiler to store and retrieve sub requests data 2011-02-26 17:24:02 +01:00
Fabien Potencier
e16c666266 [Routing] made an empty path info to redirect to / (as for any other route that ends with a /) 2011-02-26 08:56:44 +01:00
Fabien Potencier
f46c6f7e45 [Routing] fixed the %2f problem in URLs 2011-02-25 18:01:32 +01:00
Bernhard Schussek
adbf2cb2bf [Form] Added ArrayAccess interface to DefaultRenderer 2011-02-25 01:11:53 +01:00
Bernhard Schussek
c6e9fd97b6 [Form] Fixed various bugs 2011-02-25 00:09:10 +01:00
Bernhard Schussek
e334c4734e [Form] Registered FormFactory in the DIC 2011-02-24 21:27:44 +01:00
Bernhard Schussek
f2c1976da6 [Form] Refactored FileField to FormFactory and fixed file upload mechanism 2011-02-24 20:47:48 +01:00
Bernhard Schussek
848ec01f02 [Form] Refactored RepeatedField to FormFactory 2011-02-24 16:54:34 +01:00
Bernhard Schussek
87b417889c [Form] Fixed DateTimeFieldTest 2011-02-24 16:34:29 +01:00
Victor Berchet
3bfb599074 [Config] Simplify ScalarNode by inheriting from VariableNode 2011-02-24 16:31:00 +01:00
Bernhard Schussek
0f8a413221 [Form] Fixed EntityChoiceFieldTest 2011-02-24 16:26:57 +01:00
Bernhard Schussek
acc5c76f77 [Form] Fixed failing DateFieldTest and TimeFieldTest 2011-02-24 16:19:59 +01:00
Victor Berchet
38da529997 [Kernel] Get rid of Kernel::registerRootDir() 2011-02-24 14:02:28 +01:00
Michel Weimerskirch
5f0d83662c Simplified EmailValidator using native PHP validation function. 2011-02-24 04:30:23 -08:00
Bernhard Schussek
e3e8c29875 Merge branch 'bugfix' into experimental
Conflicts:
	src/Symfony/Component/Form/EntityChoiceField.php
	src/Symfony/Component/Form/Field.php
	src/Symfony/Component/Form/HybridField.php
	tests/Symfony/Tests/Component/Form/FieldTest.php
	tests/Symfony/Tests/Component/Form/FormTest.php
2011-02-24 13:17:53 +01:00
Bernhard Schussek
87e6cbf8f0 [Form] Fixed: PropertyPath always requires arrays or objects. Forms now always store arrays or objects as transformed data, even when they were bound empty 2011-02-24 12:22:00 +01:00
Bernhard Schussek
8e2d0bae90 [Form] Ported DateTimeField to FormFactory 2011-02-23 23:34:25 +01:00
Bernhard Schussek
b5671c1be0 [Form] Implemented ArrayToPartsTransformer and ValueToDuplicatesTransformer 2011-02-23 22:30:15 +01:00
Jeremy Mikola
5113886f34 [Security] Copy token attributes when auth providers create a new token from another
PreAuthenticatedAuthenticationProvider and UserAuthenticationProvider tend to copy a token instead of modifying it during their authenticate() methods, which is probably a good idea if the token might be immutable. Ensure that the token's attributes get copied along with everything else.
2011-02-23 16:03:01 -05:00
Bernhard Schussek
5a2404a1d6 [Form] Removed deprecated fields 2011-02-23 21:23:14 +01:00
Bernhard Schussek
ac5440f8d4 [Form] DateTimeToArrayTransformer does not accept partially filled arrays anymore. Replaces DateField::isPartiallyFilled() and TimeField::isPartiallyFilled() 2011-02-23 21:17:20 +01:00
Bernhard Schussek
78b26c2cc5 [Form] Renamed type 'raw' to 'array' in date and time field 2011-02-23 21:05:33 +01:00
Igor Wiedler
bcca989c41 [Locale] refactor and simplify some parts of StubIntlDateFormatter 2011-02-23 19:09:48 +01:00
Bernhard Schussek
c8275c5b27 [Form] Refactored PercentField to FormFactory 2011-02-23 15:26:01 +01:00
Bernhard Schussek
4af27bd590 [Locale] Added stubs for \Collator and \IntlDateFormatter 2011-02-23 14:46:27 +01:00
Igor Wiedler
ee5bc36c55 [Locale] add docblocks to StubIntlDateFormatter and adjust some things to be more like StubNumberFormatter 2011-02-23 14:20:47 +01:00
Igor Wiedler
7b2b025ebd [Locale] add @author tag to StubCollator 2011-02-23 14:20:46 +01:00
Igor Wiedler
30ea2bae32 [Locale] add @author tag to StubIntlDateFormatter 2011-02-23 14:20:46 +01:00
Igor Wiedler
96b7c8ff73 [Locale] initial stub of StubCollator with class constants 2011-02-23 14:20:45 +01:00
Igor Wiedler
3cc60f7cb4 [Locale] throw NotImplementedException on unimplemented chars 2011-02-23 14:20:45 +01:00
Igor Wiedler
577dd30927 [Locale] remove setLocale from StubIntlDateFormatter 2011-02-23 14:20:45 +01:00
Igor Wiedler
53839f9235 [Locale] refactor tests, make use of specialized exception 2011-02-23 14:20:45 +01:00
Igor Wiedler
77258223f1 [Locale] re-order StubIntlDateFormatter methods, rename timezoneId to timeZoneId, add setLenient method 2011-02-23 14:20:44 +01:00
Igor Wiedler
1191ab4b56 [Locale] add remaining IntlDateFormatter methods with tests 2011-02-23 14:20:44 +01:00
Igor Wiedler
69b38faff7 [Locale] refactoring and some more tests 2011-02-23 14:20:44 +01:00
Igor Wiedler
1f248652cc [Locale] minor naming change 2011-02-23 14:20:43 +01:00
Jordi Boggiano
bfbc8f63fa [Locale] Fixed implementation of quote parsing and replacement 2011-02-23 14:20:43 +01:00
Igor Wiedler
c7380fbb4c [Locale] support standard date and time types if no format is set, refactoring and more tests 2011-02-23 14:20:42 +01:00
Igor Wiedler
d3a63d35d4 [Locale] slightly adjust regex for matching quotes 2011-02-23 14:20:42 +01:00
Igor Wiedler
632ded5c96 [Locale] use UTC if timezone is unsupported 2011-02-23 14:20:42 +01:00
Igor Wiedler
a883a3f62a [Locale] adjust to new quoting format, some tests failing 2011-02-23 14:20:42 +01:00
Igor Wiedler
cc6f996334 [Locale] add a list of unimplemented date format keywords 2011-02-23 14:20:41 +01:00
Igor Wiedler
cbfaaef76e [Locale] support for z (timezone offset from GMT) 2011-02-23 14:20:41 +01:00
Igor Wiedler
d68c5fa7fd [Locale] refactor to use DateTime and DateTimeZone, adding timezone support 2011-02-23 14:20:41 +01:00
Igor Wiedler
7efe476693 [Locale] support for s (second) 2011-02-23 14:20:41 +01:00
Igor Wiedler
87d3547679 [Locale] support for m (minute of hour) 2011-02-23 14:20:40 +01:00
Igor Wiedler
6b26f8296d [Locale] support for K (12-hour (0-11)) 2011-02-23 14:20:40 +01:00
Igor Wiedler
5a767045b6 [Locale] implement k (24-hour (1-24) 2011-02-23 14:20:40 +01:00
Igor Wiedler
42a652ce3d [Locale] refactor IntlDateFormatter::format to build regExp dynamically 2011-02-23 14:20:40 +01:00
Igor Wiedler
bfc7e55692 [Locale] support for H (24 hour) 2011-02-23 14:20:39 +01:00
Igor Wiedler
71e3c97358 [Locale] support for a (AM/PM) 2011-02-23 14:20:39 +01:00
Igor Wiedler
49752f104b [Locale] support for E (day of week) 2011-02-23 14:20:39 +01:00
Igor Wiedler
d4c1357f11 [Locale] support for D (day of year) 2011-02-23 14:20:39 +01:00
Igor Wiedler
5ffce2d6a2 [Locale] add support for h 2011-02-23 14:20:39 +01:00
Igor Wiedler
ae3ee5d896 [Locale] add support for L, which is the same as M 2011-02-23 14:20:38 +01:00
Igor Wiedler
b702ce86b5 [Locale] support for G and Q placeholders in StubIntlDateFormatter::format 2011-02-23 14:20:38 +01:00
Igor Wiedler
8c1146974f [Locale] add support for escaping, give specifics on implementation used in tests 2011-02-23 14:20:38 +01:00
Igor Wiedler
55ac407458 [Locale] first implementation of StubIntlDateFormatter 2011-02-23 14:20:37 +01:00
Bernhard Schussek
68bb3ff606 [Form] Used ValuePlugin to pass displayed data to template. The order of added renderer plugins and set renderer variables is now respected 2011-02-23 14:11:18 +01:00
Bernhard Schussek
a40e2dd77b [Form] Deleted obsolete Field classes, ported some more to FormFactory and fixed lots of failing tests 2011-02-23 14:11:18 +01:00
Bernhard Schussek
7492873186 [Form] Fixed a couple of unit tests, refactored PasswordField to FormFactory 2011-02-23 14:11:18 +01:00
Bernhard Schussek
fee0885256 [Form] Moved options from Field and Form to FormFactory. Tests fail now 2011-02-23 14:11:18 +01:00
Bernhard Schussek
ce432e939d [Form] Changed notion of 'parameter' to 'var' in the renderer. Merged vars and attributes into single array 2011-02-23 14:11:18 +01:00
Bernhard Schussek
2b8ca25d01 [Form] Refactored NumberField, IntegerField, HiddenField and MoneyField to FormFactory 2011-02-23 14:11:18 +01:00
Bernhard Schussek
af8a093b00 [Form] Refactored CountryField, LanguageField, LocaleField and BirthdayField to FormFactory 2011-02-23 14:11:18 +01:00
Bernhard Schussek
9394ffdea1 [Form] Started to refactor TimeField to FormFactory::getTimeField(). Validation logic is still missing. 2011-02-23 14:11:18 +01:00
Bernhard Schussek
975b8ebe9b [Form] Started to refactor DateField to FormFactory::getDateField(). Validation logic is still missing. 2011-02-23 14:11:18 +01:00
Bernhard Schussek
b148a2a7ed [Form] Refactored ChoiceField to FormFactory::getChoiceField() 2011-02-23 14:11:18 +01:00
Bernhard Schussek
6edff6b8a9 [Form] Moved submission logic of ChoiceField to preprocessor 2011-02-23 14:11:18 +01:00
Bernhard Schussek
7a48c0a5c5 [Form] Refactored logic from ChoiceField into ChoicePlugin and SelectMultipleNamePlugin 2011-02-23 14:11:18 +01:00
Bernhard Schussek
61ea51d858 [Form] Added first version of FormFactory, ValuePlugin and ParentNamePlugin 2011-02-23 14:11:18 +01:00
Bernhard Schussek
f7dc71ef59 [Form] Refactored id and name generation to renderer plugins 2011-02-23 14:11:17 +01:00
Bernhard Schussek
861ff957e7 [Form] Refactored DateField pattern, fixed maxlength in TextField 2011-02-23 14:11:17 +01:00
Bernhard Schussek
ed68fd66a9 [Form] Improved the renderer implementation, added concepts of plugins and themes 2011-02-23 14:11:17 +01:00
Bernhard Schussek
6cc0a58edc [Form] Refactored casting logic from IntegerField to IntegerToLocalizedStringTransformer 2011-02-23 14:11:17 +01:00
Bernhard Schussek
27e1e5251c [Form] Experimentally refactored Twig rendering support to Form component 2011-02-23 14:11:17 +01:00
Bernhard Schussek
ea1ae46c17 [Form] Added CallbackTransformer for dynamic value transformation 2011-02-23 14:11:17 +01:00
Bernhard Schussek
5eb5cc5743 [Form] Refactored date and time field choices into ChoiceList classes 2011-02-23 14:11:17 +01:00
Bernhard Schussek
f39d8b62f2 [Form] Refactored EntityChoiceField::processData() into individual class 2011-02-23 14:11:17 +01:00
Bernhard Schussek
12c131fc24 [Form] Refactored transformation logic of the choice fields into standalone value transformers 2011-02-23 14:11:17 +01:00
Bernhard Schussek
813ec54fa1 [Form] Refactored parts of the choice fields into ChoiceList instances 2011-02-23 14:11:17 +01:00
Bernhard Schussek
404f83ccc3 [Locale] Added stubs as a replacement for the intl extension
You can enable the stubs by including the following code in app/autoload.php:

$loader->registerPrefixFallback(array(
    __DIR__.'/../vendor/symfony/src/Symfony/Component/Locale/Resources/stubs',
));

If the intl extension is not loaded, the stub classes for the "en" locale
will be created automatically.
2011-02-23 13:26:05 +01:00
Eriksen Costa
b649843e00 [Locale] added implementation to StubNumberFormatter::getLocale(), matching StubIntlDateFormatter::getLocale() 2011-02-23 13:26:05 +01:00
Eriksen Costa
b58e25cc83 [Locale] added static constructor 2011-02-23 13:26:05 +01:00
Eriksen Costa
69b0e09d6a [Locale] added stub implementations of Locale and NumberFormatter classes
Updated update-data.php script to extract locales, countries names, languages and currencies
from ICU to be used by the stub implementations
2011-02-23 13:26:05 +01:00
Matthew Lewinski
4f54aacfc7 [Form] Fix infinite recursion in RadioField->getName() 2011-02-22 20:38:29 -06:00
Fabien Potencier
f54cedfe5e added LICENSE files for the subtree repositories 2011-02-22 18:58:15 +01:00
Kris Wallsmith
7c794b349d [HttpKernel] fixed typo 2011-02-22 07:38:03 -08:00
Fabien Potencier
cef86a3771 [HttpKernel] added a way to change the ESI cache strategy 2011-02-22 13:50:26 +01:00
Kris Wallsmith
a0bae94f88 [HttpFoundation] updated ResponseHeaderBag to compute Cache-Control whenever any of the headers it considers changes 2011-02-21 19:57:05 -08:00
Fabien Potencier
e8144e473e [Templating] added getPath() to TemplateReferenceInterface as it's used in the child class in FrameworkBundle 2011-02-21 19:24:27 +01:00
Fabien Potencier
fc372bc217 [HttpKernel] changed core.view event to use notifyUntil() instead of filter() -- as soon as a listener returns a Response, we are done 2011-02-21 18:24:55 +01:00
Fabien Potencier
353177d1d6 replaced Response::createRedirect by a new RedirectResponse class 2011-02-21 18:10:53 +01:00
Fabien Potencier
d94acd85f9 remove response as a service
The Response is not available in the DIC anymore.

When you need to create a response, create an instance of
Symfony\Component\HttpFoundation\Response instead.

As a side effect, the Controller::createResponse() and Controller::redirect()
methods have been removed and can easily be replaced as follows:

  return $this->createResponse('content', 200, array('foo' => 'bar'));
  return new Response('content', 200, array('foo' => 'bar'));

  return $this->redirect($url);
  return Response::createRedirect($url);
2011-02-21 17:36:04 +01:00
Fabien Potencier
bf20238178 fixed a bug in Response content-type auto-detection
Without this patch, if you call __toString() on a Response,
the content-type auto-detection would never be trigerred
as __toString() changes the default content-type.
2011-02-21 16:57:25 +01:00
Fabien Potencier
9619c7dade [Routing] removing the routing hack where we add a / at the beginning if it does not exist 2011-02-21 10:25:22 +01:00
Fabien Potencier
8a8c733369 [HttpKernel] added the possibility to define a parent token for a token in the profiler
Note that this is not used yet. I make this change now because the interface needs to be changed.
2011-02-20 21:29:04 +01:00
Fabien Potencier
23e9386a0e changed all extensions to use the default Extension::getAlias() impl 2011-02-20 08:58:37 +01:00
Ray
8e2d7edb8c Attempt to create a reasonable default based on the rules enforced in
src/Symfony/Component/HttpKernel/bootstrap.php
  from commit: 14aa95ba21
2011-02-20 08:53:53 +01:00
Jeremy Mikola
608e443c97 [Config] Create VariableNode, which mimics ScalarNode but omits type-checking
This allows for configuration options that must accept arbitrary variables. Even if the node's value is an array, VariableNode will not perform any special processing/merging as is done for ArrayNode. It functionally behaves like a ScalarNode.
2011-02-20 00:59:18 -05:00
Fabien Potencier
b44d044b0a [HttpKernel] removed the bootstrap files as they do not belong to the component
As these files are just about optimizing the performance,
they are now part of the sandbox and the upcoming standard
Symfony distribution.

It should also make your IDE happier!
2011-02-19 17:17:38 +01:00
Christophe Coevoet
fc9ff68052 Fixed path for finalization errors when using a prototype 2011-02-19 16:04:53 +01:00
Fabien Potencier
f849353118 Merge remote branch 'weaverryan/config_definition_changes'
* weaverryan/config_definition_changes:
  [SecurityBundle] Allowing the main Configuration tree to allow "factories" without a validation exception.
  [SecurityBundle] Removing an old configuration key in a test - caught by the Configuration validation.
  [SecurityBundle] Adding the ignoreExtraFields option to the factories tree so that there aren't validation errors on all the other unknown fields.
  [Config] Adding an ignoreExtraKeys options, which allows you to let options simply be ignore without throwing a validation exception.
  [Config] Reverting some meaningless changes that are no longer needed to minimize the true diff of the changes. Increasing the test precision.
  [Config] Reverting the preventExtraKeys option. This is a revert of functionality that would have allowed "unnamed" children to be added to an array node.
  [Config] Moving the removal of the key attribute on ArrayNode onto the setKeyAttribute() method per Johannes.
  [Config] Renaming the key attribute removal property for consistency per Johannes' recommendation. Also fixing a PHPDoc typo per Stof.
  [SwiftmailerBundle] Removing unnecessary "enabled" key in a test.
  [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.
  [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).
  [Config] Making the option to remove a key attribute optional.
  [Config] Renaming the NodeBuilder::addNodeBuilder() to simply NodeBuilder::nodeBuilder() to be consistent with the other names: node(), arrayNode().
  [Config] Making changes per the recent movement of the Config builder into the Config component.
  [DependencyInjection] Renaming allowUnnamedChildren to preventExtraKeys. Also moved the place where validation of extra configs occurs.
  [DependencyInjection] Being sure to remove XML-remapped singular options and key attribute options after processing.
  [DependencyInjection] Adding a NodeBuilder::addNodeBuilder() method that helps achieve a fluid interface when a pre-built NodeBuilder needs to be added.
  [DependencyInjection] Initial implementation of an allowUnnamedChildren method on NodeBuilder. Also added an "extra field" exception.
2011-02-19 15:32:41 +01:00
Fabien Potencier
2c45611f4e fixed WDT link to the profiler 2011-02-19 14:11:18 +01:00
Fabien Potencier
dff3585162 fixed profiler when using ESI in dev env 2011-02-19 12:18:49 +01:00
Ryan Weaver
026ab6c6ce [Config] Adding an ignoreExtraKeys options, which allows you to let options simply be ignore without throwing a validation exception.
I had thought that this was unnecessary - when would you ever want to just let "extra" options fail silently?

But, the SecurityExtension takes advantage of this by creating two separate config trees. The first tree looks for just one particular value on the configuration array and ignores the rest. So, there *is* a use-case for allowing all extra fields to simply be ignored, though this should not be the norm.
2011-02-18 13:31:14 -06:00
Ryan Weaver
d2971e0f5f [Config] Reverting some meaningless changes that are no longer needed to minimize the true diff of the changes. Increasing the test precision. 2011-02-18 13:08:53 -06:00
Ryan Weaver
6f17b6d58e [Config] Reverting the preventExtraKeys option. This is a revert of functionality that would have allowed "unnamed" children to be added to an array node.
We decided that this is not necessary and that it's leaving too many things wide open. Instead, in these cases where we have an array with unknown items, a prototype should be used.

Further functionality will need to be added later to allow you to specify a few nodes that you *do* know about under an array and then also specify a prototype to catch everything else.
2011-02-18 12:59:27 -06:00
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
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
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
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
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
Victor Berchet
0a33cbb403 [Finder] Add support for relative path 2011-02-17 07:23:55 +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
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
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
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
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
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
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
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
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
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
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
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
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
Jordi Boggiano
9bcd1b3e5f [Security] Fixed indenting 2011-02-12 22:14:16 +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
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
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
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
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
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
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
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
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
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
pborreli
7ad4f99153 [HttpFoundation] File/UploadedFile, MimeTest, Exception full coverage 2011-02-06 21:53:36 +01:00
ornicar
afad113297 [HttpKernel] Fix notice in Kernel 2011-02-06 21:42:17 +01:00
Johannes M. Schmitt
2b256a0804 [DependencyInjection] allow null for scalar nodes 2011-02-06 20:50:03 +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
Bernhard Schussek
bd3e6c6b49 [Form] Fixed: Form::bind() throws an exception if form is anonymous 2011-02-06 19:46:28 +01:00
Bernhard Schussek
6ff4120784 [Form] Added Form option "by_reference" so that objects received from parent forms are modified by reference when this option is true (the default)
The implication is that set<Reference>() in the object of the parent form will not be called (and thus not has to be implemented/public).

If you want to suppress this behaviour, manually set "by_reference" to false.
2011-02-06 19:46:28 +01:00
José Nahuel Cuesta Luengo
f08c9480ee [CssSelector] Fixed PHPDoc blocks. 2011-02-06 16:18:25 +01:00
ornicar
9ba2943aff [HttpKernel] Add unit tests for Kernel. Also slightly modify Kernel to make it more testable. 2011-02-06 16:17:35 +01:00
José Nahuel Cuesta Luengo
562ebd5608 [CssSelector] Added PHPDoc blocks to first-level classes. 2011-02-05 23:28:22 +01:00
pborreli
f56a6efbf5 [HttpFoundation] File/File full coverage 2011-02-05 23:24:00 +01:00
Fabien Potencier
e5403490e7 removed the need to define getNamespace() and getPath() in bundles 2011-02-05 22:40:30 +01:00
ornicar
80b03f92b3 [HttpKernel] Throw exception when SQLite statement execution failed
This fixes SQLiteProfilerStorageTest, that was failing using PDO.
2011-02-05 20:44:51 +01:00
Jeremy Mikola
743f25a287 [DependencyInjection] Create explicit factoryClass property for Definitions
Previously, the Definition class was used both for type inference and factory construction (if factoryService was absent). This is fine for cases where classes create instances of themselves (e.g. getInstance() or create()), but leads to ambiguity when we have a separate factory class.
2011-02-05 20:39:42 +01:00
Fabien Potencier
37537e3e8c fixed previous commit 2011-02-04 19:38:42 +01:00
Lukas Kahwe Smith
dd71501f54 some fixes by just "blindly" trying to make phpStorm code analysis happier 2011-02-04 19:30:28 +01:00
Fabien Potencier
195c971da6 removed load() from EngineInterface 2011-02-04 19:28:14 +01:00
Martijn Evers
1e3dc1479c [Testing][HttpKernel] Added possibility to functional test raw body data 2011-02-04 13:07:13 +01:00
Fabien Potencier
2dfac2a881 fixed typo 2011-02-04 12:20:47 +01:00
Fabien Potencier
f455700b88 fixed previous commit 2011-02-04 12:18:26 +01:00
Victor Berchet
3ed47114d6 [Bundle] Make getPath() less error prone by allowing both backward and forward slashes 2011-02-04 12:12:19 +01:00
Victor Berchet
2a97f89897 [Bundle] Small optimization 2011-02-04 12:10:16 +01:00
Victor Berchet
84bbb945d7 [UniversalClassLoader] Small optimization 2011-02-04 12:10:16 +01:00
marc.weistroff
1316fb547e Reverted e557500c97 and edf57fc392 which deleted the getRequest() method in HttpCache as this methods is needed in the Esi class. 2011-02-04 11:37:09 +01:00
Bernhard Schussek
2276b98fc1 [Form] Fixed: ChoiceFields never validated 2011-02-04 11:30:49 +01:00
Fabien Potencier
6ed7dc1e5a made a small optimization 2011-02-04 05:45:07 +01:00
Lukas Kahwe Smith
661d5d236c fixed method call, cosmetic variable rename 2011-02-04 00:32:15 +01:00
Fabien Potencier
93fc26d869 [EventDispatcher] simplified code (thanks Kris Wallsmith for the tip) 2011-02-04 00:29:28 +01:00
Daniel Holmes
f4282eea98 [Routing] added support for non-standard port numbers in absolute urls 2011-02-04 00:25:25 +01:00
Fabien Potencier
b6f400a2bc [DependencyInjection] made an optimization on dumped DIC
When dumping a Container, and if it is frozen, we use a plain
PHP array for parameters instead of a ParameterBag.
2011-02-04 00:17:51 +01:00
Fabien Potencier
2d69369c69 [ClassLoader] added the possibility to define more than one directory for a namespace or a prefix 2011-02-03 22:44:22 +01:00
Fabien Potencier
c05fb03c7d [HttpKernel] changed the core.view event to only be notified when the controller does not return a Response 2011-02-03 19:39:28 +01:00
Bernhard Schussek
a725415440 [Form] Fixed RepeatedField not to trigger NotNull/NotBlank errors if any of the fields was filled in 2011-02-03 13:28:29 +01:00
Bernhard Schussek
39c148197f [Form] Fixed form validation
Separated validation of data and form had serious drawbacks. When a form had nested form whose data was not connected to the data of the root form, this data would not be validated.

The new implementation validates the whole object graph at once. Class Form has a new method validateData(), that manually passes the data to the GraphWalker of the Validator and overrides the Default group with the groups set in the form.
2011-02-03 13:21:44 +01:00
Bernhard Schussek
1a34743990 [Validator] Fixed: Collections annotated with @Valid may contain scalar values. These values are ignored by the GraphWalker 2011-02-03 13:21:37 +01:00
Bernhard Schussek
50955a3919 [Validator] Fixed PropertyPath to read array indices with special characters 2011-02-03 11:28:51 +01:00
Bernhard Schussek
55a97ec78e [Validator] Made GraphWalker::validateReference() method public 2011-02-03 11:00:03 +01:00
Bernhard Schussek
5ed4d91bb8 [Validator] Implemented Execute constraint 2011-02-03 11:00:03 +01:00
Bernhard Schussek
eb918ac86d [Form] Fixed prototype option in CollectionField 2011-02-02 17:52:58 +01:00
Bernhard Schussek
7c9c7af863 [Form] Fixed arrays not to be passed to the validator 2011-02-02 17:32:24 +01:00
Bernhard Schussek
5e3fab214e [Form] The form is now validated seperatedly from its data. The form is validated in group "Default", the data in the group set in option "validation_groups" 2011-02-02 15:25:05 +01:00
Bernhard Schussek
c923af2879 [Form] Adapted constructor of CollectionField to match the constructors of the other fields. The field prototype is now optional. 2011-02-02 14:46:33 +01:00
Bernhard Schussek
265cdd148f [Form] Removed unused property from Field 2011-02-02 14:46:33 +01:00
Bernhard Schussek
4f0283a508 [Form] Removed Form::isBound(). Form::bind() is only a shortcut method now, use Form::isSubmitted() if you want to find out whether a form was submitted. 2011-02-02 14:46:33 +01:00
Bernhard Schussek
628a4d1fd8 [Form] Refactored validation logic into validate() method. Removed bindGlobals() to reduce API clutter 2011-02-02 14:46:33 +01:00
Fabien Potencier
5288381f61 Revert "[Security] Missing Event namespace in SwitchUserListener"
This reverts commit 0169892dcd.
2011-02-02 14:35:29 +01:00
Thomas
e6dc155e89 fix validator class metadata warning 2011-02-02 11:37:41 +01:00
Jeremy Mikola
4e0db56810 [Form] Fix getValidator() to reference the "validator" option instead of property 2011-02-02 11:34:18 +01:00
Fabien Potencier
209dcfefce [From] fixed phpdoc 2011-02-02 11:34:10 +01:00
Jeremy Mikola
0169892dcd [Security] Missing Event namespace in SwitchUserListener 2011-02-02 11:32:56 +01:00
Johannes M. Schmitt
2b697423b4 [Security] bug fix in FormAuthenticationEntryPoint 2011-02-02 11:31:28 +01:00
Sebastian Utz
4d5853866a [Security] fixed a Token serialization bug 2011-02-02 11:31:28 +01:00
Johannes M. Schmitt
fbc21fedf7 [Security] some bug fixes 2011-02-02 11:31:28 +01:00
Thomas
7b9b90809a fix variable name 2011-02-02 11:30:30 +01:00
Johannes Schmitt
b484763a7a [DependencyInjection] added first version of the config normalizer
This is mainly intended for complex configurations to ease the work you
have with normalizing different configuration formats (YAML, XML, and PHP).

First, you have to set-up a config tree:

    $treeBuilder = new TreeBuilder();
    $tree = $treeBuilder
        ->root('security_config', 'array')
            ->node('access_denied_url', 'scalar')->end()
            ->normalize('encoder')
            ->node('encoders', 'array')
                ->key('class')
                ->prototype('array')
                    ->before()->ifString()->then(function($v) { return array('algorithm' => $v); })->end()
                    ->node('algorithm', 'scalar')->end()
                    ->node('encode_as_base64', 'scalar')->end()
                    ->node('iterations', 'scalar')->end()
                ->end()
            ->end()
        ->end()
        ->buildTree()
    ;

This tree and the metadata attached to the different nodes is then used
to intelligently transform the passed config array:

    $normalizedConfig = $tree->normalize($config);
2011-02-01 16:07:04 +01:00
Bernhard Schussek
a28151a8af [Form] Removed FormFactory and improved the form instantiation process
With the form factory there was no reasonable way to implement instantiation of custom form classes. So the implementation was changed to let the classes instantiate themselves. A FormContext instance with default settings has to be passed to the creation method. This context is by default configured in the DI container.

	$context = $this->get('form.context');
	// or
	$context = FormContext::buildDefault();
	$form = MyFormClass::create($context, 'author');

If you want to circumvent this process, you can also create a form manually. Remember that the services stored in the default context won't be available then unless you pass them explicitely.

	$form = new MyFormClass('author');
2011-02-01 15:27:12 +01:00
Bernhard Schussek
fb1f99137d [Form] Changed semantics of a "bound" form
A form now always has to be bound, independent of whether the request is a POST request or not. The bind() method detects itself whether the request was a post request or not and reads its data accordingly. The "old" bind()/isBound() methods were renamed to submit()/isSubmitted().

	$form = new Form('author');
	$form->bind($request, $author);

	if ($form->isValid()) {
		// isValid() implies isSubmitted(), non-submitted forms can
		// never be valid
		// do something with author now
	}

Alternatively, you can only bind global variables, if you don't have a request object.

	$form->bindGlobals($author);

Note that the $author object is in both cases optional. You can also pass no object at all and read the data using $form->getData(), but then no validation will occur. You can also prefill the form with an object during instantiation.

	$form = new Form('author', array('data' => $author));
	$form->bind($request);

	// etc.
2011-02-01 15:27:12 +01:00
Bernhard Schussek
e5ed98c324 [Form] Added option 'data' to Field for populating a field with a fixed value 2011-02-01 15:27:12 +01:00
Bernhard Schussek
fdbc064f06 [Form] Removed automatic distribution of the locale in the Form component. This leads to more problems than it solves. 2011-02-01 15:27:12 +01:00
Bernhard Schussek
c468db5c5b [Form] Merged classes FieldGroup and Form for simplicity 2011-02-01 15:27:12 +01:00
Bernhard Schussek
7680657944 [Form] Form::isPostMaxSizeReached() only triggers for root forms 2011-02-01 15:27:12 +01:00
Bernhard Schussek
4fcb98547c [Form] Simplified Form::bind(), added convenience methods Form::bindRequest() and Form::bindGlobals() 2011-02-01 15:27:12 +01:00
Bernhard Schussek
57cbd57265 [Form] Fields may now be anonymous, but anonymous fields must not be added to groups. They can only be used as prototypes 2011-02-01 15:27:12 +01:00
Bernhard Schussek
916e599937 [Form] Fixed broken namespace paths 2011-02-01 15:27:12 +01:00
Bernhard Schussek
d152b5e265 [Form] Moved Doctrine2 specific files 2011-02-01 15:27:12 +01:00
Bernhard Schussek
3bf9f7782d [DoctrineBundle][Form] Implemented EntityFieldFactoryGuesser 2011-02-01 15:27:12 +01:00
Bernhard Schussek
347c069e8d [DoctrineBundle][Form] Implemented EntityChoiceField 2011-02-01 15:27:12 +01:00
Lukas Kahwe Smith
46d900682f is_scalar(null) !== true 2011-02-01 13:55:10 +01:00
Victor Berchet
cb445b9ca0 [Container] Tweak code 2011-02-01 13:21:10 +01:00
Bernhard Schussek
22c12e2c8f [HttpFoundation] Fixed failing tests introduced in 8dd0c5641a 2011-01-31 15:38:13 +01:00
Fabien Potencier
2c4355460e [HttpKernel] added a StoreInterface 2011-01-31 14:15:12 +01:00
Fabien Potencier
839cb027a6 [HttpKernel] added a bootstrap file for HTTP cache front controllers 2011-01-31 08:30:32 +01:00
Fabien Potencier
b52e28243d [HttpFoundation] added ApacheRequest 2011-01-31 08:28:55 +01:00
Fabien Potencier
8dd0c5641a [HttpFoundation] made small optimizations 2011-01-31 08:26:40 +01:00
Victor Berchet
f470c5605e [Request] Fix getting mime type 2011-01-30 20:14:40 +01:00
Fabien Potencier
b1448ecdc7 [HttpFoundation] fixed typo 2011-01-30 20:13:00 +01:00
Fabien Potencier
0c439e2c64 updated bootstrap.php 2011-01-30 11:07:12 +01:00
Fabien Potencier
3686edf769 [ClassLoader] made a small optimization 2011-01-30 10:53:57 +01:00
Fabien Potencier
ee3d03ee8a [HttpFoundation] made Request::create() overridable 2011-01-30 10:53:45 +01:00
Fabien Potencier
e081e5919e reverted changes to the adaptive cache loader cache 2011-01-29 17:58:40 +01:00
Victor Berchet
5e5b6f0cf8 [HttpKernel] made sure that parent bundles are registered before their descendants 2011-01-29 16:38:06 +01:00
Dominique Bongiraud
996c2b0914 [HttpFoundation] Moved licence 2011-01-29 16:12:10 +01:00
Fabien Potencier
55f38e10af [HttpKernel] simplified code 2011-01-29 15:36:57 +01:00
Fabien Potencier
5f11e49d0b [HttpKernel] made exceptions more robust (avoid too deep nested arrays PHP errors) 2011-01-29 15:31:46 +01:00
Fabien Potencier
dacb25f13a updated bootstrap.php 2011-01-29 15:20:21 +01:00
Fabien Potencier
8ac1a189bf [HttpKernel] removed unnecessary code 2011-01-29 12:18:16 +01:00
Victor Berchet
65eb70d3b6 [Kernel] Tweak bundle management 2011-01-29 10:15:25 +01:00
Sergey Linnik
92ddaa11cd Fixed typo 2011-01-28 18:46:27 +01:00
Fabien Potencier
4e89fede54 [HttpKernel] removed a stupid line of code 2011-01-28 18:42:34 +01:00
Fabien Potencier
8df5d42009 [HttpKernel] fixed typo 2011-01-28 18:31:55 +01:00
Benjamin Eberlei
6ac5c298bd [Console] Add missing method isInteractive() to InputInterface and added some docblock comments to all interface methods. 2011-01-28 18:28:17 +01:00
Bulat Shakirzyanov
5252d3aef0 [Serializer] switched to setEncoder, to be consistent with getEncoder 2011-01-28 18:24:34 +01:00
Johannes M. Schmitt
62d52d8015 enables normalizeConfig() to handle irregular plural forms, e.g. factory -> factories 2011-01-28 18:22:17 +01:00
Bulat Shakirzyanov
81219bba15 [Security] fixed typo 2011-01-28 18:20:59 +01:00
Bulat Shakirzyanov
799375dfd6 [EventDispatcher] removed unused class variable 2011-01-28 16:36:43 +01:00
Fabien Potencier
01439d5f14 updated bootstrap file 2011-01-28 10:11:09 +01:00
Bernhard Schussek
ebd2ca6cfe [Form] Moved option 'empty_value' to ChoiceField. An empty value is displayed if the field is not required. 2011-01-28 09:22:06 +01:00
Bernhard Schussek
34865a3533 [Form] Added a field guess for AssertType('\DateTime') constraint 2011-01-28 09:20:58 +01:00
Bernhard Schussek
ce61baf717 [Form] ChoiceField now accepts closures in the 'choices' option 2011-01-28 09:20:41 +01:00
Bernhard Schussek
9e6e95d7e4 [Form] Fixed: required setting in FieldFactory is now properly overridable 2011-01-28 09:20:27 +01:00
Bernhard Schussek
0c3ca26e6e [Validator] Implemented traversing of \Traversable objects using the @Valid constraint. Can be disabled by setting the @Valid option 'traverse' to false 2011-01-28 09:19:32 +01:00
Johannes Schmitt
803dd58002 add definition inheritance support 2011-01-28 09:12:29 +01:00
Fabien Potencier
98c1056fbf renamed Request::fromGlobals() to Request::createFromGlobals() (for consistency with the existing create() method) 2011-01-27 21:20:08 +01:00
Kris Wallsmith
224e66f77b [HttpFoundation] added static Request::fromGlobals()
The Request constructor no longer uses values from PHP's super globals. If you want a Request populated with these values you must use the new static method Request::fromGlobals().

Your front controllers (i.e. web/app.php, web/app_dev.php ...) will need to be updated:

    // old
    $kernel->handle(new Request())->send();

    // new
    $kernel->handle(Request::fromGlobals())->send();
2011-01-27 21:12:55 +01:00
Johannes M. Schmitt
f3c2e98b25 lazy-load the compiler, and related objects 2011-01-27 21:06:49 +01:00
Fabien Potencier
2509c9da4b added an autoloader that uses a class map
A class in Symfony2 can be loaded by four different mechanisms:

 * bootstrap.php: This file contains classes that are always required and
   needed very early in the request handling;

 * classes.php: This file contains classes that are always required and
   managed by extensions via addClassesToCompile();

 * MapFileClassLoader: This autoloader uses a map of class/file to load
   classes (classes are managed by extensions via addClassesToAutoloadMap(),
   and should contain often used classes);

 * UniversalAutolaoder: This autoloader loads all other classes (it's the
   slowest one).
2011-01-27 16:30:58 +01:00
Fabien Potencier
02820a5a56 [HttpKernel] fixed phpdoc 2011-01-27 16:30:58 +01:00
Fabien Potencier
95e10b3ed9 moved ClassLoaderCollection class to the ClassLoader component 2011-01-27 14:11:54 +01:00
Fabien Potencier
db818284af moved class compiled in cache to the FrameworkBundle 2011-01-27 14:07:30 +01:00
Fabien Potencier
6997fbac0d fixed previous commit 2011-01-27 13:58:21 +01:00
Johannes M. Schmitt
8ccb8eb8c2 added two events "security.interactive_login", and "security.switch_user" 2011-01-27 13:49:01 +01:00
Johannes M. Schmitt
00d3d8c3bc renamed PreAuthenticatedListener to AbstractPreAuthenticatedListener to be consistent 2011-01-27 13:49:01 +01:00
Johannes Schmitt
139510a78e added some doc comments 2011-01-27 13:49:00 +01:00
Fabien Potencier
42f9c556a3 moved the class loader to its own component 2011-01-27 13:04:16 +01:00
Fabien Potencier
0219ec3dbc [DependencyInjection] added missing methods in ContainerInterface 2011-01-27 08:42:22 +01:00
Johannes M. Schmitt
cf64d2cfe7 namespace changes
Symfony\Component\Security -> Symfony\Component\Security\Core
Symfony\Component\Security\Acl remains unchanged
Symfony\Component\HttpKernel\Security -> Symfony\Component\Security\Http
2011-01-26 22:23:20 +01:00
Fabien Potencier
e557500c97 [HttpKernel] removed obsolete code 2011-01-26 21:51:35 +01:00
Fabien Potencier
edf57fc392 [HttpKernel] removed obsolete code 2011-01-26 21:48:48 +01:00
Fabien Potencier
75404e6bd6 renamed HttpKernel/Cache/ namespace to HttpKernel/HttpCache/ 2011-01-26 21:44:54 +01:00
Fabien Potencier
e645090423 moved security related things to a new SecurityBundle (the Security component is left unchanged) 2011-01-26 19:10:54 +01:00
Johannes M. Schmitt
a367dfc3ec fixes a bug where RememberMeServices were not called consistently 2011-01-26 16:38:54 +01:00
Johannes Schmitt
e0fe42d050 removed isAuthenticated() from SecurityContext 2011-01-26 16:38:54 +01:00
Johannes Schmitt
57ae50e894 [Security] many improvements, and fixes 2011-01-26 16:38:54 +01:00
Fabien Potencier
fb889a2eee replaced some var_export() with json_encode() for better readability 2011-01-26 15:55:28 +01:00
Fabien Potencier
5d963f5460 [Templating] fixed PhpEngine::render() when the name passed to it is already an array 2011-01-26 15:34:10 +01:00
Fabien Potencier
db2f2b1315 refactored template name parser to occur independently of the loaders 2011-01-26 14:53:12 +01:00
Fabien Pennequin
956857119b [Form] Fixed typo in phpdoc 2011-01-26 10:36:10 +01:00
Fabien Pennequin
c392f2518d [Form][Validator] Fixed indentation 2011-01-26 10:36:10 +01:00
Fabien Potencier
8b62df7247 changed the EventDispatcher and Event interfaces
The three notification methods do not return the Event instance anymore.

notify() does not return anything
notifyUntil() returns the returned value of the event that has processed the event
filter() returns the filtered value

Upgrading your listeners:
Listeners for notify() and filter() events: nothing to change
Listeners for notifyUntil() events:

Before:

    $event->setReturnValue('foo');
    return true;

After:

    $event->setProcessed();
    return 'foo';

If you notify events, the processing also need to be changed:

For filter() notifications: the filtered value is now available as
the returned value of the filter() method.

For notifyUntil() notifications:

Before:

    $event = $dispatcher->notifyUntil($event);
    if ($event->isProcessed()) {
        $ret = $event->getReturnValue();

        // do something with $ret
    }

After:

    $ret = $dispatcher->notifyUntil($event);
    if ($event->isProcessed()) {
        // do something with $ret
    }
2011-01-26 08:41:59 +01:00
Fabien Potencier
a66d050bdb removed KernelInterface::reboot() method 2011-01-26 08:41:59 +01:00
Fabien Potencier
fb4e7fb5c5 added KernelInterface 2011-01-25 17:10:47 +01:00
Johannes Schmitt
40dec8831f adds helper method to normalize keys 2011-01-25 15:59:51 +01:00
Johannes M. Schmitt
6bbfffb981 added path, and domain to clearCookie() in accordance with RFC 2109, and RFC 2965 2011-01-25 15:58:01 +01:00
marc.weistroff
90c16c7350 [HttpKernel] Changed the directory name in which Store stores data.
Previously, it used this pattern:

md/abcd/123456789

now it uses this one :

md/ab/cd/123456789
2011-01-25 15:55:18 +01:00
Fabien Potencier
0e66e388ec added two interfaces: EventInterface and EventDispatcherInterface 2011-01-25 14:23:32 +01:00
jeromemacias
b325487388 [HttpKernel] Removed calls to undefined variable + added check on mkdir in save method 2011-01-25 12:17:26 +01:00
Johannes Schmitt
a4de7dab10 make normalizeConfig public and static 2011-01-25 11:40:02 +01:00
Fabien Potencier
97897f532a [Form] removed obsolete method 2011-01-25 11:37:48 +01:00
Bernhard Schussek
d017970867 [Form] Implemented FormFactory::buildDefault() to ease the use of the new CSRF implementation without the DIC 2011-01-25 11:31:04 +01:00
Bernhard Schussek
7848a7ca63 [Form] Refactored CSRF implementation to be reusable and to work correctly with the session service 2011-01-25 11:31:04 +01:00
Ryan Weaver
d341e8bccb [Form] Adding PHPDoc to many Field objects and making other small changes:
* Added empty_value option on CountryField, LanguageField, LocaleField, TimezoneField
 * Added missing date_pattern to DateTimeField
 * Made the currency option on MoneyField required.
2011-01-25 11:10:25 +01:00
Jordi Boggiano
08f8b223ff [Serializer] Added hasEncoder and getEncoder to the SerializerInterface 2011-01-25 11:06:18 +01:00
Jordi Boggiano
6f5c2e2d8b [Serializer] Abstract classes now implement their respective interfaces 2011-01-25 11:06:18 +01:00
Jordi Boggiano
cbd4fdd398 [Serializer] JsonEncoder must return arrays only 2011-01-25 11:06:18 +01:00
Andy Stanberry
0ef67112b2 [Console] added writeln to the OutputInterface 2011-01-25 10:05:07 +01:00
Fabien Potencier
561a3e47b3 [HttpKernel] made another speed optimization 2011-01-25 09:33:07 +01:00
Fabien Potencier
79dce161dd made a performance optimization
To benefit from the optimization, you need to change this line from your
autoload.php:

require_once $vendorDir.'/symfony/src/Symfony/Component/HttpFoundation/UniversalClassLoader.php';

to this one:

require_once $vendorDir.'/symfony/src/Symfony/Component/HttpKernel/bootstrap.php';

Notice that if you don't do this change, your app will in fact be slower than before.
2011-01-25 09:06:12 +01:00
Fabien Potencier
3e71c2c76e [DependencyInjection] made a small speed optimization 2011-01-25 08:41:58 +01:00
Johannes Schmitt
f29a5f74a1 made the DI config validation more strict to catch errors early 2011-01-24 21:15:48 +01:00
Fabien Potencier
9607e61d86 [Console] fixed typo 2011-01-24 19:05:36 +01:00
Bulat Shakirzyanov
14e4b9733d [HttpFoundation] fixed FileBag to handle sub-requests 2011-01-24 18:22:48 +01:00
Fabien Potencier
d0b4bfc8f6 added a cache warmer sub-framework
Cache warmer will come in the next commits.

To warm up the cache on a production server, you can use
the cache:warmup command:

./app/console_prod cache:warmup
2011-01-24 18:08:51 +01:00
Bulat Shakirzyanov
04e16e433d [DependencyInjection] fixed ResolveInterfaceInjectorsPass, as services might not have a class defined due to a scope (e.g. 'request') 2011-01-24 17:55:09 +01:00
Johannes M. Schmitt
e55f150fb7 adds hasTag() to Definition 2011-01-24 17:46:22 +01:00
Fabien Potencier
ca8c7907e2 [Routing] added setContext() method to both matchers and generators 2011-01-24 16:59:32 +01:00
Fabien Potencier
49793c22d4 fixed event dispatcher 2011-01-24 16:46:04 +01:00
Johannes Schmitt
6432dea07c adds migrate() to Session
This migrates the session to a new session id while not deleting the
actual session attributes.
2011-01-23 21:52:31 +01:00
Johannes M. Schmitt
0144dd86da adds synthetic attribute to definitions
This attribute can be used to hint that the service is being injected
dynamically at runtime, and not constructed by the DIC.
2011-01-23 21:11:50 +01:00
Fabien Potencier
67790c129b updated bootstrap file 2011-01-23 18:10:25 +01:00
Fabien Potencier
1c11d81611 made all event listeners lazy loaded
* The register() method on all listeners has been removed
 * Instead, the information is now put directly in the DIC tag

For instance, a listener on core.request had this method:

   public function register(EventDispatcher $dispatcher, $priority = 0)
   {
       $dispatcher->connect('core.response', array($this, 'filter'), $priority);
   }

And this tag in the DIC configuration:

  <tag name="kernel.listener" />

Now, it only has the following configuration:

  <tag name="kernel.listener" event="core.response" method="filter" priority="0" />

The event and method attributes are now mandatory.
2011-01-23 18:07:05 +01:00
Fabien Potencier
622d228090 [HttpKernel] fixed typo 2011-01-23 14:10:12 +01:00
Fabien Potencier
09aeb78634 removed Kernel::isBooted() method 2011-01-23 13:17:50 +01:00
Jordi Boggiano
005c1d9df8 [Serializer] Added initial version of the Serializer component 2011-01-23 12:34:47 +01:00
Fabien Potencier
e5c8d7aa4f [HttpKernel] fixed typo in phpdoc 2011-01-23 12:10:45 +01:00
Fabien Potencier
e151580212 [HttpKernel] removed getRequest as it's not part of the interface anymore 2011-01-23 11:23:30 +01:00
Fabien Potencier
0b05fe1b1f [HttpKernel] fixed HTTP headers when requesting a HEAD on a cached response 2011-01-23 08:16:18 +01:00
Bulat Shakirzyanov
271e757f27 [HttFoundation] extracted FileBag, ServerBag, fixed HeaderBag::add(), updated Request test 2011-01-23 07:40:31 +01:00
Fabien Potencier
183c8c6f6c fixed CS 2011-01-23 07:37:01 +01:00
Jordi Boggiano
74272e02da [HttpKernel] Added path to controller not found exception 2011-01-23 07:35:41 +01:00
Ryan Weaver
35ce9a37d1 [Form] Adding PHPDoc to ChoiceField and removing two unused options.
I believe the empty_value option is just a leftover Django-style option for what value the field should have if left blank. I don't see this doing anything and find no reference to anything like it anywhere else.

The separator option functionality is currently handled as a parameter in the field render functions. I think this should be moved to an option on the field, but this reflects teh current functionality (i.e. this option is not used).
2011-01-22 20:05:10 +01:00
Fabien Potencier
4909987e23 [DependencyInjection] fixed strict flag propagation to aliases 2011-01-22 16:05:51 +01:00
Fabien Potencier
959438ee81 [DependencyInjection] fixed CS + tweaked error messages 2011-01-22 15:35:59 +01:00
Johannes M. Schmitt
1d5b6ed908 adds scope to the DI container 2011-01-22 15:20:50 +01:00
Fabien Potencier
69f0ec3b1a added a method to normalize config entries coming from YAML and XML 2011-01-21 17:44:30 +01:00
Johannes M. Schmitt
bdc7ae8c52 show cookies in response headers 2011-01-21 17:06:04 +01:00
Johannes M. Schmitt
8d19136a55 refactors extensions to call XXXLoad only once with all config sections 2011-01-21 17:04:18 +01:00
Fabien Potencier
bd6bc4db62 [HttpKernel] changed Kernel::locateResource() to also work with directories 2011-01-21 16:42:57 +01:00
Fabien Potencier
8649debb06 [Routing] fixed imports from the current directory 2011-01-21 12:06:06 +01:00
Johannes M. Schmitt
507da2a1ab some performance tweaks
This adds lazy loading for firewall configurations. This is useful when you have multiple firewalls, only the firewalls which are actually needed to process the Request are initialized. So, your event dispatcher is not as costly to initialize anymore.

It also implements re-using of RequestMatchers if all matching rules are the same, and exposes the remaining rules which are already implemented by the request matcher (host, ip, methods) in the access-control section
2011-01-21 11:57:43 +01:00
Thomas
dd20434227 fix kernel:locateResource to loop accross the bundle tree to find the first match 2011-01-21 11:52:51 +01:00
Fabien Potencier
0b0c15b7b6 made XSD less strict when possible 2011-01-21 10:53:13 +01:00
Fabien Potencier
1583c8b9ef updated bootstrap file 2011-01-21 10:51:51 +01:00
Ryan Weaver
17f9162b89 [Standards] Changing many instances of "boolean" to "Boolean". 2011-01-21 09:53:24 +01:00
Fabien Potencier
e6f1248151 [HttpKernel] added back Bundle::getName() as it is quite useful 2011-01-21 09:45:37 +01:00
Fabien Potencier
6d1e91a1fa refactored bundle management
Before I explain the changes, let's talk about the current state.

Before this patch, the registerBundleDirs() method returned an ordered (for
resource overloading) list of namespace prefixes and the path to their
location. Here are some problems with this approach:

 * The paths set by this method and the paths configured for the autoloader
   can be disconnected (leading to unexpected behaviors);

 * A bundle outside these paths worked, but unexpected behavior can occur;

 * Choosing a bundle namespace was limited to the registered namespace
   prefixes, and their number should stay low enough (for performance reasons)
   -- moreover the current Bundle\ and Application\ top namespaces does not
   respect the standard rules for namespaces (first segment should be the
   vendor name);

 * Developers must understand the concept of "namespace prefixes" to
   understand the overloading mechanism, which is one more thing to learn,
   which is Symfony specific;

 * Each time you want to get a resource that can be overloaded (a template for
   instance), Symfony would have tried all namespace prefixes one after the
   other until if finds a matching file. But that can be computed in advance
   to reduce the overhead.

Another topic which was not really well addressed is how you can reference a
file/resource from a bundle (and take into account the possibility of
overloading). For instance, in the routing, you can import a file from a
bundle like this:

  <import resource="FrameworkBundle/Resources/config/internal.xml" />

Again, this works only because we have a limited number of possible namespace
prefixes.

This patch addresses these problems and some more.

First, the registerBundleDirs() method has been removed. It means that you are
now free to use any namespace for your bundles. No need to have specific
prefixes anymore. You are also free to store them anywhere, in as many
directories as you want. You just need to be sure that they are autoloaded
correctly.

The bundle "name" is now always the short name of the bundle class (like
FrameworkBundle or SensioCasBundle). As the best practice is to prefix the
bundle name with the vendor name, it's up to the vendor to ensure that each
bundle name is unique. I insist that a bundle name must be unique. This was
the opposite before as two bundles with the same name was how Symfony2 found
inheritance.

A new getParent() method has been added to BundleInterface. It returns the
bundle name that the bundle overrides (this is optional of course). That way,
there is no ordering problem anymore as the inheritance tree is explicitely
defined by the bundle themselves.

So, with this system, we can easily have an inheritance tree like the
following:

FooBundle < MyFooBundle < MyCustomFooBundle

MyCustomFooBundle returns MyFooBundle for the getParent() method, and
MyFooBundle returns FooBundle.

If two bundles override the same bundle, an exception is thrown.

Based on the bundle name, you can now reference any resource with this
notation:

    @FooBundle/Resources/config/routing.xml
    @FooBundle/Controller/FooController.php

This notation is the input of the Kernel::locateResource() method, which
returns the location of the file (and of course it takes into account
overloading).

So, in the routing, you can now use the following:

    <import resource="@FrameworkBundle/Resources/config/internal.xml" />

The template loading mechanism also use this method under the hood.

As a bonus, all the code that converts from internal notations to file names
(controller names: ControllerNameParser, template names: TemplateNameParser,
resource paths, ...) is now contained in several well-defined classes. The
same goes for the code that look for templates (TemplateLocator), routing
files (FileLocator), ...

As a side note, it is really easy to also support multiple-inheritance for a
bundle (for instance if a bundle returns an array of bundle names it extends).
However, this is not implemented in this patch as I'm not sure we want to
support that.

How to upgrade:

 * Each bundle must now implement two new mandatory methods: getPath() and
   getNamespace(), and optionally the getParent() method if the bundle extends
   another one. Here is a common implementation for these methods:

    /**
     * {@inheritdoc}
     */
    public function getParent()
    {
        return 'MyFrameworkBundle';
    }

    /**
     * {@inheritdoc}
     */
    public function getNamespace()
    {
        return __NAMESPACE__;
    }

    /**
     * {@inheritdoc}
     */
    public function getPath()
    {
        return strtr(__DIR__, '\\', '/');
    }

 * The registerBundleDirs() can be removed from your Kernel class;

 * If your code relies on getBundleDirs() or the kernel.bundle_dirs parameter,
   it should be upgraded to use the new interface (see Doctrine commands for
   many example of such a change);

 * When referencing a bundle, you must now always use its name (no more \ or /
   in bundle names) -- this transition was already done for most things
   before, and now applies to the routing as well;

 * Imports in routing files must be changed:
    Before: <import resource="Sensio/CasBundle/Resources/config/internal.xml" />
    After:  <import resource="@SensioCasBundle/Resources/config/internal.xml" />
2011-01-20 18:42:47 +01:00
Ryan Weaver
cf1512dce8 [Form] Fixing the object versus normalized data PHPDoc on Field, which I believe was backwards. 2011-01-20 16:37:33 +01:00
Ryan Weaver
d41b4ec109 [Form] adding PHPDoc and some small PHPDoc changes. 2011-01-20 16:37:31 +01:00
Ryan Weaver
82283db789 [Form] Making the constructor inherit docs. 2011-01-20 16:37:27 +01:00
Fabien Potencier
67f13fee9e [HttpKernel] made a small tweak 2011-01-20 11:38:17 +01:00
Fabien Potencier
24ff22af07 [HttpFoundation] added a directory fallback for when the class is not found in registered namespaces and class prefixes 2011-01-20 10:20:14 +01:00
Jeremy Mikola
e414e06327 [HttpKernel] Fix AccessDecisionManagerInterface::decide() invocation in SwitchUserListener 2011-01-20 07:14:46 +01:00
Johannes M. Schmitt
84fa4b50db adds setArgument to Definition 2011-01-19 21:48:56 +01:00
Bernhard Schussek
d143eaad72 [Validator] Fixed XML schema 2011-01-19 16:50:45 +01:00
Jordi Boggiano
8800452b1c [Form] Fixed some documentation 2011-01-19 16:37:02 +01:00
Jordi Boggiano
d928632583 [Form] Made RepeatedField sub-field names configurable 2011-01-19 16:36:57 +01:00
Bernhard Schussek
d327a90ff2 [Validator] Added namespace prefix support for XML and YAML loaders 2011-01-19 16:25:50 +01:00
Bernhard Schussek
2d7c47e488 [Validator] Each object is now only validated once for a given group 2011-01-19 16:25:50 +01:00
Bernhard Schussek
d52ae8e103 [Validator] Removed unused class GroupChain 2011-01-19 16:25:50 +01:00
Bernhard Schussek
eed3c9a48c [Validator] Added abstract method Constraint::targets() to define whether constraints can be put onto properties, classes or both 2011-01-19 16:25:50 +01:00
Bernhard Schussek
6ad22fd702 [Validator] Added ValidatorFactory for programmatically creating validators 2011-01-19 16:25:50 +01:00
Bernhard Schussek
8f8f53d631 [Form][FrameworkBundle] Implemented FormFactory and added it to the DI container 2011-01-19 16:25:50 +01:00
Jordi Boggiano
59957727e3 [Form] Allow setting the date_format option via DateTimeField 2011-01-19 16:25:49 +01:00
Victor Berchet
3e8f8ea6af [ProfilerStorage] Make write() returns a status (Boolean) 2011-01-19 07:38:46 +01:00
Victor Berchet
db42ab21f0 [SQLiteProfilerStorage] Escape '\' in find() 2011-01-19 07:35:20 +01:00
Bulat Shakirzyanov
267a7e6956 [HttpKernel] fixed Cache, to respect the variable and trigger error handling 2011-01-19 07:31:27 +01:00
Kris Wallsmith
8d6da86016 [DependencyInjection] moved loading stack from static to object scope 2011-01-19 07:28:42 +01:00
Jordi Boggiano
afbf6bfdc7 Added missing HTTP status code 418 2011-01-19 07:21:06 +01:00
Lukas Kahwe Smith
3d77302609 if( -> if ( 2011-01-19 07:20:27 +01:00
Lukas Kahwe Smith
ddea635a51 fixes else -> } else 2011-01-19 07:20:23 +01:00
Fabien Potencier
40a70cd6f4 simplified TemplateNameParser::parse() return value 2011-01-18 19:13:37 +01:00
Fabien Potencier
b4acae5b73 removed defaults to TemplateNameParserInterface::parse() method as it was not used anywhere (everything is explicit now) 2011-01-18 18:51:29 +01:00
Dominique Bongiraud
64fb94c725 normalized license messages in PHP files 2011-01-18 08:07:46 +01:00
Fabien Potencier
a327f1a944 added some phpdoc 2011-01-17 20:41:55 +01:00
Fabien Potencier
00b19e234d fixed typos 2011-01-17 20:23:32 +01:00
Fabien Potencier
f4cf31a275 made some minor tweaks 2011-01-17 17:46:27 +01:00
Fabien Potencier
71d5be1d6b tweaked behavior of ExceptionListener to display better error messages in case of an exception thrown during the handling of an exception 2011-01-17 17:41:48 +01:00
Fabien Potencier
d406ca0d6b [FrameworkBundle] made ESI optional (should now be enabled explicitely) 2011-01-17 16:21:46 +01:00
Fabien Potencier
c5f2ec8d2d made DIC tags only available during "compilation"
Now that we have a compilation phase for the DIC, using tags after compilation
is not needed anymore.

Tags were introduced to allow several independant bundles to be able to
interact which each others (remember that each extension knows nothing about
the others).

But during the compilation phase, the container has been merged ans so, all
the information from all bundles are available. This is then the right place
to deal with tags. That way, less work is needed at runtime and the DIC class
in the cache is also much smaller.

For simple cases, it means that you need to process the tag in a compiler pass
and store the information you need in a DIC parameter (have a look at the
TranslatorPass for a very simple example).

So, the PHP dumper does not add tags to the dumped PHP class anymore (it does
not implements TaggedContainerInterface anymore). But tags are still available
on ContainerBuilder instances.
2011-01-17 11:40:04 +01:00
Christophe Coevoet
105d5918bc Added the roles in the Security panel of the profiler 2011-01-17 07:40:28 +01:00
Fabien Potencier
b7d2528384 added a way for any extension to add classes to the class cache 2011-01-16 11:32:17 +01:00
Fabien Potencier
be35aa1d6a [HttpKernel] added the possibility to add non-namespaced classes to the compiled class cache 2011-01-16 11:32:14 +01:00
Fabien Potencier
612dce873b [DependencyInjection] added the possibility to pass the type of compiler pass in ContainerBuilder::addCompilerPAss 2011-01-16 10:20:13 +01:00
Fabien Potencier
d5c9f37982 [DependencyInjection] added compiler passes as resources 2011-01-16 10:20:10 +01:00
Fabien Potencier
5c64ca8a30 renamed Container::freeze() to Container::compile() 2011-01-16 08:12:36 +01:00
Ryan Weaver
11085fd6a6 [Validator] Adding a significant amount of PHPDoc to the Validator component. 2011-01-16 07:40:15 +01:00
Ryan Weaver
769344733a [Cache] Fixing a coding standard, adding a small note for clarity, and adding a missing type-hint. 2011-01-16 07:39:03 +01:00
Johannes Schmitt
f1b7bc1fe9 some refactorings/improvements 2011-01-15 21:07:35 +01:00
Johannes M. Schmitt
98b52b607c better support for cookie handling, use native PHP function to set cookies 2011-01-15 20:47:29 +01:00
hhamon
e2dc7f47cb [HttpFoundation] use pathinfo() native function to determine file extension. Change File::move() and UploadedFile::move() methods to accept a second argument allowing to move the file with a new name instead of moving it with its original name. 2011-01-15 15:44:50 +01:00
Fabien Potencier
272933d2ce fixed typo 2011-01-15 15:30:15 +01:00
Igor Wiedler
d1bc959fc6 [DependencyInjection] Typo in Container
"freezed" should be "frozen".
2011-01-15 15:22:04 +01:00
Fabien Potencier
7ac6d59173 changed the bundle name to be the class name of the bundle, not the last part of the namespace
Let's take some examples to explain the change.

First, if you don't use any vendored bundles, this commit does not change anything.

So, let's say you use a FooBundle from Sensio. The files are stored under Bundle\Sensio\FooBundle.
And the Bundle class is Bundle\Sensio\FooBundle\SensioFooBundle.php.

Before the change, the bundle name ($bundle->getName()) would have returned 'FooBundle'.
Now it returns 'SensioFooBundle'.

Why does it matter? Well, it makes template names and controller names easier to read:

Before:

    Template: Sensio\FooBundle:Bar:index.twig.html
    Controller: Sensio\FooBundle:Bar:indexAction

After

    Template: SensioFooBundle:Bar:index.twig.html
    Controller: SensioFooBundle:Bar:indexAction

NB: Even if the change seems simple enough, the implementation is not. As finding
the namespace from the bundle class name is not trivial

NB2: If you don't follow the bundle name best practices, this will probably
leads to unexpected behaviors.
2011-01-15 15:17:01 +01:00
Fabien Potencier
5f177d5a51 [HttpKernel] removed unused and bugged method 2011-01-15 14:13:00 +01:00
Fabien Potencier
055b6e4d6e made a big refactoring of the templating sub-framework
* better separation of concerns
 * made TwigBundle independant of the PHP Engine from FrameworkBundle (WIP)
 * removed one layer of abstraction in the Templating component (renderers)
 * made it easier to create a new Engine for any templating library
 * made engines lazy-loaded (PHP engine for instance is not started if you only use Twig)
 * reduces memory footprint (if you only use one engine)
 * reduces size of compiled classes.php cache file
2011-01-15 07:43:05 +01:00
Martin Hason
6011073e7c [DependencyInjection] fixed XmlDumper (corrected validity) 2011-01-14 18:16:11 +01:00
Jeremy Bush
4460b49802 Add support for base tag for Link and Form, Fixes #9422 2011-01-14 17:26:24 +01:00
Fabien Potencier
ea6342413c [DependencyInjection] fixed CS 2011-01-14 17:00:43 +01:00
Martin Hason
5ee48c4963 [DependencyInjection] fix XML entities in XmlDumper 2011-01-14 16:56:44 +01:00
Fabien Potencier
5a800ed551 fixed phpdoc 2011-01-14 14:41:56 +01:00
Linnik Sergey
5bc4b22e42 [Form] Fix PHPDoc 2011-01-14 14:41:07 +01:00
Fabien Potencier
b47cf7984b changed priority meaning to be more intuitive 2011-01-14 14:37:32 +01:00
Victor Berchet
cdd3ac962c [SQLiteProfilerStorage] Improve SQLite storage:
- do not rely on request time for db cleanup (important when importing data),
- add indexes
2011-01-14 08:28:17 +01:00
Victor Berchet
9ec69553f3 [Profiler] Use base64 encoding which is more efficient than unpack (space wise) 2011-01-14 08:28:13 +01:00
Martin Hason
2a3d94a6d0 [DependencyInjection] added support for anonymous services in XmlDumper 2011-01-14 08:25:18 +01:00
Fabien Potencier
36d87d9464 [Templating] removed the Engine::output() method 2011-01-13 13:22:52 +01:00
Fabien Potencier
dd9e7367ef [Templating] fixed phpdoc 2011-01-13 13:18:56 +01:00
Fabien Potencier
09034a1b19 [Templating] fixed Engine::load() method 2011-01-13 13:18:48 +01:00
Fabien Potencier
c38c0c303e refactored Templating
* made the renderer argument of Storage ctor mandatory
 * refactored the Engine class to avoid code duplication
 * simplified the check for a template that extends another one but with a different renderer
2011-01-13 11:16:45 +01:00
Victor Berchet
9770944a1d [SQLiteProfilerStorage] Escape special chars in URLs and IPs 2011-01-13 08:03:02 +01:00
Fabien Potencier
6dd1d6172f fixed some routing patterns 2011-01-12 07:10:57 +01:00
Victor Berchet
0bc6d814c3 [DI Compiler] Make processArguments() process arguments only 2011-01-11 20:29:44 +01:00
Victor Berchet
22f04f50a6 [DI XmlLoader] Add missing type hints 2011-01-11 20:29:29 +01:00
Bulat Shakirzyanov
8cd54453f1 [Form, FrameworkBundle] added csrf tokens reset on Kernel::shutdown() to preven tokens stacking in tests 2011-01-11 20:27:06 +01:00
Fabien Potencier
b63de46374 [Routing] moved from :var to {var}
This follows the "URI template" notation:

http://code.google.com/p/uri-templates/
http://tools.ietf.org/html/draft-gregorio-uritemplate-04

You need to change all your route definitions from something like:

    /article/:id

to something like:

    /article/{id}
2011-01-11 19:13:16 +01:00
Victor Berchet
9a2e053cbc [Event] Collected data is about listener (not event) calls 2011-01-11 14:57:18 +01:00
Martin Hason
08c3a2b40b method buildContainer divided into logical parts 2011-01-11 14:56:28 +01:00
Martin Hason
f41654fd60 [Console] added rendering previous exceptions 2011-01-11 14:52:32 +01:00
Bulat Shakirzyanov
d6b57bce33 [HttpFoundation] fixed error casting broken in DomCrawler\Form::getPhpFiles() 2011-01-10 18:57:55 +01:00
Fabien Potencier
3734c0e01e updated bootstrap file 2011-01-10 08:01:04 +01:00
Igor Wiedler
dedf29ffda [HttpKernel] No longer reformat {} "a la python"
Removing newlines before closing braces leads to issues with heredoc/nowdoc
2011-01-10 08:00:04 +01:00
Ryan Weaver
361a0dc6a0 [Translation] Adding PHPDoc to the MessageSelector::choose() method. 2011-01-09 20:09:57 +01:00
Ryan Weaver
09a876beb9 [HttpFoundation] Adding a few internal notes to clarify the process of setting the cache-control to a default. 2011-01-09 20:00:19 +01:00
Ryan Weaver
99a509708b [HttpFoundation] Correcting the PHPDoc for the public $headers property on Response. 2011-01-09 20:00:14 +01:00
Johannes Schmitt
f1e41a9671 [DependencyInjection] made some improvments to the container compiler
- inline private services which are references multiple times, but where all references originate from the same definition
- bug fix for non-shared services which were considered shared within the scope in which they were inlined
2011-01-09 19:58:51 +01:00
Johannes Schmitt
d1a2a65d19 [DependencyInjection] performance improvement, better analysis tools 2011-01-09 19:58:42 +01:00
Johannes Schmitt
e85546ef7d [DependencyInjection] made some improvments to the container compiler
- added generic repeated pass
- better optimization of services
- started adding some integration tests
2011-01-09 19:58:39 +01:00
umpirsky
bdada47fad [Translation] Added CsvFileLoader to support csv translation resources. 2011-01-08 15:24:01 +01:00
Fabien Potencier
10fee8c8bb [HttpKernel] added escaping to the profiler SQLite storage 2011-01-08 14:29:59 +01:00
Fabien Potencier
1c3a01b25c removed duplicate code 2011-01-07 17:14:41 +01:00
Victor Berchet
96597024e8 [Profiler] Fix importing profiler data 2011-01-07 16:34:42 +01:00
Fabien Potencier
b2a720f2b7 [DependencyInjection] restricted supported for only phar URI 2011-01-07 16:03:57 +01:00
Martin Hason
a11619973b [DependencyInjection] fix xml validation for extension in phar archive 2011-01-07 16:00:28 +01:00
Johannes Schmitt
3785a99b94 adds visibility to aliases 2011-01-07 15:58:48 +01:00
Fabien Potencier
bc2ca8f1cf made PHP renderer optional in Templating 2011-01-07 15:29:56 +01:00
Lukas Kahwe Smith
f2ac2a4c8a changed templating to use setter injection for renderers 2011-01-07 15:08:35 +01:00
Jeremy Mikola
554c86c589 [DependencyInjection] Add hasInterfaceInjectorForClass(), which is helpful for extension loader methods
Additionally, doc blocks were added for the Container's InterfaceInjector methods, and the test case was modified to cover both add() methods
2011-01-07 14:33:06 +01:00
Fabien Potencier
183acd8460 [DependencyInjection] fixed interface injection when the class is not available 2011-01-06 20:00:04 +01:00
Johannes M. Schmitt
314defa8b4 added generic encoder factory 2011-01-06 19:20:56 +01:00
Justin Hileman
cfd4e2186f Fix UniversalClassLoader matching collisions.
The current `loadClass()` implementation tries to load a class from the first matching prefix then stops, producing false-negative results. This is especially evident in groups of related libraries, such as Doctrine:

    Doctrine
    Doctrine\Common
    Doctrine\Common\DataFixtures
    Doctrine\DBAL
    Doctrine\DBAL\Migrations

Each of these libraries is submoduled into a different vendor directory. Depending on what order these libraries are added to a UniversalClassLoader instance, classes may or may not actually be loaded. This fix continues searching registered namespaces and prefixes if the first partial match is negative.
2011-01-06 18:05:57 +01:00
Fabien Potencier
af8ebeaabb [DependencyInjection] added automatic detection for service circular references 2011-01-06 14:52:47 +01:00
Fabien Potencier
911dbe9cc4 removed a circular reference in the definition of the templating and Twig services
* added a new TemplateNameConverter that parses a template name
 * removed the dependency between the Twig loader and the Templating engine
2011-01-06 14:52:43 +01:00
Fabien Potencier
ed359af543 [Templating] tweaked previous commit 2011-01-06 11:23:00 +01:00
Henrik Bjørnskov
afc2f96549 [Templating] Added Global variables as they are implemented with Twig. With tests 2011-01-06 11:21:28 +01:00
Jeremy Mikola
a7bac83c58 [DependencyInjection] Remove OpenSky doc-block and AGPL license string 2011-01-06 08:46:17 +01:00
Johannes M. Schmitt
0449dbdc5d added extra exception if only a partial result is found 2011-01-05 22:51:05 +01:00
Jordi Boggiano
584769dd16 [HttpFoundation] Added removeFlash & clearFlashes methods to the Session 2011-01-05 22:50:03 +01:00
Johannes M. Schmitt
c5ef113b18 DI container optimization 2011-01-05 15:41:11 +01:00
Bernhard Schussek
4b78c4376f [Form] Added FieldFactory mechanism to automatically create fields by introspecting metadata of a class 2011-01-05 15:02:56 +01:00
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
Bernhard Schussek
1bbdb5ec07 [Form][FrameworkBundle][TwigBundle] Refactored the PHP and Twig templating layer
Support for theming in PHP templates has been dropped.

True theming should support theme inheritance, e.g. mytheme <- table <- default.
Currently, the Templating component does not support such inheritance. As the
only purpose of the themes so far was to style field groups with tables or
divs, and because automatic rendering of field groups/forms through the render()
method is discouraged and only recommended for rapid prototyping, themes are
dropped for now.
2010-11-16 22:26:35 +01:00
Bernhard Schussek
3127312139 [Form] Added option 'value_transformer' and 'normalization_transformer' to Field class 2010-11-16 07:28:33 +01:00
Bernhard Schussek
ece9691d5a [Form] Fixed documentation typo 2010-11-16 07:28:29 +01:00
Jordi Boggiano
c6dbbb857a [Form] Removed dead code 2010-11-16 07:28:24 +01:00
Jordi Boggiano
fbc29f061c [Form] Coding style fixes 2010-11-16 07:28:20 +01:00
Jordi Boggiano
0bdb271608 [Form] Added parent calls to all configure() methods of Fields and Transformers
The calls that were on top of the function have also been moved to the bottom for safety (see previous commit)
2010-11-16 07:28:12 +01:00
GordonsLondon
23ac47e011 [Form] Added support for __get and __set in PropertyPath 2010-11-16 07:28:07 +01:00
Benjamin Eberlei
5aeb358721 [Validator] Made the namespace prefix for annotations configurable
Modified the framework bundle to use validation => Symfony\Component\Validator\Validator defaults.
Enhanced Framework Extension validator configuration to allow to extend this configuration with
user-specified annotations, for example:

    validation:
        enabled: true
        annotations:
            namespaces:
                myprojectvalidator: MyProject\Validator\

to register @myprojectvalidator:Validator(...)
2010-11-16 07:28:02 +01:00
Fabien Potencier
0131ff21c5 [Translation] removed unneeded assignement 2010-11-16 07:22:39 +01:00
Jordi Boggiano
3cbc99c180 [Translation] Added flatten method on ArrayLoader
This allows the translations to be deeply nested arrays that will be flattened, allowing for namespacing of translations easily.

The following:
  'key' => array('key2' => array('key3' => 'value'))
Becomes:
  'key.key2.key3' => 'value'

This isn't applied to Xliff since it does not make sense within the scope of the XLIFF standard
2010-11-16 07:20:57 +01:00
Fabien Potencier
4e5c99dab0 [EventDispatcher] removed the possibility to remove one listener for an event 2010-11-15 23:14:36 +01:00
Jordi Boggiano
d45954af07 [Form][TwigBundle] Making sure all field types are rendered with the proper template 2010-11-15 14:54:11 +01:00
Fabien Potencier
f6cc63c99c removed ArrayAccess interface for Container and Controller 2010-11-15 10:05:28 +01:00
Fabien Potencier
53dd4e39c7 [DependencyInjection] changed the YAML notation for optional services from @@ to @? 2010-11-15 10:00:59 +01:00
Fabien Potencier
92f3d9e7ec [DependencyInjection] removed the leading _ for anonymous service ids (the usage of strtr() in the conversion between ids and methods does not take leading _ into account like camelize() does) 2010-11-15 09:56:20 +01:00
Fabien Potencier
a45baed812 [HttpFoundation] removed optimization for setLocale() as it breaks when locale is not the default and the user wants to switch back to the default locale 2010-11-15 09:50:01 +01:00
Ryan Weaver
58a240baba [HttpFoundation] Allow the SERVER_PORT key of the server ParameterBag in Request to be a string value without confusing Request::getHttpHost().
The idea of a string port is probably semantically wrong, but it actually follows the convention of at least some web servers ($_SERVER['SERVER_PORT'] is actually a string). And since the $port variable is used as a string in getHttpHost(), it's correct to allow the types not to match.
2010-11-15 09:45:59 +01:00
Jordi Boggiano
3813eecf17 [Translation] Added YamlFileLoader 2010-11-15 09:33:00 +01:00
Jordi Boggiano
f2107e4b3a [Translation] Explicitly mark methods as public 2010-11-15 09:29:18 +01:00
Ryan Weaver
81272b22fa [HttpFoundation] Adding PHPDoc to the Request class and removing two unused variables. 2010-11-13 16:03:57 +01:00
Fabien Potencier
98f3ac65f4 fixed configuration bugs 2010-11-12 20:11:22 +01:00
Fabien Potencier
7257571be4 [HttpFoundation] added missing code for last commit 2010-11-12 19:49:01 +01:00
Fabien Potencier
942104a5ff [HttpFoundation] added a setCache() method to ease setting the HTTP cache headers in one simple call 2010-11-12 19:46:39 +01:00
Fabien Potencier
f669674293 [HttpFoundation] added a missing phpdoc 2010-11-12 19:46:22 +01:00
Fabien Potencier
f6ddeeb36b [HttpFoundation] added Response::setPublic() and changed setPrivate() to not take any argument 2010-11-12 19:45:28 +01:00
jeff
69cd21d8be [Validator] Fixed annotation loader to not add parent constraints twice 2010-11-12 17:56:09 +01:00
Bernhard Schussek
48b3e92504 [Form] Fixed: parent::configure() should always be called after adding options to overrule options in the parent class 2010-11-12 17:55:52 +01:00
Jordi Boggiano
a198bbcf43 [Form] throw an exception if session_id() is empty when a csrf token is generated 2010-11-12 17:53:29 +01:00
ever.zet
4c340c5cc9 [Form] fixed forms grouped validation
Added ability to specify **match-all** validation group, which
constraints will runs on every specified validation group.
Added groups="*" option to `Form::data` Valid validator.
2010-11-12 17:53:17 +01:00
Bernhard Schussek
f5b451f5b9 [Form] Fixed MoneyToLocalizedStringTransformer and added tests 2010-11-12 17:52:56 +01:00
Fabien Potencier
efed6005cb [DependencyInjection] fixed PHP dumper
In the dumped PHP class, we must use get() and not get*Service() methods to get services.
That's because all calls must be managed by get(). From the outside, you can call
get*Service() because as they are protected, they are caught by the __call() method;
which is not the case obviously when it is used internally.

If not, if you override a service with set(), this won't work when a service
depends on this one (the default one will still be used).
2010-11-12 17:38:32 +01:00
Fabien Potencier
44ccd44dd6 [Routing] fixed ApacheMatcherDumper default config 2010-11-11 23:22:15 +01:00
Fabien Potencier
51a3d0ba6a refactored session configuration
The configuration names have been changed to avoid confusion (user was
ambiguous)

    Before:
          <app:user default_locale="fr">
              <app:session name="SYMFONY" type="Native" lifetime="3600" />
          </app:user>

    After:
          <app:session default_locale="fr" name="SYMFONY" storage_id="native" lifetime="3600" />
2010-11-10 10:47:03 +01:00
GordonsLondon
bfae4ad86c [Form] PercentField fixed option collision 2010-11-10 07:49:53 +01:00
Fabien Potencier
7b02766373 fixed session management
Some explanations on how it works now:

 * The Session is an optional dependency of the Request. If you create the
   Request yourself (which is mandatory now in the front controller) and if
   you don't inject a Session yourself (which is recommended if you want the
   session to be configured via dependency injection), the Symfony2 Kernel
   will associate the Session configured in the Container with the Request
   automatically.

 * When duplicating a request, the session is shared between the parent and
   the child (that's because duplicated requests are sub-requests of the main
   one most of the time.) Notice that when you use ::create(), the behavior is
   the same as for the constructor; no session is attached to the Request.

 * Symfony2 tries hard to not create a session cookie when it is not needed
   but a Session object is always available (the cookie is only created when
   "something" is stored in the session.)

 * Symfony2 only starts a session when:

   * A session already exists in the request ($_COOKIE[session_name()] is
     defined -- this is done by RequestListener);

   * There is something written in the session object (the cookie will be sent
     to the Client).

 * Notice that reading from the session does not start the session anymore (as
   we don't need to start a new session to get the default values, and because
   if a session exists, it has already been started by RequestListener.)
2010-11-09 22:34:48 +01:00
Oleg Zinchenko
6f28511ee4 [Form] add type for FileField class 2010-11-06 19:34:30 +01:00
Fabien Potencier
4d4f9f344e added request attributes in the request data collector and web profiler 2010-11-06 16:47:49 +01:00
Fabien Potencier
a471f65759 [HttpKernel] tweaked HttpKernelInterface 2010-11-06 15:13:23 +01:00
Fabien Potencier
f6cd582afc [HttpKernel] updated bootstrap.php 2010-11-05 02:35:30 +01:00
Johannes Schmitt
6aacfa3216 fixes a bug where in most cases cookies with path / were not set properly 2010-11-03 18:33:50 +01:00
Kris Wallsmith
c991b250ea [DependencyInjection] updated TaggedContainerInterface to extend ContainerInterface 2010-11-03 17:16:57 +01:00
ornicar
1d9aa5bf8a [HttpKernel] Fix parameters order in Client::filterRequest 2010-11-03 15:15:24 +01:00
ornicar
cf8d473313 [BrowserKit] Fix parameters order in Client::submit 2010-11-03 15:15:21 +01:00
Fabien Potencier
5bd03e1c58 [HttpKernel] added unit tests for ESI 2010-11-02 20:00:18 +01:00
Fabien Potencier
556bfcb804 [HttpKernel] added some more unit tests 2010-11-02 18:38:11 +01:00
Fabien Potencier
a19cdce1bc [Security] added some missing unit tests 2010-10-31 23:41:36 +01:00
Fabien Potencier
58bd4acdd1 [Translation] added some unit tests 2010-10-31 23:23:42 +01:00
Fabien Potencier
ec417578ca [Security] added unit tests to some authenticated providers (code coverage is more than 96% for the Security component now) 2010-10-31 15:41:15 +01:00
Fabien Potencier
1185a26eb9 [HttpKernel] simplified code a bit 2010-10-31 14:44:35 +01:00
Fabien Potencier
3d5054f21f [Security] added unit tests for the Authentication sub-namespace 2010-10-31 13:39:12 +01:00
Fabien Potencier
eb4d51f181 [HttpKernel] fixed phpdoc typos 2010-10-31 12:55:30 +01:00
Fabien Potencier
3506dfabff [HttpKernel] added a return value to the purge() method of the Cache store class 2010-10-30 21:15:43 +02:00
Fabien Potencier
dd9b77ed96 [HttpFoundation] added Response::setVary() 2010-10-30 21:02:05 +02:00
jeff
ae888b80f6 [HttpFoundation] removed port number from HOST header
To be consistent with backup values (SERVER_NAME, SERVER_ADDR).
fix a problem with getUriForPath($path) where port number may be present twice.
2010-10-28 15:14:48 +02:00
jeff
a5d4acc54d [HttpFoundation] updated get() signature to get($key, $default = null, $first = true)
This is more consistent with the get() method of ParameterBag
2010-10-28 15:12:48 +02:00
Fabien Potencier
13f36b1657 Removed logic that tried to avoid double-escaping
Because that's just not possible (have a look at the unit tests to see all possibilities
-- as you will notice, there is no way we can determine the context and whether the
data are already escaped or not).

So, we always escape data, which means that sometimes, we will try to escape already
escaped data. This is not a problem for everything except strings. That's because
strings are not wrapped with an object like everything else (for performance reason).

This means that all escapers must be able to avoid double-escaping (that's the case
for the default escapers as both htmlspecialchars() and htmlentities() have a flag
that does just this).
2010-10-28 13:32:10 +02:00
Fabien Potencier
3eee458430 [OutputEscaper] replaced the JS escaper with the one from Twig 2010-10-28 13:31:02 +02:00
Fabien Potencier
4cf5b440a9 [OutputEscaper] fixed variable init 2010-10-28 13:00:12 +02:00
Fabien Potencier
7f8c540a20 [Routing] fixed XML loader on Windows (there is no need to urlencode here as schemaValidate() takes a filename, not a URL) 2010-10-28 09:17:11 +02:00
Fabien Potencier
c448429e62 [HttpFoundation] fixed date format for HTTP headers (format must be RFC1123, not RFC2822 -- the difference is that RFC1123 dates always use GMT for the timezone) 2010-10-27 10:56:56 +02:00
Fabien Potencier
e23c3cc702 [OutputEscaper] made getEscaper*() methods more consistent with the way you can change the escaping strategy in __call() 2010-10-26 22:39:01 +02:00
Fabien Potencier
c065be88b5 [OutputEscaper] refactored the component 2010-10-26 22:28:33 +02:00
Fabien Potencier
988722b23b [DependencyInjection] fixed phpdoc 2010-10-26 16:01:39 +02:00
Johannes M. Schmitt
3463f47698 applies base64 encoding directly to the binary data instead of their hexadecimal representation 2010-10-24 10:57:06 +02:00
Dominique Bongiraud
6885f90f17 [HttpKernel\Security]Fixed use statement and updated parameters constructor 2010-10-24 09:55:40 +02:00
Dominique Bongiraud
c0ef9fb0ea [HttpKernel\Security]Fixed markup 2010-10-24 09:55:37 +02:00
Dominique Bongiraud
a85bca395a [Security]Fixed markup 2010-10-24 09:55:32 +02:00
Dominique Bongiraud
66ff8073b9 [Security]Fixed CS 2010-10-24 09:55:31 +02:00
Fabien Potencier
4027f751e3 [Security] added more unit tests 2010-10-22 17:48:58 +02:00
Fabien Potencier
d2b184e058 [Security] removed type hint in AuthenticationException as the extra information can be of different classes 2010-10-22 15:19:13 +02:00
Johannes Schmitt
d077ac4158 [Security] changed encoders to use hash() function whenver possible and replaced sha1 with sha256 as default algorithm 2010-10-22 13:24:29 +02:00
Ryan Weaver
84a60d74d1 Allowing a routes node to be specified without any child import or route nodes.
This is not really a bug or a big issue, but if you need to temporarily empty a routes node, Symfony shouldn't care - it's not an actual validation failure (a routes node still makes sense without an route or import children).
2010-10-22 13:21:55 +02:00
Bernhard Schussek
96a0bff915 [Form] Made InputField instantiable so that simple input fields can be created on the fly 2010-10-22 08:30:14 +02:00
Bernhard Schussek
e9fcacdad7 [HttpFoundation] Fixed: File/UploadedFile did not adjust path when moved 2010-10-22 08:30:14 +02:00
Bernhard Schussek
72dcee594a [Form] Added validiation of hours, minutes and seconds to TimeField 2010-10-22 08:30:14 +02:00
Bernhard Schussek
6c7fab212b [Form] Added validation of years, months and days to DateField 2010-10-22 08:30:13 +02:00
Bernhard Schussek
e4c21708ca [Form] Separated value transformers from normalization transformers.
Fields can now easier support different data types in their underlying object.
These datatypes can be normalized to a single datatype using a normalization
transformer. The normalized value can then be transformed to the user's
representation with the value transformer (better name required?).
2010-10-22 08:30:13 +02:00
Bernhard Schussek
733290c112 [Form] Implemented UrlField 2010-10-22 08:30:13 +02:00
Bernhard Schussek
eaef939141 [Form] Changed value transformers to be responsible for processing empty values to be able to chain them properly. This change fixes the bug that DateField did not return NULL when submitted without values 2010-10-22 08:30:13 +02:00
Ryan Weaver
cc4f2bd955 Adding a type-hint to XmlFileLoader::validate(). 2010-10-22 08:22:08 +02:00
Victor Berchet
4dacdcc4ec [Security] Use a negative length parameter to simplify the code 2010-10-21 18:24:57 +02:00
Fabien Potencier
82f8ab839f [Security] added some unit tests (WIP) 2010-10-21 18:14:32 +02:00
Fabien Potencier
836c512585 fixed interfaces problems 2010-10-21 17:16:31 +02:00
Fabien Potencier
bf3659d5bb added an exception when trying to extend a template with a decorator that uses a different renderer (for instance when a Twig template tries to extend a PHP one) 2010-10-21 08:57:31 +02:00
Artur Kotyrba
2682bc2be5 [Security] Fixed typo 2010-10-21 08:30:46 +02:00
Fabien Potencier
92c56a5066 Revert "[Routing] allowed multiple routing requirement with xml loader, using comma separated values"
This reverts commit e8bcbcba57.
2010-10-21 08:13:10 +02:00
Jordi Boggiano
48155ccc2f [DependencyInjection] Regex optimization 2010-10-21 07:48:12 +02:00
Jordi Boggiano
2186535848 [DependencyInjection] Removed useless code 2010-10-21 07:48:06 +02:00
Fabien Potencier
0749038e73 [Security] changed the way passwords are compared to avoid timing attacks 2010-10-21 07:36:55 +02:00
fivestar
cb0f63f84b [HttpKernel] fixed typo at Security\Firewall\DigestAuthenticationListener 2010-10-20 18:37:35 +02:00
ornicar
e8bcbcba57 [Routing] allowed multiple routing requirement with xml loader, using comma separated values 2010-10-20 14:32:36 +02:00
Justin Hileman
0ccc9805f5 Fix UniversalClassLoader issues with leading slashes.
This fixes a bug in UniversalClassLoader when attempting to autoload class names with leading slashes:

    $namespacedClass = "\\Foo\\Bar";
    $pearlikeClass   = "\\Foo_Bar";

    $namespaced = new $namespacedClass();
    $pearlike   = new $pearlikeClass();

`UniversalClassLoader::loadClass()` was unable to load PEAR-like classes with leading slashes because it found the slash and assumed that the requested class was namespaced. It was unable to load namespaced classes with leading slashes because it would look them up in the autoloader's registered namespaces, and was unable to match '\Foo' to 'Foo'. One (ugly) workaround for the namespaced classes was to register all namespaces twice:

    $loader->registerNamespaces(array(
        'Foo'  => __DIR__ . '/lib',
        '\Foo' => __DIR__ . '/lib',
    ));

But that's not very pretty, nor does it solve the bug with PEAR-like classes. Stripping the leading slash before trying to autoload allows UniversalClassLoader to load both namespaced and PEAR-like classes.
2010-10-20 14:20:12 +02:00
Fabien Potencier
dd4f87b8c2 made form login configurable 2010-10-20 11:42:19 +02:00
Pascal Borreli
437f8c7a86 [Security] Fixed typo 2010-10-20 07:07:54 +02:00
Jeremy Mikola
0aba8ef720 [DependencyInjection] XmlFileLoader should allow "factory-service" attribute without "class" for <service> 2010-10-19 21:10:07 +02:00
Pascal Borreli
d067d5da69 [Security] Fixed coding standard 2010-10-19 17:22:31 +02:00
Pascal Borreli
fde278d7a8 [Security] Fixed typo 2010-10-19 17:21:28 +02:00
Pascal Borreli
8df4567a82 [CssSelector] Fixed typo 2010-10-19 17:20:34 +02:00
Fabien Potencier
f216f313e8 added the Security Component and its integration into the MVC framework
Happy birthday symfony!
2010-10-19 13:33:17 +02:00
Fabien Potencier
0fc6b15c17 [HttpFoundation] added a way to clear the session attributes 2010-10-19 13:13:20 +02:00
Fabien Potencier
94347f73c5 [HttpFoundation] added a way to generate a URI based on the current one and a path 2010-10-19 13:13:14 +02:00
Kris Wallsmith
4a18624927 [Validator] removed ftp and ftps from default url protocols 2010-10-18 16:57:07 +02:00
Kris Wallsmith
f79e23ffb5 Removed all those spaces after @author that were bothering me so… 2010-10-18 16:55:41 +02:00
Kris Wallsmith
0b1f3145ae Removed unnecessary "public" from interface method signatures. 2010-10-18 16:55:09 +02:00
Artur Kotyrba
308e85a5a7 Removed methods which implemented interfaces by throwing \LogicException('You must override...'). 2010-10-17 07:54:18 +02:00
pborreli
80868f1712 [Translation] Fixed phpdoc, thx Koc 2010-10-17 07:52:22 +02:00
pborreli
86cc6a11d9 [Component] Fixed some spelling typos 2010-10-17 07:51:50 +02:00
pborreli
082090d880 [Validator] Fixed coding standard 2010-10-16 10:49:41 +02:00
Kris Wallsmith
5d4c80f27b [Validator] removed DependencyInjection integration 2010-10-16 08:34:36 +02:00
Kris Wallsmith
ef4f61bb9f [DependencyInjection] Added TaggedContainerInterface to signature of generated container classes 2010-10-16 08:32:07 +02:00
Fabien Potencier
7e66933876 fixed inconsistency when calling the Http Kernel instance from an event 2010-10-15 11:02:35 +02:00
Jeremy Mikola
df9ef79953 [Form] readPropertyPath should return null instead of empty array
When reading the last bit of a property path mapped to a missing array index, the method would initialize the value to an empty array.  This makes sense for cases where readPropertyPath would again be called recursively, but not when the value would be immediately returned (null would be preferable in that case).

For example, we have an object with a property called "options" that's an array of arbitrary key/value pairs.  That "options" property (and getOptions()) maps directly to a FieldGroup within the Form for this object.  That FieldGroup contains multiple TextFields for a few expected keys in the array.  As-is, if those keys were not defined, the default data set for those TextFields could end up being "Array" (string representation of an empty array).  If readPropertyPath instead returns null for this case, the default data would be transformed into an empty string.
2010-10-13 08:17:05 +02:00
Fabien Potencier
2b8dfe1ccf [EventDispatcher] fixed possible PHP warning 2010-10-13 07:44:14 +02:00
Benjamin Zikarsky
d376596f7e [EventDispatcher] fixed bug in EventDispatcher::disconnect if the second argument is null or ommitted 2010-10-13 07:41:56 +02:00
Tom Van Looy
44f54c2578 [Console] fixed status code when it is > 255 2010-10-13 07:33:49 +02:00
Ryan Weaver
c39635680f added PHPDoc 2010-10-13 07:29:41 +02:00
Fabien Potencier
2a9ddee162 [HttpFoundation] added Session::invalidate() 2010-10-12 08:58:12 +02:00
Ryan Weaver
7fb3b2ab9d Adding basic PHPDoc to the Routing\DelegatingLoader class. 2010-10-12 06:58:54 +02:00
Ryan Weaver
8c70a2ee24 Adding basic PHPDoc to the Routing\DelegatingLoader class. 2010-10-12 06:58:51 +02:00
Bernhard Schussek
b902cb31d7 [Form] PropertyPath camelizes property names when setting values 2010-10-11 12:52:22 +02:00
Bernhard Schussek
a66d883afd [Form] Removed CSRF setters because they have no effect once CSRF protection is enabled. Re-enable CSRF protection with the desired values instead 2010-10-11 12:52:17 +02:00
Bernhard Schussek
e1be4e9689 [Form] Refactored logic to read and set values from Field to PropertyPath 2010-10-11 12:52:10 +02:00
ornicar
06a6b15e22 [Form] Fix FieldGroup::getHiddenFields, add tests for FieldGroup::getHiddenFields and FieldGroup::getVisibleFields 2010-10-09 14:20:06 +02:00
Fabien Potencier
fafcd02684 [HttpFoundation] changed RequestMatcher pattern syntax 2010-10-07 19:12:53 +02:00
Jordi Boggiano
d8f4cb79c9 [Form] Turned FieldGroup::getFields() into 4 specialized methods for more flexibility
It's better to be able to fetch all the visible and all the hidden fields separately for display purposes (hidden fields in <ul> tags without an <li> do not validate)
2010-10-06 15:34:07 +02:00
Jordi Boggiano
bf1eb56a34 [EventDispatched] Event doesn't need to implement ArrayAccess 2010-10-06 14:33:52 +02:00
Fabien Potencier
1d1a437edc added some missing methods 2010-10-06 14:18:36 +02:00
Benjamin Eberlei
ec3b3f7637 Added and tested EntityToIDTransformer to transform Many-To-One and One-To-One entities into their identifier values 2010-10-06 14:16:55 +02:00
Benjamin Eberlei
0d9d4ac583 Optimize some code in Form/Configurable, Have ChoiceField always pass data to transformers, implemented and fully unit-tested two Doctrine ORM specific transformers that do Collection to String/Choice Transformations 2010-10-06 14:16:51 +02:00
Benjamin Eberlei
f033fc5578 Refactor ValueTransformers to recieve the original value when reverseTransform() is called. This is required for expensive value transformations for example Doctrine Collections or Proxies to allow access to a value that does not trigger expensive operations (such as database calls) anymore. 2010-10-06 14:16:47 +02:00
Fabien Potencier
dbde494424 made locale determination for translation lazy-loaded
This allows to have a stateless-website (without any cookie)
for instance if the locale is part of the domain name
and not attached to the user.
2010-10-06 11:57:38 +02:00
Fabien Potencier
caa9d82746 [HttpFoundation] added support for attributes in RequestMatcher 2010-10-05 20:20:28 +02:00
Fabien Potencier
2525998f6e replaced form field rendering with plain templates
Documentation available here:

http://docs.symfony-reloaded.org/master/guides/form/
2010-10-05 08:34:33 +02:00
Fabien Potencier
0fc8906feb [Validator] forced all validation annotations to be in the validation namespace to avoid collisions, removed the need for the wrapping @Validation annotation
Before:

    /**
     * @Validation({@DateTime()})
     */

After:

    /**
     * @validation:DateTime()
     */

The @validation:Validation() construct is not needed anymore (it is still supported
as this is useful when you have several annotations with the same class).

So, the above is equivalent to:

    /**
     * @validation:Validation({@validation:DateTime()})
     */
2010-10-02 15:07:00 +02:00
Fabien Potencier
3a4d9cb185 [Validation] fixed license 2010-10-02 12:42:35 +02:00
Fabien Potencier
4deb82f842 [Form] fixed license and phpdoc 2010-10-02 12:38:14 +02:00
Fabien Potencier
1a055fc7f0 [Validator] fixed typo 2010-09-30 07:21:54 +02:00
Jordi Boggiano
d28b9ddcda [HttpFoundation] Fix session::remove() not initializing the session 2010-09-30 07:17:44 +02:00
Fabien Potencier
0d7c403769 [Form] fixed camelization problem when looking for a method (getCreated_at -> getCreatedAt) 2010-09-29 08:08:25 +02:00
Fabien Potencier
3b1e83380b [Validator] removed the convention that error parameters are delimited with %% 2010-09-29 07:59:45 +02:00
Fabien Potencier
6aa190b2a6 [OutputEscaper] added SafeDecoratorInterface 2010-09-28 22:19:17 +02:00
Fabien Potencier
4ac65cebcf [Translation] renamed Range to Interval 2010-09-28 07:14:43 +02:00
Fabien Potencier
9e50782b9d fixed request data collector 2010-09-27 21:17:37 +02:00
Fabien Potencier
707205410e added an IdentityTranslator to make it possible to always relies on the translator service, even if none is configured 2010-09-27 16:53:44 +02:00
Sebastian Ionescu
4edd0c269b updated some helper docblocks - fixed usage of helpers 2010-09-27 15:16:23 +02:00
Fabien Potencier
9580c74f0b [Validator] changed the convention for placeholders in messages to be compatible with Twig (from %limit% to {{ limit }}) 2010-09-27 09:46:56 +02:00
Fabien Potencier
a7537906b4 [Translation] added the component 2010-09-27 09:45:29 +02:00
Fabien Potencier
35ee15d131 [DependencyInjection] tweaked an error message to ease debugging 2010-09-26 16:59:40 +02:00
Brandon Turner
b2e4b452a4 [Form] added support for stdClass objects
ReflectionClass doesn't list properties on stdClass objects (or objects cast
from arrays).  This allows these annoymous objects to be used as field data.
2010-09-25 07:57:58 +02:00
Brandon Turner
9e84f450c2 [Form] fixed decimal rounding in IntegerField
Instead of rounding half-up (round to nearest neighbor) act as an integer cast
would and always round down (round towards zero).
2010-09-25 07:57:57 +02:00
Brandon Turner
a305eb063d [Form] added support for rounding-mode option on NumberFields 2010-09-25 07:57:57 +02:00
Brandon Turner
86b6aff5b6 [Form] fixed bug that prevented setLocale from working 2010-09-25 07:57:57 +02:00
Fabien Potencier
866c306dc8 removed the message interpolator system in the Validator component (i18n management should be done globally, not in a specific component) 2010-09-24 16:41:28 +02:00
Jordi Boggiano
82f6a68eb2 [Validator] Allow DateTime objects as valid DateTimes 2010-09-22 09:16:26 +02:00
Thomas
66ddacf2e5 [Process] remove fork references as proc_* functions start a command from an independant process, does not copy the parent memory space like pcntl_* function 2010-09-20 11:05:32 +02:00
Fabien Potencier
e093387179 [Finder] fixed a problem on Windows 2010-09-20 11:01:19 +02:00
Fabien Potencier
ec066a0843 fixed misplaced file 2010-09-20 10:56:35 +02:00
Jordi Boggiano
71cc3a7773 [Form] avoid double-escape and then unescape
htmlspecialchars' fourth parameter allows you to avoid double-escaping in the first place
2010-09-19 08:35:50 +02:00
Fabien Potencier
d657adbfa2 removed Symfony\Framework
Things have been moved to Symfony\Component\HttpKernel
and Symfony\Bundle\FrameworkBundle

The kernel configuration namespace was removed and merged
with the main web configuration namespace (kernel:config => web:config,
kernel:test => web:test, and kernel:session => web:session):

Before:
<kernel:config charset="UTF-8" error_handler="null" />

<web:config csrf-secret="xxxxxxxxxx">
    <web:router resource="%kernel.root_dir%/config/routing.xml" />
    <web:validation enabled="true" annotations="true" />
</web:config>

After:
<web:config csrf-secret="xxxxxxxxxx" charset="UTF-8" error-handler="null">
    <web:router resource="%kernel.root_dir%/config/routing.xml" />
    <web:validation enabled="true" annotations="true" />
</web:config>

Renamed classes:

Symfony\{Framework => Bundle\FrameworkBundle}\Cache\Cache
Symfony\{Framework => Bundle\FrameworkBundle}\Client
Symfony\{Framework => Bundle\FrameworkBundle}\Debug\EventDispatcher
Symfony\{Framework => Bundle\FrameworkBundle}\Debug\EventDispatcherTraceableInterface
Symfony\{Framework => Bundle\FrameworkBundle}\EventDispatcher
Symfony\{Framework => Component\HttpFoundation}\UniversalClassLoader
Symfony\{Framework => Component\HttpKernel}\Bundle\Bundle
Symfony\{Framework => Component\HttpKernel}\Bundle\BundleInterface
Symfony\{Framework => Component\HttpKernel}\ClassCollectionLoader
Symfony\{Framework => Component\HttpKernel}\Debug\ErrorException
Symfony\{Framework => Component\HttpKernel}\Debug\ErrorHandler
Symfony\{Bundle\FrameworkBundle => Component\HttpKernel}\Debug\ExceptionListener
Symfony\{Framework => Component\HttpKernel}\Kernel
2010-09-17 12:58:24 +02:00
Fabien Potencier
1990fc543b [HttpKernel] added Closure support to ControllerResolver 2010-09-16 10:53:59 +02:00
Fabien Potencier
7734f44bc5 [Process] added a Process:isSucessful() method 2010-09-16 08:55:44 +02:00
Fabien Pennequin
56935f85df [Console] Fixed invalid help command shortcut 2010-09-14 09:18:47 +02:00
Jeremy Mikola
a86bac44ce [Validator] Remove leading '@' when validating email domain MX record 2010-09-10 20:42:22 +02:00
Jeremy Mikola
77602239a4 [Form] Add new fields in CollectionField::setData() 2010-09-10 19:31:02 +02:00
Jeremy Mikola
57c0ce0ec1 [Form] Remove support for ArrayObject as ChoiceField's choices option
Internally, ChoiceField expects both choices and preferred_choices to be a simple array, so I replaced incomplete bits of code that attempted to not modify a possible ArrayObject and instead added type checks in the configure() method (with unit tests for expected exceptions).
2010-09-10 19:30:59 +02:00
Fabien Potencier
226277fd0e added a way to activate CSRF protection from the configuration 2010-09-10 14:32:33 +02:00
Fabien Potencier
0de1c08d8d reverted "[Form] fixed default CSRF token generation as a token must be tied to the user somewhat"
This reverts commit d326c398e2.
2010-09-10 14:16:59 +02:00
Fabien Potencier
d326c398e2 [Form] fixed default CSRF token generation as a token must be tied to the user somewhat 2010-09-10 14:13:56 +02:00
Antoine Hérault
4237fdd918 [Form] set file field as multipart 2010-09-10 12:34:32 +02:00
Antoine Hérault
7bd76610ca [HttpFoundation] fixed request files handling 2010-09-10 12:34:28 +02:00
Fabien Potencier
63793dd62e [Form] added missing use statement 2010-09-10 09:21:29 +02:00
Jeremy Mikola
fb24b291c8 [Form] FieldGroup::addError() can now map errors to fields within nested FieldGroups
Property paths such as fields[group].fields[innerGroup].data were not being resolved correctly, since the second iteration of addError() (based on "group") would attempt to call get('fields') instead of get('innerGroup').  Solution is to remember to bump the propertyPath forward if we're at the fields property
2010-09-09 16:29:38 -04:00
Jeremy Mikola
9be7cbb115 [Form] CollectionField::setData() should remove old fields missing from new data 2010-09-09 16:27:18 -04:00
Jeremy Mikola
6fc9b68fa7 [Form] Replace unset() with non-destructive logic in case the "choices" option is an object. 2010-09-09 16:01:34 -04:00
Fabien Potencier
50f039844b [Form] removed obsolete use statements 2010-09-09 18:29:50 +02:00
Fabien Potencier
a141c98917 [HttpFoundation] moved File Component into the HttpFoundation one 2010-09-09 17:01:48 +02:00
Fabien Potencier
fc9325a737 fixed file upload 2010-09-09 16:07:12 +02:00
Fabien Potencier
40c0fe854f [Form] added a FileField 2010-09-09 15:47:44 +02:00
Fabien Potencier
c53ebe7a8e [Form] fixed Form::bind() when no values are submitted 2010-09-09 15:23:28 +02:00
Bulat Shakirzyanov
bb51e7cb26 [Validator] fixed Xliff loader to use forward slashes in file path 2010-09-09 08:01:46 +02:00
Kris Wallsmith
1aefe7a762 [Process] made cwd argument optional 2010-09-09 06:58:28 +02:00
Marc Weistroff
15d840060b Fixed wrong variable name in Esi. 2010-09-07 18:42:54 +02:00
Fabien Potencier
c39534e258 [Routing] removed the autoloading trick, which is not needed anymore 2010-09-07 16:15:13 +02:00
Fabien Potencier
4d669d106e [Validator] changed Xliff loader to get XSD locally 2010-09-07 14:30:50 +02:00
Fabien Potencier
dadfaa271f [Validator] fixed indentation 2010-09-07 14:18:00 +02:00
Fabien Potencier
b753ea45b2 [Routing] added 'defaults' support in Annotation class loader 2010-09-07 13:55:45 +02:00
Fabien Potencier
130494066d [Routing] added an annotation loader 2010-09-07 09:44:08 +02:00
Kris Wallsmith
1443d4a0ba [HttpFoundation] updated getQueryString() to work in more scenarios 2010-09-06 08:48:11 +02:00
Fabien Potencier
7be00aa34e fixed previous commit 2010-09-03 16:18:04 +02:00
Sébastien HOUZE
179fe8e623 Symfony\Component\Routing\Route::setRequirements() _method requirement can be an array, no substr on it 2010-09-03 12:01:57 +02:00
Fabien Potencier
4c17ce8e5e changed calls to has() to use the new proxy method 2010-09-03 11:38:21 +02:00
Bulat Shakirzyanov
2ccaafa561 [DpependencyInjection] added hasParameter() 2010-09-03 11:37:03 +02:00
Fabien Potencier
81b73dc9e6 [Form] fixed problem with PHPUnit mocks (ugly hack but it works for now) 2010-09-03 09:56:52 +02:00
Jordi Boggiano
1719bfb871 [DomCrawler] Fixed URIs being incorrectly generated
When the path is not ending with a slash and the form/link has only ?get=params then the last bit of the path was incorrectly stripped
2010-09-03 09:13:07 +02:00
Jonathan H. Wage
436ca95f65 Fixing coding standards. 2010-09-02 21:38:31 +02:00
Jonathan H. Wage
c1d0262c19 Fixing issue with FieldGroup and its __clone() method not properly setting the parent. 2010-09-02 20:53:40 +02:00
Fabien Potencier
0b378d1b3e added a way to conditionnaly enable the profiler based on the request 2010-09-02 13:54:32 +02:00
Fabien Potencier
4f337615e3 [HttpFoundation] added request matcher 2010-09-02 13:39:49 +02:00
Fabien Potencier
af96c87104 [DependencyInjection] added methods to remove an alias and a definition from a ContainerBuilder instance 2010-09-02 12:20:20 +02:00
Fabien Potencier
7c1b42e81b [DependencyInjection] added a way to inject an anonymous service in an extension configuration
<foo:bar>
        <service class="Foo" />
        <service class="Bar" />
    </foo:bar>

In the foo:bar extension method, you can retrieve the services with:

    // always an array of services
    $config['_services']
2010-09-02 12:17:32 +02:00
Fabien Potencier
7e2f135245 simplified Profiler method names 2010-09-01 16:53:28 +02:00
Fabien Potencier
15cd2643c0 [HttpFoundation] added Request::getClientIp() 2010-09-01 13:56:20 +02:00
Fabien Potencier
3e24cef256 [HttpFoundation] fixed Request::hasSession() 2010-09-01 11:18:07 +02:00
Fabien Potencier
2d04ca3443 [EventDispatcher] added a way to disconnect all listeners for an event name 2010-09-01 11:10:31 +02:00
Fabien Potencier
84c383d729 [HttpKernel] fixed exception constructor signature 2010-09-01 09:48:48 +02:00
Fabien Potencier
48b6057c3a [HttpKernel] fixed Exception classes to implement the full constructor 2010-09-01 08:49:52 +02:00
Fabien Potencier
ab9be87354 [HttpKernel] fixed FlattenException status code 2010-09-01 08:49:19 +02:00
Fabien Potencier
ad835f8a16 [HttpKernel] added purge() in the profiler storage interface 2010-09-01 08:21:38 +02:00
Fabien Potencier
60ea1eef69 added a configuraiton to allow the profiler to be enabled only when an exception occurs 2010-08-31 22:22:31 +02:00
Fabien Potencier
1e1a4113c7 [HttpKernel] fixed missing use statement 2010-08-31 19:21:00 +02:00
Fabien Potencier
d17c2edb49 fixed perms 2010-08-30 20:46:16 +02:00
Noël GUILBERT
d40d1746e0 [ZendBundle] added an option to register zend logger as an error handler 2010-08-30 19:03:12 +02:00
Fabien Potencier
8c6478dab9 [HttpKernel] added import/export to Profiler 2010-08-30 16:04:50 +02:00
ornicar
9588860716 [HttpFoundation] fixed locale accessors in Session class 2010-08-30 07:12:05 +02:00
Fabien Potencier
ed33ce4d5f [HttpFoundation] fixed typo 2010-08-29 20:28:33 +02:00
Fabien Potencier
478fcca88d [Templating] added Engine::exists() 2010-08-29 16:09:02 +02:00
Fabien Potencier
0208800459 refactored exception management (removed the ExceptionManager) 2010-08-29 12:35:48 +02:00
Fabien Potencier
72db4c7342 refactored Profiler and DataCollector classes (the WDT has been removed and will be re-added in the upcoming WebProfilerBundle) 2010-08-29 12:17:06 +02:00
Fabien Potencier
83a64df542 added ContainerAwareInterface 2010-08-28 09:43:10 +02:00
Fabien Potencier
92f4b92cbb [HttpFoundation] fixed Session serialization 2010-08-27 09:07:47 +02:00
Fabien Potencier
82ff79064a added a priority to the event dispatcher listeners 2010-08-26 14:08:42 +02:00
Fabien Potencier
086708003a [HttpFoundation] added a keys() method to *Bag classes 2010-08-26 10:56:46 +02:00
Fabien Potencier
bf67562268 [Templating] fixed PHP renderer when using a template variable named 'template' 2010-08-25 11:30:59 +02:00
Fabien Potencier
a432417ab9 [DependencyInjection] added a way to ignore errors when importing a non-existent file (useful when you want to include an optional service file) 2010-08-24 16:37:41 +02:00
Fabien Potencier
b1e79963b1 [DependencyInjection] moved extension loading in the freezing process (opens more possibilities in the loading order of configs) 2010-08-24 16:25:08 +02:00
Fabien Potencier
ec8500bd64 [FrameworkBundle] added support for previous exceptions in the exception pages 2010-08-24 14:01:57 +02:00
Fabien Potencier
fe78d5f0f0 added a way to disable the profiler 2010-08-22 22:35:44 +02:00
Fabien Potencier
1277568997 [HttpFoundation] fixed Session 2010-08-22 15:31:51 +02:00
Fabien Potencier
2746bcc84c [HttpFoundation] added automatic session start() when changing something in the session, renamed accessor methods, added remove()/has() methods 2010-08-20 23:21:39 +02:00
Fabien Potencier
bf82cf42dd renamed Symfony\Components to Symfony\Component 2010-08-20 23:09:55 +02:00