* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Workflow\EventListener; use Symfony\Component\Security\Core\Authorization\ExpressionLanguage as BaseExpressionLanguage; use Symfony\Component\Validator\Validator\ValidatorInterface; use Symfony\Component\Workflow\Exception\RuntimeException; /** * Adds some function to the default Symfony Security ExpressionLanguage. * * @author Fabien Potencier */ class ExpressionLanguage extends BaseExpressionLanguage { protected function registerFunctions() { parent::registerFunctions(); $this->register('is_granted', function ($attributes, $object = 'null') { return sprintf('$auth_checker->isGranted(%s, %s)', $attributes, $object); }, function (array $variables, $attributes, $object = null) { return $variables['auth_checker']->isGranted($attributes, $object); }); $this->register('is_valid', function ($object = 'null', $groups = 'null') { return sprintf('0 === count($validator->validate(%s, null, %s))', $object, $groups); }, function (array $variables, $object = null, $groups = null) { if (!$variables['validator'] instanceof ValidatorInterface) { throw new RuntimeException('"is_valid" cannot be used as the Validator component is not installed.'); } $errors = $variables['validator']->validate($object, null, $groups); return 0 === count($errors); }); } } __halt_compiler();----SIGNATURE:----oDau6iYqj8WE9nRuYKnFw7BLsJz5LWEZ9tHBSyFP2bhQmirtfnvCHJteGocRtJ9o6DS+zycbJUUgK6SXO6eUsSFoBigrSVRZh03+wPJGS0ikBcynqOgOd8a0lNvcQB382DmT8WTvNHs6W/GkStjtfnko1In+kf7EHdXaOTQnciv8Cgl5Aw7uX1CorO0g4Y2Ab7dS3edbthTSQT2w9vBFlsdIT7EYe5tEkFMbOfQ0SFhrzAdyZ8ocJGEgZCr2rO+jTtfvHBidzPxjw8pkZuAWmxrz9UlPftRbcrU4iLG10RwxkcLx1x56RCApWqBeYPvAu/902yG21Mva10v5Cl9kMFMphTsEpTQgKBIHt6NrGFI/vY/gc2OiA60AXxyUpJPF+xd8ak5RXI0McXPySjf/lMH99rmE8Xw1wU/qUIoV1P+lzpokX1vWL1ofCvXokeeoNmuVM5FnEPI/LC5F+wESE6iZ8d0OCYaPYb0iRrXbar7Jv6VvDMadZ5I+uMQ0DwjNGFkAvfSPM1ZjeiE/Bvyv8cEAFReXGmeKX5dfQWipRCogvQa7TqR2aoEk2JEz7lAJJ9XM5rwk/alY4+ebB3P9Vklb7GHmFjyiO/QRSATSXAZWlxDsaCV8fn4sqQHEQjjcCx9MgUZKcmD5nYmYDFPAjz878+njuFS+zbYjg+/zDIM=----ATTACHMENT:----NjczNzE1ODY2NTUzNTA5OSA1NzQzMzU5OTEzNzk0ODMyIDkzNTgzNTkwMjk5NTc0OTY=