19 declare(strict_types=1);
36 $this->content_style_domain = $DIC
48 protected function getXmlNamespace(
string $a_entity,
string $a_schema_version): string
50 return 'http://www.ilias.de/xml/Modules/ContentPage/' . $a_entity;
53 protected function getTypes(
string $a_entity,
string $a_version): array
55 return match ($a_entity) {
59 'description' =>
'text',
60 'info-tab' =>
'integer' 66 public function readData(
string $a_entity,
string $a_version, array $a_ids): void
70 if (!is_array($a_ids)) {
74 $this->readEntityData($a_entity, $a_ids);
81 protected function readEntityData(
string $entity, array $ids):
void 91 'id' => $obj->getId(),
92 'title' => $obj->getTitle(),
93 'description' => $obj->getDescription(),
114 string $a_schema_version
118 if ($newObjId = $a_mapping->
getMapping(
'components/ILIAS/Container',
'objs', (
string) $a_rec[
'id'])) {
127 if (!$newObject->getId()) {
128 $newObject->create();
131 if ($a_rec[
'Style'] ??
false) {
132 self::$style_map[(
int) $a_rec[
'Style']][] = $newObject->getId();
135 if ($a_rec[
'style-id'] ??
false) {
136 self::$style_map[(
int) $a_rec[
'style-id']][] = $newObject->getId();
142 (string) ((
bool) $a_rec[
'info-tab'])
146 'components/ILIAS/ContentPage',
148 (
string) $a_rec[
'id'],
149 (
string) $newObject->getId()
152 'components/ILIAS/COPage',
154 self::OBJ_TYPE .
':' . $a_rec[
'id'],
155 self::OBJ_TYPE .
':' . $newObject->getId()
158 'components/ILIAS/MetaData',
160 $a_rec[
'id'] .
':0:' . self::OBJ_TYPE,
161 $newObject->getId() .
':0:' . self::OBJ_TYPE
172 if ($a_entity === self::OBJ_TYPE) {
173 $style = $this->content_style_domain->styleForObjId((
int) $a_set[
'id']);
174 $a_set[
'Style'] = $style->getStyleId();
179 return parent::getXmlRecord($a_entity, $a_version, $a_set);
ILIAS Style Content DomainService $content_style_domain
static stripSlashes(string $a_str, bool $a_strip_html=true, string $a_allow="")
addMapping(string $a_comp, string $a_entity, string $a_old_id, string $a_new_id)
getMapping(string $a_comp, string $a_entity, string $a_old_id)
getTypes(string $a_entity, string $a_version)
getXmlNamespace(string $a_entity, string $a_schema_version)
readData(string $a_entity, string $a_version, array $a_ids)
getXmlRecord(string $a_entity, string $a_version, array $a_set)
importRecord(string $a_entity, array $a_types, array $a_rec, ilImportMapping $a_mapping, string $a_schema_version)
static _writeContainerSetting(int $a_id, string $a_keyword, string $a_value)
static getInstanceByObjId(?int $obj_id, bool $stop_on_error=true)
get an instance of an Ilias object by object id
__construct(Container $dic, ilPlugin $plugin)
const INFO_TAB_VISIBILITY
static _lookupContainerSetting(int $a_id, string $a_keyword, ?string $a_default_value=null)
static _lookupType(int $id, bool $reference=false)