From 84b3031a449fd6a5b5050e03a5550226c2aec84b Mon Sep 17 00:00:00 2001 From: Thomas Seven Date: Thu, 29 Jan 2015 11:59:14 +0100 Subject: [PATCH] Make the fix for #105 more elegant, using $template->parseArguments() --- src/Handlebars/Helper/IfHelper.php | 11 ++--------- src/Handlebars/Helper/UnlessHelper.php | 11 ++--------- 2 files changed, 4 insertions(+), 18 deletions(-) diff --git a/src/Handlebars/Helper/IfHelper.php b/src/Handlebars/Helper/IfHelper.php index b3cb543..8b90924 100644 --- a/src/Handlebars/Helper/IfHelper.php +++ b/src/Handlebars/Helper/IfHelper.php @@ -50,15 +50,8 @@ class IfHelper implements Helper */ public function execute(Template $template, Context $context, $args, $source) { - if (is_numeric($args)) { - $tmp = $args; - } elseif(preg_match('/^\'.*\'$/', trim($args))) { - $tmp = preg_replace('/^\'(.*)\'$/', '$1', trim($args)); - } elseif(preg_match('/^".*"$/', trim($args))) { - $tmp = preg_replace('/^"(.*)"$/', '$1', trim($args)); - } else { - $tmp = $context->get($args); - } + $parsedArgs = $template->parseArguments($args); +$tmp = $context->get($parsedArgs[0]); $context->push($context->last()); if ($tmp) { diff --git a/src/Handlebars/Helper/UnlessHelper.php b/src/Handlebars/Helper/UnlessHelper.php index c8029b8..e099532 100644 --- a/src/Handlebars/Helper/UnlessHelper.php +++ b/src/Handlebars/Helper/UnlessHelper.php @@ -50,15 +50,8 @@ class UnlessHelper implements Helper */ public function execute(Template $template, Context $context, $args, $source) { - if (is_numeric($args)) { - $tmp = $args; - } elseif(preg_match('/^\'.*\'$/', trim($args))) { - $tmp = preg_replace('/^\'(.*)\'$/', '$1', trim($args)); - } elseif(preg_match('/^".*"$/', trim($args))) { - $tmp = preg_replace('/^"(.*)"$/', '$1', trim($args)); - } else { - $tmp = $context->get($args); - } + $parsedArgs = $template->parseArguments($args); + $tmp = $context->get($parsedArgs[0]); $context->push($context->last());