082a0130c2
Signed-off-by: Gergely POLONKAI (W00d5t0ck) <polesz@w00d5t0ck.info>
35 lines
817 B
PHP
35 lines
817 B
PHP
<?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';
|
|
}
|
|
} |