summaryrefslogtreecommitdiff
path: root/app/Report/ReportParserGenerate.php
diff options
context:
space:
mode:
authorGreg Roach <fisharebest@webtrees.net>2018-09-11 18:24:51 +0100
committerGreg Roach <fisharebest@webtrees.net>2018-09-11 18:24:51 +0100
commitcb63a60ec25218d0f60e4b9099e2b63da6d3eab5 (patch)
tree397085ed58c0f4a64bf2d95fb6b6f45d47207d4b /app/Report/ReportParserGenerate.php
parent16371bee8867ad29bdf9955f241a602a5c708170 (diff)
downloadwebtrees-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.php7
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++;