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();
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");
162 $lti_gui->setCustomRolesForSelection(
$GLOBALS[
'DIC']->rbac()->review()->getLocalRoles($this->object->getRefId()));
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);
198 $style_gui->omitLocator();
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"));
515 $toc_mode->setOptions($option);
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);
578 $this->form->setTitle(
$lng->txt(
"cont_lm_properties"));
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");
1119 $fi->setSuffixes(array(
"zip"));
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;
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");
1246 $form_gui->setFormAction(
$ilCtrl->getFormAction($this));
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",
"");
1268 $this->tpl->setContent($ml_head . $ctpl->get());
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()
2748 $hist_gui->initTable();
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'));
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();
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");
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);
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");
3802 $exp->setExpand(
$_GET[
"search_root_expand"] ?
$_GET[
"search_root_expand"] :
$tree->readRootId());
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();
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
An exception for terminatinating execution or to throw for unit testing.
error($a_errmsg)
set error message @access public
User interface class for advanced drop-down selection lists.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
Confirmation screen class.
Export class for content objects.
static isJobActive($a_job_id)
Check if given job is currently active.
Class ilECSLearningModuleSettings.
static getContentObjectId()
static getContentObjectType()
static setAction($a_action)
static storeContentObject($a_type, $a_id, $a_action="cut")
Base class for ILIAS Exception handling.
Export User Interface Class.
static saveScreenIdsForChapter($a_chap, $a_ids)
Save screen ids for chapter.
static addTooltip($a_tt_id, $a_text, $a_module_id=0)
Add tooltip.
static updateTooltip($a_id, $a_text, $a_tt_id)
Update tooltip.
static getTooltipComponents($a_module_id=0)
Get all tooltip components.
static deleteTooltip($a_id)
Delete tooltip.
Copyright (c) 1998-2014 ILIAS open source, Extended GPL, see docs/LICENSE Date: 24....
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.
Base exception class for learning modules.
TableGUI class for glossary tables.
Import related features for learning modules.
Handler class for multi srt upload in learning modules.
static getInstance(&$a_content_obj, $a_id=0, $a_halt=true)
static _lookupType($a_obj_id, $a_lm_id=0)
Lookup type.
static clipboardCopy($a_cont_obj_id, $a_ids)
Copy a set of chapters/pages into the clipboard.
static _lookupContObjID($a_id)
get learning module / digibook id for lm object
static clipboardCut($a_cont_obj_id, $a_ids)
Copy a set of chapters/pages into the clipboard.
static saveTitles($a_lm, $a_titles, $a_lang="-")
Save titles for lm objects.
static saveExportId($a_lm_id, $a_lmobj_id, $a_exp_id, $a_type="pg")
Save export id.
static updateInternalLinks($a_copied_nodes, $a_parent_type="lm")
Update internal links, after multiple pages have been copied.
static _lookupTitle($a_obj_id)
Lookup title.
static _writePublicAccessStatus($a_pages, $a_cont_obj_id)
update public access flags in lm_data for all pages of a content object@access public
static putInTree($a_obj, $a_parent_id="", $a_target_node_id="")
put this object into content object tree
static writeLayout($a_obj_id, $a_layout, $a_lm=null)
Write layout setting.
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.
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...
TableGUI class for all pages of a learning module.
const LP_MODE_COLLECTION_TLT
const LP_MODE_COLLECTION_MANUAL
GUI class for LTI provider object settings.
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
const LP_CONTEXT_REPOSITORY
Class ilObjUserTrackingGUI.
class for checking external links in page objects.
static _getNotifyStatus($a_usr_id, $a_obj_id)
class ilLinkCheckerTableGUI
class for checking external links in page objects Normally used in Cron jobs, but should be extensibl...
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
TableGUI class for (broken) links in learning module.
manifest.xml file not found-exception for import
Upload SRT files to a set of media objects.
This class represents a non editable value in a property form.
static setNotification($type, $user_id, $id, $status=true)
Set notification status for object and user.
static hasNotification($type, $user_id, $id)
Check notification status for object and user.
const TYPE_LM_BLOCKED_USERS
Class ilObjContentObjectGUI.
fixTreeConfirm()
confirm screen for tree fixing
addMenuEntry()
display add menu entry form
setPageLayout($a_in_hierarchy=false)
Set layout for multipl pages.
deleteTooltips()
Delete tooltips.
removeLMGlossary()
Remove lm glossary.
deleteMenuEntry()
drop a menu entry
sendMailToBlockedUsers()
Send Mail to blocked users.
properties()
edit properties form
selectLMGlossary()
Select lm glossary.
saveExportIds()
Save export IDs.
filterTooltips()
Filter tooltips.
showExportIDsOverview($a_validation=false)
Show export IDs overview.
savePageLayout()
Save page layout.
deleteStyle()
Delete Style.
static getMultiLangHeader($a_lm_id, $a_gui_class, $a_mode="")
Get multi lang header.
setTabs($a_act="")
output tabs
filterHelpChapters()
Filter help chapters.
unlockQuestion()
Unlock blocked question.
getContextPath($a_endnode_id, $a_startnode_id=1)
get context path in content object tree
addLocations($a_omit_obj_id=false)
display locator
confirmGlossarySelection()
Confirm glossary selection.
importObject()
display dialogue for importing XML-LeaningObjects
cutItems($a_return="chapters")
Copy items to clipboard, then cut them from the current tree.
showMaintenance()
Show maintenance.
showActions($a_actions)
show possible action (form buttons)
selectHeader()
select page as header
savePublicSectionPages()
Saves public lm pages.
importFileObject($parent_id=null, $a_catch_errors=true)
display status information or report errors messages in case of error
initSetPageLayoutForm()
Init set page layout form.
savePublicSectionAccess()
Saves lm access mode.
insertChapter()
Insert (multiple) chapters at node.
executeCommand()
execute command
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
saveAllTitles()
Save all titles of chapters/pages.
formatInvalidLinkArray(array $row)
editStyleProperties()
Edit style properties.
copyItems()
Copy items to clipboard.
saveMenuProperties()
save properties
initPropertiesForm()
Init properties form.
proceedDragDrop()
proceed drag and drop operations on pages/chapters
publishExportFile($a_files)
download export file
__construct($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=false)
Constructor.
confirmedDelete($a_parent_subobj_id=0)
delete page object or structure objects
exportSCORM()
create scorm package
pasteChapter($a_parent_subobj_id=0)
paste chapter
exportHTML()
create html package
saveHelpMapping()
Save help mapping.
cutChapter()
Cut chapter(s)
saveTooltips()
Save tooltips.
exportObject()
export object
getPropertiesFormValues()
Get values for properties form.
editMasterLanguage()
Edit master language.
static _goto($a_target)
redirect script
popup()
popup window for wysiwyg editor
saveMenuEntry()
save new menu entry
getPublicAccessColValue($a_type, $a_file)
Get public access value for export table.
showTooltipList()
Show export IDs overview.
initMenuForm()
Init menu form.
listLinks()
List all broken links.
listQuestions()
List questions.
selectFooter()
select page as footer
createStyle()
Create Style.
setContentSubTabs($a_active)
Set pages tabs.
initMenuEntryForm($a_mode="edit")
Init menu entry form.
initStylePropertiesForm()
Init style properties form.
setSubTabs($a_active)
Set sub tabs.
setPageLayoutInHierarchy()
Set layout for multipl pages.
saveProperties()
save properties
switchToLanguage()
Switch to language.
createPDF()
export content object
listBlockedUsers()
List blocked users.
updateMenuEntry()
update a menu entry
insertChapterClip()
Insert Chapter from clipboard.
activatePages()
activates or deactivates pages
moveChapter($a_parent_subobj_id=0)
move a single chapter (selection)
downloadPDFFile()
download export file
afterSave(ilObject $a_new_object)
Post (successful) object creation hook.
view()
view content object
explorer()
output explorer tree
static getLayoutOption($a_txt, $a_var, $a_def_option="")
Get layout option.
selectLMGlossaryLink()
Select a glossary and link all its terms.
cancelDelete()
cancel delete
showLMGlossarySelector()
Select LM Glossary.
copyChapter($a_parent_subobj_id=0)
copy a single chapter (selection)
initImportForm($a_new_type)
Init import form.
editMenuEntry()
edit menu entry form
getBlockedUsersMailSignature()
Get mail signature for blocked users.
editGlossaries()
Edit automatically linked glossaries.
saveStyleSettings()
Save style settings.
setQuestionsSubTabs($a_active)
Set pages tabs.
export()
export content object
addTabs($a_act="")
Adds tabs.
resetNumberOfTries()
Reset number of tries.
editMenuProperties()
Edit menu properies.
Class ilObjContentObject.
static getAvailableLayouts()
get all available lm layouts
static isOnlineHelpModule($a_id, $a_as_obj_id=false)
Is module an online module.
Class ilObjLearningModule.
Class ilObjStyleSheetGUI.
static _lookupStandard($a_id)
Lookup standard flag.
static _getStandardStyles( $a_exclude_default_style=false, $a_include_deactivated=false, $a_scope=0)
Get standard styles.
static _lookupLogin($a_user_id)
lookup login
GUI class for the workflow of copying objects.
static getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
Class ilObjectGUI Basic methods of all Output classes.
prepareOutput($a_show_subobjects=true)
prepare output
viewObject()
viewObject container presentation for "administration -> repository, trash, permissions"
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
getCreationMode()
get creation mode
addHeaderAction()
Add header action menu.
createObject()
create new object form
setTabs()
set admin tabs @access public
setTitleAndDescription()
called by prepare output
static getInstance($a_obj_id)
GUI class for object translation handling.
static getInstance($a_obj_id)
Get instance.
Class ilObject Basic functions for all objects.
static _lookupObjId($a_id)
update()
update object in db
static _lookupTitle($a_id)
lookup object title
static _lookupObjectId($a_ref_id)
lookup object id
getRefId()
get reference id @access public
static _lookupType($a_id, $a_reference=false)
lookup object type
Page multilinguality GUI class.
static _lookupActive($a_id, $a_parent_type, $a_check_scheduled_activation=false, $a_lang="-")
lookup activation status
static _writeActive($a_id, $a_parent_type, $a_active, $a_reset_scheduled_activation=true, $a_lang="-")
write activation status
static resetTries($a_q_id, $a_user_id)
Reset tries.
static unlock($a_q_id, $a_user_id)
Reset tries.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static getPluginObject($a_ctype, $a_cname, $a_slot_id, $a_pname)
Get Plugin Object.
tree explorer lm public area
This class represents an option in a radio group.
static set($a_var, $a_val)
Set a value.
static get($a_var)
Get a value.
Class ilStructureObjectGUI.
special template class to simplify handling of ITX/PEAR
This class represents a text area property in a property form.
This class represents a text property in a property form.
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
static appendUrlParameterString($a_url, $a_par, $xml_style=false)
append URL parameter string ("par1=value1&par2=value2...") to given URL string
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 getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
static redirect($a_script)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static img($a_src, $a_alt=null, $a_width="", $a_height="", $a_border=0, $a_id="", $a_class="")
Build img tag.
static deliverFile( $a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
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 sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static stripSlashesArray($a_arr, $a_strip_html=true, $a_allow="")
Strip slashes from array.
for( $i=6;$i< 13;$i++) for($i=1; $i< 13; $i++) $d
interface ilLinkCheckerGUIRowHandling
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc