1. 14 Dec, 2017 9 commits
    • Fabien Potencier's avatar
      prepared the 2.2.1 release · a70863fd
      Fabien Potencier authored
      a70863fd
    • Fabien Potencier's avatar
      updated CHANGELOG · 1d219edf
      Fabien Potencier authored
      1d219edf
    • Fabien Potencier's avatar
      fixed CS · 0cc7d382
      Fabien Potencier authored
      0cc7d382
    • Fabien Potencier's avatar
      bug #1576 Namespaces for Twig paths (Adrien) · 15b098d8
      Fabien Potencier authored
      This PR was merged into the 2.2.x-dev branch.
      
      Discussion
      ----------
      
      Namespaces for Twig paths
      
      Hello,
      
      Recently, I had to use Symfony project's pieces of code in a Silex project, extending parent templates through submodules. These submodules, on which I had no control, used namespaced templates in their Twig files, such as:
      ```twig
      {% import "@FooModule/macros.html.twig" as macros %}
      ```
      
      ____
      
      ### Problem
      Silex cannot resolve namespaces by default, since you have to register paths as following:
      ```php
      $app->register(new TwigServiceProvider(), array(
          'twig.path' => [
              '../app/Resources/views',
              '../common/foo-module/Resources/views'
          ]
      ));
      ```
      
      ### Temporary solution
      What I had to do in order to get it working in the project was to "hack" the `\Twig_Loader_Filesystem` class (*PHP 7+*):
      ```php
      $paths = [
          '../app/Resources/views',
          'FooModule' => '../common/foo-module/Resources/views',
      ];
      $app->register(new TwigServiceProvider());
      $app['twig.loader.filesystem'] = (function() use (&$paths): \Twig_Loader_Filesystem {
          $fileSystem = new \Twig_Loader_Filesystem();
          foreach ($paths as $namespace => $path) {
              if (is_string($namespace)) {
                  $fileSystem->addPath($path, $namespace);
              } else {
                  $fileSystem->addPath($path);
              }
          }
      
           return $fileSystem;
      })();
      ```
      This works fine. Other solutions crossed my minds, but this was one of the best alternatives I figured in order to use Twig namespaces in Silex.
      
      ### Code modification
      Though this solution works, it may seem a bit dirty to have to do this in the project's code and not having the `TwigServiceProvider` providing this possibility. So I added this little piece of algorithm directly at the `\Twig_Loader_Filesystem` instanciation, which now looks like this as you will see in changes:
      ```php
      $app['twig.loader.filesystem'] = function ($app) {
          if (!is_array($app['twig.path'])) {
              $app['twig.path'] = array($app['twig.path']);
          }
      
          $fileSystem = new \Twig_Loader_Filesystem();
          foreach ($app['twig.path'] as $namespace => $path) {
              if (is_string($namespace)) {
                  $fileSystem->addPath($path, $namespace);
              } else {
                  $fileSystem->addPath($path);
              }
          }
      
          return $fileSystem;
      };
      ```
      So you can simply register your `TwigServiceProvider` as following:
      ```php
      $app->register(new TwigServiceProvider(), [
          'twig.path' => [
              '../app/Resources/views',
              'FooModule' => '../common/foo-module/Resources/views',
          ]
      ]);
      ```
      
      ___
      
      English not being my native language, I hope I was clear enough. I stay around to answer any question about this potential contribution. (:
      
      A
      
      Commits
      -------
      
      d1f29680 [change] Namespaces for Twig paths
      15b098d8
    • Fabien Potencier's avatar
      minor #1580 Refactoring tests (carusogabriel) · bc3eec7b
      Fabien Potencier authored
      This PR was merged into the 2.2.x-dev branch.
      
      Discussion
      ----------
      
      Refactoring tests
      
      I've refactored some tests, using:
      - `assertCount` instead of `count` function;
      - `assertFalse` instead of strict comparison with `false` keyword;
      - `assertArrayHasKey` instead of `isset` function.
      
      Commits
      -------
      
      b163e443 Refactoring tests
      bc3eec7b
    • Fabien Potencier's avatar
      minor #1584 Test against PHP 7.2 (danielmadu) · 4e7fa229
      Fabien Potencier authored
      This PR was merged into the 2.2.x-dev branch.
      
      Discussion
      ----------
      
      Test against PHP 7.2
      
      Commits
      -------
      
      9853996c Test against PHP 7.2
      4e7fa229
    • Fabien Potencier's avatar
      feature #1583 Swiftmailer SSL stream_context_options cannot be set #1582 : (leClaude) · 6435678e
      Fabien Potencier authored
      This PR was merged into the 2.2.x-dev branch.
      
      Discussion
      ----------
      
      Swiftmailer SSL stream_context_options cannot be set #1582 :
      
      Adding stream_context_options to the $app['swiftmailer.options']
      
      Commits
      -------
      
      d622daa3 Swiftmailer SSL stream_context_options cannot be set #1582 : Adding stream_context_options to the $app['swiftmailer.options']
      6435678e
    • Daniel Madureira's avatar
      Test against PHP 7.2 · 9853996c
      Daniel Madureira authored
      9853996c
    • leClaude's avatar
      Swiftmailer SSL stream_context_options cannot be set #1582 : · d622daa3
      leClaude authored
      Adding stream_context_options to the $app['swiftmailer.options']
      d622daa3
  2. 10 Dec, 2017 1 commit
  3. 27 Nov, 2017 1 commit
  4. 23 Nov, 2017 1 commit
    • Fabien Potencier's avatar
      minor #1575 A minor typo (amitmerchant1990) · c62cfba1
      Fabien Potencier authored
      This PR was merged into the 2.2.x-dev branch.
      
      Discussion
      ----------
      
      A minor typo
      
      Hi,
      
      I found a minor typo in this particular file. Kindly please check it and merge the pull request if you find it valid.
      
      Thanks!
      
      Commits
      -------
      
      8fd2b2bf Update organizing_controllers.rst
      c62cfba1
  5. 22 Nov, 2017 1 commit
  6. 07 Nov, 2017 1 commit
  7. 29 Aug, 2017 3 commits
  8. 25 Aug, 2017 1 commit
  9. 22 Aug, 2017 3 commits
  10. 18 Aug, 2017 1 commit
  11. 17 Aug, 2017 1 commit
  12. 23 Jul, 2017 4 commits
  13. 20 Jul, 2017 2 commits
  14. 15 Jun, 2017 11 commits
    • Fabien Potencier's avatar
      fixed CS · 74d9869d
      Fabien Potencier authored
      74d9869d
    • Fabien Potencier's avatar
      minor #1482 Update documentation to add cache explaination (jlHertel) · 85bff8cb
      Fabien Potencier authored
      This PR was merged into the 2.1.x-dev branch.
      
      Discussion
      ----------
      
      Update documentation to add cache explaination
      
      This updates the documentation explaining how to setup any cache that implements the Doctrine interface. As the Symfony documentation don't clearly shows how to do this, I intend to add it here.
      
      Commits
      -------
      
      2e0f7d38 Update documentation to add cache explaination
      85bff8cb
    • Fabien Potencier's avatar
      bug #1522 Error using EsiFragment with provider and twig functions (mihailov-vf) · 6260671f
      Fabien Potencier authored
      This PR was merged into the 2.1.x-dev branch.
      
      Discussion
      ----------
      
      Error using EsiFragment with provider and twig functions
      
      Trying to use twig functions "controller" and "render_esi" like [Symfony esi reference](http://symfony.com/doc/current/http_cache/esi.html) , i've noticed the following error:
      An exception has been thrown during the rendering of a template ("You must use a URI when using the ESI rendering strategy or set a URL signer.").
      
      It's the lack of a UriSigner on the constructor.
      
      Commits
      -------
      
      c6bbc48b Update HttpFragmentServiceProvider.php
      6260671f
    • Fabien Potencier's avatar
      feature #1518 add json manifest version strategy support (MatTheCat) · 9cbf194d
      Fabien Potencier authored
      This PR was merged into the 2.1.x-dev branch.
      
      Discussion
      ----------
      
      add json manifest version strategy support
      
      Commits
      -------
      
      65382f4c add json manifest version strategy support
      9cbf194d
    • Fabien Potencier's avatar
      bug #1534 RedirectableUrlMatcher needs to return a proper array with the _route parameter (slipo) · 268e3d33
      Fabien Potencier authored
      This PR was merged into the 2.1.x-dev branch.
      
      Discussion
      ----------
      
      RedirectableUrlMatcher needs to return a proper array with the _route parameter
      
      Symfony's HttpUtils's checkRequestPath() expects RedirectableUrlMatcher to return an array with '_route'. This throws a notice `Undefined index: _route`:
      
      ```
              $coll = new RouteCollection();
              $coll->add('foo', new Route('/foo', array(), array(), array(), '', array('https')));
              $matcher = new RedirectableUrlMatcher($coll, new RequestContext());
              $httpUtils = new HttpUtils(null, $matcher);
              $request = Request::create('http://example.com/foo');
              $httpUtils->checkRequestPath($request, 'foo');
      ```
      
      It's an issue with my app although I haven't yet taken the time to make a simplified app to show the issue besides the above.
      
      Commits
      -------
      
      e6d41b8d RedirectableUrlMatcher needs to return a proper array with the _route parameter
      268e3d33
    • Fabien Potencier's avatar
      minor #1529 Added test of FormTrait::namedForm() (chihiro-adachi) · 56dfd325
      Fabien Potencier authored
      This PR was squashed before being merged into the 2.1.x-dev branch (closes #1529).
      
      Discussion
      ----------
      
      Added test of FormTrait::namedForm()
      
      I did not see the test of FormTrait::namedForm(), so I created it.
      
      Commits
      -------
      
      32640626 Added test of FormTrait::namedForm()
      56dfd325
    • chihiro-adachi's avatar
      Added test of FormTrait::namedForm() · 32640626
      chihiro-adachi authored
      32640626
    • Fabien Potencier's avatar
      minor #1523 Test all the 3.x branches in Travis (skalpa) · 8e187c12
      Fabien Potencier authored
      This PR was squashed before being merged into the 2.1.x-dev branch (closes #1523).
      
      Discussion
      ----------
      
      Test all the 3.x branches in Travis
      
      I enhanced the Travis config to ensure the tests are run against all the available 3.x branches.
      
      Before the changes:
      - The tests were run against `2.8` when `$SYMFONY_DEPS_VERSION` was unset
      - There were additional envs for `3.0`, `3.1` and `3.2`
      
      After the changes:
      - When `$SYMFONY_DEPS_VERSION` is unset, `composer.json` is left unchanged and the tests are run against the most recent `3.x-dev` branch (what you'd get by running phpunit locally)
      - There are envs to test all the symfony branches from `2.8` to `3.3`
      
      I also fixed the cache (there were two `cache/directories` sections) and made the syntax more consistent overall.
      
      This changes the behaviors of the build: before, `Twig 2.x` was tested with `2.8`. Now, it is tested alongside the most recent `3.x`. I believe it makes more sense like this, however if the old behavior was on purpose (i.e because `2.8` is still the most recent _lts_), I can still switch back and add envs for `3.3` and `3.4` instead.
      
      Regarding the changes to the tests:
      
      I originally removed `symfony/web-link` from the list of dependencies when testing against `< 3.3`, as something like this will be necessary later when adding `symfony/cache` support which conflicts with `symfony/var-dumper < 3.3`.
      
      However, as this was not necessary and actually prevented us to check that the WebLink integration didn't break when the component was available but associated with an old version of the `twig-bridge`, I ultimately rolled back the change. Yet, I kept the checks in the tests as they are cleaner this way IMO (anyway they're in a separate commit so I could just remove them too if you want).
      
      Commits
      -------
      
      5557944d Test all the 3.x branches in Travis
      8e187c12
    • Pascal Luna's avatar
      Test all the 3.x branches in Travis · 5557944d
      Pascal Luna authored
      5557944d
    • Fabien Potencier's avatar
      fixed CS · 77e86f11
      Fabien Potencier authored
      77e86f11
    • Fabien Potencier's avatar
      minor #1532 Docs: Update interface reference for csrf.token_manager (thisisandrew) · 682e1a56
      Fabien Potencier authored
      This PR was merged into the 2.1.x-dev branch.
      
      Discussion
      ----------
      
      Docs: Update interface reference for csrf.token_manager
      
      The csrf.token_manager is an implementation of CsrfTokenManagerInterface
      Fix the label and link to the reference
      Update Usage section to include creation of a new token
      
      Commits
      -------
      
      0a0c2d9e Update interface reference for csrf.token_manager
      682e1a56