1: <?php
2:
3: /*
4: * This file is part of the Symfony package.
5: *
6: * (c) Fabien Potencier <fabien@symfony.com>
7: *
8: * For the full copyright and license information, please view the LICENSE
9: * file that was distributed with this source code.
10: */
11:
12: namespace Symfony\Component\Security\Acl\Model;
13:
14: /**
15: * Interface used by permission granting implementations.
16: *
17: * @author Johannes M. Schmitt <schmittjoh@gmail.com>
18: */
19: interface PermissionGrantingStrategyInterface
20: {
21: /**
22: * Determines whether access to a domain object is to be granted
23: *
24: * @param AclInterface $acl
25: * @param array $masks
26: * @param array $sids
27: * @param bool $administrativeMode
28: * @return bool
29: */
30: public function isGranted(AclInterface $acl, array $masks, array $sids, $administrativeMode = false);
31:
32: /**
33: * Determines whether access to a domain object's field is to be granted
34: *
35: * @param AclInterface $acl
36: * @param string $field
37: * @param array $masks
38: * @param array $sids
39: * @param bool $administrativeMode
40: *
41: * @return bool
42: */
43: public function isFieldGranted(AclInterface $acl, $field, array $masks, array $sids, $administrativeMode = false);
44: }
45: