diff --git a/Security/Authorization/AbstractChillVoter.php b/Security/Authorization/AbstractChillVoter.php index ac291c673..842fc5ecc 100644 --- a/Security/Authorization/AbstractChillVoter.php +++ b/Security/Authorization/AbstractChillVoter.php @@ -19,7 +19,8 @@ namespace Chill\MainBundle\Security\Authorization; -use Symfony\Component\Security\Core\Authorization\Voter\AbstractVoter; +use Symfony\Component\Security\Core\Authorization\Voter\Voter; +use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; /** * Voter for Chill software. @@ -29,8 +30,26 @@ use Symfony\Component\Security\Core\Authorization\Voter\AbstractVoter; * * @author Julien Fastré */ -abstract class AbstractChillVoter extends AbstractVoter implements ChillVoterInterface +abstract class AbstractChillVoter extends Voter implements ChillVoterInterface { + protected function supports($attribute, $subject) + { + @trigger_error('This voter should implements the new `supports` ' + . 'methods introduced by Symfony 3.0, and do not rely on ' + . 'getSupportedAttributes and getSupportedClasses methods.', + E_USER_DEPRECATED); + + return \in_array($attribute, $this->getSupportedAttributes($attribute)) + && \in_array(\get_class($subject), $this->getSupportedClasses()); + } + protected function voteOnAttribute($attribute, $subject, TokenInterface $token) + { + @trigger_error('This voter should implements the new `voteOnAttribute` ' + . 'methods introduced by Symfony 3.0, and do not rely on ' + . 'isGranted method', E_USER_DEPRECATED); + + return $this->isGranted($attribute, $subject, $token->getUser()); + } }