ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilContentPageDataSet Class Reference
+ Inheritance diagram for ilContentPageDataSet:
+ Collaboration diagram for ilContentPageDataSet:

Public Member Functions

 __construct ()
 
 getSupportedVersions ()
 
 readData (string $a_entity, string $a_version, array $a_ids)
 Read data from DB. More...
 
 importRecord (string $a_entity, array $a_types, array $a_rec, ilImportMapping $a_mapping, string $a_schema_version)
 Needs to be overwritten for import use case. More...
 
 getXmlRecord (string $a_entity, string $a_version, array $a_set)
 Get xml record for version. More...
 
- Public Member Functions inherited from ilDataSet
 __construct ()
 
 init (string $a_entity, string $a_schema_version)
 Init. More...
 
 getSupportedVersions ()
 
 readData (string $a_entity, string $a_version, array $a_ids)
 Read data from DB. More...
 
 initByExporter (ilXmlExporter $xml_exporter)
 
 setImportDirectory (string $a_val)
 
 getImportDirectory ()
 
 setDSPrefix (string $a_val)
 
 getDSPrefix ()
 
 getDSPrefixString ()
 
 getDirectDataFromQuery (string $a_query, bool $a_convert_to_leading_upper=true, bool $a_set=true)
 Get data from query.This is a standard procedure, all db field names are directly mapped to abstract fields. More...
 
 convertToLeadingUpper (string $a_str)
 Make xyz_abc a XyzAbc string. More...
 
 getXmlRepresentation (string $a_entity, string $a_schema_version, ?array $a_ids, string $a_field="", bool $a_omit_header=false, bool $a_omit_types=false)
 Get xml representation <dataset install_id="123" install_url="..."> <types entity="table_name" version="4.0.1"> <ftype name="field_1" type="text" > <ftype name="field_2" type="date" > <ftype name="field_3" type="integer" > </types> <types ...> ... </types> <set entity="table_name"> <rec> <field_1>content</field_1> <field_2>my_date</field_2> <field_3>my_number</field_3> </rec> ... </set> </dataset> More...
 
 addRecordsXml (ilXmlWriter $a_writer, array $a_prefixes, string $a_entity, string $a_schema_version, array $a_ids, ?string $a_field="")
 
 afterXmlRecordWriting (string $a_entity, string $a_version, array $a_set)
 
 getNamespaces (array &$namespaces, string $a_entity, string $a_schema_version)
 
 getXmlRecord (string $a_entity, string $a_version, array $a_set)
 Get xml record for version. More...
 
 getXmlTypes (string $a_entity, string $a_version)
 Get xml types. More...
 
 getXMLEntityName (string $a_entity, string $a_version)
 Get entity name for xml (may be overwritten) More...
 
 getXMLEntityTag (string $a_entity, string $a_schema_version)
 Get entity tag. More...
 
 setImport (ilSurveyImporter $a_val)
 
 getImport ()
 
 setCurrentInstallationId (string $a_val)
 
 getCurrentInstallationId ()
 
 importRecord (string $a_entity, array $a_types, array $a_rec, ilImportMapping $a_mapping, string $a_schema_version)
 Needs to be overwritten for import use case. More...
 
 getCollection (array $record, string $entity, string $schema_version, string $field, string $value)
 
 getContainerExportConfig (array $record, string $entity, string $schema_version, string $field, string $value)
 

Static Public Attributes

static array $style_map = []
 

Protected Member Functions

 getXmlNamespace (string $a_entity, string $a_schema_version)
 
 getTypes (string $a_entity, string $a_version)
 Get (abstract) types for (abstract) field names. More...
 
- Protected Member Functions inherited from ilDataSet
 getTypes (string $a_entity, string $a_version)
 Get (abstract) types for (abstract) field names. More...
 
 getXmlNamespace (string $a_entity, string $a_schema_version)
 
 getExportDirInContainer (string $exp_dir)
 
 getIRSSContainerExportConfig (StorableResource $source_container, string $source_path, string $target_path="")
 
 getDependencies (string $a_entity, string $a_version, ?array $a_rec=null, ?array $a_ids=null)
 
 createObjectExportId (string $a_type, string $a_id)
 Build ilias export id. More...
 
 parseObjectExportId (string $a_id, ?string $a_fallback_id=null)
 Parse export id. More...
 
 stripTags (array $rec, array $omit_keys=[])
 

Protected Attributes

ILIAS Style Content DomainService $content_style_domain
 
