diff --git a/system/src/Grav/Common/Twig/TwigExtension.php b/system/src/Grav/Common/Twig/TwigExtension.php index aa9f1de04a..b00a9ec2db 100644 --- a/system/src/Grav/Common/Twig/TwigExtension.php +++ b/system/src/Grav/Common/Twig/TwigExtension.php @@ -13,6 +13,7 @@ use Grav\Common\Markdown\Parsedown; use Grav\Common\Markdown\ParsedownExtra; use Grav\Common\Uri; +use Grav\Common\Browser; use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator; class TwigExtension extends \Twig_Extension @@ -116,6 +117,7 @@ public function getFunctions() new \Twig_SimpleFunction('json_decode', [$this, 'jsonDecodeFilter']), new \Twig_SimpleFunction('get_cookie', [$this, 'getCookie']), new \Twig_SimpleFunction('redirect_me', [$this, 'redirectFunc']), + new \Twig_SimpleFunction('ishuman', [$this, 'isHuman']), new \Twig_SimpleFunction('range', [$this, 'rangeFunc']), ]; } @@ -835,6 +837,17 @@ public function redirectFunc($url, $statusCode = 303) die(); } + /** + * detect (in)humane agent + * + * @return true if human, otherwise false + */ + public function isHuman() + { + $agent = new Browser; + return $agent->isHuman(); + } + /** * Generates an array containing a range of elements, optionally stepped *