8include_once
"./Services/Object/classes/class.ilObject.php";
9include_once
"./Modules/Wiki/classes/class.ilWikiUtil.php";
10include_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 = ".
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));
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");
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 _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.
static _getInstance($a_copy_id)
Get instance of copy wizard options.
static removeForObject($type, $id)
Remove all notifications for given object.
static lookupObjectStyle($a_obj_id)
Lookup object style.
static writeStyleUsage($a_obj_id, $a_style_id)
Write style usage.
_lookupStandard($a_id)
Lookup standard flag.
static getGotoLink($a_ref_id, $a_page="")
Get goto link.
getRating()
Get Enable Rating.
getRatingAsBlock()
Get Enable Rating Side Block.
static _lookupPublicNotes($a_wiki_id)
Lookup whether public notes are activated.
initUserHTMLExport()
Init user html export.
getStartPage()
Get Start Page.
createWikiPage($a_page_title, $a_template_page=0)
Create new wiki page.
deliverUserHTMLExport()
Send user html export file.
removeImportantPage($a_id)
Remove important page.
setRatingAsBlock($a_rating)
Set Enable Rating Side Block.
getEmptyPageTemplate()
Get empty page template.
static _lookupRatingOverall($a_wiki_id)
Lookup whether rating is activated for whole object.
getLinkMetadataValues()
Get link md values.
setRatingOverall($a_rating)
Set Enable Rating For Object.
static _lookupRatingCategories($a_wiki_id)
Lookup whether rating categories are activated.
static _performSearch($a_wiki_id, $a_searchterm)
Search in Wiki.
static getAdvMDSubItemTitle($a_obj_id, $a_sub_type, $a_sub_id)
addImportantPage($a_page_id, $a_nr=0, $a_indent=0)
Add important page.
cloneObject($a_target_id, $a_copy_id=0)
Clone wiki.
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...
setPageToc($a_val)
Set page toc.
setShortTitle($a_shorttitle)
Set ShortTitle.
saveOrderingAndIndentation($a_ord, $a_indent)
Save ordering and indentation.
static isOnlineHelpWiki($a_ref_id)
Is wiki an online help wiki?
getPublicNotes()
Get public notes.
setStartPage($a_startpage)
Set Start Page.
getShortTitle()
Get ShortTitle.
static _lookupPageToc($a_wiki_id)
Lookup whether important pages are activated.
isImportantPage($a_page_id)
Is page an important page?
create($a_prevent_start_page_creation=false)
Create new wiki.
ilObjWiki($a_id=0, $a_call_by_reference=true)
Constructor @access public.
getIntroduction()
Get Introduction.
setOnline($a_online)
Set Online.
static _lookupLinkMetadataValues($a_wiki_id)
Lookup whether metadata should be auto linked.
getStyleSheetId()
get ID of assigned style sheet object
static _lookupImportantPagesList($a_wiki_id)
Get important pages list.
setEmptyPageTemplate($a_val)
Set empty page template.
fixImportantPagesNumbering()
Fix important pages numbering.
getRatingOverall()
Get Enable Rating For Object.
startUserHTMLExport()
Start user html export.
decorateAdvMDValue($a_value)
Decorate adv md value.
getTemplateSelectionOnCreation()
Get template selection on creation? If more than one template (including empty page template) is acti...
setStyleSheetId($a_style_id)
set ID of assigned style sheet object
setImportantPages($a_val)
Set important pages.
static writeStartPage($a_id, $a_name)
Write start page.
setIntroduction($a_introduction)
Set Introduction.
static checkShortTitleAvailability($a_short_title)
Check availability of short title.
static _lookupRatingAsBlock($a_wiki_id)
Lookup whether rating side block is activated.
static _lookupStartPage($a_wiki_id)
Lookup start page.
getRatingForNewPages()
Get Enable Rating For New Pages.
getImportantPages()
Get important pages.
update($a_prevent_start_page_creation=false)
update object data
setRatingCategories($a_rating)
Set Enable Rating Categories.
setRatingForNewPages($a_rating)
Set Enable Rating For New Pages.
setLinkMetadataValues($a_val)
Set link md values.
setRating($a_rating)
Set Enable Rating.
getPageToc()
Get page toc.
static _lookupMaxOrdNrImportantPages($a_wiki_id)
Get important pages list.
getUserHTMLExportProgress()
Get user html export progress.
static _lookupRating($a_wiki_id)
Lookup whether rating is activated.
static _lookupImportantPages($a_wiki_id)
Lookup whether important pages are activated.
getRatingCategories()
Get Enable Rating Categories.
setPublicNotes($a_val)
Set public notes.
static _lookup($a_wiki_id, $a_field)
Lookup a data field.
static _getWikiContentSearchInstance($query_parser)
get reference of ilFulltextWikiContentSearch
Class ilObject Basic functions for all objects.
getType()
get object type @access public
ilObject($a_id=0, $a_reference=true)
Constructor @access public.
getRefId()
get reference id @access public
getId()
get object id @access public
static getAllForObject($a_parent_obj_id)
Get all categories for object.
static sortArray($array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
static deleteAllPagesOfWiki($a_wiki_id)
delete wiki page and al related data
static exists($a_wiki_id, $a_title)
Checks whether a page with given title exists.
static getPageIdForTitle($a_wiki_id, $a_title)
Get wiki page object for id and title.
static _wikiPageExists($a_wiki_id, $a_title)
Check whether page exists for wiki or not
static getAllPages($a_wiki_id)
Get all pages of wiki
static lookupTitle($a_page_id)
Checks whether a page with given title exists.
Class manages user html export.
static makeDbTitle($a_par)
Handle page GET parameter.
redirection script todo: (a better solution should control the processing via a xml file)