Commit Graph

1593 Commits

Author SHA1 Message Date
Fabien Potencier
8f0277d084 Merge branch '2.7'
* 2.7: (26 commits)
  removed Propel bridge from Symfony Core
  [2.7] Added deprecation warning for get request service in controller
  [Serializer] Normalizers can serialize collections and scalars
  [FrameworkBundle] Fix title and placeholder rendering in php form templates.
  [Process] added a deprecation notice
  [TwigBridge] Removed duplicated code from TwigRenderer
  [Translator][Logging] implement TranslatorBagInterface.
  RequestDataCollector - small fix
  renamed composer.phar to composer to be consistent with the Symfony docs
  [FrameworkBundle] bumped min version of Routing to 2.3
  removed composer --dev option everywhere
  fixed a test
  [Console] Fixed output bug, if escaped string in a formatted string.
  “console help” ignores --raw option
  Fix form icon position in web profiler
  [Security] Remove ContextListener's onKernelResponse listener as it is used
  Revert "minor #12652 [HttpFoundation] [Hackday] #9942 test: Request::getContent() for null value (skler)"
  Revert "fixed assertion"
  fixed assertion
  [HttpFoundation] [Hackday] #9942 test: Request::getContent() for null value
  ...

Conflicts:
	composer.json
	src/Symfony/Bridge/Propel1/composer.json
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Component/Console/Tests/Helper/LegacyTableHelperTest.php
2015-02-12 09:47:54 +01:00
Fabien Potencier
1d45ca894b Merge branch '2.6' into 2.7
* 2.6: (21 commits)
  [FrameworkBundle] Fix title and placeholder rendering in php form templates.
  [TwigBridge] Removed duplicated code from TwigRenderer
  [Translator][Logging] implement TranslatorBagInterface.
  RequestDataCollector - small fix
  renamed composer.phar to composer to be consistent with the Symfony docs
  [FrameworkBundle] bumped min version of Routing to 2.3
  removed composer --dev option everywhere
  fixed a test
  [Console] Fixed output bug, if escaped string in a formatted string.
  “console help” ignores --raw option
  Fix form icon position in web profiler
  [Security] Remove ContextListener's onKernelResponse listener as it is used
  Revert "minor #12652 [HttpFoundation] [Hackday] #9942 test: Request::getContent() for null value (skler)"
  Revert "fixed assertion"
  fixed assertion
  [HttpFoundation] [Hackday] #9942 test: Request::getContent() for null value
  fixed URL
  Add reference to documentation in FormEvents phpdocs
  [YAML] Fix one-liners to work with multiple new lines
  Keep "pre" meaning for var_dump quick-and-dirty debug
  ...

Conflicts:
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Component/Security/Http/Firewall/ContextListener.php
	src/Symfony/Component/Security/Http/Tests/Firewall/ContextListenerTest.php
