4 include_once(
"./Services/DataSet/classes/class.ilDataSet.php");
32 parent::__construct();
45 return array(
"4.1.0",
"4.3.0",
"4.4.0",
"5.1.0");
56 return "http://www.ilias.de/xml/Modules/Wiki/".$a_entity;
65 protected function getTypes($a_entity, $a_version)
67 if ($a_entity ==
"wiki")
75 "Description" =>
"text",
76 "StartPage" =>
"text",
78 "Introduction" =>
"text",
79 "Rating" =>
"integer");
85 "Description" =>
"text",
86 "StartPage" =>
"text",
88 "Introduction" =>
"text",
89 "Rating" =>
"integer",
90 "PublicNotes" =>
"integer",
92 "PageToc" =>
"integer",
93 "RatingSide" =>
"integer",
94 "RatingNew" =>
"integer",
95 "RatingExt" =>
"integer");
101 "Description" =>
"text",
102 "StartPage" =>
"text",
104 "Introduction" =>
"text",
105 "Rating" =>
"integer",
106 "PublicNotes" =>
"integer",
108 "PageToc" =>
"integer",
109 "RatingSide" =>
"integer",
110 "RatingNew" =>
"integer",
111 "RatingExt" =>
"integer",
112 "RatingOverall" =>
"integer");
118 "Description" =>
"text",
119 "StartPage" =>
"text",
121 "Introduction" =>
"text",
122 "Rating" =>
"integer",
123 "PublicNotes" =>
"integer",
125 "PageToc" =>
"integer",
126 "RatingSide" =>
"integer",
127 "RatingNew" =>
"integer",
128 "RatingExt" =>
"integer",
129 "RatingOverall" =>
"integer",
130 "LinkMdValues" =>
"integer" 135 if ($a_entity ==
"wpg")
143 "WikiId" =>
"integer");
151 "WikiId" =>
"integer",
152 "Blocked" =>
"integer",
153 "Rating" =>
"integer");
157 if ($a_entity ==
"wiki_imp_page")
163 "WikiId" =>
"integer",
164 "PageId" =>
"integer",
166 "Indent" =>
"integer");
178 function readData($a_entity, $a_version, $a_ids, $a_field =
"")
182 if (!is_array($a_ids))
184 $a_ids =
array($a_ids);
187 if ($a_entity ==
"wiki")
193 " startpage start_page, short, rating, introduction".
194 " FROM il_wiki_data JOIN object_data ON (il_wiki_data.id = object_data.obj_id)".
195 " WHERE ".$ilDB->in(
"id", $a_ids,
false,
"integer"));
200 " startpage start_page, short, rating, introduction,".
201 " public_notes, page_toc, rating_side, rating_new, rating_ext".
202 " FROM il_wiki_data JOIN object_data ON (il_wiki_data.id = object_data.obj_id)".
203 " WHERE ".$ilDB->in(
"id", $a_ids,
false,
"integer"));
208 " startpage start_page, short, rating, rating_overall, introduction,".
209 " public_notes, page_toc, rating_side, rating_new, rating_ext".
210 " FROM il_wiki_data JOIN object_data ON (il_wiki_data.id = object_data.obj_id)".
211 " WHERE ".$ilDB->in(
"id", $a_ids,
false,
"integer"));
216 " startpage start_page, short, rating, rating_overall, introduction,".
217 " public_notes, page_toc, rating_side, rating_new, rating_ext, link_md_values".
218 " FROM il_wiki_data JOIN object_data ON (il_wiki_data.id = object_data.obj_id)".
219 " WHERE ".$ilDB->in(
"id", $a_ids,
false,
"integer"));
224 if ($a_entity ==
"wpg")
230 " FROM il_wiki_page".
231 " WHERE ".$ilDB->in(
"wiki_id", $a_ids,
false,
"integer"));
239 " FROM il_wiki_page".
240 " WHERE ".$ilDB->in(
"wiki_id", $a_ids,
false,
"integer"));
245 if ($a_entity ==
"wiki_imp_page")
251 " FROM il_wiki_imp_pages ".
252 " WHERE ".$ilDB->in(
"wiki_id", $a_ids,
false,
"integer"));
267 "wpg" =>
array(
"ids" => $a_rec[
"Id"]),
268 "wiki_imp_page" =>
array(
"ids" => $a_rec[
"Id"])
282 function importRecord($a_entity, $a_types, $a_rec, $a_mapping, $a_schema_version)
291 include_once(
"./Modules/Wiki/classes/class.ilObjWiki.php");
292 if($new_id = $a_mapping->getMapping(
'Services/Container',
'objs',$a_rec[
'Id']))
299 $newObj->setType(
"wiki");
300 $newObj->create(
true);
303 $newObj->setTitle($a_rec[
"Title"]);
304 $newObj->setDescription($a_rec[
"Description"]);
305 $newObj->setShortTitle($a_rec[
"Short"]);
306 $newObj->setStartPage($a_rec[
"StartPage"]);
307 $newObj->setRatingOverall($a_rec[
"RatingOverall"]);
308 $newObj->setRating($a_rec[
"Rating"]);
309 $newObj->setIntroduction($a_rec[
"Introduction"]);
310 $newObj->setPublicNotes($a_rec[
"PublicNotes"]);
313 if(isset($a_rec[
"PageToc"]))
316 $newObj->setPageToc($a_rec[
"PageToc"]);
317 $newObj->setRatingAsBlock($a_rec[
"RatingSide"]);
318 $newObj->setRatingForNewPages($a_rec[
"RatingNew"]);
319 $newObj->setRatingCategories($a_rec[
"RatingExt"]);
321 $newObj->setLinkMetadataValues($a_rec[
"LinkMdValues"]);
323 $newObj->update(
true);
324 $this->current_obj = $newObj;
325 $a_mapping->addMapping(
"Modules/Wiki",
"wiki", $a_rec[
"Id"], $newObj->getId());
326 $a_mapping->addMapping(
"Services/Object",
"obj", $a_rec[
"Id"], $newObj->getId());
327 $a_mapping->addMapping(
"Services/Rating",
"rating_category_parent_id", $a_rec[
"Id"], $newObj->getId());
328 $a_mapping->addMapping(
"Services/AdvancedMetaData",
"parent", $a_rec[
"Id"], $newObj->getId());
332 $wiki_id = $a_mapping->getMapping(
"Modules/Wiki",
"wiki", $a_rec[
"WikiId"]);
333 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
335 $wpage->setWikiId($wiki_id);
336 $wpage->setTitle($a_rec[
"Title"]);
339 if(isset($a_rec[
"Blocked"]))
341 $wpage->setBlocked($a_rec[
"Blocked"]);
342 $wpage->setRating($a_rec[
"Rating"]);
345 $wpage->create(
true);
347 $a_mapping->addMapping(
"Modules/Wiki",
"wpg", $a_rec[
"Id"], $wpage->getId());
348 $a_mapping->addMapping(
"Services/COPage",
"pg",
"wpg:".$a_rec[
"Id"],
"wpg:".$wpage->getId());
349 $a_mapping->addMapping(
"Services/AdvancedMetaData",
"advmd_sub_item",
"advmd:wpg:".$a_rec[
"Id"], $wpage->getId());
352 case "wiki_imp_page":
353 $wiki_id = $a_mapping->getMapping(
"Modules/Wiki",
"wiki", $a_rec[
"WikiId"]);
354 $page_id = $a_mapping->getMapping(
"Modules/Wiki",
"wpg", $a_rec[
"PageId"]);
355 if ($wiki_id > 0 && $page_id > 0 && is_object($this->current_obj) && $this->current_obj->getId() == $wiki_id)
357 $this->current_obj->addImportantPage($page_id, $a_rec[
"Ord"], $a_rec[
"Indent"]);
getDirectDataFromQuery($a_query, $a_convert_to_leading_upper=true, $a_set=true)
Get data from query.This is a standard procedure, all db field names are directly mapped to abstract ...
getSupportedVersions()
Get supported versions.
getXmlNamespace($a_entity, $a_schema_version)
Get xml namespace.
getTypes($a_entity, $a_version)
Get field types for entity.
importRecord($a_entity, $a_types, $a_rec, $a_mapping, $a_schema_version)
Import record.
getDependencies($a_entity, $a_version, $a_rec, $a_ids)
Determine the dependent sets of data.
static getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
Create styles array
The data for the language used.
static getLogger($a_component_id)
Get component logger.
A dataset contains in data in a common structure that can be shared and transformed for different pur...
readData($a_entity, $a_version, $a_ids, $a_field="")
Read data.