4 define(
"IL_PAGE_PRESENTATION",
"presentation");
5 define(
"IL_PAGE_EDIT",
"edit");
6 define(
"IL_PAGE_PREVIEW",
"preview");
7 define(
"IL_PAGE_OFFLINE",
"offline");
8 define(
"IL_PAGE_PRINT",
"print");
10 include_once(
"./Services/COPage/classes/class.ilPageEditorGUI.php");
11 include_once(
"./Services/COPage/classes/class.ilPageObject.php");
12 include_once(
"./Services/Clipboard/classes/class.ilEditClipboardGUI.php");
13 include_once(
"./Services/Utilities/classes/class.ilDOMUtil.php");
136 $a_prevent_get_id =
false,
142 $this->tpl = $DIC[
"tpl"];
143 $this->ctrl = $DIC->ctrl();
144 $this->lng = $DIC->language();
145 $this->tabs_gui = $DIC->tabs();
146 $this->plugin_admin = $DIC[
"ilPluginAdmin"];
147 $this->access = $DIC->access();
148 $this->
user = $DIC->user();
149 $this->help = $DIC[
"ilHelp"];
150 $this->ui = $DIC->ui();
154 if ($a_old_nr == 0 && !$a_prevent_get_id &&
$_GET[
"old_nr"] > 0) {
155 $a_old_nr =
$_GET[
"old_nr"];
159 if ($a_lang ==
"" &&
$_GET[
"transl"] !=
"") {
174 $this->output2template =
true;
175 $this->question_xml =
"";
176 $this->question_html =
"";
178 $this->template_output_var =
"PAGE_CONTENT";
179 $this->change_comments =
false;
180 $this->page_back_title = $this->lng->txt(
"page");
181 $this->lng->loadLanguageModule(
"content");
182 $this->lng->loadLanguageModule(
"copg");
186 $this->ctrl->saveParameter($this,
"transl");
204 include_once(
"./Services/COPage/classes/class.ilPageObjectFactory.php");
221 $this->parent_type = $a_val;
261 $this->old_nr = $a_val;
271 return $this->old_nr;
325 $this->page_config = $a_val;
345 $this->obj = $a_pg_obj;
365 $this->output_mode = $a_mode;
375 $this->output2template = $a_output;
385 $this->presentation_title = $a_title;
395 $this->header = $a_title;
405 $this->link_params = $l_params;
415 $this->link_frame = $l_frame;
420 return $this->link_frame;
425 $this->link_xml = $link_xml;
426 $this->link_xml_set =
true;
431 return $this->link_xml;
436 $this->question_xml = $question_xml;
446 return $this->question_xml;
456 $this->target_var = $a_variable;
466 $this->template_output_var = $a_value;
481 $this->sourcecode_download_script = $script_name;
496 $this->locator = $a_locator;
501 $this->tabs_gui = $a_tabs;
506 $this->page_back_title = $a_title;
516 $this->file_download_link = $a_download_link;
526 return $this->file_download_link;
536 $this->fullscreen_link = $a_fullscreen_link;
546 return $this->fullscreen_link;
551 $this->int_link_return = $a_return;
556 $this->change_comments = $a_enabled;
566 $this->notes_enabled = $a_enabled;
567 $this->notes_parent_id = $a_parent_id;
572 return $this->notes_enabled;
582 $this->offline_directory = $offdir;
592 return $this->offline_directory;
604 $this->view_page_link = $a_link;
605 $this->view_page_target = $a_target;
613 return $this->view_page_link;
621 return $this->view_page_target;
631 return $this->lng->txt(
"cont_presentation_view");
636 $this->act_obj = $a_obj;
637 $this->act_meth = $a_meth;
645 public function setEnabledNews($a_enabled, $a_news_obj_id = 0, $a_news_obj_type = 0)
647 $this->enabled_news = $a_enabled;
648 $this->news_obj_id = $a_news_obj_id;
649 $this->news_obj_type = $a_news_obj_type;
659 return $this->enabled_news;
667 $this->tab_hook = array(
"obj" => $a_object,
"func" => $a_function);
677 $this->editpreview = $a_editpreview;
697 $this->tabs_enabled = $a_enabledtabs;
717 $this->enabledpagefocus = $a_enabledpagefocus;
727 return $this->enabledpagefocus;
738 $this->exp_frame = $a_exp_frame;
739 $this->exp_id = $a_exp_id;
740 $this->exp_target_script = $a_exp_target_script;
750 $this->prependinghtml = $a_prependinghtml;
760 return $this->prependinghtml;
770 $this->enableediting = $a_enableediting;
790 $this->rawpagecontent = $a_rawpagecontent;
810 $this->styleid = $a_styleid;
820 return $this->styleid;
830 $this->compare_mode = $a_val;
850 $this->abstract_only = $a_val;
870 $this->render_page_container = $a_val;
891 return $this->lng->txt(
"inactive");
908 $a_observer_obj = null,
909 $a_observer_func =
"" 911 $this->use_meta_data =
true;
912 $this->meta_data_rep_obj = $a_rep_obj;
913 $this->meta_data_sub_obj_id = $a_sub_obj_id;
914 $this->meta_data_type =
$a_type;
915 $this->meta_data_observer_obj = $a_observer_obj;
916 $this->meta_data_observer_func = $a_observer_func;
928 $file_download_link = $this->ctrl->getLinkTarget($this,
"downloadFile");
930 return $file_download_link;
942 $fullscreen_link = $this->ctrl->getLinkTarget($this,
"displayMediaFullscreen",
"",
false,
false);
944 return $fullscreen_link;
955 if ($this->sourcecode_download_script ==
"" && $this->
getOutputMode() !=
"offline") {
956 $l = $this->ctrl->getLinkTarget($this,
"");
968 $pl_names = $this->plugin_admin->getActivePluginsForSlot(
973 foreach ($pl_names as $pl_name) {
974 $plugin = $this->plugin_admin->getPluginObject(
980 if ($plugin->isValidParentType($this->getPageObject()->getParentType())) {
981 $xml .=
'<ComponentPlugin Name="' . $plugin->getPluginName() .
987 $xml =
"<ComponentPlugins>" .
$xml .
"</ComponentPlugins>";
1000 $this->ctrl->setReturn($this,
"edit");
1002 $next_class = $this->ctrl->getNextClass($this);
1003 $this->log->debug(
"next_class: " . $next_class);
1004 switch ($next_class) {
1005 case 'ilobjectmetadatagui':
1006 $this->tabs_gui->activateTab(
"meta_data");
1007 include_once
'Services/Object/classes/class.ilObjectMetaDataGUI.php';
1008 $md_gui =
new ilObjectMetaDataGUI($this->meta_data_rep_obj, $this->meta_data_type, $this->meta_data_sub_obj_id);
1009 if (is_object($this->meta_data_observer_obj)) {
1010 $md_gui->addMDObserver(
1011 $this->meta_data_observer_obj,
1012 $this->meta_data_observer_func,
1016 $this->ctrl->forwardCommand($md_gui);
1019 case "ileditclipboardgui":
1021 $clip_gui->setPageBackTitle($this->page_back_title);
1022 $ret = $this->ctrl->forwardCommand($clip_gui);
1027 switch (
$_GET[
"notes_mode"]) {
1030 $this->tabs_gui->setTabActive(
"edit");
1035 case 'ilpublicuserprofilegui':
1036 require_once
'./Services/User/classes/class.ilPublicUserProfileGUI.php';
1038 $ret = $this->ctrl->forwardCommand($profile_gui);
1041 case "ilpageeditorgui":
1044 $this->ctrl->redirect($this,
"preview");
1047 $page_editor->setLocator($this->locator);
1048 $page_editor->setHeader($this->
getHeader());
1049 $page_editor->setPageBackTitle($this->page_back_title);
1050 $page_editor->setIntLinkReturn($this->int_link_return);
1052 $ret = $this->ctrl->forwardCommand($page_editor);
1055 case 'ilnewsitemgui':
1056 include_once(
"./Services/News/classes/class.ilNewsItemGUI.php");
1058 $news_item_gui->setEnableEdit(
true);
1059 $news_item_gui->setContextObjId($this->news_obj_id);
1060 $news_item_gui->setContextObjType($this->news_obj_type);
1061 $news_item_gui->setContextSubObjId($this->obj->getId());
1062 $news_item_gui->setContextSubObjType(
"pg");
1064 $ret = $this->ctrl->forwardCommand($news_item_gui);
1068 $ret = $this->ctrl->forwardCommand($profile_gui);
1071 case "ilpropertyformgui":
1072 include_once
'./Services/Form/classes/class.ilPropertyFormGUI.php';
1074 $this->ctrl->forwardCommand(
$form);
1077 case "ilinternallinkgui":
1078 $this->lng->loadLanguageModule(
"content");
1079 require_once(
"./Services/Link/classes/class.ilInternalLinkGUI.php");
1082 $link_gui->filterLinkType(
"PageObject_FAQ");
1083 $link_gui->filterLinkType(
"GlossaryItem");
1084 $link_gui->filterLinkType(
"Media_Media");
1085 $link_gui->filterLinkType(
"Media_FAQ");
1087 $link_gui->setFilterWhiteList(
true);
1088 $this->ctrl->forwardCommand($link_gui);
1091 case "ilquestioneditgui":
1093 include_once(
"./Modules/TestQuestionPool/classes/class.ilQuestionEditGUI.php");
1097 $edit_gui->setSelfAssessmentEditingMode(
true);
1098 $ret = $this->ctrl->forwardCommand($edit_gui);
1099 $this->tpl->setContent(
$ret);
1102 case 'ilassquestionfeedbackeditinggui':
1110 $this->lng->loadLanguageModule(
"assessment");
1113 require_once
'Modules/TestQuestionPool/classes/class.assQuestionGUI.php';
1114 require_once
'Modules/TestQuestionPool/classes/class.assQuestion.php';
1116 $questionGUI->object->setObjId(0);
1117 $questionGUI->object->setSelfAssessmentEditingMode(
true);
1118 $questionGUI->object->setPreventRteUsage($this->
getPageConfig()->getPreventRteUsage());
1121 require_once
'Modules/TestQuestionPool/classes/class.ilAssQuestionFeedbackEditingGUI.php';
1123 $this->ctrl->forwardCommand($gui);
1137 case 'ilLearninghistorygui':
1143 $hist_gui->setUserId($user_id);
1144 $this->ctrl->forwardCommand($hist_gui);
1148 $cmd = $this->ctrl->getCmd(
"preview");
1149 $ret = $this->$cmd();
1164 include_once(
"./Modules/TestQuestionPool/classes/class.assQuestion.php");
1166 $this->tabs_gui->clearTargets();
1168 $this->tabs_gui->setBackTarget(
1169 $this->lng->txt(
"back"),
1170 $this->ctrl->getLinkTarget($this,
"edit")
1173 $this->ctrl->setParameterByClass(
"ilquestioneditgui",
"q_id",
$_GET[
"q_id"]);
1174 $this->tabs_gui->addTab(
1176 $this->lng->txt(
"question"),
1177 $this->ctrl->getLinkTargetByClass(
"ilquestioneditgui",
"editQuestion")
1180 require_once
'Modules/TestQuestionPool/classes/class.ilAssQuestionFeedbackEditingGUI.php';
1181 $this->ctrl->setParameterByClass(
"ilAssQuestionFeedbackEditingGUI",
"q_id",
$_GET[
"q_id"]);
1182 $this->tabs_gui->addTab(
1184 $this->lng->txt(
"feedback"),
1188 $this->tabs_gui->activateTab($a_active);
1205 $this->ctrl->redirect($this,
"edit");
1214 $this->ctrl->redirect($this,
"edit");
1223 include_once(
"./Services/jQuery/classes/class.iljQueryUtil.php");
1229 include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php");
1232 $GLOBALS[
"tpl"]->addJavaScript(
"./Services/COPage/js/ilCOPagePres.js");
1235 include_once(
"./Services/UIComponent/Overlay/classes/class.ilOverlayGUI.php");
1238 include_once(
"./Services/MediaObjects/classes/class.ilPlayerUtil.php");
1245 $this->log->debug(
"ilPageObjectGUI, showPage() in edit mode.");
1248 $tpl =
new ilTemplate(
"tpl.page_edit_wysiwyg.html",
true,
true,
"Services/COPage");
1252 $tpl->setVariable(
"CLASS_PAGE_TD",
"ilc_Page");
1256 $tpl->setCurrentBlock(
"change_comment");
1257 $tpl->setVariable(
"TXT_ADD_COMMENT", $this->lng->txt(
"cont_add_change_comment"));
1258 $tpl->parseCurrentBlock();
1263 $this->ctrl->getFormActionByClass(
"ilpageeditorgui",
"",
"",
true)
1267 $sel_media_mode = ($this->
user->getPref(
"ilPageEditor_MediaMode") ==
"disable")
1270 $sel_html_mode = ($this->
user->getPref(
"ilPageEditor_HTMLMode") ==
"disable")
1273 $sel_js_mode =
"disable";
1283 $tpl->setVariable(
"TXT_CONFIRM_DELETE", $this->lng->txt(
"cont_confirm_delete"));
1287 $this->tabs_gui->addNonTabbedLink(
1299 if ($sel_js_mode ==
"enable") {
1301 include_once(
"./Services/YUI/classes/class.ilYuiUtil.php");
1305 $GLOBALS[
"tpl"]->addJavaScript(
"./Services/COPage/js/ilcopagecallback.js");
1306 $GLOBALS[
"tpl"]->addJavascript(
"Services/COPage/js/page_editing.js");
1308 include_once(
"./Services/UIComponent/Modal/classes/class.ilModalGUI.php");
1310 $this->lng->toJS(
"cont_error");
1311 $this->lng->toJS(
"cont_sel_el_cut_use_paste");
1312 $this->lng->toJS(
"cont_sel_el_copied_use_paste");
1314 include_once
'./Services/Style/Content/classes/class.ilObjStyleSheet.php';
1315 $GLOBALS[
"tpl"]->addOnloadCode(
"var preloader = new Image(); 1316 preloader.src = './templates/default/images/loader.svg'; 1317 ilCOPage.setUser('" . $this->
user->getLogin() .
"'); 1318 ilCOPage.setContentCss('" .
1321 ", ./Services/COPage/css/tiny_extra.css" .
1323 include_once(
"./Services/COPage/classes/class.ilPCParagraphGUI.php");
1325 $GLOBALS[
"tpl"]->addOnloadCode(
"ilCOPage.addTextFormat('" . $c .
"');");
1328 $GLOBALS[
"tpl"]->addJavascript(
"./libs/bower/bower_components/tinymce/tinymce.min.js");
1329 $tpl->touchBlock(
"init_dragging");
1336 $cfg->getEnableInternalLinks(),
1337 $cfg->getEnableWikiLinks(),
1338 $cfg->getEnableKeywords(),
1342 $cfg->getEnableAnchors(),
1344 $cfg->getEnableUserLinks()
1349 include_once(
"./Services/Link/classes/class.ilInternalLinkGUI.php");
1350 $tpl->setCurrentBlock(
"int_link_prep");
1352 $this->ctrl->getLinkTargetByClass(
1353 array(
"ilpageeditorgui",
"ilinternallinkgui"),
1360 $tpl->parseCurrentBlock();
1362 include_once(
"./Services/YUI/classes/class.ilYuiUtil.php");
1364 $GLOBALS[
"tpl"]->addJavaScript(
"./Services/UIComponent/Explorer/js/ilExplorer.js");
1371 $tpl->setCurrentBlock(
"multi_actions");
1372 if ($sel_js_mode ==
"enable") {
1373 $tpl->setVariable(
"ONCLICK_DE_ACTIVATE_SELECTED",
'onclick="return ilEditMultiAction(\'activateSelected\');"');
1374 $tpl->setVariable(
"ONCLICK_DELETE_SELECTED",
'onclick="return ilEditMultiAction(\'deleteSelected\');"');
1375 $tpl->setVariable(
"ONCLICK_ASSIGN_CHARACTERISTIC",
'onclick="return ilEditMultiAction(\'assignCharacteristicForm\');"');
1376 $tpl->setVariable(
"ONCLICK_COPY_SELECTED",
'onclick="return ilEditMultiAction(\'copySelected\');"');
1377 $tpl->setVariable(
"ONCLICK_CUT_SELECTED",
'onclick="return ilEditMultiAction(\'cutSelected\');"');
1378 $tpl->setVariable(
"TXT_SELECT_ALL", $this->lng->txt(
"select_all"));
1379 $tpl->setVariable(
"ONCLICK_SELECT_ALL",
'onclick="return ilEditMultiAction(\'selectAll\');"');
1381 $tpl->setVariable(
"TXT_DE_ACTIVATE_SELECTED", $this->lng->txt(
"cont_ed_enable"));
1382 $tpl->setVariable(
"TXT_ASSIGN_CHARACTERISTIC", $this->lng->txt(
"cont_assign_characteristic"));
1383 $tpl->setVariable(
"TXT_DELETE_SELECTED", $this->lng->txt(
"cont_delete_selected"));
1384 $tpl->setVariable(
"TXT_COPY_SELECTED", $this->lng->txt(
"copy"));
1385 $tpl->setVariable(
"TXT_CUT_SELECTED", $this->lng->txt(
"cut"));
1387 $tpl->parseCurrentBlock();
1392 $tpl =
new ilTemplate(
"tpl.page.html",
true,
true,
"Services/COPage");
1394 $tpl->touchBlock(
"page_focus");
1397 include_once(
"./Services/User/classes/class.ilUserUtil.php");
1401 $tpl->touchBlock(
"page_container_1");
1402 $tpl->touchBlock(
"page_container_2");
1403 $tpl->touchBlock(
"page_container_3");
1413 $this->ctrl->setParameter($this,
"history_mode",
"1");
1416 if (is_array($hist_info[
"previous"])) {
1417 $tpl->setCurrentBlock(
"previous_rev");
1418 $tpl->setVariable(
"TXT_PREV_REV", $this->lng->txt(
"cont_previous_rev"));
1419 $this->ctrl->setParameter($this,
"old_nr", $hist_info[
"previous"][
"nr"]);
1422 $this->ctrl->getLinkTarget($this,
"preview")
1424 $tpl->parseCurrentBlock();
1426 $tpl->setCurrentBlock(
"previous_rev_disabled");
1427 $tpl->setVariable(
"TXT_PREV_REV", $this->lng->txt(
"cont_previous_rev"));
1428 $tpl->parseCurrentBlock();
1432 if ($c_old_nr > 0) {
1433 $tpl->setCurrentBlock(
"next_rev");
1434 $tpl->setVariable(
"TXT_NEXT_REV", $this->lng->txt(
"cont_next_rev"));
1435 $this->ctrl->setParameter($this,
"old_nr", $hist_info[
"next"][
"nr"]);
1438 $this->ctrl->getLinkTarget($this,
"preview")
1440 $tpl->parseCurrentBlock();
1443 $tpl->setCurrentBlock(
"latest_rev");
1444 $tpl->setVariable(
"TXT_LATEST_REV", $this->lng->txt(
"cont_latest_rev"));
1445 $this->ctrl->setParameter($this,
"old_nr",
"");
1448 $this->ctrl->getLinkTarget($this,
"preview")
1450 $tpl->parseCurrentBlock();
1453 $this->ctrl->setParameter($this,
"history_mode",
"");
1456 if ($c_old_nr > 0 && $this->
user->getId() != ANONYMOUS_USER_ID) {
1457 $tpl->setCurrentBlock(
"rollback");
1458 $this->ctrl->setParameter($this,
"old_nr", $c_old_nr);
1461 $this->ctrl->getLinkTarget($this,
"rollbackConfirmation")
1463 $this->ctrl->setParameter($this,
"old_nr",
"");
1466 $this->lng->txt(
"cont_rollback")
1468 $tpl->parseCurrentBlock();
1472 $tpl->setCurrentBlock(
"hist_nav");
1473 $tpl->setVariable(
"TXT_REVISION", $this->lng->txt(
"cont_revision"));
1475 "VAL_REVISION_DATE",
1482 $tpl->parseCurrentBlock();
1489 $tpl->setVariable(
"FORMACTION", $this->ctrl->getFormActionByClass(
"ilpageeditorgui"));
1495 $this->obj->getParentType() .
":pg",
1496 $this->obj->getId(),
1497 $this->obj->getLanguage()
1499 $mob_links = array();
1500 foreach (
$links as $link) {
1501 if ($link[
"type"] ==
"mob") {
1509 if (count($mob_links) > 0) {
1510 $tpl->setCurrentBlock(
"med_link");
1511 $tpl->setVariable(
"TXT_LINKED_MOBS", $this->lng->txt(
"cont_linked_mobs"));
1516 $tpl->setVariable(
"TXT_EDIT_MEDIA", $this->lng->txt(
"cont_edit_mob"));
1517 $tpl->setVariable(
"TXT_COPY_TO_CLIPBOARD", $this->lng->txt(
"cont_copy_to_clipboard"));
1519 $tpl->parseCurrentBlock();
1523 include_once(
"./Services/COPage/classes/class.ilPCContentInclude.php");
1528 if (count($snippets) > 0) {
1529 foreach ($snippets as
$s) {
1530 include_once(
"./Modules/MediaPool/classes/class.ilMediaPoolPage.php");
1533 $tpl->setCurrentBlock(
"med_link");
1534 $tpl->setVariable(
"TXT_CONTENT_SNIPPETS_USED", $this->lng->txt(
"cont_snippets_used"));
1539 $tpl->setVariable(
"TXT_SHOW_INFO", $this->lng->txt(
"cont_show_info"));
1540 $tpl->parseCurrentBlock();
1547 $tpl->setCurrentBlock(
"activation_txt");
1548 $tpl->setVariable(
"TXT_SCHEDULED_ACTIVATION", $this->lng->txt(
"cont_scheduled_activation"));
1567 $tpl->parseCurrentBlock();
1571 if (
$_GET[
"reloadTree"] ==
"y") {
1572 $tpl->setCurrentBlock(
"reload_tree");
1575 $this->ctrl->getLinkTargetByClass(
"ilobjlearningmodulegui",
"explorer",
"",
false,
false)
1577 $tpl->parseCurrentBlock();
1581 $builded = $this->obj->buildDom();
1587 if (!$this->obj->checkPCIds()) {
1588 $this->obj->insertPCIds();
1589 $this->obj->update(
true,
true);
1592 $this->obj->addFileSizes();
1593 $this->obj->addHierIDs();
1595 $hids = $this->obj->getHierIds();
1596 $row1_ids = $this->obj->getFirstRowIds();
1597 $col1_ids = $this->obj->getFirstColumnIds();
1598 $litem_ids = $this->obj->getListItemIds();
1599 $fitem_ids = $this->obj->getFileItemIds();
1602 $hids = $this->obj->getHierIds();
1603 foreach ($hids as $hid) {
1604 $tpl->setCurrentBlock(
"add_dhtml");
1605 $tpl->setVariable(
"CONTEXTMENU",
"contextmenu_" . $hid);
1606 $tpl->parseCurrentBlock();
1610 foreach ($col1_ids as $hid) {
1611 $tpl->setCurrentBlock(
"add_dhtml");
1612 $tpl->setVariable(
"CONTEXTMENU",
"contextmenu_r" . $hid);
1613 $tpl->parseCurrentBlock();
1617 foreach ($row1_ids as $hid) {
1618 $tpl->setCurrentBlock(
"add_dhtml");
1619 $tpl->setVariable(
"CONTEXTMENU",
"contextmenu_c" . $hid);
1620 $tpl->parseCurrentBlock();
1624 foreach ($litem_ids as $hid) {
1625 $tpl->setCurrentBlock(
"add_dhtml");
1626 $tpl->setVariable(
"CONTEXTMENU",
"contextmenu_i" . $hid);
1627 $tpl->parseCurrentBlock();
1631 foreach ($fitem_ids as $hid) {
1632 $tpl->setCurrentBlock(
"add_dhtml");
1633 $tpl->setVariable(
"CONTEXTMENU",
"contextmenu_i" . $hid);
1634 $tpl->parseCurrentBlock();
1637 $this->obj->addFileSizes();
1644 if (!$this->link_xml_set) {
1655 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
1657 $template_xml =
$style->getTemplateXML();
1658 $disable_auto_margins =
"n";
1659 if (
$style->lookupStyleSetting(
"disable_auto_margins")) {
1660 $disable_auto_margins =
"y";
1666 $content =
"<dummy><PageObject><PageContent><Paragraph>" .
1667 $this->obj->getFirstParagraphText() . $link_xml .
1668 "</Paragraph></PageContent></PageObject></dummy>";
1670 $content = $this->obj->getXMLFromDom(
1679 if ($builded !==
true) {
1700 $enlarge_path =
"images/enlarge.svg";
1704 ?
"ilc_PrintPageTitle" 1709 $enable_split_new = ($this->obj->getParentType() ==
"lm")
1715 if (($this->obj->getParentType() ==
"lm") &&
1717 $this->obj->getParentId(),
1720 $enable_split_next =
"y";
1722 $enable_split_next =
"n";
1731 include_once(
"./Services/Accordion/classes/class.ilAccordionGUI.php");
1743 ? $this->
user->getPref(
"ilPageEditor_MediaMode")
1746 include_once(
"./Modules/LearningModule/classes/class.ilEditClipboard.php");
1750 include_once(
"./Services/MediaObjects/classes/class.ilPlayerUtil.php");
1758 $current_ts = time();
1759 include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObject.php");
1762 include_once(
"./Services/Maps/classes/class.ilMapUtil.php");
1763 $params = array(
'mode' => $this->
getOutputMode(),
'pg_title' => htmlentities($pg_title, ENT_QUOTES,
"UTF-8"),
1764 'enable_placeholder' =>
$cfg->getEnablePCType(
"PlaceHolder") ?
"y" :
"n",
1765 'pg_id' => $this->obj->getId(),
'pg_title_class' => $pg_title_class,
1766 'webspace_path' => $wb_path,
'enlarge_path' => $enlarge_path,
1767 'img_col' => $col_path,
1768 'img_row' => $row_path,
1769 'img_cell' => $cell_path,
1770 'img_item' => $item_path,
1772 'enable_split_new' => $enable_split_new,
1773 'enable_split_next' => $enable_split_next,
1775 'file_download_link' => $file_download_link,
1776 'fullscreen_link' => $fullscreen_link,
1777 'img_path' => $img_path,
1778 'parent_id' => $this->obj->getParentId(),
1780 'encoded_download_script' => urlencode($this->sourcecode_download_script),
1781 'enable_rep_objects' =>
$cfg->getEnablePCType(
"Resources") ?
"y" :
"n",
1782 'enable_login_page' =>
$cfg->getEnablePCType(
"LoginPageElement") ?
"y" :
"n",
1784 'enable_tabs' =>
$cfg->getEnablePCType(
"Tabs") ?
"y" :
"n",
1785 'enable_sa_qst' =>
$cfg->getEnableSelfAssessment() ?
"y" :
"n",
1786 'enable_file_list' =>
$cfg->getEnablePCType(
"FileList") ?
"y" :
"n",
1787 'enable_content_includes' =>
$cfg->getEnablePCType(
"ContentInclude") ?
"y" :
"n",
1788 'enable_content_templates' => (count($this->
getPageObject()->getContentTemplates()) > 0) ?
"y" :
"n",
1789 'paste' => $paste ?
"y" :
"n",
1790 'media_mode' => $media_mode,
1791 'javascript' => $sel_js_mode,
1792 'paragraph_plugins' => $paragraph_plugin_string,
1793 'disable_auto_margins' => $disable_auto_margins,
1794 'page_toc' =>
$cfg->getEnablePageToc() ?
"y" :
"n",
1795 'enable_profile' =>
$cfg->getEnablePCType(
"Profile") ?
"y" :
"n",
1796 'enable_verification' =>
$cfg->getEnablePCType(
"Verification") ?
"y" :
"n",
1797 'enable_blog' =>
$cfg->getEnablePCType(
"Blog") ?
"y" :
"n",
1798 'enable_skills' =>
$cfg->getEnablePCType(
"Skills") ?
"y" :
"n",
1799 'enable_learning_history' =>
$cfg->getEnablePCType(
"LearningHistory") ?
"y" :
"n",
1800 'enable_qover' =>
$cfg->getEnablePCType(
"QuestionOverview") ?
"y" :
"n",
1801 'enable_consultation_hours' =>
$cfg->getEnablePCType(
"ConsultationHours") ?
"y" :
"n",
1802 'enable_my_courses' =>
$cfg->getEnablePCType(
"MyCourses") ?
"y" :
"n",
1803 'enable_amd_page_list' =>
$cfg->getEnablePCType(
"AMDPageList") ?
"y" :
"n",
1804 'current_ts' => $current_ts,
1806 'flv_video_player' => $flv_video_player,
1809 if ($this->link_frame !=
"") {
1810 $params[
"pg_frame"] = $this->link_frame;
1818 $params[
"incl_elements_date"] = $this->obj->getLastUpdateOfIncludedElements();
1822 include_once(
"./Services/COPage/classes/class.ilPCSection.php");
1826 $md5 = md5(serialize(
$params) . $link_xml . $template_xml . $md5_adds);
1836 $md5 == $this->obj->getRenderMd5() &&
1837 ($this->obj->getLastChange() < $this->obj->getRenderedTime()) &&
1838 $this->obj->getRenderedTime() !=
"" &&
1839 $this->obj->old_nr == 0) {
1841 $output = $this->obj->getRenderedContent();
1843 $xsl = file_get_contents(
"./Services/COPage/xsl/page.xsl");
1845 $this->log->debug(
"Calling XSLT, content: " . substr($content, 0, 100));
1847 $args = array(
'/_xml' => $content,
'/_xsl' => $xsl );
1849 $output = xslt_process($xh,
"arg:/_xml",
"arg:/_xsl", null, $args,
$params);
1853 $output =
"<pre>".$e->getMessage().
"<br>".htmlentities($content).
"</pre>";
1859 && $this->obj->old_nr == 0) {
1860 $this->obj->writeRenderedContent(
$output, $md5);
1868 $this->
user->getPref(
"ilPageEditor_HTMLMode") !=
"disable")
1876 include_once
'./Services/MathJax/classes/class.ilMathJax.php';
1910 include_once(
"./Services/COPage/classes/class.ilCOPagePCDef.php");
1912 foreach ($defs as
$def) {
1914 $pc_class = $def[
"pc_class"];
1924 $js_files = $pc_obj->getJavascriptFiles($this->
getOutputMode());
1925 foreach ($js_files as
$js) {
1926 $GLOBALS[
"tpl"]->addJavascript($js);
1931 foreach ($css_files as $css) {
1936 $onload_code = $pc_obj->getOnloadCode($this->
getOutputMode());
1937 foreach ($onload_code as
$code) {
1938 $GLOBALS[
"tpl"]->addOnloadCode($code);
1949 if (
$_GET[
"updated_pc_id_str"] !=
"") {
1953 $tpl->setCurrentBlock(
"edit_page");
1954 $tpl->parseCurrentBlock();
1982 while (is_int(
$start = strpos(
$output,
"<!--ParStart-->")) &&
1987 array(
"{",
"}"),
2004 return array(
"deactivatePage" => $this->lng->txt(
"cont_deactivate_page"),
2005 "activatePage" => $this->lng->txt(
"cont_activate_page"));
2011 public function addActionsMenu($a_tpl, $sel_media_mode, $sel_html_mode, $sel_js_mode)
2018 include_once(
"./Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php");
2022 $list->setListTitle($this->lng->txt(
"actions"));
2023 $list->setId(
"copage_act");
2031 $captions[
"deactivatePage"],
2033 $this->ctrl->getLinkTarget($this,
"deactivatePage")
2037 $captions[
"activatePage"],
2039 $this->ctrl->getLinkTarget($this,
"activatePage")
2043 $a_tpl->setVariable(
"PAGE_ACTIONS",
$list->getHTML());
2050 $this->lng->txt(
"cont_initial_attached_content"),
2052 $this->ctrl->getLinkTarget($this,
"initialOpenedContent")
2062 $items =
$list->getItems();
2063 if (count($items) > 1) {
2064 $a_tpl->setVariable(
"PAGE_ACTIONS",
$list->getHTML());
2065 } elseif (count($items) == 1) {
2066 $b =
$ui->factory()->button()->standard($items[0][
"title"], $items[0][
"link"]);
2067 $a_tpl->setVariable(
"PAGE_ACTIONS",
$ui->renderer()->render($b));
2071 $this->lng->loadLanguageModule(
"content");
2073 $list->setListTitle($this->lng->txt(
"cont_edit_mode"));
2074 $list->setId(
"copage_ed_mode");
2077 if ($sel_media_mode ==
"enable") {
2078 $this->ctrl->setParameter($this,
"media_mode",
"disable");
2080 $this->lng->txt(
"cont_deactivate_media"),
2082 $this->ctrl->getLinkTarget($this,
"setEditMode")
2085 $this->ctrl->setParameter($this,
"media_mode",
"enable");
2087 $this->lng->txt(
"cont_activate_media"),
2089 $this->ctrl->getLinkTarget($this,
"setEditMode")
2092 $this->ctrl->setParameter($this,
"media_mode",
"");
2096 if ($sel_html_mode ==
"enable") {
2097 $this->ctrl->setParameter($this,
"html_mode",
"disable");
2099 $this->lng->txt(
"cont_deactivate_html"),
2101 $this->ctrl->getLinkTarget($this,
"setEditMode")
2104 $this->ctrl->setParameter($this,
"html_mode",
"enable");
2106 $this->lng->txt(
"cont_activate_html"),
2108 $this->ctrl->getLinkTarget($this,
"setEditMode")
2112 $this->ctrl->setParameter($this,
"html_mode",
"");
2115 if ($sel_js_mode ==
"enable") {
2116 $this->ctrl->setParameter($this,
"js_mode",
"disable");
2118 $this->lng->txt(
"cont_deactivate_js"),
2120 $this->ctrl->getLinkTarget($this,
"setEditMode")
2123 $this->ctrl->setParameter($this,
"js_mode",
"enable");
2125 $this->lng->txt(
"cont_activate_js"),
2127 $this->ctrl->getLinkTarget($this,
"setEditMode")
2130 $this->ctrl->setParameter($this,
"js_mode",
"");
2132 $a_tpl->setVariable(
"EDIT_MODE",
$list->getHTML());
2148 if (
$cfg->getMultiLangSupport()) {
2153 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
2156 if (!$ot->getContentActivated()) {
2165 $this->lng->loadLanguageModule(
"meta");
2168 $l = $ot->getMasterLanguage();
2170 $this->lng->txt(
"cont_edit_language_version") .
": " .
2171 $this->lng->txt(
"meta_l_" .
$l),
2173 $this->ctrl->getLinkTarget($this,
"editMasterLanguage")
2177 foreach ($ot->getLanguages() as $al =>
$lang) {
2179 $al != $ot->getMasterLanguage()) {
2180 $this->ctrl->setParameter($this,
"totransl", $al);
2182 $this->lng->txt(
"cont_edit_language_version") .
": " .
2183 $this->lng->txt(
"meta_l_" . $al),
2185 $this->ctrl->getLinkTarget($this,
"switchToLanguage")
2187 $this->ctrl->setParameter($this,
"totransl",
$_GET[
"totransl"]);
2197 include_once(
"./Services/COPage/classes/class.ilPageMultiLangGUI.php");
2202 $a_tpl->setVariable(
"MULTI_LANG_INFO", $ml_gui->getMultiLangInfo($this->getPageObject()->getLanguage()));
2217 if (
$_GET[
"media_mode"] !=
"") {
2218 if (
$_GET[
"media_mode"] ==
"disable") {
2219 $this->
user->writePref(
"ilPageEditor_MediaMode",
"disable");
2221 $this->
user->writePref(
"ilPageEditor_MediaMode",
"");
2224 if (
$_GET[
"html_mode"] !=
"") {
2225 if (
$_GET[
"html_mode"] ==
"disable") {
2226 $this->
user->writePref(
"ilPageEditor_HTMLMode",
"disable");
2228 $this->
user->writePref(
"ilPageEditor_HTMLMode",
"");
2231 if (
$_GET[
"js_mode"] !=
"") {
2232 if (
$_GET[
"js_mode"] ==
"disable") {
2233 $this->
user->writePref(
"ilPageEditor_JavaScript",
"disable");
2235 $this->
user->writePref(
"ilPageEditor_JavaScript",
"");
2239 $this->ctrl->redirect($this,
"edit");
2248 $a_int_links =
false,
2249 $a_wiki_links =
false,
2250 $a_keywords =
false,
2252 $a_paragraph_styles =
true,
2253 $a_save_return =
true,
2256 $a_user_links =
false 2260 $lng = $DIC->language();
2261 $ctrl = $DIC->ctrl();
2265 include_once(
"./Services/COPage/classes/class.ilPageEditorSettings.php");
2267 include_once(
"./Services/UIComponent/Tooltip/classes/class.ilTooltipGUI.php");
2269 $btpl =
new ilTemplate(
"tpl.tiny_menu.html",
true,
true,
"Services/COPage");
2273 $btpl->touchBlock(
"debug_ghost");
2277 $btpl->touchBlock(
"blist_button");
2280 $lng->txt(
"cont_blist"),
2285 $btpl->touchBlock(
"nlist_button");
2288 $lng->txt(
"cont_nlist"),
2293 $btpl->touchBlock(
"list_indent");
2296 $lng->txt(
"cont_list_indent"),
2301 $btpl->touchBlock(
"list_outdent");
2304 $lng->txt(
"cont_list_outdent"),
2309 $btpl->touchBlock(
"bb_ilink_button");
2311 "iosEditInternalLinkTrigger",
2312 $lng->txt(
"cont_link_to_internal"),
2318 $lng->txt(
"cont_link_to_external"),
2322 if ($a_user_links) {
2323 $btpl->touchBlock(
"bb_ulink_button");
2327 $btpl->touchBlock(
"rformat_button");
2330 $lng->txt(
"cont_remove_format"),
2334 if ($a_paragraph_styles) {
2336 $btpl->setCurrentBlock(
"new_par");
2337 $btpl->setVariable(
"IMG_NEWPAR",
"+");
2338 $btpl->parseCurrentBlock();
2341 $lng->txt(
"cont_insert_new_paragraph"),
2345 $btpl->setCurrentBlock(
"par_edit");
2346 $btpl->setVariable(
"TXT_PAR_FORMAT",
$lng->txt(
"cont_par_format"));
2347 include_once(
"./Services/COPage/classes/class.ilPCParagraphGUI.php");
2355 "ilAdvSelListAnchorText_style_selection",
2356 $lng->txt(
"cont_paragraph_styles"),
2360 $btpl->parseCurrentBlock();
2364 $btpl->setCurrentBlock(
"bb_kw_button");
2365 $btpl->setVariable(
"CC_KW",
"kw");
2366 $btpl->parseCurrentBlock();
2369 $lng->txt(
"cont_text_keyword"),
2374 if ($a_wiki_links) {
2375 $btpl->setCurrentBlock(
"bb_wikilink_button2");
2376 $btpl->setVariable(
"TXT_WIKI_BUTTON2",
$lng->txt(
"obj_wiki"));
2377 $btpl->setVariable(
"WIKI_BUTTON2_URL",
$ctrl->getLinkTargetByClass(
"ilwikipagegui",
""));
2378 $btpl->parseCurrentBlock();
2381 $lng->txt(
"cont_wiki_link_dialog"),
2385 $btpl->setCurrentBlock(
"bb_wikilink_button");
2386 $btpl->setVariable(
"TXT_WLN2",
$lng->txt(
"obj_wiki"));
2387 $btpl->parseCurrentBlock();
2390 $lng->txt(
"cont_link_to_wiki"),
2397 include_once(
"./Services/COPage/classes/class.ilPageContentGUI.php");
2400 if (in_array(
$c, array(
"com",
"quot",
"acc",
"code"))) {
2409 if ($aset->get(
"use_physical")) {
2410 $cc_code = str_replace(array(
"str",
"emp",
"imp"), array(
"B",
"I",
"U"), $cc_code);
2414 $btpl->setCurrentBlock(
"bb_" .
$c .
"_button");
2415 $btpl->setVariable(
"CC_" . strtoupper(
$c), $cc_code);
2416 $btpl->parseCurrentBlock();
2419 $lng->txt(
"cont_cc_" .
$c),
2431 $lng->txt(
"cont_tex"),
2437 $lng->txt(
"cont_fn"),
2441 include_once(
"./Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php");
2443 $sdd->setPullRight(
false);
2444 $sdd->setListTitle(
$lng->txt(
"save") .
"...");
2446 if ($a_save_return) {
2447 $btpl->setCurrentBlock(
"save_return");
2448 $btpl->setVariable(
"TXT_SAVE_RETURN",
$lng->txt(
"save_return"));
2449 $btpl->parseCurrentBlock();
2450 $sdd->addItem(
$lng->txt(
"save_return"),
"",
"#",
"",
"",
"",
"",
"",
"ilCOPage.cmdSaveReturn(false); return false;");
2454 $btpl->setCurrentBlock(
"save_new");
2455 $btpl->setVariable(
"TXT_SAVE_NEW",
$lng->txt(
"save_new"));
2456 $btpl->parseCurrentBlock();
2457 $sdd->addItem(
$lng->txt(
"save_new"),
"",
"#",
"",
"",
"",
"",
"",
"ilCOPage.cmdSaveReturn(true); return false;");
2460 $sdd->addItem(
$lng->txt(
"save"),
"",
"#",
"",
"",
"",
"",
"",
"ilCOPage.cmdSave(null); return false;");
2461 $sdd->addItem(
$lng->txt(
"cancel"),
"",
"#",
"",
"",
"",
"",
"",
"ilCOPage.cmdCancel(); return false;");
2464 $btpl->setCurrentBlock(
"bb_anc_button");
2465 $btpl->setVariable(
"CC_ANC",
"anc");
2466 $btpl->parseCurrentBlock();
2469 $lng->txt(
"cont_anchor"),
2474 $btpl->setVariable(
"SAVE_DROPDOWN", $sdd->getHTML());
2483 $btpl->setVariable(
"TXT_SAVE",
$lng->txt(
"save"));
2484 $btpl->setVariable(
"TXT_CANCEL",
$lng->txt(
"cancel"));
2486 $btpl->setVariable(
"TXT_CHAR_FORMAT",
$lng->txt(
"cont_char_format"));
2487 $btpl->setVariable(
"TXT_LISTS",
$lng->txt(
"cont_lists"));
2488 $btpl->setVariable(
"TXT_LINKS",
$lng->txt(
"cont_links"));
2489 $btpl->setVariable(
"TXT_MORE_FUNCTIONS",
$lng->txt(
"cont_more_functions"));
2490 $btpl->setVariable(
"TXT_SAVING",
$lng->txt(
"cont_saving"));
2492 include_once(
"./Services/COPage/classes/class.ilPCParagraphGUI.php");
2496 "ilAdvSelListAnchorElement_char_style_selection",
2497 $lng->txt(
"cont_more_character_styles"),
2501 return $btpl->get();
2511 $link_info =
"<IntLinkInfos>";
2512 $targetframe =
"None";
2513 foreach ($int_links as $int_link) {
2514 $target = $int_link[
"Target"];
2515 if (substr(
$target, 0, 4) ==
"il__") {
2518 $type = $int_link[
"Type"];
2520 $targetframe = ($int_link[
"TargetFrame"] !=
"")
2521 ? $int_link[
"TargetFrame"]
2525 if ($targetframe !=
"None") {
2526 $ltarget =
"_blank";
2530 $anc = $anc_add =
"";
2531 if ($int_link[
"Anchor"] !=
"") {
2532 $anc = $int_link[
"Anchor"];
2533 $anc_add =
"_" . rawurlencode($int_link[
"Anchor"]);
2540 case "StructureObject":
2542 if (
$type ==
"PageObject") {
2543 $href =
"./goto.php?target=pg_" .
$target_id . $anc_add;
2545 $href =
"./goto.php?target=st_" .
$target_id;
2552 case "GlossaryItem":
2553 if ($targetframe ==
"None") {
2554 $targetframe =
"Glossary";
2556 $href =
"./goto.php?target=git_" .
$target_id;
2560 $this->ctrl->setParameter($this,
"mob_id",
$target_id);
2562 $href = $this->ctrl->getLinkTarget($this,
"displayMedia");
2563 $this->ctrl->setParameter($this,
"mob_id",
"");
2567 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
2571 case "PortfolioPage":
2572 include_once(
"./Modules/Portfolio/classes/class.ilPortfolioPage.php");
2576 case "RepositoryItem":
2579 $href =
"./goto.php?target=" . $obj_type .
"_" .
$target_id;
2584 if ($obj_type ==
"usr") {
2585 include_once(
"./Services/User/classes/class.ilUserUtil.php");
2588 $this->ctrl->setParameterByClass(
"ilpublicuserprofilegui",
"user_id",
$target_id);
2589 if (strlen($back)) {
2590 $this->ctrl->setParameterByClass(
2591 "ilpublicuserprofilegui",
2597 include_once(
"./Services/User/classes/class.ilUserUtil.php");
2599 $href = $this->ctrl->getLinkTargetByClass([
"ilpersonaldesktopgui",
"ilpublicuserprofilegui"],
"getHTML");
2601 $this->ctrl->setParameterByClass(
"ilpublicuserprofilegui",
"user_id",
"");
2603 $lcontent = str_replace(
"&",
"&", htmlentities($lcontent));
2609 $anc_par =
'Anchor="' . $anc .
'"';
2610 $link_info .=
"<IntLinkInfo Target=\"$target\" Type=\"$type\" " . $anc_par .
" " .
2611 "TargetFrame=\"$targetframe\" LinkHref=\"$href\" LinkTarget=\"$ltarget\" LinkContent=\"$lcontent\" />";
2615 $link_info .=
"</IntLinkInfos>";
2624 return $this->ctrl->getLinkTargetByClass(strtolower(get_class($this)),
"preview");
2633 $download_ok =
false;
2635 require_once(
"./Modules/File/classes/class.ilObjFile.php");
2637 $pg_obj->buildDom();
2638 $int_links = $pg_obj->getInternalLinks();
2639 foreach ($int_links as $il) {
2640 if ($il[
"Target"] == str_replace(
"_file_",
"_dfile_",
$_GET[
"file_id"])) {
2641 $file = explode(
"_",
$_GET[
"file_id"]);
2642 $file_id = (int) $file[count($file) - 1];
2643 $download_ok =
true;
2646 if (in_array(
$_GET[
"file_id"], $pg_obj->getAllFileObjIds())) {
2647 $file = explode(
"_",
$_GET[
"file_id"]);
2648 $file_id = (int) $file[count($file) - 1];
2649 $download_ok =
true;
2653 foreach ($pcs as $pc) {
2655 $file = explode(
"_",
$_GET[
"file_id"]);
2656 $file_id = (int) $file[count($file) - 1];
2657 if (in_array($file_id,
$files)) {
2658 $download_ok =
true;
2663 $fileObj =
new ilObjFile($file_id,
false);
2664 $fileObj->sendFile();
2684 $tpl =
new ilTemplate(
"tpl.fullscreen.html",
true,
true,
"Modules/LearningModule");
2685 $tpl->setCurrentBlock(
"ilMedia");
2693 require_once(
"./Services/MediaObjects/classes/class.ilObjMediaObject.php");
2695 require_once(
"./Services/COPage/classes/class.ilPageObject.php");
2697 $pg_obj->buildDom();
2699 if (!empty(
$_GET[
"pg_id"])) {
2701 $xml .= $pg_obj->getMediaAliasElement(
$_GET[
"mob_id"]);
2713 $xsl = file_get_contents(
"./Services/COPage/xsl/page.xsl");
2714 $args = array(
'/_xml' =>
$xml,
'/_xsl' => $xsl );
2718 if ($a_fullscreen) {
2719 $mode =
"fullscreen";
2726 $params = array(
'mode' => $mode,
'enlarge_path' => $enlarge_path,
2727 'link_params' =>
"ref_id=" .
$_GET[
"ref_id"],
'fullscreen_link' =>
"",
2728 'ref_id' =>
$_GET[
"ref_id"],
'webspace_path' => $wb_path);
2729 $output = xslt_process($xh,
"arg:/_xml",
"arg:/_xsl", null, $args,
$params);
2735 require_once(
'./Services/Style/Content/classes/class.ilObjStyleSheet.php');
2737 "LOCATION_CONTENT_STYLESHEET",
2744 include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php");
2746 $tpl->fillJavaScriptFiles();
2747 $tpl->fillCssFiles();
2759 $pg_obj->send_paragraph(
$_GET[
"par_id"],
$_GET[
"downloadtitle"]);
2770 include_once(
"./Services/Utilities/classes/class.ilStr.php");
2774 $page_heads = array();
2775 foreach ($offsets as $os) {
2776 $level = (int) substr($a_output, $os + 10, 1);
2777 if (in_array($level, array(1,2,3))) {
2778 $anchor = str_replace(
2781 substr($a_output, $os, strpos($a_output,
"<", $os) - $os - 4)
2785 $tag_start = stripos($a_output,
"<h" . $level .
" ", $os);
2786 $tag_end = stripos($a_output,
"</h" . $level .
">", $tag_start);
2787 $head = substr($a_output, $tag_start, $tag_end - $tag_start);
2790 $text_start = stripos($head,
">") + 1;
2791 $text_end = strripos($head,
"<!--", $text_start);
2792 $text = substr($head, $text_start, $text_end - $text_start);
2793 $page_heads[] = array(
"level" => $level,
"text" =>
$text,
2794 "anchor" => $anchor);
2798 if (count($page_heads) > 1) {
2799 include_once(
"./Services/UIComponent/NestedList/classes/class.ilNestedList.php");
2801 $list->setAutoNumbering(
true);
2802 $list->setListClass(
"ilc_page_toc_PageTOCList");
2803 $list->setItemClass(
"ilc_page_toc_PageTOCItem");
2811 foreach ($page_heads as $ind =>
$h) {
2817 if (
$h[
"level"] == 2 && $c_par[1] > 0) {
2820 if (
$h[
"level"] == 3 && $c_par[2] > 0) {
2824 $h[
"text"] = str_replace(
"<!--PageTocPH-->",
"",
$h[
"text"]);
2828 "<a href='#" .
$h[
"anchor"] .
"' class='ilc_page_toc_PageTOCLink'>" .
$h[
"text"] .
"</a>",
2834 if ($h[
"level"] == 1) {
2838 if ($h[
"level"] == 2) {
2844 "tpl.page_toc.html",
2849 $tpl->setVariable(
"PAGE_TOC",
$list->getHTML());
2850 $tpl->setVariable(
"TXT_PAGE_TOC", $this->lng->txt(
"cont_page_toc"));
2851 $tpl->setVariable(
"TXT_HIDE", $this->lng->txt(
"hide"));
2852 $tpl->setVariable(
"TXT_SHOW", $this->lng->txt(
"show"));
2854 $a_output = str_replace(
2855 "{{{{{PageTOC}}}}}",
2859 $numbers =
$list->getNumbers();
2861 if (count($numbers) > 0) {
2862 include_once(
"./Services/Utilities/classes/class.ilStr.php");
2863 foreach ($numbers as
$n) {
2869 $a_output = str_replace(
2870 "{{{{{PageTOC}}}}}",
2891 include_once(
"./Services/COPage/classes/class.ilPCResourcesGUI.php");
2908 $a_output = str_replace(
2909 "{{{{{LV_show_adv}}}}}",
2910 $this->lng->txt(
"cont_show_adv"),
2913 $a_output = str_replace(
2914 "{{{{{LV_hide_adv}}}}}",
2915 $this->lng->txt(
"cont_hide_adv"),
2919 $a_output = str_replace(
2920 "{{{{{LV_show_adv}}}}}",
2924 $a_output = str_replace(
2925 "{{{{{LV_hide_adv}}}}}",
2949 $a_tpl->setCurrentBlock(
"help");
2950 $a_tpl->setVariable(
"TXT_ADD_EL", $this->lng->txt(
"cont_add_elements"));
2951 include_once(
"./Services/UIComponent/Glyph/classes/class.ilGlyphGUI.php");
2954 $a_tpl->setVariable(
"TXT_DRAG", $this->lng->txt(
"cont_drag_and_drop_elements"));
2955 $a_tpl->setVariable(
"TXT_SEL", $this->lng->txt(
"cont_double_click_to_delete"));
2956 $a_tpl->parseCurrentBlock();
2984 $this->ctrl->redirect($this,
"preview");
2989 if ($ptype ==
"cont" &&
$_GET[
"ref_id"] > 0) {
2992 $this->help->setScreenId(
"edit_" . $ptype);
2994 require_once
'Services/Captcha/classes/class.ilCaptchaUtil.php';
2996 $this->
user->isAnonymous() &&
2997 !$this->
user->isCaptchaVerified() &&
2998 ilCaptchaUtil::isActiveForWiki()
3001 if (
$_POST[
'captcha_code'] &&
$form->checkInput()) {
3002 $this->
user->setCaptchaVerified(
true);
3004 return $form->getHTML();
3010 include_once(
"./Services/User/classes/class.ilUserUtil.php");
3011 $info = $this->lng->txt(
"content_no_edit_lock");
3013 $info .=
"</br>" . $this->lng->txt(
"content_until") .
": " .
3015 $info .=
"</br>" . $this->lng->txt(
"obj_usr") .
": " .
3017 if (!$this->ctrl->isAsynch()) {
3025 if ($this->
getPageObject()->getEffectiveEditLockTime() > 0) {
3038 return $mess .
$html;
3052 $info = $this->lng->txt(
"cont_got_lock_release");
3055 $mbox =
$ui->factory()->messageBox()->info(
$info)
3056 ->withButtons([
$ui->factory()->button()->standard(
$lng->txt(
"cont_finish_editing"),
$ctrl->getLinkTarget($this,
"releasePageLock"))]);
3058 return $ui->renderer()->render($mbox);
3072 if (
$_GET[
"pl_hier_id"] ==
"") {
3073 $this->obj->buildDom();
3074 $this->obj->addHierIDs();
3075 $hid = $this->obj->getHierIdsForPCIds(array(
$_GET[
"pl_pc_id"]));
3076 $_GET[
"pl_hier_id"] = $hid[
$_GET[
"pl_pc_id"]];
3083 $tpl->addOnLoadCode(
"ilCOPage.insertJSAtPlaceholder('" .
3084 $_GET[
"pl_hier_id"] .
":" .
$_GET[
"pl_pc_id"] .
3095 require_once
'Services/Form/classes/class.ilPropertyFormGUI.php';
3098 require_once
'Services/Captcha/classes/class.ilCaptchaInputGUI.php';
3099 $ci =
new ilCaptchaInputGUI($this->lng->txt(
'cont_captcha_code'),
'captcha_code');
3101 $form->addItem($ci);
3103 $form->addCommandButton(
'edit', $this->lng->txt(
'ok'));
3105 $form->setTitle($this->lng->txt(
'cont_captcha_verification'));
3106 $form->setFormAction($this->ctrl->getFormAction($this));
3132 $this->tpl =
new ilTemplate(
"tpl.fullscreen.html",
true,
true,
"Services/COPage");
3133 $this->tpl->setCurrentBlock(
"ContentStyle");
3134 $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET", 0);
3135 $this->tpl->parseCurrentBlock();
3139 $this->tpl->setCurrentBlock(
"ilMedia");
3141 require_once(
"./Services/MediaObjects/classes/class.ilObjMediaObject.php");
3143 if (!empty(
$_GET[
"pg_id"])) {
3144 include_once(
"./Services/COPage/classes/class.ilPageObjectFactory.php");
3146 $pg_obj->buildDom();
3151 $xml .= $pg_obj->getMediaAliasElement(
$_GET[
"mob_id"]);
3163 $xsl = file_get_contents(
"./Services/COPage/xsl/page.xsl");
3164 $args = array(
'/_xml' =>
$xml,
'/_xsl' => $xsl );
3171 $mode =
"fullscreen";
3172 $params = array(
'mode' => $mode,
'webspace_path' => $wb_path);
3173 $output = xslt_process($xh,
"arg:/_xml",
"arg:/_xsl", null, $args,
$params);
3178 $this->tpl->setVariable(
"MEDIA_CONTENT",
$output);
3188 if (is_array($a_error)) {
3189 $error_str =
"<b>Error(s):</b><br>";
3190 foreach ($a_error as $error) {
3191 $err_mess = implode($error,
" - ");
3192 if (!is_int(strpos($err_mess,
":0:"))) {
3193 $error_str .= htmlentities($err_mess) .
"<br />";
3196 $this->tpl->setVariable(
"MESSAGE", $error_str);
3209 $this->tpl->addJavaScript(
"./Services/COPage/js/page_history.js");
3211 include_once(
"./Services/COPage/classes/class.ilPageHistoryTableGUI.php");
3213 $table_gui->setId(
"hist_table");
3220 'sortkey' => 999999,
3222 $table_gui->setData($entries);
3223 return $table_gui->getHTML();
3235 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
3239 $this->ctrl->setParameter($this,
"rollback_nr",
$_GET[
"old_nr"]);
3240 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"rollback"));
3241 $c_gui->setHeaderText($this->lng->txt(
"cont_rollback_confirmation"));
3242 $c_gui->setCancel($this->lng->txt(
"cancel"),
"history");
3243 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"rollback");
3245 $hentry = $this->obj->getHistoryEntry(
$_GET[
"old_nr"]);
3253 $this->tpl->setContent($c_gui->getHTML());
3265 $hentry = $this->obj->getHistoryEntry(
$_GET[
"rollback_nr"]);
3267 if ($hentry[
"content"] !=
"") {
3268 $this->obj->setXMLContent($hentry[
"content"]);
3269 $this->obj->buildDom(
true);
3270 if ($this->obj->update()) {
3271 $this->ctrl->redirect($this,
"history");
3274 $this->ctrl->redirect($this,
"history");
3285 $this->help->setScreenIdComponent(
"copg");
3303 $this->tabs_gui->addTarget(
"pg", $this->ctrl->getLinkTarget($this,
"preview"), array(
"",
"preview"));
3306 $this->tabs_gui->addTarget(
"edit", $this->ctrl->getLinkTarget($this,
"edit"), array(
"",
"edit"));
3310 $this->tabs_gui->addTarget(
"edit", $this->ctrl->getLinkTarget($this,
"edit"), array(
"",
"edit"));
3313 $this->tabs_gui->addTarget(
"cont_preview", $this->ctrl->getLinkTarget($this,
"preview"), array(
"",
"preview"));
3319 if ($this->use_meta_data) {
3320 include_once
"Services/Object/classes/class.ilObjectMetaDataGUI.php";
3322 $this->meta_data_rep_obj,
3323 $this->meta_data_type,
3324 $this->meta_data_sub_obj_id
3326 $mdtab = $mdgui->getTab();
3328 $this->tabs_gui->addTarget(
3332 "ilobjectmetadatagui" 3340 $this->tabs_gui->addTarget(
"history", $this->ctrl->getLinkTarget($this,
"history"),
"history", get_class($this));
3341 if (
$_GET[
"history_mode"] ==
"1" || $this->ctrl->getCmd() ==
"compareVersion") {
3342 $this->tabs_gui->activateTab(
"history");
3354 $this->tabs_gui->addTarget(
"clipboard", $this->ctrl->getLinkTargetByClass(array(get_class($this),
"ilEditClipboardGUI"),
"view"),
"view",
"ilEditClipboardGUI");
3357 if ($this->
getPageConfig()->getEnableScheduledActivation()) {
3358 $this->tabs_gui->addTarget(
3360 $this->ctrl->getLinkTarget($this,
"editActivation"),
3367 $this->tabs_gui->addTarget(
3369 $this->ctrl->getLinkTargetByClass(
"ilnewsitemgui",
"editNews"),
3376 if (is_array($this->tab_hook)) {
3377 $func = $this->tab_hook[
"func"];
3378 $this->tab_hook[
"obj"]->$func();
3392 $tpl =
new ilTemplate(
"tpl.page_compare.html",
true,
true,
"Services/COPage");
3393 $compare = $this->obj->compareVersion((
int)
$_POST[
"left"], (
int) $_POST[
"right"]);
3396 $lpage = $compare[
"l_page"];
3398 $cfg->setPreventHTMLUnmasking(
true);
3407 $lhtml = str_replace(
"<br />",
"<br />", $lhtml);
3408 $tpl->setVariable(
"LEFT", $lhtml);
3411 $rpage = $compare[
"r_page"];
3419 $rhtml = str_replace(
"<br />",
"<br />", $rhtml);
3420 $tpl->setVariable(
"RIGHT", $rhtml);
3422 $tpl->setVariable(
"TXT_NEW", $this->lng->txt(
"cont_pc_new"));
3423 $tpl->setVariable(
"TXT_MODIFIED", $this->lng->txt(
"cont_pc_modified"));
3424 $tpl->setVariable(
"TXT_DELETED", $this->lng->txt(
"cont_pc_deleted"));
3434 $a_html = str_replace(
"[ilDiffInsStart]",
'<span class="ilDiffIns">', $a_html);
3435 $a_html = str_replace(
"[ilDiffDelStart]",
'<span class="ilDiffDel">', $a_html);
3436 $a_html = str_replace(
"[ilDiffInsEnd]",
'</span>', $a_html);
3437 $a_html = str_replace(
"[ilDiffDelEnd]",
'</span>', $a_html);
3447 $atpl =
new ilTemplate(
"tpl.page_activation.php",
true,
true,
"Services/COPage");
3450 $atpl->setVariable(
"FORM", $this->form->getHTML());
3451 $atpl->setCurrentBlock(
"updater");
3452 $atpl->setVariable(
"UPDATER_FRAME", $this->exp_frame);
3453 $atpl->setVariable(
"EXP_ID_UPDATER", $this->exp_id);
3454 $atpl->setVariable(
"HREF_UPDATER", $this->exp_target_script);
3455 $atpl->parseCurrentBlock();
3456 $this->tpl->setContent($atpl->get());
3464 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
3466 $this->form->setFormAction($this->ctrl->getFormAction($this));
3467 $this->form->setTitle($this->lng->txt(
"cont_page_activation"));
3471 $rad_op1 =
new ilRadioOption($this->lng->txt(
"cont_activated"),
"activated");
3473 $rad->addOption($rad_op1);
3474 $rad_op2 =
new ilRadioOption($this->lng->txt(
"cont_deactivated"),
"deactivated");
3475 $rad->addOption($rad_op2);
3476 $rad_op3 =
new ilRadioOption($this->lng->txt(
"cont_scheduled_activation"),
"scheduled");
3479 $dt_prop->setRequired(
true);
3480 $dt_prop->setShowTime(
true);
3484 $dt_prop2->setShowTime(
true);
3485 $rad_op3->addSubItem($dt_prop2);
3488 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_show_activation_info"),
"show_activation_info");
3489 $cb->
setInfo($this->lng->txt(
"cont_show_activation_info_info"));
3490 $rad_op3->addSubItem($cb);
3493 $rad->addOption($rad_op3);
3495 $this->form->addCommandButton(
"saveActivation", $this->lng->txt(
"save"));
3497 $this->form->addItem($rad);
3510 $dt_prop = $this->form->getItemByPostVar(
"start");
3518 $dt_prop = $this->form->getItemByPostVar(
"end");
3527 $this->form->getItemByPostVar(
"activation")->setValue(
$activation);
3528 $this->form->getItemByPostVar(
"show_activation_info")->setChecked($this->
getPageObject()->getShowActivationInfo());
3538 if ($this->form->checkInput()) {
3543 if (
$_POST[
"activation"] ==
"deactivated") {
3546 if (
$_POST[
"activation"] ==
"scheduled") {
3549 $this->form->getItemByPostVar(
"start")->getDate()->get(
IL_CAL_DATETIME)
3556 ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"),
true);
3557 $this->ctrl->redirect($this,
"editActivation");
3559 $this->form->setValuesByPost();
3560 $this->tpl->setContent($this->form->getHTML());
3572 public function getNotesHTML($a_content_object = null, $a_enable_private_notes =
true, $a_enable_public_notes =
false, $a_enable_notes_deletion =
false, $a_callback = null)
3574 include_once(
"Services/Notes/classes/class.ilNoteGUI.php");
3577 if (!$a_content_object) {
3579 $this->notes_parent_id,
3580 (
int) $this->obj->getId(),
3584 $a_enable_private_notes =
true;
3585 $a_enable_public_notes =
true;
3586 $a_enable_notes_deletion =
false;
3591 $a_content_object->getParentId(),
3592 $a_content_object->getId(),
3593 $a_content_object->getParentType()
3597 if ($a_enable_private_notes) {
3600 if ($a_enable_public_notes) {
3601 $notes_gui->enablePublicNotes();
3602 if ((
bool) $a_enable_notes_deletion) {
3603 $notes_gui->enablePublicNotesDeletion(
true);
3608 $notes_gui->addObserver($a_callback);
3611 $next_class = $this->ctrl->getNextClass($this);
3612 if ($next_class ==
"ilnotegui") {
3613 $html = $this->ctrl->forwardCommand($notes_gui);
3615 $html = $notes_gui->getNotesHTML();
3625 include_once(
"./Services/COPage/classes/class.ilPageQuestionProcessor.php");
3648 $this->tabs_gui->activateTab(
"edit");
3651 $this->tpl->setContent(
$form->getHTML());
3662 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
3666 include_once
'Services/Form/classes/class.ilLinkInputGUI.php';
3667 $ac =
new ilLinkInputGUI($this->lng->txt(
'cont_resource'),
'opened_content');
3669 $ac->setInternalLinkDefault(
"Media_Media", 0);
3670 $ac->setInternalLinkFilterTypes(array(
"PageObject_FAQ",
"GlossaryItem",
"Media_Media",
"Media_FAQ"));
3671 $val = $this->obj->getInitialOpenedContent();
3672 if ($val[
"id"] !=
"" && $val[
"type"] !=
"") {
3673 $ac->setValue($val[
"type"] .
"|" . $val[
"id"] .
"|" . $val[
"target"]);
3676 $form->addItem($ac);
3678 $form->addCommandButton(
"saveInitialOpenedContent", $this->lng->txt(
"save"));
3679 $form->addCommandButton(
"edit", $this->lng->txt(
"cancel"));
3680 $form->setTitle($this->lng->txt(
"cont_initial_attached_content"));
3681 $form->setFormAction($this->ctrl->getFormAction($this));
3694 $this->obj->saveInitialOpenedContent(
3700 ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"));
3701 $this->ctrl->redirect($this,
"edit");
3720 $this->ctrl->setParameter($this,
"transl",
$_GET[
"totransl"]);
3721 $this->ctrl->redirect($this,
"edit");
3730 $this->ctrl->setParameter($this,
"totransl",
$l);
3731 $this->lng->loadLanguageModule(
"meta");
3733 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
3735 $cgui->setFormAction($this->ctrl->getFormAction($this));
3736 $cgui->setHeaderText($this->lng->txt(
"cont_page_translation_does_not_exist") .
": " .
3737 $this->lng->txt(
"meta_l_" .
$l));
3738 $cgui->setCancel($this->lng->txt(
"cancel"),
"editMasterLanguage");
3739 $cgui->setConfirm($this->lng->txt(
"confirm"),
"createPageTranslation");
3740 $this->tpl->setContent($cgui->getHTML());
3748 $this->ctrl->setParameter($this,
"transl",
"");
3749 $this->ctrl->redirect($this,
"edit");
3759 include_once(
"./Services/COPage/classes/class.ilPageObjectFactory.php");
3766 $p->copyPageToTranslation(
$l);
3767 $this->ctrl->setParameter($this,
"transl",
$l);
3768 $this->ctrl->redirect($this,
"edit");
3777 ilUtil::sendSuccess($this->lng->txt(
"cont_page_lock_released"),
true);
3778 $this->ctrl->redirect($this,
"preview");
static _exists($a_parent_type, $a_id, $a_lang="", $a_no_cache=false)
Checks whether page exists.
history()
Get history table as HTML.
releasePageLock()
Release page lock.
This class represents an option in a radio group.
initOpenedContentForm()
Init form for initially opened content.
setScreenIdComponent()
Set screen id component.
getCompareMode()
Get compare mode.
if(isset($_REQUEST['delete'])) $list
saveInitialOpenedContent()
Save initial opened content.
getEditPreview()
Get Display first Edit tab, then Preview tab, instead of Page and Edit.
getViewPageText()
get view page text
insertPageToc($a_output)
Insert page toc.
insertAdvTrigger($a_output)
Insert adv content trigger.
static getInitHTML($a_url)
Get initialisation HTML to use interna link editing.
rollbackConfirmation()
Rollback confirmation.
enableNotes($a_enabled, $a_parent_id)
initActivationForm()
Init activation form.
setEditPreview($a_editpreview)
Set Display first Edit tab, then Preview tab, instead of Page and Edit.
setEnablePCType($a_pc_type, $a_val)
Set enable pc type.
getPageObject()
Get Page Object.
Class ilEditClipboardGUI.
editMasterLanguage()
Edit master language.
static _getQuestionType($question_id)
Returns the question type of a question with a given id.
setTemplateOutput($a_output=true)
addActionsMenu($a_tpl, $sel_media_mode, $sel_html_mode, $sel_js_mode)
Add actions menu.
displayMediaFullscreen()
Show media in fullscreen mode.
static _exists($a_id, $a_reference=false, $a_type=null)
checks if an object exists in object_data
getPrependingHtml()
Get Prepending HTML.
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
setParentType($a_val)
Set parent type.
static initConnection(ilTemplate $a_main_tpl=null)
Init YUI Connection module.
setQuestionXML($question_xml)
static hasSuccessorPage($a_cont_obj_id, $a_page_id)
checks if page has a successor page
static getGotoForPortfolioPageTarget($a_target, $a_offline=false)
Get goto href for internal wiki page link target.
getProfileBackUrl()
Get profile back url.
getBlockingInfoMessage()
Get block info message.
compareVersion()
Compares two revisions of the page.
Learning history main GUI class.
activateMetaDataEditor( $a_rep_obj, $a_type, $a_sub_obj_id, $a_observer_obj=null, $a_observer_func="")
Activate meda data editor.
static getFlashVideoPlayerFilename($a_fullpath=false)
Get flash video player file name.
getLanguage()
Get language.
User Interface for NewsItem entities.
if(!array_key_exists('StateId', $_REQUEST)) $id
setEnabledNews($a_enabled, $a_news_obj_id=0, $a_news_obj_type=0)
Set enabled news.
static get($a_glyph, $a_text="")
Get glyph html.
static getPCDefinitions()
Get PC definitions.
static _getCharacteristics($a_style_id)
Get characteristics.
confirmPageTranslationCreation()
Confirm page translation creation.
getTabs($a_activate="")
adds tabs to tab gui object
static _lookupTitle($a_id)
lookup object title
setEnableEditing($a_enableediting)
Set Enable Editing.
static _lookupContObjID($a_id)
get learning module / digibook id for lm object
insertJSAtPlaceholder()
InsertJS at placeholder.
static requirePCClassByName($a_name)
Get instance.
setDefaultLinkXml()
Set standard link xml.
executeCommand()
execute command
static _getTextCharacteristics($a_style_id, $a_include_core=false)
Get text characteristics.
static getStyleSelector($a_selected, $a_chars, $a_use_callback=false)
Get style selector.
getActivationFormValues()
Get values for activation form.
saveActivation()
Save Activation.
switchToLanguage()
Switch to language.
enableChangeComments($a_enabled)
Page History Table GUI Class.
static initJS(ilTemplate $a_main_tpl=null)
Init javascript.
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false, $include_seconds=false)
Format a date public.
static lookupTitle($a_page_id)
Lookup title.
setViewPageLink($a_link, $a_target="")
set link for "view page" button
setLinkParams($l_params="")
setTemplateTargetVar($a_variable)
const CMD_SHOW
command constants
getEnabledTabs()
Get Output tabs.
previewHistory()
Preview history.
static addJavaScript(ilTemplate $main_tpl=null)
Add javascript files that are necessary to run accordion.
isEnabledChangeComments()
getOldNr()
Get old nr (historic page)
static insertResourcesIntoPageContent($a_content)
Insert resources (see also ilContainerContentGUI::determinePageEmbeddedBlocks for presentation) ...
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
getParentType()
Get parent type.
presentation($a_mode=IL_PAGE_PRESENTATION)
static collectContentIncludes($a_page, $a_domdoc)
get all content includes that are used within the page
determineSourcecodeDownloadScript()
Determine source code download script.
GUI class for public user profile presentation.
static getUsagesOfPage($a_usage_id, $a_usage_type, $a_hist_nr=0, $a_all_hist_nrs=false, $a_lang="-")
Get page content usages for page.
setFullscreenLink($a_fullscreen_link)
Set fullscreen link.
determineFullscreenLink()
Determine fullscreen link.
getEnabledNews()
Get enabled news.
replaceCurlyBrackets($output)
Replace curly brackets.
setPrependingHtml($a_prependinghtml)
Set Prepending HTML.
static addCss()
Add required css.
setEnabledPageFocus($a_enabledpagefocus)
Set Enable page focus.
if(isset($_POST['submit'])) $form
addSubItem($a_item)
Add Subitem.
setOfflineDirectory($offdir)
set offline directory to offdir
static hasPublicProfile($a_user_id)
Has public profile.
static getTinyMenu( $a_par_type, $a_int_links=false, $a_wiki_links=false, $a_keywords=false, $a_style_id=0, $a_paragraph_styles=true, $a_save_return=true, $a_anchors=false, $a_save_new=true, $a_user_links=false)
Get Tiny Menu.
static getCharStyleSelector($a_par_type, $a_use_callback=true, $a_style_id=0)
Get character style selector.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
getComponentPluginsXML()
Put information about activated plugins into XML.
static _getQuestionGUI($question_type, $question_id=-1)
Creates a question gui representation and returns the alias to the question gui note: please do not u...
getEnableEditing()
Get Enable Editing.
determineFileDownloadLink()
Determine file download link.
static _lookupObjId($a_id)
getPageConfig()
Get page config object.
setPageObject(ilPageObject $a_pg_obj)
Set Page Object.
special template class to simplify handling of ITX/PEAR
setCompareMode($a_val)
Set compare mode.
setExplorerUpdater($a_exp_frame, $a_exp_id, $a_exp_target_script)
Set Explorer Updater.
edit()
edit ("view" before)
static _doJSEditing()
checks if current user has activated js editing and if browser is js capable
download_paragraph()
download source code paragraph
static initMediaElementJs($a_tpl=null)
Init mediaelement.js scripts.
getRawPageContent()
Get Get raw page content only.
getStyleId()
Get Style Id.
Page multilinguality GUI class.
setRawPageContent($a_rawpagecontent)
Set Get raw page content only.
setPresentationTitle($a_title="")
catch(Exception $e) if(isset($_POST['cancel'])) if(isset($_POST['continue'])) $cfg
setSourcecodeDownloadScript($script_name)
Set sourcecode download script.
static _lookupOwner($a_id)
lookup object owner
setRenderPageContainer($a_val)
Set render page container.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
setOldNr($a_val)
Set old nr (historic page)
static getNamePresentation( $a_user_id, $a_user_image=false, $a_profile_link=false, $a_profile_back_link="", $a_force_first_lastname=false, $a_omit_login=false, $a_sortable=true, $a_return_data_array=false, $a_ctrl_path="ilpublicuserprofilegui")
Default behaviour is:
getAbstractOnly()
Get abstract only.
static _getTargetsOfSource($a_source_type, $a_source_id, $a_source_lang="-")
Get all targets of a source object (e.g., a page)
static getContentStylePath($a_style_id, $add_random=true)
get content style path
static getCacheTriggerString($a_page)
Get page cache update trigger string.
static _getFilesOfObject($a_type, $a_id, $a_usage_hist_nr=0, $a_usage_lang="-")
get all files of an object
setFileDownloadLink($a_download_link)
Set file download link.
initCaptchaForm()
Init captcha form.
static _lookupType($a_id, $a_reference=false)
lookup object type
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
editActivation()
Edit activation (only, if scheduled page activation is activated in administration) ...
getActivationCaptions()
Get captions for activation action menu entries.
static initjQueryUI($a_tpl=null)
inits and adds the jQuery-UI JS-File to the global template (see included_components.txt for included components)
User interface class for advanced drop-down selection lists.
getOfflineDirectory()
get offline directory
static isActivated()
Checks whether Map feature is activated.
setTemplateOutputVar($a_value)
displayMedia($a_fullscreen=false)
Display media.
setEnabledTabs($a_enabledtabs)
Set Output tabs.
const IL_PAGE_PRESENTATION
setPageConfig($a_val)
Set page config object.
getDisabledText()
Get disabled text.
postOutputProcessing($a_output)
Finalizing output processing.
getFileDownloadLink()
Get file download link.
setStyleId($a_styleid)
Set Style Id.
downloadFile()
Download file of file lists.
static getInstance($a_parent_type, $a_id=0, $a_old_nr=0, $a_lang="-")
Get page object instance.
static lookupSettingByParentType($a_par_type, $a_name, $a_default=false)
Lookup setting by parent type.
setAbstractOnly($a_val)
Set abstract only.
initialOpenedContent()
Initially opened content.
afterConstructor()
After constructor.
rollback()
Rollback to a previous version.
showMediaFullscreen($a_style_id=0)
show fullscreen view of media object
static formSelect( $selected, $varname, $options, $multiple=false, $direct_text=false, $size="0", $style_class="", $attribs="", $disabled=false)
Builds a select form field with options and shows the selected option first.
static getInstance()
Singleton: get instance.
getEnabledPageFocus()
Get Enable page focus.
setEditMode()
Set edit mode.
static initDragDrop()
Init YUI Drag and Drop.
onFeedbackEditingForwarding()
On feedback editing forwarding.
getViewPageLink()
get view page link
static _getCommonBBButtons()
Get common bb buttons.
static getInstance($a_obj_id)
Get instance.
initPageObject()
Init page object.
setTabHook($a_object, $a_function)
Set tab hook.
__construct( $a_parent_type, $a_id, $a_old_nr=0, $a_prevent_get_id=false, $a_lang="")
Constructor.
showPage()
display content of page
setLinkFrame($l_frame="")
for($i=1; $i<=count($kw_cases_sel); $i+=1) $lang
static initjQuery($a_tpl=null)
inits and adds the jQuery JS-File to the global or a passed template
static getLogger($a_component_id)
Get component logger.
addMultiLangActionsAndInfo($a_list, $a_tpl)
Add multi-language actions to menu.
if(strpos($jquery_path, './')===0) elseif(strpos($jquery_path, '.')===0) $mathJaxSetting
setPageBackTitle($a_title)
enablePrivateNotes($a_enable=true)
enable private notes
getSourcecodeDownloadScript()
Get sourcecode download script.
static saveQuestionAnswer($a_type, $a_id, $a_answer)
Save question answer.
insertResources($a_output)
Insert resources.
processAnswer()
Process answer.
getRenderPageContainer()
Get render page container.
getPagePermaLink()
Get page perma link.
$sourcecode_download_script
getNotesHTML($a_content_object=null, $a_enable_private_notes=true, $a_enable_public_notes=false, $a_enable_notes_deletion=false, $a_callback=null)
Get html for public and/or private notes.
setLanguage($a_val)
Set language.
setQEditTabs($a_active)
Set question editing tabs.
getViewPageTarget()
get view page target frame
static getWebspaceDir($mode="filesystem")
get webspace directory
static initPanel($a_resize=false, ilTemplate $a_main_tpl=null)
Init yui panel.
isPageContainerToBeRendered()
createPageTranslation()
Create page translation.
getFullscreenLink()
Get fullscreen link.
getEnablePCType($a_pc_type)
Get enable pc type.
setIntLinkReturn($a_return)
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
static strPosAll($a_haystack, $a_needle)
Get all positions of a string.
static replaceFirsOccurence($a_old, $a_new, $a_str)
Replaces the first occurence of $a_old in $a_str with $a_new.
setActivationListener(&$a_obj, $a_meth)
static getGotoForWikiPageTarget($a_target, $a_offline=false)
Get goto href for internal wiki page link target.
setOutputMode($a_mode=IL_PAGE_PRESENTATION)
Set Output Mode.
insertHelp($a_tpl)
Insert help texts.
setQuestionHTML($question_html)
Confirmation screen class.
displayValidationError($a_error)
display validation error
static initJavascript()
Init javascript.