19 declare(strict_types=1);
69 $this->workspace_access_handler = $this->workspace_access_handler ?? new \ilWorkspaceAccessHandler();
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') {
99 $info = $this->file_info_repository->getByObjectId(
$context->getObjectId());
103 $this->action_repository,
105 $this->workspace_access_handler
108 $calling_id =
$context->getCallingId();
110 if ($calling_id > 0) {
111 $this->
ctrl->setParameterByClass(\ilObjFileGUI::class,
'ref_id', $calling_id);
114 foreach ($capabilities as $capability) {
115 foreach ($this->checks as
$check) {
116 if ($check->canUnlock() === $capability->getCapability()) {
117 $capability = $check->maybeUnlock($capability, $helpers, $info,
$context);
118 $capability = $check->maybeBuildURI($capability, $helpers,
$context);
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
__construct(private \ilObjFileInfoRepository $file_info_repository, private \ilAccessHandler $access, private \ilCtrlInterface $ctrl, private ActionRepository $action_repository, private Services $http, private ?TypeResolver $type_resolver=null, private ?\ilWorkspaceAccessHandler $workspace_access_handler=null)
static http()
Fetches the global http state from ILIAS.