73 public function __construct($a_data, $a_id = 0, $a_call_by_reference =
true, $a_prepare_output =
false)
77 $this->lng = $DIC->language();
78 $this->access = $DIC->access();
79 $this->tabs = $DIC->tabs();
80 $this->error = $DIC[
"ilErr"];
82 $this->
user = $DIC->user();
83 $this->tpl = $DIC[
"tpl"];
84 $this->toolbar = $DIC->toolbar();
85 $this->rbacsystem = $DIC->rbac()->system();
86 $this->tree = $DIC->repositoryTree();
87 $this->plugin_admin = $DIC[
"ilPluginAdmin"];
88 $this->
help = $DIC[
"ilHelp"];
89 $this->locator = $DIC[
"ilLocator"];
90 $this->db = $DIC->database();
91 $this->log = $DIC[
"ilLog"];
92 $this->
ui = $DIC->ui();
93 $lng = $DIC->language();
96 $lng->loadLanguageModule(
"content");
97 $lng->loadLanguageModule(
"obj");
104 $baseclass = strtolower(
$_GET[
"baseClass"]);
105 $next_class = strtolower($this->ctrl->getNextClass());
108 if (!in_array($baseclass, [
"illmpresentationgui",
"illmeditorgui"])) {
111 if (in_array($next_class, [
"ilcommonactiondispatchergui"])) {
134 if ($this->ctrl->getRedirectSource() ==
"ilinternallinkgui") {
139 if ($this->ctrl->getCmdClass() ==
"ilinternallinkgui") {
140 $this->ctrl->setReturn($this,
"explorer");
144 $next_class = $this->ctrl->getNextClass($this);
147 if (
$_GET[
"to_props"] == 1) {
148 $cmd = $this->ctrl->getCmd(
"properties");
150 $cmd = $this->ctrl->getCmd(
"chapters");
154 switch ($next_class) {
155 case 'illtiproviderobjectsettinggui':
158 $ilTabs->setTabActive(
"settings");
163 $lti_gui->offerLTIRolesForSelection(
true);
164 $this->ctrl->forwardCommand($lti_gui);
169 case "illearningprogressgui":
172 $this->
setTabs(
"learning_progress");
175 $this->ctrl->forwardCommand($new_gui);
179 case 'ilobjectmetadatagui':
180 if (!$ilAccess->checkAccess(
'write',
'', $this->object->getRefId())) {
181 $ilErr->raiseError($this->lng->txt(
'permission_denied'),
$ilErr->WARNING);
189 $md_gui->addMDObserver($this->
object,
'MDUpdateListener',
'Educational');
190 $md_gui->addMDObserver($this->
object,
'MDUpdateListener',
'General');
191 $this->ctrl->forwardCommand($md_gui);
194 case "ilobjstylesheetgui":
196 $this->ctrl->setReturn($this,
"editStyleProperties");
197 $style_gui =
new ilObjStyleSheetGUI(
"", $this->object->getStyleSheetId(),
false,
false);
199 if ($cmd ==
"create" ||
$_GET[
"new_type"] ==
"sty") {
200 $style_gui->setCreationMode(
true);
202 $ret = $this->ctrl->forwardCommand($style_gui);
204 if ($cmd ==
"save" || $cmd ==
"copyStyle" || $cmd ==
"importStyle") {
206 $this->
object->setStyleSheetId($style_id);
207 $this->
object->update();
208 $this->ctrl->redirectByClass(
"ilobjstylesheetgui",
"edit");
212 case "illmpageobjectgui":
214 $ilTabs->setBackTarget(
215 $lng->txt(
"learning module"),
216 $ilCtrl->getLinkTarget($this,
"chapters")
218 $this->ctrl->saveParameter($this, array(
"obj_id"));
220 $this->ctrl->setReturn($this,
"chapters");
223 if (
$_GET[
"obj_id"] !=
"") {
225 $pg_gui->setLMPageObject($obj);
227 $ret = $this->ctrl->forwardCommand($pg_gui);
230 case "ilstructureobjectgui":
231 $ilTabs->setBackTarget(
232 $lng->txt(
"learning module"),
233 $ilCtrl->getLinkTarget($this,
"chapters")
236 $this->ctrl->saveParameter($this, array(
"obj_id"));
238 $this->ctrl->setReturn($this,
"chapters");
240 if (
$_GET[
"obj_id"] !=
"") {
242 $st_gui->setStructureObject($obj);
244 $ret = $this->ctrl->forwardCommand($st_gui);
245 if ($cmd ==
"save" || $cmd ==
"cancel") {
246 if (
$_GET[
"obj_id"] ==
"") {
247 $this->ctrl->redirect($this,
"chapters");
249 $this->ctrl->setCmd(
"subchap");
255 case 'ilpermissiongui':
256 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui") {
264 $ret = $this->ctrl->forwardCommand($perm_gui);
268 case 'ilinfoscreengui':
273 $info->enablePrivateNotes();
274 $info->enableLearningProgress();
277 if ($ilAccess->checkAccess(
"write",
"",
$_GET[
"ref_id"])) {
278 $info->enableNewsEditing();
279 $info->setBlockProperty(
"news",
"settings",
true);
283 $info->addMetaDataSections(
284 $this->object->getId(),
286 $this->
object->getType()
289 $ret = $this->ctrl->forwardCommand($info);
294 $exp_gui->addFormat(
"xml");
296 if ($ot->getContentActivated()) {
297 $exp_gui->addFormat(
"xml_master",
"XML (" .
$lng->txt(
"cont_master_language_only") .
")", $this,
"export");
298 $exp_gui->addFormat(
"xml_masternomedia",
"XML (" .
$lng->txt(
"cont_master_language_only_no_media") .
")", $this,
"export");
300 $lng->loadLanguageModule(
"meta");
301 $langs = $ot->getLanguages();
302 foreach ($langs as $l => $ldata) {
303 $exp_gui->addFormat(
"html_" . $l,
"HTML (" .
$lng->txt(
"meta_l_" . $l) .
")", $this,
"exportHTML");
305 $exp_gui->addFormat(
"html_all",
"HTML (" .
$lng->txt(
"cont_all_languages") .
")", $this,
"exportHTML");
307 $exp_gui->addFormat(
"html",
"", $this,
"exportHTML");
310 $exp_gui->addFormat(
"scorm",
"", $this,
"exportSCORM");
311 $exp_gui->addCustomColumn(
312 $lng->txt(
"cont_public_access"),
314 "getPublicAccessColValue" 316 $exp_gui->addCustomMultiCommand(
317 $lng->txt(
"cont_public_access"),
321 $ret = $this->ctrl->forwardCommand($exp_gui);
328 case 'ilobjecttranslationgui':
334 $transgui->setTitleDescrOnlyMode(
false);
335 $this->ctrl->forwardCommand($transgui);
339 case "ilcommonactiondispatchergui":
341 $this->ctrl->forwardCommand($gui);
344 case 'ilobjectcopygui':
348 $this->ctrl->forwardCommand($cp);
351 case "ilmobmultisrtuploadgui":
357 $this->ctrl->forwardCommand($gui);
360 case "illmimportgui":
366 $this->ctrl->forwardCommand($gui);
369 case "illmeditshorttitlesgui":
375 $this->ctrl->forwardCommand($gui);
379 $new_type =
$_POST[
"new_type"]
384 if ($cmd ==
"create" &&
385 !in_array($new_type, array(
"lm"))) {
389 $this->ctrl->setCmdClass(
"ilLMPageObjectGUI");
395 $this->ctrl->setCmdClass(
"ilStructureObjectGUI");
402 in_array($new_type, array(
"lm"))) {
408 $ret = $this->$cmd();
412 $ret = $this->$cmd();
422 return array(
"ilLMPageObjectGUI",
"ilStructureObjectGUI",
"ilObjStyleSheetGUI");
432 $lng->loadLanguageModule(
"style");
440 if ($this->object->getType() ==
"lm") {
443 $ecs->addSettingsToForm($this->form,
'lm');
446 $this->tpl->setContent($this->form->getHTML());
464 $ti->setRequired(
true);
465 $this->form->addItem($ti);
469 $this->form->addItem($ta);
471 $lng->loadLanguageModule(
"rep");
473 $section->setTitle($this->lng->txt(
'rep_activation_availability'));
478 $this->form->addItem($online);
482 $section->setTitle($this->lng->txt(
'cont_presentation'));
486 $obj_service->commonSettings()->legacyForm($this->form, $this->
object)->addTileImage();
501 $option = array(
"st_title" => $this->lng->txt(
"cont_st_title"),
502 "pg_title" => $this->lng->txt(
"cont_pg_title"),
503 "none" => $this->lng->txt(
"cont_none"));
504 $page_header->setOptions($option);
505 $this->form->addItem($page_header);
509 $this->form->addItem($chap_num);
513 $option = array(
"chapters" => $this->lng->txt(
"cont_chapters_only"),
514 "pages" => $this->lng->txt(
"cont_chapters_and_pages"));
516 $this->form->addItem($toc_mode);
520 $progr_icons->
setInfo($this->lng->txt(
"cont_progress_icons_info"));
521 $this->form->addItem($progr_icons);
525 $section->setTitle($this->lng->txt(
'cont_self_assessment'));
531 $op1 =
new ilRadioOption(
$lng->txt(
"cont_tries_reset_on_visit"), 0,
$lng->txt(
"cont_tries_reset_on_visit_info"));
532 $radg->addOption($op1);
534 $radg->addOption($op2);
535 $this->form->addItem($radg);
539 $qfeed->
setInfo($this->lng->txt(
"cont_restrict_forw_nav_info"));
540 $this->form->addItem($qfeed);
544 $not->
setInfo($this->lng->txt(
"cont_notify_on_blocked_users_info"));
545 $qfeed->addSubItem($not);
549 $qfeed->
setInfo($this->lng->txt(
"cont_disable_def_feedback_info"));
550 $this->form->addItem($qfeed);
554 $section->setTitle($this->lng->txt(
'obj_features'));
559 $this->lng->loadLanguageModule(
"notes");
561 $pub_nodes->
setInfo($this->lng->txt(
"cont_lm_comments_desc"));
562 $this->form->addItem($pub_nodes);
567 $com->
setInfo($this->lng->txt(
"enable_hist_user_comments_desc"));
568 $this->form->addItem($com);
571 $this->lng->loadLanguageModule(
'rating');
573 $rate->
setInfo($this->lng->txt(
'rating_activate_rating_info'));
574 $this->form->addItem($rate);
575 $ratep =
new ilCheckboxInputGUI($this->lng->txt(
'lm_activate_rating'),
'rating_pages');
576 $this->form->addItem($ratep);
579 $this->form->addCommandButton(
"saveProperties",
$lng->txt(
"save"));
580 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
592 $title = $this->
object->getTitle();
593 $description = $this->
object->getLongDescription();
595 if ($ot->getContentActivated()) {
596 $title = $ot->getDefaultTitle();
597 $description = $ot->getDefaultDescription();
600 $values[
"title"] = $title;
601 $values[
"description"] = $description;
602 if (!$this->object->getOfflineStatus()) {
603 $values[
"cobj_online"] =
true;
606 $values[
"lm_pg_header"] = $this->
object->getPageHeader();
607 if ($this->object->isActiveNumbering()) {
608 $values[
"cobj_act_number"] =
true;
610 $values[
"toc_mode"] = $this->
object->getTOCMode();
611 if ($this->object->publicNotes()) {
612 $values[
"cobj_pub_notes"] =
true;
614 if ($this->object->cleanFrames()) {
615 $values[
"cobj_clean_frames"] =
true;
617 if ($this->object->isActiveHistoryUserComments()) {
618 $values[
"cobj_user_comments"] =
true;
621 $values[
"rating"] = $this->
object->hasRating();
622 $values[
"rating_pages"] = $this->
object->hasRatingPages();
623 $values[
"disable_def_feedback"] = $this->
object->getDisableDefaultFeedback();
624 $values[
"progr_icons"] = $this->
object->getProgressIcons();
625 $values[
"store_tries"] = $this->
object->getStoreTries();
626 $values[
"restrict_forw_nav"] = $this->
object->getRestrictForwardNavigation();
631 $this->
object->getId()
634 $this->form->setValuesByArray($values);
649 if ($this->form->checkInput()) {
651 if ($ot->getContentActivated()) {
652 $ot->setDefaultTitle(
$_POST[
'title']);
653 $ot->setDefaultDescription(
$_POST[
'description']);
657 $this->
object->setTitle(
$_POST[
'title']);
658 $this->
object->setDescription(
$_POST[
'description']);
660 $this->
object->setPageHeader(
$_POST[
"lm_pg_header"]);
661 $this->
object->setTOCMode(
$_POST[
"toc_mode"]);
662 $this->
object->setOfflineStatus(!(
$_POST[
'cobj_online']));
663 $this->
object->setActiveNumbering(
$_POST[
"cobj_act_number"]);
664 $this->
object->setCleanFrames(
$_POST[
"cobj_clean_frames"]);
666 $this->
object->setPublicNotes(
$_POST[
"cobj_pub_notes"]);
668 $this->
object->setHistoryUserComments(
$_POST[
"cobj_user_comments"]);
670 $this->
object->setRating(
$_POST[
"rating"]);
671 $this->
object->setRatingPages(
$_POST[
"rating_pages"]);
672 $this->
object->setDisableDefaultFeedback((
int)
$_POST[
"disable_def_feedback"]);
673 $this->
object->setProgressIcons((
int) $_POST[
"progr_icons"]);
676 if ($_POST[
"restrict_forw_nav"] && !$_POST[
"store_tries"]) {
677 $_POST[
"store_tries"] = 1;
678 $add_info =
"</br>" .
$lng->txt(
"cont_automatically_set_store_tries");
679 $add_info = str_replace(
"$1",
$lng->txt(
"cont_tries_store"), $add_info);
680 $add_info = str_replace(
"$2",
$lng->txt(
"cont_restrict_forw_nav"), $add_info);
683 $this->
object->setStoreTries((
int) $_POST[
"store_tries"]);
684 $this->
object->setRestrictForwardNavigation((
int) $_POST[
"restrict_forw_nav"]);
685 $this->
object->updateProperties();
686 $this->
object->update();
689 $obj_service->commonSettings()->legacyForm($this->form, $this->
object)->saveTileImage();
694 $this->
object->getId(),
695 (bool) $this->form->getInput(
"notification_blocked_users")
699 if ($this->object->getType() ==
'lm') {
702 if ($ecs->handleSettingsUpdate()) {
711 ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified") . $add_info,
true);
712 $this->ctrl->redirect($this,
"properties");
714 $lng->loadLanguageModule(
"style");
718 $this->form->setValuesByPost();
719 $this->tpl->setContent($this->form->getHTML());
731 $tpl->setContent($this->form->getHTML());
744 $lng->loadLanguageModule(
"style");
746 $ilTabs->setTabActive(
"settings");
751 $fixed_style =
$ilSetting->get(
"fixed_content_style_id");
752 $def_style =
$ilSetting->get(
"default_content_style_id");
753 $style_id = $this->
object->getStyleSheetId();
755 if ($fixed_style > 0) {
758 $this->lng->txt(
"global_fixed") .
")");
759 $this->form->addItem($st);
767 if ($def_style > 0) {
770 $st_styles[0] = $this->lng->txt(
"default");
779 $this->form->addItem($st);
782 $this->form->addCommandButton(
784 $lng->txt(
"cont_edit_style")
786 $this->form->addCommandButton(
788 $lng->txt(
"cont_delete_style")
795 $style_sel->setOptions($st_styles);
796 $style_sel->setValue($style_id);
797 $this->form->addItem($style_sel);
798 $this->form->addCommandButton(
802 $this->form->addCommandButton(
804 $lng->txt(
"sty_create_ind_style")
808 $this->form->setTitle(
$lng->txt(
"cont_style"));
809 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
819 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"create");
829 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"edit");
839 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"delete");
849 if (
$ilSetting->get(
"fixed_content_style_id") <= 0 &&
851 || $this->object->getStyleSheetId() == 0)) {
853 $this->
object->update();
854 ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"),
true);
856 $this->ctrl->redirect($this,
"editStyleProperties");
871 $menu->
setChecked($this->object->isActiveLMMenu());
872 $form->addItem($menu);
881 $print =
new ilCheckboxInputGUI($this->lng->txt(
"cont_print_view"),
"cobj_act_print");
882 $print->
setChecked($this->object->isActivePrintView());
883 $form->addItem($print);
886 $glo =
new ilCheckboxInputGUI($this->lng->txt(
"cont_print_view_pre_glo"),
"cobj_act_print_prev_glo");
887 $glo->
setChecked($this->object->isActivePreventGlossaryAppendix());
888 $print->addSubItem($glo);
891 $hhfp =
new ilCheckboxInputGUI($this->lng->txt(
"cont_hide_head_foot_print"),
"hide_head_foot_print");
892 $hhfp->
setChecked($this->object->getHideHeaderFooterPrint());
893 $print->addSubItem($hhfp);
896 $no_download_file_available =
897 " " .
$lng->txt(
"cont_no_download_file_available") .
898 " <a href='" .
$ilCtrl->getLinkTargetByClass(
"ilexportgui",
"") .
"'>" .
$lng->txt(
"change") .
"</a>";
899 $types = array(
"xml",
"html",
"scorm");
900 foreach ($types as
$type) {
901 if ($this->object->getPublicExportFile($type) !=
"") {
902 if (is_file($this->object->getExportDirectory($type) .
"/" .
903 $this->
object->getPublicExportFile($type))) {
904 $no_download_file_available =
"";
908 $dl =
new ilCheckboxInputGUI($this->lng->txt(
"cont_downloads"),
"cobj_act_downloads");
909 $dl->
setInfo($this->lng->txt(
"cont_downloads_desc") . $no_download_file_available);
910 $dl->setChecked($this->object->isActiveDownloads());
914 $pdl =
new ilCheckboxInputGUI($this->lng->txt(
"cont_downloads_public_desc"),
"cobj_act_downloads_public");
915 $pdl->
setChecked($this->object->isActiveDownloadsPublic());
916 $dl->addSubItem($pdl);
918 $form->addCommandButton(
"saveMenuProperties",
$lng->txt(
"save"));
920 $form->setTitle(
$lng->txt(
"cont_lm_menu"));
921 $form->setFormAction(
$ilCtrl->getFormAction($this));
937 $lng->loadLanguageModule(
"style");
939 $ilTabs->setTabActive(
"settings");
942 $ilToolbar->setFormAction(
$ilCtrl->getFormAction($this));
943 $ilToolbar->addFormButton($this->lng->txt(
"add_menu_entry"),
"addMenuEntry");
944 $ilToolbar->setCloseFormTag(
false);
947 $form->setOpenTag(
false);
948 $form->setCloseTag(
false);
951 $entries = $this->lmme_obj->getMenuEntries();
953 $table->setOpenFormTag(
false);
955 $tpl->setContent($form->getHTML() .
"<br />" . $table->getHTML());
963 $this->
object->setActiveLMMenu((
int)
$_POST[
"cobj_act_lm_menu"]);
965 $this->
object->setActivePrintView((
int) $_POST[
"cobj_act_print"]);
966 $this->
object->setActivePreventGlossaryAppendix((
int) $_POST[
"cobj_act_print_prev_glo"]);
967 $this->
object->setHideHeaderFooterPrint((
int) $_POST[
"hide_head_foot_print"]);
968 $this->
object->setActiveDownloads((
int) $_POST[
"cobj_act_downloads"]);
969 $this->
object->setActiveDownloadsPublic((
int) $_POST[
"cobj_act_downloads_public"]);
970 $this->
object->updateProperties();
974 $this->lmme_obj->updateActiveStatus($_POST[
"menu_entries"]);
976 ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"),
true);
977 $this->ctrl->redirect($this,
"editMenuProperties");
987 $gui_class =
"ilobjlearningmodulegui";
989 $ilCtrl->setParameterByClass($gui_class,
"active_node",
$_GET[
"active_node"]);
991 $this->tpl =
new ilTemplate(
"tpl.main.html",
true,
true);
995 $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.explorer.html");
998 $exp =
new ilLMEditorExplorer(
999 $this->ctrl->getLinkTarget($this,
"view"),
1004 $exp->setTargetGet(
"obj_id");
1005 $exp->setExpandTarget($this->ctrl->getLinkTarget($this,
"explorer"));
1007 if (
$_GET[
"lmmovecopy"] ==
"1") {
1012 if (
$_GET[
"lmexpand"] ==
"") {
1013 $mtree =
new ilTree($this->object->getId());
1014 $mtree->setTableNames(
'lm_tree',
'lm_data');
1015 $mtree->setTreeTablePK(
"lm_id");
1016 $expanded = $mtree->readRootId();
1018 $expanded =
$_GET[
"lmexpand"];
1020 if (
$_GET[
"active_node"] !=
"") {
1021 $path = $this->lm_tree->getPathId(
$_GET[
"active_node"]);
1022 $exp->setForceOpenPath($path);
1024 $exp->highlightNode(
$_GET[
"active_node"]);
1026 $exp->setExpand($expanded);
1030 $output = $exp->getOutput();
1038 $this->tpl->setCurrentBlock(
"content");
1039 $this->tpl->setVariable(
"TXT_EXPLORER_HEADER", $this->lng->txt(
"cont_chap_and_pages"));
1040 $this->tpl->setVariable(
"EXP_REFRESH", $this->lng->txt(
"refresh"));
1041 $this->tpl->setVariable(
"EXPLORER", $output);
1042 $this->ctrl->setParameter($this,
"lmexpand",
$_GET[
"lmexpand"]);
1043 $this->tpl->setVariable(
"ACTION", $this->ctrl->getLinkTarget($this,
"explorer"));
1044 $this->tpl->parseCurrentBlock();
1045 $this->tpl->printToStdout(
false);
1054 $popup =
new ilWysiwygUtil();
1055 $popup->show(
$_GET[
"ptype"]);
1066 $this->
object->executeDragDrop(
1067 $_POST[
"il_hform_source_id"],
1068 $_POST[
"il_hform_target_id"],
1070 $_POST[
"il_hform_as_subitem"]
1072 $ilCtrl->redirect($this,
"chapters");
1085 $a_new_object->setCleanFrames(
true);
1089 $a_new_object->createLMTree();
1092 $a_new_object->addFirstChapterAndPage();
1095 ilUtil::sendSuccess($this->lng->txt($this->type .
"_added"),
true);
1097 "&baseClass=ilLMEditorGUI");
1111 $this->ctrl->setParameter($this,
"new_type", $new_type);
1114 $form->setTableWidth(
"600px");
1120 $fi->setRequired(
true);
1122 $form->addItem($fi);
1126 $cb->
setInfo($this->lng->txt(
""));
1127 $form->addItem($cb);
1129 $form->addCommandButton(
"importFile",
$lng->txt(
"import"));
1130 $form->addCommandButton(
"cancel",
$lng->txt(
"cancel"));
1132 $form->setTitle($this->lng->txt(
"import_" . $new_type));
1133 $form->setFormAction(
$ilCtrl->getFormAction($this));
1176 parent::importFileObject(null,
false);
1180 $no_manifest =
true;
1183 ilUtil::sendFailure($this->lng->txt(
"obj_import_file_error") .
" <br />" . $e->getMessage());
1184 $form->setValuesByPost();
1185 $tpl->setContent($form->getHtml());
1189 if (!$no_manifest) {
1196 $ilErr->raiseError($this->lng->txt(
"no_create_permission"),
$ilErr->MESSAGE);
1200 if ($form->checkInput()) {
1203 $newObj->setType(
$_GET[
"new_type"]);
1204 $newObj->setTitle($_FILES[
"importfile"][
"name"]);
1205 $newObj->setDescription(
"");
1206 $newObj->create(
true);
1207 $newObj->createReference();
1208 $newObj->putInTree(
$_GET[
"ref_id"]);
1209 $newObj->setPermissions(
$_GET[
"ref_id"]);
1212 $newObj->createLMTree();
1215 $mess = $newObj->importFromDirectory($this->tmp_import_dir,
$_POST[
"validate"]);
1218 ilUtil::sendSuccess($this->lng->txt($this->type .
"_added"),
true);
1220 "&baseClass=ilLMEditorGUI");
1222 $link =
'<a href="' .
"ilias.php?ref_id=" . $newObj->getRefId() .
1223 "&baseClass=ilLMEditorGUI" .
'" target="_top">' . $this->lng->txt(
"btn_next") .
'</a>';
1224 $tpl->setContent(
"<br />" . $link .
"<br /><br />" . $mess . $link);
1227 $form->setValuesByPost();
1228 $tpl->setContent($form->getHtml());
1243 $ilCtrl->setParameter($this,
"backcmd",
"chapters");
1247 $form_gui->setTitle($this->object->getTitle());
1249 $form_gui->setTree($this->lm_tree);
1250 $form_gui->setMaxDepth(0);
1251 $form_gui->setCurrentTopNodeId($this->tree->getRootId());
1252 $form_gui->addMultiCommand(
$lng->txt(
"delete"),
"delete");
1253 $form_gui->addMultiCommand(
$lng->txt(
"cut"),
"cutItems");
1254 $form_gui->addMultiCommand(
$lng->txt(
"copy"),
"copyItems");
1255 if ($this->object->getLayoutPerPage()) {
1256 $form_gui->addMultiCommand(
$lng->txt(
"cont_set_layout"),
"setPageLayoutInHierarchy");
1259 $form_gui->addCommand(
$lng->txt(
"cont_save_all_titles"),
"saveAllTitles");
1260 $up_gui =
"ilobjlearningmodulegui";
1262 $ctpl =
new ilTemplate(
"tpl.chap_and_pages.html",
true,
true,
"Modules/LearningModule");
1263 $ctpl->setVariable(
"HIERARCHY_FORM", $form_gui->getHTML());
1264 $ilCtrl->setParameter($this,
"obj_id",
"");
1266 $ml_head = self::getMultiLangHeader($this->object->getId(), $this);
1268 $this->tpl->setContent($ml_head . $ctpl->get());
1281 $lng = $DIC->language();
1286 if ($ot->getContentActivated()) {
1287 $ilCtrl->setParameter($a_gui_class,
"lang_switch_mode", $a_mode);
1288 $lng->loadLanguageModule(
"meta");
1292 $ml_head = $ml_gui->getMultiLangInfo(
$_GET[
"transl"]);
1296 $list->setListTitle(
$lng->txt(
"actions"));
1297 $list->setId(
"copage_act");
1299 if (!in_array(
$_GET[
"transl"], array(
"",
"-"))) {
1300 $l = $ot->getMasterLanguage();
1302 $lng->txt(
"cont_edit_language_version") .
": " .
1303 $lng->txt(
"meta_l_" . $l),
1305 $ilCtrl->getLinkTarget($a_gui_class,
"editMasterLanguage")
1310 foreach ($ot->getLanguages() as $al =>
$lang) {
1311 if (
$_GET[
"transl"] != $al &&
1312 $al != $ot->getMasterLanguage()) {
1313 $ilCtrl->setParameter($a_gui_class,
"totransl", $al);
1315 $lng->txt(
"cont_edit_language_version") .
": " .
1316 $lng->txt(
"meta_l_" . $al),
1318 $ilCtrl->getLinkTarget($a_gui_class,
"switchToLanguage")
1320 $ilCtrl->setParameter($a_gui_class,
"totransl",
$_GET[
"totransl"]);
1326 $ml_head =
'<div class="ilFloatLeft">' . $ml_head .
'</div><div style="margin: 5px 0;" class="small ilRight">' . $list->getHTML() .
"</div>";
1328 $ilCtrl->setParameter($a_gui_class,
"lang_switch_mode",
"");
1348 $ilCtrl->setParameter($this,
"backcmd",
"pages");
1349 $ilCtrl->setParameterByClass(
"illmpageobjectgui",
"new_type",
"pg");
1350 $ilToolbar->addButton(
1351 $lng->txt(
"pg_add"),
1352 $ilCtrl->getLinkTargetByClass(
"illmpageobjectgui",
"create")
1354 $ilCtrl->setParameterByClass(
"illmpageobjectgui",
"new_type",
"");
1357 $tpl->setContent($t->getHTML());
1373 $this->object->getId(),
1374 $this->
object->getType()
1377 $tpl->setContent($table_gui->getHTML());
1390 $ilToolbar->addButton(
1391 $this->lng->txt(
"cont_fix_tree"),
1392 $this->ctrl->getLinkTarget($this,
"fixTreeConfirm")
1401 if (is_array(
$_POST[
"id"])) {
1402 foreach (
$_POST[
"id"] as $id) {
1408 $this->ctrl->redirect($this,
"pages");
1419 $ilErr->raiseError($this->lng->txt(
"no_page_in_clipboard"),
$ilErr->MESSAGE);
1429 == $this->object->getID()) {
1431 $new_page = $lm_page->copy();
1432 $id = $new_page->getId();
1438 $copied_nodes = array();
1439 $new_page = $lm_page->copyToOtherContObject($this->
object, $copied_nodes);
1440 $id = $new_page->getId();
1449 != $this->object->getID()) {
1453 $lm_page->setLMId($this->object->getID());
1455 $page = $lm_page->getPageObject();
1457 $page->setParentId($this->object->getID());
1464 $this->ctrl->redirect($this,
"pages");
1474 if (!isset(
$_POST[
"id"])) {
1475 $ilErr->raiseError($this->lng->txt(
"no_checkbox"),
$ilErr->MESSAGE);
1482 ilUtil::sendInfo($this->lng->txt(
"cont_selected_items_have_been_copied"),
true);
1484 $this->ctrl->redirect($this,
"pages");
1494 public function delete($a_parent_subobj_id = 0)
1498 if (!isset(
$_POST[
"id"])) {
1499 $ilErr->raiseError($this->lng->txt(
"no_checkbox"),
$ilErr->MESSAGE);
1503 $ilErr->raiseError($this->lng->txt(
"cont_select_item"),
$ilErr->MESSAGE);
1506 if ($a_parent_subobj_id == 0) {
1510 if ($a_parent_subobj_id != 0) {
1511 $this->ctrl->setParameterByClass(
"ilStructureObjectGUI",
"backcmd",
$_GET[
"backcmd"]);
1512 $this->ctrl->setParameterByClass(
"ilStructureObjectGUI",
"obj_id", $a_parent_subobj_id);
1513 $form_action = $this->ctrl->getFormActionByClass(
"ilStructureObjectGUI");
1515 $this->ctrl->setParameter($this,
"backcmd",
$_GET[
"backcmd"]);
1516 $form_action = $this->ctrl->getFormAction($this);
1521 $cgui->setFormAction($form_action);
1522 $cgui->setHeaderText($this->lng->txt(
"info_delete_sure"));
1523 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancelDelete");
1524 $cgui->setConfirm($this->lng->txt(
"confirm"),
"confirmedDelete");
1526 foreach (
$_POST[
"id"] as $id) {
1530 " " . $obj->getTitle();
1532 $cgui->addItem(
"id[]", $id, $caption);
1536 $this->tpl->setContent($cgui->getHTML());
1544 $this->ctrl->redirect($this,
$_GET[
"backcmd"]);
1559 $tree->setTableNames(
'lm_tree',
'lm_data');
1560 $tree->setTreeTablePK(
"lm_id");
1564 $ilErr->raiseError($this->lng->txt(
"no_checkbox"),
$ilErr->MESSAGE);
1568 foreach (
$_POST[
"id"] as $id) {
1571 $node_data =
$tree->getNodeData($id);
1572 if (is_object($obj)) {
1573 $obj->setLMId($this->object->getId());
1576 $this->object->getId(),
1577 "delete_" . $obj->getType(),
1579 $this->
object->getType()
1584 if (
$tree->isInTree($id)) {
1585 $tree->deleteTree($node_data);
1591 $this->
object->checkTree();
1594 ilUtil::sendSuccess($this->lng->txt(
"info_deleted"),
true);
1596 if ($a_parent_subobj_id == 0) {
1597 $this->ctrl->redirect($this,
$_GET[
"backcmd"]);
1613 $tmpPath = $this->lm_tree->getPathFull($a_endnode_id, $a_startnode_id);
1616 for (
$i = 1;
$i < (count($tmpPath) - 1);
$i++) {
1621 $path .= $tmpPath[
$i][
"title"];
1640 $notoperations = array();
1642 $operations = array();
1645 foreach (
$d as $row) {
1646 if (!in_array($row[
"name"], $notoperations)) {
1647 $operations[] = $row;
1652 if (count($operations) > 0) {
1653 foreach ($operations as $val) {
1654 $this->tpl->setCurrentBlock(
"operation_btn");
1655 $this->tpl->setVariable(
"BTN_NAME", $val[
"name"]);
1656 $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt($val[
"lng"]));
1657 $this->tpl->parseCurrentBlock();
1660 $this->tpl->setCurrentBlock(
"operation");
1662 $this->tpl->parseCurrentBlock();
1671 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui") {
1673 parent::viewObject();
1687 if (!isset(
$_POST[
"id"])) {
1688 $ilErr->raiseError($this->lng->txt(
"no_checkbox"),
$ilErr->MESSAGE);
1690 if (count(
$_POST[
"id"]) > 1) {
1691 $ilErr->raiseError($this->lng->txt(
"cont_select_max_one_item"),
$ilErr->MESSAGE);
1695 $ilErr->raiseError($this->lng->txt(
"cont_select_item"),
$ilErr->MESSAGE);
1703 if ($a_parent_subobj_id == 0) {
1704 $this->ctrl->redirect($this,
"chapters");
1732 if (!isset(
$_POST[
"id"])) {
1733 $ilErr->raiseError($this->lng->txt(
"no_checkbox"),
$ilErr->MESSAGE);
1736 ilUtil::sendInfo($this->lng->txt(
"cont_selected_items_have_been_cut"),
true);
1742 $this->ctrl->redirect($this,
"pages");
1750 if (
$_GET[
"new_type"] ==
"pg") {
1751 $this->ctrl->redirect($this,
"pages");
1753 $this->ctrl->redirect($this,
"chapters");
1765 if ($ot->getContentActivated()) {
1772 $cont_exp->buildExportFile($opt);
1783 $changelink =
"<a href='" .
$ilCtrl->getLinkTarget($this,
"editMenuProperties") .
"'>" .
$lng->txt(
"change") .
"</a>";
1784 if (!$this->object->isActiveLMMenu()) {
1785 $add =
"<br />" .
$lng->txt(
"cont_download_no_menu") .
" " . $changelink;
1786 } elseif (!$this->object->isActiveDownloads()) {
1787 $add =
"<br />" .
$lng->txt(
"cont_download_no_download") .
" " . $changelink;
1790 $basetype = explode(
"_",
$a_type);
1791 $basetype = $basetype[0];
1793 if ($this->object->getPublicExportFile($basetype) == $a_file) {
1794 return $lng->txt(
"yes") . $add;
1809 if (!isset($a_files)) {
1812 foreach ($a_files as
$f) {
1813 $file = explode(
":", $f);
1814 if (is_int(strpos($file[0],
"_"))) {
1815 $file[0] = explode(
"_", $file[0])[0];
1817 $export_dir = $this->
object->getExportDirectory($file[0]);
1819 if ($this->object->getPublicExportFile($file[0]) ==
1821 $this->
object->setPublicExportFile($file[0],
"");
1823 $this->
object->setPublicExportFile($file[0], $file[1]);
1826 $this->
object->update();
1828 $ilCtrl->redirectByClass(
"ilexportgui");
1838 if (!isset(
$_POST[
"file"])) {
1839 $ilErr->raiseError($this->lng->txt(
"no_checkbox"),
$ilErr->MESSAGE);
1842 if (count(
$_POST[
"file"]) > 1) {
1843 $ilErr->raiseError($this->lng->txt(
"cont_select_max_one_item"),
$ilErr->MESSAGE);
1847 $export_dir = $this->
object->getOfflineDirectory();
1849 $file = basename(
$_POST[
"file"][0]);
1866 $cgui->setFormAction($this->ctrl->getFormAction($this));
1867 $cgui->setHeaderText($this->lng->txt(
"cont_fix_tree_confirm"));
1868 $cgui->setCancel($this->lng->txt(
"cancel"),
"showMaintenance");
1869 $cgui->setConfirm($this->lng->txt(
"cont_fix_tree"),
"fixTree");
1870 $issues = $this->
object->checkStructure();
1872 if (count($issues) > 0) {
1873 $mess =
"Found Issues: <br>" . implode(
"<br>", $issues);
1875 $this->tpl->setContent($cgui->getHTML() . $mess);
1883 $this->
object->fixTree();
1884 ilUtil::sendSuccess($this->lng->txt(
"cont_tree_fixed"),
true);
1885 $this->ctrl->redirect($this,
"showMaintenance");
1893 $a_export_format =
"",
1894 $a_active =
"content",
1895 $a_use_global_tabs =
false,
1896 $a_as_subtabs =
false,
1899 $a_export_all =
false 1909 $ilHelp->setScreenIdComponent(
"lm");
1911 if ($a_as_subtabs) {
1912 $addcmd =
"addSubTabTarget";
1913 $getcmd =
"getSubTabHTML";
1915 $addcmd =
"addTarget";
1916 $getcmd =
"getHTML";
1919 $active[$a_active] =
true;
1921 if (!$this->object->isActiveLMMenu()) {
1925 if ($a_use_global_tabs) {
1938 $showViewInFrameset =
true;
1940 if ($showViewInFrameset && !$a_offline) {
1943 $buttonTarget =
"_top";
1946 if ($a_export_format ==
"scorm") {
1951 if (!$a_offline && $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"])) {
1952 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
1955 $ilCtrl->getLinkTargetByClass(
"illmpresentationgui",
"layout"),
1961 if ($active[
"content"]) {
1962 $ilHelp->setScreenId(
"content");
1963 $ilHelp->setSubScreenId(
"content");
1965 } elseif ($a_offline) {
1966 $tabs_gui->setForcePresentationOfSingleTab(
true);
1969 if ($this->object->isActiveTOC() && $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"])) {
1971 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
1972 $link =
$ilCtrl->getLinkTargetByClass(
"illmpresentationgui",
"showTableOfContents");
1974 if ($a_export_all) {
1975 $link =
"./table_of_contents_" . $a_lang .
".html";
1977 $link =
"./table_of_contents.html";
1991 if ($this->object->isActivePrintView() && $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"])) {
1993 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
1994 $link =
$ilCtrl->getLinkTargetByClass(
"illmpresentationgui",
"showPrintViewSelection");
2007 if (
$ilUser->getId() == ANONYMOUS_USER_ID) {
2008 $is_public = $this->
object->isActiveDownloadsPublic();
2013 if ($this->object->isActiveDownloads() && !$a_offline && $is_public &&
2014 $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"])) {
2015 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
2016 $link =
$ilCtrl->getLinkTargetByClass(
"illmpresentationgui",
"showDownloadList");
2028 if ($a_export_format !=
"scorm" && !$a_offline) {
2030 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
2031 $link = $this->ctrl->getLinkTargetByClass(
2032 array(
"illmpresentationgui",
"ilinfoscreengui"),
2036 $link =
"./info.html";
2050 $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"]) &&
2055 "learning_progress",
2056 $this->ctrl->getLinkTargetByClass(array(
"illmpresentationgui",
"illearningprogressgui"),
"editManual"),
2060 $active[
"learning_progress"]
2064 "learning_progress",
2065 $this->ctrl->getLinkTargetByClass(array(
"illmpresentationgui",
"illearningprogressgui"),
"showtlt"),
2069 $active[
"learning_progress"]
2076 $entries = $this->lmme_obj->getMenuEntries(
true);
2077 if (count($entries) > 0 && $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"])) {
2078 foreach ($entries as $entry) {
2080 if ($entry[
"type"] ==
"intern") {
2081 $entry[
"link"] =
ILIAS_HTTP_PATH .
"/goto.php?target=" . $entry[
"link"];
2085 if (!strstr($entry[
"link"],
'://') && !strstr($entry[
"link"],
'mailto:')) {
2086 $entry[
"link"] =
"http://" . $entry[
"link"];
2089 if (!strstr($entry[
"link"],
'mailto:')) {
2105 if (!$a_offline && $a_cur_page > 0) {
2108 $page_id = $a_cur_page;
2112 "&obj_id=" . $page_id .
"&to_page=1",
2116 $active[
"edit_page"]
2122 $pl_names = $ilPluginAdmin->getActivePluginsForSlot(
IL_COMP_SERVICE,
"UIComponent",
"uihk");
2123 $plugin_html =
false;
2124 foreach ($pl_names as $pl) {
2126 $gui_class = $ui_plugin->getUIClassInstance();
2127 $resp = $gui_class->modifyGUI(
2128 "Modules/LearningModule",
2143 $cont_exp->buildExportFile();
2144 $this->offlineList();
2154 if ($ot->getContentActivated()) {
2159 $cont_exp->buildExportFile();
2168 $cont_exp->buildExportFile();
2180 if (!$a_omit_obj_id) {
2183 $lmtree = $this->
object->getTree();
2186 $path = $lmtree->getPathFull(
$obj_id);
2188 $path = $lmtree->getPathFull($lmtree->getRootId());
2190 $path[] = array(
"type" =>
"pg",
"child" => $this->obj_id,
2195 foreach ($path as $key => $row) {
2196 if ($row[
"child"] == 1) {
2197 $this->ctrl->setParameter($this,
"obj_id",
"");
2198 $locator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this,
"chapters"));
2200 $title = $row[
"title"];
2201 switch ($row[
"type"]) {
2203 $this->ctrl->setParameterByClass(
"ilstructureobjectgui",
"obj_id", $row[
"child"]);
2204 $locator->addItem($title, $this->ctrl->getLinkTargetByClass(
"ilstructureobjectgui",
"view"));
2208 $this->ctrl->setParameterByClass(
"illmpageobjectgui",
"obj_id", $row[
"child"]);
2209 $locator->addItem($title, $this->ctrl->getLinkTargetByClass(
"illmpageobjectgui",
"edit"));
2214 if (!$a_omit_obj_id) {
2215 $this->ctrl->setParameter($this,
"obj_id",
$_GET[
"obj_id"]);
2235 $tpl->setContent($table->getHTML());
2249 $tpl->setContent($table->getHTML());
2260 if (is_array(
$_POST[
"userquest_id"])) {
2261 foreach (
$_POST[
"userquest_id"] as $uqid) {
2262 $uqid = explode(
":", $uqid);
2265 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
2267 $ilCtrl->redirect($this,
"listBlockedUsers");
2278 if (is_array(
$_POST[
"userquest_id"])) {
2279 foreach (
$_POST[
"userquest_id"] as $uqid) {
2280 $uqid = explode(
":", $uqid);
2283 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
2285 $ilCtrl->redirect($this,
"listBlockedUsers");
2295 if (!is_array(
$_POST[
"userquest_id"])) {
2297 $ilCtrl->redirect($this,
"listBlockedUsers");
2301 foreach (
$_POST[
"userquest_id"] as $uqid) {
2302 $uqid = explode(
":", $uqid);
2304 if (!in_array(
$login, $rcps)) {
2314 'rcp_to' => implode(
',', $rcps),
2325 $link = chr(13) . chr(10) . chr(13) . chr(10);
2326 $link .= $this->lng->txt(
'cont_blocked_users_mail_link');
2327 $link .= chr(13) . chr(10) . chr(13) . chr(10);
2329 return rawurlencode(base64_encode($link));
2343 parent::setTitleAndDescription();
2345 $ilHelp->setScreenIdComponent(
"lm");
2365 $lng->txt(
"cont_chapters"),
2366 $ilCtrl->getLinkTarget($this,
"chapters")
2372 $lng->txt(
"cont_all_pages"),
2373 $ilCtrl->getLinkTarget($this,
"pages")
2379 $lng->txt(
"cont_short_titles"),
2380 $ilCtrl->getLinkTargetByClass(
"illmeditshorttitlesgui",
"")
2384 if (
$lm_set->get(
"html_export_ids")) {
2388 $lng->txt(
"cont_html_export_ids"),
2389 $ilCtrl->getLinkTarget($this,
"showExportIDsOverview")
2394 $lng->loadLanguageModule(
"help");
2397 $lng->txt(
"cont_online_help_ids"),
2398 $ilCtrl->getLinkTarget($this,
"showExportIDsOverview")
2403 $lng->txt(
"help_tooltips"),
2404 $ilCtrl->getLinkTarget($this,
"showTooltipList")
2411 $lng->txt(
"cont_internal_links"),
2412 $ilCtrl->getLinkTarget($this,
"listLinks")
2418 $lng->txt(
"link_check"),
2419 $ilCtrl->getLinkTarget($this,
"linkChecker")
2424 $lng->txt(
"history"),
2425 $this->ctrl->getLinkTarget($this,
"history")
2431 $lng->txt(
"cont_maintenance"),
2432 $ilCtrl->getLinkTarget($this,
"showMaintenance")
2438 $lng->txt(
"cont_subtitle_files"),
2439 $ilCtrl->getLinkTargetByClass(
"ilmobmultisrtuploadgui",
"")
2445 $lng->txt(
"cont_import"),
2446 $ilCtrl->getLinkTargetByClass(
"illmimportgui",
"")
2449 $ilTabs->activateSubTab($a_active);
2450 $ilTabs->activateTab(
"content");
2467 $lng->txt(
"cont_question_stats"),
2468 $ilCtrl->getLinkTarget($this,
"listQuestions")
2474 $lng->txt(
"cont_blocked_users"),
2475 $ilCtrl->getLinkTarget($this,
"listBlockedUsers")
2478 $ilTabs->activateSubTab($a_active);
2493 $lng->txt(
"content"),
2494 $this->ctrl->getLinkTarget($this,
"chapters")
2500 $lng->txt(
"info_short"),
2501 $this->ctrl->getLinkTargetByClass(
"ilinfoscreengui",
'showSummary')
2507 $lng->txt(
"settings"),
2508 $this->ctrl->getLinkTarget($this,
'properties')
2514 $lng->txt(
"objs_qst"),
2515 $this->ctrl->getLinkTarget($this,
"listQuestions")
2521 'learning_progress',
2522 $lng->txt(
"learning_progress"),
2523 $this->ctrl->getLinkTargetByClass(array(
'illearningprogressgui'),
'')
2527 if ($this->object->getType() !=
"lm") {
2531 $lng->txt(
"bib_data"),
2532 $this->ctrl->getLinkTarget($this,
"editBibItem")
2538 $mdtab = $mdgui->getTab();
2542 $lng->txt(
"meta_data"),
2547 if ($this->object->getType() ==
"lm") {
2551 $lng->txt(
"export"),
2552 $this->ctrl->getLinkTargetByClass(
"ilexportgui",
"")
2557 if (
$rbacsystem->checkAccess(
'edit_permission', $this->object->getRefId())) {
2560 $lng->txt(
"perm_settings"),
2561 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm")
2566 $ilTabs->activateTab($a_act);
2570 $ilTabs->addNonTabbedLink(
2572 $lng->txt(
"cont_presentation_view"),
2573 "ilias.php?baseClass=ilLMPresentationGUI&ref_id=" . $this->
object->getRefID(),
2588 array(
"settings",
"cont_style",
"cont_lm_menu",
"public_section",
2589 "cont_glossaries",
"cont_multilinguality",
"obj_multilinguality",
2593 $ilTabs->addSubTabTarget(
2595 $this->ctrl->getLinkTarget($this,
'properties'),
2601 $ilTabs->addSubTabTarget(
2603 $this->ctrl->getLinkTarget($this,
'editStyleProperties'),
2609 $ilTabs->addSubTabTarget(
2611 $this->ctrl->getLinkTarget($this,
'editMenuProperties'),
2617 $ilTabs->addSubTabTarget(
2619 $this->ctrl->getLinkTarget($this,
'editGlossaries'),
2626 $ilTabs->addSubTabTarget(
2628 $this->ctrl->getLinkTarget($this,
'editPublicSection'),
2634 $ilTabs->addSubTabTarget(
2635 "obj_multilinguality",
2636 $this->ctrl->getLinkTargetByClass(
"ilobjecttranslationgui",
"")
2640 if ($lti_settings->hasSettingsAccess()) {
2641 $ilTabs->addSubTabTarget(
2643 $this->ctrl->getLinkTargetByClass(ilLTIProviderObjectSettingGUI::class)
2647 $ilTabs->setSubTabActive($a_active);
2658 if (!$ilAccess->checkAccessOfUser(ANONYMOUS_USER_ID,
"read",
"", $this->object->getRefId())) {
2664 $ilTabs->setTabActive(
"settings");
2666 $this->tpl->addBlockFile(
2669 "tpl.lm_public_selector.html",
2670 "Modules/LearningModule" 2678 $modes = array(
"complete" => $this->lng->txt(
"all_pages"),
"selected" => $this->lng->txt(
"selected_pages_only"));
2680 $si->setOptions($modes);
2681 $si->setValue($this->object->getPublicAccessMode());
2682 $ilToolbar->addInputItem($si,
true);
2683 $ilToolbar->addFormButton($this->lng->txt(
"save"),
"savePublicSectionAccess");
2684 $ilToolbar->setFormAction($this->ctrl->getFormAction($this,
"savePublicSectionAccess"));
2686 if ($this->object->getPublicAccessMode() ==
"selected") {
2687 $this->tpl->setCurrentBlock(
"select_pages");
2688 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getLinkTarget($this,
"savePublicSectionPages"));
2691 $tree->setSelectMode(
"pages",
true);
2692 $tree->setSkipRootNode(
true);
2694 $this->tpl->setVariable(
"EXPLORER",
$tree->getHTML());
2695 $this->tpl->setVariable(
"TXT_SAVE", $this->lng->txt(
"save"));
2697 $this->tpl->parseCurrentBlock();
2704 $this->
object->setPublicAccessMode(
$_POST[
"lm_public_mode"]);
2705 $this->
object->updateProperties();
2707 ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"),
true);
2708 $this->ctrl->redirect($this,
"editPublicSection");
2716 $this->
object->setPublicAccessMode(
$_POST[
"lm_public_mode"]);
2717 $this->
object->updateProperties();
2718 ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"),
true);
2719 $this->ctrl->redirect($this,
"editPublicSection");
2728 ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"),
true);
2729 $this->ctrl->redirect($this,
"editPublicSection");
2745 $this->object->getId(),
2746 $this->
object->getType()
2749 $hist_gui->setCommentVisibility($this->object->isActiveHistoryUserComments());
2751 $this->tpl->setContent($hist_gui->getHTML());
2767 $actions->setSelectionHeaderClass(
'small');
2768 $actions->setItemLinkClass(
'xsmall');
2769 $actions->setListTitle($this->lng->txt(
'actions'));
2770 $actions->setId($row[
'page_id']);
2771 $this->ctrl->setParameterByClass(
'ilLMPageObjectGUI',
'obj_id', $row[
'page_id']);
2773 $this->lng->txt(
'edit'),
2775 $this->ctrl->getLinkTargetByClass(
'ilLMPageObjectGUI',
'edit')
2777 $this->ctrl->clearParametersByClass(
'ilLMPageObjectGUI');
2778 $row[
'action_html'] = $actions->getHTML();
2797 $chb =
new ilCheckboxInputGUI($this->lng->txt(
'link_check_message_a'),
'link_check_message');
2800 $chb->setOptionTitle($this->lng->txt(
'link_check_message_b'));
2803 $toolbar->addFormButton($this->lng->txt(
'save'),
'saveLinkCheck');
2804 $toolbar->setFormAction($this->ctrl->getLinkTarget($this,
'saveLinkCheck'));
2808 $tgui->setLinkChecker($this->link_checker_obj)
2809 ->setRowHandler($this)
2810 ->setRefreshButton($this->lng->txt(
'refresh'),
'refreshLinkCheck');
2812 return $tpl->setContent($tgui->prepareHTML()->getHTML() .
$toolbar->getHTML());
2821 $link_check_notify->setUserId(
$ilUser->getId());
2822 $link_check_notify->setObjId($this->object->getId());
2824 if (
$_POST[
'link_check_message']) {
2825 ilUtil::sendSuccess($this->lng->txt(
'link_check_message_enabled'));
2826 $link_check_notify->addNotifier();
2828 ilUtil::sendSuccess($this->lng->txt(
'link_check_message_disabled'));
2829 $link_check_notify->deleteNotifier();
2841 $this->link_checker_obj->checkLinks();
2842 ilUtil::sendSuccess($this->lng->txt(
'link_checker_refreshed'));
2854 $this->link_checker_obj->setObjId($this->object->getId());
2862 $this->lmme_obj->setObjId($this->object->getId());
2879 $ilTabs->setTabActive(
"settings");
2882 $ilToolbar->addButton(
2883 $this->lng->txt(
"lm_menu_select_internal_object"),
2884 $ilCtrl->getLinkTarget($this,
"showEntrySelector")
2888 $this->tpl->setContent($form->getHTML());
2904 $ti =
new ilTextInputGUI($this->lng->txt(
"lm_menu_entry_title"),
"title");
2905 $ti->setMaxLength(255);
2907 $form->addItem($ti);
2910 $ta =
new ilTextInputGUI($this->lng->txt(
"lm_menu_entry_target"),
"target");
2911 $ta->setMaxLength(255);
2913 $form->addItem($ta);
2915 if ($a_mode ==
"edit") {
2917 $this->lmme_obj->readEntry($_REQUEST[
"menu_entry"]);
2918 $ti->setValue($this->lmme_obj->getTitle());
2919 $ta->setValue($this->lmme_obj->getTarget());
2922 if (isset(
$_GET[
"link_ref_id"])) {
2923 $link_ref_id = (int)
$_GET[
"link_ref_id"];
2928 $target_link = $obj_type .
"_" . $link_ref_id;
2929 $ti->setValue($title);
2930 $ta->setValue($target_link);
2934 $hi->setValue($link_ref_id);
2935 $form->addItem($hi);
2940 if ($a_mode ==
"create") {
2941 $form->addCommandButton(
"saveMenuEntry",
$lng->txt(
"save"));
2942 $form->addCommandButton(
"editMenuProperties",
$lng->txt(
"cancel"));
2943 $form->setTitle(
$lng->txt(
"lm_menu_new_entry"));
2945 $form->addCommandButton(
"updateMenuEntry",
$lng->txt(
"save"));
2946 $form->addCommandButton(
"editMenuProperties",
$lng->txt(
"cancel"));
2947 $form->setTitle(
$lng->txt(
"lm_menu_edit_entry"));
2950 $form->setFormAction(
$ilCtrl->getFormAction($this));
2963 if (empty(
$_POST[
"title"])) {
2965 $ilCtrl->redirect($this,
"addMenuEntry");
2967 if (empty(
$_POST[
"target"])) {
2969 $ilCtrl->redirect($this,
"addMenuEntry");
2973 $this->lmme_obj->setTitle(
$_POST[
"title"]);
2974 $this->lmme_obj->setTarget(
$_POST[
"target"]);
2975 $this->lmme_obj->setLinkRefId(
$_POST[
"link_ref_id"]);
2977 if (
$_POST[
"link_ref_id"]) {
2978 $this->lmme_obj->setLinkType(
"intern");
2981 $this->lmme_obj->create();
2983 ilUtil::sendSuccess($this->lng->txt(
"msg_entry_added"),
true);
2984 $this->ctrl->redirect($this,
"editMenuProperties");
2994 if (empty(
$_GET[
"menu_entry"])) {
2995 $ilErr->raiseError($this->lng->txt(
"no_menu_entry_id"),
$ilErr->MESSAGE);
2999 $this->lmme_obj->delete(
$_GET[
"menu_entry"]);
3001 ilUtil::sendSuccess($this->lng->txt(
"msg_entry_removed"),
true);
3002 $this->ctrl->redirect($this,
"editMenuProperties");
3017 $ilTabs->setTabActive(
"settings");
3021 if (empty(
$_GET[
"menu_entry"])) {
3022 $ilErr->raiseError($this->lng->txt(
"no_menu_entry_id"),
$ilErr->MESSAGE);
3025 $ilCtrl->saveParameter($this, array(
"menu_entry"));
3026 $ilToolbar->addButton(
3027 $this->lng->txt(
"lm_menu_select_internal_object"),
3028 $ilCtrl->getLinkTarget($this,
"showEntrySelector")
3032 $this->tpl->setContent($form->getHTML());
3042 if (empty($_REQUEST[
"menu_entry"])) {
3043 $ilErr->raiseError($this->lng->txt(
"no_menu_entry_id"),
$ilErr->MESSAGE);
3047 if (empty(
$_POST[
"title"])) {
3048 $ilErr->raiseError($this->lng->txt(
"please_enter_title"),
$ilErr->MESSAGE);
3050 if (empty(
$_POST[
"target"])) {
3051 $ilErr->raiseError($this->lng->txt(
"please_enter_target"),
$ilErr->MESSAGE);
3055 $this->lmme_obj->readEntry($_REQUEST[
"menu_entry"]);
3056 $this->lmme_obj->setTitle(
$_POST[
"title"]);
3057 $this->lmme_obj->setTarget(
$_POST[
"target"]);
3058 if (
$_POST[
"link_ref_id"]) {
3059 $this->lmme_obj->setLinkType(
"intern");
3061 if (is_int(strpos(
$_POST[
"target"],
"."))) {
3062 $this->lmme_obj->setLinkType(
"extern");
3064 $this->lmme_obj->update();
3066 ilUtil::sendSuccess($this->lng->txt(
"msg_entry_updated"),
true);
3067 $this->ctrl->redirect($this,
"editMenuProperties");
3077 $ilTabs->setTabActive(
"settings");
3080 $ilCtrl->saveParameter($this, array(
"menu_entry"));
3082 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.lm_menu_object_selector.html",
"Modules/LearningModule");
3088 $exp->
setExpand(
$_GET[
"lm_menu_expand"] ?
$_GET[
"lm_menu_expand"] : $this->tree->readRootId());
3089 $exp->setExpandTarget($this->ctrl->getLinkTarget($this,
'showEntrySelector'));
3090 $exp->setTargetGet(
"ref_id");
3091 $exp->setRefId($this->cur_ref_id);
3093 $sel_types = array(
'mcst',
'mep',
'cat',
'lm',
'glo',
'frm',
'exc',
'tst',
'svy',
'chat',
'wiki',
'sahs',
3094 "crs",
"grp",
"book",
"tst",
"file");
3095 $exp->setSelectableTypes($sel_types);
3099 $output = $exp->getOutput();
3102 foreach ($exp->format_options as $node) {
3103 if (!$node[
"container"]) {
3104 $pages[] = $node[
"child"];
3109 $this->tpl->setVariable(
"TXT_SET_PUBLIC_MODE", $this->lng->txt(
"set_public_mode"));
3110 $this->tpl->setVariable(
"TXT_CHOOSE_PUBLIC_MODE", $this->lng->txt(
"choose_public_mode"));
3111 $modes = array(
"complete" => $this->lng->txt(
"all_pages"),
"selected" => $this->lng->txt(
"selected_pages_only"));
3112 $select_public_mode =
ilUtil::formSelect($this->object->getPublicAccessMode(),
"lm_public_mode", $modes,
false,
true);
3113 $this->tpl->setVariable(
"SELECT_PUBLIC_MODE", $select_public_mode);
3115 $this->tpl->setVariable(
"TXT_EXPLORER_HEADER", $this->lng->txt(
"choose_public_pages"));
3116 $this->tpl->setVariable(
"EXP_REFRESH", $this->lng->txt(
"refresh"));
3117 $this->tpl->setVariable(
"EXPLORER", $output);
3118 $this->tpl->setVariable(
"ONCLICK", $js_pages);
3119 $this->tpl->setVariable(
"TXT_CHECKALL", $this->lng->txt(
"check_all"));
3120 $this->tpl->setVariable(
"TXT_UNCHECKALL", $this->lng->txt(
"uncheck_all"));
3121 $this->tpl->setVariable(
"TXT_SAVE", $this->lng->txt(
"save"));
3122 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getLinkTarget($this,
"savePublicSection"));
3132 if (!isset(
$_POST[
"id"])) {
3133 $ilErr->raiseError($this->lng->txt(
"no_checkbox"),
$ilErr->MESSAGE);
3135 if (count(
$_POST[
"id"]) > 1) {
3136 $ilErr->raiseError($this->lng->txt(
"cont_select_max_one_item"),
$ilErr->MESSAGE);
3138 if (
$_POST[
"id"][0] != $this->object->getHeaderPage()) {
3139 $this->
object->setHeaderPage(
$_POST[
"id"][0]);
3141 $this->
object->setHeaderPage(0);
3143 $this->
object->updateProperties();
3144 $this->ctrl->redirect($this,
"pages");
3154 if (!isset(
$_POST[
"id"])) {
3155 $ilErr->raiseError($this->lng->txt(
"no_checkbox"),
$ilErr->MESSAGE);
3157 if (count(
$_POST[
"id"]) > 1) {
3158 $ilErr->raiseError($this->lng->txt(
"cont_select_max_one_item"),
$ilErr->MESSAGE);
3160 if (
$_POST[
"id"][0] != $this->object->getFooterPage()) {
3161 $this->
object->setFooterPage(
$_POST[
"id"][0]);
3163 $this->
object->setFooterPage(0);
3165 $this->
object->updateProperties();
3166 $this->ctrl->redirect($this,
"pages");
3178 ilUtil::sendSuccess($this->lng->txt(
"lm_save_titles"),
true);
3179 $ilCtrl->redirect($this,
"chapters");
3194 $parent_id = $this->lm_tree->getParentId($node_id);
3197 $parent_id = $node_id;
3201 for (
$i = 1;
$i <= $num;
$i++) {
3203 $chap->setType(
"st");
3204 $chap->setTitle(
$lng->txt(
"cont_new_chap"));
3205 $chap->setLMId($this->object->getId());
3210 $ilCtrl->redirect($this,
"chapters");
3225 $ilLog->write(
"InsertChapterClip, num: $num, node_id: $node_id, " .
3228 if (!$first_child) {
3229 $parent_id = $this->lm_tree->getParentId($node_id);
3232 $parent_id = $node_id;
3237 $chapters =
$ilUser->getClipboardObjects(
"st",
true);
3238 $copied_nodes = array();
3239 foreach ($chapters as $chap) {
3240 $ilLog->write(
"Call pasteTree, Target LM: " . $this->object->getId() .
", Chapter ID: " . $chap[
"id"]
3241 .
", Parent ID: " . $parent_id .
", Target: " . $target);
3247 $chap[
"insert_time"],
3256 $ilUser->clipboardDeleteObjectsOfType(
"pg");
3257 $ilUser->clipboardDeleteObjectsOfType(
"st");
3261 $this->
object->checkTree();
3262 $ilCtrl->redirect($this,
"chapters");
3274 $ilAccess = $DIC->access();
3276 $lng = $DIC->language();
3278 if ($ilAccess->checkAccess(
"read",
"", $a_target)) {
3279 $_GET[
"baseClass"] =
"ilLMPresentationGUI";
3280 $_GET[
"ref_id"] = $a_target;
3281 $_GET[
"cmd"] =
"resume";
3282 include(
"ilias.php");
3284 } elseif ($ilAccess->checkAccess(
"visible",
"", $a_target)) {
3285 $_GET[
"baseClass"] =
"ilLMPresentationGUI";
3286 $_GET[
"ref_id"] = $a_target;
3287 $_GET[
"cmd"] =
"infoScreen";
3288 include(
"ilias.php");
3290 } elseif ($ilAccess->checkAccess(
"read",
"", ROOT_FOLDER_ID)) {
3292 $lng->txt(
"msg_no_perm_read_item"),
3311 if (!is_array($items)) {
3313 $ilCtrl->redirect($this, $a_return);
3317 foreach ($items as $k => $item) {
3322 foreach ($todel as $k) {
3329 $ilCtrl->redirect($this, $a_return);
3341 if (!is_array($items)) {
3343 $ilCtrl->redirect($this,
"chapters");
3347 foreach ($items as $k => $item) {
3352 foreach ($todel as $k) {
3358 $ilCtrl->redirect($this,
"chapters");
3391 $ilToolbar->setFormAction(
$ilCtrl->getFormAction($this));
3392 $lm_tree = $this->
object->getTree();
3393 $childs = $lm_tree->getChilds($lm_tree->readRootId());
3394 $options = array(
"" =>
$lng->txt(
"all"));
3395 foreach ($childs as
$c) {
3396 $options[$c[
"child"]] = $c[
"title"];
3399 $si->setOptions($options);
3401 $ilToolbar->addInputItem(
$si,
true);
3402 $ilToolbar->addFormButton(
$lng->txt(
"help_filter"),
"filterHelpChapters");
3409 $tpl->setContent($tbl->getHTML());
3423 $ilCtrl->redirect($this,
"showExportIDsOverview");
3437 if (is_array(
$_POST[
"exportid"])) {
3438 foreach (
$_POST[
"exportid"] as $pg_id => $exp_id) {
3439 if ($exp_id !=
"" && !preg_match(
3440 "/^([a-zA-Z]+)[0-9a-zA-Z_]*$/",
3449 $lng->txt(
"cont_exp_ids_not_resp_format3") .
" " .
3450 $lng->txt(
"cont_exp_ids_not_resp_format2"));
3456 if (is_array(
$_POST[
"exportid"])) {
3457 foreach (
$_POST[
"exportid"] as $pg_id => $exp_id) {
3459 $this->object->getId(),
3467 ilUtil::sendSuccess(
$lng->txt(
"cont_saved_export_ids"),
true);
3468 $ilCtrl->redirect($this,
"showExportIdsOverview");
3482 if (is_array(
$_POST[
"screen_ids"])) {
3483 foreach (
$_POST[
"screen_ids"] as $chap => $ids) {
3484 $ids = explode(
"\n", $ids);
3488 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
3489 $ilCtrl->redirect($this,
"showExportIdsOverview");
3512 $ilToolbar->setFormAction(
$ilCtrl->getFormAction($this));
3513 $ti =
new ilTextInputGUI($this->lng->txt(
"help_tooltip_id"),
"tooltip_id");
3514 $ti->setMaxLength(200);
3516 $ilToolbar->addInputItem($ti,
true);
3517 $ilToolbar->addFormButton(
$lng->txt(
"add"),
"addTooltip");
3518 $ilToolbar->addSeparator();
3525 $si->setOptions($options);
3527 $ilToolbar->addInputItem(
$si,
true);
3528 $ilToolbar->addFormButton(
$lng->txt(
"help_filter"),
"filterTooltips");
3532 $tpl->setContent($tbl->getHTML());
3547 if (trim($tt_id) !=
"") {
3548 if (is_int(strpos($tt_id,
"_"))) {
3550 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
3552 $fu = strpos($tt_id,
"_");
3553 $comp = substr($tt_id, 0, $fu);
3559 $ilCtrl->redirect($this,
"showTooltipList");
3574 $ilCtrl->redirect($this,
"showTooltipList");
3589 if (is_array(
$_POST[
"text"])) {
3590 foreach (
$_POST[
"text"] as $id => $text) {
3597 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
3599 $ilCtrl->redirect($this,
"showTooltipList");
3610 if (is_array(
$_POST[
"id"])) {
3611 foreach (
$_POST[
"id"] as $id) {
3614 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
3616 $ilCtrl->redirect($this,
"showTooltipList");
3632 $lng = $DIC->language();
3636 if ($a_def_option !=
"") {
3640 $layout->addOption(
new ilRadioOption(
"<table><tr><td>" . $im_tag .
"</td><td><b>" .
3641 $lng->txt(
"cont_lm_default_layout") .
3642 "</b>: " .
$lng->txt(
"cont_layout_" . $a_def_option) .
3643 "</td></tr></table>",
""));
3650 $layout->addOption(
new ilRadioOption(
"<table><tr><td style='padding: 0px 5px 5px;'>" .
3651 $im_tag .
"</td><td style='padding:5px;'><b>" .
$lng->txt(
"cont_layout_" . $l) .
"</b>: " .
3652 $lng->txt(
"cont_layout_" . $l .
"_desc") .
"</td></tr></table>", $l));
3664 $ilCtrl->setParameter($this,
"hierarchy",
"1");
3678 if (!is_array(
$_POST[
"id"])) {
3681 if ($a_in_hierarchy) {
3682 $ilCtrl->redirect($this,
"chapters");
3684 $ilCtrl->redirect($this,
"pages");
3690 $tpl->setContent($this->form->getHTML());
3703 if (is_array(
$_POST[
"id"])) {
3704 foreach (
$_POST[
"id"] as $id) {
3707 $this->form->addItem($hi);
3710 $layout = self::getLayoutOption(
3711 $lng->txt(
"cont_layout"),
3713 $this->
object->getLayout()
3715 $this->form->addItem($layout);
3717 $this->form->addCommandButton(
"savePageLayout",
$lng->txt(
"save"));
3718 $this->form->addCommandButton(
"pages",
$lng->txt(
"cancel"));
3720 $this->form->setTitle(
$lng->txt(
"cont_set_layout"));
3721 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
3732 $ilCtrl->setParameter($this,
"hierarchy",
$_GET[
"hierarchy"]);
3734 foreach (
$_POST[
"id"] as $id) {
3741 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
3743 if (
$_GET[
"hierarchy"] == 1) {
3744 $ilCtrl->redirect($this,
"chapters");
3746 $ilCtrl->redirect($this,
"pages");
3769 $ilTabs->setTabActive(
"settings");
3772 $ilToolbar->addButton(
3774 $ilCtrl->getLinkTarget($this,
"showLMGlossarySelector")
3798 $ilTabs->setTabActive(
"settings");
3803 $exp->setExpandTarget(
$ilCtrl->getLinkTarget($this,
'showLMGlossarySelector'));
3804 $exp->setTargetClass(get_class($this));
3805 $exp->setCmd(
'confirmGlossarySelection');
3806 $exp->setClickableTypes(array(
"glo"));
3807 $exp->addFilter(
"glo");
3811 $tpl->setContent($exp->getOutput());
3824 $ilCtrl->setParameter($this,
"glo_ref_id",
$_GET[
"root_id"]);
3825 $cgui->setFormAction(
$ilCtrl->getFormAction($this));
3826 $cgui->setHeaderText(
$lng->txt(
"cont_link_glo_in_lm"));
3827 $cgui->setCancel(
$lng->txt(
"no"),
"selectLMGlossary");
3828 $cgui->setConfirm(
$lng->txt(
"yes"),
"selectLMGlossaryLink");
3829 $tpl->setContent($cgui->getHTML());
3840 $glo_ref_id = (int)
$_GET[
"glo_ref_id"];
3842 $this->
object->autoLinkGlossaryTerms($glo_ref_id);
3858 $glos = $this->
object->getAutoGlossaries();
3859 $glo_ref_id = (int)
$_GET[
"glo_ref_id"];
3861 if (!in_array($glo_id, $glos)) {
3864 $this->
object->setAutoGlossaries($glos);
3865 $this->
object->update();
3867 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
3868 $ilCtrl->redirect($this,
"editGlossaries");
3882 $this->
object->removeAutoGlossary((
int)
$_GET[
"glo_id"]);
3883 $this->
object->update();
3885 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
3886 $ilCtrl->redirect($this,
"editGlossaries");
3899 $ilCtrl->setParameter($this,
"transl",
"");
3900 if (
$_GET[
"lang_switch_mode"] ==
"short_titles") {
3901 $ilCtrl->redirectByClass(
"illmeditshorttitlesgui",
"");
3903 $ilCtrl->redirect($this,
"chapters");
3916 $ilCtrl->setParameter($this,
"transl",
$_GET[
"totransl"]);
3917 if (
$_GET[
"lang_switch_mode"] ==
"short_titles") {
3918 $ilCtrl->redirectByClass(
"illmeditshorttitlesgui",
"");
3920 $ilCtrl->redirect($this,
"chapters");
3926 return parent::redrawHeaderActionObject();
listBlockedUsers()
List blocked users.
static _lookupLogin($a_user_id)
lookup login
cutItems($a_return="chapters")
Copy items to clipboard, then cut them from the current tree.
resetNumberOfTries()
Reset number of tries.
exportSCORM()
create scorm package
unlockQuestion()
Unlock blocked question.
addTabs($a_act="")
Adds tabs.
static resetTries($a_q_id, $a_user_id)
Reset tries.
This class represents an option in a radio group.
moveChapter($a_parent_subobj_id=0)
move a single chapter (selection)
static _getPresentationTitle( $a_pg_id, $a_mode=self::CHAPTER_TITLE, $a_include_numbers=false, $a_time_scheduled_activation=false, $a_force_content=false, $a_lm_id=0, $a_lang="-", $a_include_short=false)
presentation title doesn't have to be page title, it may be chapter title + page title or chapter tit...
static updateInternalLinks($a_copied_nodes, $a_parent_type="lm")
Update internal links, after multiple pages have been copied.
sendMailToBlockedUsers()
Send Mail to blocked users.
static hasNotification($type, $user_id, $id)
Check notification status for object and user.
editMasterLanguage()
Edit master language.
static saveExportId($a_lm_id, $a_lmobj_id, $a_exp_id, $a_type="pg")
Save export id.
pasteChapter($a_parent_subobj_id=0)
paste chapter
Class ilObjLearningModule.
static _lookupType($a_obj_id, $a_lm_id=0)
Lookup type.
initMenuForm()
Init menu form.
setSubTabs($a_active)
Set sub tabs.
Import related features for learning modules.
saveExportIds()
Save export IDs.
setPageLayoutInHierarchy()
Set layout for multipl pages.
setValue($a_value)
Set Value.
showActions($a_actions)
show possible action (form buttons)
exportHTML()
create html package
selectLMGlossary()
Select lm glossary.
initMenuEntryForm($a_mode="edit")
Init menu entry form.
GUI class for the workflow of copying objects.
initStylePropertiesForm()
Init style properties form.
const TYPE_LM_BLOCKED_USERS
setTabs($a_act="")
output tabs
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
showMaintenance()
Show maintenance.
static getImageTagByType($a_type, $a_path, $a_big=false)
Builds an html image tag TODO: function still in use, but in future use getImagePath and move HTML-Co...
static saveTitles($a_lm, $a_titles, $a_lang="-")
Save titles for lm objects.
updateMenuEntry()
update a menu entry
savePageLayout()
Save page layout.
listLinks()
List all broken links.
activatePages()
activates or deactivates pages
saveTooltips()
Save tooltips.
static getAvailableLayouts()
get all available lm layouts
static get($a_var)
Get a value.
const LP_MODE_COLLECTION_MANUAL
static _writePublicAccessStatus($a_pages, $a_cont_obj_id)
update public access flags in lm_data for all pages of a content object
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
Class ilStructureObjectGUI.
static getLayoutOption($a_txt, $a_var, $a_def_option="")
Get layout option.
static set($a_var, $a_val)
Set a value.
popup()
popup window for wysiwyg editor
showExportIDsOverview($a_validation=false)
Show export IDs overview.
static _lookupTitle($a_id)
lookup object title
setQuestionsSubTabs($a_active)
Set pages tabs.
Export class for content objects.
class for checking external links in page objects Normally used in Cron jobs, but should be extensibl...
static writeLayout($a_obj_id, $a_layout, $a_lm=null)
Write layout setting.
static _getStandardStyles( $a_exclude_default_style=false, $a_include_deactivated=false, $a_scope=0)
Get standard styles.
const LP_MODE_COLLECTION_TLT
static _lookupContObjID($a_id)
get learning module / digibook id for lm object
Base exception class for learning modules.
editMenuProperties()
Edit menu properies.
viewObject()
viewObject container presentation for "administration -> repository, trash, permissions" ...
createObject()
create new object form
createPDF()
export content object
class for checking external links in page objects.
static _lookupTitle($a_obj_id)
Lookup title.
importFileObject($parent_id=null, $a_catch_errors=true)
display status information or report errors messages in case of error
saveMenuProperties()
save properties
saveAllTitles()
Save all titles of chapters/pages.
static _createEntry( $a_obj_id, $a_action, $a_info_params="", $a_obj_type="", $a_user_comment="", $a_update_last=false)
Creates a new history entry for an object.
initImportForm($a_new_type)
Init import form.
saveStyleSettings()
Save style settings.
getPropertiesFormValues()
Get values for properties form.
view()
view content object
Class ilECSLearningModuleSettings.
static _lookupObjectId($a_ref_id)
lookup object id
fixTreeConfirm()
confirm screen for tree fixing
static _lookupStandard($a_id)
Lookup standard flag.
static getTooltipComponents($a_module_id=0)
Get all tooltip components.
setilLMMenu( $a_offline=false, $a_export_format="", $a_active="content", $a_use_global_tabs=false, $a_as_subtabs=false, $a_cur_page=0, $a_lang="", $a_export_all=false)
get lm menu html
class ilLinkCheckerTableGUI
proceedDragDrop()
proceed drag and drop operations on pages/chapters
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
downloadPDFFile()
download export file
getPublicAccessColValue($a_type, $a_file)
Get public access value for export table.
Export User Interface Class.
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
setCustomRolesForSelection($a_roles)
Set custom roles for mapping to LTI roles.
prepareOutput($a_show_subobjects=true)
prepare output
selectFooter()
select page as footer
saveProperties()
save properties
saveHelpMapping()
Save help mapping.
static storeContentObject($a_type, $a_id, $a_action="cut")
addLocations($a_omit_obj_id=false)
display locator
static appendUrlParameterString($a_url, $a_par, $xml_style=false)
append URL parameter string ("par1=value1&par2=value2...") to given URL string
afterSave(ilObject $a_new_object)
exportObject()
export object
static getMultiLangHeader($a_lm_id, $a_gui_class, $a_mode="")
Get multi lang header.
TableGUI class for (broken) links in learning module.
GUI class for LTI provider object settings.
Upload SRT files to a set of media objects.
static clipboardCopy($a_cont_obj_id, $a_ids)
Copy a set of chapters/pages into the clipboard.
static _lookupActive($a_id, $a_parent_type, $a_check_scheduled_activation=false, $a_lang="-")
lookup activation status
deleteTooltips()
Delete tooltips.
properties()
edit properties form
static _writeActive($a_id, $a_parent_type, $a_active, $a_reset_scheduled_activation=true, $a_lang="-")
write activation status
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
copyItems()
Copy items to clipboard.
savePublicSectionAccess()
Saves lm access mode.
selectHeader()
select page as header
importObject()
display dialogue for importing XML-LeaningObjects
Class ilObjectGUI Basic methods of all Output classes.
static _lookupObjId($a_id)
addMenuEntry()
display add menu entry form
omitLocator($a_omit=true)
deleteMenuEntry()
drop a menu entry
selectLMGlossaryLink()
Select a glossary and link all its terms.
static putInTree($a_obj, $a_parent_id="", $a_target_node_id="")
put this object into content object tree
static setNotification($type, $user_id, $id, $status=true)
Set notification status for object and user.
TableGUI class for glossary tables.
static clipboardCut($a_cont_obj_id, $a_ids)
Copy a set of chapters/pages into the clipboard.
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
static getInstance(&$a_content_obj, $a_id=0, $a_halt=true)
insertChapterClip()
Insert Chapter from clipboard.
saveMenuEntry()
save new menu entry
copyChapter($a_parent_subobj_id=0)
copy a single chapter (selection)
Page multilinguality GUI class.
static getPluginObject($a_ctype, $a_cname, $a_slot_id, $a_pname)
Get Plugin Object.
setPageLayout($a_in_hierarchy=false)
Set layout for multipl pages.
interface ilLinkCheckerGUIRowHandling
publishExportFile($a_files)
download export file
setTitleAndDescription()
called by prepare output
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
manifest.xml file not found-exception for import
static getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
static img($a_src, $a_alt=null, $a_width="", $a_height="", $a_border=0, $a_id="", $a_class="")
Build img tag.
static _lookupType($a_id, $a_reference=false)
lookup object type
static getContentObjectType()
explorer()
output explorer tree
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
cancelDelete()
cancel delete
static stripSlashesArray($a_arr, $a_strip_html=true, $a_allow="")
Strip slashes from array.
static isOnlineHelpModule($a_id, $a_as_obj_id=false)
Is module an online module.
Copyright (c) 1998-2014 ILIAS open source, Extended GPL, see docs/LICENSE Date: 24.10.14 Time: 10:35.
confirmedDelete($a_parent_subobj_id=0)
delete page object or structure objects
setContentSubTabs($a_active)
Set pages tabs.
static _getNotifyStatus($a_usr_id, $a_obj_id)
formatInvalidLinkArray(array $row)
editMenuEntry()
edit menu entry form
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.
This class represents a non editable value in a property form.
static getContentObjectId()
Class ilObjStyleSheetGUI.
confirmGlossarySelection()
Confirm glossary selection.
static unlock($a_q_id, $a_user_id)
Reset tries.
__construct(Container $dic, ilPlugin $plugin)
filterTooltips()
Filter tooltips.
const LP_CONTEXT_REPOSITORY
This class represents a text area property in a property form.
static getInstance($a_obj_id)
Get instance.
deleteStyle()
Delete Style.
getBlockedUsersMailSignature()
Get mail signature for blocked users.
initPropertiesForm()
Init properties form.
__construct($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=false)
Constructor.
Class ilObjContentObjectGUI.
getCreationMode()
get creation mode
getRefId()
get reference id public
getContextPath($a_endnode_id, $a_startnode_id=1)
get context path in content object tree
static deleteTooltip($a_id)
Delete tooltip.
savePublicSectionPages()
Saves public lm pages.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
export()
export content object
setTabs()
set admin tabs public
editGlossaries()
Edit automatically linked glossaries.
initSetPageLayoutForm()
Init set page layout form.
static pasteTree( $a_target_lm, $a_item_id, $a_parent_id, $a_target, $a_insert_time, &$a_copied_nodes, $a_as_copy=false, $a_source_lm=null)
Paste item (tree) from clipboard to current lm.
Class ilObjContentObject.
switchToLanguage()
Switch to language.
update()
update object in db
static saveScreenIdsForChapter($a_chap, $a_ids)
Save screen ids for chapter.
editStyleProperties()
Edit style properties.
static isJobActive($a_job_id)
Check if given job is currently active.
showLMGlossarySelector()
Select LM Glossary.
static setAction($a_action)
static updateTooltip($a_id, $a_text, $a_tt_id)
Update tooltip.
static redirect($a_script)
cutChapter()
Cut chapter(s)
static getInstance($a_obj_id)
filterHelpChapters()
Filter help chapters.
addHeaderAction()
Add header action menu.
Class ilObjUserTrackingGUI.
showTooltipList()
Show export IDs overview.
executeCommand()
execute command
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
removeLMGlossary()
Remove lm glossary.
setExpand($a_node_id)
set the expand option this value is stored in a SESSION variable to save it different view (lo view...
static addTooltip($a_tt_id, $a_text, $a_module_id=0)
Add tooltip.
for($i=6; $i< 13; $i++) for($i=1; $i< 13; $i++) $d
GUI class for object translation handling.
TableGUI class for all pages of a learning module.
static deliverFile( $a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
Confirmation screen class.
insertChapter()
Insert (multiple) chapters at node.
createStyle()
Create Style.
listQuestions()
List questions.
Handler class for multi srt upload in learning modules.
tree explorer lm public area
static _goto($a_target)
redirect script