Commit Graph

137 Commits

Author SHA1 Message Date
JoshyPHP b77c2c40b4 Replace implicit dependence on ext/iconv in JS escaper
polyfill-iconv does not support the UTF-16BE conversion
2020-09-13 19:23:45 +02:00
Fabien Potencier ab6695b580 Merge branch '1.x' into 2.x
* 1.x:
  Fix sandbox support when using include(template_from_string())
  Add test to verify that filter is not working when template_from_string is used.
  In |filter(), |map(), and |reduce(), throw a RuntimeError instead of a TypeError
2020-08-23 17:55:14 +02:00
Fabien Potencier c7be1bb3c4 Fix sandbox support when using include(template_from_string()) 2020-08-23 17:48:34 +02:00
Fabien Potencier 54eff0d96e bug #3341 In |filter(), |map(), and |reduce(), throw a RuntimeError instead of a TypeError (thijzert)
This PR was squashed before being merged into the 1.x branch.

Discussion
----------

In |filter(), |map(), and |reduce(), throw a RuntimeError instead of a TypeError

If a template accidentally performs `|filter(...)` on a variable that isn't traversable (e.g. `null`), the calling code will encouter the raw `TypeError` that results from Twig trying to construct an `IteratorIterator` on that variable. This means that context information (e.g., in which exact template the error occurred, and on which line) is discarded, which makes it very difficult to debug your templates.

This commit adds code to throw a `RuntimeError` if Twig encounters a situation where there's no valid way to filter an array.

Commits
-------

567b1e2a In |filter(), |map(), and |reduce(), throw a RuntimeError instead of a TypeError
2020-08-23 16:40:19 +02:00
Thijs van Dijk 567b1e2a06 In |filter(), |map(), and |reduce(), throw a RuntimeError instead of a TypeError 2020-08-23 16:40:13 +02:00
Fabien Potencier 9bf49d5ccf Merge branch '1.x' into 2.x
* 1.x:
  Update CHANGELOG
  Fix previous merge
  Make round brackets optional for one argument tests like sameas
2020-08-23 14:22:09 +02:00
Andreas 1ee72d9e15 Make round brackets optional for one argument tests like sameas 2020-08-23 14:16:31 +02:00
Fabien Potencier cb3a8a25d0 Fix CS 2020-08-23 13:49:43 +02:00
Fabien Potencier 81612a5c7d Merge branch '1.x' into 2.x
* 1.x:
  Fix CS
2020-08-23 13:49:18 +02:00
Fabien Potencier bde54e11b8 Fix CS 2020-08-23 13:48:32 +02:00
Fabien Potencier d190c2e7f7 Merge branch '1.x' into 2.x
* 1.x:
  Restrict callables to closures in filters
2020-07-05 15:32:43 +02:00
Jérémy Derussé d8259519c0 Restrict callables to closures in filters 2020-07-05 15:30:15 +02:00
Fabien Potencier c38f96318b Fix CS 2020-06-22 08:15:56 +02:00
Fabien Potencier c2019904bb Merge branch '1.x' into 2.x
* 1.x:
  Fix CS
2020-06-22 08:13:34 +02:00
Fabien Potencier e99363231b Fix CS 2020-06-22 08:11:03 +02:00
Fabien Potencier 3beabd64bd Merge branch '1.x' into 2.x
* 1.x:
  Throw exception in case non-Traversable data is passed to "filter" filter
  Improve batch code example
2020-06-08 12:41:25 +02:00
Jakub Caban 5311963eb3 Throw exception in case non-Traversable data is passed to "filter" filter 2020-05-25 07:16:34 +02:00
Fabien Potencier 76e8f1312e Fix typo 2020-04-24 08:24:03 +02:00
Pierre Grimaud 0273057622 Fix typos 2020-04-24 08:22:30 +02:00
Fabien Potencier bf64959fb8 Merge branch '1.x' into 2.x
* 1.x:
  Tweaking phpdoc above Environment
  Identity Equals - Best practices
  Update default.rst
2020-03-17 15:09:30 +01:00
Hector Prats 60d5b4bcf7 Identity Equals - Best practices 2020-02-26 13:13:52 +01:00
Fabien Potencier 158a8530c5 Add a check to ensure that iconv() is defined 2020-02-11 16:06:59 +01:00
Fabien Potencier 04174b5f62 Merge branch '1.x' into 2.x
* 1.x:
  Replace strtolower() with strtr() when dealing with method names
