ILIAS  trunk Revision v11.0_alpha-2638-g80c1d007f79
ilLMPageObject Class Reference

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V. More...

+ Inheritance diagram for ilLMPageObject:
+ Collaboration diagram for ilLMPageObject:

Public Member Functions

 __construct (ilObjLearningModule $a_content_obj, int $a_id=0, bool $a_halt=true)
 
 read ()
 
 create (bool $a_upload=false, bool $a_omit_page_object_creation=false, int $a_layout_id=0)
 
 delete (bool $a_delete_meta_data=true)
 
 copy (ilObjLearningModule $a_target_lm)
 
 copyToOtherContObject (ilObjLearningModule $a_cont_obj, array &$a_copied_nodes)
 copy a page to another content object (learning module / dlib book) More...
 
 assignPageObject (ilLMPage $a_page_obj)
 assign page object More...
 
 getPageObject ()
 get assigned page object More...
 
 setId (int $a_id)
 
 getId ()
 
 exportXML (ilXmlWriter $a_xml_writer, string $a_mode="normal", int $a_inst=0)
 export page object to xml (see ilias_co.dtd) More...
 
 exportXMLMetaData (ilXmlWriter $a_xml_writer)
 
 modifyExportIdentifier (string $a_tag, string $a_param, string $a_value)
 
 exportXMLPageContent (ilXmlWriter $a_xml_writer, int $a_inst=0)
 
 getQuestionIds ()
 Get question ids note: this method must be called afer exportXMLPageContent. More...
 
 getMediaObjectIds ()
 get ids of all media objects within the page note: this method must be called afer exportXMLPageContent More...
 
 getFileItemIds ()
 get ids of all file items within the page note: this method must be called afer exportXMLPageContent More...
 
- Public Member Functions inherited from ilLMObject
 __construct (ilObjLearningModule $a_content_obj, int $a_id=0)
 
 MDUpdateListener (string $a_element)
 Meta data update listener Important note: Do never call create() or update() method of ilObject here. More...
 
 createMetaData ()
 create meta data entry More...
 
 updateMetaData ()
 update meta data entry More...
 
 deleteMetaData ()
 delete meta data entry More...
 
 setDataRecord (array $a_record)
 this method should only be called by class ilLMObjectFactory More...
 
 read ()
 
 setTitle (string $a_title)
 
 getTitle ()
 
 setShortTitle (string $a_title)
 
 getShortTitle ()
 
 setDescription (string $a_description)
 
 getDescription ()
 
 setType (string $a_type)
 
 getType ()
 
 setLMId (int $a_lm_id)
 
 getLMId ()
 
 setContentObject (ilObjLearningModule $a_content_obj)
 
 getContentObject ()
 
 setId (int $a_id)
 
 getId ()
 
 getImportId ()
 
 setImportId (string $a_id)
 
 setLayout (string $a_val)
 
 getLayout ()
 
 create (bool $a_upload=false)
 
 update ()
 
 delete (bool $a_delete_meta_data=true)
 
 existsExportID (int $a_lm_id, int $a_exp_id, string $a_type="pg")
 Does export ID exist in lm? More...
 

Static Public Member Functions

static getPageList (int $lm_id)
 
static getPagesWithLinksList (int $a_lm_id, string $a_par_type)
 Get all pages of lm that contain any internal links. More...
 
static _getPresentationTitle (int $a_pg_id, string $a_mode=self::CHAPTER_TITLE, bool $a_include_numbers=false, bool $a_time_scheduled_activation=false, bool $a_force_content=false, int $a_lm_id=0, string $a_lang="-", bool $a_include_short=false)
 presentation title doesn't have to be page title, it may be chapter title + page title or chapter title only, depending on settings More...
 
static _exportXMLAlias (ilXmlWriter $a_xml_writer, int $a_id, int $a_inst=0)
 export page alias to xml More...
 
static queryQuestionsOfLearningModule (int $a_lm_id, string $a_order_field, string $a_order_dir, int $a_offset, int $a_limit)
 Get questions of learning module. More...
 
static insertPagesFromTemplate (int $lm_id, int $num, int $node_id, bool $first_child, int $layout_id, string $title="")
 Insert (multiple) pages templates at node. More...
 
- Static Public Member Functions inherited from ilLMObject
static preloadDataByLM (int $a_lm_id)
 Preload data records by lm. More...
 
