| 123456789101112131415161718192021222324252627282930313233343536 | <?php
namespace JMS\SecurityExtraBundle\Twig;
use JMS\SecurityExtraBundle\Security\Authorization\Expression\Expression;
use Symfony\Component\Security\Core\SecurityContextInterface;
class SecurityExtension extends \Twig_Extension
{
    private $context;
    public function __construct(SecurityContextInterface $context)
    {
        $this->context = $context;
    }
    public function getFunctions()
    {
        return array(
            'is_expr_granted' => new \Twig_Function_Method($this, 'isExprGranted', array(
                'is_safe' => true,
            )),
        );
    }
    public function isExprGranted($expr, $object = null)
    {
        return $this->context->isGranted(array(new Expression($expr)), $object);
    }
    public function getName()
    {
        return 'jms_security_extra';
    }
}
 |