
| Current Path : /var/www/html/rocksensor3/web/core/lib/Drupal/Core/Session/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/html/rocksensor3/web/core/lib/Drupal/Core/Session/CalculatedPermissionsTrait.php |
<?php
namespace Drupal\Core\Session;
/**
* Trait for \Drupal\Core\Session\CalculatedPermissionsInterface.
*/
trait CalculatedPermissionsTrait {
/**
* A list of calculated permission items, keyed by scope and identifier.
*
* @var array
*/
protected array $items = [];
/**
* {@inheritdoc}
*/
public function getItem(string $scope = AccessPolicyInterface::SCOPE_DRUPAL, string|int $identifier = AccessPolicyInterface::SCOPE_DRUPAL): CalculatedPermissionsItemInterface|false {
return $this->items[$scope][$identifier] ?? FALSE;
}
/**
* {@inheritdoc}
*/
public function getItems(): array {
$item_sets = [];
foreach ($this->items as $scope_items) {
$item_sets[] = array_values($scope_items);
}
return array_merge(...$item_sets);
}
/**
* {@inheritdoc}
*/
public function getScopes(): array {
return array_keys($this->items);
}
/**
* {@inheritdoc}
*/
public function getItemsByScope(string $scope = AccessPolicyInterface::SCOPE_DRUPAL): array {
return isset($this->items[$scope])
? array_values($this->items[$scope])
: [];
}
}