static _lookupTitle (int $a_obj_id)
 
static _lookupShortTitle (int $a_obj_id)
 
static _lookupType (int $a_obj_id, int $a_lm_id=0)
 
static _writeTitle (int $a_obj_id, string $a_title)
 
static _writeImportId (int $a_id, string $a_import_id)
 
static _getIdForImportId (string $a_import_id)
 get current object id for import id (static) More...
 
static _getAllObjectsForImportId (string $a_import_id, int $a_in_lm=0)
 Get all items for an import ID. More...
 
static _exists (int $a_id)
 checks wether a lm content object with specified id exists or not More...
 
static getObjectList (int $lm_id, string $type="")
 
static _deleteAllObjectData (ilObjLearningModule $a_cobj)
 delete all objects of content object (digi book / learning module) More...
 
static _lookupContObjID (int $a_id)
 get learning module id for lm object More...
 
static putInTree (ilLMObject $a_obj, int $a_parent_id=0, int $a_target_node_id=0)
 put this object into content object tree More...
 
static getTree (int $a_cont_obj_id)
 Get learning module tree. More...
 
static clipboardCut (int $a_cont_obj_id, array $a_ids)
 Copy a set of chapters/pages into the clipboard. More...
 
static clipboardCopy (int $a_cont_obj_id, array $a_ids)
 Copy a set of chapters/pages into the clipboard. More...
 
static saveTitles (ilObjLearningModule $a_lm, array $a_titles, string $a_lang="-")
 Save titles for lm objects. More...
 
static saveTitle (int $id, string $title, string $lang="-")
 
static updateInternalLinks (array $a_copied_nodes, string $a_parent_type="lm")
 Update internal links, after multiple pages have been copied. More...
 
static uniqueTypesCheck (array $a_items)
 Check for unique types (all pages or all chapters) More...
 
static writeLayout (int $a_obj_id, string $a_layout, ?ilObjLearningModule $a_lm=null)
 Write layout setting. More...
 
static lookupLayout (int $a_obj_id)
 Lookup type. More...
 
static getPagesOfChapter (int $a_lm_id, int $a_chap_id)
 Get pages of chapter. More...
 
static _getAllLMObjectsOfLM (int $a_lm_id, string $a_type="")
 Get all objects of learning module. More...
 
static saveExportId (int $a_lm_id, int $a_lmobj_id, string $a_exp_id, string $a_type="pg")
 
static getExportId (int $a_lm_id, int $a_lmobj_id, string $a_type="pg")
 
static getDuplicateExportIDs (int $a_lm_id, string $a_type="pg")
 Get duplicate export IDs (count export ID usages) More...
 
static _getNodePresentationTitle (array $a_node, string $a_mode=self::PAGE_TITLE, bool $a_include_numbers=false, bool $a_time_scheduled_activation=false, bool $a_force_content=false, int $a_lm_id=0, string $a_lang="-")
 
static getShortTitles (int $a_lm_id, string $a_lang="-")
 
static writeShortTitle (int $a_id, string $a_short_title, string $a_lang="-")
 

Data Fields

ilLMPage $page_object = null
 
- Data Fields inherited from ilLMObject
const CHAPTER_TITLE = "st_title"
 
const PAGE_TITLE = "pg_title"
 
const NO_HEADER = "none"
 
int $lm_id = 0
 
string $type = ""
 
int $id = 0
 
array $data_record
 
ilObjLearningModule $content_object
 
string $title = ""
 
string $short_title = ""
 
string $description = ""
 
bool $active = true
 

Protected Attributes

bool $halt_on_error
 
array $files_contained
 
array $mobs_contained
 
bool $contains_int_link
 
- Protected Attributes inherited from ilLMObject
string $layout = ""
 
string $import_id = ""
 
ilObjUser $user
 
ilDBInterface $db
 
LOMServices $lom_services
 

Additional Inherited Members

- Static Protected Member Functions inherited from ilLMObject
static _lookup (int $a_obj_id, string $a_field)
 
static getPathToExportIDInLOM ()
 
- Static Protected Attributes inherited from ilLMObject
static $data_records = array()
 

Detailed Description

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V.

ILIAS is licensed with the GPL-3.0, see https://www.gnu.org/licenses/gpl-3.0.en.html You should have received a copy of said license along with the source code, too.

