Commit Graph

5931 Commits

Author SHA1 Message Date
Fabien Potencier
6a25df0ebf updated VERSION for 2.0.3 2011-09-25 11:51:12 +02:00
Fabien Potencier
49c585ebd2 Revert "merged branch stealth35/ini_bool (PR #2235)"
This reverts commit 363057b181, reversing
changes made to 545cd4cd63.
2011-09-25 11:33:22 +02:00
Fabien Potencier
fa13469bba Revert "[DependencyInjection] fixed array support for the ini loader"
This reverts commit e0ace8eaee.
2011-09-25 11:33:07 +02:00
Fabien Potencier
604d066b52 bumped Symfony version to 2.0.3-DEV 2011-09-25 10:27:37 +02:00
Fabien Potencier
3d89f340b3 updated VERSION for 2.0.2 2011-09-25 10:27:00 +02:00
Fabien Potencier
6b367d1e3d merged branch helmer/target_path (PR #2228)
Commits
-------

022a9a7 [Security] Make saving target_path extendible

Discussion
----------

[Security] Make saving target_path extendible

The problem lies in how Security component handles ``target_path`` - the latest request URI is always stored. This can lead to problems in following scenarios:
a) The response type of the request is not HTML (think JSON, XML ..)
b) The URI matches a route that does not listen to HTTP GET

