ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
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.

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)
@inheritDoc

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

+ 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.

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 }
xmlElement(string $tag, $attrs=null, $data=null, $encode=true, $escape=true)
Writes a basic element (no children, just textual content)
xmlEndTag(string $tag)
Writes an endtag.
xmlStartTag(string $tag, ?array $attrs=null, bool $empty=false, bool $encode=true, bool $escape=true)
Writes a starttag.

Referenced by ilStructureObject\exportXMLPageObjects().

+ 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.

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 == "") {
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 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _lookupShortTitle(int $a_obj_id)
static _lookupContObjID(int $a_id)
get learning module id for lm object
static _lookupTitle(int $a_obj_id)
static getInstance(int $a_tree_id)
static _lookupType(int $id, bool $reference=false)
static _lookupActive(int $a_id, string $a_parent_type, bool $a_check_scheduled_activation=false, string $a_lang="-")
lookup activation status
static _lookupActivationData(int $a_id, string $a_parent_type, string $a_lang="-")
Lookup activation data.
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 now()
Return current timestamp in Y-m-d H:i:s format.
global $DIC
Definition: shib_login.php:26

Referenced by ilLMNavigationRendererGUI\addDropdown(), ilLMPageObjectGUI\executeCommand(), ilLMTOCExplorerGUI\getNodeContent(), ilLearningModuleNotification\getPageTitle(), ilLMNavigationRendererGUI\render(), ilLMPresentationGUI\showPrintView(), and ilLMPresentationGUI\showPrintViewSelection().

+ 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.

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 copy(string $a_source_id, string $a_target_id)
Copy all translations of an object.
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")
static getExportId(int $a_lm_id, int $a_lmobj_id, string $a_type="pg")
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

◆ 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.

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 }

◆ 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.

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...

◆ delete()

ilLMPageObject::delete ( bool  $a_delete_meta_data = true)

Reimplemented from ilLMObject.

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.

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 }
exportXMLPageContent(ilXmlWriter $a_xml_writer, int $a_inst=0)
exportXMLMetaData(ilXmlWriter $a_xml_writer)

References ILIAS\Survey\Mode\getId(), and ilXmlWriter\xmlElement().

+ Here is the call graph for this function:

◆ exportXMLMetaData()

ilLMPageObject::exportXMLMetaData ( ilXmlWriter  $a_xml_writer)

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

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 }

◆ exportXMLPageContent()

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

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

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 }
static collectFileItems(ilPageObject $a_page, DOMDocument $a_domdoc)
Get all file items that are used within the page.
appendXML(string $a_str)
append xml string to document

◆ 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.

458 : array
459 {
461 }

◆ getId()

ilLMPageObject::getId ( )

Reimplemented from ilLMObject.

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

199 : int
200 {
201 return $this->id;
202 }

References $id.

◆ 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.

449 : array
450 {
452 }

◆ getPageList()

static ilLMPageObject::getPageList ( int  $lm_id)
static

◆ getPageObject()

ilLMPageObject::getPageObject ( )

get assigned page object

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

189 : ilLMPage
190 {
191 return $this->page_object;
192 }

◆ 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.

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 getPageList(int $lm_id)
static getPagesWithLinks(string $a_parent_type, int $a_parent_id, string $a_lang="-")
Get all pages for parent object that contain internal links.

Referenced by ilLinksTableGUI\getLinks().

+ 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.

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="-")

References ilPCQuestion\_getQuestionIdsForPage().

+ 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.

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 }
static putInTree(ilLMObject $a_obj, int $a_parent_id=0, int $a_target_node_id=0)
put this object into content object tree
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
const POS_FIRST_NODE
global $lng
Definition: privfeed.php:31

References $lng.

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

+ 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.

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

References ILIAS\Survey\Mode\getId(), and IL_INST_ID.

+ 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.

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 }

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

+ Here is the caller graph for this function:

◆ read()

ilLMPageObject::read ( )

Reimplemented from ilLMObject.

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

60 : void
61 {
62 parent::read();
63 $this->page_object = new ilLMPage($this->id, 0);
64 }

Referenced by __construct().

+ Here is the caller graph for this function:

◆ setId()

ilLMPageObject::setId ( int  $a_id)

Reimplemented from ilLMObject.

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.

◆ $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.

◆ $page_object

ilLMPage ilLMPageObject::$page_object = null

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


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