If this is not the case or you just want to try ILIAS, you'll find us at: https://www.ilias.de https://github.com/ILIAS-eLearning Handles Page Objects of ILIAS Learning Modules

Note: This class has a member variable that contains an instance of class ilPageObject and provides the method getPageObject() to access this instance. ilPageObject handles page objects and their content. Page objects can be assigned to different container like learning modules or glossaries definitions. This class, ilLMPageObject, provides additional methods for the handling of page objects in learning modules.

Author
Alexander Killing killi.nosp@m.ng@l.nosp@m.eifos.nosp@m..de

Definition at line 33 of file class.ilLMPageObject.php.

Constructor & Destructor Documentation

◆ __construct()

ilLMPageObject::__construct ( ilObjLearningModule  $a_content_obj,
int  $a_id = 0,
bool  $a_halt = true 
)

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

References ILIAS\GlobalScreen\Provider\__construct(), read(), and ilLMObject\setType().

45  {
46  parent::__construct($a_content_obj, $a_id);
47  $this->setType("pg");
48  $this->id = $a_id;
49 
50  $this->contains_int_link = false;
51  $this->mobs_contained = array();
52  $this->files_contained = array();
53  $this->halt_on_error = $a_halt;
54 
55  if ($a_id != 0) {
56  $this->read();
57  }
58  }
setType(string $a_type)
__construct(Container $dic, ilPlugin $plugin)
+ Here is the call graph for this function:

Member Function Documentation

◆ _exportXMLAlias()

static ilLMPageObject::_exportXMLAlias ( ilXmlWriter  $a_xml_writer,
int  $a_id,
int  $a_inst = 0 
)
static

export page alias to xml

Definition at line 374 of file class.ilLMPageObject.php.

References ilXmlWriter\xmlElement(), ilXmlWriter\xmlEndTag(), and ilXmlWriter\xmlStartTag().

Referenced by ilStructureObject\exportXMLPageObjects().

378  : void {
379  $attrs = array();
380  $a_xml_writer->xmlStartTag("PageObject", $attrs);
381 
382  $attrs = array();
383  $attrs["OriginId"] = "il_" . $a_inst .
384  "_pg_" . $a_id;
385  $a_xml_writer->xmlElement("PageAlias", $attrs);
386 
387  $a_xml_writer->xmlEndTag("PageObject");
388  }
xmlEndTag(string $tag)
Writes an endtag.
xmlStartTag(string $tag, ?array $attrs=null, bool $empty=false, bool $encode=true, bool $escape=true)
Writes a starttag.
xmlElement(string $tag, $attrs=null, $data=null, $encode=true, $escape=true)
Writes a basic element (no children, just textual content)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _getPresentationTitle()

static ilLMPageObject::_getPresentationTitle ( int  $a_pg_id,
string  $a_mode = self::CHAPTER_TITLE,
bool  $a_include_numbers = false,
bool  $a_time_scheduled_activation = false,
bool  $a_force_content = false,
int  $a_lm_id = 0,
string  $a_lang = "-",
bool  $a_include_short = false 
)
static

presentation title doesn't have to be page title, it may be chapter title + page title or chapter title only, depending on settings

Parameters
string$a_modeilLMOBject::CHAPTER_TITLE | ilLMOBject::PAGE_TITLE | ilLMOBject::NO_HEADER

Definition at line 232 of file class.ilLMPageObject.php.

References ilLMObject\$active, $DIC, $ilDB, ilLMObject\$title, ilStructureObject\_getPresentationTitle(), ilPageObject\_lookupActivationData(), ilPageObject\_lookupActive(), ilLMObject\_lookupContObjID(), ilLMObject\_lookupShortTitle(), ilLMObject\_lookupTitle(), ilObject\_lookupType(), ilLMTree\getInstance(), ilLMObjTranslation\getTitle(), and ilUtil\now().

Referenced by ilLMObject\_getNodePresentationTitle(), ilLMNavigationRendererGUI\addDropdown(), ilObjContentObjectGUI\addLocations(), ilLMPageObjectGUI\executeCommand(), ilLMTOCExplorerGUI\getNodeContent(), ilLearningModuleNotification\getPageTitle(), ilGlossaryPresentationGUI\listDefinitions(), ilLMNavigationRendererGUI\render(), ilLMContentRendererGUI\render(), ilLMPresentationGUI\showPrintView(), and ilLMPresentationGUI\showPrintViewSelection().

