8 include_once
"./Services/Object/classes/class.ilObject.php";
9 include_once
"./Modules/Wiki/classes/class.ilWikiUtil.php";
10 include_once
"./Services/AdvancedMetaData/interfaces/interface.ilAdvancedMetaDataSubItems.php";
33 function ilObjWiki($a_id = 0,$a_call_by_reference =
true)
36 $this->
ilObject($a_id,$a_call_by_reference);
46 $this->online = $a_online;
66 $this->rating_overall = (bool)$a_rating;
76 return $this->rating_overall;
86 $this->rating = (bool)$a_rating;
106 $this->rating_block = (bool)$a_rating;
116 return $this->rating_block;
126 $this->rating_new_pages = (bool)$a_rating;
136 return $this->rating_new_pages;
146 $this->rating_categories = (bool)$a_rating;
156 return $this->rating_categories;
164 $this->public_notes = $a_val;
182 $this->imp_pages = $a_val;
192 return $this->imp_pages;
212 return $this->startpage;
222 $this->shorttitle = $a_shorttitle;
232 return $this->shorttitle;
242 $this->introduction = $a_introduction;
252 return $this->introduction;
260 return $this->style_id;
268 $this->style_id = $a_style_id;
278 $this->page_toc = $a_val;
288 return $this->page_toc;
298 $this->empty_page_templ = $a_val;
318 $this->link_md_values = $a_val;
338 if ($a_ref_id > 0 && $a_ref_id == OH_REF_ID)
348 function create($a_prevent_start_page_creation =
false)
354 $ilDB->insert(
"il_wiki_data", array(
355 "id" => array(
"integer", $this->
getId()),
356 "is_online" => array(
"integer", (
int) $this->
getOnline()),
359 "rating" => array(
"integer", (
int) $this->
getRating()),
360 "public_notes" => array(
"integer", (
int) $this->
getPublicNotes()),
366 if ($this->
getStartPage() !=
"" && !$a_prevent_start_page_creation)
368 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
370 $start_page->setWikiId($this->
getId());
372 $start_page->create();
377 include_once(
"./Services/Style/classes/class.ilObjStyleSheet.php");
388 function update($a_prevent_start_page_creation =
false)
392 if (!parent::update())
397 $ilDB->update(
"il_wiki_data", array(
398 "is_online" => array(
"integer", $this->
getOnline()),
402 "rating" => array(
"integer", $this->
getRating()),
409 "page_toc" => array(
"integer", $this->
getPageToc()),
413 "id" => array(
"integer", $this->
getId())
417 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
419 && !$a_prevent_start_page_creation)
422 $start_page->setWikiId($this->
getId());
424 $start_page->create();
427 include_once(
"./Services/Style/classes/class.ilObjStyleSheet.php");
442 $query =
"SELECT * FROM il_wiki_data WHERE id = ".
443 $ilDB->quote($this->
getId(),
"integer");
444 $set = $ilDB->query(
$query);
445 $rec = $ilDB->fetchAssoc($set);
462 include_once(
"./Services/Style/classes/class.ilObjStyleSheet.php");
479 if (!parent::delete())
485 $query =
"DELETE FROM il_wiki_data".
486 " WHERE id = ".$ilDB->quote($this->
getId(),
"integer");
487 $ilDB->manipulate(
$query);
490 include_once
"./Services/Notification/classes/class.ilNotification.php";
493 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
506 $res = $ilDB->queryF(
"SELECT id FROM il_wiki_data WHERE short = %s",
507 array(
"text"), array($a_short_title));
508 if ($ilDB->fetchAssoc(
$res))
530 function notify($a_event,$a_ref_id,$a_parent_non_rbac_id,$a_node_id,$a_params = 0)
570 if ($a_node_id==
$_GET[
"ref_id"])
572 $parent_obj =& $this->
ilias->obj_factory->getInstanceByRefId($a_node_id);
573 $parent_type = $parent_obj->getType();
574 if($parent_type == $this->
getType())
576 $a_node_id = (int) $tree->getParentId($a_node_id);
580 parent::notify($a_event,$a_ref_id,$a_parent_non_rbac_id,$a_node_id,$a_params);
663 private static function _lookup($a_wiki_id, $a_field)
667 $query =
"SELECT $a_field FROM il_wiki_data WHERE id = ".
668 $ilDB->quote($a_wiki_id,
"integer");
669 $set = $ilDB->query(
$query);
670 $rec = $ilDB->fetchAssoc($set);
671 return $rec[$a_field];
693 include_once(
"./Modules/Wiki/classes/class.ilWikiUtil.php");
694 $ilDB->manipulate(
"UPDATE il_wiki_data SET ".
696 " WHERE id = ".$ilDB->quote($a_id,
"integer")
706 include_once
'Services/Search/classes/class.ilQueryParser.php';
709 $query_parser->setCombination(
"or");
710 $query_parser->parse();
712 include_once
'Services/Search/classes/class.ilSearchResult.php';
714 if($query_parser->validate())
717 include_once
'Services/Search/classes/class.ilObjectSearchFactory.php';
719 $wiki_search->setFilter(array(
'wpg'));
720 $search_result->mergeEntries($wiki_search->performSearch());
723 $entries = $search_result->getEntries();
725 $found_pages = array();
726 foreach($entries as $entry)
728 if ($entry[
"obj_id"] == $a_wiki_id && is_array($entry[
"child"]))
730 foreach($entry[
"child"] as $child)
732 $found_pages[] = array(
"page_id" => $child);
766 $set = $ilDB->query(
"SELECT * FROM il_wiki_imp_pages WHERE ".
767 " wiki_id = ".$ilDB->quote($a_wiki_id,
"integer").
" ORDER BY ord ASC " 770 $imp_pages = array();
772 while ($rec = $ilDB->fetchAssoc($set))
789 $set = $ilDB->query(
"SELECT MAX(ord) as m FROM il_wiki_imp_pages WHERE ".
790 " wiki_id = ".$ilDB->quote($a_wiki_id,
"integer")
793 $rec = $ilDB->fetchAssoc($set);
794 return (
int) $rec[
"m"];
814 $ilDB->manipulate(
"INSERT INTO il_wiki_imp_pages ".
815 "(wiki_id, ord, indent, page_id) VALUES (".
816 $ilDB->quote($this->getId(),
"integer").
",".
817 $ilDB->quote($a_nr,
"integer").
",".
818 $ilDB->quote($a_indent,
"integer").
",".
819 $ilDB->quote($a_page_id,
"integer").
834 $set = $ilDB->query(
"SELECT * FROM il_wiki_imp_pages WHERE ".
835 " wiki_id = ".$ilDB->quote($this->getId(),
"integer").
" AND ".
836 " page_id = ".$ilDB->quote($a_page_id,
"integer")
838 if ($rec = $ilDB->fetchAssoc($set))
854 $ilDB->manipulate(
"DELETE FROM il_wiki_imp_pages WHERE " 855 .
" wiki_id = ".$ilDB->quote($this->getId(),
"integer")
856 .
" AND page_id = ".$ilDB->quote($a_id,
"integer")
874 foreach ($ipages as $k => $v)
876 if (isset($a_ord[$v[
"page_id"]]))
878 $ipages[$k][
"ord"] = (int) $a_ord[$v[
"page_id"]];
880 if (isset($a_indent[$v[
"page_id"]]))
882 $ipages[$k][
"indent"] = (int) $a_indent[$v[
"page_id"]];
890 foreach ($ipages as $k => $v)
892 if ($ipages[$k][
"indent"] == 2 && $c_indent == 0)
894 $ipages[$k][
"indent"] = 1;
897 $c_indent = $ipages[$k][
"indent"];
902 foreach ($ipages as $k => $v)
904 $ilDB->manipulate($q =
"UPDATE il_wiki_imp_pages SET ".
905 " ord = ".$ilDB->quote($ord,
"integer").
",".
906 " indent = ".$ilDB->quote($v[
"indent"],
"integer").
907 " WHERE wiki_id = ".$ilDB->quote($v[
"wiki_id"],
"integer").
908 " AND page_id = ".$ilDB->quote($v[
"page_id"],
"integer")
928 foreach ($ipages as $k => $v)
930 if ($ipages[$k][
"indent"] == 2 && $c_indent == 0)
932 $ipages[$k][
"indent"] = 1;
935 $c_indent = $ipages[$k][
"indent"];
939 foreach ($ipages as $k => $v)
941 $ilDB->manipulate($q =
"UPDATE il_wiki_imp_pages SET ".
942 " ord = ".$ilDB->quote($ord,
"integer").
943 ", indent = ".$ilDB->quote($v[
"indent"],
"integer").
944 " WHERE wiki_id = ".$ilDB->quote($v[
"wiki_id"],
"integer").
945 " AND page_id = ".$ilDB->quote($v[
"page_id"],
"integer")
978 $new_obj = parent::cloneObject($a_target_id,$a_copy_id);
983 if(!$cp_options->isRootNode($this->getRefId()))
1003 include_once(
"./Services/Style/classes/class.ilObjStyleSheet.php");
1007 $style_obj = $ilias->obj_factory->getInstanceByObjId($style_id);
1008 $new_id = $style_obj->ilClone();
1009 $new_obj->setStyleSheetId($new_id);
1014 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
1016 if (count($pages) > 0)
1021 $start_page->delete();
1024 foreach ($pages as $p)
1028 $new_page->setTitle($page->getTitle());
1029 $new_page->setWikiId($new_obj->getId());
1030 $new_page->setTitle($page->getTitle());
1031 $new_page->setBlocked($page->getBlocked());
1032 $new_page->setRating($page->getRating());
1033 $new_page->hideAdvancedMetadata($page->isAdvancedMetadataHidden());
1034 $new_page->create();
1036 $page->copy($new_page->getId(),
"", 0,
true);
1040 $map[$p[
"id"]] = $new_page->getId();
1046 $new_obj->addImportantPage($map[$ip[
"page_id"]], $ip[
"ord"], $ip[
"indent"]);
1050 include_once(
"./Services/Rating/classes/class.ilRatingCategory.php");
1054 $new_rc->setParentId($new_obj->getId());
1055 $new_rc->setTitle($rc[
"title"]);
1056 $new_rc->setDescription($rc[
"description"]);
1072 include_once(
"./Modules/Wiki/classes/class.ilWikiPageTemplate.php");
1093 if ($a_template_page == 0)
1097 include_once(
"./Modules/Wiki/classes/class.ilWikiPageTemplate.php");
1100 if (count($ts) == 1)
1103 $a_template_page =
$t[
"wpage_id"];
1110 $page->setWikiId($this->
getId());
1114 $page->setRating(
true);
1118 $page->setWikiRefId($this->
getRefId());
1122 if ($a_template_page > 0)
1125 $orig->copy($page->getId());
1128 include_once
"Services/AdvancedMetaData/classes/class.ilAdvancedMDValues.php";
1145 if($a_sub_type ==
"wpg")
1147 $lng->loadLanguageModule(
"wiki");
1148 include_once
"./Modules/Wiki/classes/class.ilWikiPage.php";
1163 include_once(
"./Modules/Wiki/classes/class.ilWikiUserHTMLExport.php");
1166 $user_export->initUserHTMLExport();
1179 include_once(
"./Modules/Wiki/classes/class.ilWikiUserHTMLExport.php");
1182 $user_export->startUserHTMLExport();
1194 include_once(
"./Modules/Wiki/classes/class.ilWikiUserHTMLExport.php");
1197 return $user_export->getProgress();
1207 include_once(
"./Modules/Wiki/classes/class.ilWikiUserHTMLExport.php");
1210 return $user_export->deliverFile();
1222 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
1226 return "<a href='".$url.
"'>".$a_value.
"</a>";
static getGotoLink($a_ref_id, $a_page="")
Get goto link.
static lookupTitle($a_page_id)
Checks whether a page with given title exists.
static _getWikiContentSearchInstance($query_parser)
get reference of ilFulltextWikiContentSearch
static removeForObject($type, $id)
Remove all notifications for given object.
static _lookupRatingOverall($a_wiki_id)
Lookup whether rating is activated for whole object.
saveOrderingAndIndentation($a_ord, $a_indent)
Save ordering and indentation.
static _lookupImportantPagesList($a_wiki_id)
Get important pages list.
setImportantPages($a_val)
Set important pages.
getRatingOverall()
Get Enable Rating For Object.
update($a_prevent_start_page_creation=false)
update object data
setOnline($a_online)
Set Online.
getUserHTMLExportProgress()
Get user html export progress.
initUserHTMLExport()
Init user html export.
getStartPage()
Get Start Page.
setIntroduction($a_introduction)
Set Introduction.
static checkShortTitleAvailability($a_short_title)
Check availability of short title.
getLinkMetadataValues()
Get link md values.
getShortTitle()
Get ShortTitle.
setPublicNotes($a_val)
Set public notes.
Class ilObject Basic functions for all objects.
static _lookupStartPage($a_wiki_id)
Lookup start page.
deliverUserHTMLExport()
Send user html export file.
static _lookupLinkMetadataValues($a_wiki_id)
Lookup whether metadata should be auto linked.
notify($a_event, $a_ref_id, $a_parent_non_rbac_id, $a_node_id, $a_params=0)
notifys an object about an event occured Based on the event happend, each object may decide how it re...
getPublicNotes()
Get public notes.
startUserHTMLExport()
Start user html export.
getRatingForNewPages()
Get Enable Rating For New Pages.
static _lookupRatingCategories($a_wiki_id)
Lookup whether rating categories are activated.
static sortArray($array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
getRatingCategories()
Get Enable Rating Categories.
static getAllForObject($a_parent_obj_id)
Get all categories for object.
static lookupObjectStyle($a_obj_id)
Lookup object style.
static getPageIdForTitle($a_wiki_id, $a_title)
Get wiki page object for id and title.
setRatingCategories($a_rating)
Set Enable Rating Categories.
setStyleSheetId($a_style_id)
set ID of assigned style sheet object
ilObject($a_id=0, $a_reference=true)
Constructor public.
isImportantPage($a_page_id)
Is page an important page?
addImportantPage($a_page_id, $a_nr=0, $a_indent=0)
Add important page.
createWikiPage($a_page_title, $a_template_page=0)
Create new wiki page.
Class manages user html export.
static _lookupRating($a_wiki_id)
Lookup whether rating is activated.
static writeStyleUsage($a_obj_id, $a_style_id)
Write style usage.
getPageToc()
Get page toc.
static getAdvMDSubItemTitle($a_obj_id, $a_sub_type, $a_sub_id)
setRatingAsBlock($a_rating)
Set Enable Rating Side Block.
static _performSearch($a_wiki_id, $a_searchterm)
Search in Wiki.
fixImportantPagesNumbering()
Fix important pages numbering.
static _getInstance($a_copy_id)
Get instance of copy wizard options.
getEmptyPageTemplate()
Get empty page template.
setEmptyPageTemplate($a_val)
Set empty page template.
decorateAdvMDValue($a_value)
Decorate adv md value.
getId()
get object id public
static _cloneValues($a_source_id, $a_target_id, $a_sub_type=null, $a_source_sub_id=null, $a_target_sub_id=null)
Clone Advanced Meta Data.
getTemplateSelectionOnCreation()
Get template selection on creation? If more than one template (including empty page template) is acti...
getRatingAsBlock()
Get Enable Rating Side Block.
cloneObject($a_target_id, $a_copy_id=0)
Clone wiki.
static _lookupRatingAsBlock($a_wiki_id)
Lookup whether rating side block is activated.
static _lookupMaxOrdNrImportantPages($a_wiki_id)
Get important pages list.
getStyleSheetId()
get ID of assigned style sheet object
redirection script todo: (a better solution should control the processing via a xml file) ...
setShortTitle($a_shorttitle)
Set ShortTitle.
ilObjWiki($a_id=0, $a_call_by_reference=true)
Constructor public.
static _lookupPageToc($a_wiki_id)
Lookup whether important pages are activated.
getType()
get object type public
static makeDbTitle($a_par)
Handle page GET parameter.
setStartPage($a_startpage)
Set Start Page.
setLinkMetadataValues($a_val)
Set link md values.
setRating($a_rating)
Set Enable Rating.
static _lookup($a_wiki_id, $a_field)
Lookup a data field.
static _wikiPageExists($a_wiki_id, $a_title)
Check whether page exists for wiki or not.
_lookupStandard($a_id)
Lookup standard flag.
static exists($a_wiki_id, $a_title)
Checks whether a page with given title exists.
getIntroduction()
Get Introduction.
setRatingForNewPages($a_rating)
Set Enable Rating For New Pages.
static isOnlineHelpWiki($a_ref_id)
Is wiki an online help wiki?
getRefId()
get reference id public
getImportantPages()
Get important pages.
setRatingOverall($a_rating)
Set Enable Rating For Object.
create($a_prevent_start_page_creation=false)
Create new wiki.
static deleteAllPagesOfWiki($a_wiki_id)
delete wiki page and al related data
getRating()
Get Enable Rating.
static getAllPages($a_wiki_id)
Get all pages of wiki.
static _lookupImportantPages($a_wiki_id)
Lookup whether important pages are activated.
static _lookupPublicNotes($a_wiki_id)
Lookup whether public notes are activated.
setPageToc($a_val)
Set page toc.
static writeStartPage($a_id, $a_name)
Write start page.
removeImportantPage($a_id)
Remove important page.