- Protected Attributes inherited from ilDataSet
ILIAS ResourceStorage Services $irss
 
string $current_installation_id = ""
 
array $data = []
 
ilDBInterface $db
 
ilLogger $ds_log
 
string $import_directory = ""
 
string $entity = ""
 
string $schema_version = ""
 
string $component_export_dir = ""
 
string $ds_prefix = "ds"
 
string $version = ""
 
ilSurveyImporter $import
 
ilExport $export
 

Additional Inherited Members

- Data Fields inherited from ilDataSet
const DATASET_NS = 'http://www.ilias.de/Services/DataSet/ds/4_3'
 
const DATASET_NS_PREFIX = 'ds'
 
const EXPORT_NO_INST_ID = 1
 
const EXPORT_ID_ILIAS_LOCAL = 2
 
const EXPORT_ID_ILIAS_LOCAL_INVALID = 3
 
const EXPORT_ID_ILIAS_REMOTE = 4
 
const EXPORT_ID_ILIAS_REMOTE_INVALID = 5
 
const EXPORT_ID = 6
 
const EXPORT_ID_INVALID = 7
 
int $dircnt = 0
 
- Data Fields inherited from ilContentPageObjectConstants
const OBJ_TYPE = 'copa'
 
const HTTP_PARAM_PAGE_EDITOR_STYLE_CONTEXT = 'page_editor_style'
 
const UI_CMD_VIEW = 'view'
 
const UI_CMD_EDIT = 'edit'
 
const UI_CMD_UPDATE = 'update'
 
const UI_CMD_COPAGE_DOWNLOAD_FILE = 'downloadFile'
 
const UI_CMD_COPAGE_DISPLAY_FULLSCREEN = 'displayMediaFullscreen'
 
const UI_CMD_COPAGE_DISPLAY_MEDIA = 'displayMedia'
 
const UI_CMD_COPAGE_DOWNLOAD_PARAGRAPH = 'download_paragraph'
 
const UI_CMD_COPAGE_EDIT = 'edit'
 
const UI_CMD_STYLES_EDIT = 'editStyleProperties'
 
const UI_TAB_ID_CONTENT = 'content'
 
const UI_TAB_ID_INFO = 'info_short'
 
const UI_TAB_ID_SETTINGS = 'settings'
 
const UI_TAB_ID_STYLE = 'style'
 
const UI_TAB_ID_I18N = 'i18n'
 
const UI_TAB_ID_LP = 'learning_progress'
 
const UI_TAB_ID_EXPORT = 'export'
 
const UI_TAB_ID_PERMISSIONS = 'perm_settings'
 
const UI_TAB_ID_MD = 'meta_data'
 

Detailed Description

Definition at line 21 of file class.ilContentPageDataSet.php.

Constructor & Destructor Documentation

◆ __construct()

ilContentPageDataSet::__construct ( )

Reimplemented from ilDataSet.

Definition at line 30 of file class.ilContentPageDataSet.php.

31 {
32 global $DIC;
33
35
36 $this->content_style_domain = $DIC
37 ->contentStyle()
38 ->domain();
39 }
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
global $DIC
Definition: shib_login.php:26

References $DIC, and ILIAS\GlobalScreen\Provider\__construct().

+ Here is the call graph for this function:

Member Function Documentation

◆ getSupportedVersions()

ilContentPageDataSet::getSupportedVersions ( )

Reimplemented from ilDataSet.

Definition at line 41 of file class.ilContentPageDataSet.php.

41 : array
42 {
43 return [
44 '5.4.0', '9.0.0',
45 ];
46 }

◆ getTypes()

ilContentPageDataSet::getTypes ( string  $a_entity,
string  $a_version 
)
protected

Get (abstract) types for (abstract) field names.

Please note that the abstract fields/types only depend on the version! Not on a choosen representation!

Returns
array types array, e.g. array("field_1" => "text", "field_2" => "integer", ...)

Reimplemented from ilDataSet.

Definition at line 53 of file class.ilContentPageDataSet.php.

53 : array
54 {
55 return match ($a_entity) {
56 self::OBJ_TYPE => [
57 'id' => 'integer',
58 'title' => 'text',
59 'description' => 'text',
60 'info-tab' => 'integer'
61 ],
62 default => [],
63 };
64 }

◆ getXmlNamespace()

ilContentPageDataSet::getXmlNamespace ( string  $a_entity,
string  $a_schema_version 
)
protected

Reimplemented from ilDataSet.

Definition at line 48 of file class.ilContentPageDataSet.php.

