ILIAS  trunk Revision v11.0_alpha-2638-g80c1d007f79
Unzip.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
26 
30 class Unzip extends BaseCheck implements Check
31 {
32  public function canUnlock(): Capabilities
33  {
34  return Capabilities::UNZIP;
35  }
36 
37  public function maybeUnlock(
38  Capability $capability,
39  CheckHelpers $helpers,
42  ): Capability {
43  if ($context->getContext() === Context::CONTEXT_SEARCH) {
44  return $capability;
45  }
46 
47  if (!$info->isZip()) {
48  return $capability;
49  }
50  return $capability->withUnlocked($this->hasPermission($helpers, $context, ...$capability->getPermissions()));
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  \ilFileVersionsGUI::class
65  ],
66  Capabilities::UNZIP->value
67  )
68  )
69  );
70  }
71 
72 }
$context
Definition: webdav.php:31
maybeUnlock(Capability $capability, CheckHelpers $helpers, \ilObjFileInfo $info, Context $context,)
Definition: Unzip.php:37
maybeBuildURI(Capability $capability, CheckHelpers $helpers, Context $context)
Definition: Unzip.php:53
hasPermission(CheckHelpers $helpers, Context $context, Permissions ... $permission)
Definition: BaseCheck.php:36
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Definition: BaseCheck.php:21
$info
Definition: entry_point.php:21