From dc6b6fc35377e077e21d6c43e6a9ffe62301b8f5 Mon Sep 17 00:00:00 2001 From: Mario Date: Tue, 26 Jul 2022 15:22:05 +0000 Subject: add "falsey" test --- Zotlabs/Render/Comanche.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'Zotlabs/Render') diff --git a/Zotlabs/Render/Comanche.php b/Zotlabs/Render/Comanche.php index 230c2455e..7288c7fd7 100644 --- a/Zotlabs/Render/Comanche.php +++ b/Zotlabs/Render/Comanche.php @@ -219,7 +219,8 @@ class Comanche { * - [if $config.system.foo {} baz] which will check if 'baz' is an array element in get_config('system','foo') * - [if $config.system.foo {*} baz] which will check if 'baz' is an array key in get_config('system','foo') * - [if $config.system.foo] which will check for a return of a true condition for get_config('system','foo'); - * + * - [if !$config.system.foo] which will check for a return of a false condition for get_config('system','foo'); + * * The values 0, '', an empty array, and an unset value will all evaluate to false. * * @param int|string $s @@ -299,6 +300,15 @@ class Comanche { return false; } + // Ordering of this check (for falsiness) with relation to the following one (check for truthiness) is important. + if (preg_match('/[\!\$](.*?)$/', $s, $matches)) { + $x = $this->get_condition_var($matches[1]); + if (!$x) { + return true; + } + return false; + } + if(preg_match('/[\$](.*?)$/',$s,$matches)) { $x = $this->get_condition_var($matches[1]); if($x) -- cgit v1.2.3