I opened a [PR](https://github.com/symfony/symfony/pull/604) months ago, to partly solve scenario A, which did not make it. Now I am proposing a different solution - user can extend ``ExceptionListener`` and override the logic behind setting the ``target_path`` to match his precise needs.

In my simplified scenario, I would be using:

```
protected function setTargetPath(Request $request)
{
    if ($request->isXmlHttpRequest() || 'GET' !== $request->getMethod()) {
        return;
    }

    $request->getSession()->set('_security.target_path', $request->getUri());
}
```

@Seldaek, @schmittjoh, @lsmith77, thoughts?

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

by Seldaek at 2011/09/21 02:37:02 -0700

Seems like a better solution for flexibility's sake. Would be quite awesome if you could add a cookbook entry to symfony/symfony-docs about this, otherwise I'm afraid we'll have to explain it over and over again :)

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

by helmer at 2011/09/21 03:38:57 -0700

[Cookbook](b22c5e666e) entry done. Perhaps though I rushed ahead ..

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

by Seldaek at 2011/09/21 03:52:01 -0700

Thanks. You can already do a pull request against symfony-docs, just reference this pull request in it so it's not merged before this is merged.
2011-09-25 09:46:00 +02:00
Fabien Potencier
e2945c9f9b [Routing] fixed Apache matcher dumper (broken by previous merge) 2011-09-23 20:56:36 +02:00
Alberto Pirovano
ae3aded83f Added PCRE_DOTALL modifier to RouteCompiler to allow urlencoded linefeed in route parameters. 2011-09-23 16:53:06 +02:00
Fabien Potencier
e0ace8eaee [DependencyInjection] fixed array support for the ini loader 2011-09-23 11:45:30 +02:00
Fabien Potencier
e5a23dbdaa [ClassLoader] added support for PHP 5.4 traits 2011-09-22 09:31:50 +02:00
stealth35
11c441289a [DependencyInjection] fix 2219 IniFileLoader accept Boolean 2011-09-21 22:14:12 +02:00
Fabien Potencier
545cd4cd63 merged branch alifity/trans-unit-41-id (PR #2234)
Commits
-------

ad208d9 added trans-unit-41 for 2.0

Discussion
----------

Added indonesian translation for trans unit 41
2011-09-21 20:15:26 +02:00
Fabien Potencier
64d44fbb93 [Translator] fixed recursion when using a fallback that is the same as the locale 2011-09-21 20:13:06 +02:00
Alif Rachmawadi
ad208d9dae added trans-unit-41 for 2.0 2011-09-22 01:01:06 +07:00
stealth35
bca551e86f [DomCrawler] ChoiceFormField should take the content when value is unavailable 2011-09-20 19:08:17 +03:00
Fabien Potencier
b635dcad7a [Translator] fixed non-loaded locale 2011-09-19 08:52:59 +02:00
Fabien Potencier
dde8b6aa25 merged branch hason/czech-2.0 (PR #2203)
Commits
-------

620d44a [FrameworkBundle] updated Czech translation

Discussion
----------

[2.0] Updated Czech translation
2011-09-18 09:44:02 +02:00
Christophe Coevoet
ab8e760c68 Fixed the creation of the subrequests
The subrequest must be created using an absolute path to keep the
informations about the host and the base path.
Closes #2168
2011-09-18 00:24:28 +02:00
Fabien Potencier
677a072554 [HttpKernel] fixed typo 2011-09-17 22:16:16 +02:00
Martin Hasoň
620d44a398 [FrameworkBundle] updated Czech translation 2011-09-17 15:25:49 +02:00
Fabien Potencier
ea7f0f9c46 merged branch jalliot/fix-mirror-arg (PR #2050)
Commits
-------

95dc7e1 Fixed fourth argument of Filesystem->mirror()

Discussion
----------

Fixed fourth argument of Filesystem->mirror()

See #2027 and #2033 for discussion.

@fabpot said that we don't want to use symlink at all on Windows so if this is confirmed, we should also change ``Filesystem->symlink()`` implementation.

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

by alexandresalome at 2011/09/16 08:29:40 -0700

Tested on Windows, OK for me
2011-09-16 18:32:22 +02:00
Fabien Potencier
e0502b1d69 fixed previous merge, done the same change to other occurences 2011-09-16 14:38:31 +02:00
Fabien Potencier
607337b022 merged branch schmittjoh/mbFix (PR #2194)
Commits
-------

8e2cbe6 fixes usage of mb_*

Discussion
----------

Fixes usage of mb_strlen

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

by Seldaek at 2011/09/16 05:33:45 -0700

This will fail if the mbstring ext isn't enabled, you should still test for the mb_ function first.
2011-09-16 14:35:35 +02:00
Johannes M. Schmitt
8e2cbe603b fixes usage of mb_* 2011-09-16 14:27:56 +02:00
Denis Klementjev
fd4d241b17 Profiler session import fixed. 2011-09-16 13:51:26 +02:00
Johannes M. Schmitt
9fb15c7cb2 [Process] workaround a faulty implementation of is_executable on Windows 2011-09-15 19:42:58 +02:00
Emil Einarsson
aa8e029e65 Swedish translation fix. 2011-09-15 17:36:05 +02:00
stealth35
43b55efd04 [Locale] Fix #2179 StubIntlDateFormatter support yy format
Fix #2179 Year limit is 2031 like IntlDateFormatter
2011-09-16 13:12:22 +02:00
Fabien Potencier
9ffd8ca99c [Translation] renamed hasStrict() to defines() 2011-09-14 22:49:04 +02:00
Fabien Potencier
79710edb8a [Translation] added a MessageCatalogue::hasStrict() method to check if a string has a translation (but without taking into account the fallback mechanism) 2011-09-14 22:31:14 +02:00
Fabien Potencier
c50a3a194d [Translation] fixed transchoice when used with a fallback 2011-09-14 22:31:09 +02:00
Fabien Potencier
c985ffaa99 [Translation] fixed message selector when the message is empty (closes #2144) 2011-09-14 22:04:39 +02:00
Fabien Potencier
27ba003e5e [HttpFoundation] changed the strategy introduced in a5ccda47b4 to fix functional tests and still allow to call save more than once for a Session 2011-09-14 20:54:45 +02:00
Magnus Nordlander
ff99d80a8e Changed the behavior of Session::regenerate to destroy the session when it invalidates it. 2011-09-14 19:52:25 +02:00
Fabien Potencier
532b0b6b59 merged branch jdreesen/trans-fix-1 (PR #2173)
Commits
-------

e98cbc3 fixed typo

Discussion
----------

Fixed typo in the hebrew translation file
2011-09-14 16:48:19 +02:00
Magnus Nordlander
b15d80edc9 Added missing translation for Swedish 2011-09-14 16:24:18 +02:00
jdreesen
e98cbc3077 fixed typo 2011-09-14 11:59:16 +02:00
Fabien Potencier
73c8d2ba74 [Form] fixed error bubbling for Date and Time types when rendering as multiple choices (closes #2062) 2011-09-14 08:30:47 +02:00
excelwebzone
c05ef6ce99 Added trans-unit "41" (hebrew translation) 2011-09-13 18:47:49 -07:00
H. Westphal
3e2f1a4b13 Removed executable bits from all php files 2011-09-09 15:16:17 +02:00
Fabien Potencier
17f115104d merged branch chx/2.0 (PR #2141)
Commits
-------

24b80ae Removed a leftover use.

Discussion
----------

Removed a leftover use.

lsmith told me to put in this request instead.
2011-09-09 14:50:48 +02:00
Jordan Alliot
95dc7e104c Fixed fourth argument of Filesystem->mirror() 2011-09-09 11:09:47 +01:00
Karoly Negyesi
24b80aedf3 Removed a leftover use. 2011-09-09 02:13:17 -07:00
Jordan Alliot
ae5230344c [HttpFoundation] Fixed duplicate of request
closes #2133
2011-09-08 12:28:21 +01:00
Michele Orselli
a7f0aabb02 fix italian translation for branch 2.0 2011-09-07 00:00:09 +02:00
Stefano Sala
cd40ed43a3 Added missing method to HTTP Digest entry point 2011-09-06 13:32:33 +02:00
Fabien Potencier
e0a3605e63 merged branch stealth35/trans_few_op (PR #2093)
Commits
-------

8d50c16 few optimisations for XliffFileLoader and XmlFileLoader

Discussion
----------

few optimisations for XliffFileLoader and XmlFileLoader

 - file_put_contents + file_get_contents -> copy
 - use stripos insteed preg_match
 - removed useless `$tmpfiles` in XliffFileLoader
2011-09-06 07:38:29 +02:00
Fabien Potencier
63db2357c5 merged branch stealth35/asset_com_v2 (PR #2094)
Commits
-------

3a7e038 [FrameworkBundle] sanitize target arg in asset:install command

Discussion
----------

[FrameworkBundle] sanitize target arg in asset:install command

`php app/console assets:install web/`

(removed tailing /)

 before
`Installing assets for Symfony\Bundle\FrameworkBundle into web//bundles/framework`
after
`Installing assets for Symfony\Bundle\FrameworkBundle into web/bundles/framework`
2011-09-06 07:37:26 +02:00
stloyd
83254b8b37 [Validator] Sync polish translation 2011-09-05 18:55:50 +02:00
stealth35
3a7e038fb9 [FrameworkBundle] sanitize target arg in asset:install command 2011-09-05 15:17:10 +02:00
stealth35
8d50c162b9 few optimisations for XliffFileLoader and XmlFileLoader 2011-09-05 15:06:29 +02:00
Deni
515fe27ce8 [FrameworkBundle] Sync the Russian translations 2011-09-05 13:58:36 +04:00
Fabien Potencier
747dc3f73b merged branch aboks/dutch_validator_translations (PR #2086)
Commits
-------

8cf7990 [FrameworkBundle] Added Dutch validator translation for trans-unit 41

Discussion
----------

[FrameworkBundle] Added Dutch validator translation for trans-unit 41

This message was added in #2065.
2011-09-05 09:28:08 +02:00
Arnout Boks
8cf79903e5 [FrameworkBundle] Added Dutch validator translation for trans-unit 41 2011-09-05 09:16:00 +02:00
jdreesen
df3bde472e [FrameworkBundle] Updated German validator translation 2011-09-04 16:04:35 +02:00
Christophe Coevoet
ca6299dc6b [FrameworkBundle] Fixed a typo in the translation file per @PeymanHR
Closes #2082
2011-09-04 10:54:39 +02:00
Fabien Potencier
6677dabda5 merged branch jmikola/entity-validator (PR #2076)
Commits
-------

d19f1d7 [Doctrine] Fix UniqueEntityValidator reporting a false positive by ignoring multiple query results

Discussion
----------

[Doctrine] Fix UniqueEntityValidator reporting a false positive by ignoring multiple query results

An entity should only be considered unique if its search criteria returns no matches or a single, identical entity. Multiple results indicates that conflicting entities exist.

Note: the DoctrineMongoDBBundle's unique validator checks identifier values if the object strict-equality check is false. This may be a worthwhile improvement, as it would prevent reporting a validation error for an enttiy which is going to overwrite its conflicting counter-part in the database.

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

by jmikola at 2011/09/01 14:23:27 -0700

This is the Doctrine bridge equivalent for my fix to DoctrineMongoDBBundle: https://github.com/symfony/DoctrineMongoDBBundle/pull/42

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

by fabpot at 2011/09/02 00:13:52 -0700

As this is a bug fix, can you base your PR on the symfony/2.0 branch? Thanks.
2011-09-02 09:43:19 +02:00
Fabien Potencier
adb7291b67 Merge branch 'EvanK-patch-1' into 2.0
* EvanK-patch-1:
  Per the [documentation][1], the `NotBlank` constraint should be using the `empty` language construct, otherwise it will not trigger on, for example, a boolean false from an unchecked checkbox field.
2011-09-02 09:39:11 +02:00
Evan Kaufman
639513a67a Per the [documentation][1], the NotBlank constraint should be using the empty language construct, otherwise it will not trigger on, for example, a boolean false from an unchecked checkbox field.
[1]: http://symfony.com/doc/2.0/reference/constraints/NotBlank.html
2011-09-02 09:37:48 +02:00
Jeremy Mikola
d19f1d7621 [Doctrine] Fix UniqueEntityValidator reporting a false positive by ignoring multiple query results
An entity should only be considered unique if its search criteria returns no matches or a single, identical entity. Multiple results indicates that conflicting entities exist.
2011-09-01 17:20:30 -04:00
Fabien Potencier
78346ae43b merged branch elnur/entities-to-array-transformer (PR #2053)
Commits
-------

6bd1749 Fixed a bug when multiple expanded choices would render unchecked because of the Form Framework's strict type checking.

Discussion
----------

[DoctrineBridge] Entities to array transformer

Fixed a bug when multiple expanded choices would render unchecked because of the Form Framework's strict type checking.

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

by fabpot at 2011/08/31 09:01:47 -0700

Looks good to me. Can you squash your commits before I merge? Thanks.
2011-09-01 11:00:54 +02:00
Vincent
0224a34bb1 Fixes typo on ACL Doctrine cache. 2011-09-01 11:35:36 +03:00
Elnur Abdurrakhimov
6bd1749553 Fixed a bug when multiple expanded choices would render unchecked because of the Form Framework's strict type checking. 2011-08-31 20:27:38 +04:00
William DURAND
f448029061 [HttpKernel] Tweaked SQLite to speed up SqliteProfilerStorage
See: http://stackoverflow.com/questions/6108602/avoiding-locked-sqlite-database-timeouts-with-php-pdo
2011-08-31 13:29:56 +02:00
Fabien Potencier
9a8f9f7329 merged branch brikou/uniqueEntity_message (PR #2065)
Commits
-------

eb8f3cb added uniqueEntity message translation (fr)
df9f223 added missing french translations
f4c133e removed trailing dot to make it consistent with other validator messages

Discussion
----------

[Translation] Unique Entity message

I've added the translation of uniqueEntity validation message, I've used ``trans-unit id="41"`` which seems to be unused
2011-08-31 12:40:38 +02:00
clombardot
2cfa22ca54 Fix Method ContainerAwareEventDispatcher::hasListeners 2011-08-31 10:39:33 +02:00
Brikou CARRE
eb8f3cb723 added uniqueEntity message translation (fr) 2011-08-31 09:16:30 +02:00
Brikou CARRE
df9f223b43 added missing french translations 2011-08-31 09:12:51 +02:00
Brikou CARRE
f4c133efbb removed trailing dot to make it consistent with other validator messages 2011-08-31 08:56:13 +02:00
Fabien Potencier
a6670c214a [Routing] fixed a caching issue when annotations are used on a base class used by more than one concrete class
Doctrine caches annotations. For methods, it uses PHP reflection and the getDeclaringClass() to create
a unique cache key. Unfortunately, if you have 2 classes that extend another one, the cache will be shared.
It's not a problem except that before this patch, the default route name was also cached (as the cache is serialized
after we changed the object). So, all other classes inherited this default route name. The fix is quite easy:
just don't change the read annotation object.
2011-08-30 21:39:58 +02:00
Fabien Potencier
946ccb6bd2 [Routing] fixed annotation loaders for abstract classes, added more unit tests 2011-08-30 20:57:43 +02:00
Fabien Potencier
6a81f07862 [Routing] made a small speed optimization 2011-08-30 20:53:32 +02:00
Luis Muñoz
723cb71390 [Translation] Add compatibility to PCRE 6.6.0 for explicit interval pluralization 2011-08-28 22:05:29 +02:00
Fabien Potencier
07bdb8ac84 merged branch stloyd/patch-3 (PR #2011)
Commits
-------

020fa51 [RedirectResponse] Added missing `doctype` and `title` tag

Discussion
----------

[RedirectResponse] Added missing `doctype` and `title` tag
2011-08-26 18:08:50 +02:00
Fabien Potencier
62bbad41b7 merged branch jalliot/assets-install-ignore-vcs (PR #2026)
Commits
-------

24bacdc Ignore VCS files in assets:install command (closes #2025)

Discussion
----------

Ignore VCS files in assets:install command (closes #2025)

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

by stloyd at 2011/08/25 06:10:22 -0700

`ignoreVCS` is set to `true` by default, AFAIK also `getIterator()` is not needed.

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

by jalliot at 2011/08/25 06:30:32 -0700

@stloyd I knew about ``ignoreVCS`` defaulting to ``true`` but I thought it made it clearer but you're right it's not really useful.
As for ``getIterator`` I thought the conversion couldn't be made automatically on a method call like here but apparently it works so I changed it.
Thanks.

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

by tiagojsag at 2011/08/25 08:41:02 -0700

This approach creates another problem: the already existing VCS files are deleted when the command is executed, which makes at least SVN throw errors.

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

by jalliot at 2011/08/25 08:50:55 -0700

@tiagojsag If you remove the call to ``remove`` on line 83, does everything work?
Because I'm not really sure we need to remove the entire dir first since ``mirror`` should be able to adapt itself.

BTW, wouldn't it be better if you didn't commit the ``web/bundles`` dir in your SVN and instead ask to call the ``assets:install`` command each time?

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

by stof at 2011/08/25 08:58:16 -0700

Great news about SVN: the incoming 1.7 version stops adding a ``.svn`` folder in every directory but uses a single one at the root of the project (like git does for instance), solving this sort of issues about copying files :)

@tiagojsag this command has always removed the old asset folders before copying the new ones, and there is not real mean to do otherwise by keeping things simple. You could consider ignoring the ``vendor/bundles`` folder in the SVN and running the command when doing checkout (thus allowing devs to use symlinks if they want)

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

by tiagojsag at 2011/08/25 09:01:39 -0700

yes, that was the solution I was using before submitting this bug report. I also agree that it's the simplest and fastest way to address this, provided that docs get updated, so that no one spends their time trying to figure out why files are not synced with their svn repo.

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

by jalliot at 2011/08/25 09:03:11 -0700

@stof That's really great to hear!
But still this PR should be merged to avoid legacy files from current versions of SVN or other VCS.

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

by stof at 2011/08/25 09:04:31 -0700

@jalliot sure. My comment was mainly about the opposite issue raised by @tiagojsag
2011-08-26 17:41:12 +02:00
Jordan Alliot
9a05db0e7e Simplified Filesystem->copy() 2011-08-26 09:37:17 +01:00
Jordan Alliot
24bacdcd3b Ignore VCS files in assets:install command (closes #2025) 2011-08-26 09:36:52 +01:00
Fabien Potencier
98966c8779 updated VERSION and deps 2011-08-26 09:59:43 +02:00
Fabien Potencier
f9ce68fad4 update VERSION for 2.0.1 2011-08-26 08:45:13 +02:00
Fabien Potencier
8f50592f31 [HttpFoundation] changed \LogicException to \InvalidArgumentException 2011-08-26 08:45:12 +02:00
Fabien Potencier
1c7694ff30 [HttpFoundation] added a missing exception 2011-08-25 10:38:08 +02:00
Fabien Potencier
9112bed669 merged branch stloyd/patch-4 (PR #2018)
Commits
-------

542cfd6 [ServerBag] Skip unnecessary loop in `getHeaders()`

Discussion
----------

[ServerBag] Skip unnecessary loop in `getHeaders()`
2011-08-25 09:45:41 +02:00
Jeremy Mikola
84c1719335 [FrameworkBundle] Avoid listener key conflicts in ContainerAwareEventDispatcher
Since the key was previously concatenating service ID and method without a separator, it's possible that two different listeners could conflict (e.g. service/method pairs: foo/bar and fo/obar).
2011-08-24 15:05:22 -04:00
Joseph Bielawski
542cfd62df [ServerBag] Skip unnecessary loop in getHeaders() 2011-08-24 21:56:02 +03:00
Fabien Potencier
536538fb83 [DoctrineBundle] removed an unused and confusing parameter (the connection class can be changed via the wrapper_class setting of a connection) 2011-08-24 18:08:06 +02:00
Fabien Potencier
0fc0f99b9d fixed CS 2011-08-24 17:06:56 +02:00
Fabien Potencier
8cdedd13c5 merged branch Seldaek/toolbar_debugging (PR #2019)
Commits
-------

89f477e [WebProfilerBundle] Throw exception if a collector template isn't found
6ca72cf [WebProfilerBundle] Allow .html.twig in collector template names

Discussion
----------

WDT debugging

While implementing collectors I did a mistake in the template name and it never told me, so I was left wondering why my stuff didn't show up. Not so nice IMO. Also the first commit is to allow template names to be specified fully. I don't see why this shouldn't be allowed, since it is the way you specify templates everywhere else.
2011-08-24 17:06:22 +02:00
Fabien Potencier
d7f078929c [FrameworkBundle] fixed duplicated RequestContext instances 2011-08-24 15:10:47 +02:00
Jordi Boggiano
89f477eb0a [WebProfilerBundle] Throw exception if a collector template isn't found 2011-08-24 13:53:49 +02:00
Jordi Boggiano
6ca72cf9ac [WebProfilerBundle] Allow .html.twig in collector template names 2011-08-24 10:37:03 +02:00
Joseph Bielawski
020fa51c54 [RedirectResponse] Added missing doctype and title tag 2011-08-24 05:31:42 +03:00
Daniel Holmes
e294211343 [DomCrawler] Removed unused document property in Form 2011-08-24 13:45:37 +10:00
Jeremy Mikola
39fabab013 [EventDispatcher] Fix removeSubscriber() to work with priority syntax 2011-08-23 16:41:08 -04:00
Gregwar
0e00e3ff4c [DoctrineBundle] CS 2011-08-23 21:21:15 +02:00
Fabien Potencier
0c6f47fcf3 Merge branch 'domcrawler-disabled-fields'
* domcrawler-disabled-fields:
  [DomCrawler] fixed disabled fields in forms (they are available in the DOM, but their values are not submitted -- whereas before, they were simply removed from the DOM)
  $node->hasAttribute('disabled') sf2 should not create disagreement between implementation and practice for a crawler. If sahi real browser can find an element that is disabled, then sf2 should too. https://github.com/Behat/Mink/pull/58#issuecomment-1712459
2011-08-23 16:00:30 +02:00
Fabien Potencier
1cf3cdd7e4 merged branch danielholmes/patch-1 (PR #2008)
Commits
-------

e294211 [DomCrawler] Removed unused document property in Form

Discussion
----------

[DomCrawler] Removed unused document property in Form
2011-08-23 15:37:40 +02:00
Joseph Bielawski
06162e7986 [WebProfiler] Use proper Response function to check is it an redirection 2011-08-24 00:44:06 +03:00
Fabien Potencier
3380f2a039 [DomCrawler] fixed disabled fields in forms (they are available in the DOM, but their values are not submitted -- whereas before, they were simply removed from the DOM) 2011-08-23 11:21:48 +02:00
Fabien Potencier
04a549bf6e merged branch cordoval/patch-1 (PR #1890)
Commits
-------

8a980bd $node->hasAttribute('disabled') sf2 should not create disagreement between implementation and practice for a crawler. If sahi real browser can find an element that is disabled, then sf2 should too. https://github.com/Behat/Mink/pull/58#issuecomment-1712459

Discussion
----------

$node->hasAttribute('disabled') sf2 should not create disagreement betwee

$node->hasAttribute('disabled') sf2 should not create disagreement between implementation and practice for a crawler. If sahi real browser can find an element that is disabled, then sf2 should too.
https://github.com/Behat/Mink/pull/58#issuecomment-1712459

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

by cordoval at 2011/08/09 20:34:56 -0700

@fabpot please let me know if this is going to be in sometime soon or not, just wondering why it is deviating ...

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

by fabpot at 2011/08/23 01:11:42 -0700

I have just checked in a browser and the Symfony2 implementation is actually the right one.

Try this in a browser:

    <form action='#' method="post">
        <input name="foo" disabled="disabled" value="foo" />
        <input name="bar" value="bar" />

        <input type="submit" />
    </form>

    <?php

    print_r($_POST);

    // output: Array ( [bar] => bar ) when the form is submitted

And here is the discussion about it in the HTML4 spec: http://www.w3.org/TR/html4/interact/forms.html#h-17.12:

"In this example, the INPUT element is disabled. Therefore, it cannot receive user input nor will its value be submitted with the form."

And the same is tru for HTML5: http://www.w3.org/TR/html5/association-of-controls-and-forms.html#constructing-form-data-set

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

by cordoval at 2011/08/23 01:29:53 -0700

@fabpot I guess you got my scenario wrong. I am not trying to submit any form. I am just happen to have a disabled box that is checked and I want to read with the DOM Crawler that is checked. Not to submit or anything but for the purposes of testing.

Please consider also that this request comes from asserting values using behat mink, mink is fully dependent on sf2 driver for when it is used except it is told to use a different driver like a real browser like sahi. When testing in chrome and firefox, the verification with the DOM is made that the disabled box is checked properly. Symfony2 DOM Crawler however misses that spot for that use.

Even in the case where Symfony2 DOM Crawler component would have been thought not for this purpose of testing, or further for this particular scenario it would be good to make it more reusable for this kind of scenario.

Just saying....

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

by fabpot at 2011/08/23 02:00:34 -0700

Indeed, I didn't get your issue right. So, basically, all fields should be in the form, but the disabled field values should not be submitted (that makes sense).

I've prepared a fix in this patch: e8852586073bc23d4a41f4cd9cbe0d17a2f0c76d which is in the symfony/domcrawler-disabled-fields branch for now as I don't know if we can make this change in 2.0 or if we need to put it in 2.1.

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

by cordoval at 2011/08/23 02:15:01 -0700

oh no I was hoping to enter the authors, you already did the fix :'(
2011-08-23 11:21:17 +02:00
Fabien Potencier
1bb53b8b7f merged branch Abhoryo/patch-1 (PR #1956)
Commits
-------

e9d2a67 CS
3a64b08 Search in others user providers when a user is not found in the first user provider and throws the right exception.

Discussion
----------

Chain user provider doesn't search in all user providers

I commit these changes because Chain user provider doesn't search in all user providers.

Example with the Acme/DemoBundle:

    // security.yml
    ...
        providers:
            chain_provider:
                providers: [in_memory, in_memory_extend]
            in_memory_extend:
                users:
                    admin2: { password: adminpass2, roles: [ 'ROLE_ADMIN' ] }
            in_memory:
                users:
                    user:  { password: userpass, roles: [ 'ROLE_USER' ] }
    ...
        firewalls:
    ...
            secured_area:
                pattern:    ^/demo/secured/
                provider: chain_provider OR in_memory_extend
    ...

We can see these logs :

    security.INFO: User "admin2" has been authenticated successfully [] []
    security.DEBUG: Write SecurityContext in the session [] []
    security.DEBUG: Read SecurityContext from the session [] []
    security.DEBUG: Reloading user from user provider. [] []
    security.WARNING: Username "admin2" could not be found. [] []

The new code search in others user providers when a user is not found in the first user provider and throws the right exception.

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

by lsmith77 at 2011/08/14 12:20:04 -0700

I wonder if it should be a provider option to continue on a failed user lookup. I can see cases where you really dont want to iterate over all providers and others where you do.

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

by Abhoryo at 2011/08/14 17:27:16 -0700

If someone need a provider like you describe, he can create one.
Here we talk about a chain user provider.

Doc : [using-multiple-user-providers](http://symfony.com/doc/current/book/security.html#using-multiple-user-providers)

We can read in the doc: "The chain_provider will, in turn, try to load the user from both the in_memory and user_db providers."
But its not the case right now.
2011-08-23 08:52:35 +02:00