4 include_once
"./Services/Object/classes/class.ilObjectGUI.php";
5 include_once
"./Modules/LearningModule/classes/class.ilObjContentObject.php";
6 include_once(
"./Modules/LearningModule/classes/class.ilLMPageObjectGUI.php");
7 include_once(
"./Modules/LearningModule/classes/class.ilStructureObjectGUI.php");
8 require_once
'Services/LinkChecker/interfaces/interface.ilLinkCheckerGUIRowHandling.php';
65 public function __construct($a_data, $a_id = 0, $a_call_by_reference =
true, $a_prepare_output =
false)
69 $this->lng = $DIC->language();
70 $this->access = $DIC->access();
71 $this->tabs = $DIC->tabs();
72 $this->error = $DIC[
"ilErr"];
74 $this->
user = $DIC->user();
75 $this->tpl = $DIC[
"tpl"];
76 $this->toolbar = $DIC->toolbar();
77 $this->rbacsystem = $DIC->rbac()->system();
78 $this->tree = $DIC->repositoryTree();
79 $this->plugin_admin = $DIC[
"ilPluginAdmin"];
80 $this->help = $DIC[
"ilHelp"];
81 $this->locator = $DIC[
"ilLocator"];
82 $this->db = $DIC->database();
83 $this->log = $DIC[
"ilLog"];
84 $lng = $DIC->language();
88 $lng->loadLanguageModule(
"content");
89 $lng->loadLanguageModule(
"obj");
90 parent::__construct($a_data, $a_id, $a_call_by_reference,
false);
104 if ($this->ctrl->getRedirectSource() ==
"ilinternallinkgui") {
109 if ($this->ctrl->getCmdClass() ==
"ilinternallinkgui") {
110 $this->ctrl->setReturn($this,
"explorer");
114 $next_class = $this->ctrl->getNextClass($this);
118 if (
$_GET[
"to_props"] == 1) {
119 $cmd = $this->ctrl->getCmd(
"properties");
121 $cmd = $this->ctrl->getCmd(
"chapters");
126 switch ($next_class) {
127 case 'illtiproviderobjectsettinggui':
130 $ilTabs->setTabActive(
"settings");
135 $lti_gui->offerLTIRolesForSelection(
true);
136 $this->ctrl->forwardCommand($lti_gui);
141 case "illearningprogressgui":
144 include_once
'./Services/Tracking/classes/class.ilLearningProgressGUI.php';
145 $this->
setTabs(
"learning_progress");
148 $this->ctrl->forwardCommand($new_gui);
152 case 'ilobjectmetadatagui':
153 if (!$ilAccess->checkAccess(
'write',
'', $this->object->getRefId())) {
154 $ilErr->raiseError($this->lng->txt(
'permission_denied'),
$ilErr->WARNING);
161 include_once
'Services/Object/classes/class.ilObjectMetaDataGUI.php';
163 $md_gui->addMDObserver($this->
object,
'MDUpdateListener',
'Educational');
164 $md_gui->addMDObserver($this->
object,
'MDUpdateListener',
'General');
165 $this->ctrl->forwardCommand($md_gui);
168 case "ilobjstylesheetgui":
170 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheetGUI.php");
171 $this->ctrl->setReturn($this,
"editStyleProperties");
174 if ($cmd ==
"create" ||
$_GET[
"new_type"]==
"sty") {
175 $style_gui->setCreationMode(
true);
177 $ret = $this->ctrl->forwardCommand($style_gui);
180 if ($cmd ==
"save" || $cmd ==
"copyStyle" || $cmd ==
"importStyle") {
182 $this->
object->setStyleSheetId($style_id);
183 $this->
object->update();
184 $this->ctrl->redirectByClass(
"ilobjstylesheetgui",
"edit");
188 case "illmpageobjectgui":
190 $ilTabs->setBackTarget(
191 $lng->txt(
"learning module"),
192 $ilCtrl->getLinkTarget($this,
"chapters")
194 $this->ctrl->saveParameter($this,
array(
"obj_id"));
196 $this->ctrl->setReturn($this,
"chapters");
199 if (
$_GET[
"obj_id"] !=
"") {
201 $pg_gui->setLMPageObject($obj);
204 $ret = $this->ctrl->forwardCommand($pg_gui);
205 if ($cmd ==
"save" || $cmd ==
"cancel") {
210 case "ilstructureobjectgui":
211 $ilTabs->setBackTarget(
212 $lng->txt(
"learning module"),
213 $ilCtrl->getLinkTarget($this,
"chapters")
216 $this->ctrl->saveParameter($this,
array(
"obj_id"));
218 $this->ctrl->setReturn($this,
"chapters");
220 if (
$_GET[
"obj_id"] !=
"") {
222 $st_gui->setStructureObject($obj);
225 $ret = $this->ctrl->forwardCommand($st_gui);
226 if ($cmd ==
"save" || $cmd ==
"cancel") {
227 if (
$_GET[
"obj_id"] ==
"") {
228 $this->ctrl->redirect($this,
"chapters");
230 $this->ctrl->setCmd(
"subchap");
236 case 'ilpermissiongui':
237 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui") {
244 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
246 $ret = $this->ctrl->forwardCommand($perm_gui);
250 case 'ilinfoscreengui':
254 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
256 $info->enablePrivateNotes();
257 $info->enableLearningProgress();
260 if ($ilAccess->checkAccess(
"write",
"",
$_GET[
"ref_id"])) {
261 $info->enableNewsEditing();
262 $info->setBlockProperty(
"news",
"settings",
true);
266 $info->addMetaDataSections(
269 $this->
object->getType()
272 $ret = $this->ctrl->forwardCommand(
$info);
280 include_once(
"./Services/Export/classes/class.ilExportGUI.php");
284 $exp_gui->addFormat(
"xml");
285 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
287 if ($ot->getContentActivated()) {
288 $exp_gui->addFormat(
"xml_master",
"XML (" .
$lng->txt(
"cont_master_language_only") .
")", $this,
"export");
289 $exp_gui->addFormat(
"xml_masternomedia",
"XML (" .
$lng->txt(
"cont_master_language_only_no_media") .
")", $this,
"export");
291 $lng->loadLanguageModule(
"meta");
292 $langs = $ot->getLanguages();
293 foreach ($langs as
$l => $ldata) {
294 $exp_gui->addFormat(
"html_" .
$l,
"HTML (" .
$lng->txt(
"meta_l_" .
$l) .
")", $this,
"exportHTML");
296 $exp_gui->addFormat(
"html_all",
"HTML (" .
$lng->txt(
"cont_all_languages") .
")", $this,
"exportHTML");
298 $exp_gui->addFormat(
"html",
"", $this,
"exportHTML");
301 $exp_gui->addFormat(
"scorm",
"", $this,
"exportSCORM");
302 $exp_gui->addCustomColumn(
303 $lng->txt(
"cont_public_access"),
305 "getPublicAccessColValue" 307 $exp_gui->addCustomMultiCommand(
308 $lng->txt(
"cont_public_access"),
312 $ret = $this->ctrl->forwardCommand($exp_gui);
315 case 'ilobjecttranslationgui':
323 include_once(
"./Services/Object/classes/class.ilObjectTranslationGUI.php");
325 $transgui->setTitleDescrOnlyMode(
false);
326 $this->ctrl->forwardCommand($transgui);
330 case "ilcommonactiondispatchergui":
331 include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
333 $this->ctrl->forwardCommand($gui);
336 case 'ilobjectcopygui':
338 include_once
'./Services/Object/classes/class.ilObjectCopyGUI.php';
341 $this->ctrl->forwardCommand($cp);
355 case "ilmobmultisrtuploadgui":
360 include_once(
"./Services/MediaObjects/classes/class.ilMobMultiSrtUploadGUI.php");
361 include_once(
"./Modules/LearningModule/classes/class.ilLMMultiSrt.php");
363 $this->ctrl->forwardCommand($gui);
366 case "illmimportgui":
371 include_once(
"./Modules/LearningModule/classes/class.ilLMImportGUI.php");
373 $this->ctrl->forwardCommand($gui);
376 case "illmeditshorttitlesgui":
381 include_once(
"./Modules/LearningModule/classes/class.ilLMEditShortTitlesGUI.php");
383 $this->ctrl->forwardCommand($gui);
387 $new_type =
$_POST[
"new_type"]
392 if ($cmd ==
"create" &&
393 !in_array($new_type,
array(
"lm"))) {
398 $this->ctrl->setCmdClass(
"ilLMPageObjectGUI");
404 $this->ctrl->setCmdClass(
"ilStructureObjectGUI");
411 in_array($new_type,
array(
"lm"))) {
417 $ret = $this->$cmd();
421 $ret = $this->$cmd();
431 return array(
"ilLMPageObjectGUI",
"ilStructureObjectGUI",
"ilObjStyleSheetGUI");
441 $lng->loadLanguageModule(
"style");
449 if ($this->
object->getType() ==
"lm") {
451 include_once
'Modules/LearningModule/classes/class.ilECSLearningModuleSettings.php';
453 $ecs->addSettingsToForm($this->form,
'lm');
456 $this->tpl->setContent($this->form->getHTML());
468 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
477 $this->form->addItem($ti);
484 $this->form->addItem($ta);
486 $lng->loadLanguageModule(
"rep");
488 $section->setTitle($this->lng->txt(
'rep_activation_availability'));
493 $this->form->addItem($online);
497 $section->setTitle($this->lng->txt(
'cont_presentation'));
501 $layout = self::getLayoutOption(
$lng->txt(
"cont_def_layout"),
"lm_layout");
506 $lpp->
setInfo($this->lng->txt(
"cont_layout_per_page_info"));
507 $this->form->addItem($lpp);
511 $option =
array(
"st_title" => $this->lng->txt(
"cont_st_title"),
512 "pg_title" => $this->lng->txt(
"cont_pg_title"),
513 "none" => $this->lng->txt(
"cont_none"));
514 $page_header->setOptions($option);
515 $this->form->addItem($page_header);
519 $this->form->addItem($chap_num);
523 $option =
array(
"chapters" => $this->lng->txt(
"cont_chapters_only"),
524 "pages" => $this->lng->txt(
"cont_chapters_and_pages"));
525 $toc_mode->setOptions($option);
526 $this->form->addItem($toc_mode);
536 $progr_icons->
setInfo($this->lng->txt(
"cont_progress_icons_info"));
537 $this->form->addItem($progr_icons);
541 $section->setTitle($this->lng->txt(
'cont_self_assessment'));
547 $op1 =
new ilRadioOption(
$lng->txt(
"cont_tries_reset_on_visit"), 0,
$lng->txt(
"cont_tries_reset_on_visit_info"));
548 $radg->addOption($op1);
550 $radg->addOption($op2);
551 $this->form->addItem($radg);
555 $qfeed->
setInfo($this->lng->txt(
"cont_restrict_forw_nav_info"));
556 $this->form->addItem($qfeed);
560 $not->
setInfo($this->lng->txt(
"cont_notify_on_blocked_users_info"));
561 $qfeed->addSubItem($not);
565 $qfeed->
setInfo($this->lng->txt(
"cont_disable_def_feedback_info"));
566 $this->form->addItem($qfeed);
570 $section->setTitle($this->lng->txt(
'obj_features'));
575 $this->lng->loadLanguageModule(
"notes");
577 $pub_nodes->
setInfo($this->lng->txt(
"cont_lm_comments_desc"));
578 $this->form->addItem($pub_nodes);
583 $com->
setInfo($this->lng->txt(
"enable_hist_user_comments_desc"));
584 $this->form->addItem($com);
587 $this->lng->loadLanguageModule(
'rating');
589 $rate->
setInfo($this->lng->txt(
'rating_activate_rating_info'));
590 $this->form->addItem($rate);
591 $ratep =
new ilCheckboxInputGUI($this->lng->txt(
'lm_activate_rating'),
'rating_pages');
592 $this->form->addItem($ratep);
595 $this->form->addCommandButton(
"saveProperties",
$lng->txt(
"save"));
596 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
608 $title = $this->
object->getTitle();
610 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
612 if ($ot->getContentActivated()) {
613 $title = $ot->getDefaultTitle();
617 $values[
"title"] =
$title;
619 if ($this->
object->getOnline()) {
620 $values[
"cobj_online"] =
true;
622 $values[
"lm_layout"] = $this->
object->getLayout();
623 $values[
"lm_pg_header"] = $this->
object->getPageHeader();
624 if ($this->
object->isActiveNumbering()) {
625 $values[
"cobj_act_number"] =
true;
627 $values[
"toc_mode"] = $this->
object->getTOCMode();
628 if ($this->
object->publicNotes()) {
629 $values[
"cobj_pub_notes"] =
true;
631 if ($this->
object->cleanFrames()) {
632 $values[
"cobj_clean_frames"] =
true;
634 if ($this->
object->isActiveHistoryUserComments()) {
635 $values[
"cobj_user_comments"] =
true;
637 $values[
"layout_per_page"] = $this->
object->getLayoutPerPage();
638 $values[
"rating"] = $this->
object->hasRating();
639 $values[
"rating_pages"] = $this->
object->hasRatingPages();
640 $values[
"disable_def_feedback"] = $this->
object->getDisableDefaultFeedback();
641 $values[
"progr_icons"] = $this->
object->getProgressIcons();
642 $values[
"store_tries"] = $this->
object->getStoreTries();
643 $values[
"restrict_forw_nav"] = $this->
object->getRestrictForwardNavigation();
645 include_once
"./Services/Notification/classes/class.ilNotification.php";
649 $this->
object->getId()
652 $this->form->setValuesByArray($values);
666 if ($this->form->checkInput()) {
667 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
669 if ($ot->getContentActivated()) {
670 $ot->setDefaultTitle(
$_POST[
'title']);
671 $ot->setDefaultDescription(
$_POST[
'description']);
675 $this->
object->setTitle(
$_POST[
'title']);
676 $this->
object->setDescription(
$_POST[
'description']);
677 $this->
object->setLayout(
$_POST[
"lm_layout"]);
678 $this->
object->setPageHeader(
$_POST[
"lm_pg_header"]);
679 $this->
object->setTOCMode(
$_POST[
"toc_mode"]);
680 $this->
object->setOnline(
$_POST[
"cobj_online"]);
681 $this->
object->setActiveNumbering(
$_POST[
"cobj_act_number"]);
682 $this->
object->setCleanFrames(
$_POST[
"cobj_clean_frames"]);
684 $this->
object->setPublicNotes(
$_POST[
"cobj_pub_notes"]);
686 $this->
object->setHistoryUserComments(
$_POST[
"cobj_user_comments"]);
687 $this->
object->setLayoutPerPage(
$_POST[
"layout_per_page"]);
688 $this->
object->setRating(
$_POST[
"rating"]);
689 $this->
object->setRatingPages(
$_POST[
"rating_pages"]);
690 $this->
object->setDisableDefaultFeedback((
int)
$_POST[
"disable_def_feedback"]);
691 $this->
object->setProgressIcons((
int) $_POST[
"progr_icons"]);
694 if ($_POST[
"restrict_forw_nav"] && !$_POST[
"store_tries"]) {
695 $_POST[
"store_tries"] = 1;
696 $add_info =
"</br>" .
$lng->txt(
"cont_automatically_set_store_tries");
697 $add_info = str_replace(
"$1",
$lng->txt(
"cont_tries_store"), $add_info);
698 $add_info = str_replace(
"$2",
$lng->txt(
"cont_restrict_forw_nav"), $add_info);
701 $this->
object->setStoreTries((
int) $_POST[
"store_tries"]);
702 $this->
object->setRestrictForwardNavigation((
int) $_POST[
"restrict_forw_nav"]);
703 $this->
object->updateProperties();
704 $this->
object->update();
706 include_once
"./Services/Notification/classes/class.ilNotification.php";
710 $this->
object->getId(),
711 (bool) $this->form->getInput(
"notification_blocked_users")
715 if ($this->
object->getType() ==
'lm') {
717 include_once
'Modules/LearningModule/classes/class.ilECSLearningModuleSettings.php';
719 if ($ecs->handleSettingsUpdate()) {
729 $this->ctrl->redirect($this,
"properties");
731 $lng->loadLanguageModule(
"style");
735 $this->form->setValuesByPost();
736 $this->tpl->setContent($this->form->getHTML());
748 $tpl->setContent($this->form->getHTML());
761 $lng->loadLanguageModule(
"style");
763 $ilTabs->setTabActive(
"settings");
766 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
769 $fixed_style =
$ilSetting->get(
"fixed_content_style_id");
770 $def_style =
$ilSetting->get(
"default_content_style_id");
771 $style_id = $this->
object->getStyleSheetId();
773 if ($fixed_style > 0) {
776 $this->lng->txt(
"global_fixed") .
")");
777 $this->form->addItem($st);
785 if ($def_style > 0) {
788 $st_styles[0] = $this->lng->txt(
"default");
797 $this->form->addItem($st);
802 $this->form->addCommandButton(
804 $lng->txt(
"cont_edit_style")
806 $this->form->addCommandButton(
808 $lng->txt(
"cont_delete_style")
824 $style_sel->setValue($style_id);
825 $this->form->addItem($style_sel);
827 $this->form->addCommandButton(
831 $this->form->addCommandButton(
833 $lng->txt(
"sty_create_ind_style")
837 $this->form->setTitle(
$lng->txt(
"cont_style"));
838 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
848 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"create");
858 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"edit");
868 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"delete");
878 if (
$ilSetting->get(
"fixed_content_style_id") <= 0 &&
880 || $this->
object->getStyleSheetId() == 0)) {
882 $this->
object->update();
885 $this->ctrl->redirect($this,
"editStyleProperties");
896 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
902 $form->addItem($menu);
907 $form->addItem($toc);
910 $print =
new ilCheckboxInputGUI($this->lng->txt(
"cont_print_view"),
"cobj_act_print");
912 $form->addItem($print);
915 $glo =
new ilCheckboxInputGUI($this->lng->txt(
"cont_print_view_pre_glo"),
"cobj_act_print_prev_glo");
917 $print->addSubItem($glo);
920 $hhfp =
new ilCheckboxInputGUI($this->lng->txt(
"cont_hide_head_foot_print"),
"hide_head_foot_print");
922 $print->addSubItem($hhfp);
925 $no_download_file_available =
926 " " .
$lng->txt(
"cont_no_download_file_available") .
927 " <a href='" .
$ilCtrl->getLinkTargetByClass(
"ilexportgui",
"") .
"'>" .
$lng->txt(
"change") .
"</a>";
928 $types =
array(
"xml",
"html",
"scorm");
929 foreach ($types as
$type) {
930 if ($this->
object->getPublicExportFile($type) !=
"") {
931 if (is_file($this->
object->getExportDirectory($type) .
"/" .
932 $this->
object->getPublicExportFile($type))) {
933 $no_download_file_available =
"";
937 $dl =
new ilCheckboxInputGUI($this->lng->txt(
"cont_downloads"),
"cobj_act_downloads");
938 $dl->
setInfo($this->lng->txt(
"cont_downloads_desc") . $no_download_file_available);
939 $dl->setChecked($this->
object->isActiveDownloads());
943 $pdl =
new ilCheckboxInputGUI($this->lng->txt(
"cont_downloads_public_desc"),
"cobj_act_downloads_public");
945 $dl->addSubItem($pdl);
947 $form->addCommandButton(
"saveMenuProperties",
$lng->txt(
"save"));
949 $form->setTitle(
$lng->txt(
"cont_lm_menu"));
966 $lng->loadLanguageModule(
"style");
968 $ilTabs->setTabActive(
"settings");
971 $ilToolbar->setFormAction(
$ilCtrl->getFormAction($this));
972 $ilToolbar->addFormButton($this->lng->txt(
"add_menu_entry"),
"addMenuEntry");
973 $ilToolbar->setCloseFormTag(
false);
976 $form->setOpenTag(
false);
977 $form->setCloseTag(
false);
980 $entries = $this->lmme_obj->getMenuEntries();
981 include_once(
"./Modules/LearningModule/classes/class.ilLMMenuItemsTableGUI.php");
983 $table->setOpenFormTag(
false);
993 $this->
object->setActiveLMMenu((
int)
$_POST[
"cobj_act_lm_menu"]);
994 $this->
object->setActiveTOC((
int) $_POST[
"cobj_act_toc"]);
995 $this->
object->setActivePrintView((
int) $_POST[
"cobj_act_print"]);
996 $this->
object->setActivePreventGlossaryAppendix((
int) $_POST[
"cobj_act_print_prev_glo"]);
997 $this->
object->setHideHeaderFooterPrint((
int) $_POST[
"hide_head_foot_print"]);
998 $this->
object->setActiveDownloads((
int) $_POST[
"cobj_act_downloads"]);
999 $this->
object->setActiveDownloadsPublic((
int) $_POST[
"cobj_act_downloads_public"]);
1000 $this->
object->updateProperties();
1004 $this->lmme_obj->updateActiveStatus($_POST[
"menu_entries"]);
1007 $this->ctrl->redirect($this,
"editMenuProperties");
1017 $gui_class =
"ilobjlearningmodulegui";
1019 $ilCtrl->setParameterByClass($gui_class,
"active_node",
$_GET[
"active_node"]);
1021 $this->tpl =
new ilTemplate(
"tpl.main.html",
true,
true);
1028 $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.explorer.html");
1031 require_once(
"./Modules/LearningModule/classes/class.ilLMEditorExplorer.php");
1032 $exp =
new ilLMEditorExplorer(
1033 $this->ctrl->getLinkTarget($this,
"view"),
1038 $exp->setTargetGet(
"obj_id");
1039 $exp->setExpandTarget($this->ctrl->getLinkTarget($this,
"explorer"));
1041 if (
$_GET[
"lmmovecopy"] ==
"1") {
1046 if (
$_GET[
"lmexpand"] ==
"") {
1049 $mtree->setTreeTablePK(
"lm_id");
1050 $expanded = $mtree->readRootId();
1052 $expanded =
$_GET[
"lmexpand"];
1054 if (
$_GET[
"active_node"] !=
"") {
1055 $path = $this->lm_tree->getPathId(
$_GET[
"active_node"]);
1056 $exp->setForceOpenPath(
$path);
1058 $exp->highlightNode(
$_GET[
"active_node"]);
1060 $exp->setExpand($expanded);
1072 include_once(
"./Services/COPage/classes/class.ilPageEditorGUI.php");
1091 $this->tpl->setCurrentBlock(
"content");
1092 $this->tpl->setVariable(
"TXT_EXPLORER_HEADER", $this->lng->txt(
"cont_chap_and_pages"));
1093 $this->tpl->setVariable(
"EXP_REFRESH", $this->lng->txt(
"refresh"));
1094 $this->tpl->setVariable(
"EXPLORER",
$output);
1095 $this->ctrl->setParameter($this,
"lmexpand",
$_GET[
"lmexpand"]);
1096 $this->tpl->setVariable(
"ACTION", $this->ctrl->getLinkTarget($this,
"explorer"));
1097 $this->tpl->parseCurrentBlock();
1098 $this->tpl->show(
false);
1107 include_once
"./Services/COPage/classes/class.ilWysiwygUtil.php";
1108 $popup =
new ilWysiwygUtil();
1109 $popup->show(
$_GET[
"ptype"]);
1120 $this->
object->executeDragDrop(
1121 $_POST[
"il_hform_source_id"],
1122 $_POST[
"il_hform_target_id"],
1124 $_POST[
"il_hform_as_subitem"]
1126 $ilCtrl->redirect($this,
"chapters");
1139 $a_new_object->setCleanFrames(
true);
1143 $a_new_object->createLMTree();
1146 $a_new_object->addFirstChapterAndPage();
1151 "&baseClass=ilLMEditorGUI");
1162 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
1166 $this->ctrl->setParameter($this,
"new_type", $new_type);
1169 $form->setTableWidth(
"600px");
1175 $fi->setRequired(
true);
1177 $form->addItem($fi);
1181 $cb->
setInfo($this->lng->txt(
""));
1182 $form->addItem($cb);
1184 $form->addCommandButton(
"importFile",
$lng->txt(
"import"));
1185 $form->addCommandButton(
"cancel",
$lng->txt(
"cancel"));
1187 $form->setTitle($this->lng->txt(
"import_" . $new_type));
1231 parent::importFileObject(null,
false);
1235 $no_manifest =
true;
1238 ilUtil::sendFailure($this->lng->txt(
"obj_import_file_error") .
" <br />" . $e->getMessage());
1239 $form->setValuesByPost();
1244 if (!$no_manifest) {
1250 include_once
"./Modules/LearningModule/classes/class.ilObjLearningModule.php";
1253 $ilErr->raiseError($this->lng->txt(
"no_create_permission"),
$ilErr->MESSAGE);
1257 if (
$form->checkInput()) {
1259 include_once(
"./Modules/LearningModule/classes/class.ilObjContentObject.php");
1261 $newObj->setType(
$_GET[
"new_type"]);
1262 $newObj->setTitle($_FILES[
"importfile"][
"name"]);
1263 $newObj->setDescription(
"");
1264 $newObj->create(
true);
1265 $newObj->createReference();
1266 $newObj->putInTree(
$_GET[
"ref_id"]);
1267 $newObj->setPermissions(
$_GET[
"ref_id"]);
1270 $newObj->createLMTree();
1273 $mess = $newObj->importFromDirectory($this->tmp_import_dir,
$_POST[
"validate"]);
1283 "&baseClass=ilLMEditorGUI");
1285 $link =
'<a href="' .
"ilias.php?ref_id=" . $newObj->getRefId() .
1286 "&baseClass=ilLMEditorGUI" .
'" target="_top">' . $this->lng->txt(
"btn_next") .
'</a>';
1287 $tpl->setContent(
"<br />" . $link .
"<br /><br />" . $mess . $link);
1290 $form->setValuesByPost();
1308 $ilCtrl->setParameter($this,
"backcmd",
"chapters");
1310 include_once(
"./Modules/LearningModule/classes/class.ilChapterHierarchyFormGUI.php");
1313 $form_gui->setTitle($this->
object->getTitle());
1315 $form_gui->setTree($this->lm_tree);
1316 $form_gui->setMaxDepth(0);
1317 $form_gui->setCurrentTopNodeId($this->tree->getRootId());
1318 $form_gui->addMultiCommand(
$lng->txt(
"delete"),
"delete");
1319 $form_gui->addMultiCommand(
$lng->txt(
"cut"),
"cutItems");
1320 $form_gui->addMultiCommand(
$lng->txt(
"copy"),
"copyItems");
1321 if ($this->
object->getLayoutPerPage()) {
1322 $form_gui->addMultiCommand(
$lng->txt(
"cont_set_layout"),
"setPageLayoutInHierarchy");
1325 $form_gui->addCommand(
$lng->txt(
"cont_save_all_titles"),
"saveAllTitles");
1326 $up_gui =
"ilobjlearningmodulegui";
1328 $ctpl =
new ilTemplate(
"tpl.chap_and_pages.html",
true,
true,
"Modules/LearningModule");
1329 $ctpl->setVariable(
"HIERARCHY_FORM", $form_gui->getHTML());
1330 $ilCtrl->setParameter($this,
"obj_id",
"");
1332 $ml_head = self::getMultiLangHeader($this->
object->getId(), $this);
1334 $this->tpl->setContent($ml_head . $ctpl->get());
1347 $lng = $DIC->language();
1351 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
1355 if ($ot->getContentActivated()) {
1356 $ilCtrl->setParameter($a_gui_class,
"lang_switch_mode", $a_mode);
1357 $lng->loadLanguageModule(
"meta");
1360 include_once(
"./Services/COPage/classes/class.ilPageMultiLangGUI.php");
1362 $ml_head = $ml_gui->getMultiLangInfo(
$_GET[
"transl"]);
1365 include_once(
"./Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php");
1367 $list->setListTitle(
$lng->txt(
"actions"));
1368 $list->setId(
"copage_act");
1370 if (!in_array(
$_GET[
"transl"],
array(
"",
"-"))) {
1371 $l = $ot->getMasterLanguage();
1373 $lng->txt(
"cont_edit_language_version") .
": " .
1374 $lng->txt(
"meta_l_" .
$l),
1376 $ilCtrl->getLinkTarget($a_gui_class,
"editMasterLanguage")
1381 foreach ($ot->getLanguages() as $al =>
$lang) {
1382 if (
$_GET[
"transl"] != $al &&
1383 $al != $ot->getMasterLanguage()) {
1384 $ilCtrl->setParameter($a_gui_class,
"totransl", $al);
1386 $lng->txt(
"cont_edit_language_version") .
": " .
1387 $lng->txt(
"meta_l_" . $al),
1389 $ilCtrl->getLinkTarget($a_gui_class,
"switchToLanguage")
1391 $ilCtrl->setParameter($a_gui_class,
"totransl",
$_GET[
"totransl"]);
1397 $ml_head =
'<div class="ilFloatLeft">' . $ml_head .
'</div><div style="margin: 5px 0;" class="small ilRight">' .
$list->getHTML() .
"</div>";
1399 $ilCtrl->setParameter($a_gui_class,
"lang_switch_mode",
"");
1420 $ilCtrl->setParameter($this,
"backcmd",
"pages");
1421 $ilCtrl->setParameterByClass(
"illmpageobjectgui",
"new_type",
"pg");
1422 $ilToolbar->addButton(
1423 $lng->txt(
"pg_add"),
1424 $ilCtrl->getLinkTargetByClass(
"illmpageobjectgui",
"create")
1426 $ilCtrl->setParameterByClass(
"illmpageobjectgui",
"new_type",
"");
1428 include_once(
"./Modules/LearningModule/classes/class.ilLMPagesTableGUI.php");
1430 $tpl->setContent(
$t->getHTML());
1443 include_once(
"./Modules/LearningModule/classes/class.ilLinksTableGUI.php");
1448 $this->
object->getType()
1451 $tpl->setContent($table_gui->getHTML());
1465 $ilToolbar->addButton(
1466 $this->lng->txt(
"cont_fix_tree"),
1467 $this->ctrl->getLinkTarget($this,
"fixTreeConfirm")
1476 if (is_array(
$_POST[
"id"])) {
1478 include_once(
"./Modules/LearningModule/classes/class.ilLMPage.php");
1484 $this->ctrl->redirect($this,
"pages");
1495 $ilErr->raiseError($this->lng->txt(
"no_page_in_clipboard"),
$ilErr->MESSAGE);
1507 $new_page = $lm_page->copy();
1508 $id = $new_page->getId();
1514 $copied_nodes =
array();
1515 $new_page = $lm_page->copyToOtherContObject($this->
object, $copied_nodes);
1516 $id = $new_page->getId();
1531 $page = $lm_page->getPageObject();
1540 $this->ctrl->redirect($this,
"pages");
1550 if (!isset(
$_POST[
"id"])) {
1551 $ilErr->raiseError($this->lng->txt(
"no_checkbox"),
$ilErr->MESSAGE);
1558 ilUtil::sendInfo($this->lng->txt(
"cont_selected_items_have_been_copied"),
true);
1560 $this->ctrl->redirect($this,
"pages");
1570 public function delete($a_parent_subobj_id = 0)
1574 if (!isset(
$_POST[
"id"])) {
1575 $ilErr->raiseError($this->lng->txt(
"no_checkbox"),
$ilErr->MESSAGE);
1579 $ilErr->raiseError($this->lng->txt(
"cont_select_item"),
$ilErr->MESSAGE);
1582 if ($a_parent_subobj_id == 0) {
1586 if ($a_parent_subobj_id != 0) {
1587 $this->ctrl->setParameterByClass(
"ilStructureObjectGUI",
"backcmd",
$_GET[
"backcmd"]);
1588 $this->ctrl->setParameterByClass(
"ilStructureObjectGUI",
"obj_id", $a_parent_subobj_id);
1589 $form_action = $this->ctrl->getFormActionByClass(
"ilStructureObjectGUI");
1591 $this->ctrl->setParameter($this,
"backcmd",
$_GET[
"backcmd"]);
1592 $form_action = $this->ctrl->getFormAction($this);
1596 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
1598 $cgui->setFormAction($form_action);
1599 $cgui->setHeaderText($this->lng->txt(
"info_delete_sure"));
1600 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancelDelete");
1601 $cgui->setConfirm($this->lng->txt(
"confirm"),
"confirmedDelete");
1607 " " . $obj->getTitle();
1609 $cgui->addItem(
"id[]", $id, $caption);
1613 $this->tpl->setContent($cgui->getHTML());
1621 $this->ctrl->redirect($this,
$_GET[
"backcmd"]);
1636 $tree->setTableNames(
'lm_tree',
'lm_data');
1637 $tree->setTreeTablePK(
"lm_id");
1641 $ilErr->raiseError($this->lng->txt(
"no_checkbox"),
$ilErr->MESSAGE);
1648 $node_data =
$tree->getNodeData($id);
1649 if (is_object($obj)) {
1650 $obj->setLMId($this->
object->getId());
1652 include_once(
"./Services/History/classes/class.ilHistory.php");
1655 "delete_" . $obj->getType(),
1657 $this->
object->getType()
1662 if (
$tree->isInTree($id)) {
1663 $tree->deleteTree($node_data);
1669 $this->
object->checkTree();
1674 if ($a_parent_subobj_id == 0) {
1675 $this->ctrl->redirect($this,
$_GET[
"backcmd"]);
1691 $tmpPath = $this->lm_tree->getPathFull($a_endnode_id, $a_startnode_id);
1694 for (
$i = 1;
$i < (count($tmpPath) - 1);
$i++) {
1699 $path .= $tmpPath[
$i][
"title"];
1718 $notoperations =
array();
1720 $operations =
array();
1724 if (!in_array($row[
"name"], $notoperations)) {
1725 $operations[] =
$row;
1730 if (count($operations)>0) {
1731 foreach ($operations as $val) {
1732 $this->tpl->setCurrentBlock(
"operation_btn");
1733 $this->tpl->setVariable(
"BTN_NAME", $val[
"name"]);
1734 $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt($val[
"lng"]));
1735 $this->tpl->parseCurrentBlock();
1738 $this->tpl->setCurrentBlock(
"operation");
1740 $this->tpl->parseCurrentBlock();
1751 $this->
setFormAction(
"addRole", $this->ctrl->getLinkTarget($this,
"addRole"));
1752 $this->
setFormAction(
"permSave", $this->ctrl->getLinkTarget($this,
"permSave"));
1753 $this->permObject();
1762 $this->
setReturnLocation(
"permSave", $this->ctrl->getLinkTarget($this,
"perm"));
1763 $this->permSaveObject();
1772 $this->infoObject();
1782 $this->addRoleObject();
1792 $this->ownerObject();
1801 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui") {
1803 parent::viewObject();
1817 if (!isset(
$_POST[
"id"])) {
1818 $ilErr->raiseError($this->lng->txt(
"no_checkbox"),
$ilErr->MESSAGE);
1821 if (count(
$_POST[
"id"]) > 1) {
1822 $ilErr->raiseError($this->lng->txt(
"cont_select_max_one_item"),
$ilErr->MESSAGE);
1826 $ilErr->raiseError($this->lng->txt(
"cont_select_item"),
$ilErr->MESSAGE);
1834 if ($a_parent_subobj_id == 0) {
1835 $this->ctrl->redirect($this,
"chapters");
1863 if (!isset(
$_POST[
"id"])) {
1864 $ilErr->raiseError($this->lng->txt(
"no_checkbox"),
$ilErr->MESSAGE);
1867 ilUtil::sendInfo($this->lng->txt(
"cont_selected_items_have_been_cut"),
true);
1873 $this->ctrl->redirect($this,
"pages");
1881 if (
$_GET[
"new_type"] ==
"pg") {
1882 $this->ctrl->redirect($this,
"pages");
1884 $this->ctrl->redirect($this,
"chapters");
1896 if ($ot->getContentActivated()) {
1902 require_once(
"./Modules/LearningModule/classes/class.ilContObjectExport.php");
1904 $cont_exp->buildExportFile($opt);
1916 $changelink =
"<a href='" .
$ilCtrl->getLinkTarget($this,
"editMenuProperties") .
"'>" .
$lng->txt(
"change") .
"</a>";
1917 if (!$this->
object->isActiveLMMenu()) {
1918 $add =
"<br />" .
$lng->txt(
"cont_download_no_menu") .
" " . $changelink;
1919 } elseif (!$this->
object->isActiveDownloads()) {
1920 $add =
"<br />" .
$lng->txt(
"cont_download_no_download") .
" " . $changelink;
1923 $basetype = explode(
"_",
$a_type);
1924 $basetype = $basetype[0];
1926 if ($this->
object->getPublicExportFile($basetype) == $a_file) {
1927 return $lng->txt(
"yes") . $add;
1942 if (!isset($a_files)) {
1945 foreach ($a_files as $f) {
1946 $file = explode(
":", $f);
1947 if (is_int(strpos(
$file[0],
"_"))) {
1950 $export_dir = $this->
object->getExportDirectory(
$file[0]);
1952 if ($this->
object->getPublicExportFile(
$file[0]) ==
1954 $this->
object->setPublicExportFile(
$file[0],
"");
1956 $this->
object->setPublicExportFile(
$file[0],
$file[1]);
1959 $this->
object->update();
1961 $ilCtrl->redirectByClass(
"ilexportgui");
1971 if (!isset(
$_POST[
"file"])) {
1972 $ilErr->raiseError($this->lng->txt(
"no_checkbox"),
$ilErr->MESSAGE);
1975 if (count(
$_POST[
"file"]) > 1) {
1976 $ilErr->raiseError($this->lng->txt(
"cont_select_max_one_item"),
$ilErr->MESSAGE);
1980 $export_dir = $this->
object->getOfflineDirectory();
1998 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
2000 $cgui->setFormAction($this->ctrl->getFormAction($this));
2001 $cgui->setHeaderText($this->lng->txt(
"cont_fix_tree_confirm"));
2002 $cgui->setCancel($this->lng->txt(
"cancel"),
"showMaintenance");
2003 $cgui->setConfirm($this->lng->txt(
"cont_fix_tree"),
"fixTree");
2004 $issues = $this->
object->checkStructure();
2006 if (count($issues) > 0) {
2007 $mess =
"Found Issues: <br>" . implode(
"<br>", $issues);
2009 $this->tpl->setContent($cgui->getHTML() . $mess);
2017 $this->
object->fixTree();
2019 $this->ctrl->redirect($this,
"showMaintenance");
2027 $a_export_format =
"",
2028 $a_active =
"content",
2029 $a_use_global_tabs =
false,
2030 $a_as_subtabs =
false,
2033 $a_export_all =
false 2043 $ilHelp->setScreenIdComponent(
"lm");
2045 if ($a_as_subtabs) {
2046 $addcmd =
"addSubTabTarget";
2047 $getcmd =
"getSubTabHTML";
2049 $addcmd =
"addTarget";
2050 $getcmd =
"getHTML";
2053 $active[$a_active] =
true;
2055 if (!$this->
object->isActiveLMMenu()) {
2059 if ($a_use_global_tabs) {
2072 $showViewInFrameset =
true;
2074 if ($showViewInFrameset && !$a_offline) {
2077 $buttonTarget =
"_top";
2080 if ($a_export_format ==
"scorm") {
2085 if (!$a_offline && $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"])) {
2086 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
2089 $ilCtrl->getLinkTargetByClass(
"illmpresentationgui",
"layout"),
2095 if ($active[
"content"]) {
2096 $ilHelp->setScreenId(
"content");
2097 $ilHelp->setSubScreenId(
"content");
2099 } elseif ($a_offline) {
2100 $tabs_gui->setForcePresentationOfSingleTab(
true);
2104 if ($this->
object->isActiveTOC() && $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"])) {
2106 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
2107 $link =
$ilCtrl->getLinkTargetByClass(
"illmpresentationgui",
"showTableOfContents");
2109 if ($a_export_all) {
2110 $link =
"./table_of_contents_" . $a_lang .
".html";
2112 $link =
"./table_of_contents.html";
2126 if ($this->
object->isActivePrintView() && $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"])) {
2128 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
2129 $link =
$ilCtrl->getLinkTargetByClass(
"illmpresentationgui",
"showPrintViewSelection");
2142 if (
$ilUser->getId() == ANONYMOUS_USER_ID) {
2143 $is_public = $this->
object->isActiveDownloadsPublic();
2148 if ($this->
object->isActiveDownloads() && !$a_offline && $is_public &&
2149 $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"])) {
2150 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
2151 $link =
$ilCtrl->getLinkTargetByClass(
"illmpresentationgui",
"showDownloadList");
2163 if ($a_export_format !=
"scorm" && !$a_offline) {
2165 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
2166 $link = $this->ctrl->getLinkTargetByClass(
2167 array(
"illmpresentationgui",
"ilinfoscreengui"),
2171 $link =
"./info.html";
2184 include_once
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
2186 $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"]) &&
2188 include_once
'./Services/Object/classes/class.ilObjectLP.php';
2192 "learning_progress",
2193 $this->ctrl->getLinkTargetByClass(
array(
"illmpresentationgui",
"illearningprogressgui"),
"editManual"),
2197 $active[
"learning_progress"]
2201 "learning_progress",
2202 $this->ctrl->getLinkTargetByClass(
array(
"illmpresentationgui",
"illearningprogressgui"),
"showtlt"),
2206 $active[
"learning_progress"]
2213 $entries = $this->lmme_obj->getMenuEntries(
true);
2214 if (count($entries) > 0 && $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"])) {
2215 foreach ($entries as $entry) {
2217 if ($entry[
"type"] ==
"intern") {
2218 $entry[
"link"] = ILIAS_HTTP_PATH .
"/goto.php?target=" . $entry[
"link"];
2222 if (!strstr($entry[
"link"],
'://') && !strstr($entry[
"link"],
'mailto:')) {
2223 $entry[
"link"] =
"http://" . $entry[
"link"];
2226 if (!strstr($entry[
"link"],
'mailto:')) {
2242 if (!$a_offline && $a_cur_page > 0) {
2245 $page_id = $a_cur_page;
2248 ILIAS_HTTP_PATH .
"/ilias.php?baseClass=ilLMEditorGUI&ref_id=" .
$_GET[
"ref_id"] .
2249 "&obj_id=" . $page_id .
"&to_page=1",
2253 $active[
"edit_page"]
2259 $pl_names = $ilPluginAdmin->getActivePluginsForSlot(
IL_COMP_SERVICE,
"UIComponent",
"uihk");
2260 $plugin_html =
false;
2261 foreach ($pl_names as $pl) {
2263 $gui_class = $ui_plugin->getUIClassInstance();
2264 $resp = $gui_class->modifyGUI(
2265 "Modules/LearningModule",
2279 require_once(
"./Modules/LearningModule/classes/class.ilContObjectExport.php");
2281 $cont_exp->buildExportFile();
2282 $this->offlineList();
2290 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
2293 if ($ot->getContentActivated()) {
2297 require_once(
"./Modules/LearningModule/classes/class.ilContObjectExport.php");
2299 $cont_exp->buildExportFile();
2309 require_once(
"./Modules/LearningModule/classes/class.ilContObjectExport.php");
2311 $cont_exp->buildExportFile();
2328 $par_id =
$tree->getParentId(
$_GET[
"ref_id"]);
2332 if ($par_id != ROOT_FOLDER_ID) {
2333 $this->ctrl->addLocation(
2340 if ($parent_title ==
"ILIAS") {
2341 $parent_title =
$lng->txt(
"repository");
2345 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id", $par_id);
2346 $this->ctrl->addLocation(
2348 $ilCtrl->getLinkTargetByClass(
"ilrepositorygui",
"frameset"),
2352 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id",
$_GET[
"ref_id"]);
2354 if (!$a_omit_obj_id) {
2357 $lmtree = $this->
object->getTree();
2362 $path = $lmtree->getPathFull($lmtree->getRootId());
2364 $path[] =
array(
"type" =>
"pg",
"child" => $this->obj_id,
2372 if (
$row[
"child"] == 1) {
2373 $this->ctrl->setParameter($this,
"obj_id",
"");
2374 $this->ctrl->addLocation(
2375 $this->
object->getTitle(),
2376 $this->ctrl->getLinkTarget($this,
"chapters"),
2382 switch (
$row[
"type"]) {
2384 $this->ctrl->setParameterByClass(
"ilstructureobjectgui",
"obj_id",
$row[
"child"]);
2385 $this->ctrl->addLocation(
2387 $this->ctrl->getLinkTargetByClass(
"ilstructureobjectgui",
"view")
2392 $this->ctrl->setParameterByClass(
"illmpageobjectgui",
"obj_id",
$row[
"child"]);
2393 $this->ctrl->addLocation(
2395 $this->ctrl->getLinkTargetByClass(
"illmpageobjectgui",
"edit")
2401 if (!$a_omit_obj_id) {
2402 $this->ctrl->setParameter($this,
"obj_id",
$_GET[
"obj_id"]);
2421 include_once(
"./Modules/LearningModule/classes/class.ilLMQuestionListTableGUI.php");
2436 include_once(
"./Modules/LearningModule/classes/class.ilLMBlockedUsersTableGUI.php");
2449 include_once(
"./Services/COPage/classes/class.ilPageQuestionProcessor.php");
2450 if (is_array(
$_POST[
"userquest_id"])) {
2451 foreach (
$_POST[
"userquest_id"] as $uqid) {
2452 $uqid = explode(
":", $uqid);
2457 $ilCtrl->redirect($this,
"listBlockedUsers");
2468 include_once(
"./Services/COPage/classes/class.ilPageQuestionProcessor.php");
2469 if (is_array(
$_POST[
"userquest_id"])) {
2470 foreach (
$_POST[
"userquest_id"] as $uqid) {
2471 $uqid = explode(
":", $uqid);
2476 $ilCtrl->redirect($this,
"listBlockedUsers");
2486 if (!is_array(
$_POST[
"userquest_id"])) {
2488 $ilCtrl->redirect($this,
"listBlockedUsers");
2492 foreach (
$_POST[
"userquest_id"] as $uqid) {
2493 $uqid = explode(
":", $uqid);
2495 if (!in_array($login, $rcps)) {
2499 require_once
'Services/Mail/classes/class.ilMailFormCall.php';
2506 'rcp_to' => implode(
',', $rcps),
2517 $link = chr(13) . chr(10) . chr(13) . chr(10);
2518 $link .= $this->lng->txt(
'cont_blocked_users_mail_link');
2519 $link .= chr(13) . chr(10) . chr(13) . chr(10);
2520 include_once
'./Services/Link/classes/class.ilLink.php';
2522 return rawurlencode(base64_encode($link));
2539 $ilHelp->setScreenIdComponent(
"lm");
2542 parent::setTitleAndDescription();
2543 $this->tpl->setTitle($this->
object->getTitle());
2544 $this->tpl->setTitleIcon(
2566 $lng->txt(
"cont_chapters"),
2567 $ilCtrl->getLinkTarget($this,
"chapters")
2573 $lng->txt(
"cont_all_pages"),
2574 $ilCtrl->getLinkTarget($this,
"pages")
2580 $lng->txt(
"cont_short_titles"),
2581 $ilCtrl->getLinkTargetByClass(
"illmeditshorttitlesgui",
"")
2585 if (
$lm_set->get(
"html_export_ids")) {
2589 $lng->txt(
"cont_html_export_ids"),
2590 $ilCtrl->getLinkTarget($this,
"showExportIDsOverview")
2595 $lng->loadLanguageModule(
"help");
2598 $lng->txt(
"cont_online_help_ids"),
2599 $ilCtrl->getLinkTarget($this,
"showExportIDsOverview")
2604 $lng->txt(
"help_tooltips"),
2605 $ilCtrl->getLinkTarget($this,
"showTooltipList")
2612 $lng->txt(
"cont_internal_links"),
2613 $ilCtrl->getLinkTarget($this,
"listLinks")
2619 $lng->txt(
"link_check"),
2620 $ilCtrl->getLinkTarget($this,
"linkChecker")
2625 $lng->txt(
"history"),
2626 $this->ctrl->getLinkTarget($this,
"history")
2632 $lng->txt(
"cont_maintenance"),
2633 $ilCtrl->getLinkTarget($this,
"showMaintenance")
2639 $lng->txt(
"cont_subtitle_files"),
2640 $ilCtrl->getLinkTargetByClass(
"ilmobmultisrtuploadgui",
"")
2646 $lng->txt(
"cont_import"),
2647 $ilCtrl->getLinkTargetByClass(
"illmimportgui",
"")
2650 $ilTabs->activateSubTab($a_active);
2651 $ilTabs->activateTab(
"content");
2668 $lng->txt(
"cont_question_stats"),
2669 $ilCtrl->getLinkTarget($this,
"listQuestions")
2675 $lng->txt(
"cont_blocked_users"),
2676 $ilCtrl->getLinkTarget($this,
"listBlockedUsers")
2679 $ilTabs->activateSubTab($a_active);
2697 $lng->txt(
"content"),
2698 $this->ctrl->getLinkTarget($this,
"chapters")
2704 $lng->txt(
"info_short"),
2705 $this->ctrl->getLinkTargetByClass(
"ilinfoscreengui",
'showSummary')
2711 $lng->txt(
"settings"),
2712 $this->ctrl->getLinkTarget($this,
'properties')
2718 $lng->txt(
"objs_qst"),
2719 $this->ctrl->getLinkTarget($this,
"listQuestions")
2723 include_once
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
2726 'learning_progress',
2727 $lng->txt(
"learning_progress"),
2728 $this->ctrl->getLinkTargetByClass(
array(
'illearningprogressgui'),
'')
2732 if ($this->
object->getType() !=
"lm") {
2736 $lng->txt(
"bib_data"),
2737 $this->ctrl->getLinkTarget($this,
"editBibItem")
2742 include_once
"Services/Object/classes/class.ilObjectMetaDataGUI.php";
2744 $mdtab = $mdgui->getTab();
2748 $lng->txt(
"meta_data"),
2753 if ($this->
object->getType() ==
"lm") {
2757 $lng->txt(
"export"),
2758 $this->ctrl->getLinkTargetByClass(
"ilexportgui",
"")
2763 if (
$rbacsystem->checkAccess(
'edit_permission', $this->object->getRefId())) {
2766 $lng->txt(
"perm_settings"),
2767 $this->ctrl->getLinkTargetByClass(
array(get_class($this),
'ilpermissiongui'),
"perm")
2772 $ilTabs->activateTab($a_act);
2776 $ilTabs->addNonTabbedLink(
2778 $lng->txt(
"cont_presentation_view"),
2779 "ilias.php?baseClass=ilLMPresentationGUI&ref_id=" . $this->
object->getRefID(),
2794 array(
"settings",
"cont_style",
"cont_lm_menu",
"public_section",
2795 "cont_glossaries",
"cont_multilinguality",
"obj_multilinguality",
2799 $ilTabs->addSubTabTarget(
2801 $this->ctrl->getLinkTarget($this,
'properties'),
2807 $ilTabs->addSubTabTarget(
2809 $this->ctrl->getLinkTarget($this,
'editStyleProperties'),
2815 $ilTabs->addSubTabTarget(
2817 $this->ctrl->getLinkTarget($this,
'editMenuProperties'),
2823 $ilTabs->addSubTabTarget(
2825 $this->ctrl->getLinkTarget($this,
'editGlossaries'),
2832 $ilTabs->addSubTabTarget(
2834 $this->ctrl->getLinkTarget($this,
'editPublicSection'),
2845 $ilTabs->addSubTabTarget(
2846 "obj_multilinguality",
2847 $this->ctrl->getLinkTargetByClass(
"ilobjecttranslationgui",
"")
2851 if ($lti_settings->hasSettingsAccess()) {
2852 $ilTabs->addSubTabTarget(
2854 $this->ctrl->getLinkTargetByClass(ilLTIProviderObjectSettingGUI::class)
2858 $ilTabs->setSubTabActive($a_active);
2869 if (!$ilAccess->checkAccessOfUser(ANONYMOUS_USER_ID,
"read",
"", $this->object->getRefId())) {
2875 $ilTabs->setTabActive(
"settings");
2877 $this->tpl->addBlockFile(
2880 "tpl.lm_public_selector.html",
2881 "Modules/LearningModule" 2889 $modes =
array(
"complete" => $this->lng->txt(
"all_pages"),
"selected" => $this->lng->txt(
"selected_pages_only"));
2890 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
2892 $si->setOptions($modes);
2893 $si->setValue($this->
object->getPublicAccessMode());
2894 $ilToolbar->addInputItem(
$si,
true);
2895 $ilToolbar->addFormButton($this->lng->txt(
"save"),
"savePublicSectionAccess");
2896 $ilToolbar->setFormAction($this->ctrl->getFormAction($this,
"savePublicSectionAccess"));
2898 if ($this->
object->getPublicAccessMode() ==
"selected") {
2899 $this->tpl->setCurrentBlock(
"select_pages");
2900 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getLinkTarget($this,
"savePublicSectionPages"));
2902 include_once(
"./Modules/LearningModule/classes/class.ilPublicSectionExplorerGUI.php");
2904 $tree->setSelectMode(
"pages",
true);
2905 $tree->setSkipRootNode(
true);
2907 $this->tpl->setVariable(
"EXPLORER",
$tree->getHTML());
2908 $this->tpl->setVariable(
"TXT_SAVE", $this->lng->txt(
"save"));
2910 $this->tpl->parseCurrentBlock();
2917 $this->
object->setPublicAccessMode(
$_POST[
"lm_public_mode"]);
2918 $this->
object->updateProperties();
2921 $this->ctrl->redirect($this,
"editPublicSection");
2929 $this->
object->setPublicAccessMode(
$_POST[
"lm_public_mode"]);
2930 $this->
object->updateProperties();
2932 $this->ctrl->redirect($this,
"editPublicSection");
2942 $this->ctrl->redirect($this,
"editPublicSection");
2955 require_once(
"./Services/History/classes/class.ilHistoryTableGUI.php");
2960 $this->
object->getType()
2963 $hist_gui->setCommentVisibility($this->
object->isActiveHistoryUserComments());
2965 $this->tpl->setContent($hist_gui->getHTML());
2980 require_once
'Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php';
2982 $actions->setSelectionHeaderClass(
'small');
2983 $actions->setItemLinkClass(
'xsmall');
2984 $actions->setListTitle($this->lng->txt(
'actions'));
2986 $this->ctrl->setParameterByClass(
'ilLMPageObjectGUI',
'obj_id', $row[
'page_id']);
2988 $this->lng->txt(
'edit'),
2990 $this->ctrl->getLinkTargetByClass(
'ilLMPageObjectGUI',
'edit')
2992 $this->ctrl->clearParametersByClass(
'ilLMPageObjectGUI');
2993 $row[
'action_html'] =
$actions->getHTML();
3008 require_once
'./Services/LinkChecker/classes/class.ilLinkCheckerTableGUI.php';
3013 include_once
"Services/Cron/classes/class.ilCronManager.php";
3015 include_once
'./Services/LinkChecker/classes/class.ilLinkCheckNotify.php';
3016 include_once
'Services/Form/classes/class.ilPropertyFormGUI.php';
3018 $chb =
new ilCheckboxInputGUI($this->lng->txt(
'link_check_message_a'),
'link_check_message');
3021 $chb->setOptionTitle($this->lng->txt(
'link_check_message_b'));
3024 $toolbar->addFormButton($this->lng->txt(
'save'),
'saveLinkCheck');
3025 $toolbar->setFormAction($this->ctrl->getLinkTarget($this,
'saveLinkCheck'));
3029 $tgui->setLinkChecker($this->link_checker_obj)
3030 ->setRowHandler($this)
3031 ->setRefreshButton($this->lng->txt(
'refresh'),
'refreshLinkCheck');
3033 return $tpl->setContent($tgui->prepareHTML()->getHTML() .
$toolbar->getHTML());
3041 include_once
'./Services/LinkChecker/classes/class.ilLinkCheckNotify.php';
3044 $link_check_notify->setUserId(
$ilUser->getId());
3045 $link_check_notify->setObjId($this->
object->getId());
3047 if (
$_POST[
'link_check_message']) {
3049 $link_check_notify->addNotifier();
3052 $link_check_notify->deleteNotifier();
3064 $this->link_checker_obj->checkLinks();
3076 include_once
'./Services/LinkChecker/classes/class.ilLinkChecker.php';
3079 $this->link_checker_obj->setObjId($this->
object->getId());
3086 include_once
'./Modules/LearningModule/classes/class.ilLMMenuEditor.php';
3089 $this->lmme_obj->setObjId($this->
object->getId());
3106 $ilTabs->setTabActive(
"settings");
3109 $ilToolbar->addButton(
3110 $this->lng->txt(
"lm_menu_select_internal_object"),
3111 $ilCtrl->getLinkTarget($this,
"showEntrySelector")
3115 $this->tpl->setContent(
$form->getHTML());
3128 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
3132 $ti =
new ilTextInputGUI($this->lng->txt(
"lm_menu_entry_title"),
"title");
3135 $form->addItem($ti);
3138 $ta =
new ilTextInputGUI($this->lng->txt(
"lm_menu_entry_target"),
"target");
3141 $form->addItem($ta);
3143 if ($a_mode ==
"edit") {
3145 $this->lmme_obj->readEntry($_REQUEST[
"menu_entry"]);
3146 $ti->setValue($this->lmme_obj->getTitle());
3147 $ta->setValue($this->lmme_obj->getTarget());
3150 if (isset(
$_GET[
"link_ref_id"])) {
3151 $link_ref_id = (int)
$_GET[
"link_ref_id"];
3156 $target_link = $obj_type .
"_" . $link_ref_id;
3158 $ta->setValue($target_link);
3162 $hi->setValue($link_ref_id);
3163 $form->addItem($hi);
3168 if ($a_mode ==
"create") {
3169 $form->addCommandButton(
"saveMenuEntry",
$lng->txt(
"save"));
3170 $form->addCommandButton(
"editMenuProperties",
$lng->txt(
"cancel"));
3171 $form->setTitle(
$lng->txt(
"lm_menu_new_entry"));
3173 $form->addCommandButton(
"updateMenuEntry",
$lng->txt(
"save"));
3174 $form->addCommandButton(
"editMenuProperties",
$lng->txt(
"cancel"));
3175 $form->setTitle(
$lng->txt(
"lm_menu_edit_entry"));
3191 if (empty(
$_POST[
"title"])) {
3193 $ilCtrl->redirect($this,
"addMenuEntry");
3195 if (empty(
$_POST[
"target"])) {
3197 $ilCtrl->redirect($this,
"addMenuEntry");
3201 $this->lmme_obj->setTitle(
$_POST[
"title"]);
3202 $this->lmme_obj->setTarget(
$_POST[
"target"]);
3203 $this->lmme_obj->setLinkRefId(
$_POST[
"link_ref_id"]);
3205 if (
$_POST[
"link_ref_id"]) {
3206 $this->lmme_obj->setLinkType(
"intern");
3209 $this->lmme_obj->create();
3212 $this->ctrl->redirect($this,
"editMenuProperties");
3222 if (empty(
$_GET[
"menu_entry"])) {
3223 $ilErr->raiseError($this->lng->txt(
"no_menu_entry_id"),
$ilErr->MESSAGE);
3227 $this->lmme_obj->delete(
$_GET[
"menu_entry"]);
3230 $this->ctrl->redirect($this,
"editMenuProperties");
3245 $ilTabs->setTabActive(
"settings");
3249 if (empty(
$_GET[
"menu_entry"])) {
3250 $ilErr->raiseError($this->lng->txt(
"no_menu_entry_id"),
$ilErr->MESSAGE);
3254 $ilToolbar->addButton(
3255 $this->lng->txt(
"lm_menu_select_internal_object"),
3256 $ilCtrl->getLinkTarget($this,
"showEntrySelector")
3260 $this->tpl->setContent(
$form->getHTML());
3270 if (empty($_REQUEST[
"menu_entry"])) {
3271 $ilErr->raiseError($this->lng->txt(
"no_menu_entry_id"),
$ilErr->MESSAGE);
3275 if (empty(
$_POST[
"title"])) {
3276 $ilErr->raiseError($this->lng->txt(
"please_enter_title"),
$ilErr->MESSAGE);
3278 if (empty(
$_POST[
"target"])) {
3279 $ilErr->raiseError($this->lng->txt(
"please_enter_target"),
$ilErr->MESSAGE);
3283 $this->lmme_obj->readEntry($_REQUEST[
"menu_entry"]);
3284 $this->lmme_obj->setTitle(
$_POST[
"title"]);
3285 $this->lmme_obj->setTarget(
$_POST[
"target"]);
3286 if (
$_POST[
"link_ref_id"]) {
3287 $this->lmme_obj->setLinkType(
"intern");
3289 if (is_int(strpos(
$_POST[
"target"],
"."))) {
3290 $this->lmme_obj->setLinkType(
"extern");
3292 $this->lmme_obj->update();
3295 $this->ctrl->redirect($this,
"editMenuProperties");
3305 $ilTabs->setTabActive(
"settings");
3310 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.lm_menu_object_selector.html",
"Modules/LearningModule");
3314 require_once(
"./Modules/LearningModule/classes/class.ilLMMenuObjectSelector.php");
3317 $exp->
setExpand(
$_GET[
"lm_menu_expand"] ?
$_GET[
"lm_menu_expand"] : $this->tree->readRootId());
3318 $exp->setExpandTarget($this->ctrl->getLinkTarget($this,
'showEntrySelector'));
3319 $exp->setTargetGet(
"ref_id");
3320 $exp->setRefId($this->cur_ref_id);
3322 $sel_types =
array(
'mcst',
'mep',
'cat',
'lm',
'glo',
'frm',
'exc',
'tst',
'svy',
'chat',
'wiki',
'sahs',
3323 "crs",
"grp",
"book",
"tst",
"file");
3324 $exp->setSelectableTypes($sel_types);
3333 foreach ($exp->format_options as $node) {
3334 if (!$node[
"container"]) {
3335 $pages[] = $node[
"child"];
3342 $this->tpl->setVariable(
"TXT_SET_PUBLIC_MODE", $this->lng->txt(
"set_public_mode"));
3343 $this->tpl->setVariable(
"TXT_CHOOSE_PUBLIC_MODE", $this->lng->txt(
"choose_public_mode"));
3344 $modes =
array(
"complete" => $this->lng->txt(
"all_pages"),
"selected" => $this->lng->txt(
"selected_pages_only"));
3345 $select_public_mode =
ilUtil::formSelect($this->
object->getPublicAccessMode(),
"lm_public_mode", $modes,
false,
true);
3346 $this->tpl->setVariable(
"SELECT_PUBLIC_MODE", $select_public_mode);
3348 $this->tpl->setVariable(
"TXT_EXPLORER_HEADER", $this->lng->txt(
"choose_public_pages"));
3349 $this->tpl->setVariable(
"EXP_REFRESH", $this->lng->txt(
"refresh"));
3350 $this->tpl->setVariable(
"EXPLORER",
$output);
3351 $this->tpl->setVariable(
"ONCLICK", $js_pages);
3352 $this->tpl->setVariable(
"TXT_CHECKALL", $this->lng->txt(
"check_all"));
3353 $this->tpl->setVariable(
"TXT_UNCHECKALL", $this->lng->txt(
"uncheck_all"));
3354 $this->tpl->setVariable(
"TXT_SAVE", $this->lng->txt(
"save"));
3355 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getLinkTarget($this,
"savePublicSection"));
3366 if (!isset(
$_POST[
"id"])) {
3367 $ilErr->raiseError($this->lng->txt(
"no_checkbox"),
$ilErr->MESSAGE);
3369 if (count(
$_POST[
"id"]) > 1) {
3370 $ilErr->raiseError($this->lng->txt(
"cont_select_max_one_item"),
$ilErr->MESSAGE);
3372 if (
$_POST[
"id"][0] != $this->
object->getHeaderPage()) {
3373 $this->
object->setHeaderPage(
$_POST[
"id"][0]);
3375 $this->
object->setHeaderPage(0);
3377 $this->
object->updateProperties();
3378 $this->ctrl->redirect($this,
"pages");
3388 if (!isset(
$_POST[
"id"])) {
3389 $ilErr->raiseError($this->lng->txt(
"no_checkbox"),
$ilErr->MESSAGE);
3391 if (count(
$_POST[
"id"]) > 1) {
3392 $ilErr->raiseError($this->lng->txt(
"cont_select_max_one_item"),
$ilErr->MESSAGE);
3394 if (
$_POST[
"id"][0] != $this->
object->getFooterPage()) {
3395 $this->
object->setFooterPage(
$_POST[
"id"][0]);
3397 $this->
object->setFooterPage(0);
3399 $this->
object->updateProperties();
3400 $this->ctrl->redirect($this,
"pages");
3413 $ilCtrl->redirect($this,
"chapters");
3424 include_once(
"./Modules/LearningModule/classes/class.ilChapterHierarchyFormGUI.php");
3430 $parent_id = $this->lm_tree->getParentId($node_id);
3433 $parent_id = $node_id;
3437 for (
$i = 1;
$i <= $num;
$i++) {
3439 $chap->setType(
"st");
3440 $chap->setTitle(
$lng->txt(
"cont_new_chap"));
3441 $chap->setLMId($this->
object->getId());
3446 $ilCtrl->redirect($this,
"chapters");
3458 include_once(
"./Modules/LearningModule/classes/class.ilChapterHierarchyFormGUI.php");
3463 $ilLog->write(
"InsertChapterClip, num: $num, node_id: $node_id, " .
3466 if (!$first_child) {
3467 $parent_id = $this->lm_tree->getParentId($node_id);
3470 $parent_id = $node_id;
3475 $chapters =
$ilUser->getClipboardObjects(
"st",
true);
3476 $copied_nodes =
array();
3477 foreach ($chapters as $chap) {
3478 $ilLog->write(
"Call pasteTree, Target LM: " . $this->
object->getId() .
", Chapter ID: " . $chap[
"id"]
3479 .
", Parent ID: " . $parent_id .
", Target: " .
$target);
3485 $chap[
"insert_time"],
3494 $ilUser->clipboardDeleteObjectsOfType(
"pg");
3495 $ilUser->clipboardDeleteObjectsOfType(
"st");
3499 $this->
object->checkTree();
3500 $ilCtrl->redirect($this,
"chapters");
3512 $ilAccess = $DIC->access();
3514 $lng = $DIC->language();
3516 if ($ilAccess->checkAccess(
"read",
"", $a_target)) {
3517 $_GET[
"baseClass"] =
"ilLMPresentationGUI";
3518 $_GET[
"ref_id"] = $a_target;
3519 $_GET[
"cmd"] =
"resume";
3520 include(
"ilias.php");
3522 } elseif ($ilAccess->checkAccess(
"visible",
"", $a_target)) {
3523 $_GET[
"baseClass"] =
"ilLMPresentationGUI";
3524 $_GET[
"ref_id"] = $a_target;
3525 $_GET[
"cmd"] =
"infoScreen";
3526 include(
"ilias.php");
3528 } elseif ($ilAccess->checkAccess(
"read",
"", ROOT_FOLDER_ID)) {
3530 $lng->txt(
"msg_no_perm_read_item"),
3549 if (!is_array($items)) {
3551 $ilCtrl->redirect($this, $a_return);
3555 foreach ($items as $k => $item) {
3560 foreach ($todel as $k) {
3567 $ilCtrl->redirect($this, $a_return);
3579 if (!is_array($items)) {
3581 $ilCtrl->redirect($this,
"chapters");
3585 foreach ($items as $k => $item) {
3590 foreach ($todel as $k) {
3596 $ilCtrl->redirect($this,
"chapters");
3629 $ilToolbar->setFormAction(
$ilCtrl->getFormAction($this));
3630 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
3631 $lm_tree = $this->
object->getTree();
3632 $childs = $lm_tree->getChilds($lm_tree->readRootId());
3634 foreach ($childs as $c) {
3635 $options[$c[
"child"]] = $c[
"title"];
3640 $ilToolbar->addInputItem(
$si,
true);
3641 $ilToolbar->addFormButton(
$lng->txt(
"help_filter"),
"filterHelpChapters");
3643 include_once(
"./Modules/LearningModule/classes/class.ilHelpMappingTableGUI.php");
3646 include_once(
"./Modules/LearningModule/classes/class.ilExportIDTableGUI.php");
3664 $ilCtrl->redirect($this,
"showExportIDsOverview");
3678 if (is_array(
$_POST[
"exportid"])) {
3679 foreach (
$_POST[
"exportid"] as $pg_id => $exp_id) {
3680 if ($exp_id !=
"" && !preg_match(
3681 "/^([a-zA-Z]+)[0-9a-zA-Z_]*$/",
3690 $lng->txt(
"cont_exp_ids_not_resp_format3") .
" " .
3691 $lng->txt(
"cont_exp_ids_not_resp_format2"));
3697 if (is_array(
$_POST[
"exportid"])) {
3698 foreach (
$_POST[
"exportid"] as $pg_id => $exp_id) {
3709 $ilCtrl->redirect($this,
"showExportIdsOverview");
3723 include_once(
"./Services/Help/classes/class.ilHelpMapping.php");
3724 if (is_array(
$_POST[
"screen_ids"])) {
3725 foreach (
$_POST[
"screen_ids"] as $chap => $ids) {
3726 $ids = explode(
"\n", $ids);
3731 $ilCtrl->redirect($this,
"showExportIdsOverview");
3754 $ilToolbar->setFormAction(
$ilCtrl->getFormAction($this));
3755 include_once(
"./Services/Form/classes/class.ilTextInputGUI.php");
3756 $ti =
new ilTextInputGUI($this->lng->txt(
"help_tooltip_id"),
"tooltip_id");
3759 $ilToolbar->addInputItem($ti,
true);
3760 $ilToolbar->addFormButton(
$lng->txt(
"add"),
"addTooltip");
3761 $ilToolbar->addSeparator();
3763 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
3771 $ilToolbar->addInputItem(
$si,
true);
3772 $ilToolbar->addFormButton(
$lng->txt(
"help_filter"),
"filterTooltips");
3774 include_once(
"./Modules/LearningModule/classes/class.ilHelpTooltipTableGUI.php");
3792 if (trim($tt_id) !=
"") {
3793 if (is_int(strpos($tt_id,
"_"))) {
3794 include_once(
"./Services/Help/classes/class.ilHelp.php");
3798 $fu = strpos($tt_id,
"_");
3799 $comp = substr($tt_id, 0, $fu);
3805 $ilCtrl->redirect($this,
"showTooltipList");
3820 $ilCtrl->redirect($this,
"showTooltipList");
3835 include_once(
"./Services/Help/classes/class.ilHelp.php");
3837 if (is_array(
$_POST[
"text"])) {
3847 $ilCtrl->redirect($this,
"showTooltipList");
3858 if (is_array(
$_POST[
"id"])) {
3859 include_once(
"./Services/Help/classes/class.ilHelp.php");
3865 $ilCtrl->redirect($this,
"showTooltipList");
3905 $lng = $DIC->language();
3909 if ($a_def_option !=
"") {
3914 $lng->txt(
"cont_lm_default_layout") .
3915 "</b>: " .
$lng->txt(
"cont_layout_" . $a_def_option) .
3916 "</td></tr></table>",
""));
3924 $im_tag .
"</td><td style='padding:5px;'><b>" .
$lng->txt(
"cont_layout_" .
$l) .
"</b>: " .
3925 $lng->txt(
"cont_layout_" .
$l .
"_desc") .
"</td></tr></table>",
$l));
3937 $ilCtrl->setParameter($this,
"hierarchy",
"1");
3951 if (!is_array(
$_POST[
"id"])) {
3954 if ($a_in_hierarchy) {
3955 $ilCtrl->redirect($this,
"chapters");
3957 $ilCtrl->redirect($this,
"pages");
3963 $tpl->setContent($this->form->getHTML());
3974 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
3977 if (is_array(
$_POST[
"id"])) {
3981 $this->form->addItem($hi);
3984 $layout = self::getLayoutOption(
3985 $lng->txt(
"cont_layout"),
3987 $this->
object->getLayout()
3989 $this->form->addItem(
$layout);
3991 $this->form->addCommandButton(
"savePageLayout",
$lng->txt(
"save"));
3992 $this->form->addCommandButton(
"pages",
$lng->txt(
"cancel"));
3994 $this->form->setTitle(
$lng->txt(
"cont_set_layout"));
3995 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
4006 $ilCtrl->setParameter($this,
"hierarchy",
$_GET[
"hierarchy"]);
4017 if (
$_GET[
"hierarchy"] == 1) {
4018 $ilCtrl->redirect($this,
"chapters");
4020 $ilCtrl->redirect($this,
"pages");
4043 $ilTabs->setTabActive(
"settings");
4046 $ilToolbar->addButton(
4048 $ilCtrl->getLinkTarget($this,
"showLMGlossarySelector")
4051 include_once(
"./Modules/LearningModule/classes/class.ilLMGlossaryTableGUI.php");
4073 $ilTabs->setTabActive(
"settings");
4076 include_once
'Services/Search/classes/class.ilSearchRootSelector.php';
4080 $exp->setExpandTarget(
$ilCtrl->getLinkTarget($this,
'showLMGlossarySelector'));
4081 $exp->setTargetClass(get_class($this));
4082 $exp->setCmd(
'confirmGlossarySelection');
4083 $exp->setClickableTypes(
array(
"glo"));
4084 $exp->addFilter(
"glo");
4088 $tpl->setContent($exp->getOutput());
4100 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
4102 $ilCtrl->setParameter($this,
"glo_ref_id",
$_GET[
"root_id"]);
4103 $cgui->setFormAction(
$ilCtrl->getFormAction($this));
4104 $cgui->setHeaderText(
$lng->txt(
"cont_link_glo_in_lm"));
4105 $cgui->setCancel(
$lng->txt(
"no"),
"selectLMGlossary");
4106 $cgui->setConfirm(
$lng->txt(
"yes"),
"selectLMGlossaryLink");
4107 $tpl->setContent($cgui->getHTML());
4118 $glo_ref_id = (int)
$_GET[
"glo_ref_id"];
4120 $this->
object->autoLinkGlossaryTerms($glo_ref_id);
4136 $glos = $this->
object->getAutoGlossaries();
4137 $glo_ref_id = (int)
$_GET[
"glo_ref_id"];
4139 if (!in_array($glo_id, $glos)) {
4142 $this->
object->setAutoGlossaries($glos);
4143 $this->
object->update();
4146 $ilCtrl->redirect($this,
"editGlossaries");
4160 $this->
object->removeAutoGlossary((
int)
$_GET[
"glo_id"]);
4161 $this->
object->update();
4164 $ilCtrl->redirect($this,
"editGlossaries");
4177 $ilCtrl->setParameter($this,
"transl",
"");
4178 if (
$_GET[
"lang_switch_mode"] ==
"short_titles") {
4179 $ilCtrl->redirectByClass(
"illmeditshorttitlesgui",
"");
4181 $ilCtrl->redirect($this,
"chapters");
4194 $ilCtrl->setParameter($this,
"transl",
$_GET[
"totransl"]);
4195 if (
$_GET[
"lang_switch_mode"] ==
"short_titles") {
4196 $ilCtrl->redirectByClass(
"illmeditshorttitlesgui",
"");
4198 $ilCtrl->redirect($this,
"chapters");
4204 return parent::redrawHeaderActionObject();
listBlockedUsers()
List blocked users.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
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 updateInternalLinks($a_copied_nodes, $a_parent_type="lm")
Update internal links, after multiple pages have been copied.
if(isset($_REQUEST['delete'])) $list
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.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
activatePages()
activates or deactivates pages
setReturnLocation($a_cmd, $a_location)
set specific return location for command
saveTooltips()
Save tooltips.
static getAvailableLayouts()
get all available lm layouts
if(!array_key_exists('StateId', $_REQUEST)) $id
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.
setFormAction($a_cmd, $a_formaction)
set specific form action for command
static getLayoutOption($a_txt, $a_var, $a_def_option="")
Save help mapping.
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
editMenuProperties()
Edit menu properies.
viewObject()
list childs of current object
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.
owner()
show owner of content object
Export User Interface Class.
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
if(!is_dir( $entity_dir)) exit("Fatal Error ([A-Za-z0-9]+)\+" &#(? foreach( $entity_files as $file) $output
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.
if(isset($_POST['submit'])) $form
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
special template class to simplify handling of ITX/PEAR
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.
This class represents a text property in a property form.
static getInstance(&$a_content_obj, $a_id=0, $a_halt=true)
permSave()
save permissions
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
setMaxLength($a_maxlength)
Set Max Length.
publishExportFile($a_files)
download export file
setTableNames($a_table_tree, $a_table_obj_data, $a_table_obj_reference="")
set table names The primary key of the table containing your object_data must be 'obj_id' You may use...
getID()
Return the unique ID value assigned to this spreadsheet workbook.
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
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
Create styles array
The data for the language used.
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.
User interface class for advanced drop-down selection lists.
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
static _getPresentationTitle( $a_pg_id, $a_mode=IL_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...
setContentSubTabs($a_active)
Set pages tabs.
static img($a_src, $a_alt="", $a_width="", $a_height="", $a_border=0, $a_id="", $a_class="")
Build img tag.
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()
Create new PHPExcel object
obj_idprivate
Class ilObjStyleSheetGUI.
confirmGlossarySelection()
Confirm glossary selection.
static unlock($a_q_id, $a_user_id)
Reset tries.
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
if(!file_exists("$old.txt")) if($old===$new) if(file_exists("$new.txt")) $file
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.
if(empty($password)) $table
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.
if(!isset($_REQUEST['ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
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