4 require_once(
"./Services/COPage/classes/class.ilPageContent.php");
30 "str" =>
"Strong",
"emp" =>
"Emph",
"imp" =>
"Important",
"com" =>
"Comment",
31 "quot" =>
"Quotation",
"acc" =>
"Accent",
"code" =>
"Code",
"tex" =>
"Tex",
32 "fn" =>
"Footnote",
"xln" =>
"ExternalLink"
45 $this->pg_obj =& $a_pg_obj;
48 $this->content_obj =& $a_content_obj;
51 $this->hier_id = $a_hier_id;
52 $this->pc_id = $a_pc_id;
54 $this->dom =& $a_pg_obj->getDom();
74 $this->styleid = $a_styleid;
84 return $this->styleid;
94 $this->enable_internal_links = $a_val;
104 return $this->enable_internal_links;
114 $this->enable_keywords = $a_val;
124 return $this->enable_keywords;
134 $this->enable_anchors = $a_val;
144 return $this->enable_anchors;
152 if ((!is_object($this->style) || $this->
getStyleId() != $this->style->getId()) && $this->
getStyleId() > 0)
156 include_once(
"./Services/Style/classes/class.ilObjStyleSheet.php");
172 include_once(
"./Services/Style/classes/class.ilObjStyleSheet.php");
175 if (!is_array($a_type))
177 $a_type = array($a_type);
179 foreach ($a_type as $at)
181 $chars = array_merge($chars, $style->getCharacteristics($at,
true));
183 $new_chars = array();
184 if (is_array($chars))
186 foreach ($chars as $char)
188 if ($this->chars[$char] !=
"")
190 $new_chars[$char] = $this->chars[$char];
194 $new_chars[$char] = $char;
208 $this->chars = $a_chars;
216 return $this->chars ? $this->chars : array();
244 $this->hier_id = $a_hier_id;
254 include_once(
"./Services/COPage/classes/class.ilPageEditorSettings.php");
256 $btpl =
new ilTemplate(
"tpl.bb_menu.html",
true,
true,
"Services/COPage");
264 $btpl->setCurrentBlock(
"bb_ilink_button");
265 $btpl->setVariable(
"BB_LINK_ILINK",
266 $this->ctrl->getLinkTargetByClass(
"ilInternalLinkGUI",
"showLinkHelp"));
267 $btpl->parseCurrentBlock();
270 include_once(
"./Modules/LearningModule/classes/class.ilInternalLinkGUI.php");
271 $btpl->setCurrentBlock(
"int_link_prep");
273 $ilCtrl->getLinkTargetByClass(array(
"ilpageeditorgui",
"ilinternallinkgui"),
274 "",
false,
true,
false)));
275 $btpl->parseCurrentBlock();
281 $btpl->touchBlock(
"bb_kw_button");
282 $btpl->setVariable(
"TXT_KW", $this->lng->txt(
"cont_text_keyword"));
284 if ($this->pg_obj->getParentType() ==
"wpg")
286 $btpl->setCurrentBlock(
"bb_wikilink_button");
287 $btpl->setVariable(
"TXT_WLN2", $lng->txt(
"wiki_wiki_page"));
288 $btpl->parseCurrentBlock();
293 foreach (self::$common_bb_buttons as $c => $st)
297 if ($c !=
"tex" ||
$mathJaxSetting->get(
"enable") || defined(
"URL_TO_LATEX"))
299 $btpl->touchBlock(
"bb_".$c.
"_button");
300 $btpl->setVariable(
"TXT_".strtoupper($c), $this->lng->txt(
"cont_text_".$c));
307 $btpl->touchBlock(
"bb_anc_button");
308 $btpl->setVariable(
"TXT_ANC", $lng->txt(
"cont_anchor").
":");
315 $btpl->setVariable(
"TXT_ILN", $this->lng->txt(
"cont_text_iln"));
318 $btpl->setVariable(
"TXT_BB_TIP", $this->lng->txt(
"cont_bb_tip"));
319 $btpl->setVariable(
"TXT_WLN", $lng->txt(
"wiki_wiki_page"));
321 $btpl->setVariable(
"PAR_TA_NAME", $a_ta_name);
331 $updated = $this->pg_obj->deleteContent($this->hier_id);
340 $this->ctrl->returnToParent($this,
"jump".$this->hier_id);
349 if(!isset(
$_POST[
"target"]))
351 $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
355 if(count(
$_POST[
"target"]) > 1)
357 $this->ilias->raiseError($this->lng->txt(
"only_one_target"),$this->ilias->error_obj->MESSAGE);
360 $a_hid = explode(
":",
$_POST[
"target"][0]);
364 if($this->hier_id == substr($a_hid[0], 0, strlen($this->hier_id)))
366 $this->ilias->raiseError($this->lng->txt(
"cont_target_within_source"),$this->ilias->error_obj->MESSAGE);
370 $curr_node =& $this->pg_obj->getContentNode($a_hid[0], $a_hid[1]);
371 if (is_object($curr_node) && $curr_node->node_name() ==
"FileItem")
373 $this->ilias->raiseError($this->lng->txt(
"cont_operation_not_allowed"),$this->ilias->error_obj->MESSAGE);
377 $first_hier_character = substr($a_hid[0], 0, 1);
378 if ($first_hier_character ==
"c" ||
379 $first_hier_character ==
"r" ||
380 $first_hier_character ==
"i")
382 $a_hid[0] = substr($a_hid[0], 1);
386 $updated = $this->pg_obj->moveContentAfter($this->hier_id, $a_hid[0],
387 $this->content_obj->getPcId(), $a_hid[1]);
397 $this->ctrl->returnToParent($this,
"jump".$this->hier_id);
406 if(!isset(
$_POST[
"target"]))
408 $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
412 if(count(
$_POST[
"target"]) > 1)
414 $this->ilias->raiseError($this->lng->txt(
"only_one_target"),$this->ilias->error_obj->MESSAGE);
417 $a_hid = explode(
":",
$_POST[
"target"][0]);
420 if($this->hier_id == substr($a_hid[0], 0, strlen($this->hier_id)))
422 $this->ilias->raiseError($this->lng->txt(
"cont_target_within_source"),$this->ilias->error_obj->MESSAGE);
426 $curr_node =& $this->pg_obj->getContentNode($a_hid[0], $a_hid[1]);
427 if (is_object($curr_node) && $curr_node->node_name() ==
"FileItem")
429 $this->ilias->raiseError($this->lng->txt(
"cont_operation_not_allowed"),$this->ilias->error_obj->MESSAGE);
433 $first_hier_character = substr($a_hid[0], 0, 1);
434 if ($first_hier_character ==
"c" ||
435 $first_hier_character ==
"r" ||
436 $first_hier_character ==
"i")
438 $a_hid[0] = substr($a_hid[0], 1);
442 $updated = $this->pg_obj->moveContentBefore($this->hier_id, $a_hid[0],
443 $this->content_obj->getPcId(), $a_hid[1]);
452 $this->ctrl->returnToParent($this,
"jump".$this->hier_id);
463 if ($this->pg_obj->getParentType() !=
"lm" &&
464 $this->pg_obj->getParentType() !=
"dbk")
466 $ilErr->raiseError(
"Split method called for wrong parent type (".
467 $this->pg_obj->getParentType().
")", $ilErr->FATAL);
475 $this->ctrl->setParameterByClass(
"illmpageobjectgui",
"obj_id", $lm_page->getId());
476 $this->ctrl->redirectByClass(
"illmpageobjectgui",
"edit");
479 $this->ctrl->returnToParent($this,
"jump".($this->hier_id - 1));
489 if ($this->pg_obj->getParentType() !=
"lm" &&
490 $this->pg_obj->getParentType() !=
"dbk")
492 $ilErr->raiseError(
"Split method called for wrong parent type (".
493 $this->pg_obj->getParentType().
")", $ilErr->FATAL);
503 $this->ctrl->setParameterByClass(
"illmpageobjectgui",
"obj_id", $succ_id);
504 $this->ctrl->redirectByClass(
"illmpageobjectgui",
"edit");
508 $this->ctrl->returnToParent($this,
"jump".($this->hier_id - 1));
516 if(is_array($this->updated))
518 $error_str =
"<b>Validation Error(s):</b><br>";
519 foreach ($this->updated as $error)
521 $err_mess = implode($error,
" - ");
522 if (!is_int(strpos($err_mess,
":0:")))
524 $error_str .= htmlentities($err_mess).
"<br />";
527 $this->tpl->setVariable(
"MESSAGE", $error_str);
529 else if($this->updated !=
"" && $this->updated !==
true)
531 $this->tpl->setVariable(
"MESSAGE",
"<b>Validation Error(s):</b><br />".
532 $this->updated.
"<br />");
541 $this->ctrl->returnToParent($this,
"jump".$this->hier_id);
549 $this->ctrl->returnToParent($this,
"jump".$this->hier_id);
557 $this->ctrl->returnToParent($this,
"jump".$this->hier_id);
568 if ($obj->isEnabled ())
573 $updated = $this->pg_obj->update($this->hier_id);
583 $this->ctrl->returnToParent($this,
"jump".$this->hier_id);
595 $updated = $this->pg_obj->cutContents(array($this->hier_id.
":".$this->pc_id));
606 $this->ctrl->returnToParent($this,
"jump".$this->hier_id);
619 $this->pg_obj->copyContents(array($this->hier_id.
":".$this->pc_id));
621 $this->ctrl->returnToParent($this,
"jump".$this->hier_id);
632 if (is_object($style))
634 $ts = $style->getTemplates($a_type);
638 $options[
"t:".$t[
"id"].
":".$t[
"name"]] = $t[
"name"];