4include_once
"./Services/Object/classes/class.ilObjectGUI.php";
5include_once
"./Modules/LearningModule/classes/class.ilObjContentObject.php";
6include_once(
"./Modules/LearningModule/classes/class.ilLMPageObjectGUI.php");
7include_once(
"./Modules/LearningModule/classes/class.ilStructureObjectGUI.php");
8require_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"];
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");
134 $lti_gui->setCustomRolesForSelection(
$GLOBALS[
'DIC']->rbac()->review()->getLocalRoles($this->object->getRefId()));
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");
172 $style_gui =
new ilObjStyleSheetGUI(
"", $this->object->getStyleSheetId(),
false,
false);
173 $style_gui->omitLocator();
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(
267 $this->object->getId(),
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");
476 $ti->setRequired(
true);
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'));
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);
594 $this->form->setTitle(
$lng->txt(
"cont_lm_properties"));
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")
823 $style_sel->setOptions($st_styles);
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");
901 $menu->setChecked($this->object->isActiveLMMenu());
902 $form->addItem($menu);
906 $toc->setChecked($this->object->isActiveTOC());
907 $form->addItem($toc);
910 $print =
new ilCheckboxInputGUI($this->lng->txt(
"cont_print_view"),
"cobj_act_print");
911 $print->setChecked($this->object->isActivePrintView());
912 $form->addItem($print);
915 $glo =
new ilCheckboxInputGUI($this->lng->txt(
"cont_print_view_pre_glo"),
"cobj_act_print_prev_glo");
916 $glo->setChecked($this->object->isActivePreventGlossaryAppendix());
917 $print->addSubItem($glo);
920 $hhfp =
new ilCheckboxInputGUI($this->lng->txt(
"cont_hide_head_foot_print"),
"hide_head_foot_print");
921 $hhfp->setChecked($this->object->getHideHeaderFooterPrint());
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");
944 $pdl->setChecked($this->object->isActiveDownloadsPublic());
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"] ==
"") {
1047 $mtree =
new ilTree($this->object->getId());
1048 $mtree->setTableNames(
'lm_tree',
'lm_data');
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");
1174 $fi->setSuffixes(array(
"zip"));
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");
1312 $form_gui->setFormAction(
$ilCtrl->getFormAction($this));
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",
"");
1334 $this->tpl->setContent($ml_head . $ctpl->get());
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");
1447 $this->object->getId(),
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);
1505 == $this->object->getID()) {
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();
1525 != $this->object->getID()) {
1529 $lm_page->setLMId($this->object->getID());
1531 $page = $lm_page->getPageObject();
1533 $page->setParentId($this->object->getID());
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");
1654 $this->object->getId(),
1655 "delete_" . $obj->getType(),
1657 $this->object->getType()
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");
2959 $this->object->getId(),
2960 $this->object->getType()
2962 $hist_gui->initTable();
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');
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");
3133 $ti->setMaxLength(255);
3135 $form->addItem($ti);
3138 $ta =
new ilTextInputGUI($this->lng->txt(
"lm_menu_entry_target"),
"target");
3139 $ta->setMaxLength(255);
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);
3253 $ilCtrl->saveParameter($this, array(
"menu_entry"));
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");
3308 $ilCtrl->saveParameter($this, array(
"menu_entry"));
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();
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) {
3700 $this->object->getId(),
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");
3757 $ti->setMaxLength(200);
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");
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);
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';
4079 $exp->setExpand(
$_GET[
"search_root_expand"] ?
$_GET[
"search_root_expand"] :
$tree->readRootId());
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();
sprintf('%.4f', $callTime)
if(!isset( $_REQUEST[ 'ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
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.
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=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...
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.
owner()
show owner of content object
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
permSave()
save permissions
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="")
Save help mapping.
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()
list childs of current object
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
getCreationMode()
get creation mode
addHeaderAction()
Add header action menu.
createObject()
create new object form
setFormAction($a_cmd, $a_formaction)
set specific form action for command
setTabs()
set admin tabs @access public
setReturnLocation($a_cmd, $a_location)
set specific return location for command
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 sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
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="", $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
if(!array_key_exists('StateId', $_REQUEST)) $id
if(!is_dir( $entity_dir)) exit("Fatal Error ([A-Za-z0-9]+)\s+" &#(? foreach( $entity_files as $file) $output
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
interface ilLinkCheckerGUIRowHandling
if(empty($password)) $table
if(isset($_POST['submit'])) $form
if(isset($_REQUEST['delete'])) $list
if(!file_exists("$old.txt")) if( $old===$new) if(file_exists("$new.txt")) $file