19declare(strict_types=1);
23use Sabre\DAV\Browser\Plugin;
37use Sabre\DAV\TemporaryFileFilterPlugin;
39use Psr\Http\Message\ServerRequestInterface;
64 $logger =
$DIC->logger()->webdav();
65 $current_user =
$DIC->user();
66 $auth_session =
$DIC[
'ilAuthSession'];
67 $filesystem =
$DIC->filesystem()->temp();
68 $database =
$DIC->database();
69 $request =
$DIC->http()->request();
70 $language =
$DIC->language();
74 $this->request_translation->setup();
76 if(!$this->config->isActive()) {
80 if ($this->request_translation->showMountPoint()) {
94 $this->
factory->getMountPoint(),
97 $server->setBaseUri($this->request_translation->getBasePath());
101 $this->secret_key_rotation,
119 new TemporaryFileFilterPlugin(sys_get_temp_dir())
122 if ($this->config->enableDebugging()) {
130 $this->config->enableDebugging()
136 $this->request_translation->close();
143 ServerRequestInterface $request,
154 $path_value = $this->request_translation->getRequestedPathAsArray()[0] ??
'';
156 $settings = new \ilSetting();
157 if (str_starts_with($path_value,
'ref_')) {
163 (
int) substr($path_value, 4)
165 } elseif (strlen($path_value) === 2) {
173 throw new \InvalidArgumentException(
"Invalid path for mount-instructions: '$path_value'");
176 $gui =
new InstructionsGUI(
182 $gui->renderMountInstructionsContent();
Provides fluid interface to RBAC services.
Key rotation can provide an extra layer of mitigation against an attacker discovering a secret key.
handleMountInstruction(\ilDBInterface $database, ServerRequestInterface $request, \ilObjUser $current_user, \ilLanguage $language, UIServices $ui, GlobalHttpState $http)
enter()
Pass program execution to this entry point.
__construct(private Factory $factory, private RequestTranslation $request_translation, private SecretKeyRotation $secret_key_rotation, private Config $config)
An entrypoint is where the programm execution starts.
Interface GlobalHttpState.
entry_point(string $name)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...