241  : string {
242  global $DIC;
243  $ilDB = $DIC->database();
244 
245  if ($a_mode == self::NO_HEADER && !$a_force_content) {
246  return "";
247  }
248 
249  $cur_cnt = 0;
250 
251  if ($a_lm_id == 0) {
252  $a_lm_id = ilLMObject::_lookupContObjID($a_pg_id);
253  }
254 
255  if ($a_lm_id == 0) {
256  return "";
257  }
258 
259  // this is optimized when ilLMObject::preloadDataByLM is invoked (e.g. done in ilLMExplorerGUI)
260  $title = "";
261  if ($a_include_short) {
262  $title = trim(ilLMObject::_lookupShortTitle($a_pg_id));
263  }
264  if ($title == "") {
265  $title = ilLMObject::_lookupTitle($a_pg_id);
266  }
267 
268  $ot = (new TranslationsRepository($ilDB))->getFor($a_lm_id);
269 
270  if ($a_lang != "-" && $ot->getContentTranslationActivated()) {
271  $lmobjtrans = new ilLMObjTranslation($a_pg_id, $a_lang);
272  $trans_title = "";
273  if ($a_include_short) {
274  $trans_title = trim($lmobjtrans->getShortTitle());
275  }
276  if ($trans_title == "") {
277  $trans_title = $lmobjtrans->getTitle();
278  }
279  if ($trans_title == "") {
280  $lmobjtrans = new ilLMObjTranslation($a_pg_id, $ot->getDefaultLanguage());
281  $trans_title = $lmobjtrans->getTitle();
282  }
283  if ($trans_title != "") {
284  $title = $trans_title;
285  }
286  }
287 
288  if ($a_mode == self::PAGE_TITLE) {
289  return $title;
290  }
291 
292  $tree = ilLMTree::getInstance($a_lm_id);
293 
294  if ($tree->isInTree($a_pg_id)) {
295  $pred_node = $tree->fetchPredecessorNode($a_pg_id, "st");
296  $childs = $tree->getChildsByType($pred_node["obj_id"], "pg");
297  $cnt_str = "";
298  if (count($childs) > 1) {
299  $cnt = 0;
300  foreach ($childs as $child) {
302  $child["obj_id"],
303  ilObject::_lookupType($a_lm_id),
304  $a_time_scheduled_activation
305  );
306 
307  if (!$active) {
308  $act_data = ilLMPage::_lookupActivationData((int) $child["obj_id"], ilObject::_lookupType($a_lm_id));
309  if ($act_data["show_activation_info"] &&
310  (ilUtil::now() < $act_data["activation_start"])) {
311  $active = true;
312  }
313  }
314 
315  if ($child["type"] != "pg" || $active) {
316  $cnt++;
317  }
318  if ($child["obj_id"] == $a_pg_id) {
319  $cur_cnt = $cnt;
320  }
321  }
322  if ($cnt > 1) {
323  $cnt_str = " (" . $cur_cnt . "/" . $cnt . ")";
324  }
325  }
327  $pred_node["obj_id"],
328  self::CHAPTER_TITLE,
329  $a_include_numbers,
330  false,
331  false,
332  0,
333  $a_lang,
334  true
335  ) . $cnt_str;
336  } else {
337  return $title;
338  }
339  }
static _lookupActive(int $a_id, string $a_parent_type, bool $a_check_scheduled_activation=false, string $a_lang="-")
lookup activation status
static _getPresentationTitle(int $a_st_id, string $a_mode=self::CHAPTER_TITLE, bool $a_include_numbers=false, bool $a_time_scheduled_activation=false, bool $a_force_content=false, int $a_lm_id=0, string $a_lang="-", bool $a_include_short=false)
static _lookupShortTitle(int $a_obj_id)
static _lookupActivationData(int $a_id, string $a_parent_type, string $a_lang="-")
Lookup activation data.
static now()
Return current timestamp in Y-m-d H:i:s format.
static getInstance(int $a_tree_id)
static _lookupTitle(int $a_obj_id)
global $DIC
Definition: shib_login.php:26
static _lookupContObjID(int $a_id)
get learning module id for lm object
static _lookupType(int $id, bool $reference=false)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ assignPageObject()

ilLMPageObject::assignPageObject ( ilLMPage  $a_page_obj)

assign page object

Definition at line 180 of file class.ilLMPageObject.php.

180  : void
181  {
182  $this->page_object = $a_page_obj;
183  }