2015-02-11 08:17:51 +01:00
Fabien Potencier
38f03bd2f5 Merge branch '2.3' into 2.6
* 2.3:
  [FrameworkBundle] Fix title and placeholder rendering in php form templates.
  RequestDataCollector - small fix
  renamed composer.phar to composer to be consistent with the Symfony docs
  [FrameworkBundle] bumped min version of Routing to 2.3
  removed composer --dev option everywhere
  fixed a test
  [Console] Fixed output bug, if escaped string in a formatted string.
  [Security] Remove ContextListener's onKernelResponse listener as it is used
  Revert "minor #12652 [HttpFoundation] [Hackday] #9942 test: Request::getContent() for null value (skler)"
  Revert "fixed assertion"
  fixed assertion
  [HttpFoundation] [Hackday] #9942 test: Request::getContent() for null value
  fixed URL
  Add reference to documentation in FormEvents phpdocs
  [YAML] Fix one-liners to work with multiple new lines
  Keep "pre" meaning for var_dump quick-and-dirty debug
  [Console][Table] Fix cell padding with multi-byte

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/widget_attributes.html.php
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Component/Console/Helper/TableHelper.php
2015-02-11 08:12:14 +01:00
Fabien Potencier
081caa2928 Merge branch '2.7'
* 2.7:
  fixed deprecation notice
  removed usage of the deprecated forms of asset() in the core framework
  renamed asset_path() to asset() and added a BC layer
  [Asset] added a NullContext class
  [Asset] added the component
  Added new Forwarded header support for Request::getClientIps
  Optimize EntityType by only loading choices for values in the same way that EntityLoader customization does (if you provide a query_builder).
  [Security] added string representation for core Users
  Add Twig loader priority

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Bundle/TwigBundle/Resources/config/twig.xml
2015-02-10 16:26:37 +01:00
Fabien Potencier
0fe4913079 renamed composer.phar to composer to be consistent with the Symfony docs 2015-02-08 08:41:14 +01:00
Tony Cosentino
4c8a25a6e2 Added new Forwarded header support for Request::getClientIps 2015-02-08 08:21:15 +01:00
Fabien Potencier
58fcb8d515 Revert "minor #12652 [HttpFoundation] [Hackday] #9942 test: Request::getContent() for null value (skler)"
This reverts commit 09225c7466, reversing
changes made to a0298331ad.
2015-02-05 10:45:43 +01:00
Fabien Potencier
6e9768c8b9 Revert "fixed assertion"
This reverts commit b0a4c38465.
2015-02-05 10:45:38 +01:00
Fabien Potencier
b0a4c38465 fixed assertion 2015-02-05 10:43:13 +01:00
Mauro Foti
0b9f310055 [HttpFoundation] [Hackday] #9942 test: Request::getContent() for null value 2015-02-05 10:42:22 +01:00
Fabien Potencier
5c0b5ea821 Merge branch '2.7'
* 2.7: (61 commits)
  fixxed order of usage
  [2.7] [Form] Replaced calls to array_search() by in_array() where is no need to get the index
  removed the last deprecation notice
  [Serializer] Silent deprecation notice
  removed deprecation notice
  [PropertyAccess] Show property path in all exception messages
  added deprecation notice for HttpCache::createEsi()
  added missing deprecation notice when using the form_enctype function
  [Process] Make test AbstractProcessTest::testStartAfterATimeout useful again
  removed non-sense example
  Fixes small typo.
  [Validator] Remove unnecessary include in tests
  [HttpFoundation] minor: clarify Request::getUrlencodedPrefix() regex
  fixed typo
  [Serializer] Use Serializer's LogicException when applicable
  [Serializer] Use autoloader for annotations in tests
  [Validator] fix DOS-style line endings
  Drop useless execution bit
  bumped Symfony version to 2.6.5
  [Serializer] update changelog
  ...

Conflicts:
	CHANGELOG-2.3.md
	CHANGELOG-2.5.md
	CHANGELOG-2.6.md
	src/Symfony/Bridge/Twig/Node/FormEnctypeNode.php
	src/Symfony/Bundle/FrameworkBundle/HttpCache/HttpCache.php
	src/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeSessionHandler.php
2015-02-05 07:59:50 +01:00
Fabien Potencier
d7870a2b5d Merge branch '2.6' into 2.7
* 2.6: (46 commits)
  fixxed order of usage
  [2.7] [Form] Replaced calls to array_search() by in_array() where is no need to get the index
  [Process] Make test AbstractProcessTest::testStartAfterATimeout useful again
  removed non-sense example
  Fixes small typo.
  [Validator] Remove unnecessary include in tests
  [HttpFoundation] minor: clarify Request::getUrlencodedPrefix() regex
  fixed typo
  [Validator] fix DOS-style line endings
  Drop useless execution bit
  bumped Symfony version to 2.6.5
  [Serializer] update changelog
  updated VERSION for 2.6.4
  updated CHANGELOG for 2.6.4
  bumped Symfony version to 2.5.11
  [HttpKernel] Added use of provided by #12022 method to instantiate controller class in bundle's controller resolver
  updated VERSION for 2.5.10
  updated CHANGELOG for 2.5.10
  [Validator] Add a Russian translation for invalid charset message
  [2.3] [Validator] spanish translation for invalid charset message
  ...

Conflicts:
	src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntityValidator.php
	src/Symfony/Component/HttpKernel/Exception/FatalErrorException.php
	src/Symfony/Component/HttpKernel/Exception/FlattenException.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php
	src/Symfony/Component/Validator/Resources/translations/validators.de.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.en.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.es.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.fr.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.pl.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.ru.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.sl.xlf
2015-02-05 07:58:17 +01:00
Fabien Potencier
2f6d5e4a8d Merge branch '2.5' into 2.6
* 2.5:
  fixxed order of usage
  [2.7] [Form] Replaced calls to array_search() by in_array() where is no need to get the index
  [Process] Make test AbstractProcessTest::testStartAfterATimeout useful again
  [Validator] Remove unnecessary include in tests
  [HttpFoundation] minor: clarify Request::getUrlencodedPrefix() regex
  fixed typo
  [Validator] fix DOS-style line endings
  bumped Symfony version to 2.5.11
  updated VERSION for 2.5.10
  updated CHANGELOG for 2.5.10
  [Validator] Add a Russian translation for invalid charset message
  [2.3] [Validator] spanish translation for invalid charset message
  [Routing] make host matching case-insensitive according to RFC 3986

