Ecodev /
felix
| 1 | <?php |
||||
| 2 | |||||
| 3 | declare(strict_types=1); |
||||
| 4 | |||||
| 5 | namespace Ecodev\Felix\Acl\Assertion; |
||||
| 6 | |||||
| 7 | use Ecodev\Felix\Model\CurrentUser; |
||||
| 8 | use Laminas\Permissions\Acl\Acl; |
||||
| 9 | use Laminas\Permissions\Acl\Resource\ResourceInterface; |
||||
| 10 | use Laminas\Permissions\Acl\Role\RoleInterface; |
||||
| 11 | |||||
| 12 | final class IsMyself implements NamedAssertion |
||||
| 13 | { |
||||
| 14 | /** |
||||
| 15 | * Assert that the user is the current user himself. |
||||
| 16 | * |
||||
| 17 | * @param \Ecodev\Felix\Acl\Acl $acl |
||||
| 18 | * @param ?string $privilege |
||||
| 19 | */ |
||||
| 20 | 2 | public function assert(Acl $acl, ?RoleInterface $role = null, ?ResourceInterface $resource = null, $privilege = null): bool |
|||
| 21 | { |
||||
| 22 | 2 | $user = $resource->getInstance(); |
|||
|
0 ignored issues
–
show
|
|||||
| 23 | |||||
| 24 | 2 | if (CurrentUser::get() && CurrentUser::get() === $user) { |
|||
| 25 | return true; |
||||
| 26 | } |
||||
| 27 | |||||
| 28 | 2 | return $acl->reject('it is not himself'); |
|||
|
0 ignored issues
–
show
The method
reject() does not exist on Laminas\Permissions\Acl\Acl. It seems like you code against a sub-type of Laminas\Permissions\Acl\Acl such as Ecodev\Felix\Acl\Acl.
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
Loading history...
|
|||||
| 29 | } |
||||
| 30 | |||||
| 31 | 2 | public function getName(): string |
|||
| 32 | { |
||||
| 33 | 2 | return _tr("c'est moi-même"); |
|||
| 34 | } |
||||
| 35 | } |
||||
| 36 |
This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.
This is most likely a typographical error or the method has been renamed.