◆ copy()

ilLMPageObject::copy ( ilObjLearningModule  $a_target_lm)

Definition at line 94 of file class.ilLMPageObject.php.

References ilLMObjTranslation\copy(), ilLMObject\existsExportID(), ilLMObject\getDescription(), ilLMObject\getExportId(), getId(), ilObject\getId(), ilLMObject\getLayout(), ilLMObject\getLMId(), ilLMObject\getShortTitle(), ilLMObject\getTitle(), ilLMObject\getType(), and ilLMObject\saveExportId().

96  : ilLMPageObject {
97  // copy page
98  $lm_page = new ilLMPageObject($a_target_lm);
99  $lm_page->setTitle($this->getTitle());
100  $lm_page->setShortTitle($this->getShortTitle());
101  $lm_page->setLayout($this->getLayout());
102  $lm_page->setLMId($a_target_lm->getId());
103  $lm_page->setType($this->getType());
104  $lm_page->setDescription($this->getDescription());
105  $lm_page->setImportId("il__pg_" . $this->getId());
106  $lm_page->create(true); // setting "upload" flag to true prevents creating of meta data
107 
108  // check whether export id already exists in the target lm
109  $del_exp_id = false;
110  $exp_id = ilLMPageObject::getExportId($this->getLMId(), $this->getId());
111  if (trim($exp_id) != "") {
112  if (ilLMPageObject::existsExportID($a_target_lm->getId(), $exp_id)) {
113  $del_exp_id = true;
114  }
115  }
116 
117  // copy meta data
118  $this->lom_services->derive()
119  ->fromObject($this->getLMId(), $this->getId(), $this->getType())
120  ->forObject($a_target_lm->getId(), $lm_page->getId(), $this->getType());
121 
122  // check whether export id already exists in the target lm
123  if ($del_exp_id) {
124  ilLMPageObject::saveExportId($a_target_lm->getId(), $lm_page->getId(), "");
125  } else {
127  $a_target_lm->getId(),
128  $lm_page->getId(),
129  trim($exp_id)
130  );
131  }
132 
133  // copy page content and activation
134  $page = $lm_page->getPageObject();
135  $this->page_object->copy($page->getId(), $page->getParentType(), $page->getParentId());
136  $lm_page->read(); // this gets the updated page object into lm page
137 
138  // copy translations
139  ilLMObjTranslation::copy($this->getId(), $lm_page->getId());
140 
141  return $lm_page;
142  }
static getExportId(int $a_lm_id, int $a_lmobj_id, string $a_type="pg")
static copy(string $a_source_id, string $a_target_id)
Copy all translations of an object.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
existsExportID(int $a_lm_id, int $a_exp_id, string $a_type="pg")
Does export ID exist in lm?
static saveExportId(int $a_lm_id, int $a_lmobj_id, string $a_exp_id, string $a_type="pg")
+ Here is the call graph for this function:

◆ copyToOtherContObject()

ilLMPageObject::copyToOtherContObject ( ilObjLearningModule  $a_cont_obj,
array &  $a_copied_nodes 
)

copy a page to another content object (learning module / dlib book)

Definition at line 147 of file class.ilLMPageObject.php.

References ilLMObject\getDescription(), getId(), ilObject\getId(), ilLMObject\getLMId(), ilLMObject\getShortTitle(), ilLMObject\getTitle(), and ilLMObject\getType().