Conflicts:
	src/Symfony/Component/Console/Application.php
	src/Symfony/Component/Console/Tests/Fixtures/application_1.txt
	src/Symfony/Component/Console/Tests/Fixtures/application_2.txt
	src/Symfony/Component/Console/Tests/Fixtures/application_astext1.txt
	src/Symfony/Component/Console/Tests/Fixtures/application_astext2.txt
	src/Symfony/Component/Console/Tests/Fixtures/application_gethelp.txt
	src/Symfony/Component/Console/Tests/Fixtures/application_run1.txt
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Validator/Resources/translations/validators.bg.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.es.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.ru.xlf
2015-02-05 07:36:51 +01:00
Fabien Potencier
f7a1adbce7 Merge branch '2.3' into 2.5
* 2.3:
  fixxed order of usage
  [2.7] [Form] Replaced calls to array_search() by in_array() where is no need to get the index
  [Process] Make test AbstractProcessTest::testStartAfterATimeout useful again
  [Validator] Remove unnecessary include in tests
  [HttpFoundation] minor: clarify Request::getUrlencodedPrefix() regex
  fixed typo
  [Validator] fix DOS-style line endings
  [Validator] Add a Russian translation for invalid charset message
  [2.3] [Validator] spanish translation for invalid charset message
  [Routing] make host matching case-insensitive according to RFC 3986

Conflicts:
	src/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php
	src/Symfony/Component/Validator/Resources/translations/validators.es.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.ru.xlf
2015-02-05 07:31:40 +01:00
Kévin Dunglas
1aba7b4f3d [HttpFoundation] minor: clarify Request::getUrlencodedPrefix() regex 2015-02-04 08:33:10 +01:00
Nicolas Grekas
c47bbbe5d3 Merge branch '2.5' into 2.6
* 2.5:
  [Validator] use 2.5 API in LengthValidator
  fixed id for translations
  bumped Symfony version to 2.3.26
  Dutch translation for invalid charset message
  German translation for invalid charset message
  Add a Slovenian translation for invalid charset message
  Add a Polish translation.
  Test lowest deps with latest 5.3
  updated VERSION for 2.3.25
  update CONTRIBUTORS for 2.3.25
  updated CHANGELOG for 2.3.25
  Fix docblocks to comments
  Inject the correct EventDispatcher instance
  [Validator] reject ill-formed strings
  [Validator] drop grapheme_strlen in LengthValidator
  Unique Entity Validator Invalid Value
  [FrameworkBundle][config] allow multiple fallback locales.

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php
	src/Symfony/Component/Validator/Resources/translations/validators.de.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.en.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.fr.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.nl.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.pl.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.sl.xlf
2015-02-01 17:10:57 +01:00
Fabien Potencier
f1f657a68d Merge branch '2.3' into 2.5
* 2.3:
  fixed id for translations
  bumped Symfony version to 2.3.26
  Dutch translation for invalid charset message
  German translation for invalid charset message
  Add a Slovenian translation for invalid charset message
  Add a Polish translation.
  Test lowest deps with latest 5.3
  updated VERSION for 2.3.25
  update CONTRIBUTORS for 2.3.25
  updated CHANGELOG for 2.3.25
  Fix docblocks to comments
  [Validator] reject ill-formed strings
  [Validator] drop grapheme_strlen in LengthValidator
  Unique Entity Validator Invalid Value
  [FrameworkBundle][config] allow multiple fallback locales.

Conflicts:
	src/Symfony/Bridge/Doctrine/Tests/Validator/Constraints/UniqueEntityValidatorTest.php
	src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntityValidator.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Validator/Resources/translations/validators.de.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.en.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.fr.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.nl.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.pl.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.sl.xlf
	src/Symfony/Component/Validator/Tests/Constraints/LengthValidatorTest.php