2020-01-08 09:32:31 +01:00
Fabien Potencier 46e232b37c Merge branch '1.x' into 2.x
* 1.x:
  Add missing link in docs
  Correct return type of twig_date_converter
2019-12-09 17:39:17 +01:00
Fred Cox e927e859ea Correct return type of twig_date_converter 2019-12-09 17:33:08 +01:00
Fabien Potencier f5950a5b1f added the spaceship operator 2019-08-20 10:30:06 +02:00
Fabien Potencier 330024b67e added support for an "arrow" function on the "sort" filter 2019-08-20 10:18:43 +02:00
Fabien Potencier 42611d7c40 fixed CS 2019-08-10 16:11:58 +02:00
Viktor Szépe 1aa7dbff35 Fix PHPDoc of twig_get_attribute()
Repel the attack of the French keyboard
2019-08-10 13:39:07 +02:00
Fabien Potencier 59bb9d1033 moved the HTML extension to an external Composer package 2019-08-08 18:10:45 +02:00
Fabien Potencier 336d69c166 fixed CS 2019-08-07 20:54:50 +02:00
Fabien Potencier d0c0f7e3b0 Merge branch '1.x' into 2.x
* 1.x:
  fixed the "empty" test on Traversable instances
  avoid confusion between .. and ..
2019-08-07 17:07:59 +02:00
Fabien Potencier b202fe3809 fixed the "empty" test on Traversable instances 2019-08-07 17:02:01 +02:00
Fabien Potencier 2a32f38be7 fixed phpdocs 2019-08-07 16:22:21 +02:00
Fabien Potencier 472cb913fd feature #3094 Add extra argument to filter column (DarkBee)
This PR was merged into the 2.x branch.

Discussion
----------

Add extra argument to filter column

Added optional argument to `twig_array_column`, `$index_key`, to reflect proper arguments for underlaying `PHP` function `column`

Commits
-------

7ca47f2e Update CoreExtension.php
2019-08-07 16:21:35 +02:00
Fabien Potencier 6ce9beb9fd moved css_class function to html_classes filter 2019-08-07 16:09:15 +02:00
Grégoire Pineau 2200d837ef Added support for css_class function 2019-08-07 15:57:33 +02:00
Fabien Potencier debc5c3ca5 fixed wrong registration 2019-08-07 15:44:55 +02:00
Fabien Potencier 220e75065a added the data_uri filter 2019-08-07 14:42:44 +02:00
Fabien Potencier 03dbdb9683 Merge branch '1.x' into 2.x
* 1.x:
  Fix using array_key_exists() on objects, it is deprecated in PHP 7.4
2019-08-02 10:10:18 +02:00
DarkBee 7ca47f2edd Update CoreExtension.php
Added optional argument to `twig_array_column`, `$index_key`, to reflect proper arguments for underlaying `PHP` function `column`
2019-07-24 14:07:14 +02:00
Fabien Potencier 1190d3d420 Merge branch '1.x' into 2.x
* 1.x:
  fixed CS
  [1.x] Patch split filter
  [doc] "map" filter: fix args order (value, key)
2019-06-25 12:53:42 +02:00
Fabien Potencier 5e74239e8c fixed CS 2019-06-25 07:36:40 +02:00
Adrian Suter 4c4df962ee [1.x] Patch split filter 2019-06-25 07:34:58 +02:00
Fabien Potencier 29ad145dd8 fixed the filter filter 2019-06-14 07:36:32 +02:00
Fabien Potencier b957ff6f29 Merge branch '1.x' into 2.x
* 1.x:
  Don't clear PHP buffer when an error occurs with debug=true
  Remove duplicate phpdoc
2019-06-10 19:37:27 +02:00
Grégoire Pineau c910e71f5a Don't clear PHP buffer when an error occurs with debug=true 2019-06-10 19:36:53 +02:00
Fabien Potencier 43bc74a7d0 Merge branch '1.x' into 2.x
* 1.x:
  added support for "Twig\Markup" instances in the "in" test (again)
2019-06-03 18:38:09 +02:00
Fabien Potencier 2218cfe26b added support for "Twig\Markup" instances in the "in" test (again) 2019-06-03 18:20:29 +02:00
Savas Ziplies 4497083325 Fixed: Endless loop if more than one parent without the macro exists 2019-06-03 15:30:23 +02:00