mountPoint . '/' . $this->internalOriginalLocation, $deletedTime, $trashPath, $fileInfo, $user, $deletedBy); } public function getInternalOriginalLocation(): string { return $this->internalOriginalLocation; } public function isRootItem(): bool { return substr_count($this->getTrashPath(), '/') === 2; } public function getGroupFolderMountPoint(): string { return $this->mountPoint; } public function getTitle(): string { return $this->getGroupFolderMountPoint() . '/' . $this->getOriginalLocation(); } public function getMtime(): int { // trashbin is currently (incorrectly) assuming these to be the same return $this->getDeletedTime(); } public function getInternalPath(): string { // trashbin expects the path without the deletion timestamp $path = parent::getInternalPath(); $deletionExtension = '.d' . $this->getDeletedTime(); if (str_ends_with($path, $deletionExtension)) { $path = substr($path, 0, -strlen($deletionExtension)); } return $path; } public function getFullInternalPath(): string { return parent::getInternalPath(); } public function getTrashNode(): Node { return $this->fileInfo; } public function getGroupTrashFolderStorageId(): int { return $this->fileInfo->getStorage()->getCache()->getNumericStorageId(); } public function getGroupFolderStorageId(): int { return $this->folder->storageId; } }