2015-02-01 10:36:16 +01:00
Fabien Potencier
e58bb438cf minor #13469 Fix docblocks to comments (keradus)
This PR was squashed before being merged into the 2.3 branch (closes #13469).

Discussion
----------

Fix docblocks to comments

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | ?
| Fixed tickets | N/A
| License       | MIT
| Doc PR        | N/A

Change docblock into comment when it's not a proper docblock.

Commits
-------

779926a Fix docblocks to comments
2015-01-30 10:53:49 +01:00
Dariusz Ruminski
779926a9f2 Fix docblocks to comments 2015-01-30 10:53:48 +01:00
Fabien Potencier
b88586aa15 Merge branch '2.7'
* 2.7:
  fixed tests
  [OptionsResolver] replaced some exception messages
  Added i18n support to ConfirmationQuestion
  [HttpKernel] [WebProfilerBundle] added HTTP status to profiler search result
  [Form] fixed form tests when using 2.7 deps
  [2.3] [HttpFoundation] [MimeTypeGuesser]
  [Routing] merge instead of replace class and method scheme/method annotations
  [TwigBridge] Fix bootstrap rendering when user explicitly use form_label
  Removed dead code and various cleaning
  Removed dead code and various cleaning
  Fixed HtmlDumper with long string
  Removed dead code and various cleaning
  [FrameworkBundle][xsd] added missing logging attribute.
  [Console] Make it clear that the second argument is not about command options.
  Added the '-' character for spaceless on tag start and end to be consistent for block, if, set and for nodes
  [Yaml] fixed parse shortcut Key after unindented collection.
  [Console] fixed #10531
  Make the container considered non-fresh if the environment parameters are changed

Conflicts:
	src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig
	src/Symfony/Component/HttpKernel/CHANGELOG.md
	src/Symfony/Component/Process/Process.php
2015-01-25 05:42:01 +01:00
Fabien Potencier
2570042937 Merge branch '2.6' into 2.7
* 2.6:
  [2.3] [HttpFoundation] [MimeTypeGuesser]
  Removed dead code and various cleaning
  Removed dead code and various cleaning
  [FrameworkBundle][xsd] added missing logging attribute.
  [Console] Make it clear that the second argument is not about command options.
  Added the '-' character for spaceless on tag start and end to be consistent for block, if, set and for nodes
  [Yaml] fixed parse shortcut Key after unindented collection.
  [Console] fixed #10531
  Make the container considered non-fresh if the environment parameters are changed
2015-01-25 05:39:35 +01:00
Fabien Potencier
29e2c0d355 Merge branch '2.5' into 2.6
* 2.5:
  [2.3] [HttpFoundation] [MimeTypeGuesser]
  Removed dead code and various cleaning
  [Console] Make it clear that the second argument is not about command options.
  Added the '-' character for spaceless on tag start and end to be consistent for block, if, set and for nodes
  [Yaml] fixed parse shortcut Key after unindented collection.
  [Console] fixed #10531
  Make the container considered non-fresh if the environment parameters are changed

Conflicts:
	src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig
2015-01-25 05:39:26 +01:00
Fabien Potencier
8f9af3a23a Merge branch '2.3' into 2.5
* 2.3:
  [2.3] [HttpFoundation] [MimeTypeGuesser]
  Removed dead code and various cleaning
  [Console] Make it clear that the second argument is not about command options.
  Added the '-' character for spaceless on tag start and end to be consistent for block, if, set and for nodes
  [Yaml] fixed parse shortcut Key after unindented collection.
  [Console] fixed #10531
  Make the container considered non-fresh if the environment parameters are changed

Conflicts:
	src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig
	src/Symfony/Bridge/Twig/Resources/views/Form/form_table_layout.html.twig
	src/Symfony/Component/Console/Tests/ApplicationTest.php
	src/Symfony/Component/Security/Core/Authentication/Provider/PreAuthenticatedAuthenticationProvider.php
2015-01-25 05:37:39 +01:00
Fabien Potencier
8892cf06c1 minor #13488 [2.3] Removed dead code and various cleaning (saro0h)
This PR was merged into the 2.3 branch.

Discussion
----------

[2.3] Removed dead code and various cleaning

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | ~
| License       | MIT
| Doc PR        | ~

Commits
-------

50973ba Removed dead code and various cleaning
2015-01-25 05:18:27 +01:00
Javier Spagnoletti
1e4a8d55cb [2.3] [HttpFoundation] [MimeTypeGuesser]
Updated exception message in MimeTypeGuesser when no guessers available
(issue #12857).

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #12857
| License       | MIT
| Doc PR        | none
2015-01-24 20:09:16 -03:00
sarah khalil
50973bace1 Removed dead code and various cleaning 2015-01-21 21:14:55 +01:00
Fabien Potencier
db80498bbd Merge branch '2.7'
* 2.7:
  Minor plural/singular change
  print error message if server couldn't be started
  [HttpFoundation] [Request] fix baseUrl parsing to fix wrong path_info
  [Twig][Bridge][TranslationDefaultDomain] add support of named arguments.
  [Form] Improved exception message if the data class is not found
  Fixes ArgvInput's argument getter with empty tokens
  execute cheaper checks before more expensive ones
  [DependencyInjection] Fix missing ExpressionLanguageProviders on extension bild
  [FrameworkBundle] FormDataCollector should be loaded only if form config is enabled
2015-01-20 02:40:45 +01:00
Fabien Potencier
ba9392ce4f Merge branch '2.6' into 2.7
* 2.6:
  Minor plural/singular change
  print error message if server couldn't be started
  [HttpFoundation] [Request] fix baseUrl parsing to fix wrong path_info
  [Twig][Bridge][TranslationDefaultDomain] add support of named arguments.
  [Form] Improved exception message if the data class is not found
  Fixes ArgvInput's argument getter with empty tokens
  execute cheaper checks before more expensive ones
  [DependencyInjection] Fix missing ExpressionLanguageProviders on extension bild
  [FrameworkBundle] FormDataCollector should be loaded only if form config is enabled
2015-01-20 02:40:35 +01:00
Fabien Potencier
7a3332b798 Merge branch '2.5' into 2.6
* 2.5:
  [HttpFoundation] [Request] fix baseUrl parsing to fix wrong path_info
  [Twig][Bridge][TranslationDefaultDomain] add support of named arguments.
  [Form] Improved exception message if the data class is not found
  Fixes ArgvInput's argument getter with empty tokens
  execute cheaper checks before more expensive ones
  [FrameworkBundle] FormDataCollector should be loaded only if form config is enabled

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Resources/config/collectors.xml
2015-01-20 02:40:20 +01:00
Fabien Potencier
760553176f Merge branch '2.3' into 2.5
* 2.3:
  [HttpFoundation] [Request] fix baseUrl parsing to fix wrong path_info
  [Twig][Bridge][TranslationDefaultDomain] add support of named arguments.
  [Form] Improved exception message if the data class is not found
  Fixes ArgvInput's argument getter with empty tokens
  execute cheaper checks before more expensive ones

Conflicts:
	src/Symfony/Component/Form/FormConfigBuilder.php
2015-01-20 02:39:13 +01:00
Fabien Potencier
b8e4b4af3d bug #13039 [HttpFoundation] [Request] fix baseUrl parsing to fix wrong path_info (rk3rn3r)
This PR was squashed before being merged into the 2.3 branch (closes #13039).

Discussion
----------

[HttpFoundation] [Request] fix baseUrl parsing to fix wrong path_info

Hi everyone!

We at trivago had an issue with the Request object. It seems that all versions of symfony 2.x and 3.x are affected from this (possible) bug (don't checked 1.x).
Here is the problem:

some old legacy pages are deployed in the Document Root, let's say /var/www/www.test.com/ .
one or more new applications based on symfony are deployed to /var/release/new_app1/ , /var/release/new_app2/ , ... .
in /var/www/www.test.com/ there is a symlink "app" to /var/release/new_app1/web, like:
/var/www/www.test.com/app --> /var/release/new_app1/web/

there is a "SEO"/human-readable rewrite rule for Document Root (if called path/file not exist): (.*) --> app/app.php

the problem comes, when the user calls a uri starting with "app" or whatever the rewrite rule / symlink points to:

the user calls "http://www.test.com/apparthotel-1234"
results in $_SERVER parameters like this
```
'DOCUMENT_ROOT' =>'/var/www/www.test.com',
'SCRIPT_FILENAME' => '/var/www/www.test.com/app/app.php',
'SCRIPT_NAME' => '/app/app.php',
'PHP_SELF' => '/app/app.php/apparthotel-1234'
```
in Request::prepareBaseUrl() there are checks to find the baseUrl:
```
        if ($baseUrl && false !== $prefix = $this->getUrlencodedPrefix($requestUri, $baseUrl)) {
            // full $baseUrl matches
            return $prefix;
        }

        if ($baseUrl && false !== $prefix = $this->getUrlencodedPrefix($requestUri, dirname($baseUrl))) {
            // directory portion of $baseUrl matches
            return rtrim($prefix, '/');
        }
```
first it is checked if (in our case) "/app/app.php" is in the request uri (/apparthotel-1234).
it's not.

then it takes the dirname (of /app/app.php) which is /app and checks if it is in the request uri (/apparthotel-1234), and YES, it is! and "/app" is returned, but this is wrong, it should be empty (because it comes from a rewrite rule from root: /)!

later in preparePathInfo(), if there is a baseUrl, then the baseUrl is removed from the request uri:
/apparthotel-1234  --->  /arthotel-1234

The cause is, the second baseUrl check, checks if the path of the application is already in the uri, like when the request was "http://www.test.com/app/apparthotel-1234" and hit a rewrite rule like (.*) --> app.php in there, but because it matches a directory it must match "dirname($baseUrl) . '/'".

I also needed to fix one unit test of the getBaseUrl test:
the request uri recently was "/foo%20bar".
but from the $_SERVER infos "foo bar" is a directory, see:
```
'SCRIPT_FILENAME' => '/home/John Doe/public_html/foo bar/app.php',
'SCRIPT_NAME' => '/foo bar/app.php',
'PHP_SELF' => '/foo bar/app.php',
```

webservers will redirect a request "http://www.test.com/foo%20bar" to "http://www.test.com/foo%20bar/" when "foo bar" is a directory. checked this for apache 2.x and nginx 1.4.x.

this fix is for symfony master (3.0.x, see #13039).
I also prepared a merge request for actual 2.7 branch, it will also follow in some minutes. (see #13040)

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | this, #13040, #13038, #7329
| License       | MIT

[HttpFoundation] [Request]
* added missing slash to baseUrl-path part check to remove the path, only when it's also a path in the uri
[HttpFoundation] [Tests] [RequestTest]
* fixed and added unittests

This is the symfony 2.3 branch fix for the issue related to #13038 and #13040

Happy christmas!

Commits
-------

3a3ecd3 [HttpFoundation] [Request] fix baseUrl parsing to fix wrong path_info
2015-01-18 14:31:14 +01:00
rkerner
3a3ecd3353 [HttpFoundation] [Request] fix baseUrl parsing to fix wrong path_info 2015-01-18 14:31:11 +01:00
FlorianLB
69a556dc99 [HttpFoundation] remove deprecated : FlashBag don't implement anymore IteratorAggregate 2015-01-16 22:31:45 +01:00
Fabien Potencier
d752f74161 Merge branch '2.6' into 2.7
* 2.6:
  [FrameworkBundle] fix routing descriptor for options
  exit when Twig environment is not set
  [Routing] fix misleading test for condition
  [Debug] fix test
  [Debug] add missing conflict dep rules
  [TwigBundle] allowed SecurityBundle to use the latest versions of FrameworkBundle
  [HttpFoundation] Make use of isEmpty() method
  fix missing comma in YamlDumper
  [VarDumper] fix very special vars handling
  [Console] Helper\Table->addRow optimization
  [Console] Helper\Table->addRow optimization

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/route_1.md
	src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/route_2.md
	src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/route_collection_1.md
2015-01-15 13:16:13 +01:00
Fabien Potencier
5cc6cfa71c Merge branch '2.7'
* 2.7:
  [TwigBundle] allowed SecurityBundle to use the latest versions of FrameworkBundle
  [TwigBundle] fall back to security instead of tokenStorage when not available
  [FrameworkBundle] bumped deps for HttpKernel
  [TwigBundle] bumped deps for HttpKernel
  [HttpFoundation] Make use of isEmpty() method
  fix missing comma in YamlDumper
  [Console] Helper\Table->addRow optimization
  [Console] Helper\Table->addRow optimization

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Bundle/TwigBundle/composer.json
2015-01-13 08:23:15 +01:00
Fabien Potencier
0bd63ddea9 Merge branch '2.6' into 2.7
* 2.6:
  [TwigBundle] allowed SecurityBundle to use the latest versions of FrameworkBundle
  [HttpFoundation] Make use of isEmpty() method
  fix missing comma in YamlDumper
  [Console] Helper\Table->addRow optimization
  [Console] Helper\Table->addRow optimization
2015-01-13 08:22:42 +01:00
Fabien Potencier
66b6e79ed2 Merge branch '2.5' into 2.6
* 2.5:
  [TwigBundle] allowed SecurityBundle to use the latest versions of FrameworkBundle
  [HttpFoundation] Make use of isEmpty() method
  fix missing comma in YamlDumper
  [Console] Helper\Table->addRow optimization
  [Console] Helper\Table->addRow optimization

Conflicts:
	src/Symfony/Bundle/SecurityBundle/composer.json
2015-01-13 08:22:24 +01:00
Fabien Potencier
bf3e882a0c Merge branch '2.3' into 2.5
* 2.3:
  [TwigBundle] allowed SecurityBundle to use the latest versions of FrameworkBundle
  [HttpFoundation] Make use of isEmpty() method
  fix missing comma in YamlDumper
  [Console] Helper\Table->addRow optimization

Conflicts:
	src/Symfony/Bundle/SecurityBundle/composer.json
	src/Symfony/Component/Console/Helper/TableHelper.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container9.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services9.yml
2015-01-13 08:22:00 +01:00
Alexander Schwenn
fc51d544b5 [HttpFoundation] Make use of isEmpty() method 2015-01-12 17:40:49 +01:00
Fabien Potencier
3176b0951d Merge branch '2.7'
* 2.7:
  [FrameworkBundle|TwigBundle] update functional tests configuration files to not use deprecated config keys anymore.
  added a relative_path Twig function
  added an absolute_url() Twig function
2015-01-10 16:37:43 +01:00
Fabien Potencier
861804be5f feature #13264 URL manipulations as a Twig extension (fabpot)
This PR was merged into the 2.7 branch.

Discussion
----------

URL manipulations as a Twig extension

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | symfony/symfony-docs#4805

While working on the new asset component, I realized that the "absolute URL" feature was misplaced and would benefit from being exposed as a Twig function (composition is always a good thing). Then, I wondered if having a Twig function to generate a relative path (like done by the Routing component would also make sense). And here is the corresponding PR.

```jinja
{# generate an absolute URL for the given absolute path #}
{{ absolute_url('/me.png') }}

{# generate a relative path for the given absolute path (based on the current Request) #}
{{ relative_path('/foo/me.png') }}

{# compose as you see fit #}
{{ absolute_url(asset('me.png')) }}
```

As you can see, we require an absolute path for both functions (and we even add the leading slash if it is omitted), not sure if we want to do otherwise.

ping @tobion

Commits
-------

0ec852d added a relative_path Twig function
ee27ed8 added an absolute_url() Twig function
2015-01-10 08:28:57 +01:00
Fabien Potencier
6dc897931b bumped min PHP version to 5.3.9 2015-01-09 07:51:41 +01:00
Fabien Potencier
e1f30c4164 Merge branch '2.7'
* 2.7:
  added type-hint
  [Security] removed usage of the deprecated SecurityContextInterface
  [Form] fixed deprecation triggers, removed usage of deprecated features
  [EventDispatcher] fixed deprecation notices in the EventDispatcher Component
  [HttpFoundation] maked a test as being for deprecated feature
  added missing error_reporting
  [Yaml] maked a test as being for deprecated feature
  [Yaml] removed deprecation notices on internal constant
  [Security] moved test files into the right place
  [HttpKernel] fixed deprecation notices for ESI classes
  [Form] moved a deprecation notice
  [Form] fixed the CSRF extension to allow using only the new interfaces
  [Form] tweaked a deprecation message
  [Validator] Add a Russian translation for the checkDNS option in the URL validator
  [Validator] Add a Slovenian translation for the checkDNS option in the URL validator
  [Validator] Add a Polish translation for the checkDNS option in the URL validator.
  fixed typo
  added missing support for factories in console descriptions
  [FrameworkBundle] fixed missing information in some descriptors

Conflicts:
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/SecurityBundle/composer.json
	src/Symfony/Component/Form/Extension/HttpFoundation/EventListener/BindRequestListener.php
	src/Symfony/Component/Yaml/Tests/YamlTest.php
2015-01-08 18:12:45 +01:00
Fabien Potencier
a2ea28d8b7 [HttpFoundation] maked a test as being for deprecated feature 2015-01-08 13:58:24 +01:00
Fabien Potencier
0ec852d79f added a relative_path Twig function 2015-01-07 13:33:01 +01:00
Fabien Potencier
481a0149cb Merge branch '2.7'
* 2.7: (23 commits)
  [FrameworkBundle] Removed the use of TableHelper
  Spanish translation for the ```checkDNS``` option introduced in #12956.
  use Table instead of the deprecated TableHelper
  [2.3] fix failing test
  Fixes more deprecation notices as per @stof review.
  Fixed some deprecations according to @stof feedbacks.
  Normalizes deprecation notice messages.
  [Validator] fixes UuidValidator deprecated class namespace.
  [Form] adds more deprecation notices.
  [Validator] adds more deprecation notices.
  [Form] Adds a way to trigger deprecation notice on demand for VirtualFormAwareIterator class.
  Fixes more deprecation notices.
  Normalized @deprecated annotations.
  Removed deprecation notices from test files.
  Fixes deprecation notices.
  Reverted trigger_error() function calls on deprecated interfaces to prevent breaking third party projects implementing them.
  Adds deprecation notices for structures to be removed in 3.0.
  fixed typo
  Escape annotations in comments, refs #13089.
  [2.3] missing cleanup for legacy test
  ...

Conflicts:
	.travis.yml
	src/Symfony/Bridge/Monolog/Logger.php
	src/Symfony/Bridge/Swiftmailer/DataCollector/MessageDataCollector.php
	src/Symfony/Bridge/Twig/Node/FormEnctypeNode.php
	src/Symfony/Bundle/FrameworkBundle/Command/RouterApacheDumperCommand.php
	src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/Descriptor.php
	src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php
	src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php
	src/Symfony/Bundle/FrameworkBundle/HttpCache/HttpCache.php
	src/Symfony/Bundle/FrameworkBundle/Templating/Helper/FormHelper.php
	src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_public.txt
	src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_services.txt
	src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_tag1.txt
	src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/parameters_1.txt
	src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/route_collection_1.txt
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Component/Config/Definition/ReferenceDumper.php
	src/Symfony/Component/Console/Helper/DialogHelper.php
	src/Symfony/Component/Console/Helper/ProgressHelper.php
	src/Symfony/Component/Console/Helper/TableHelper.php
	src/Symfony/Component/Form/Deprecated/FormEvents.php
	src/Symfony/Component/Form/Extension/HttpFoundation/EventListener/BindRequestListener.php
	src/Symfony/Component/Form/FormEvents.php
	src/Symfony/Component/HttpKernel/Debug/ErrorHandler.php
	src/Symfony/Component/HttpKernel/Debug/ExceptionHandler.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/HttpKernel/KernelInterface.php
	src/Symfony/Component/OptionsResolver/Tests/LegacyOptionsTest.php
	src/Symfony/Component/Process/Process.php
	src/Symfony/Component/Routing/Matcher/ApacheUrlMatcher.php
	src/Symfony/Component/Routing/Matcher/Dumper/ApacheMatcherDumper.php
	src/Symfony/Component/Yaml/Yaml.php
2015-01-06 11:39:25 +01:00
Fabien Potencier
fb7eb2dc9f minor #13060 [2.7] adds deprecation notices. (hhamon)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7] adds deprecation notices.

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #12608, #12672, #12675 #12684, #12686
| License       | MIT
| Doc PR        | ~

Commits
-------

f9fbb4f Fixes more deprecation notices as per @stof review.
fd47c07 Fixed some deprecations according to @stof feedbacks.
2a3e7d2 Normalizes deprecation notice messages.
738b9be [Validator] fixes UuidValidator deprecated class namespace.
e608ba6 [Form] adds more deprecation notices.
cd9617a [Validator] adds more deprecation notices.
a7f841e [Form] Adds a way to trigger deprecation notice on demand for VirtualFormAwareIterator class.
97efd2c Fixes more deprecation notices.
fd9c7bb Normalized @deprecated annotations.
39cfd47 Removed deprecation notices from test files.
2a9749d Fixes deprecation notices.
6f57b7b Reverted trigger_error() function calls on deprecated interfaces to prevent breaking third party projects implementing them.
86b9f6b Adds deprecation notices for structures to be removed in 3.0.
2015-01-05 21:51:33 +01:00
Nicolas Grekas
92706399c3 Merge branch '2.7'
* 2.7:
  [2.6] fix deprecation silencing...
  [Form] fix Context\ExecutionContextInterface mock
  add german translation for checkDNS option
  [Validator] marks TraversalStrategy::STOP_RECURSION constant internal as it has been introduced for the BC layer and will be removed in 3.0.
2015-01-05 19:25:47 +01:00
Nicolas Grekas
ea1ac32815 Merge branch '2.6' into 2.7
* 2.6:
  [2.6] fix deprecation silencing...
  [Form] fix Context\ExecutionContextInterface mock
  [Validator] marks TraversalStrategy::STOP_RECURSION constant internal as it has been introduced for the BC layer and will be removed in 3.0.
2015-01-05 19:25:37 +01:00
Nicolas Grekas
57fddbf9b7 [2.6] fix deprecation silencing... 2015-01-05 18:41:06 +01:00