19 declare(strict_types=1);
50 protected Services $resource_storage,
54 protected bool $versioning_enabled
61 throw new Forbidden(
"No read permission for object with reference ID $ref_id");
64 if (isset($this->_cache[$ref_id])) {
70 if ($ilias_object ===
null) {
74 $ilias_object_type = $ilias_object->getType();
76 if (!in_array($ilias_object_type, $this->davable_object_types)) {
80 if ($this->isHiddenFile($ilias_object->getTitle())) {
84 if ($this->hasTitleForbiddenChars($ilias_object->getTitle())) {
88 if ($ilias_object_type ===
'file') {
91 $this->repository_helper,
92 $this->resource_storage,
95 $this->versioning_enabled
104 $this->repository_helper
110 if (!$this->isDAVableObjTitle($ilias_object->
getTitle())) {
114 if ($ilias_object->
getType() ===
'file' &&
115 !$this->hasValidFileExtension($ilias_object->
getTitle())) {
119 if ($ilias_object->
getRefId() === 0) {
122 $ilias_object->
putInTree($parent_ref_id);
128 if ($ilias_object->
getType() ===
'file') {
131 $this->repository_helper,
132 $this->resource_storage,
135 $this->versioning_enabled
144 $this->repository_helper
155 return new ilDAVMountPoint($this->client_id, $this, $this->repository_helper, $this->current_user);
160 if ($name !== $this->client_id) {
161 throw new NotFound();
164 return new ilDAVClientNode($this->client_id, $this, $this->repository_helper);
169 return $this->repository_helper->checkAccess(
"visible", $child_ref) && $this->repository_helper->checkAccess(
retrieveDAVObjectByRefID(int $ref_id)
const OBJECT_TYPE_NOT_DAVABLE
const OBJECT_TITLE_NOT_DAVABLE
getProblemInfoFile(int $container_ref_id)
setPermissions(int $parent_ref_id)
getClientNode(string $name)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
This class represents the absolut Root-Node on a WebDAV request.
createReference()
creates reference for object
createDAVObject(ilObject $ilias_object, int $parent_ref_id)
create()
note: title, description and type should be set when this function is called
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
__construct(protected ilWebDAVRepositoryHelper $repository_helper, protected ilObjUser $current_user, protected Services $resource_storage, protected RequestInterface $request, protected ilLanguage $language, protected string $client_id, protected bool $versioning_enabled)
static getInstanceByRefId(int $ref_id, bool $stop_on_error=true)
get an instance of an Ilias object by reference id
putInTree(int $parent_ref_id)
maybe this method should be in tree object!?
array $davable_object_types
language()
description: > Example for rendring a language glyph.
checkReadAndVisibleAccessForObj(int $child_ref)