19 declare(strict_types=1);
43 private CorePropertiesRepository $core_properties_repository,
45 private AdditionalPropertiesRepository $additional_properties_repository,
47 private TranslationsRepository $translations_repository,
54 $this->core_properties_repository->store($this->core_properties);
56 $this->core_properties->getPropertyTitleAndDescription()->getTitle(),
57 $this->core_properties->getPropertyTitleAndDescription()->getDescription()
63 return $this->core_properties->getOwner();
69 $clone->core_properties = $this->core_properties->withOwner($owner);
75 return $this->core_properties->getImportId();
81 $clone->core_properties = $this->core_properties->withImportId($import_id);
87 return $this->core_properties->getPropertyTitleAndDescription();
94 $clone->core_properties = $this->core_properties
95 ->withPropertyTitleAndDescription($property_title_and_description);
102 $this->core_properties = $this->core_properties_repository->store(
103 $this->core_properties
107 $property_title_and_description->
getTitle(),
114 return $this->core_properties->getPropertyIsOnline();
119 $this->core_properties = $this->core_properties_repository->store(
120 $this->core_properties->withPropertyIsOnline($property_is_online)
125 Online $property_is_online
127 $clone = clone $this;
128 $clone->core_properties = $this->core_properties
129 ->withPropertyIsOnline($property_is_online);
135 return $this->additional_properties->getPropertyTitleAndIconVisibility();
141 $this->additional_properties = $this->additional_properties_repository->store(
142 $this->additional_properties
143 ->withPropertyTitleAndIconVisibility($property_title_and_icon_visibility)
149 return $this->additional_properties->getPropertyHeaderActionVisibility();
155 $this->additional_properties = $this->additional_properties_repository->store(
156 $this->additional_properties
157 ->withPropertyHeaderActionVisibility($property_header_action_visibility)
163 return $this->additional_properties->getPropertyInfoTabVisibility();
169 $this->additional_properties = $this->additional_properties_repository->store(
170 $this->additional_properties
171 ->withPropertyInfoTabVisibility($property_info_tab_visibility)
177 return $this->core_properties->getPropertyTileImage();
181 PropertyTileImage $property_tile_image
183 $this->core_properties = $this->core_properties_repository->store(
184 $this->core_properties
185 ->withPropertyTileImage($property_tile_image)
191 return $this->additional_properties->getPropertyIcon();
197 $this->additional_properties = $this->additional_properties_repository->store(
198 $this->additional_properties
199 ->withPropertyIcon($property_icon)
205 return $this->translations;
211 $this->translations = $this->translations_repository->store($translations);
216 $this->translations_repository->delete($this->translations->getObjId());
221 return $this->translations_repository->store(
222 $this->translations->copy($new_obj_id)
230 $paths = $this->lom_services->paths();
231 $obj_id = $this->core_properties->getObjectId();
232 $type = $this->core_properties->getType();
239 $title_data = $this->lom_services->read($obj_id, 0, $type, $paths->title())
240 ->firstData($paths->title());
245 $manipulator = $this->lom_services->manipulate($obj_id, 0, $type)
246 ->prepareCreateOrUpdate($paths->title(), $title);
247 if ($description !==
'') {
248 $manipulator = $manipulator->prepareCreateOrUpdate($paths->firstDescription(), $description);
250 $manipulator = $manipulator->prepareDelete($paths->firstDescription());
252 $manipulator->execute();
storePropertyTileImage(PropertyTileImage $property_tile_image)
withPropertyIsOnline(Online $property_is_online)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
__construct(private CoreProperties $core_properties, private CorePropertiesRepository $core_properties_repository, private AdditionalProperties $additional_properties, private AdditionalPropertiesRepository $additional_properties_repository, private ?Translations $translations, private TranslationsRepository $translations_repository, private LOMServices $lom_services)
storePropertyTranslations(Translations $translations)
Class handles translation mode for an object.
withPropertyTitleAndDescription(TitleAndDescription $property_title_and_description)
withImportId(string $import_id)
getPropertyInfoTabVisibility()
updateMetadataForTitleAndDescription(string $title, string $description)
storePropertyIcon(Icon $property_icon)
getPropertyTitleAndDescription()
storePropertyInfoTabVisibility(InfoTabVisibility $property_info_tab_visibility)
storePropertyIsOnline(Online $property_is_online)
clonePropertyTranslations(int $new_obj_id)
getPropertyHeaderActionVisibility()
storePropertyTitleAndDescription(TitleAndDescription $property_title_and_description)
getPropertyTranslations()
storePropertyTitleAndIconVisibility(TitleAndIconVisibility $property_title_and_icon_visibility)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
storePropertyHeaderActionVisibility(HeaderActionVisibility $property_header_action_visibility)
getPropertyTitleAndIconVisibility()
deletePropertyTranslations()