diff options
| author | Greg Roach <fisharebest@webtrees.net> | 2018-09-11 18:24:51 +0100 |
|---|---|---|
| committer | Greg Roach <fisharebest@webtrees.net> | 2018-09-11 18:24:51 +0100 |
| commit | cb63a60ec25218d0f60e4b9099e2b63da6d3eab5 (patch) | |
| tree | 397085ed58c0f4a64bf2d95fb6b6f45d47207d4b /app/Report/ReportParserGenerate.php | |
| parent | 16371bee8867ad29bdf9955f241a602a5c708170 (diff) | |
| download | webtrees-cb63a60ec25218d0f60e4b9099e2b63da6d3eab5.tar.gz webtrees-cb63a60ec25218d0f60e4b9099e2b63da6d3eab5.tar.bz2 webtrees-cb63a60ec25218d0f60e4b9099e2b63da6d3eab5.zip | |
Fix: #1842 - support PHP functions in report expressions
Diffstat (limited to 'app/Report/ReportParserGenerate.php')
| -rw-r--r-- | app/Report/ReportParserGenerate.php | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/app/Report/ReportParserGenerate.php b/app/Report/ReportParserGenerate.php index 232c57a19b..b0901e9de4 100644 --- a/app/Report/ReportParserGenerate.php +++ b/app/Report/ReportParserGenerate.php @@ -32,6 +32,7 @@ use Fisharebest\Webtrees\Note; use Fisharebest\Webtrees\Place; use Fisharebest\Webtrees\Tree; use stdClass; +use Symfony\Component\ExpressionLanguage\ExpressionFunction; use Symfony\Component\ExpressionLanguage\ExpressionLanguage; /** @@ -1522,7 +1523,11 @@ class ReportParserGenerate extends ReportParserBase $i++; } - $ret = (new ExpressionLanguage())->evaluate($condition); + // Create an expression language with the functions used by our reports. + $expression_provider = new ReportExpressionLanguageProvider(); + $expression_language = new ExpressionLanguage(null, [$expression_provider]); + + $ret = $expression_language->evaluate($condition); if (!$ret) { $this->process_ifs++; |
