diff --git a/components/ILIAS/Bibliographic/classes/class.ilObjBibliographic.php b/components/ILIAS/Bibliographic/classes/class.ilObjBibliographic.php index 3736a137820d..1bd4869e8e9b 100755 --- a/components/ILIAS/Bibliographic/classes/class.ilObjBibliographic.php +++ b/components/ILIAS/Bibliographic/classes/class.ilObjBibliographic.php @@ -117,7 +117,7 @@ private function handleUpload(): ?\ILIAS\ResourceStorage\Identification\Resource protected function doCreate(bool $clone_mode = false): void { if ($this->upload_service->hasUploads()) { - if(!$this->upload_service->hasBeenProcessed()) { + if (!$this->upload_service->hasBeenProcessed()) { $this->upload_service->process(); } $this->setResourceId($this->handleUpload()); @@ -344,6 +344,16 @@ public function cloneStructure(int $original_id): void $this->parseFileToDatabase(); $this->setMigrated($original->isMigrated()); $this->doUpdate(); + + // copy filters + + $filters = new ilBiblFieldFilterFactory(); + foreach ($filters->getAllForObjectId($original_id) as $filter) { + $cloned_filter = clone $filter; + $cloned_filter->setId(0); + $cloned_filter->setObjectId($this->getId()); + $cloned_filter->create(); + } } /**