Bristol SU Support Package
FilterFalseSpecification.php
Go to the documentation of this file.
1 <?php
2 
3 
5 
6 
13 
18 {
24  private $filter;
25 
31  private $user;
32 
38  private $group;
39 
45  private $role;
46 
53  public function __construct(FilterInstance $filter, ?User $user, ?Group $group, ?Role $role)
54  {
55  $this->filter = $filter;
56  $this->user = $user;
57  $this->group = $group;
58  $this->role = $role;
59  }
60 
66  public function isSatisfied(): bool
67  {
68  switch ($this->filter->for()) {
69  case 'user':
70  return ($this->user === null ?false:
71  app(FilterTester::class)->evaluate($this->filter, $this->user) === false);
72  case 'group':
73  return ($this->group === null ?false:
74  app(FilterTester::class)->evaluate($this->filter, $this->group) === false);
75  case 'role':
76  return ($this->role === null ?false:
77  app(FilterTester::class)->evaluate($this->filter, $this->role) === false);
78  default:
79  return false;
80  }
81  }
82 
83 }
__construct(FilterInstance $filter, ?User $user, ?Group $group, ?Role $role)