72 : CapabilityCollection
74 if (isset($this->cache[
$context->getNode()])) {
75 return $this->cache[
$context->getNode()];
85 new Capability(Capabilities::VIEW_EXTERNAL, Permissions::VIEW_CONTENT),
86 new Capability(Capabilities::EDIT_EXTERNAL, Permissions::EDIT_CONTENT),
87 new Capability(Capabilities::DOWNLOAD, Permissions::READ),
88 new Capability(Capabilities::MANAGE_VERSIONS, Permissions::WRITE),
89 new Capability(Capabilities::EDIT_SETTINGS, Permissions::WRITE),
91 new Capability(Capabilities::NONE, Permissions::NONE),
92 new Capability(Capabilities::UNZIP, Permissions::WRITE),
95 if ($this->type_resolver->resolveTypeByObjectId(
$context->getObjectId()) !==
'file') {
96 return new CapabilityCollection($capabilities);
99 $info = $this->file_info_repository->getByObjectId(
$context->getObjectId());
100 $helpers =
new CheckHelpers(
103 $this->action_repository,
106 $this->workspace_access_handler
109 $calling_id =
$context->getCallingId();
111 if ($calling_id > 0) {
112 $this->
ctrl->setParameterByClass(\ilObjFileGUI::class,
'ref_id', $calling_id);
115 foreach ($capabilities as $capability) {
116 foreach ($this->checks as
$check) {
117 if ($check->canUnlock() === $capability->getCapability()) {
118 $capability = $check->maybeUnlock($capability, $helpers, $info,
$context);
119 $capability = $check->maybeBuildURI($capability, $helpers,
$context);
123 return $this->cache[
$context->getNode()] =
new CapabilityCollection($capabilities);
static http()
Fetches the global http state from ILIAS.