diff --git a/phpBB/phpbb/template/twig/extension.php b/phpBB/phpbb/template/twig/extension.php index 968a9c9d3e..7629fa2048 100644 --- a/phpBB/phpbb/template/twig/extension.php +++ b/phpBB/phpbb/template/twig/extension.php @@ -79,6 +79,8 @@ class extension extends \Twig\Extension\AbstractExtension new \Twig\TwigFilter('subset', array($this, 'loop_subset'), array('needs_environment' => true)), // @deprecated 3.2.0 Uses twig's JS escape method instead of addslashes new \Twig\TwigFilter('addslashes', 'addslashes'), + new \Twig\TwigFilter('int', [$this, 'type_int']), + new \Twig\TwigFilter('float', [$this, 'type_float']), ); } @@ -165,6 +167,28 @@ class extension extends \Twig\Extension\AbstractExtension return twig_slice($env, $item, $start, $end, $preserveKeys); } + /** + * Cast to INT a variable + * + * Example: config('my_awesome_config')|int + * @return int + */ + public function type_int($value) + { + return (int) $value; + } + + /** + * Cast to FLOAT a variable + * + * Example: config('my_awesome_config')|float + * @return float + */ + public function type_float($value) + { + return (float) $value; + } + /** * Get output for a language variable (L_FOO, LA_FOO) *