ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
EditContent.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
26
30class EditContent extends BaseCheck implements Check
31{
32 public function canUnlock(): Capabilities
33 {
34 return Capabilities::EDIT_EXTERNAL;
35 }
36
37 public function maybeUnlock(
38 Capability $capability,
39 CheckHelpers $helpers,
42 ): Capability {
43 if ($context->getContext() !== Context::CONTEXT_REPO && $context->getContext() !== Context::CONTEXT_WORKSPACE) {
44 return $capability->withUnlocked(false);
45 }
46 if (!$this->hasPermission($helpers, $context, ...$capability->getPermissions())) {
47 return $capability->withUnlocked(false);
48 }
49
50 return $capability->withUnlocked($this->hasWopiEditAction($helpers, $info->getSuffix()));
51 }
52
53 public function maybeBuildURI(Capability $capability, CheckHelpers $helpers, Context $context): Capability
54 {
55 if (!$capability->isUnlocked()) {
56 return $capability;
57 }
58 return $capability->withURI(
59 $helpers->fromTarget(
60 $helpers->ctrl->getLinkTargetByClass(
61 [
62 $this->baseClass($context),
63 \ilObjFileGUI::class,
64 \ilWOPIEmbeddedApplicationGUI::class
65 ],
67 )
68 )
69 );
70 }
71
72}
hasWopiEditAction(CheckHelpers $helpers, string $suffix)
Definition: BaseCheck.php:70
hasPermission(CheckHelpers $helpers, Context $context, Permissions ... $permission)
Definition: BaseCheck.php:36
maybeBuildURI(Capability $capability, CheckHelpers $helpers, Context $context)
Definition: EditContent.php:53
maybeUnlock(Capability $capability, CheckHelpers $helpers, \ilObjFileInfo $info, Context $context,)
Definition: EditContent.php:37
$info
Definition: entry_point.php:21
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Definition: BaseCheck.php:21
if(!file_exists('../ilias.ini.php'))
$context
Definition: webdav.php:31