56 $revision = $this->storage->manage()->getCurrentRevision($rid);
58 $file_obj->setResourceId($rid);
59 if ($this->page_counter->isAvailable()) {
60 $file_obj->setPageCount($this->page_counter->extractAmountOfPagesByRID($rid) ?? 0);
61 }
62
63 $file_name = $revision->getInformation()->getTitle();
64 $title = $file_obj->appendSuffixToTitle(
65 $title ?? $file_name,
66 $file_name
67 );
68
69 $revision->setTitle($title);
70 $this->storage->manage()->updateRevision($revision);
71
72 if (!$this->policy->isValidExtension($revision->getInformation()->getSuffix())) {
73 $this->invalid_file_names[] = $title;
74 }
75 $file_obj->setTitle($title);
76 if ($description !== null) {
77 $file_obj->setDescription($description);
78 }
79 $file_obj->setVersion($revision->getVersionNumber());
80 $file_obj->setCopyrightID($copyright_id);
81
82 $file_obj->create();
83
84 if ($create_reference) {
85 $file_obj->createReference();
86 }
87
88 $file_obj->processAutoRating();
89 $this->gui_object->putObjectInTree($file_obj, $parent_id);
90
91 return $file_obj;
92 }