ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
class.ilObjWiki.php
Go to the documentation of this file.
1<?php
2
25{
26 protected \ILIAS\Notes\Service $notes;
27 protected \ILIAS\Wiki\InternalDomainService $domain;
28 protected bool $page_toc = false;
29 protected int $style_id = 0;
30 protected string $introduction = "";
31 protected string $shorttitle = "";
32 protected string $startpage = "";
33 protected bool $rating_categories = false;
34 protected bool $rating_new_pages = false;
35 protected bool $rating = false;
36 protected bool $rating_block = false;
37 protected bool $rating_overall = false;
38 protected ilObjUser $user;
39 protected bool $online = false;
40 protected bool $public_notes = true;
41 protected bool $empty_page_templ = true;
42 protected bool $link_md_values = false;
44 protected \ILIAS\Style\Content\DomainService $content_style_service;
45
46 public function __construct(
47 int $a_id = 0,
48 bool $a_call_by_reference = true
49 ) {
50 global $DIC;
51
52 $this->domain = $DIC->wiki()->internal()->domain();
53
54 $this->db = $DIC->database();
55 $this->user = $DIC->user();
56 $this->type = "wiki";
57 $this->setting = $DIC->settings();
58 $this->notes = $DIC->notes();
59 parent::__construct($a_id, $a_call_by_reference);
60
61 $this->content_style_service = $DIC
62 ->contentStyle()
63 ->domain();
64 }
65
66 public function setOnline(bool $a_online): void
67 {
68 $this->online = $a_online;
69 }
70
71 public function getOnline(): bool
72 {
73 return $this->online;
74 }
75
76 // Set Enable Rating For Object.
77 public function setRatingOverall(bool $a_rating): void
78 {
79 $this->rating_overall = $a_rating;
80 }
81
82 public function setRating(bool $a_rating): void // this is called by ilObject->handleAutoRating
83 {
84 $this->setRatingOverall($a_rating);
85 }
86
87 public function getRatingOverall(): bool
88 {
90 }
91
92 // Set Enable Rating.
93 public function setRatingPages(bool $a_rating): void
94 {
95 $this->rating = $a_rating;
96 }
97
98 public function getRatingPages(): bool
99 {
100 return $this->rating;
101 }
102
103 public function setRatingAsBlock(bool $a_rating): void
104 {
105 $this->rating_block = $a_rating;
106 }
107
108 public function getRatingAsBlock(): bool
109 {
110 return $this->rating_block;
111 }
112
113 public function setRatingForNewPages(bool $a_rating): void
114 {
115 $this->rating_new_pages = $a_rating;
116 }
117
118 public function getRatingForNewPages(): bool
119 {
121 }
122
123 public function setRatingCategories(bool $a_rating): void
124 {
125 $this->rating_categories = $a_rating;
126 }
127
128 public function getRatingCategories(): bool
129 {
131 }
132
133 public function setPublicNotes(bool $a_val): void
134 {
135 $this->public_notes = $a_val;
136 }
137
138 public function getPublicNotes(): bool
139 {
140 return $this->public_notes;
141 }
142
143 public function setStartPage(string $a_startpage): void
144 {
145 $this->startpage = ilWikiUtil::makeDbTitle($a_startpage);
146 }
147
148 public function getStartPage(): string
149 {
150 return $this->startpage;
151 }
152
153 public function setShortTitle(string $a_shorttitle): void
154 {
155 $this->shorttitle = $a_shorttitle;
156 }
157
158 public function getShortTitle(): string
159 {
160 return $this->shorttitle;
161 }
162
163 public function setIntroduction(string $a_introduction): void
164 {
165 $this->introduction = $a_introduction;
166 }
167
168 public function getIntroduction(): string
169 {
170 return $this->introduction;
171 }
172
173 public function setPageToc(bool $a_val): void
174 {
175 $this->page_toc = $a_val;
176 }
177
178 public function getPageToc(): bool
179 {
180 return $this->page_toc;
181 }
182
183 public function setEmptyPageTemplate(bool $a_val): void
184 {
185 $this->empty_page_templ = $a_val;
186 }
187
188 public function getEmptyPageTemplate(): bool
189 {
191 }
192
193 public function setLinkMetadataValues(bool $a_val): void
194 {
195 $this->link_md_values = $a_val;
196 }
197
198 public function getLinkMetadataValues(): bool
199 {
201 }
202
203 public function create(
204 bool $a_prevent_start_page_creation = false
205 ): int {
206 $ilDB = $this->db;
207
208 $id = parent::create();
209
210 $ilDB->insert("il_wiki_data", array(
211 "id" => array("integer", $this->getId()),
212 "is_online" => array("integer", (int) $this->getOnline()),
213 "startpage" => array("text", $this->getStartPage()),
214 "short" => array("text", $this->getShortTitle()),
215 "rating" => array("integer", (int) $this->getRatingPages()),
216 "public_notes" => array("integer", (int) $this->getPublicNotes()),
217 "introduction" => array("clob", $this->getIntroduction()),
218 "empty_page_templ" => array("integer", (int) $this->getEmptyPageTemplate()),
219 ));
220
221 // create start page
222 if ($this->getStartPage() !== "" && !$a_prevent_start_page_creation) {
223 $start_page = new ilWikiPage();
224 $start_page->setWikiId($this->getId());
225 $start_page->setTitle($this->getStartPage());
226 $start_page->create();
227 }
228
229 $this->notes->domain()->activateComments($this->getId(), $this->getPublicNotes());
230
231 parent::createMetaData();
232
233 return $id;
234 }
235
236 public function update(
237 bool $a_prevent_start_page_creation = false
238 ): bool {
239 $ilDB = $this->db;
240
241 if (!parent::update()) {
242 return false;
243 }
244
245 $ilDB->update("il_wiki_data", array(
246 "is_online" => array("integer", $this->getOnline()),
247 "startpage" => array("text", $this->getStartPage()),
248 "short" => array("text", $this->getShortTitle()),
249 "rating_overall" => array("integer", $this->getRatingOverall()),
250 "rating" => array("integer", $this->getRatingPages()),
251 "rating_side" => array("integer", $this->getRatingAsBlock()), // #13455
252 "rating_new" => array("integer", $this->getRatingForNewPages()),
253 "rating_ext" => array("integer", $this->getRatingCategories()),
254 "public_notes" => array("integer", $this->getPublicNotes()),
255 "introduction" => array("clob", $this->getIntroduction()),
256 "page_toc" => array("integer", $this->getPageToc()),
257 "link_md_values" => array("integer", $this->getLinkMetadataValues()),
258 "empty_page_templ" => array("integer", $this->getEmptyPageTemplate())
259 ), array(
260 "id" => array("integer", $this->getId())
261 ));
262
263 // check whether start page exists
264 if (!ilWikiPage::exists($this->getId(), $this->getStartPage())
265 && !$a_prevent_start_page_creation) {
266 $start_page = new ilWikiPage();
267 $start_page->setWikiId($this->getId());
268 $start_page->setTitle($this->getStartPage());
269 $start_page->setWikiRefId($this->getRefId());
270 $start_page->create();
271 }
272 $this->notes->domain()->activateComments($this->getId(), $this->getPublicNotes());
273
274 parent::updateMetaData();
275
276 return true;
277 }
278
279 public function read(): void
280 {
281 $ilDB = $this->db;
282
283 parent::read();
284
285 $query = "SELECT * FROM il_wiki_data WHERE id = " .
286 $ilDB->quote($this->getId(), "integer");
287 $set = $ilDB->query($query);
288 $rec = $ilDB->fetchAssoc($set);
289
290 $this->setOnline((bool) $rec["is_online"]);
291 $this->setStartPage((string) $rec["startpage"]);
292 $this->setShortTitle((string) $rec["short"]);
293 $this->setRatingOverall((bool) $rec["rating_overall"]);
294 $this->setRatingPages((bool) $rec["rating"]);
295 $this->setRatingAsBlock((bool) $rec["rating_side"]);
296 $this->setRatingForNewPages((bool) $rec["rating_new"]);
297 $this->setRatingCategories((bool) $rec["rating_ext"]);
298 //$this->setPublicNotes((bool) $rec["public_notes"]);
299 $this->setIntroduction((string) $rec["introduction"]);
300 $this->setPageToc((bool) $rec["page_toc"]);
301 $this->setEmptyPageTemplate((bool) $rec["empty_page_templ"]);
302 $this->setLinkMetadataValues((bool) $rec["link_md_values"]);
303 $this->setPublicNotes($this->notes->domain()->commentsActive($this->getId()));
304 }
305
306
310 public function delete(): bool
311 {
312 $ilDB = $this->db;
313
314 // always call parent delete function first!!
315 if (!parent::delete()) {
316 return false;
317 }
318
319 // delete record of table il_wiki_data
320 $query = "DELETE FROM il_wiki_data" .
321 " WHERE id = " . $ilDB->quote($this->getId(), "integer");
322 $ilDB->manipulate($query);
323
324 // remove all notifications
326
328
329 parent::deleteMetaData();
330
331 return true;
332 }
333
334 public static function checkShortTitleAvailability(
335 string $a_short_title
336 ): bool {
337 global $DIC;
338 $ilDB = $DIC->database();
339
340 if ($a_short_title === "") {
341 return true;
342 }
343 $res = $ilDB->queryF(
344 "SELECT id FROM il_wiki_data WHERE short = %s",
345 array("text"),
346 array($a_short_title)
347 );
348 if ($ilDB->fetchAssoc($res)) {
349 return false;
350 }
351
352 return true;
353 }
354
358 public static function _lookupRatingOverall(int $a_wiki_id): bool
359 {
360 return (bool) self::_lookup($a_wiki_id, "rating_overall");
361 }
362
366 public static function _lookupRating(int $a_wiki_id): bool
367 {
368 return (bool) self::_lookup($a_wiki_id, "rating");
369 }
370
374 public static function _lookupRatingCategories(int $a_wiki_id): bool
375 {
376 return (bool) self::_lookup($a_wiki_id, "rating_ext");
377 }
378
382 public static function _lookupRatingAsBlock(int $a_wiki_id): bool
383 {
384 return (bool) self::_lookup($a_wiki_id, "rating_side");
385 }
386
390 public static function _lookupPublicNotes(int $a_wiki_id): bool
391 {
392 return (bool) self::_lookup($a_wiki_id, "public_notes");
393 }
394
398 public static function _lookupLinkMetadataValues(int $a_wiki_id): bool
399 {
400 return (bool) self::_lookup($a_wiki_id, "link_md_values");
401 }
402
407 private static function _lookup(int $a_wiki_id, string $a_field)
408 {
409 global $DIC;
410
411 $ilDB = $DIC->database();
412
413 $query = "SELECT $a_field FROM il_wiki_data WHERE id = " .
414 $ilDB->quote($a_wiki_id, "integer");
415 $set = $ilDB->query($query);
416 $rec = $ilDB->fetchAssoc($set);
417 return $rec[$a_field] ?? null;
418 }
419
420 public static function _lookupStartPage(int $a_wiki_id): string
421 {
422 return (string) self::_lookup($a_wiki_id, "startpage");
423 }
424
425 public static function writeStartPage(int $a_id, string $a_name): void
426 {
427 global $DIC;
428
429 $ilDB = $DIC->database();
430
431 $ilDB->manipulate(
432 "UPDATE il_wiki_data SET " .
433 " startpage = " . $ilDB->quote(ilWikiUtil::makeDbTitle($a_name), "text") .
434 " WHERE id = " . $ilDB->quote($a_id, "integer")
435 );
436 }
437
441 public static function _performSearch(
442 int $a_wiki_id,
443 string $a_searchterm
444 ): array {
445 // query parser
446 $query_parser = new ilQueryParser($a_searchterm);
447 $query_parser->setCombination("or");
448 $query_parser->parse();
449
450 $search_result = new ilSearchResult();
451 if ($query_parser->validate()) {
452 $wiki_search = ilObjectSearchFactory::_getWikiContentSearchInstance($query_parser);
453 $wiki_search->setFilter(array('wpg'));
454 $r = $wiki_search->performSearch();
455 $search_result->mergeEntries($r);
456 }
457
458 $entries = $search_result->getEntries();
459
460 $found_pages = array();
461 foreach ($entries as $entry) {
462 if ($entry["obj_id"] == $a_wiki_id && is_array($entry["child"])) {
463 foreach ($entry["child"] as $child) {
464 $found_pages[] = array("page_id" => $child);
465 }
466 }
467 }
468 return $found_pages;
469 }
470
471 public function isImportantPage(
472 int $a_page_id
473 ): bool {
474 $ilDB = $this->db;
475
476 $set = $ilDB->query(
477 "SELECT * FROM il_wiki_imp_pages WHERE " .
478 " wiki_id = " . $ilDB->quote($this->getId(), "integer") . " AND " .
479 " page_id = " . $ilDB->quote($a_page_id, "integer")
480 );
481 if ($ilDB->fetchAssoc($set)) {
482 return true;
483 }
484 return false;
485 }
486
487
488 //
489 // Page TOC
490 //
491
492 public static function _lookupPageToc(
493 int $a_wiki_id
494 ): bool {
495 return (bool) self::_lookup($a_wiki_id, "page_toc");
496 }
497
498 public function cloneObject(int $target_id, int $copy_id = 0, bool $omit_tree = false): ?ilObject
499 {
500 $new_obj = parent::cloneObject($target_id, $copy_id, $omit_tree);
501
502 // Custom meta data activation is stored in a container setting
504 $new_obj->getId(),
507 $this->getId(),
509 0
510 )
511 );
512
513 //copy online status if object is not the root copy object
514 $cp_options = ilCopyWizardOptions::_getInstance($copy_id);
515
516 if (!$cp_options->isRootNode($this->getRefId())) {
517 $new_obj->setOnline($this->getOnline());
518 }
519
520 //$new_obj->setTitle($this->getTitle()); // see #20074
521 $new_obj->setStartPage($this->getStartPage());
522 $new_obj->setShortTitle($this->getShortTitle());
523 $new_obj->setRatingOverall($this->getRatingOverall());
524 $new_obj->setRatingPages($this->getRatingPages());
525 $new_obj->setRatingAsBlock($this->getRatingAsBlock());
526 $new_obj->setRatingForNewPages($this->getRatingForNewPages());
527 $new_obj->setRatingCategories($this->getRatingCategories());
528 $new_obj->setPublicNotes($this->getPublicNotes());
529 $new_obj->setIntroduction($this->getIntroduction());
530 $new_obj->setPageToc($this->getPageToc());
531 $new_obj->update();
532 $this->content_style_service
533 ->styleForRefId($this->getRefId())
534 ->cloneTo($new_obj->getId());
535
536 // copy content
537 $pages = ilWikiPage::getAllWikiPages($this->getId());
538 if (count($pages) > 0) {
539 // if we have any pages, delete the start page first
540 $pg_id = ilWikiPage::getPageIdForTitle($new_obj->getId(), $new_obj->getStartPage());
541 $start_page = new ilWikiPage($pg_id);
542 $start_page->delete();
543 }
544 $map = array();
545 foreach ($pages as $p) {
546 $page = new ilWikiPage($p["id"]);
547 $page->setWikiRefId($this->getRefId());
548 $new_page = new ilWikiPage();
549 $new_page->setWikiRefId($new_obj->getRefId());
550 $new_page->setTitle($page->getTitle());
551 $new_page->setWikiId($new_obj->getId());
552 $new_page->setTitle($page->getTitle());
553 $new_page->setBlocked($page->getBlocked());
554 $new_page->setRating($page->getRating());
555 $new_page->hideAdvancedMetadata($page->isAdvancedMetadataHidden());
556 $new_page->create();
557
558 $page->copy($new_page->getId(), "", 0, true);
559 //$new_page->setXMLContent($page->copyXMLContent(true));
560 //$new_page->buildDom(true);
561 //$new_page->update();
562 $map[$p["id"]] = $new_page->getId();
563
565 $copy_id,
566 $this->getId(),
567 $new_obj->getId(),
568 "wpg",
569 (int) $p["id"],
570 $new_page->getId(),
571 );
572 }
573
574 // copy important pages
575 $imp_pages_manager = $this->domain->importantPage($this->getRefId());
576 $imp_pages_manager->cloneTo($new_obj->getId(), $map);
577 $this->updateInternalLinksOnCopy($map);
578
579 // copy rating categories
580 foreach (ilRatingCategory::getAllForObject($this->getId()) as $rc) {
581 $new_rc = new ilRatingCategory();
582 $new_rc->setParentId($new_obj->getId());
583 $new_rc->setTitle((string) $rc["title"]);
584 $new_rc->setDescription((string) $rc["description"]);
585 $new_rc->save();
586 }
587
588 parent::cloneMetaData($new_obj);
589
590 return $new_obj;
591 }
592
593 protected function updateInternalLinksOnCopy(array $map): void
594 {
595 foreach ($map as $old_page_id => $new_page_id) {
596 // get links with targets inside the wiki
598 "wpg:pg",
599 $old_page_id,
600 "-"
601 );
602 foreach ($targets as $t) {
603 if ((int) $t["inst"] === 0 && in_array($t["type"], ["wpag", "wpage"]) && isset($map[(int) $t["id"]])) {
604 $new_page = new ilWikiPage($new_page_id);
605 if ($new_page->moveIntLinks([$t["id"] => $map[(int) $t["id"]]])) {
606 $new_page->update(true, true);
607 }
608 }
609 }
610 }
611 }
612
618 public function getTemplateSelectionOnCreation(string $lang = "-"): bool
619 {
620 $num = (int) $this->getEmptyPageTemplate();
621 $wt = new ilWikiPageTemplate($this->getId());
622 $ts = $wt->getAllInfo(ilWikiPageTemplate::TYPE_NEW_PAGES, $lang);
623 $num += count($ts);
624 if ($num > 1) {
625 return true;
626 }
627 return false;
628 }
629
633 public function createWikiPage(
634 string $a_page_title,
635 int $a_template_page = 0
636 ): ilWikiPage {
637 // check if template has to be used
638 if ($a_template_page === 0) {
639 if (!$this->getEmptyPageTemplate()) {
640 $wt = new ilWikiPageTemplate($this->getId());
641 $ts = $wt->getAllInfo(ilWikiPageTemplate::TYPE_NEW_PAGES);
642 if (count($ts) === 1) {
643 $t = current($ts);
644 $a_template_page = $t["wpage_id"];
645 }
646 }
647 }
648
649 // create the page
650 $page = new ilWikiPage();
651 $page->setWikiId($this->getId());
652 $page->setTitle(ilWikiUtil::makeDbTitle($a_page_title));
653 if ($this->getRatingPages() && $this->getRatingForNewPages()) {
654 $page->setRating(true);
655 }
656
657 // needed for notification
658 $page->setWikiRefId($this->getRefId());
659 $page->create();
660
661 // copy template into new page
662 if ($a_template_page > 0) {
663 $orig = new ilWikiPage($a_template_page);
664 $orig->copy($page->getId());
665
666 // #15718
668 0,
669 $this->getId(),
670 $this->getId(),
671 "wpg",
672 $a_template_page,
673 $page->getId()
674 );
675 }
676
677 return $page;
678 }
679
680 public static function getAdvMDSubItemTitle(
681 int $a_obj_id,
682 string $a_sub_type,
683 int $a_sub_id
684 ): string {
685 global $DIC;
686
687 $lng = $DIC->language();
688
689 if ($a_sub_type === "wpg") {
690 $lng->loadLanguageModule("wiki");
691 return $lng->txt("wiki_wpg") . ' "' . ilWikiPage::lookupTitle($a_sub_id) . '"';
692 }
693 return "";
694 }
695
696 public function initUserHTMLExport(
697 bool $with_comments = false
698 ): void {
699 $ilDB = $this->db;
700 $ilUser = $this->user;
701
702 $user_export = new ilWikiUserHTMLExport($this, $ilDB, $ilUser, $with_comments);
703 $user_export->initUserHTMLExport();
704 }
705
706 public function startUserHTMLExport(
707 bool $with_comments = false
708 ): void {
709 $ilDB = $this->db;
710 $ilUser = $this->user;
711
712 $user_export = new ilWikiUserHTMLExport($this, $ilDB, $ilUser, $with_comments);
713 $user_export->startUserHTMLExport();
714 }
715
721 bool $with_comments = false
722 ): array {
723 $ilDB = $this->db;
724 $ilUser = $this->user;
725
726 $user_export = new ilWikiUserHTMLExport($this, $ilDB, $ilUser, $with_comments);
727 return $user_export->getProgress();
728 }
729
730 public function deliverUserHTMLExport(
731 bool $with_comments = false
732 ): void {
733 $ilDB = $this->db;
734 $ilUser = $this->user;
735
736 $user_export = new ilWikiUserHTMLExport($this, $ilDB, $ilUser, $with_comments);
737 $user_export->deliverFile();
738 }
739
740
746 public function decorateAdvMDValue(string $a_value): string
747 {
748 if (ilWikiPage::_wikiPageExists($this->getId(), $a_value)) {
749 $url = ilObjWikiGUI::getGotoLink($this->getRefId(), $a_value);
750 return "<a href='" . $url . "'>" . $a_value . "</a>";
751 }
752
753 return $a_value;
754 }
755
759 public function isCommentsExportPossible(): bool
760 {
761 $setting = $this->setting;
763 if ($setting->get("disable_comments")) {
764 return false;
765 }
766
767 if (!$this->getPublicNotes()) {
768 return false;
769 }
770 if (!$privacy->enabledCommentsExport()) {
771 return false;
772 }
773 return true;
774 }
775}
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
static _cloneValues(int $copy_id, int $a_source_id, int $a_target_id, ?string $a_sub_type=null, ?int $a_source_sub_id=null, ?int $a_target_sub_id=null)
Clone Advanced Meta Data.
static _writeContainerSetting(int $a_id, string $a_keyword, string $a_value)
static _lookupContainerSetting(int $a_id, string $a_keyword, ?string $a_default_value=null)
static _getInstance(int $a_copy_id)
static removeForObject(int $type, int $id)
Remove all notifications for given object.
User class.
static getGotoLink(int $a_ref_id, string $a_page="", string $lang="-")
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setLinkMetadataValues(bool $a_val)
decorateAdvMDValue(string $a_value)
Decorate adv md value.
setRatingAsBlock(bool $a_rating)
static checkShortTitleAvailability(string $a_short_title)
bool $empty_page_templ
static _lookupRating(int $a_wiki_id)
Lookup whether rating is activated.
isCommentsExportPossible()
Is export possible.
setRating(bool $a_rating)
setPageToc(bool $a_val)
bool $rating_block
bool $link_md_values
static _lookupPageToc(int $a_wiki_id)
bool $rating_categories
static writeStartPage(int $a_id, string $a_name)
setOnline(bool $a_online)
ILIAS Notes Service $notes
bool $rating_new_pages
static _lookupStartPage(int $a_wiki_id)
ILIAS Style Content DomainService $content_style_service
bool $rating_overall
ilSetting $setting
static _performSearch(int $a_wiki_id, string $a_searchterm)
Search in Wiki.
setRatingPages(bool $a_rating)
getTemplateSelectionOnCreation(string $lang="-")
Get template selection on creation? If more than one template (including empty page template) is acti...
setStartPage(string $a_startpage)
setIntroduction(string $a_introduction)
setEmptyPageTemplate(bool $a_val)
deliverUserHTMLExport(bool $with_comments=false)
isImportantPage(int $a_page_id)
getUserHTMLExportProgress(bool $with_comments=false)
Get user html export progress.
update(bool $a_prevent_start_page_creation=false)
setRatingForNewPages(bool $a_rating)
static _lookupPublicNotes(int $a_wiki_id)
Lookup whether public notes are activated.
updateInternalLinksOnCopy(array $map)
static _lookupRatingCategories(int $a_wiki_id)
Lookup whether rating categories are activated.
ILIAS Wiki InternalDomainService $domain
string $startpage
string $introduction
static _lookupRatingAsBlock(int $a_wiki_id)
Lookup whether rating side block is activated.
setPublicNotes(bool $a_val)
cloneObject(int $target_id, int $copy_id=0, bool $omit_tree=false)
bool $public_notes
static _lookupLinkMetadataValues(int $a_wiki_id)
Lookup whether metadata should be auto linked.
setShortTitle(string $a_shorttitle)
string $shorttitle
create(bool $a_prevent_start_page_creation=false)
setRatingOverall(bool $a_rating)
setRatingCategories(bool $a_rating)
createWikiPage(string $a_page_title, int $a_template_page=0)
Create new wiki page.
__construct(int $a_id=0, bool $a_call_by_reference=true)
ilObjUser $user
startUserHTMLExport(bool $with_comments=false)
static _lookup(int $a_wiki_id, string $a_field)
Lookup a data field.
static getAdvMDSubItemTitle(int $a_obj_id, string $a_sub_type, int $a_sub_id)
static _lookupRatingOverall(int $a_wiki_id)
Lookup whether rating is activated for whole object.
initUserHTMLExport(bool $with_comments=false)
static _getWikiContentSearchInstance(ilQueryParser $query_parser)
Class ilObject Basic functions for all objects.
setCombination(string $a_combination)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static getAllForObject(int $a_parent_obj_id)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
ILIAS Setting Class.
get(string $a_keyword, ?string $a_default_value=null)
get setting
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...
static exists(int $a_wiki_id, string $a_title, string $lang="-")
Checks whether a page with given title exists.
static getPageIdForTitle(int $a_wiki_id, string $a_title, string $lang="-")
Get wiki page object for id and title.
static lookupTitle(int $a_page_id, string $lang="-")
static _wikiPageExists(int $a_wiki_id, string $a_title, string $lang="-")
static deleteAllPagesOfWiki(int $a_wiki_id)
static getAllWikiPages(int $a_wiki_id, string $lang="-")
Class manages user html export.
static makeDbTitle(string $a_par)
return['delivery_method'=> 'php',]
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Interface for repository objects to use adv md with subitems.
$res
Definition: ltiservices.php:69
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
global $lng
Definition: privfeed.php:31
if(!file_exists('../ilias.ini.php'))
global $DIC
Definition: shib_login.php:26
$url
Definition: shib_logout.php:68
$lang
Definition: xapiexit.php:25