Bristol SU Support Package
FilterTrueSpecification.php
Go to the documentation of this file.
1 <?php
2 
4 
11 
16 {
22  private $filter;
23 
29  private $user;
30 
36  private $group;
37 
43  private $role;
44 
51  public function __construct(FilterInstance $filter, ?User $user, ?Group $group, ?Role $role)
52  {
53  $this->filter = $filter;
54  $this->user = $user;
55  $this->group = $group;
56  $this->role = $role;
57  }
58 
64  public function isSatisfied(): bool
65  {
66  switch ($this->filter->for()) {
67  case 'user':
68  return ($this->user === null ?false:
69  app(FilterTester::class)->evaluate($this->filter, $this->user) === true);
70  case 'group':
71  return ($this->group === null ?false:
72  app(FilterTester::class)->evaluate($this->filter, $this->group) === true);
73  case 'role':
74  return ($this->role === null ?false:
75  app(FilterTester::class)->evaluate($this->filter, $this->role) === true);
76  default:
77  return false;
78  }
79  }
80 
81 }
__construct(FilterInstance $filter, ?User $user, ?Group $group, ?Role $role)