48 : string
49 {
50 return 'http://www.ilias.de/xml/Modules/ContentPage/' . $a_entity;
51 }

◆ getXmlRecord()

ilContentPageDataSet::getXmlRecord ( string  $a_entity,
string  $a_version,
array  $a_set 
)

Get xml record for version.

Parameters
array$a_setabstract data record

Reimplemented from ilDataSet.

Definition at line 167 of file class.ilContentPageDataSet.php.

171 : array {
172 if ($a_entity === self::OBJ_TYPE) {
173 $style = $this->content_style_domain->styleForObjId((int) $a_set['id']);
174 $a_set['Style'] = $style->getStyleId();
175
176 return $a_set;
177 }
178
179 return parent::getXmlRecord($a_entity, $a_version, $a_set);
180 }

◆ importRecord()

ilContentPageDataSet::importRecord ( string  $a_entity,
array  $a_types,
array  $a_rec,
ilImportMapping  $a_mapping,
string  $a_schema_version 
)

Needs to be overwritten for import use case.

Reimplemented from ilDataSet.

Definition at line 109 of file class.ilContentPageDataSet.php.

115 : void {
116 switch ($a_entity) {
117 case self::OBJ_TYPE:
118 if ($newObjId = $a_mapping->getMapping('components/ILIAS/Container', 'objs', (string) $a_rec['id'])) {
119 $newObject = ilObjectFactory::getInstanceByObjId((int) $newObjId, false);
120 } else {
121 $newObject = new ilObjContentPage();
122 }
123
124 $newObject->setTitle(ilUtil::stripSlashes($a_rec['title']));
125 $newObject->setDescription(ilUtil::stripSlashes($a_rec['description']));
126
127 if (!$newObject->getId()) {
128 $newObject->create();
129 }
130
131 if ($a_rec['Style'] ?? false) {
132 self::$style_map[(int) $a_rec['Style']][] = $newObject->getId();
133 }
134
135 if ($a_rec['style-id'] ?? false) {
136 self::$style_map[(int) $a_rec['style-id']][] = $newObject->getId();
137 }
138
140 $newObject->getId(),
142 (string) ((bool) $a_rec['info-tab'])
143 );
144
145 $a_mapping->addMapping(
146 'components/ILIAS/ContentPage',
147 self::OBJ_TYPE,
148 (string) $a_rec['id'],
149 (string) $newObject->getId()
150 );
151 $a_mapping->addMapping(
152 'components/ILIAS/COPage',
153 'pg',
154 self::OBJ_TYPE . ':' . $a_rec['id'],
155 self::OBJ_TYPE . ':' . $newObject->getId()
156 );
157 $a_mapping->addMapping(
158 'components/ILIAS/MetaData',
159 'md',
160 $a_rec['id'] . ':0:' . self::OBJ_TYPE,
161 $newObject->getId() . ':0:' . self::OBJ_TYPE
162 );
163 break;
164 }
165 }
static _writeContainerSetting(int $a_id, string $a_keyword, string $a_value)
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)
static getInstanceByObjId(?int $obj_id, bool $stop_on_error=true)
get an instance of an Ilias object by object id
static stripSlashes(string $a_str, bool $a_strip_html=true, string $a_allow="")

References ilContainer\_writeContainerSetting(), ilImportMapping\addMapping(), ilObjectFactory\getInstanceByObjId(), ilImportMapping\getMapping(), ilObjectServiceSettingsGUI\INFO_TAB_VISIBILITY, ILIAS\Repository\int(), ilContentPageObjectConstants\OBJ_TYPE, and ilUtil\stripSlashes().

+ Here is the call graph for this function:

◆ readData()

ilContentPageDataSet::readData ( string  $a_entity,
string  $a_version,
array  $a_ids 
)

Read data from DB.

This should result in the abstract field structure of the version set in the constructor.

Reimplemented from ilDataSet.

Definition at line 66 of file class.ilContentPageDataSet.php.

66 : void
67 {
68 $this->data = [];
69
70 if (!is_array($a_ids)) {
71 $a_ids = [$a_ids];
72 }
73
74 $this->readEntityData($a_entity, $a_ids);
75 }

Field Documentation

◆ $content_style_domain

ILIAS Style Content DomainService ilContentPageDataSet::$content_style_domain
protected

Definition at line 28 of file class.ilContentPageDataSet.php.

◆ $style_map

array ilContentPageDataSet::$style_map = []
static

The documentation for this class was generated from the following file: