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';
35 $lng->loadLanguageModule(
"content");
36 $lng->loadLanguageModule(
"obj");
47 if ($this->ctrl->getRedirectSource() ==
"ilinternallinkgui")
53 if ($this->ctrl->getCmdClass() ==
"ilinternallinkgui")
55 $this->ctrl->setReturn($this,
"explorer");
59 $next_class = $this->ctrl->getNextClass($this);
63 if (
$_GET[
"to_props"] == 1)
65 $cmd = $this->ctrl->getCmd(
"properties");
69 $cmd = $this->ctrl->getCmd(
"chapters");
76 case "illearningprogressgui":
79 include_once
'./Services/Tracking/classes/class.ilLearningProgressGUI.php';
80 $this->
setTabs(
"learning_progress");
83 $this->ctrl->forwardCommand($new_gui);
88 if(!$ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
90 $ilErr->raiseError($this->lng->txt(
'permission_denied'),$ilErr->WARNING);
95 include_once
'Services/MetaData/classes/class.ilMDEditorGUI.php';
97 $md_gui =&
new ilMDEditorGUI($this->object->getId(), 0, $this->
object->getType());
98 $md_gui->
addObserver($this->
object,
'MDUpdateListener',
'General');
100 $this->ctrl->forwardCommand($md_gui);
103 case "ilobjstylesheetgui":
105 include_once (
"./Services/Style/classes/class.ilObjStyleSheetGUI.php");
106 $this->ctrl->setReturn($this,
"editStyleProperties");
107 $style_gui =&
new ilObjStyleSheetGUI(
"", $this->object->getStyleSheetId(),
false,
false);
109 if (
$cmd ==
"create" ||
$_GET[
"new_type"]==
"sty")
111 $style_gui->setCreationMode(
true);
113 $ret =& $this->ctrl->forwardCommand($style_gui);
116 if (
$cmd ==
"save" ||
$cmd ==
"copyStyle" ||
$cmd ==
"importStyle")
119 $this->
object->setStyleSheetId($style_id);
120 $this->
object->update();
121 $this->ctrl->redirectByClass(
"ilobjstylesheetgui",
"edit");
125 case "illmpageobjectgui":
127 $ilTabs->setBackTarget($lng->txt(
"learning module"),
128 $ilCtrl->getLinkTarget($this,
"chapters"));
129 $this->ctrl->saveParameter($this, array(
"obj_id"));
131 $this->ctrl->setReturn($this,
"chapters");
136 if (
$_GET[
"obj_id"] !=
"")
139 $pg_gui->setLMPageObject($obj);
142 $ret =& $this->ctrl->forwardCommand($pg_gui);
143 if (
$cmd ==
"save" ||
$cmd ==
"cancel")
149 case "ilstructureobjectgui":
150 $ilTabs->setBackTarget($lng->txt(
"learning module"),
151 $ilCtrl->getLinkTarget($this,
"chapters"));
153 $this->ctrl->saveParameter($this, array(
"obj_id"));
155 $this->ctrl->setReturn($this,
"chapters");
157 if (
$_GET[
"obj_id"] !=
"")
160 $st_gui->setStructureObject($obj);
163 $ret =& $this->ctrl->forwardCommand($st_gui);
164 if (
$cmd ==
"save" ||
$cmd ==
"cancel")
166 if (
$_GET[
"obj_id"] ==
"")
168 $this->ctrl->redirect($this,
"chapters");
172 $this->ctrl->setCmd(
"subchap");
178 case 'ilpermissiongui':
179 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui")
189 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
191 $ret =& $this->ctrl->forwardCommand($perm_gui);
195 case 'ilinfoscreengui':
199 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
201 $info->enablePrivateNotes();
202 $info->enableLearningProgress();
205 if ($ilAccess->checkAccess(
"write",
"",
$_GET[
"ref_id"]))
207 $info->enableNewsEditing();
208 $info->setBlockProperty(
"news",
"settings",
true);
212 $info->addMetaDataSections($this->object->getId(), 0,
213 $this->
object->getType());
215 $ret =& $this->ctrl->forwardCommand($info);
222 include_once(
"./Services/Export/classes/class.ilExportGUI.php");
224 $exp_gui->addFormat(
"xml",
"", $this,
"export");
225 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
227 if ($ot->getContentActivated())
229 $lng->loadLanguageModule(
"meta");
230 $langs = $ot->getLanguages();
231 foreach ($langs as $l => $ldata)
233 $exp_gui->addFormat(
"html_".$l,
"HTML (".$lng->txt(
"meta_l_".$l).
")", $this,
"exportHTML");
238 $exp_gui->addFormat(
"html",
"", $this,
"exportHTML");
241 $exp_gui->addFormat(
"scorm",
"", $this,
"exportSCORM");
242 $exp_gui->addCustomColumn($lng->txt(
"cont_public_access"),
243 $this,
"getPublicAccessColValue");
244 $exp_gui->addCustomMultiCommand($lng->txt(
"cont_public_access"),
245 $this,
"publishExportFile");
246 $ret = $this->ctrl->forwardCommand($exp_gui);
249 case 'ilobjecttranslationgui':
257 include_once(
"./Services/Object/classes/class.ilObjectTranslationGUI.php");
259 $transgui->setTitleDescrOnlyMode(
false);
260 $this->ctrl->forwardCommand($transgui);
264 case "ilcommonactiondispatchergui":
265 include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
267 $this->ctrl->forwardCommand($gui);
270 case 'ilobjectcopygui':
272 include_once
'./Services/Object/classes/class.ilObjectCopyGUI.php';
275 $this->ctrl->forwardCommand($cp);
279 $new_type =
$_POST[
"new_type"]
284 if (
$cmd ==
"create" &&
285 !in_array($new_type, array(
"dbk",
"lm")))
292 $this->ctrl->setCmdClass(
"ilLMPageObjectGUI");
298 $this->ctrl->setCmdClass(
"ilStructureObjectGUI");
307 in_array($new_type, array(
"dbk",
"lm")))
331 return array(
"ilLMPageObjectGUI",
"ilStructureObjectGUI",
"ilObjStyleSheetGUI");
341 $lng->loadLanguageModule(
"style");
349 if($this->object->getType() ==
"lm")
352 include_once
'Modules/LearningModule/classes/class.ilECSLearningModuleSettings.php';
354 $ecs->addSettingsToForm($this->form,
'lm');
357 $this->tpl->setContent($this->form->getHTML());
367 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
376 $this->form->addItem($ti);
383 $this->form->addItem($ta);
385 $lng->loadLanguageModule(
"rep");
387 $section->setTitle($this->lng->txt(
'rep_activation_availability'));
392 $this->form->addItem($online);
396 $section->setTitle($this->lng->txt(
'cont_presentation'));
401 $this->form->addItem($layout);
405 $lpp->
setInfo($this->lng->txt(
"cont_layout_per_page_info"));
406 $this->form->addItem($lpp);
409 $page_header =
new ilSelectInputGUI($lng->txt(
"cont_page_header"),
"lm_pg_header");
410 $option = array (
"st_title" => $this->lng->txt(
"cont_st_title"),
411 "pg_title" => $this->lng->txt(
"cont_pg_title"),
412 "none" => $this->lng->txt(
"cont_none"));
414 $this->form->addItem($page_header);
418 $this->form->addItem($chap_num);
422 $option = array (
"chapters" => $this->lng->txt(
"cont_chapters_only"),
423 "pages" => $this->lng->txt(
"cont_chapters_and_pages"));
425 $this->form->addItem($toc_mode);
434 $progr_icons =
new ilCheckboxInputGUI($lng->txt(
"cont_progress_icons"),
"progr_icons");
435 $progr_icons->
setInfo($this->lng->txt(
"cont_progress_icons_info"));
436 $this->form->addItem($progr_icons);
440 $section->setTitle($this->lng->txt(
'cont_self_assessment'));
446 $op1 =
new ilRadioOption($lng->txt(
"cont_tries_reset_on_visit"), 0,$lng->txt(
"cont_tries_reset_on_visit_info"));
447 $radg->addOption($op1);
448 $op2 =
new ilRadioOption($lng->txt(
"cont_tries_store"), 1,$lng->txt(
"cont_tries_store_info"));
449 $radg->addOption($op2);
450 $this->form->addItem($radg);
453 $qfeed =
new ilCheckboxInputGUI($lng->txt(
"cont_restrict_forw_nav"),
"restrict_forw_nav");
454 $qfeed->
setInfo($this->lng->txt(
"cont_restrict_forw_nav_info"));
455 $this->form->addItem($qfeed);
458 $not =
new ilCheckboxInputGUI($lng->txt(
"cont_notify_on_blocked_users"),
"notification_blocked_users");
459 $not->
setInfo($this->lng->txt(
"cont_notify_on_blocked_users_info"));
460 $qfeed->addSubItem($not);
463 $qfeed =
new ilCheckboxInputGUI($lng->txt(
"cont_disable_def_feedback"),
"disable_def_feedback");
464 $qfeed->
setInfo($this->lng->txt(
"cont_disable_def_feedback_info"));
465 $this->form->addItem($qfeed);
469 $section->setTitle($this->lng->txt(
'obj_features'));
473 if (!$this->ilias->getSetting(
'disable_comments'))
475 $this->lng->loadLanguageModule(
"notes");
477 $pub_nodes->
setInfo($this->lng->txt(
"cont_lm_comments_desc"));
478 $this->form->addItem($pub_nodes);
482 $com =
new ilCheckboxInputGUI($lng->txt(
"enable_hist_user_comments"),
"cobj_user_comments");
483 $com->
setInfo($this->lng->txt(
"enable_hist_user_comments_desc"));
484 $this->form->addItem($com);
487 $this->lng->loadLanguageModule(
'rating');
489 $rate->
setInfo($this->lng->txt(
'rating_activate_rating_info'));
490 $this->form->addItem($rate);
491 $ratep =
new ilCheckboxInputGUI($this->lng->txt(
'lm_activate_rating'),
'rating_pages');
492 $this->form->addItem($ratep);
494 $this->form->
setTitle($lng->txt(
"cont_lm_properties"));
495 $this->form->addCommandButton(
"saveProperties", $lng->txt(
"save"));
496 $this->form->setFormAction($ilCtrl->getFormAction($this));
508 $title = $this->
object->getTitle();
509 $description = $this->
object->getDescription();
510 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
512 if ($ot->getContentActivated())
514 $title = $ot->getDefaultTitle();
515 $description = $ot->getDefaultDescription();
518 $values[
"title"] = $title;
519 $values[
"description"] = $description;
520 if ($this->object->getOnline())
522 $values[
"cobj_online"] =
true;
524 $values[
"lm_layout"] = $this->
object->getLayout();
525 $values[
"lm_pg_header"] = $this->
object->getPageHeader();
526 if ($this->object->isActiveNumbering())
528 $values[
"cobj_act_number"] =
true;
530 $values[
"toc_mode"] = $this->
object->getTOCMode();
531 if ($this->object->publicNotes())
533 $values[
"cobj_pub_notes"] =
true;
535 if ($this->object->cleanFrames())
537 $values[
"cobj_clean_frames"] =
true;
539 if ($this->object->isActiveHistoryUserComments())
541 $values[
"cobj_user_comments"] =
true;
543 $values[
"layout_per_page"] = $this->
object->getLayoutPerPage();
544 $values[
"rating"] = $this->
object->hasRating();
545 $values[
"rating_pages"] = $this->
object->hasRatingPages();
546 $values[
"disable_def_feedback"] = $this->
object->getDisableDefaultFeedback();
547 $values[
"progr_icons"] = $this->
object->getProgressIcons();
548 $values[
"store_tries"] = $this->
object->getStoreTries();
549 $values[
"restrict_forw_nav"] = $this->
object->getRestrictForwardNavigation();
551 include_once
"./Services/Notification/classes/class.ilNotification.php";
554 $this->
object->getId());
556 $this->form->setValuesByArray($values);
568 if ($this->form->checkInput())
570 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
572 if ($ot->getContentActivated())
574 $ot->setDefaultTitle(
$_POST[
'title']);
575 $ot->setDefaultDescription(
$_POST[
'description']);
579 $this->
object->setTitle(
$_POST[
'title']);
580 $this->
object->setDescription(
$_POST[
'description']);
581 $this->
object->setLayout(
$_POST[
"lm_layout"]);
582 $this->
object->setPageHeader(
$_POST[
"lm_pg_header"]);
583 $this->
object->setTOCMode(
$_POST[
"toc_mode"]);
584 $this->
object->setOnline(
$_POST[
"cobj_online"]);
585 $this->
object->setActiveNumbering(
$_POST[
"cobj_act_number"]);
586 $this->
object->setCleanFrames(
$_POST[
"cobj_clean_frames"]);
587 if (!$this->ilias->getSetting(
'disable_comments'))
589 $this->
object->setPublicNotes(
$_POST[
"cobj_pub_notes"]);
591 $this->
object->setHistoryUserComments(
$_POST[
"cobj_user_comments"]);
592 $this->
object->setLayoutPerPage(
$_POST[
"layout_per_page"]);
593 $this->
object->setRating(
$_POST[
"rating"]);
594 $this->
object->setRatingPages(
$_POST[
"rating_pages"]);
595 $this->
object->setDisableDefaultFeedback((
int)
$_POST[
"disable_def_feedback"]);
596 $this->
object->setProgressIcons((
int) $_POST[
"progr_icons"]);
599 if ($_POST[
"restrict_forw_nav"] && !$_POST[
"store_tries"])
601 $_POST[
"store_tries"] = 1;
602 $add_info =
"</br>".$lng->txt(
"cont_automatically_set_store_tries");
603 $add_info = str_replace(
"$1", $lng->txt(
"cont_tries_store"), $add_info);
604 $add_info = str_replace(
"$2", $lng->txt(
"cont_restrict_forw_nav"), $add_info);
607 $this->
object->setStoreTries((
int) $_POST[
"store_tries"]);
608 $this->
object->setRestrictForwardNavigation((
int) $_POST[
"restrict_forw_nav"]);
609 $this->
object->updateProperties();
610 $this->
object->update();
612 include_once
"./Services/Notification/classes/class.ilNotification.php";
614 $ilUser->getId(), $this->
object->getId(),
615 (bool)$this->form->getInput(
"notification_blocked_users"));
618 if($this->object->getType() ==
'lm')
621 include_once
'Modules/LearningModule/classes/class.ilECSLearningModuleSettings.php';
623 if($ecs->handleSettingsUpdate())
637 $this->ctrl->redirect($this,
"properties");
641 $lng->loadLanguageModule(
"style");
645 $this->form->setValuesByPost();
646 $this->tpl->setContent($this->form->getHTML());
658 $tpl->setContent($this->form->getHTML());
668 $lng->loadLanguageModule(
"style");
670 $ilTabs->setTabActive(
"settings");
673 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
676 $fixed_style = $ilSetting->get(
"fixed_content_style_id");
677 $style_id = $this->
object->getStyleSheetId();
679 if ($fixed_style > 0)
683 $this->lng->txt(
"global_fixed").
")");
684 $this->form->addItem($st);
691 $st_styles[0] = $this->lng->txt(
"default");
701 $this->form->addItem($st);
706 $this->form->addCommandButton(
"editStyle",
707 $lng->txt(
"cont_edit_style"));
708 $this->form->addCommandButton(
"deleteStyle",
709 $lng->txt(
"cont_delete_style"));
717 $st_styles,
false,
true);
718 $style_sel =
new ilSelectInputGUI($lng->txt(
"cont_current_style"),
"style_id");
720 $style_sel->setValue($style_id);
721 $this->form->addItem($style_sel);
723 $this->form->addCommandButton(
"saveStyleSettings",
725 $this->form->addCommandButton(
"createStyle",
726 $lng->txt(
"sty_create_ind_style"));
729 $this->form->setTitle($lng->txt(
"cont_style"));
730 $this->form->setFormAction($ilCtrl->getFormAction($this));
740 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"create");
750 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"edit");
760 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"delete");
770 if ($ilSetting->get(
"fixed_content_style_id") <= 0 &&
772 || $this->object->getStyleSheetId() == 0))
775 $this->
object->update();
778 $this->ctrl->redirect($this,
"editStyleProperties");
788 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
793 $menu->
setChecked($this->object->isActiveLMMenu());
794 $form->addItem($menu);
798 $toc->
setChecked($this->object->isActiveTOC());
799 $form->addItem($toc);
802 $print =
new ilCheckboxInputGUI($this->lng->txt(
"cont_print_view"),
"cobj_act_print");
803 $print->
setChecked($this->object->isActivePrintView());
804 $form->addItem($print);
807 $glo =
new ilCheckboxInputGUI($this->lng->txt(
"cont_print_view_pre_glo"),
"cobj_act_print_prev_glo");
808 $glo->
setChecked($this->object->isActivePreventGlossaryAppendix());
809 $print->addSubItem($glo);
812 $hhfp =
new ilCheckboxInputGUI($this->lng->txt(
"cont_hide_head_foot_print"),
"hide_head_foot_print");
813 $hhfp->
setChecked($this->object->getHideHeaderFooterPrint());
814 $print->addSubItem($hhfp);
817 $no_download_file_available =
818 " ".$lng->txt(
"cont_no_download_file_available").
819 " <a href='".$ilCtrl->getLinkTargetByClass(
"ilexportgui",
"").
"'>".$lng->txt(
"change").
"</a>";
820 $types = array(
"xml",
"html",
"scorm");
821 foreach($types as $type)
823 if ($this->object->getPublicExportFile($type) !=
"")
825 if (is_file($this->object->getExportDirectory($type).
"/".
826 $this->
object->getPublicExportFile($type)))
828 $no_download_file_available =
"";
832 $dl =
new ilCheckboxInputGUI($this->lng->txt(
"cont_downloads"),
"cobj_act_downloads");
833 $dl->
setInfo($this->lng->txt(
"cont_downloads_desc").$no_download_file_available);
834 $dl->setChecked($this->object->isActiveDownloads());
838 $pdl =
new ilCheckboxInputGUI($this->lng->txt(
"cont_downloads_public_desc"),
"cobj_act_downloads_public");
839 $pdl->
setChecked($this->object->isActiveDownloadsPublic());
840 $dl->addSubItem($pdl);
842 $form->addCommandButton(
"saveMenuProperties", $lng->txt(
"save"));
844 $form->setTitle($lng->txt(
"cont_lm_menu"));
845 $form->setFormAction($ilCtrl->getFormAction($this));
857 $lng->loadLanguageModule(
"style");
859 $ilTabs->setTabActive(
"settings");
862 $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
863 $ilToolbar->addFormButton($this->lng->txt(
"add_menu_entry"),
"addMenuEntry");
864 $ilToolbar->setCloseFormTag(
false);
867 $form->setOpenTag(
false);
868 $form->setCloseTag(
false);
871 $entries = $this->lmme_obj->getMenuEntries();
872 include_once(
"./Modules/LearningModule/classes/class.ilLMMenuItemsTableGUI.php");
874 $table->setOpenFormTag(
false);
876 $tpl->setContent($form->getHTML().
"<br />".$table->getHTML());
886 $this->
object->setActiveLMMenu((
int)
$_POST[
"cobj_act_lm_menu"]);
887 $this->
object->setActiveTOC((
int) $_POST[
"cobj_act_toc"]);
888 $this->
object->setActivePrintView((
int) $_POST[
"cobj_act_print"]);
889 $this->
object->setActivePreventGlossaryAppendix((
int) $_POST[
"cobj_act_print_prev_glo"]);
890 $this->
object->setHideHeaderFooterPrint((
int) $_POST[
"hide_head_foot_print"]);
891 $this->
object->setActiveDownloads((
int) $_POST[
"cobj_act_downloads"]);
892 $this->
object->setActiveDownloadsPublic((
int) $_POST[
"cobj_act_downloads_public"]);
893 $this->
object->updateProperties();
897 $this->lmme_obj->updateActiveStatus($_POST[
"menu_entries"]);
900 $this->ctrl->redirect($this,
"editMenuProperties");
910 switch ($this->object->getType())
913 $gui_class =
"ilobjlearningmodulegui";
917 $gui_class =
"ilobjdlbookgui";
921 $ilCtrl->setParameterByClass($gui_class,
"active_node",
$_GET[
"active_node"]);
923 $this->tpl =
new ilTemplate(
"tpl.main.html",
true,
true);
930 $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.explorer.html");
933 require_once (
"./Modules/LearningModule/classes/class.ilLMEditorExplorer.php");
934 $exp =
new ilLMEditorExplorer($this->ctrl->getLinkTarget($this,
"view"),
937 $exp->setTargetGet(
"obj_id");
938 $exp->setExpandTarget($this->ctrl->getLinkTarget($this,
"explorer"));
940 if (
$_GET[
"lmmovecopy"] ==
"1")
946 if (
$_GET[
"lmexpand"] ==
"")
948 $mtree =
new ilTree($this->object->getId());
950 $mtree->setTreeTablePK(
"lm_id");
951 $expanded = $mtree->readRootId();
955 $expanded =
$_GET[
"lmexpand"];
957 if (
$_GET[
"active_node"] !=
"")
959 $path = $this->lm_tree->getPathId(
$_GET[
"active_node"]);
960 $exp->setForceOpenPath(
$path);
962 $exp->highlightNode(
$_GET[
"active_node"]);
964 $exp->setExpand($expanded);
968 $output = $exp->getOutput();
971 if ($ilCtrl->isAsynch())
976 include_once(
"./Services/COPage/classes/class.ilPageEditorGUI.php");
995 $this->tpl->setCurrentBlock(
"content");
996 $this->tpl->setVariable(
"TXT_EXPLORER_HEADER", $this->lng->txt(
"cont_chap_and_pages"));
997 $this->tpl->setVariable(
"EXP_REFRESH", $this->lng->txt(
"refresh"));
998 $this->tpl->setVariable(
"EXPLORER",$output);
999 $this->ctrl->setParameter($this,
"lmexpand",
$_GET[
"lmexpand"]);
1000 $this->tpl->setVariable(
"ACTION", $this->ctrl->getLinkTarget($this,
"explorer"));
1001 $this->tpl->parseCurrentBlock();
1002 $this->tpl->show(
false);
1011 include_once
"./Services/COPage/classes/class.ilWysiwygUtil.php";
1012 $popup =
new ilWysiwygUtil();
1013 $popup->show(
$_GET[
"ptype"]);
1024 $this->
object->executeDragDrop(
$_POST[
"il_hform_source_id"],
$_POST[
"il_hform_target_id"],
1026 $ilCtrl->redirect($this,
"chapters");
1041 $a_new_object->setCleanFrames(
true);
1045 $a_new_object->createLMTree();
1048 $a_new_object->addFirstChapterAndPage();
1053 "&baseClass=ilLMEditorGUI");
1063 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
1067 $this->ctrl->setParameter($this,
"new_type", $new_type);
1070 $form->setTableWidth(
"600px");
1075 $fi->setRequired(
true);
1077 $form->addItem($fi);
1081 $cb->
setInfo($this->lng->txt(
""));
1082 $form->addItem($cb);
1084 $form->addCommandButton(
"importFile", $lng->txt(
"import"));
1085 $form->addCommandButton(
"cancel", $lng->txt(
"cancel"));
1087 $form->setTitle($this->lng->txt(
"import_".$new_type));
1088 $form->setFormAction($ilCtrl->getFormAction($this));
1098 include_once
"./Modules/LearningModule/classes/class.ilBibItemGUI.php";
1100 $bib_gui->setObject($this->
object);
1101 $bibItemName =
$_POST[
"bibItemName"] ?
$_POST[
"bibItemName"] :
$_GET[
"bibItemName"];
1102 $bibItemIndex =
$_POST[
"bibItemIndex"] ?
$_POST[
"bibItemIndex"] :
$_GET[
"bibItemIndex"];
1103 if ($bibItemIndex ==
"")
1105 $bibItemPath =
$_POST[
"bibItemPath"] ?
$_POST[
"bibItemPath"] :
$_GET[
"bibItemPath"];
1106 if ($bibItemName !=
"")
1108 $bib_gui->bib_obj->add($bibItemName, $bibItemPath, $bibItemIndex);
1109 $data = $bib_gui->bib_obj->getElement(
"BibItem");
1110 $bibItemIndex = (count(
$data) - 1);
1116 if ($a_target ==
"")
1118 $a_target =
"adm_object.php?ref_id=" . $this->
object->getRefId();
1121 $bib_gui->edit(
"ADM_CONTENT",
"adm_content", $a_target, $bibItemIndex);
1142 include_once
"./Modules/LearningModule/classes/class.ilBibItemGUI.php";
1144 $bib_gui->setObject($this->
object);
1145 $bibItemIndex =
$_POST[
"bibItemIndex"] ?
$_POST[
"bibItemIndex"] :
$_GET[
"bibItemIndex"];
1146 $bib_gui->bib_obj->delete(
$_GET[
"bibItemName"],
$_GET[
"bibItemPath"], $bibItemIndex);
1147 if (strpos($bibItemIndex,
",") > 0)
1149 $bibItemIndex = substr($bibItemIndex, 0, strpos($bibItemIndex,
","));
1151 if ($a_target ==
"")
1153 $a_target =
"adm_object.php?ref_id=" . $this->
object->getRefId();
1156 $bib_gui->edit(
"ADM_CONTENT",
"adm_content", $a_target, max(0, $bibItemIndex - 1));
1178 include_once
"./Modules/LearningModule/classes/class.ilBibItemGUI.php";
1180 $bib_gui->setObject($this->
object);
1181 $bibItemIndex =
$_POST[
"bibItemIndex"] ?
$_POST[
"bibItemIndex"] :
$_GET[
"bibItemIndex"];
1183 if ($bibItemIndex < 0)
1187 if ($a_target ==
"")
1189 $a_target =
"adm_object.php?ref_id=" . $this->
object->getRefId();
1192 $bib_gui->edit(
"ADM_CONTENT",
"adm_content", $a_target, $bibItemIndex);
1213 include_once
"./Modules/LearningModule/classes/class.ilBibItemGUI.php";
1215 $bib_gui->setObject($this->
object);
1216 $bibItemIndex =
$_POST[
"bibItemIndex"] ?
$_POST[
"bibItemIndex"] :
$_GET[
"bibItemIndex"];
1218 if ($bibItemIndex < 0)
1222 $bibItemIndex = $bib_gui->save($bibItemIndex);
1224 if ($a_target ==
"")
1226 $a_target =
"adm_object.php?ref_id=" . $this->
object->getRefId();
1229 $bib_gui->edit(
"ADM_CONTENT",
"adm_content", $a_target, $bibItemIndex);
1275 global $_FILES, $rbacsystem,
$ilDB,
$tpl;
1277 include_once
"./Modules/LearningModule/classes/class.ilObjLearningModule.php";
1279 if (!$rbacsystem->checkAccess(
"create",
$_GET[
"ref_id"],
$_GET[
"new_type"]))
1281 $this->ilias->raiseError($this->lng->txt(
"no_create_permission"), $this->ilias->error_obj->MESSAGE);
1286 if ($form->checkInput())
1289 include_once(
"./Modules/LearningModule/classes/class.ilObjContentObject.php");
1291 $newObj->setType(
$_GET[
"new_type"]);
1292 $newObj->setTitle($_FILES[
"xmldoc"][
"name"]);
1293 $newObj->setDescription(
"");
1294 $newObj->create(
true);
1295 $newObj->createReference();
1296 $newObj->putInTree(
$_GET[
"ref_id"]);
1297 $newObj->setPermissions(
$_GET[
"ref_id"]);
1298 $newObj->notify(
"new",
$_GET[
"ref_id"],
$_GET[
"parent_non_rbac_id"],
$_GET[
"ref_id"],$newObj->getRefId());
1301 $newObj->createLMTree();
1304 $mess = $newObj->importFromZipFile($_FILES[
"xmldoc"][
"tmp_name"], $_FILES[
"xmldoc"][
"name"],
1311 "&baseClass=ilLMEditorGUI");
1315 $link =
'<a href="'.
"ilias.php?ref_id=".$newObj->getRefId().
1316 "&baseClass=ilLMEditorGUI".
'" target="_top">'.$this->lng->txt(
"btn_next").
'</a>';
1317 $tpl->setContent(
"<br />".$link.
"<br /><br />".$mess.$link);
1322 $form->setValuesByPost();
1323 $tpl->setContent($form->getHtml());
1337 $ilCtrl->setParameter($this,
"backcmd",
"chapters");
1339 include_once(
"./Modules/LearningModule/classes/class.ilChapterHierarchyFormGUI.php");
1342 $form_gui->setTitle($this->object->getTitle());
1344 $form_gui->setTree($this->lm_tree);
1345 $form_gui->setMaxDepth(0);
1346 $form_gui->setCurrentTopNodeId($this->tree->getRootId());
1347 $form_gui->addMultiCommand($lng->txt(
"delete"),
"delete");
1348 $form_gui->addMultiCommand($lng->txt(
"cut"),
"cutItems");
1349 $form_gui->addMultiCommand($lng->txt(
"copy"),
"copyItems");
1350 if ($this->object->getLayoutPerPage())
1352 $form_gui->addMultiCommand($lng->txt(
"cont_set_layout"),
"setPageLayoutInHierarchy");
1355 $form_gui->addCommand($lng->txt(
"cont_save_all_titles"),
"saveAllTitles");
1356 $up_gui = ($this->
object->getType() ==
"dbk")
1358 :
"ilobjlearningmodulegui";
1360 $ctpl =
new ilTemplate(
"tpl.chap_and_pages.html",
true,
true,
"Modules/LearningModule");
1361 $ctpl->setVariable(
"HIERARCHY_FORM", $form_gui->getHTML());
1362 $ilCtrl->setParameter($this,
"obj_id",
"");
1366 $this->tpl->setContent($ml_head.$ctpl->get());
1380 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
1384 if ($ot->getContentActivated())
1386 $lng->loadLanguageModule(
"meta");
1389 include_once(
"./Services/COPage/classes/class.ilPageMultiLangGUI.php");
1391 $ml_head = $ml_gui->getMultiLangInfo(
$_GET[
"transl"]);
1394 include_once(
"./Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php");
1396 $list->setListTitle($lng->txt(
"actions"));
1397 $list->setId(
"copage_act");
1399 if (!in_array(
$_GET[
"transl"], array(
"",
"-")))
1401 $l = $ot->getMasterLanguage();
1402 $list->addItem($lng->txt(
"cont_edit_language_version").
": ".
1403 $lng->txt(
"meta_l_".$l),
"",
1404 $ilCtrl->getLinkTarget($a_gui_class,
"editMasterLanguage"));
1408 foreach ($ot->getLanguages() as $al =>
$lang)
1410 if (
$_GET[
"transl"] != $al &&
1411 $al != $ot->getMasterLanguage())
1413 $ilCtrl->setParameter($a_gui_class,
"totransl", $al);
1414 $list->addItem($lng->txt(
"cont_edit_language_version").
": ".
1415 $lng->txt(
"meta_l_".$al),
"",
1416 $ilCtrl->getLinkTarget($a_gui_class,
"switchToLanguage"));
1417 $ilCtrl->setParameter($a_gui_class,
"totransl",
$_GET[
"totransl"]);
1424 $ml_head =
'<div class="ilFloatLeft">'.$ml_head.
'</div><div style="margin: 5px 0;" class="small ilRight">'.$list->getHTML().
"</div>";
1443 $ilCtrl->setParameter($this,
"backcmd",
"pages");
1444 $ilCtrl->setParameterByClass(
"illmpageobjectgui",
"new_type",
"pg");
1445 $ilToolbar->addButton($lng->txt(
"pg_add"),
1446 $ilCtrl->getLinkTargetByClass(
"illmpageobjectgui",
"create"));
1447 $ilCtrl->setParameterByClass(
"illmpageobjectgui",
"new_type",
"");
1449 include_once(
"./Modules/LearningModule/classes/class.ilLMPagesTableGUI.php");
1451 $tpl->setContent(
$t->getHTML());
1464 include_once(
"./Modules/LearningModule/classes/class.ilLinksTableGUI.php");
1466 $this->object->getId(), $this->
object->getType());
1468 $tpl->setContent($table_gui->getHTML());
1476 global
$tpl, $ilToolbar;
1481 $ilToolbar->addButton($this->lng->txt(
"cont_fix_tree"),
1482 $this->ctrl->getLinkTarget($this,
"fixTreeConfirm"));
1490 if (is_array(
$_POST[
"id"]))
1492 foreach(
$_POST[
"id"] as $id)
1494 include_once(
"./Modules/LearningModule/classes/class.ilLMPage.php");
1500 $this->ctrl->redirect($this,
"pages");
1510 $this->ilias->raiseError($this->lng->txt(
"no_page_in_clipboard"),$this->ilias->error_obj->MESSAGE);
1521 == $this->object->getID())
1524 $new_page =& $lm_page->copy();
1525 $id = $new_page->getId();
1531 $lm_obj =& $this->ilias->obj_factory->getInstanceByObjId($lm_id);
1533 $copied_nodes = array();
1534 $new_page =& $lm_page->copyToOtherContObject($this->
object, $copied_nodes);
1535 $id = $new_page->getId();
1545 != $this->object->getID())
1548 $lm_obj =& $this->ilias->obj_factory->getInstanceByObjId($lm_id);
1550 $lm_page->setLMId($this->object->getID());
1552 $page =& $lm_page->getPageObject();
1554 $page->setParentId($this->object->getID());
1561 $this->ctrl->redirect($this,
"pages");
1573 $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
1580 ilUtil::sendInfo($this->lng->txt(
"cont_selected_items_have_been_copied"),
true);
1582 $this->ctrl->redirect($this,
"pages");
1592 function delete($a_parent_subobj_id = 0)
1596 $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
1601 $this->ilias->raiseError($this->lng->txt(
"cont_select_item"), $this->ilias->error_obj->MESSAGE);
1604 if ($a_parent_subobj_id == 0)
1609 if ($a_parent_subobj_id != 0)
1611 $this->ctrl->setParameterByClass(
"ilStructureObjectGUI",
"backcmd",
$_GET[
"backcmd"]);
1612 $this->ctrl->setParameterByClass(
"ilStructureObjectGUI",
"obj_id", $a_parent_subobj_id);
1613 $form_action = $this->ctrl->getFormActionByClass(
"ilStructureObjectGUI");
1617 $this->ctrl->setParameter($this,
"backcmd",
$_GET[
"backcmd"]);
1618 $form_action = $this->ctrl->getFormAction($this);
1622 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
1624 $cgui->setFormAction($form_action);
1625 $cgui->setHeaderText($this->lng->txt(
"info_delete_sure"));
1626 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancelDelete");
1627 $cgui->setConfirm($this->lng->txt(
"confirm"),
"confirmedDelete");
1629 foreach(
$_POST[
"id"] as $id)
1635 " ".$obj->getTitle();
1637 $cgui->addItem(
"id[]", $id, $caption);
1641 $this->tpl->setContent($cgui->getHTML());
1649 $this->ctrl->redirect($this,
$_GET[
"backcmd"]);
1663 $tree->setTableNames(
'lm_tree',
'lm_data');
1664 $tree->setTreeTablePK(
"lm_id");
1669 $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
1673 foreach (
$_POST[
"id"] as $id)
1678 $node_data =
$tree->getNodeData($id);
1679 if (is_object($obj))
1681 $obj->setLMId($this->object->getId());
1683 include_once(
"./Services/History/classes/class.ilHistory.php");
1686 $this->
object->getType());
1690 if(
$tree->isInTree($id))
1692 $tree->deleteTree($node_data);
1698 $this->
object->checkTree();
1703 if ($a_parent_subobj_id == 0)
1705 $this->ctrl->redirect($this,
$_GET[
"backcmd"]);
1721 $tmpPath = $this->lm_tree->getPathFull($a_endnode_id, $a_startnode_id);
1724 for ($i = 1; $i < (count($tmpPath) - 1); $i++)
1731 $path .= $tmpPath[$i][
"title"];
1746 foreach ($a_actions as $name =>
$lng)
1748 $d[$name] = array(
"name" => $name,
"lng" =>
$lng);
1751 $notoperations = array();
1753 $operations = array();
1759 if (!in_array($row[
"name"], $notoperations))
1761 $operations[] =
$row;
1766 if (count($operations)>0)
1768 foreach ($operations as $val)
1770 $this->tpl->setCurrentBlock(
"operation_btn");
1771 $this->tpl->setVariable(
"BTN_NAME", $val[
"name"]);
1772 $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt($val[
"lng"]));
1773 $this->tpl->parseCurrentBlock();
1776 $this->tpl->setCurrentBlock(
"operation");
1778 $this->tpl->parseCurrentBlock();
1789 $this->
setFormAction(
"addRole", $this->ctrl->getLinkTarget($this,
"addRole"));
1790 $this->
setFormAction(
"permSave", $this->ctrl->getLinkTarget($this,
"permSave"));
1791 $this->permObject();
1800 $this->
setReturnLocation(
"permSave", $this->ctrl->getLinkTarget($this,
"perm"));
1801 $this->permSaveObject();
1810 $this->infoObject();
1820 $this->addRoleObject();
1830 $this->ownerObject();
1839 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui")
1858 $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
1861 if(count(
$_POST[
"id"]) > 1)
1863 $this->ilias->raiseError($this->lng->txt(
"cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
1868 $this->ilias->raiseError($this->lng->txt(
"cont_select_item"), $this->ilias->error_obj->MESSAGE);
1876 if ($a_parent_subobj_id == 0)
1878 $this->ctrl->redirect($this,
"chapters");
1908 $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
1911 ilUtil::sendInfo($this->lng->txt(
"cont_selected_items_have_been_cut"),
true);
1917 $this->ctrl->redirect($this,
"pages");
1925 if (
$_GET[
"new_type"] ==
"pg")
1927 $this->ctrl->redirect($this,
"pages");
1931 $this->ctrl->redirect($this,
"chapters");
1941 require_once(
"./Modules/LearningModule/classes/class.ilContObjectExport.php");
1943 $cont_exp->buildExportFile();
1954 $changelink =
"<a href='".$ilCtrl->getLinkTarget($this,
"editMenuProperties").
"'>".$lng->txt(
"change").
"</a>";
1955 if (!$this->object->isActiveLMMenu())
1957 $add =
"<br />".$lng->txt(
"cont_download_no_menu").
" ".$changelink;
1959 else if (!$this->object->isActiveDownloads())
1961 $add =
"<br />".$lng->txt(
"cont_download_no_download").
" ".$changelink;
1965 if ($this->object->getPublicExportFile($a_type) == $a_file)
1967 return $lng->txt(
"yes").$add;
1982 if(!isset($a_files))
1988 foreach ($a_files as $f)
1990 $file = explode(
":", $f);
1991 $export_dir = $this->
object->getExportDirectory(
$file[0]);
1993 if ($this->object->getPublicExportFile(
$file[0]) ==
1996 $this->
object->setPublicExportFile(
$file[0],
"");
2000 $this->
object->setPublicExportFile(
$file[0],
$file[1]);
2003 $this->
object->update();
2005 $ilCtrl->redirectByClass(
"ilexportgui");
2013 if(!isset(
$_POST[
"file"]))
2015 $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
2018 if (count(
$_POST[
"file"]) > 1)
2020 $this->ilias->raiseError($this->lng->txt(
"cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
2024 $export_dir = $this->
object->getOfflineDirectory();
2042 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
2044 $cgui->setFormAction($this->ctrl->getFormAction($this));
2045 $cgui->setHeaderText($this->lng->txt(
"cont_fix_tree_confirm"));
2046 $cgui->setCancel($this->lng->txt(
"cancel"),
"showMaintenance");
2047 $cgui->setConfirm($this->lng->txt(
"cont_fix_tree"),
"fixTree");
2049 $this->tpl->setContent($cgui->getHTML());
2057 $this->
object->fixTree();
2059 $this->ctrl->redirect($this,
"showMaintenance");
2066 $a_active =
"content", $a_use_global_tabs =
false, $a_as_subtabs =
false,
2069 global
$ilCtrl,
$ilUser, $ilAccess, $ilTabs, $rbacsystem, $ilPluginAdmin, $ilHelp;
2071 $ilHelp->setScreenIdComponent(
"lm");
2075 $addcmd =
"addSubTabTarget";
2076 $getcmd =
"getSubTabHTML";
2080 $addcmd =
"addTarget";
2081 $getcmd =
"getHTML";
2084 $active[$a_active] =
true;
2086 if (!$this->object->isActiveLMMenu())
2091 if ($a_use_global_tabs)
2093 $tabs_gui = $ilTabs;
2103 $showViewInFrameset =
true;
2105 if ($showViewInFrameset && !$a_offline)
2111 $buttonTarget =
"_top";
2114 if ($a_export_format ==
"scorm")
2119 include_once(
"./Services/Payment/classes/class.ilPaymentObject.php");
2123 if (!$a_offline && $ilAccess->checkAccess(
"read",
"", $_GET[
"ref_id"]))
2125 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id", $_GET[
"obj_id"]);
2126 $tabs_gui->$addcmd(
"content",
2127 $ilCtrl->getLinkTargetByClass(
"illmpresentationgui",
"layout"),
2128 "",
"", $buttonTarget, $active[
"content"]);
2129 if ($active[
"content"])
2131 $ilHelp->setScreenId(
"content");
2132 $ilHelp->setSubScreenId(
"content");
2137 if (!$requires_purchase_to_access && $this->object->isActiveTOC() && $ilAccess->checkAccess(
"read",
"", $_GET[
"ref_id"]))
2141 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id", $_GET[
"obj_id"]);
2142 $link = $ilCtrl->getLinkTargetByClass(
"illmpresentationgui",
"showTableOfContents");
2146 $link =
"./table_of_contents.html";
2149 $tabs_gui->$addcmd(
"cont_toc", $link,
2150 "",
"", $buttonTarget, $active[
"toc"]);
2154 if (!$requires_purchase_to_access && $this->object->isActivePrintView() && $ilAccess->checkAccess(
"read",
"", $_GET[
"ref_id"]))
2158 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id", $_GET[
"obj_id"]);
2159 $link = $ilCtrl->getLinkTargetByClass(
"illmpresentationgui",
"showPrintViewSelection");
2160 $tabs_gui->$addcmd(
"cont_print_view", $link,
2161 "",
"", $buttonTarget, $active[
"print"]);
2166 if (!$requires_purchase_to_access && $ilUser->getId() == ANONYMOUS_USER_ID)
2168 $is_public = $this->
object->isActiveDownloadsPublic();
2170 else if(!$requires_purchase_to_access)
2175 if (!$requires_purchase_to_access && $this->object->isActiveDownloads() && !$a_offline && $is_public &&
2176 $ilAccess->checkAccess(
"read",
"", $_GET[
"ref_id"]))
2178 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id", $_GET[
"obj_id"]);
2179 $link = $ilCtrl->getLinkTargetByClass(
"illmpresentationgui",
"showDownloadList");
2180 $tabs_gui->$addcmd(
"download", $link,
2181 "",
"", $buttonTarget, $active[
"download"]);
2185 if ($a_export_format !=
"scorm" && !$a_offline)
2189 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id", $_GET[
"obj_id"]);
2190 $link = $this->ctrl->getLinkTargetByClass(
2191 array(
"illmpresentationgui",
"ilinfoscreengui"),
"showSummary");
2195 $link =
"./info.html";
2198 $tabs_gui->$addcmd(($requires_purchase_to_access ?
'buy' :
'info_short'), $link,
2199 "",
"", $buttonTarget, $active[
"info"]);
2202 include_once
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
2204 $ilAccess->checkAccess(
"read",
"", $_GET[
"ref_id"]) &&
2207 include_once
'./Services/Object/classes/class.ilObjectLP.php';
2211 $tabs_gui->$addcmd(
"learning_progress",
2212 $this->ctrl->getLinkTargetByClass(array(
"illmpresentationgui",
"illearningprogressgui"),
"editmanual"),
2213 "",
"", $buttonTarget, $active[
"learning_progress"]);
2217 $tabs_gui->$addcmd(
"learning_progress",
2218 $this->ctrl->getLinkTargetByClass(array(
"illmpresentationgui",
"illearningprogressgui"),
"showtlt"),
2219 "",
"", $buttonTarget, $active[
"learning_progress"]);
2224 if (!$a_offline && $a_cur_page > 0)
2226 if ($rbacsystem->checkAccess(
"write", $_GET[
"ref_id"]))
2229 $page_id = $a_cur_page;
2230 $tabs_gui->$addcmd(
"edit_page", ILIAS_HTTP_PATH.
"/ilias.php?baseClass=ilLMEditorGUI&ref_id=".$_GET[
"ref_id"].
2231 "&obj_id=".$page_id.
"&to_page=1",
2232 "",
"", $buttonTarget, $active[
"edit_page"]);
2236 if(!$requires_purchase_to_access)
2240 $entries = $this->lmme_obj->getMenuEntries(
true);
2242 if (count($entries) > 0 && $ilAccess->checkAccess(
"read",
"", $_GET[
"ref_id"]))
2244 foreach ($entries as $entry)
2247 if ($entry[
"type"] ==
"intern")
2249 $entry[
"link"] = ILIAS_HTTP_PATH.
"/goto.php?target=".$entry[
"link"];
2253 if (!strstr($entry[
"link"],
'://') && !strstr($entry[
"link"],
'mailto:'))
2255 $entry[
"link"] =
"http://".$entry[
"link"];
2258 if (!strstr($entry[
"link"],
'mailto:'))
2262 $tabs_gui->$addcmd($entry[
"title"],
2264 "",
"",
"_blank",
"",
true);
2270 $pl_names = $ilPluginAdmin->getActivePluginsForSlot(
IL_COMP_SERVICE,
"UIComponent",
"uihk");
2271 $plugin_html =
false;
2272 foreach ($pl_names as $pl)
2275 $gui_class = $ui_plugin->getUIClassInstance();
2276 $resp = $gui_class->modifyGUI(
"Modules/LearningModule",
"lm_menu_tabs",
2277 array(
"lm_menu_tabs" => $tabs_gui));
2281 return $tabs_gui->$getcmd();
2289 require_once(
"./Modules/LearningModule/classes/class.ilContObjectExport.php");
2291 $cont_exp->buildExportFile();
2292 $this->offlineList();
2300 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
2303 if ($ot->getContentActivated())
2305 $format = explode(
"_",
$_POST[
"format"]);
2308 require_once(
"./Modules/LearningModule/classes/class.ilContObjectExport.php");
2310 $cont_exp->buildExportFile();
2320 require_once(
"./Modules/LearningModule/classes/class.ilContObjectExport.php");
2322 $cont_exp->buildExportFile();
2336 $par_id = $tree->getParentId(
$_GET[
"ref_id"]);
2340 if($par_id != ROOT_FOLDER_ID)
2342 $this->ctrl->addLocation(
"...",
2349 if ($parent_title ==
"ILIAS")
2351 $parent_title = $lng->txt(
"repository");
2355 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id", $par_id);
2356 $this->ctrl->addLocation($parent_title,
2357 $ilCtrl->getLinkTargetByClass(
"ilrepositorygui",
"frameset"),
2359 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id",
$_GET[
"ref_id"]);
2361 if (!$a_omit_obj_id)
2365 $lmtree =& $this->
object->getTree();
2373 $path = $lmtree->getPathFull($lmtree->getRootId());
2376 $path[] = array(
"type" =>
"pg",
"child" => $this->obj_id,
2385 if (
$row[
"child"] == 1)
2387 $this->ctrl->setParameter($this,
"obj_id",
"");
2388 $this->ctrl->addLocation(
2389 $this->object->getTitle(),
2390 $this->ctrl->getLinkTarget($this,
"chapters"),
"",
$_GET[
"ref_id"]);
2394 $title =
$row[
"title"];
2395 switch(
$row[
"type"])
2398 $this->ctrl->setParameterByClass(
"ilstructureobjectgui",
"obj_id",
$row[
"child"]);
2399 $this->ctrl->addLocation(
2401 $this->ctrl->getLinkTargetByClass(
"ilstructureobjectgui",
"view"));
2405 $this->ctrl->setParameterByClass(
"illmpageobjectgui",
"obj_id",
$row[
"child"]);
2406 $this->ctrl->addLocation(
2408 $this->ctrl->getLinkTargetByClass(
"illmpageobjectgui",
"edit"));
2413 if (!$a_omit_obj_id)
2415 $this->ctrl->setParameter($this,
"obj_id",
$_GET[
"obj_id"]);
2434 include_once(
"./Modules/LearningModule/classes/class.ilLMQuestionListTableGUI.php");
2436 $tpl->setContent($table->getHTML());
2450 include_once(
"./Modules/LearningModule/classes/class.ilLMBlockedUsersTableGUI.php");
2452 $tpl->setContent($table->getHTML());
2463 include_once(
"./Services/COPage/classes/class.ilPageQuestionProcessor.php");
2464 if (is_array(
$_POST[
"userquest_id"]))
2466 foreach (
$_POST[
"userquest_id"] as $uqid)
2468 $uqid = explode(
":", $uqid);
2473 $ilCtrl->redirect($this,
"listBlockedUsers");
2483 include_once(
"./Services/COPage/classes/class.ilPageQuestionProcessor.php");
2484 if (is_array(
$_POST[
"userquest_id"]))
2486 foreach (
$_POST[
"userquest_id"] as $uqid)
2488 $uqid = explode(
":", $uqid);
2493 $ilCtrl->redirect($this,
"listBlockedUsers");
2503 if (!is_array(
$_POST[
"userquest_id"]))
2506 $ilCtrl->redirect($this,
"listBlockedUsers");
2510 foreach(
$_POST[
"userquest_id"] as $uqid)
2512 $uqid = explode(
":", $uqid);
2514 if (!in_array($login, $rcps))
2519 require_once
'Services/Mail/classes/class.ilMailFormCall.php';
2524 'rcp_to' => implode(
',',$rcps),
2534 $link = chr(13).chr(10).chr(13).chr(10);
2535 $link .= $this->lng->txt(
'cont_blocked_users_mail_link');
2536 $link .= chr(13).chr(10).chr(13).chr(10);
2537 include_once
'./Services/Link/classes/class.ilLink.php';
2539 return rawurlencode(base64_encode($link));
2553 global
$lng, $ilHelp;
2555 $ilHelp->setScreenIdComponent(
"lm");
2559 $this->tpl->setTitle($this->object->getTitle());
2561 $lng->txt(
"obj_lm"));
2576 $ilTabs->addSubtab(
"chapters",
2577 $lng->txt(
"cont_chapters"),
2578 $ilCtrl->getLinkTarget($this,
"chapters"));
2581 $ilTabs->addSubtab(
"pages",
2582 $lng->txt(
"cont_all_pages"),
2583 $ilCtrl->getLinkTarget($this,
"pages"));
2586 if (
$lm_set->get(
"html_export_ids"))
2590 $ilTabs->addSubtab(
"export_ids",
2591 $lng->txt(
"cont_html_export_ids"),
2592 $ilCtrl->getLinkTarget($this,
"showExportIDsOverview"));
2597 $lng->loadLanguageModule(
"help");
2598 $ilTabs->addSubtab(
"export_ids",
2599 $lng->txt(
"cont_online_help_ids"),
2600 $ilCtrl->getLinkTarget($this,
"showExportIDsOverview"));
2602 $ilTabs->addSubtab(
"help_tooltips",
2603 $lng->txt(
"help_tooltips"),
2604 $ilCtrl->getLinkTarget($this,
"showTooltipList"));
2608 $ilTabs->addSubtab(
"internal_links",
2609 $lng->txt(
"cont_internal_links"),
2610 $ilCtrl->getLinkTarget($this,
"listLinks"));
2613 if ($this->object->getType() ==
"lm")
2615 if(@include_once(
'HTTP/Request.php'))
2617 $ilTabs->addSubtab(
"link_check",
2618 $lng->txt(
"link_check"),
2619 $ilCtrl->getLinkTarget($this,
"linkChecker"));
2623 $ilTabs->addSubtab(
"history",
2624 $lng->txt(
"history"),
2625 $this->ctrl->getLinkTarget($this,
"history"));
2628 $ilTabs->addSubtab(
"maintenance",
2629 $lng->txt(
"cont_maintenance"),
2630 $ilCtrl->getLinkTarget($this,
"showMaintenance"));
2632 $ilTabs->activateSubTab($a_active);
2633 $ilTabs->activateTab(
"content");
2646 $ilTabs->addSubtab(
"question_stats",
2647 $lng->txt(
"cont_question_stats"),
2648 $ilCtrl->getLinkTarget($this,
"listQuestions"));
2651 $ilTabs->addSubtab(
"blocked_users",
2652 $lng->txt(
"cont_blocked_users"),
2653 $ilCtrl->getLinkTarget($this,
"listBlockedUsers"));
2655 $ilTabs->activateSubTab($a_active);
2665 $tabs_gui = $ilTabs;
2668 $ilTabs->addTab(
"content",
2669 $lng->txt(
"content"),
2670 $this->ctrl->getLinkTarget($this,
"chapters"));
2673 $ilTabs->addTab(
"info",
2674 $lng->txt(
"info_short"),
2675 $this->ctrl->getLinkTargetByClass(
"ilinfoscreengui",
'showSummary'));
2678 $ilTabs->addTab(
"settings",
2679 $lng->txt(
"settings"),
2680 $this->ctrl->getLinkTarget($this,
'properties'));
2683 $ilTabs->addTab(
"questions",
2684 $lng->txt(
"objs_qst"),
2685 $this->ctrl->getLinkTarget($this,
"listQuestions"));
2688 include_once
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
2691 $ilTabs->addTab(
'learning_progress',
2692 $lng->txt(
"learning_progress"),
2693 $this->ctrl->getLinkTargetByClass(array(
'illearningprogressgui'),
''));
2696 if ($this->object->getType() !=
"lm")
2699 $ilTabs->addTab(
"bib_data",
2700 $lng->txt(
"bib_data"),
2701 $this->ctrl->getLinkTarget($this,
"editBibItem"));
2705 $ilTabs->addTab(
"meta",
2706 $lng->txt(
"meta_data"),
2707 $this->ctrl->getLinkTargetByClass(
'ilmdeditorgui',
''));
2709 if ($this->object->getType() ==
"lm")
2712 $ilTabs->addTab(
"export",
2713 $lng->txt(
"export"),
2714 $this->ctrl->getLinkTargetByClass(
"ilexportgui",
""));
2718 if ($rbacsystem->checkAccess(
'edit_permission',$this->object->getRefId()))
2720 $ilTabs->addTab(
"perm",
2721 $lng->txt(
"perm_settings"),
2722 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm"));
2727 $ilTabs->activateTab($a_act);
2731 $ilTabs->addNonTabbedLink(
"pres_mode", $lng->txt(
"cont_presentation_view"),
2732 "ilias.php?baseClass=ilLMPresentationGUI&ref_id=".$this->object->getRefID(),
"_top");
2742 if (in_array($a_active,
2743 array(
"settings",
"cont_style",
"cont_lm_menu",
"public_section",
2744 "cont_glossaries",
"cont_multilinguality",
"obj_multilinguality")))
2747 $ilTabs->addSubTabTarget(
"settings",
2748 $this->ctrl->getLinkTarget($this,
'properties'),
2752 $ilTabs->addSubTabTarget(
"cont_style",
2753 $this->ctrl->getLinkTarget($this,
'editStyleProperties'),
2757 $ilTabs->addSubTabTarget(
"cont_lm_menu",
2758 $this->ctrl->getLinkTarget($this,
'editMenuProperties'),
2762 $ilTabs->addSubTabTarget(
"cont_glossaries",
2763 $this->ctrl->getLinkTarget($this,
'editGlossaries'),
2766 if ($ilSetting->get(
"pub_section"))
2768 if ($this->object->getType() !=
"dbk")
2771 $ilTabs->addSubTabTarget(
"public_section",
2772 $this->ctrl->getLinkTarget($this,
'editPublicSection'),
2782 $ilTabs->addSubTabTarget(
"obj_multilinguality",
2783 $this->ctrl->getLinkTargetByClass(
"ilobjecttranslationgui",
""));
2785 $ilTabs->setSubTabActive($a_active);
2791 global $ilTabs, $ilToolbar, $ilAccess;
2794 if (!$ilAccess->checkAccessOfUser(ANONYMOUS_USER_ID,
"read",
"", $this->object->getRefId()))
2801 $ilTabs->setTabActive(
"settings");
2803 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.lm_public_selector.html",
2804 "Modules/LearningModule");
2811 $modes = array(
"complete" => $this->lng->txt(
"all_pages"),
"selected" => $this->lng->txt(
"selected_pages_only"));
2812 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
2814 $si->setOptions($modes);
2815 $si->setValue($this->object->getPublicAccessMode());
2816 $ilToolbar->addInputItem(
$si,
true);
2817 $ilToolbar->addFormButton($this->lng->txt(
"save"),
"savePublicSectionAccess");
2818 $ilToolbar->setFormAction($this->ctrl->getFormAction($this,
"savePublicSectionAccess"));
2820 if ($this->object->getPublicAccessMode() ==
"selected")
2822 $this->tpl->setCurrentBlock(
"select_pages");
2823 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getLinkTarget($this,
"savePublicSectionPages"));
2825 include_once (
"./Modules/LearningModule/classes/class.ilPublicSectionExplorerGUI.php");
2827 $tree->setSelectMode(
"pages",
true);
2828 $tree->setSkipRootNode(
true);
2830 $this->tpl->setVariable(
"EXPLORER",
$tree->getHTML());
2831 $this->tpl->setVariable(
"TXT_SAVE", $this->lng->txt(
"save"));
2833 $this->tpl->parseCurrentBlock();
2840 $this->
object->setPublicAccessMode(
$_POST[
"lm_public_mode"]);
2841 $this->
object->updateProperties();
2844 $this->ctrl->redirect($this,
"editPublicSection");
2852 $this->
object->setPublicAccessMode(
$_POST[
"lm_public_mode"]);
2853 $this->
object->updateProperties();
2855 $this->ctrl->redirect($this,
"editPublicSection");
2865 $this->ctrl->redirect($this,
"editPublicSection");
2878 require_once(
"./Services/History/classes/class.ilHistoryTableGUI.php");
2880 $this->object->getId() ,$this->
object->getType());
2882 $hist_gui->setCommentVisibility($this->object->isActiveHistoryUserComments());
2884 $this->tpl->setContent($hist_gui->getHTML());
2899 require_once
'Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php';
2901 $actions->setSelectionHeaderClass(
'small');
2902 $actions->setItemLinkClass(
'xsmall');
2903 $actions->setListTitle($this->lng->txt(
'actions'));
2905 $this->ctrl->setParameterByClass(
'ilLMPageObjectGUI',
'obj_id', $row[
'page_id']);
2907 $this->lng->txt(
'edit'),
2909 $this->ctrl->getLinkTargetByClass(
'ilLMPageObjectGUI',
'edit')
2911 $this->ctrl->clearParametersByClass(
'ilLMPageObjectGUI');
2912 $row[
'action_html'] =
$actions->getHTML();
2926 require_once
'./Services/LinkChecker/classes/class.ilLinkCheckerTableGUI.php';
2931 include_once
"Services/Cron/classes/class.ilCronManager.php";
2934 include_once
'./Services/LinkChecker/classes/class.ilLinkCheckNotify.php';
2935 include_once
'Services/Form/classes/class.ilPropertyFormGUI.php';
2937 $chb =
new ilCheckboxInputGUI($this->lng->txt(
'link_check_message_a'),
'link_check_message');
2940 $chb->setOptionTitle($this->lng->txt(
'link_check_message_b'));
2942 $toolbar->addInputItem($chb);
2943 $toolbar->addFormButton($this->lng->txt(
'save'),
'saveLinkCheck');
2944 $toolbar->setFormAction($this->ctrl->getLinkTarget($this,
'saveLinkCheck'));
2948 $tgui->setLinkChecker($this->link_checker_obj)
2949 ->setRowHandler($this)
2950 ->setRefreshButton($this->lng->txt(
'refresh'),
'refreshLinkCheck');
2952 return $tpl->setContent($tgui->prepareHTML()->getHTML().$toolbar->getHTML());
2959 include_once
'./Services/LinkChecker/classes/class.ilLinkCheckNotify.php';
2962 $link_check_notify->setUserId($ilUser->getId());
2963 $link_check_notify->setObjId($this->object->getId());
2965 if(
$_POST[
'link_check_message'])
2968 $link_check_notify->addNotifier();
2973 $link_check_notify->deleteNotifier();
2986 if(!$this->link_checker_obj->checkPear())
2994 $this->link_checker_obj->checkLinks();
3006 include_once
'./Services/LinkChecker/classes/class.ilLinkChecker.php';
3009 $this->link_checker_obj->setObjId($this->object->getId());
3016 include_once
'./Modules/LearningModule/classes/class.ilLMMenuEditor.php';
3019 $this->lmme_obj->setObjId($this->object->getId());
3033 $ilTabs->setTabActive(
"settings");
3036 $ilToolbar->addButton($this->lng->txt(
"lm_menu_select_internal_object"),
3037 $ilCtrl->getLinkTarget($this,
"showEntrySelector"));
3040 $this->tpl->setContent($form->getHTML());
3052 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
3056 $ti =
new ilTextInputGUI($this->lng->txt(
"lm_menu_entry_title"),
"title");
3059 $form->addItem($ti);
3062 $ta =
new ilTextInputGUI($this->lng->txt(
"lm_menu_entry_target"),
"target");
3065 $form->addItem($ta);
3067 if ($a_mode ==
"edit")
3070 $this->lmme_obj->readEntry(
$_REQUEST[
"menu_entry"]);
3071 $ti->setValue($this->lmme_obj->getTitle());
3072 $ta->setValue($this->lmme_obj->getTarget());
3075 if (isset(
$_GET[
"link_ref_id"]))
3077 $link_ref_id = (int)
$_GET[
"link_ref_id"];
3082 $target_link = $obj_type.
"_".$link_ref_id;
3083 $ti->setValue($title);
3084 $ta->setValue($target_link);
3088 $hi->setValue($link_ref_id);
3089 $form->addItem($hi);
3094 if ($a_mode ==
"create")
3096 $form->addCommandButton(
"saveMenuEntry", $lng->txt(
"save"));
3097 $form->addCommandButton(
"editMenuProperties", $lng->txt(
"cancel"));
3098 $form->setTitle($lng->txt(
"lm_menu_new_entry"));
3102 $form->addCommandButton(
"updateMenuEntry", $lng->txt(
"save"));
3103 $form->addCommandButton(
"editMenuProperties", $lng->txt(
"cancel"));
3104 $form->setTitle($lng->txt(
"lm_menu_edit_entry"));
3107 $form->setFormAction($ilCtrl->getFormAction($this));
3120 if (empty(
$_POST[
"title"]))
3124 $ilCtrl->redirect($this,
"addMenuEntry");
3126 if (empty(
$_POST[
"target"]))
3130 $ilCtrl->redirect($this,
"addMenuEntry");
3134 $this->lmme_obj->setTitle(
$_POST[
"title"]);
3135 $this->lmme_obj->setTarget(
$_POST[
"target"]);
3136 $this->lmme_obj->setLinkRefId(
$_POST[
"link_ref_id"]);
3138 if (
$_POST[
"link_ref_id"])
3140 $this->lmme_obj->setLinkType(
"intern");
3143 $this->lmme_obj->create();
3146 $this->ctrl->redirect($this,
"editMenuProperties");
3154 if (empty(
$_GET[
"menu_entry"]))
3156 $this->ilias->raiseError($this->lng->txt(
"no_menu_entry_id"),$this->ilias->error_obj->MESSAGE);
3160 $this->lmme_obj->delete(
$_GET[
"menu_entry"]);
3163 $this->ctrl->redirect($this,
"editMenuProperties");
3173 if (empty(
$_GET[
"menu_entry"]))
3175 $this->ilias->raiseError($this->lng->txt(
"no_menu_entry_id"),$this->ilias->error_obj->MESSAGE);
3178 $ilCtrl->saveParameter($this, array(
"menu_entry"));
3179 $ilToolbar->addButton($this->lng->txt(
"lm_menu_select_internal_object"),
3180 $ilCtrl->getLinkTarget($this,
"showEntrySelector"));
3183 $this->tpl->setContent($form->getHTML());
3193 $this->ilias->raiseError($this->lng->txt(
"no_menu_entry_id"),$this->ilias->error_obj->MESSAGE);
3197 if (empty(
$_POST[
"title"]))
3199 $this->ilias->raiseError($this->lng->txt(
"please_enter_title"),$this->ilias->error_obj->MESSAGE);
3201 if (empty(
$_POST[
"target"]))
3203 $this->ilias->raiseError($this->lng->txt(
"please_enter_target"),$this->ilias->error_obj->MESSAGE);
3207 $this->lmme_obj->readEntry(
$_REQUEST[
"menu_entry"]);
3208 $this->lmme_obj->setTitle(
$_POST[
"title"]);
3209 $this->lmme_obj->setTarget(
$_POST[
"target"]);
3210 $this->lmme_obj->update();
3213 $this->ctrl->redirect($this,
"editMenuProperties");
3222 $ilTabs->setTabActive(
"settings");
3225 $ilCtrl->saveParameter($this, array(
"menu_entry"));
3227 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.lm_menu_object_selector.html",
"Modules/LearningModule");
3231 require_once (
"./Modules/LearningModule/classes/class.ilLMMenuObjectSelector.php");
3234 $exp->
setExpand(
$_GET[
"lm_menu_expand"] ?
$_GET[
"lm_menu_expand"] : $this->tree->readRootId());
3235 $exp->setExpandTarget($this->ctrl->getLinkTarget($this,
'showEntrySelector'));
3236 $exp->setTargetGet(
"ref_id");
3237 $exp->setRefId($this->cur_ref_id);
3239 $sel_types = array(
'mcst',
'mep',
'cat',
'lm',
'dbk',
'glo',
'frm',
'exc',
'tst',
'svy',
'chat',
'wiki',
'sahs',
3240 "crs",
"grp",
"book",
"tst",
"file");
3241 $exp->setSelectableTypes($sel_types);
3247 $output = $exp->getOutput();
3250 foreach ($exp->format_options as $node)
3252 if (!$node[
"container"])
3254 $pages[] = $node[
"child"];
3261 $this->tpl->setVariable(
"TXT_SET_PUBLIC_MODE", $this->lng->txt(
"set_public_mode"));
3262 $this->tpl->setVariable(
"TXT_CHOOSE_PUBLIC_MODE", $this->lng->txt(
"choose_public_mode"));
3263 $modes = array(
"complete" => $this->lng->txt(
"all_pages"),
"selected" => $this->lng->txt(
"selected_pages_only"));
3264 $select_public_mode =
ilUtil::formSelect ($this->object->getPublicAccessMode(),
"lm_public_mode",$modes,
false,
true);
3265 $this->tpl->setVariable(
"SELECT_PUBLIC_MODE", $select_public_mode);
3267 $this->tpl->setVariable(
"TXT_EXPLORER_HEADER", $this->lng->txt(
"choose_public_pages"));
3268 $this->tpl->setVariable(
"EXP_REFRESH", $this->lng->txt(
"refresh"));
3269 $this->tpl->setVariable(
"EXPLORER",$output);
3270 $this->tpl->setVariable(
"ONCLICK",$js_pages);
3271 $this->tpl->setVariable(
"TXT_CHECKALL", $this->lng->txt(
"check_all"));
3272 $this->tpl->setVariable(
"TXT_UNCHECKALL", $this->lng->txt(
"uncheck_all"));
3273 $this->tpl->setVariable(
"TXT_SAVE", $this->lng->txt(
"save"));
3274 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getLinkTarget($this,
"savePublicSection"));
3285 $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
3287 if(count(
$_POST[
"id"]) > 1)
3289 $this->ilias->raiseError($this->lng->txt(
"cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
3291 if (
$_POST[
"id"][0] != $this->object->getHeaderPage())
3293 $this->
object->setHeaderPage(
$_POST[
"id"][0]);
3297 $this->
object->setHeaderPage(0);
3299 $this->
object->updateProperties();
3300 $this->ctrl->redirect($this,
"pages");
3310 $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
3312 if(count(
$_POST[
"id"]) > 1)
3314 $this->ilias->raiseError($this->lng->txt(
"cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
3316 if (
$_POST[
"id"][0] != $this->object->getFooterPage())
3318 $this->
object->setFooterPage(
$_POST[
"id"][0]);
3322 $this->
object->setFooterPage(0);
3324 $this->
object->updateProperties();
3325 $this->ctrl->redirect($this,
"pages");
3337 $ilCtrl->redirect($this,
"chapters");
3347 include_once(
"./Modules/LearningModule/classes/class.ilChapterHierarchyFormGUI.php");
3354 $parent_id = $this->lm_tree->getParentId($node_id);
3359 $parent_id = $node_id;
3363 for ($i = 1; $i <= $num; $i++)
3366 $chap->setType(
"st");
3367 $chap->setTitle($lng->txt(
"cont_new_chap"));
3368 $chap->setLMId($this->object->getId());
3373 $ilCtrl->redirect($this,
"chapters");
3383 include_once(
"./Modules/LearningModule/classes/class.ilChapterHierarchyFormGUI.php");
3388 $ilLog->write(
"InsertChapterClip, num: $num, node_id: $node_id, ".
3393 $parent_id = $this->lm_tree->getParentId($node_id);
3398 $parent_id = $node_id;
3403 $chapters = $ilUser->getClipboardObjects(
"st",
true);
3404 $copied_nodes = array();
3405 foreach ($chapters as $chap)
3407 $ilLog->write(
"Call pasteTree, Target LM: ".$this->object->getId().
", Chapter ID: ".$chap[
"id"]
3408 .
", Parent ID: ".$parent_id.
", Target: ".$target);
3410 $target, $chap[
"insert_time"], $copied_nodes,
3418 $ilUser->clipboardDeleteObjectsOfType(
"pg");
3419 $ilUser->clipboardDeleteObjectsOfType(
"st");
3423 $this->
object->checkTree();
3424 $ilCtrl->redirect($this,
"chapters");
3436 if ($ilAccess->checkAccess(
"read",
"", $a_target))
3438 $_GET[
"baseClass"] =
"ilLMPresentationGUI";
3439 $_GET[
"ref_id"] = $a_target;
3440 include(
"ilias.php");
3442 }
else if ($ilAccess->checkAccess(
"visible",
"", $a_target))
3444 $_GET[
"baseClass"] =
"ilLMPresentationGUI";
3445 $_GET[
"ref_id"] = $a_target;
3446 $_GET[
"cmd"] =
"infoScreen";
3447 include(
"ilias.php");
3450 else if ($ilAccess->checkAccess(
"read",
"", ROOT_FOLDER_ID))
3458 $ilErr->raiseError($lng->txt(
"msg_no_perm_read_lm"), $ilErr->FATAL);
3469 if (!is_array($items))
3472 $ilCtrl->redirect($this, $a_return);
3476 foreach($items as $k => $item)
3483 foreach($todel as $k)
3491 $ilCtrl->redirect($this, $a_return);
3502 if (!is_array($items))
3505 $ilCtrl->redirect($this,
"chapters");
3509 foreach($items as $k => $item)
3516 foreach($todel as $k)
3523 $ilCtrl->redirect($this,
"chapters");
3554 $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
3555 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
3556 $lm_tree = $this->
object->getTree();
3557 $childs = $lm_tree->getChilds($lm_tree->readRootId());
3558 $options = array(
"" => $lng->txt(
"all"));
3559 foreach ($childs as $c)
3561 $options[$c[
"child"]] = $c[
"title"];
3566 $ilToolbar->addInputItem(
$si,
true);
3567 $ilToolbar->addFormButton($lng->txt(
"help_filter"),
"filterHelpChapters");
3569 include_once(
"./Modules/LearningModule/classes/class.ilHelpMappingTableGUI.php");
3574 include_once(
"./Modules/LearningModule/classes/class.ilExportIDTableGUI.php");
3578 $tpl->setContent($tbl->getHTML());
3592 $ilCtrl->redirect($this,
"showExportIDsOverview");
3605 if (is_array(
$_POST[
"exportid"]))
3607 foreach (
$_POST[
"exportid"] as $pg_id => $exp_id)
3609 if ($exp_id !=
"" && !preg_match(
"/^([a-zA-Z]+)[0-9a-zA-Z_]*$/",
3619 $lng->txt(
"cont_exp_ids_not_resp_format3").
" ".
3620 $lng->txt(
"cont_exp_ids_not_resp_format2"));
3626 if (is_array(
$_POST[
"exportid"]))
3628 foreach (
$_POST[
"exportid"] as $pg_id => $exp_id)
3636 $ilCtrl->redirect($this,
"showExportIdsOverview");
3649 include_once(
"./Services/Help/classes/class.ilHelpMapping.php");
3650 if (is_array(
$_POST[
"screen_ids"]))
3652 foreach (
$_POST[
"screen_ids"] as $chap => $ids)
3654 $ids = explode(
"\n", $ids);
3659 $ilCtrl->redirect($this,
"showExportIdsOverview");
3679 $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
3680 include_once(
"./Services/Form/classes/class.ilTextInputGUI.php");
3681 $ti =
new ilTextInputGUI($this->lng->txt(
"help_tooltip_id"),
"tooltip_id");
3684 $ilToolbar->addInputItem($ti,
true);
3685 $ilToolbar->addFormButton($lng->txt(
"add"),
"addTooltip");
3686 $ilToolbar->addSeparator();
3688 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
3697 $ilToolbar->addInputItem(
$si,
true);
3698 $ilToolbar->addFormButton($lng->txt(
"help_filter"),
"filterTooltips");
3700 include_once(
"./Modules/LearningModule/classes/class.ilHelpTooltipTableGUI.php");
3703 $tpl->setContent($tbl->getHTML());
3717 if (trim($tt_id) !=
"")
3719 if (is_int(strpos($tt_id,
"_")))
3721 include_once(
"./Services/Help/classes/class.ilHelp.php");
3725 $fu = strpos($tt_id,
"_");
3726 $comp = substr($tt_id, 0, $fu);
3734 $ilCtrl->redirect($this,
"showTooltipList");
3748 $ilCtrl->redirect($this,
"showTooltipList");
3762 include_once(
"./Services/Help/classes/class.ilHelp.php");
3764 if (is_array(
$_POST[
"text"]))
3766 foreach (
$_POST[
"text"] as $id => $text)
3773 $ilCtrl->redirect($this,
"showTooltipList");
3783 if (is_array(
$_POST[
"id"]))
3785 include_once(
"./Services/Help/classes/class.ilHelp.php");
3786 foreach (
$_POST[
"id"] as $id)
3792 $ilCtrl->redirect($this,
"showTooltipList");
3834 if ($a_def_option !=
"")
3840 $layout->addOption(
new ilRadioOption(
"<table><tr><td>".$im_tag.
"</td><td><b>".
3841 $lng->txt(
"cont_lm_default_layout").
3842 "</b>: ".$lng->txt(
"cont_layout_".$a_def_option).
3843 "</td></tr></table>",
""));
3852 $layout->addOption(
new ilRadioOption(
"<table><tr><td style='padding: 0px 5px 5px;'>".
3853 $im_tag.
"</td><td style='padding:5px;'><b>".$lng->txt(
"cont_layout_".$l).
"</b>: ".
3854 $lng->txt(
"cont_layout_".$l.
"_desc").
"</td></tr></table>", $l));
3866 $ilCtrl->setParameter($this,
"hierarchy",
"1");
3878 if (!is_array(
$_POST[
"id"]))
3882 if ($a_in_hierarchy)
3884 $ilCtrl->redirect($this,
"chapters");
3888 $ilCtrl->redirect($this,
"pages");
3894 $tpl->setContent($this->form->getHTML());
3904 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
3907 if (is_array(
$_POST[
"id"]))
3909 foreach (
$_POST[
"id"] as $id)
3913 $this->form->addItem($hi);
3917 $this->
object->getLayout());
3918 $this->form->addItem($layout);
3920 $this->form->addCommandButton(
"savePageLayout", $lng->txt(
"save"));
3921 $this->form->addCommandButton(
"pages", $lng->txt(
"cancel"));
3923 $this->form->setTitle($lng->txt(
"cont_set_layout"));
3924 $this->form->setFormAction($ilCtrl->getFormAction($this));
3935 $ilCtrl->setParameter($this,
"hierarchy",
$_GET[
"hierarchy"]);
3937 foreach (
$_POST[
"id"] as $id)
3945 if (
$_GET[
"hierarchy"] == 1)
3947 $ilCtrl->redirect($this,
"chapters");
3951 $ilCtrl->redirect($this,
"pages");
3970 $ilTabs->setTabActive(
"settings");
3973 $ilToolbar->addButton($lng->txt(
"add"),
3974 $ilCtrl->getLinkTarget($this,
"showLMGlossarySelector"));
3976 include_once(
"./Modules/LearningModule/classes/class.ilLMGlossaryTableGUI.php");
3979 $tpl->setContent(
$tab->getHTML());
3993 $ilTabs->setTabActive(
"settings");
3996 include_once
'Services/Search/classes/class.ilSearchRootSelector.php';
3999 $exp->
setExpand(
$_GET[
"search_root_expand"] ?
$_GET[
"search_root_expand"] : $tree->readRootId());
4000 $exp->setExpandTarget($ilCtrl->getLinkTarget($this,
'showLMGlossarySelector'));
4001 $exp->setTargetClass(get_class($this));
4002 $exp->setCmd(
'confirmGlossarySelection');
4003 $exp->setClickableTypes(array(
"glo"));
4004 $exp->addFilter(
"glo");
4008 $tpl->setContent($exp->getOutput());
4019 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
4021 $ilCtrl->setParameter($this,
"glo_ref_id",
$_GET[
"root_id"]);
4022 $cgui->setFormAction($ilCtrl->getFormAction($this));
4023 $cgui->setHeaderText($lng->txt(
"cont_link_glo_in_lm"));
4024 $cgui->setCancel($lng->txt(
"no"),
"selectLMGlossary");
4025 $cgui->setConfirm($lng->txt(
"yes"),
"selectLMGlossaryLink");
4026 $tpl->setContent($cgui->getHTML());
4037 $glo_ref_id = (int)
$_GET[
"glo_ref_id"];
4039 $this->
object->autoLinkGlossaryTerms($glo_id);
4054 $glos = $this->
object->getAutoGlossaries();
4055 $glo_ref_id = (int)
$_GET[
"glo_ref_id"];
4057 if (!in_array($glo_id, $glos))
4061 $this->
object->setAutoGlossaries($glos);
4062 $this->
object->update();
4065 $ilCtrl->redirect($this,
"editGlossaries");
4078 $this->
object->removeAutoGlossary((
int)
$_GET[
"glo_id"]);
4079 $this->
object->update();
4082 $ilCtrl->redirect($this,
"editGlossaries");
4095 $ilCtrl->setParameter($this,
"transl",
"");
4096 $ilCtrl->redirect($this,
"chapters");
4109 $ilCtrl->setParameter($this,
"transl",
$_GET[
"totransl"]);
4110 $ilCtrl->redirect($this,
"chapters");