150  : ilLMPageObject {
151  // copy page
152  $lm_page = new ilLMPageObject($a_cont_obj);
153  $lm_page->setTitle($this->getTitle());
154  $lm_page->setShortTitle($this->getShortTitle());
155  $lm_page->setLMId($a_cont_obj->getId());
156  $lm_page->setImportId("il__pg_" . $this->getId());
157  $lm_page->setType($this->getType());
158  $lm_page->setDescription($this->getDescription());
159  $lm_page->create(true); // setting "upload" flag to true prevents creating of meta data
160  $a_copied_nodes[$this->getId()] = $lm_page->getId();
161 
162  // copy meta data
163  $this->lom_services->derive()
164  ->fromObject($this->getLMId(), $this->getId(), $this->getType())
165  ->forObject($a_cont_obj->getId(), $lm_page->getId(), $this->getType());
166 
167  // copy page content
168  $page = $lm_page->getPageObject();
169  $page->setXMLContent($this->page_object->getXMLContent());
170  $page->buildDom();
171  $page->update();
172 
173  return $lm_page;
174  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

◆ create()

ilLMPageObject::create ( bool  $a_upload = false,
bool  $a_omit_page_object_creation = false,
int  $a_layout_id = 0 
)

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

References getId(), and ilLMObject\getLMId().

70  : void {
71  parent::create($a_upload);
72  if ($a_omit_page_object_creation) {
73  return;
74  }
75  if (!is_object($this->page_object)) {
76  $this->page_object = new ilLMPage();
77  }
78  $this->page_object->setId($this->getId());
79  $this->page_object->setParentId($this->getLMId());
80  if ($a_layout_id == 0) {
81  $this->page_object->create(false);
82  } else {
83  $this->page_object->createWithLayoutId($a_layout_id);
84  }
85  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

◆ delete()

ilLMPageObject::delete ( bool  $a_delete_meta_data = true)

Definition at line 87 of file class.ilLMPageObject.php.

87  : void
88  {
89  parent::delete($a_delete_meta_data);
90  $this->page_object->delete();
91  }

◆ exportXML()

ilLMPageObject::exportXML ( ilXmlWriter  $a_xml_writer,
string  $a_mode = "normal",
int  $a_inst = 0 
)

export page object to xml (see ilias_co.dtd)

Definition at line 344 of file class.ilLMPageObject.php.

References exportXMLMetaData(), exportXMLPageContent(), getId(), ilXmlWriter\xmlElement(), ilXmlWriter\xmlEndTag(), and ilXmlWriter\xmlStartTag().

348  : void {
349  $attrs = array();
350  $a_xml_writer->xmlStartTag("PageObject", $attrs);
351 
352  switch ($a_mode) {
353  case "normal":
354  // MetaData
355  $this->exportXMLMetaData($a_xml_writer);
356 
357  // PageContent
358  $this->exportXMLPageContent($a_xml_writer, $a_inst);
359  break;
360 
361  case "alias":
362  $attrs = array();
363  $attrs["OriginId"] = "il_" . $a_inst .
364  "_pg_" . $this->getId();
365  $a_xml_writer->xmlElement("PageAlias", $attrs);
366  break;
367  }
368  $a_xml_writer->xmlEndTag("PageObject");
369  }
exportXMLMetaData(ilXmlWriter $a_xml_writer)
xmlEndTag(string $tag)
Writes an endtag.
xmlStartTag(string $tag, ?array $attrs=null, bool $empty=false, bool $encode=true, bool $escape=true)
Writes a starttag.
xmlElement(string $tag, $attrs=null, $data=null, $encode=true, $escape=true)
Writes a basic element (no children, just textual content)
exportXMLPageContent(ilXmlWriter $a_xml_writer, int $a_inst=0)
+ Here is the call graph for this function:

◆ exportXMLMetaData()

ilLMPageObject::exportXMLMetaData ( ilXmlWriter  $a_xml_writer)

Definition at line 390 of file class.ilLMPageObject.php.

Referenced by exportXML().

392  : void {
393  /*
394  * As far as I can tell, this is unused.
395  *
396  * I traced usages of this method up to ilObjContentObjectGUI::export and
397  * ilObjMediaPoolGUI::export (both via ilObjContentObject::exportXML), which have
398  * both been made redundant by the usual export mechanisms.
399  */
400  /*$md2xml = new ilMD2XML($this->getLMId(), $this->getId(), $this->getType());
401  $md2xml->setExportMode(true);
402  $md2xml->startExport();
403  $a_xml_writer->appendXML($md2xml->getXML());*/
404  }
+ Here is the caller graph for this function:

◆ exportXMLPageContent()

ilLMPageObject::exportXMLPageContent ( ilXmlWriter  $a_xml_writer,
int  $a_inst = 0 
)

Definition at line 418 of file class.ilLMPageObject.php.

References ilXmlWriter\appendXML(), and ilPCFileList\collectFileItems().

Referenced by exportXML().

421  : void {
422  $this->page_object->buildDom();
423  $this->page_object->insertInstIntoIDs($a_inst);
424  $this->mobs_contained = $this->page_object->collectMediaObjects(false);
425  $this->files_contained = ilPCFileList::collectFileItems($this->page_object, $this->page_object->getDomDoc());
426  $xml = $this->page_object->getXMLFromDom(false, false, false, "", true);
427  $xml = str_replace("&", "&amp;", $xml);
428  $a_xml_writer->appendXML($xml);
429 
430  $this->page_object->freeDom();
431  }
appendXML(string $a_str)
append xml string to document
static collectFileItems(ilPageObject $a_page, DOMDocument $a_domdoc)
Get all file items that are used within the page.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getFileItemIds()

ilLMPageObject::getFileItemIds ( )

get ids of all file items within the page note: this method must be called afer exportXMLPageContent

Definition at line 458 of file class.ilLMPageObject.php.

References $files_contained.

458  : array
459  {
460  return $this->files_contained;
461  }

◆ getId()

ilLMPageObject::getId ( )

Definition at line 199 of file class.ilLMPageObject.php.

References ilLMObject\$id.

Referenced by copy(), copyToOtherContObject(), create(), exportXML(), getQuestionIds(), and modifyExportIdentifier().

199  : int
200  {
201  return $this->id;
202  }
+ Here is the caller graph for this function:

◆ getMediaObjectIds()

ilLMPageObject::getMediaObjectIds ( )

get ids of all media objects within the page note: this method must be called afer exportXMLPageContent

Definition at line 449 of file class.ilLMPageObject.php.

References $mobs_contained.

449  : array
450  {
451  return $this->mobs_contained;
452  }

◆ getPageList()

◆ getPageObject()

ilLMPageObject::getPageObject ( )

get assigned page object

Definition at line 189 of file class.ilLMPageObject.php.

References $page_object.

189  : ilLMPage
190  {
191  return $this->page_object;
192  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

◆ getPagesWithLinksList()

static ilLMPageObject::getPagesWithLinksList ( int  $a_lm_id,
string  $a_par_type 
)
static

Get all pages of lm that contain any internal links.

Definition at line 212 of file class.ilLMPageObject.php.

References getPageList(), and ilPageObject\getPagesWithLinks().

Referenced by ilLinksTableGUI\getLinks().

215  : array {
216  $pages = ilLMPageObject::getPageList($a_lm_id);
217  $linked_pages = ilLMPage::getPagesWithLinks($a_par_type, $a_lm_id);
218  $result = array();
219  foreach ($pages as $page) {
220  if (isset($linked_pages[$page["obj_id"]])) {
221  $result[] = $page;
222  }
223  }
224  return $result;
225  }
static getPagesWithLinks(string $a_parent_type, int $a_parent_id, string $a_lang="-")
Get all pages for parent object that contain internal links.
static getPageList(int $lm_id)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getQuestionIds()

ilLMPageObject::getQuestionIds ( )

Get question ids note: this method must be called afer exportXMLPageContent.

Definition at line 437 of file class.ilLMPageObject.php.

References ilPCQuestion\_getQuestionIdsForPage(), and getId().

437  : array
438  {
440  $this->content_object->getType(),
441  $this->getId()
442  );
443  }
static _getQuestionIdsForPage(string $a_parent_type, int $a_page_id, string $a_lang="-")
+ Here is the call graph for this function:

◆ insertPagesFromTemplate()

static ilLMPageObject::insertPagesFromTemplate ( int  $lm_id,
int  $num,
int  $node_id,
bool  $first_child,
int  $layout_id,
string  $title = "" 
)
static

Insert (multiple) pages templates at node.

Definition at line 515 of file class.ilLMPageObject.php.

References $DIC, $lng, ilLMObject\$title, ilTree\POS_FIRST_NODE, and ilLMObject\putInTree().

Referenced by ILIAS\LearningModule\Editing\EditSubObjectsGUI\insertPageFromLayout().

522  : array {
523  global $DIC;
524 
525  $lng = $DIC->language();
526 
527  if ($title == "") {
528  $title = $lng->txt("cont_new_page");
529  }
530  $lm_tree = new ilLMTree($lm_id);
531  $lm = new ilObjLearningModule($lm_id, false);
532  if (!$first_child) { // insert after node id
533  $parent_id = $lm_tree->getParentId($node_id);
534  $target = $node_id;
535  } else { // insert as first child
536  $parent_id = $node_id;
537  $target = ilTree::POS_FIRST_NODE;
538  }
539 
540  $page_ids = array();
541  for ($i = 1; $i <= $num; $i++) {
542  $page = new ilLMPageObject($lm);
543  $page->setTitle($title);
544  $page->setLMId($lm->getId());
545  $page->create(false, false, $layout_id);
546  ilLMObject::putInTree($page, $parent_id, $target);
547  $page_ids[] = $page->getId();
548  }
549  $page_ids = array_reverse($page_ids);
550  return $page_ids;
551  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static putInTree(ilLMObject $a_obj, int $a_parent_id=0, int $a_target_node_id=0)
put this object into content object tree
const POS_FIRST_NODE
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
global $DIC
Definition: shib_login.php:26
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
global $lng
Definition: privfeed.php:31
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ modifyExportIdentifier()

ilLMPageObject::modifyExportIdentifier ( string  $a_tag,
string  $a_param,
string  $a_value 
)

Definition at line 406 of file class.ilLMPageObject.php.

References getId(), and IL_INST_ID.

410  : string {
411  if ($a_tag == "Identifier" && $a_param == "Entry") {
412  $a_value = "il_" . IL_INST_ID . "_pg_" . $this->getId();
413  }
414 
415  return $a_value;
416  }
const IL_INST_ID
Definition: constants.php:40
+ Here is the call graph for this function:

◆ queryQuestionsOfLearningModule()

static ilLMPageObject::queryQuestionsOfLearningModule ( int  $a_lm_id,
string  $a_order_field,
string  $a_order_dir,
int  $a_offset,
int  $a_limit 
)
static

Get questions of learning module.

Definition at line 467 of file class.ilLMPageObject.php.

References $DIC, and $ilDB.

Referenced by ilLMTracker\getBlockedUsersInformation(), ilLMQuestionListTableGUI\getItems(), and ilLMTracker\loadLMTrackingData().

473  : array {
474  global $DIC;
475 
476  $ilDB = $DIC->database();
477 
478  // count query
479  $count_query = "SELECT count(pq.question_id) cnt ";
480 
481  // basic query
482  $query = "SELECT pq.page_id, pq.question_id ";
483 
484  $from = " FROM page_question pq JOIN lm_tree t ON (t.lm_id = " . $ilDB->quote($a_lm_id, "integer") .
485  " AND pq.page_id = t.child and pq.page_parent_type = " . $ilDB->quote("lm", "text") . ") " .
486  " WHERE t.lm_id = " . $ilDB->quote($a_lm_id, "integer");
487  $count_query .= $from;
488  $query .= $from;
489 
490  // count query
491  $set = $ilDB->query($count_query);
492  $cnt = 0;
493  if ($rec = $ilDB->fetchAssoc($set)) {
494  $cnt = $rec["cnt"];
495  }
496 
497  $offset = $a_offset;
498  $limit = $a_limit;
499  if ($a_limit > 0) {
500  $ilDB->setLimit($limit, $offset);
501  }
502 
503  // set query
504  $set = $ilDB->query($query);
505  $result = array();
506  while ($rec = $ilDB->fetchAssoc($set)) {
507  $result[] = $rec;
508  }
509  return array("cnt" => $cnt, "set" => $result);
510  }
global $DIC
Definition: shib_login.php:26
+ Here is the caller graph for this function:

◆ read()

ilLMPageObject::read ( )

Definition at line 60 of file class.ilLMPageObject.php.

Referenced by __construct().

60  : void
61  {
62  parent::read();
63  $this->page_object = new ilLMPage($this->id, 0);
64  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the caller graph for this function:

◆ setId()

ilLMPageObject::setId ( int  $a_id)

Definition at line 194 of file class.ilLMPageObject.php.

194  : void
195  {
196  $this->id = $a_id;
197  }

Field Documentation

◆ $contains_int_link

bool ilLMPageObject::$contains_int_link
protected

Definition at line 38 of file class.ilLMPageObject.php.

◆ $files_contained

array ilLMPageObject::$files_contained
protected

Definition at line 36 of file class.ilLMPageObject.php.

Referenced by getFileItemIds().

◆ $halt_on_error

bool ilLMPageObject::$halt_on_error
protected

Definition at line 35 of file class.ilLMPageObject.php.

◆ $mobs_contained

array ilLMPageObject::$mobs_contained
protected

Definition at line 37 of file class.ilLMPageObject.php.

Referenced by getMediaObjectIds().

◆ $page_object

ilLMPage ilLMPageObject::$page_object = null

Definition at line 39 of file class.ilLMPageObject.php.

Referenced by getPageObject().


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