ILIAS  release_10 Revision v10.1-43-ga1241a92c2f
CapabilityCollection.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
21 namespace ILIAS\File\Capabilities;
22 
24 
29 {
33  public function __construct(
34  private array $capabilities
35  ) {
36  }
37 
38  public function all(): array
39  {
40  return $this->capabilities;
41  }
42 
43  public function get(Capabilities $capability): Capability|false
44  {
45  foreach ($this->capabilities as $cap) {
46  if ($cap->getCapability() === $capability) {
47  return $cap;
48  }
49  }
50  return false;
51  }
52 
53  public function getBest(): Capability
54  {
55  foreach ($this->capabilities as $cap) {
56  if ($cap->isUnlocked()) {
57  return $cap;
58  }
59  }
60  return new Capability(Capabilities::NONE, Permissions::NONE);
61  }
62 
63 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...