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';
35 $lng->loadLanguageModule(
"content");
36 $lng->loadLanguageModule(
"obj");
37 parent::ilObjectGUI($a_data,$a_id,$a_call_by_reference,
false);
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);
87 case 'ilobjectmetadatagui':
88 if(!$ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
90 $ilErr->raiseError($this->lng->txt(
'permission_denied'),
$ilErr->WARNING);
97 include_once
'Services/Object/classes/class.ilObjectMetaDataGUI.php';
99 $md_gui->addMDObserver($this->
object,
'MDUpdateListener',
'Educational');
100 $md_gui->addMDObserver($this->
object,
'MDUpdateListener',
'General');
101 $this->ctrl->forwardCommand($md_gui);
104 case "ilobjstylesheetgui":
106 include_once (
"./Services/Style/classes/class.ilObjStyleSheetGUI.php");
107 $this->ctrl->setReturn($this,
"editStyleProperties");
108 $style_gui =&
new ilObjStyleSheetGUI(
"", $this->object->getStyleSheetId(),
false,
false);
109 $style_gui->omitLocator();
110 if (
$cmd ==
"create" ||
$_GET[
"new_type"]==
"sty")
112 $style_gui->setCreationMode(
true);
114 $ret =& $this->ctrl->forwardCommand($style_gui);
117 if (
$cmd ==
"save" ||
$cmd ==
"copyStyle" ||
$cmd ==
"importStyle")
120 $this->
object->setStyleSheetId($style_id);
121 $this->
object->update();
122 $this->ctrl->redirectByClass(
"ilobjstylesheetgui",
"edit");
126 case "illmpageobjectgui":
128 $ilTabs->setBackTarget(
$lng->txt(
"learning module"),
129 $ilCtrl->getLinkTarget($this,
"chapters"));
130 $this->ctrl->saveParameter($this, array(
"obj_id"));
132 $this->ctrl->setReturn($this,
"chapters");
137 if (
$_GET[
"obj_id"] !=
"")
140 $pg_gui->setLMPageObject($obj);
143 $ret =& $this->ctrl->forwardCommand($pg_gui);
144 if (
$cmd ==
"save" ||
$cmd ==
"cancel")
150 case "ilstructureobjectgui":
151 $ilTabs->setBackTarget(
$lng->txt(
"learning module"),
152 $ilCtrl->getLinkTarget($this,
"chapters"));
154 $this->ctrl->saveParameter($this, array(
"obj_id"));
156 $this->ctrl->setReturn($this,
"chapters");
158 if (
$_GET[
"obj_id"] !=
"")
161 $st_gui->setStructureObject($obj);
164 $ret =& $this->ctrl->forwardCommand($st_gui);
165 if (
$cmd ==
"save" ||
$cmd ==
"cancel")
167 if (
$_GET[
"obj_id"] ==
"")
169 $this->ctrl->redirect($this,
"chapters");
173 $this->ctrl->setCmd(
"subchap");
179 case 'ilpermissiongui':
180 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui")
190 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
192 $ret =& $this->ctrl->forwardCommand($perm_gui);
196 case 'ilinfoscreengui':
200 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
202 $info->enablePrivateNotes();
203 $info->enableLearningProgress();
206 if ($ilAccess->checkAccess(
"write",
"",
$_GET[
"ref_id"]))
208 $info->enableNewsEditing();
209 $info->setBlockProperty(
"news",
"settings",
true);
213 $info->addMetaDataSections($this->object->getId(), 0,
214 $this->object->getType());
216 $ret =& $this->ctrl->forwardCommand(
$info);
223 include_once(
"./Services/Export/classes/class.ilExportGUI.php");
227 $exp_gui->addFormat(
"xml");
228 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
230 if ($ot->getContentActivated())
232 $exp_gui->addFormat(
"xml_master",
"XML (".
$lng->txt(
"cont_master_language_only").
")", $this,
"export");
234 $lng->loadLanguageModule(
"meta");
235 $langs = $ot->getLanguages();
236 foreach ($langs as
$l => $ldata)
238 $exp_gui->addFormat(
"html_".
$l,
"HTML (".
$lng->txt(
"meta_l_".$l).
")", $this,
"exportHTML");
240 $exp_gui->addFormat(
"html_all",
"HTML (".
$lng->txt(
"cont_all_languages").
")", $this,
"exportHTML");
244 $exp_gui->addFormat(
"html",
"", $this,
"exportHTML");
247 $exp_gui->addFormat(
"scorm",
"", $this,
"exportSCORM");
248 $exp_gui->addCustomColumn(
$lng->txt(
"cont_public_access"),
249 $this,
"getPublicAccessColValue");
250 $exp_gui->addCustomMultiCommand(
$lng->txt(
"cont_public_access"),
251 $this,
"publishExportFile");
252 $ret = $this->ctrl->forwardCommand($exp_gui);
255 case 'ilobjecttranslationgui':
263 include_once(
"./Services/Object/classes/class.ilObjectTranslationGUI.php");
265 $transgui->setTitleDescrOnlyMode(
false);
266 $this->ctrl->forwardCommand($transgui);
270 case "ilcommonactiondispatchergui":
271 include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
273 $this->ctrl->forwardCommand($gui);
276 case 'ilobjectcopygui':
278 include_once
'./Services/Object/classes/class.ilObjectCopyGUI.php';
281 $this->ctrl->forwardCommand($cp);
295 case "illmmultisrtuploadgui":
300 include_once(
"./Modules/LearningModule/classes/class.ilLMMultiSrtUploadGUI.php");
302 $this->ctrl->forwardCommand($gui);
305 case "illmimportgui":
310 include_once(
"./Modules/LearningModule/classes/class.ilLMImportGUI.php");
312 $this->ctrl->forwardCommand($gui);
316 $new_type =
$_POST[
"new_type"]
321 if (
$cmd ==
"create" &&
322 !in_array($new_type, array(
"dbk",
"lm")))
329 $this->ctrl->setCmdClass(
"ilLMPageObjectGUI");
335 $this->ctrl->setCmdClass(
"ilStructureObjectGUI");
344 in_array($new_type, array(
"dbk",
"lm")))
368 return array(
"ilLMPageObjectGUI",
"ilStructureObjectGUI",
"ilObjStyleSheetGUI");
378 $lng->loadLanguageModule(
"style");
386 if($this->object->getType() ==
"lm")
389 include_once
'Modules/LearningModule/classes/class.ilECSLearningModuleSettings.php';
391 $ecs->addSettingsToForm($this->form,
'lm');
394 $this->tpl->setContent($this->form->getHTML());
404 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
412 $ti->setRequired(
true);
413 $this->form->addItem($ti);
420 $this->form->addItem($ta);
422 $lng->loadLanguageModule(
"rep");
424 $section->setTitle($this->lng->txt(
'rep_activation_availability'));
429 $this->form->addItem($online);
433 $section->setTitle($this->lng->txt(
'cont_presentation'));
438 $this->form->addItem($layout);
442 $lpp->setInfo($this->lng->txt(
"cont_layout_per_page_info"));
443 $this->form->addItem($lpp);
447 $option = array (
"st_title" => $this->lng->txt(
"cont_st_title"),
448 "pg_title" => $this->lng->txt(
"cont_pg_title"),
449 "none" => $this->lng->txt(
"cont_none"));
450 $page_header->setOptions($option);
451 $this->form->addItem($page_header);
455 $this->form->addItem($chap_num);
459 $option = array (
"chapters" => $this->lng->txt(
"cont_chapters_only"),
460 "pages" => $this->lng->txt(
"cont_chapters_and_pages"));
461 $toc_mode->setOptions($option);
462 $this->form->addItem($toc_mode);
472 $progr_icons->setInfo($this->lng->txt(
"cont_progress_icons_info"));
473 $this->form->addItem($progr_icons);
477 $section->setTitle($this->lng->txt(
'cont_self_assessment'));
483 $op1 =
new ilRadioOption(
$lng->txt(
"cont_tries_reset_on_visit"), 0,
$lng->txt(
"cont_tries_reset_on_visit_info"));
484 $radg->addOption($op1);
486 $radg->addOption($op2);
487 $this->form->addItem($radg);
491 $qfeed->setInfo($this->lng->txt(
"cont_restrict_forw_nav_info"));
492 $this->form->addItem($qfeed);
496 $not->setInfo($this->lng->txt(
"cont_notify_on_blocked_users_info"));
497 $qfeed->addSubItem($not);
501 $qfeed->setInfo($this->lng->txt(
"cont_disable_def_feedback_info"));
502 $this->form->addItem($qfeed);
506 $section->setTitle($this->lng->txt(
'obj_features'));
510 if (!$this->
ilias->getSetting(
'disable_comments'))
512 $this->lng->loadLanguageModule(
"notes");
514 $pub_nodes->setInfo($this->lng->txt(
"cont_lm_comments_desc"));
515 $this->form->addItem($pub_nodes);
520 $com->setInfo($this->lng->txt(
"enable_hist_user_comments_desc"));
521 $this->form->addItem($com);
524 $this->lng->loadLanguageModule(
'rating');
526 $rate->setInfo($this->lng->txt(
'rating_activate_rating_info'));
527 $this->form->addItem($rate);
528 $ratep =
new ilCheckboxInputGUI($this->lng->txt(
'lm_activate_rating'),
'rating_pages');
529 $this->form->addItem($ratep);
531 $this->form->setTitle(
$lng->txt(
"cont_lm_properties"));
532 $this->form->addCommandButton(
"saveProperties",
$lng->txt(
"save"));
533 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
545 $title = $this->
object->getTitle();
546 $description = $this->
object->getDescription();
547 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
549 if ($ot->getContentActivated())
551 $title = $ot->getDefaultTitle();
552 $description = $ot->getDefaultDescription();
555 $values[
"title"] = $title;
556 $values[
"description"] = $description;
557 if ($this->object->getOnline())
559 $values[
"cobj_online"] =
true;
561 $values[
"lm_layout"] = $this->
object->getLayout();
562 $values[
"lm_pg_header"] = $this->
object->getPageHeader();
563 if ($this->object->isActiveNumbering())
565 $values[
"cobj_act_number"] =
true;
567 $values[
"toc_mode"] = $this->
object->getTOCMode();
568 if ($this->object->publicNotes())
570 $values[
"cobj_pub_notes"] =
true;
572 if ($this->object->cleanFrames())
574 $values[
"cobj_clean_frames"] =
true;
576 if ($this->object->isActiveHistoryUserComments())
578 $values[
"cobj_user_comments"] =
true;
580 $values[
"layout_per_page"] = $this->
object->getLayoutPerPage();
581 $values[
"rating"] = $this->
object->hasRating();
582 $values[
"rating_pages"] = $this->
object->hasRatingPages();
583 $values[
"disable_def_feedback"] = $this->
object->getDisableDefaultFeedback();
584 $values[
"progr_icons"] = $this->
object->getProgressIcons();
585 $values[
"store_tries"] = $this->
object->getStoreTries();
586 $values[
"restrict_forw_nav"] = $this->
object->getRestrictForwardNavigation();
588 include_once
"./Services/Notification/classes/class.ilNotification.php";
591 $this->object->getId());
593 $this->form->setValuesByArray($values);
605 if ($this->form->checkInput())
607 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
609 if ($ot->getContentActivated())
611 $ot->setDefaultTitle(
$_POST[
'title']);
612 $ot->setDefaultDescription(
$_POST[
'description']);
616 $this->
object->setTitle(
$_POST[
'title']);
617 $this->
object->setDescription(
$_POST[
'description']);
618 $this->
object->setLayout(
$_POST[
"lm_layout"]);
619 $this->
object->setPageHeader(
$_POST[
"lm_pg_header"]);
620 $this->
object->setTOCMode(
$_POST[
"toc_mode"]);
621 $this->
object->setOnline(
$_POST[
"cobj_online"]);
622 $this->
object->setActiveNumbering(
$_POST[
"cobj_act_number"]);
623 $this->
object->setCleanFrames(
$_POST[
"cobj_clean_frames"]);
624 if (!$this->
ilias->getSetting(
'disable_comments'))
626 $this->
object->setPublicNotes(
$_POST[
"cobj_pub_notes"]);
628 $this->
object->setHistoryUserComments(
$_POST[
"cobj_user_comments"]);
629 $this->
object->setLayoutPerPage(
$_POST[
"layout_per_page"]);
630 $this->
object->setRating(
$_POST[
"rating"]);
631 $this->
object->setRatingPages(
$_POST[
"rating_pages"]);
632 $this->
object->setDisableDefaultFeedback((
int)
$_POST[
"disable_def_feedback"]);
633 $this->
object->setProgressIcons((
int) $_POST[
"progr_icons"]);
636 if (
$_POST[
"restrict_forw_nav"] && !
$_POST[
"store_tries"])
638 $_POST[
"store_tries"] = 1;
639 $add_info =
"</br>".$lng->txt(
"cont_automatically_set_store_tries");
640 $add_info = str_replace(
"$1",
$lng->txt(
"cont_tries_store"), $add_info);
641 $add_info = str_replace(
"$2",
$lng->txt(
"cont_restrict_forw_nav"), $add_info);
644 $this->
object->setStoreTries((
int) $_POST[
"store_tries"]);
645 $this->
object->setRestrictForwardNavigation((
int) $_POST[
"restrict_forw_nav"]);
646 $this->
object->updateProperties();
647 $this->
object->update();
649 include_once
"./Services/Notification/classes/class.ilNotification.php";
651 $ilUser->getId(), $this->object->getId(),
652 (
bool)$this->form->getInput(
"notification_blocked_users"));
655 if($this->object->getType() ==
'lm')
658 include_once
'Modules/LearningModule/classes/class.ilECSLearningModuleSettings.php';
660 if($ecs->handleSettingsUpdate())
674 $this->ctrl->redirect($this,
"properties");
678 $lng->loadLanguageModule(
"style");
682 $this->form->setValuesByPost();
683 $this->tpl->setContent($this->form->getHTML());
695 $tpl->setContent($this->form->getHTML());
705 $lng->loadLanguageModule(
"style");
707 $ilTabs->setTabActive(
"settings");
710 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
713 $fixed_style =
$ilSetting->get(
"fixed_content_style_id");
714 $style_id = $this->
object->getStyleSheetId();
716 if ($fixed_style > 0)
720 $this->lng->txt(
"global_fixed").
")");
721 $this->form->addItem($st);
728 $st_styles[0] = $this->lng->txt(
"default");
738 $this->form->addItem($st);
743 $this->form->addCommandButton(
"editStyle",
744 $lng->txt(
"cont_edit_style"));
745 $this->form->addCommandButton(
"deleteStyle",
746 $lng->txt(
"cont_delete_style"));
754 $st_styles,
false,
true);
756 $style_sel->setOptions($st_styles);
757 $style_sel->setValue($style_id);
758 $this->form->addItem($style_sel);
760 $this->form->addCommandButton(
"saveStyleSettings",
762 $this->form->addCommandButton(
"createStyle",
763 $lng->txt(
"sty_create_ind_style"));
766 $this->form->setTitle(
$lng->txt(
"cont_style"));
767 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
777 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"create");
787 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"edit");
797 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"delete");
807 if (
$ilSetting->get(
"fixed_content_style_id") <= 0 &&
809 || $this->object->getStyleSheetId() == 0))
812 $this->
object->update();
815 $this->ctrl->redirect($this,
"editStyleProperties");
825 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
830 $menu->setChecked($this->object->isActiveLMMenu());
831 $form->addItem($menu);
835 $toc->setChecked($this->object->isActiveTOC());
836 $form->addItem($toc);
839 $print =
new ilCheckboxInputGUI($this->lng->txt(
"cont_print_view"),
"cobj_act_print");
840 $print->setChecked($this->object->isActivePrintView());
841 $form->addItem($print);
844 $glo =
new ilCheckboxInputGUI($this->lng->txt(
"cont_print_view_pre_glo"),
"cobj_act_print_prev_glo");
845 $glo->setChecked($this->object->isActivePreventGlossaryAppendix());
846 $print->addSubItem($glo);
849 $hhfp =
new ilCheckboxInputGUI($this->lng->txt(
"cont_hide_head_foot_print"),
"hide_head_foot_print");
850 $hhfp->setChecked($this->object->getHideHeaderFooterPrint());
851 $print->addSubItem($hhfp);
854 $no_download_file_available =
855 " ".$lng->txt(
"cont_no_download_file_available").
856 " <a href='".$ilCtrl->getLinkTargetByClass(
"ilexportgui",
"").
"'>".
$lng->txt(
"change").
"</a>";
857 $types = array(
"xml",
"html",
"scorm");
858 foreach($types as $type)
860 if ($this->object->getPublicExportFile($type) !=
"")
862 if (is_file($this->object->getExportDirectory($type).
"/".
863 $this->object->getPublicExportFile($type)))
865 $no_download_file_available =
"";
869 $dl =
new ilCheckboxInputGUI($this->lng->txt(
"cont_downloads"),
"cobj_act_downloads");
870 $dl->setInfo($this->lng->txt(
"cont_downloads_desc").$no_download_file_available);
871 $dl->setChecked($this->object->isActiveDownloads());
875 $pdl =
new ilCheckboxInputGUI($this->lng->txt(
"cont_downloads_public_desc"),
"cobj_act_downloads_public");
876 $pdl->setChecked($this->object->isActiveDownloadsPublic());
877 $dl->addSubItem($pdl);
879 $form->addCommandButton(
"saveMenuProperties",
$lng->txt(
"save"));
881 $form->setTitle(
$lng->txt(
"cont_lm_menu"));
882 $form->setFormAction(
$ilCtrl->getFormAction($this));
894 $lng->loadLanguageModule(
"style");
896 $ilTabs->setTabActive(
"settings");
899 $ilToolbar->setFormAction(
$ilCtrl->getFormAction($this));
900 $ilToolbar->addFormButton($this->lng->txt(
"add_menu_entry"),
"addMenuEntry");
901 $ilToolbar->setCloseFormTag(
false);
904 $form->setOpenTag(
false);
905 $form->setCloseTag(
false);
908 $entries = $this->lmme_obj->getMenuEntries();
909 include_once(
"./Modules/LearningModule/classes/class.ilLMMenuItemsTableGUI.php");
911 $table->setOpenFormTag(
false);
913 $tpl->setContent($form->getHTML().
"<br />".$table->getHTML());
923 $this->
object->setActiveLMMenu((
int)
$_POST[
"cobj_act_lm_menu"]);
924 $this->
object->setActiveTOC((
int) $_POST[
"cobj_act_toc"]);
925 $this->
object->setActivePrintView((
int) $_POST[
"cobj_act_print"]);
926 $this->
object->setActivePreventGlossaryAppendix((
int) $_POST[
"cobj_act_print_prev_glo"]);
927 $this->
object->setHideHeaderFooterPrint((
int) $_POST[
"hide_head_foot_print"]);
928 $this->
object->setActiveDownloads((
int) $_POST[
"cobj_act_downloads"]);
929 $this->
object->setActiveDownloadsPublic((
int) $_POST[
"cobj_act_downloads_public"]);
930 $this->
object->updateProperties();
934 $this->lmme_obj->updateActiveStatus(
$_POST[
"menu_entries"]);
937 $this->ctrl->redirect($this,
"editMenuProperties");
947 switch ($this->object->getType())
950 $gui_class =
"ilobjlearningmodulegui";
954 $gui_class =
"ilobjdlbookgui";
958 $ilCtrl->setParameterByClass($gui_class,
"active_node",
$_GET[
"active_node"]);
960 $this->tpl =
new ilTemplate(
"tpl.main.html",
true,
true);
967 $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.explorer.html");
970 require_once (
"./Modules/LearningModule/classes/class.ilLMEditorExplorer.php");
971 $exp =
new ilLMEditorExplorer($this->ctrl->getLinkTarget($this,
"view"),
972 $this->object, $gui_class);
974 $exp->setTargetGet(
"obj_id");
975 $exp->setExpandTarget($this->ctrl->getLinkTarget($this,
"explorer"));
977 if (
$_GET[
"lmmovecopy"] ==
"1")
983 if (
$_GET[
"lmexpand"] ==
"")
985 $mtree =
new ilTree($this->object->getId());
986 $mtree->setTableNames(
'lm_tree',
'lm_data');
987 $mtree->setTreeTablePK(
"lm_id");
988 $expanded = $mtree->readRootId();
992 $expanded =
$_GET[
"lmexpand"];
994 if (
$_GET[
"active_node"] !=
"")
996 $path = $this->lm_tree->getPathId(
$_GET[
"active_node"]);
997 $exp->setForceOpenPath(
$path);
999 $exp->highlightNode(
$_GET[
"active_node"]);
1001 $exp->setExpand($expanded);
1005 $output = $exp->getOutput();
1013 include_once(
"./Services/COPage/classes/class.ilPageEditorGUI.php");
1032 $this->tpl->setCurrentBlock(
"content");
1033 $this->tpl->setVariable(
"TXT_EXPLORER_HEADER", $this->lng->txt(
"cont_chap_and_pages"));
1034 $this->tpl->setVariable(
"EXP_REFRESH", $this->lng->txt(
"refresh"));
1035 $this->tpl->setVariable(
"EXPLORER",$output);
1036 $this->ctrl->setParameter($this,
"lmexpand",
$_GET[
"lmexpand"]);
1037 $this->tpl->setVariable(
"ACTION", $this->ctrl->getLinkTarget($this,
"explorer"));
1038 $this->tpl->parseCurrentBlock();
1039 $this->tpl->show(
false);
1048 include_once
"./Services/COPage/classes/class.ilWysiwygUtil.php";
1049 $popup =
new ilWysiwygUtil();
1050 $popup->show(
$_GET[
"ptype"]);
1061 $this->
object->executeDragDrop(
$_POST[
"il_hform_source_id"],
$_POST[
"il_hform_target_id"],
1063 $ilCtrl->redirect($this,
"chapters");
1078 $a_new_object->setCleanFrames(
true);
1082 $a_new_object->createLMTree();
1085 $a_new_object->addFirstChapterAndPage();
1090 "&baseClass=ilLMEditorGUI");
1100 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
1104 $this->ctrl->setParameter($this,
"new_type", $new_type);
1107 $form->setTableWidth(
"600px");
1112 $fi->setSuffixes(array(
"zip"));
1113 $fi->setRequired(
true);
1115 $form->addItem($fi);
1119 $cb->setInfo($this->lng->txt(
""));
1120 $form->addItem($cb);
1122 $form->addCommandButton(
"importFile",
$lng->txt(
"import"));
1123 $form->addCommandButton(
"cancel",
$lng->txt(
"cancel"));
1125 $form->setTitle($this->lng->txt(
"import_".$new_type));
1126 $form->setFormAction(
$ilCtrl->getFormAction($this));
1136 include_once
"./Modules/LearningModule/classes/class.ilBibItemGUI.php";
1138 $bib_gui->setObject($this->
object);
1139 $bibItemName =
$_POST[
"bibItemName"] ?
$_POST[
"bibItemName"] :
$_GET[
"bibItemName"];
1140 $bibItemIndex =
$_POST[
"bibItemIndex"] ?
$_POST[
"bibItemIndex"] :
$_GET[
"bibItemIndex"];
1141 if ($bibItemIndex ==
"")
1143 $bibItemPath =
$_POST[
"bibItemPath"] ?
$_POST[
"bibItemPath"] :
$_GET[
"bibItemPath"];
1144 if ($bibItemName !=
"")
1146 $bib_gui->bib_obj->add($bibItemName, $bibItemPath, $bibItemIndex);
1147 $data = $bib_gui->bib_obj->getElement(
"BibItem");
1148 $bibItemIndex = (count(
$data) - 1);
1154 if ($a_target ==
"")
1156 $a_target =
"adm_object.php?ref_id=" . $this->
object->getRefId();
1159 $bib_gui->edit(
"ADM_CONTENT",
"adm_content", $a_target, $bibItemIndex);
1180 include_once
"./Modules/LearningModule/classes/class.ilBibItemGUI.php";
1182 $bib_gui->setObject($this->
object);
1183 $bibItemIndex =
$_POST[
"bibItemIndex"] ?
$_POST[
"bibItemIndex"] :
$_GET[
"bibItemIndex"];
1184 $bib_gui->bib_obj->delete(
$_GET[
"bibItemName"],
$_GET[
"bibItemPath"], $bibItemIndex);
1185 if (strpos($bibItemIndex,
",") > 0)
1187 $bibItemIndex = substr($bibItemIndex, 0, strpos($bibItemIndex,
","));
1189 if ($a_target ==
"")
1191 $a_target =
"adm_object.php?ref_id=" . $this->
object->getRefId();
1194 $bib_gui->edit(
"ADM_CONTENT",
"adm_content", $a_target, max(0, $bibItemIndex - 1));
1216 include_once
"./Modules/LearningModule/classes/class.ilBibItemGUI.php";
1218 $bib_gui->setObject($this->
object);
1219 $bibItemIndex =
$_POST[
"bibItemIndex"] ?
$_POST[
"bibItemIndex"] :
$_GET[
"bibItemIndex"];
1221 if ($bibItemIndex < 0)
1225 if ($a_target ==
"")
1227 $a_target =
"adm_object.php?ref_id=" . $this->
object->getRefId();
1230 $bib_gui->edit(
"ADM_CONTENT",
"adm_content", $a_target, $bibItemIndex);
1251 include_once
"./Modules/LearningModule/classes/class.ilBibItemGUI.php";
1253 $bib_gui->setObject($this->
object);
1254 $bibItemIndex =
$_POST[
"bibItemIndex"] ?
$_POST[
"bibItemIndex"] :
$_GET[
"bibItemIndex"];
1256 if ($bibItemIndex < 0)
1260 $bibItemIndex = $bib_gui->save($bibItemIndex);
1262 if ($a_target ==
"")
1264 $a_target =
"adm_object.php?ref_id=" . $this->
object->getRefId();
1267 $bib_gui->edit(
"ADM_CONTENT",
"adm_content", $a_target, $bibItemIndex);
1313 global $_FILES, $rbacsystem,
$ilDB,
$tpl;
1315 $no_manifest =
false;
1319 parent::importFileObject(
null,
false);
1325 $no_manifest =
true;
1335 include_once
"./Modules/LearningModule/classes/class.ilObjLearningModule.php";
1337 if (!$rbacsystem->checkAccess(
"create",
$_GET[
"ref_id"],
$_GET[
"new_type"]))
1339 $this->
ilias->raiseError($this->lng->txt(
"no_create_permission"), $this->ilias->error_obj->MESSAGE);
1343 if ($form->checkInput())
1346 include_once(
"./Modules/LearningModule/classes/class.ilObjContentObject.php");
1348 $newObj->setType(
$_GET[
"new_type"]);
1349 $newObj->setTitle($_FILES[
"importfile"][
"name"]);
1350 $newObj->setDescription(
"");
1351 $newObj->create(
true);
1352 $newObj->createReference();
1353 $newObj->putInTree(
$_GET[
"ref_id"]);
1354 $newObj->setPermissions(
$_GET[
"ref_id"]);
1355 $newObj->notify(
"new",
$_GET[
"ref_id"],
$_GET[
"parent_non_rbac_id"],
$_GET[
"ref_id"],$newObj->getRefId());
1358 $newObj->createLMTree();
1361 $mess = $newObj->importFromDirectory($this->tmp_import_dir,
$_POST[
"validate"]);
1372 "&baseClass=ilLMEditorGUI");
1376 $link =
'<a href="'.
"ilias.php?ref_id=".$newObj->getRefId().
1377 "&baseClass=ilLMEditorGUI".
'" target="_top">'.$this->lng->txt(
"btn_next").
'</a>';
1378 $tpl->setContent(
"<br />".$link.
"<br /><br />".$mess.$link);
1383 $form->setValuesByPost();
1384 $tpl->setContent($form->getHtml());
1398 $ilCtrl->setParameter($this,
"backcmd",
"chapters");
1400 include_once(
"./Modules/LearningModule/classes/class.ilChapterHierarchyFormGUI.php");
1402 $form_gui->setFormAction(
$ilCtrl->getFormAction($this));
1403 $form_gui->setTitle($this->object->getTitle());
1405 $form_gui->setTree($this->lm_tree);
1406 $form_gui->setMaxDepth(0);
1407 $form_gui->setCurrentTopNodeId($this->tree->getRootId());
1408 $form_gui->addMultiCommand(
$lng->txt(
"delete"),
"delete");
1409 $form_gui->addMultiCommand(
$lng->txt(
"cut"),
"cutItems");
1410 $form_gui->addMultiCommand(
$lng->txt(
"copy"),
"copyItems");
1411 if ($this->object->getLayoutPerPage())
1413 $form_gui->addMultiCommand(
$lng->txt(
"cont_set_layout"),
"setPageLayoutInHierarchy");
1416 $form_gui->addCommand(
$lng->txt(
"cont_save_all_titles"),
"saveAllTitles");
1417 $up_gui = ($this->
object->getType() ==
"dbk")
1419 :
"ilobjlearningmodulegui";
1421 $ctpl =
new ilTemplate(
"tpl.chap_and_pages.html",
true,
true,
"Modules/LearningModule");
1422 $ctpl->setVariable(
"HIERARCHY_FORM", $form_gui->getHTML());
1423 $ilCtrl->setParameter($this,
"obj_id",
"");
1427 $this->tpl->setContent($ml_head.$ctpl->get());
1441 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
1445 if ($ot->getContentActivated())
1447 $lng->loadLanguageModule(
"meta");
1450 include_once(
"./Services/COPage/classes/class.ilPageMultiLangGUI.php");
1452 $ml_head = $ml_gui->getMultiLangInfo(
$_GET[
"transl"]);
1455 include_once(
"./Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php");
1457 $list->setListTitle(
$lng->txt(
"actions"));
1458 $list->setId(
"copage_act");
1460 if (!in_array(
$_GET[
"transl"], array(
"",
"-")))
1462 $l = $ot->getMasterLanguage();
1463 $list->addItem(
$lng->txt(
"cont_edit_language_version").
": ".
1464 $lng->txt(
"meta_l_".$l),
"",
1465 $ilCtrl->getLinkTarget($a_gui_class,
"editMasterLanguage"));
1469 foreach ($ot->getLanguages() as $al =>
$lang)
1471 if (
$_GET[
"transl"] != $al &&
1472 $al != $ot->getMasterLanguage())
1474 $ilCtrl->setParameter($a_gui_class,
"totransl", $al);
1475 $list->addItem(
$lng->txt(
"cont_edit_language_version").
": ".
1476 $lng->txt(
"meta_l_".$al),
"",
1477 $ilCtrl->getLinkTarget($a_gui_class,
"switchToLanguage"));
1478 $ilCtrl->setParameter($a_gui_class,
"totransl",
$_GET[
"totransl"]);
1485 $ml_head =
'<div class="ilFloatLeft">'.$ml_head.
'</div><div style="margin: 5px 0;" class="small ilRight">'.$list->getHTML().
"</div>";
1504 $ilCtrl->setParameter($this,
"backcmd",
"pages");
1505 $ilCtrl->setParameterByClass(
"illmpageobjectgui",
"new_type",
"pg");
1506 $ilToolbar->addButton(
$lng->txt(
"pg_add"),
1507 $ilCtrl->getLinkTargetByClass(
"illmpageobjectgui",
"create"));
1508 $ilCtrl->setParameterByClass(
"illmpageobjectgui",
"new_type",
"");
1510 include_once(
"./Modules/LearningModule/classes/class.ilLMPagesTableGUI.php");
1512 $tpl->setContent(
$t->getHTML());
1525 include_once(
"./Modules/LearningModule/classes/class.ilLinksTableGUI.php");
1527 $this->object->getId(), $this->object->getType());
1529 $tpl->setContent($table_gui->getHTML());
1537 global
$tpl, $ilToolbar;
1542 $ilToolbar->addButton($this->lng->txt(
"cont_fix_tree"),
1543 $this->ctrl->getLinkTarget($this,
"fixTreeConfirm"));
1551 if (is_array(
$_POST[
"id"]))
1553 foreach(
$_POST[
"id"] as $id)
1555 include_once(
"./Modules/LearningModule/classes/class.ilLMPage.php");
1561 $this->ctrl->redirect($this,
"pages");
1571 $this->
ilias->raiseError($this->lng->txt(
"no_page_in_clipboard"),$this->ilias->error_obj->MESSAGE);
1582 == $this->object->getID())
1585 $new_page =& $lm_page->copy();
1586 $id = $new_page->getId();
1592 $lm_obj =& $this->
ilias->obj_factory->getInstanceByObjId($lm_id);
1594 $copied_nodes = array();
1595 $new_page =& $lm_page->copyToOtherContObject($this->
object, $copied_nodes);
1596 $id = $new_page->getId();
1606 != $this->object->getID())
1609 $lm_obj =& $this->
ilias->obj_factory->getInstanceByObjId($lm_id);
1611 $lm_page->setLMId($this->object->getID());
1613 $page =& $lm_page->getPageObject();
1615 $page->setParentId($this->object->getID());
1622 $this->ctrl->redirect($this,
"pages");
1634 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
1641 ilUtil::sendInfo($this->lng->txt(
"cont_selected_items_have_been_copied"),
true);
1643 $this->ctrl->redirect($this,
"pages");
1653 function delete($a_parent_subobj_id = 0)
1657 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->
ilias->error_obj->MESSAGE);
1662 $this->
ilias->raiseError($this->lng->txt(
"cont_select_item"), $this->
ilias->error_obj->MESSAGE);
1665 if ($a_parent_subobj_id == 0)
1670 if ($a_parent_subobj_id != 0)
1672 $this->ctrl->setParameterByClass(
"ilStructureObjectGUI",
"backcmd",
$_GET[
"backcmd"]);
1673 $this->ctrl->setParameterByClass(
"ilStructureObjectGUI",
"obj_id", $a_parent_subobj_id);
1674 $form_action = $this->ctrl->getFormActionByClass(
"ilStructureObjectGUI");
1678 $this->ctrl->setParameter($this,
"backcmd",
$_GET[
"backcmd"]);
1679 $form_action = $this->ctrl->getFormAction($this);
1683 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
1685 $cgui->setFormAction($form_action);
1686 $cgui->setHeaderText($this->lng->txt(
"info_delete_sure"));
1687 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancelDelete");
1688 $cgui->setConfirm($this->lng->txt(
"confirm"),
"confirmedDelete");
1690 foreach(
$_POST[
"id"] as $id)
1696 " ".$obj->getTitle();
1698 $cgui->addItem(
"id[]", $id, $caption);
1702 $this->tpl->setContent($cgui->getHTML());
1710 $this->ctrl->redirect($this,
$_GET[
"backcmd"]);
1724 $tree->setTableNames(
'lm_tree',
'lm_data');
1725 $tree->setTreeTablePK(
"lm_id");
1730 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
1734 foreach (
$_POST[
"id"] as $id)
1739 $node_data =
$tree->getNodeData($id);
1740 if (is_object($obj))
1742 $obj->setLMId($this->object->getId());
1744 include_once(
"./Services/History/classes/class.ilHistory.php");
1747 $this->object->getType());
1751 if(
$tree->isInTree($id))
1753 $tree->deleteTree($node_data);
1759 $this->
object->checkTree();
1764 if ($a_parent_subobj_id == 0)
1766 $this->ctrl->redirect($this,
$_GET[
"backcmd"]);
1782 $tmpPath = $this->lm_tree->getPathFull($a_endnode_id, $a_startnode_id);
1785 for ($i = 1; $i < (count($tmpPath) - 1); $i++)
1792 $path .= $tmpPath[$i][
"title"];
1807 foreach ($a_actions as $name =>
$lng)
1809 $d[$name] = array(
"name" => $name,
"lng" =>
$lng);
1812 $notoperations = array();
1814 $operations = array();
1820 if (!in_array(
$row[
"name"], $notoperations))
1822 $operations[] =
$row;
1827 if (count($operations)>0)
1829 foreach ($operations as $val)
1831 $this->tpl->setCurrentBlock(
"operation_btn");
1832 $this->tpl->setVariable(
"BTN_NAME", $val[
"name"]);
1833 $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt($val[
"lng"]));
1834 $this->tpl->parseCurrentBlock();
1837 $this->tpl->setCurrentBlock(
"operation");
1839 $this->tpl->parseCurrentBlock();
1850 $this->
setFormAction(
"addRole", $this->ctrl->getLinkTarget($this,
"addRole"));
1851 $this->
setFormAction(
"permSave", $this->ctrl->getLinkTarget($this,
"permSave"));
1852 $this->permObject();
1861 $this->
setReturnLocation(
"permSave", $this->ctrl->getLinkTarget($this,
"perm"));
1862 $this->permSaveObject();
1871 $this->infoObject();
1881 $this->addRoleObject();
1891 $this->ownerObject();
1900 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui")
1903 parent::viewObject();
1919 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
1922 if(count(
$_POST[
"id"]) > 1)
1924 $this->
ilias->raiseError($this->lng->txt(
"cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
1929 $this->
ilias->raiseError($this->lng->txt(
"cont_select_item"), $this->ilias->error_obj->MESSAGE);
1937 if ($a_parent_subobj_id == 0)
1939 $this->ctrl->redirect($this,
"chapters");
1969 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
1972 ilUtil::sendInfo($this->lng->txt(
"cont_selected_items_have_been_cut"),
true);
1978 $this->ctrl->redirect($this,
"pages");
1986 if (
$_GET[
"new_type"] ==
"pg")
1988 $this->ctrl->redirect($this,
"pages");
1992 $this->ctrl->redirect($this,
"chapters");
2004 if ($ot->getContentActivated())
2006 $format = explode(
"_",
$_POST[
"format"]);
2011 require_once(
"./Modules/LearningModule/classes/class.ilContObjectExport.php");
2013 $cont_exp->buildExportFile(($opt ==
"master"));
2024 $changelink =
"<a href='".$ilCtrl->getLinkTarget($this,
"editMenuProperties").
"'>".
$lng->txt(
"change").
"</a>";
2025 if (!$this->object->isActiveLMMenu())
2027 $add =
"<br />".$lng->txt(
"cont_download_no_menu").
" ".$changelink;
2029 else if (!$this->object->isActiveDownloads())
2031 $add =
"<br />".$lng->txt(
"cont_download_no_download").
" ".$changelink;
2035 if ($this->object->getPublicExportFile($a_type) == $a_file)
2037 return $lng->txt(
"yes").$add;
2052 if(!isset($a_files))
2058 foreach ($a_files as $f)
2060 $file = explode(
":", $f);
2061 $export_dir = $this->
object->getExportDirectory(
$file[0]);
2063 if ($this->object->getPublicExportFile(
$file[0]) ==
2066 $this->
object->setPublicExportFile(
$file[0],
"");
2070 $this->
object->setPublicExportFile(
$file[0],
$file[1]);
2073 $this->
object->update();
2075 $ilCtrl->redirectByClass(
"ilexportgui");
2083 if(!isset(
$_POST[
"file"]))
2085 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
2088 if (count(
$_POST[
"file"]) > 1)
2090 $this->
ilias->raiseError($this->lng->txt(
"cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
2094 $export_dir = $this->
object->getOfflineDirectory();
2112 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
2114 $cgui->setFormAction($this->ctrl->getFormAction($this));
2115 $cgui->setHeaderText($this->lng->txt(
"cont_fix_tree_confirm"));
2116 $cgui->setCancel($this->lng->txt(
"cancel"),
"showMaintenance");
2117 $cgui->setConfirm($this->lng->txt(
"cont_fix_tree"),
"fixTree");
2119 $this->tpl->setContent($cgui->getHTML());
2127 $this->
object->fixTree();
2129 $this->ctrl->redirect($this,
"showMaintenance");
2136 $a_active =
"content", $a_use_global_tabs =
false, $a_as_subtabs =
false,
2139 global
$ilCtrl,
$ilUser, $ilAccess, $ilTabs, $rbacsystem, $ilPluginAdmin, $ilHelp;
2141 $ilHelp->setScreenIdComponent(
"lm");
2145 $addcmd =
"addSubTabTarget";
2146 $getcmd =
"getSubTabHTML";
2150 $addcmd =
"addTarget";
2151 $getcmd =
"getHTML";
2154 $active[$a_active] =
true;
2156 if (!$this->object->isActiveLMMenu())
2161 if ($a_use_global_tabs)
2163 $tabs_gui = $ilTabs;
2173 $showViewInFrameset =
true;
2175 if ($showViewInFrameset && !$a_offline)
2181 $buttonTarget =
"_top";
2184 if ($a_export_format ==
"scorm")
2189 include_once(
"./Services/Payment/classes/class.ilPaymentObject.php");
2193 if (!$a_offline && $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"]))
2195 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
2196 $tabs_gui->$addcmd(
"content",
2197 $ilCtrl->getLinkTargetByClass(
"illmpresentationgui",
"layout"),
2198 "",
"", $buttonTarget, $active[
"content"]);
2199 if ($active[
"content"])
2201 $ilHelp->setScreenId(
"content");
2202 $ilHelp->setSubScreenId(
"content");
2207 if (!$requires_purchase_to_access && $this->object->isActiveTOC() && $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"]))
2211 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
2212 $link =
$ilCtrl->getLinkTargetByClass(
"illmpresentationgui",
"showTableOfContents");
2216 $link =
"./table_of_contents.html";
2219 $tabs_gui->$addcmd(
"cont_toc", $link,
2220 "",
"", $buttonTarget, $active[
"toc"]);
2224 if (!$requires_purchase_to_access && $this->object->isActivePrintView() && $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"]))
2228 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
2229 $link =
$ilCtrl->getLinkTargetByClass(
"illmpresentationgui",
"showPrintViewSelection");
2230 $tabs_gui->$addcmd(
"cont_print_view", $link,
2231 "",
"", $buttonTarget, $active[
"print"]);
2236 if (!$requires_purchase_to_access &&
$ilUser->getId() == ANONYMOUS_USER_ID)
2238 $is_public = $this->
object->isActiveDownloadsPublic();
2240 else if(!$requires_purchase_to_access)
2245 if (!$requires_purchase_to_access && $this->object->isActiveDownloads() && !$a_offline && $is_public &&
2246 $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"]))
2248 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
2249 $link =
$ilCtrl->getLinkTargetByClass(
"illmpresentationgui",
"showDownloadList");
2250 $tabs_gui->$addcmd(
"download", $link,
2251 "",
"", $buttonTarget, $active[
"download"]);
2255 if ($a_export_format !=
"scorm" && !$a_offline)
2259 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
2260 $link = $this->ctrl->getLinkTargetByClass(
2261 array(
"illmpresentationgui",
"ilinfoscreengui"),
"showSummary");
2265 $link =
"./info.html";
2268 $tabs_gui->$addcmd(($requires_purchase_to_access ?
'buy' :
'info_short'), $link,
2269 "",
"", $buttonTarget, $active[
"info"]);
2272 include_once
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
2274 $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"]) &&
2277 include_once
'./Services/Object/classes/class.ilObjectLP.php';
2281 $tabs_gui->$addcmd(
"learning_progress",
2282 $this->ctrl->getLinkTargetByClass(array(
"illmpresentationgui",
"illearningprogressgui"),
"editmanual"),
2283 "",
"", $buttonTarget, $active[
"learning_progress"]);
2287 $tabs_gui->$addcmd(
"learning_progress",
2288 $this->ctrl->getLinkTargetByClass(array(
"illmpresentationgui",
"illearningprogressgui"),
"showtlt"),
2289 "",
"", $buttonTarget, $active[
"learning_progress"]);
2294 if (!$a_offline && $a_cur_page > 0)
2296 if ($rbacsystem->checkAccess(
"write",
$_GET[
"ref_id"]))
2299 $page_id = $a_cur_page;
2300 $tabs_gui->$addcmd(
"edit_page", ILIAS_HTTP_PATH.
"/ilias.php?baseClass=ilLMEditorGUI&ref_id=".
$_GET[
"ref_id"].
2301 "&obj_id=".$page_id.
"&to_page=1",
2302 "",
"", $buttonTarget, $active[
"edit_page"]);
2306 if(!$requires_purchase_to_access)
2310 $entries = $this->lmme_obj->getMenuEntries(
true);
2312 if (count($entries) > 0 && $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"]))
2314 foreach ($entries as $entry)
2317 if ($entry[
"type"] ==
"intern")
2319 $entry[
"link"] = ILIAS_HTTP_PATH.
"/goto.php?target=".$entry[
"link"];
2323 if (!strstr($entry[
"link"],
'://') && !strstr($entry[
"link"],
'mailto:'))
2325 $entry[
"link"] =
"http://".$entry[
"link"];
2328 if (!strstr($entry[
"link"],
'mailto:'))
2332 $tabs_gui->$addcmd($entry[
"title"],
2334 "",
"",
"_blank",
"",
true);
2340 $pl_names = $ilPluginAdmin->getActivePluginsForSlot(
IL_COMP_SERVICE,
"UIComponent",
"uihk");
2341 $plugin_html =
false;
2342 foreach ($pl_names as $pl)
2345 $gui_class = $ui_plugin->getUIClassInstance();
2346 $resp = $gui_class->modifyGUI(
"Modules/LearningModule",
"lm_menu_tabs",
2347 array(
"lm_menu_tabs" => $tabs_gui));
2351 return $tabs_gui->$getcmd();
2359 require_once(
"./Modules/LearningModule/classes/class.ilContObjectExport.php");
2361 $cont_exp->buildExportFile();
2362 $this->offlineList();
2370 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
2373 if ($ot->getContentActivated())
2375 $format = explode(
"_",
$_POST[
"format"]);
2378 require_once(
"./Modules/LearningModule/classes/class.ilContObjectExport.php");
2380 $cont_exp->buildExportFile();
2390 require_once(
"./Modules/LearningModule/classes/class.ilContObjectExport.php");
2392 $cont_exp->buildExportFile();
2406 $par_id =
$tree->getParentId(
$_GET[
"ref_id"]);
2410 if($par_id != ROOT_FOLDER_ID)
2412 $this->ctrl->addLocation(
"...",
2419 if ($parent_title ==
"ILIAS")
2421 $parent_title =
$lng->txt(
"repository");
2425 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id", $par_id);
2426 $this->ctrl->addLocation($parent_title,
2427 $ilCtrl->getLinkTargetByClass(
"ilrepositorygui",
"frameset"),
2429 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id",
$_GET[
"ref_id"]);
2431 if (!$a_omit_obj_id)
2435 $lmtree =& $this->
object->getTree();
2443 $path = $lmtree->getPathFull($lmtree->getRootId());
2446 $path[] = array(
"type" =>
"pg",
"child" => $this->obj_id,
2455 if (
$row[
"child"] == 1)
2457 $this->ctrl->setParameter($this,
"obj_id",
"");
2458 $this->ctrl->addLocation(
2459 $this->object->getTitle(),
2460 $this->ctrl->getLinkTarget($this,
"chapters"),
"",
$_GET[
"ref_id"]);
2464 $title =
$row[
"title"];
2465 switch(
$row[
"type"])
2468 $this->ctrl->setParameterByClass(
"ilstructureobjectgui",
"obj_id",
$row[
"child"]);
2469 $this->ctrl->addLocation(
2471 $this->ctrl->getLinkTargetByClass(
"ilstructureobjectgui",
"view"));
2475 $this->ctrl->setParameterByClass(
"illmpageobjectgui",
"obj_id",
$row[
"child"]);
2476 $this->ctrl->addLocation(
2478 $this->ctrl->getLinkTargetByClass(
"illmpageobjectgui",
"edit"));
2483 if (!$a_omit_obj_id)
2485 $this->ctrl->setParameter($this,
"obj_id",
$_GET[
"obj_id"]);
2504 include_once(
"./Modules/LearningModule/classes/class.ilLMQuestionListTableGUI.php");
2506 $tpl->setContent($table->getHTML());
2520 include_once(
"./Modules/LearningModule/classes/class.ilLMBlockedUsersTableGUI.php");
2522 $tpl->setContent($table->getHTML());
2533 include_once(
"./Services/COPage/classes/class.ilPageQuestionProcessor.php");
2534 if (is_array(
$_POST[
"userquest_id"]))
2536 foreach (
$_POST[
"userquest_id"] as $uqid)
2538 $uqid = explode(
":", $uqid);
2543 $ilCtrl->redirect($this,
"listBlockedUsers");
2553 include_once(
"./Services/COPage/classes/class.ilPageQuestionProcessor.php");
2554 if (is_array(
$_POST[
"userquest_id"]))
2556 foreach (
$_POST[
"userquest_id"] as $uqid)
2558 $uqid = explode(
":", $uqid);
2563 $ilCtrl->redirect($this,
"listBlockedUsers");
2573 if (!is_array(
$_POST[
"userquest_id"]))
2576 $ilCtrl->redirect($this,
"listBlockedUsers");
2580 foreach(
$_POST[
"userquest_id"] as $uqid)
2582 $uqid = explode(
":", $uqid);
2584 if (!in_array($login, $rcps))
2589 require_once
'Services/Mail/classes/class.ilMailFormCall.php';
2594 'rcp_to' => implode(
',',$rcps),
2604 $link = chr(13).chr(10).chr(13).chr(10);
2605 $link .= $this->lng->txt(
'cont_blocked_users_mail_link');
2606 $link .= chr(13).chr(10).chr(13).chr(10);
2607 include_once
'./Services/Link/classes/class.ilLink.php';
2609 return rawurlencode(base64_encode($link));
2623 global
$lng, $ilHelp;
2625 $ilHelp->setScreenIdComponent(
"lm");
2628 parent::setTitleAndDescription();
2629 $this->tpl->setTitle($this->object->getTitle());
2631 $lng->txt(
"obj_lm"));
2646 $ilTabs->addSubtab(
"chapters",
2647 $lng->txt(
"cont_chapters"),
2648 $ilCtrl->getLinkTarget($this,
"chapters"));
2651 $ilTabs->addSubtab(
"pages",
2652 $lng->txt(
"cont_all_pages"),
2653 $ilCtrl->getLinkTarget($this,
"pages"));
2656 if (
$lm_set->get(
"html_export_ids"))
2660 $ilTabs->addSubtab(
"export_ids",
2661 $lng->txt(
"cont_html_export_ids"),
2662 $ilCtrl->getLinkTarget($this,
"showExportIDsOverview"));
2667 $lng->loadLanguageModule(
"help");
2668 $ilTabs->addSubtab(
"export_ids",
2669 $lng->txt(
"cont_online_help_ids"),
2670 $ilCtrl->getLinkTarget($this,
"showExportIDsOverview"));
2672 $ilTabs->addSubtab(
"help_tooltips",
2673 $lng->txt(
"help_tooltips"),
2674 $ilCtrl->getLinkTarget($this,
"showTooltipList"));
2678 $ilTabs->addSubtab(
"internal_links",
2679 $lng->txt(
"cont_internal_links"),
2680 $ilCtrl->getLinkTarget($this,
"listLinks"));
2683 if ($this->object->getType() ==
"lm")
2685 if(@include_once(
'HTTP/Request.php'))
2687 $ilTabs->addSubtab(
"link_check",
2688 $lng->txt(
"link_check"),
2689 $ilCtrl->getLinkTarget($this,
"linkChecker"));
2693 $ilTabs->addSubtab(
"history",
2694 $lng->txt(
"history"),
2695 $this->ctrl->getLinkTarget($this,
"history"));
2698 $ilTabs->addSubtab(
"maintenance",
2699 $lng->txt(
"cont_maintenance"),
2700 $ilCtrl->getLinkTarget($this,
"showMaintenance"));
2703 $ilTabs->addSubtab(
"srt_files",
2704 $lng->txt(
"cont_subtitle_files"),
2705 $ilCtrl->getLinkTargetByClass(
"illmmultisrtuploadgui",
""));
2708 $ilTabs->addSubtab(
"import",
2709 $lng->txt(
"cont_import"),
2710 $ilCtrl->getLinkTargetByClass(
"illmimportgui",
""));
2712 $ilTabs->activateSubTab($a_active);
2713 $ilTabs->activateTab(
"content");
2726 $ilTabs->addSubtab(
"question_stats",
2727 $lng->txt(
"cont_question_stats"),
2728 $ilCtrl->getLinkTarget($this,
"listQuestions"));
2731 $ilTabs->addSubtab(
"blocked_users",
2732 $lng->txt(
"cont_blocked_users"),
2733 $ilCtrl->getLinkTarget($this,
"listBlockedUsers"));
2735 $ilTabs->activateSubTab($a_active);
2745 $tabs_gui = $ilTabs;
2748 $ilTabs->addTab(
"content",
2749 $lng->txt(
"content"),
2750 $this->ctrl->getLinkTarget($this,
"chapters"));
2753 $ilTabs->addTab(
"info",
2754 $lng->txt(
"info_short"),
2755 $this->ctrl->getLinkTargetByClass(
"ilinfoscreengui",
'showSummary'));
2758 $ilTabs->addTab(
"settings",
2759 $lng->txt(
"settings"),
2760 $this->ctrl->getLinkTarget($this,
'properties'));
2763 $ilTabs->addTab(
"questions",
2764 $lng->txt(
"objs_qst"),
2765 $this->ctrl->getLinkTarget($this,
"listQuestions"));
2768 include_once
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
2771 $ilTabs->addTab(
'learning_progress',
2772 $lng->txt(
"learning_progress"),
2773 $this->ctrl->getLinkTargetByClass(array(
'illearningprogressgui'),
''));
2776 if ($this->object->getType() !=
"lm")
2779 $ilTabs->addTab(
"bib_data",
2780 $lng->txt(
"bib_data"),
2781 $this->ctrl->getLinkTarget($this,
"editBibItem"));
2785 include_once
"Services/Object/classes/class.ilObjectMetaDataGUI.php";
2787 $mdtab = $mdgui->getTab();
2790 $ilTabs->addTab(
"meta",
2791 $lng->txt(
"meta_data"),
2795 if ($this->object->getType() ==
"lm")
2798 $ilTabs->addTab(
"export",
2799 $lng->txt(
"export"),
2800 $this->ctrl->getLinkTargetByClass(
"ilexportgui",
""));
2804 if ($rbacsystem->checkAccess(
'edit_permission',$this->object->getRefId()))
2806 $ilTabs->addTab(
"perm",
2807 $lng->txt(
"perm_settings"),
2808 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm"));
2813 $ilTabs->activateTab($a_act);
2817 $ilTabs->addNonTabbedLink(
"pres_mode",
$lng->txt(
"cont_presentation_view"),
2818 "ilias.php?baseClass=ilLMPresentationGUI&ref_id=".$this->object->getRefID(),
"_top");
2828 if (in_array($a_active,
2829 array(
"settings",
"cont_style",
"cont_lm_menu",
"public_section",
2830 "cont_glossaries",
"cont_multilinguality",
"obj_multilinguality")))
2833 $ilTabs->addSubTabTarget(
"settings",
2834 $this->ctrl->getLinkTarget($this,
'properties'),
2838 $ilTabs->addSubTabTarget(
"cont_style",
2839 $this->ctrl->getLinkTarget($this,
'editStyleProperties'),
2843 $ilTabs->addSubTabTarget(
"cont_lm_menu",
2844 $this->ctrl->getLinkTarget($this,
'editMenuProperties'),
2848 $ilTabs->addSubTabTarget(
"cont_glossaries",
2849 $this->ctrl->getLinkTarget($this,
'editGlossaries'),
2854 if ($this->object->getType() !=
"dbk")
2857 $ilTabs->addSubTabTarget(
"public_section",
2858 $this->ctrl->getLinkTarget($this,
'editPublicSection'),
2868 $ilTabs->addSubTabTarget(
"obj_multilinguality",
2869 $this->ctrl->getLinkTargetByClass(
"ilobjecttranslationgui",
""));
2871 $ilTabs->setSubTabActive($a_active);
2877 global $ilTabs, $ilToolbar, $ilAccess;
2880 if (!$ilAccess->checkAccessOfUser(ANONYMOUS_USER_ID,
"read",
"", $this->object->getRefId()))
2887 $ilTabs->setTabActive(
"settings");
2889 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.lm_public_selector.html",
2890 "Modules/LearningModule");
2897 $modes = array(
"complete" => $this->lng->txt(
"all_pages"),
"selected" => $this->lng->txt(
"selected_pages_only"));
2898 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
2900 $si->setOptions($modes);
2901 $si->setValue($this->object->getPublicAccessMode());
2902 $ilToolbar->addInputItem(
$si,
true);
2903 $ilToolbar->addFormButton($this->lng->txt(
"save"),
"savePublicSectionAccess");
2904 $ilToolbar->setFormAction($this->ctrl->getFormAction($this,
"savePublicSectionAccess"));
2906 if ($this->object->getPublicAccessMode() ==
"selected")
2908 $this->tpl->setCurrentBlock(
"select_pages");
2909 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getLinkTarget($this,
"savePublicSectionPages"));
2911 include_once (
"./Modules/LearningModule/classes/class.ilPublicSectionExplorerGUI.php");
2913 $tree->setSelectMode(
"pages",
true);
2914 $tree->setSkipRootNode(
true);
2916 $this->tpl->setVariable(
"EXPLORER",
$tree->getHTML());
2917 $this->tpl->setVariable(
"TXT_SAVE", $this->lng->txt(
"save"));
2919 $this->tpl->parseCurrentBlock();
2926 $this->
object->setPublicAccessMode(
$_POST[
"lm_public_mode"]);
2927 $this->
object->updateProperties();
2930 $this->ctrl->redirect($this,
"editPublicSection");
2938 $this->
object->setPublicAccessMode(
$_POST[
"lm_public_mode"]);
2939 $this->
object->updateProperties();
2941 $this->ctrl->redirect($this,
"editPublicSection");
2951 $this->ctrl->redirect($this,
"editPublicSection");
2964 require_once(
"./Services/History/classes/class.ilHistoryTableGUI.php");
2966 $this->object->getId() ,$this->object->getType());
2967 $hist_gui->initTable();
2968 $hist_gui->setCommentVisibility($this->object->isActiveHistoryUserComments());
2970 $this->tpl->setContent($hist_gui->getHTML());
2985 require_once
'Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php';
2987 $actions->setSelectionHeaderClass(
'small');
2988 $actions->setItemLinkClass(
'xsmall');
2989 $actions->setListTitle($this->lng->txt(
'actions'));
2991 $this->ctrl->setParameterByClass(
'ilLMPageObjectGUI',
'obj_id',
$row[
'page_id']);
2993 $this->lng->txt(
'edit'),
2995 $this->ctrl->getLinkTargetByClass(
'ilLMPageObjectGUI',
'edit')
2997 $this->ctrl->clearParametersByClass(
'ilLMPageObjectGUI');
3012 require_once
'./Services/LinkChecker/classes/class.ilLinkCheckerTableGUI.php';
3017 include_once
"Services/Cron/classes/class.ilCronManager.php";
3020 include_once
'./Services/LinkChecker/classes/class.ilLinkCheckNotify.php';
3021 include_once
'Services/Form/classes/class.ilPropertyFormGUI.php';
3023 $chb =
new ilCheckboxInputGUI($this->lng->txt(
'link_check_message_a'),
'link_check_message');
3026 $chb->setOptionTitle($this->lng->txt(
'link_check_message_b'));
3028 $toolbar->addInputItem($chb);
3029 $toolbar->addFormButton($this->lng->txt(
'save'),
'saveLinkCheck');
3030 $toolbar->setFormAction($this->ctrl->getLinkTarget($this,
'saveLinkCheck'));
3034 $tgui->setLinkChecker($this->link_checker_obj)
3035 ->setRowHandler($this)
3036 ->setRefreshButton($this->lng->txt(
'refresh'),
'refreshLinkCheck');
3038 return $tpl->setContent($tgui->prepareHTML()->getHTML().$toolbar->getHTML());
3045 include_once
'./Services/LinkChecker/classes/class.ilLinkCheckNotify.php';
3048 $link_check_notify->setUserId(
$ilUser->getId());
3049 $link_check_notify->setObjId($this->object->getId());
3051 if(
$_POST[
'link_check_message'])
3054 $link_check_notify->addNotifier();
3059 $link_check_notify->deleteNotifier();
3072 if(!$this->link_checker_obj->checkPear())
3080 $this->link_checker_obj->checkLinks();
3092 include_once
'./Services/LinkChecker/classes/class.ilLinkChecker.php';
3095 $this->link_checker_obj->setObjId($this->object->getId());
3102 include_once
'./Modules/LearningModule/classes/class.ilLMMenuEditor.php';
3105 $this->lmme_obj->setObjId($this->object->getId());
3119 $ilTabs->setTabActive(
"settings");
3122 $ilToolbar->addButton($this->lng->txt(
"lm_menu_select_internal_object"),
3123 $ilCtrl->getLinkTarget($this,
"showEntrySelector"));
3126 $this->tpl->setContent($form->getHTML());
3138 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
3142 $ti =
new ilTextInputGUI($this->lng->txt(
"lm_menu_entry_title"),
"title");
3143 $ti->setMaxLength(255);
3145 $form->addItem($ti);
3148 $ta =
new ilTextInputGUI($this->lng->txt(
"lm_menu_entry_target"),
"target");
3149 $ta->setMaxLength(255);
3151 $form->addItem($ta);
3153 if ($a_mode ==
"edit")
3156 $this->lmme_obj->readEntry(
$_REQUEST[
"menu_entry"]);
3157 $ti->setValue($this->lmme_obj->getTitle());
3158 $ta->setValue($this->lmme_obj->getTarget());
3161 if (isset(
$_GET[
"link_ref_id"]))
3163 $link_ref_id = (int)
$_GET[
"link_ref_id"];
3168 $target_link = $obj_type.
"_".$link_ref_id;
3169 $ti->setValue($title);
3170 $ta->setValue($target_link);
3174 $hi->setValue($link_ref_id);
3175 $form->addItem($hi);
3180 if ($a_mode ==
"create")
3182 $form->addCommandButton(
"saveMenuEntry",
$lng->txt(
"save"));
3183 $form->addCommandButton(
"editMenuProperties",
$lng->txt(
"cancel"));
3184 $form->setTitle(
$lng->txt(
"lm_menu_new_entry"));
3188 $form->addCommandButton(
"updateMenuEntry",
$lng->txt(
"save"));
3189 $form->addCommandButton(
"editMenuProperties",
$lng->txt(
"cancel"));
3190 $form->setTitle(
$lng->txt(
"lm_menu_edit_entry"));
3193 $form->setFormAction(
$ilCtrl->getFormAction($this));
3206 if (empty(
$_POST[
"title"]))
3210 $ilCtrl->redirect($this,
"addMenuEntry");
3212 if (empty(
$_POST[
"target"]))
3216 $ilCtrl->redirect($this,
"addMenuEntry");
3220 $this->lmme_obj->setTitle(
$_POST[
"title"]);
3221 $this->lmme_obj->setTarget(
$_POST[
"target"]);
3222 $this->lmme_obj->setLinkRefId(
$_POST[
"link_ref_id"]);
3224 if (
$_POST[
"link_ref_id"])
3226 $this->lmme_obj->setLinkType(
"intern");
3229 $this->lmme_obj->create();
3232 $this->ctrl->redirect($this,
"editMenuProperties");
3240 if (empty(
$_GET[
"menu_entry"]))
3242 $this->
ilias->raiseError($this->lng->txt(
"no_menu_entry_id"),$this->ilias->error_obj->MESSAGE);
3246 $this->lmme_obj->delete(
$_GET[
"menu_entry"]);
3249 $this->ctrl->redirect($this,
"editMenuProperties");
3259 if (empty(
$_GET[
"menu_entry"]))
3261 $this->
ilias->raiseError($this->lng->txt(
"no_menu_entry_id"),$this->ilias->error_obj->MESSAGE);
3264 $ilCtrl->saveParameter($this, array(
"menu_entry"));
3265 $ilToolbar->addButton($this->lng->txt(
"lm_menu_select_internal_object"),
3266 $ilCtrl->getLinkTarget($this,
"showEntrySelector"));
3269 $this->tpl->setContent($form->getHTML());
3279 $this->
ilias->raiseError($this->lng->txt(
"no_menu_entry_id"),$this->ilias->error_obj->MESSAGE);
3283 if (empty(
$_POST[
"title"]))
3285 $this->
ilias->raiseError($this->lng->txt(
"please_enter_title"),$this->ilias->error_obj->MESSAGE);
3287 if (empty(
$_POST[
"target"]))
3289 $this->
ilias->raiseError($this->lng->txt(
"please_enter_target"),$this->ilias->error_obj->MESSAGE);
3293 $this->lmme_obj->readEntry(
$_REQUEST[
"menu_entry"]);
3294 $this->lmme_obj->setTitle(
$_POST[
"title"]);
3295 $this->lmme_obj->setTarget(
$_POST[
"target"]);
3296 $this->lmme_obj->update();
3299 $this->ctrl->redirect($this,
"editMenuProperties");
3308 $ilTabs->setTabActive(
"settings");
3311 $ilCtrl->saveParameter($this, array(
"menu_entry"));
3313 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.lm_menu_object_selector.html",
"Modules/LearningModule");
3317 require_once (
"./Modules/LearningModule/classes/class.ilLMMenuObjectSelector.php");
3320 $exp->setExpand(
$_GET[
"lm_menu_expand"] ?
$_GET[
"lm_menu_expand"] : $this->tree->readRootId());
3321 $exp->setExpandTarget($this->ctrl->getLinkTarget($this,
'showEntrySelector'));
3322 $exp->setTargetGet(
"ref_id");
3323 $exp->setRefId($this->cur_ref_id);
3325 $sel_types = array(
'mcst',
'mep',
'cat',
'lm',
'dbk',
'glo',
'frm',
'exc',
'tst',
'svy',
'chat',
'wiki',
'sahs',
3326 "crs",
"grp",
"book",
"tst",
"file");
3327 $exp->setSelectableTypes($sel_types);
3333 $output = $exp->getOutput();
3336 foreach ($exp->format_options as $node)
3338 if (!$node[
"container"])
3340 $pages[] = $node[
"child"];
3347 $this->tpl->setVariable(
"TXT_SET_PUBLIC_MODE", $this->lng->txt(
"set_public_mode"));
3348 $this->tpl->setVariable(
"TXT_CHOOSE_PUBLIC_MODE", $this->lng->txt(
"choose_public_mode"));
3349 $modes = array(
"complete" => $this->lng->txt(
"all_pages"),
"selected" => $this->lng->txt(
"selected_pages_only"));
3350 $select_public_mode =
ilUtil::formSelect ($this->object->getPublicAccessMode(),
"lm_public_mode",$modes,
false,
true);
3351 $this->tpl->setVariable(
"SELECT_PUBLIC_MODE", $select_public_mode);
3353 $this->tpl->setVariable(
"TXT_EXPLORER_HEADER", $this->lng->txt(
"choose_public_pages"));
3354 $this->tpl->setVariable(
"EXP_REFRESH", $this->lng->txt(
"refresh"));
3355 $this->tpl->setVariable(
"EXPLORER",$output);
3356 $this->tpl->setVariable(
"ONCLICK",$js_pages);
3357 $this->tpl->setVariable(
"TXT_CHECKALL", $this->lng->txt(
"check_all"));
3358 $this->tpl->setVariable(
"TXT_UNCHECKALL", $this->lng->txt(
"uncheck_all"));
3359 $this->tpl->setVariable(
"TXT_SAVE", $this->lng->txt(
"save"));
3360 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getLinkTarget($this,
"savePublicSection"));
3371 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
3373 if(count(
$_POST[
"id"]) > 1)
3375 $this->
ilias->raiseError($this->lng->txt(
"cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
3377 if (
$_POST[
"id"][0] != $this->object->getHeaderPage())
3379 $this->
object->setHeaderPage(
$_POST[
"id"][0]);
3383 $this->
object->setHeaderPage(0);
3385 $this->
object->updateProperties();
3386 $this->ctrl->redirect($this,
"pages");
3396 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
3398 if(count(
$_POST[
"id"]) > 1)
3400 $this->
ilias->raiseError($this->lng->txt(
"cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
3402 if (
$_POST[
"id"][0] != $this->object->getFooterPage())
3404 $this->
object->setFooterPage(
$_POST[
"id"][0]);
3408 $this->
object->setFooterPage(0);
3410 $this->
object->updateProperties();
3411 $this->ctrl->redirect($this,
"pages");
3423 $ilCtrl->redirect($this,
"chapters");
3433 include_once(
"./Modules/LearningModule/classes/class.ilChapterHierarchyFormGUI.php");
3440 $parent_id = $this->lm_tree->getParentId($node_id);
3445 $parent_id = $node_id;
3449 for ($i = 1; $i <= $num; $i++)
3452 $chap->setType(
"st");
3453 $chap->setTitle(
$lng->txt(
"cont_new_chap"));
3454 $chap->setLMId($this->object->getId());
3459 $ilCtrl->redirect($this,
"chapters");
3469 include_once(
"./Modules/LearningModule/classes/class.ilChapterHierarchyFormGUI.php");
3474 $ilLog->write(
"InsertChapterClip, num: $num, node_id: $node_id, ".
3479 $parent_id = $this->lm_tree->getParentId($node_id);
3484 $parent_id = $node_id;
3489 $chapters =
$ilUser->getClipboardObjects(
"st",
true);
3490 $copied_nodes = array();
3491 foreach ($chapters as $chap)
3493 $ilLog->write(
"Call pasteTree, Target LM: ".$this->object->getId().
", Chapter ID: ".$chap[
"id"]
3494 .
", Parent ID: ".$parent_id.
", Target: ".$target);
3496 $target, $chap[
"insert_time"], $copied_nodes,
3504 $ilUser->clipboardDeleteObjectsOfType(
"pg");
3505 $ilUser->clipboardDeleteObjectsOfType(
"st");
3509 $this->
object->checkTree();
3510 $ilCtrl->redirect($this,
"chapters");
3522 if ($ilAccess->checkAccess(
"read",
"", $a_target))
3524 $_GET[
"baseClass"] =
"ilLMPresentationGUI";
3525 $_GET[
"ref_id"] = $a_target;
3526 $_GET[
"cmd"] =
"resume";
3527 include(
"ilias.php");
3529 }
else if ($ilAccess->checkAccess(
"visible",
"", $a_target))
3531 $_GET[
"baseClass"] =
"ilLMPresentationGUI";
3532 $_GET[
"ref_id"] = $a_target;
3533 $_GET[
"cmd"] =
"infoScreen";
3534 include(
"ilias.php");
3537 else if ($ilAccess->checkAccess(
"read",
"", ROOT_FOLDER_ID))
3556 if (!is_array($items))
3559 $ilCtrl->redirect($this, $a_return);
3563 foreach($items as $k => $item)
3570 foreach($todel as $k)
3578 $ilCtrl->redirect($this, $a_return);
3589 if (!is_array($items))
3592 $ilCtrl->redirect($this,
"chapters");
3596 foreach($items as $k => $item)
3603 foreach($todel as $k)
3610 $ilCtrl->redirect($this,
"chapters");
3641 $ilToolbar->setFormAction(
$ilCtrl->getFormAction($this));
3642 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
3643 $lm_tree = $this->
object->getTree();
3644 $childs = $lm_tree->getChilds($lm_tree->readRootId());
3646 foreach ($childs as $c)
3648 $options[$c[
"child"]] = $c[
"title"];
3653 $ilToolbar->addInputItem(
$si,
true);
3654 $ilToolbar->addFormButton(
$lng->txt(
"help_filter"),
"filterHelpChapters");
3656 include_once(
"./Modules/LearningModule/classes/class.ilHelpMappingTableGUI.php");
3661 include_once(
"./Modules/LearningModule/classes/class.ilExportIDTableGUI.php");
3679 $ilCtrl->redirect($this,
"showExportIDsOverview");
3692 if (is_array(
$_POST[
"exportid"]))
3694 foreach (
$_POST[
"exportid"] as $pg_id => $exp_id)
3696 if ($exp_id !=
"" && !preg_match(
"/^([a-zA-Z]+)[0-9a-zA-Z_]*$/",
3706 $lng->txt(
"cont_exp_ids_not_resp_format3").
" ".
3707 $lng->txt(
"cont_exp_ids_not_resp_format2"));
3713 if (is_array(
$_POST[
"exportid"]))
3715 foreach (
$_POST[
"exportid"] as $pg_id => $exp_id)
3723 $ilCtrl->redirect($this,
"showExportIdsOverview");
3736 include_once(
"./Services/Help/classes/class.ilHelpMapping.php");
3737 if (is_array(
$_POST[
"screen_ids"]))
3739 foreach (
$_POST[
"screen_ids"] as $chap => $ids)
3741 $ids = explode(
"\n", $ids);
3746 $ilCtrl->redirect($this,
"showExportIdsOverview");
3766 $ilToolbar->setFormAction(
$ilCtrl->getFormAction($this));
3767 include_once(
"./Services/Form/classes/class.ilTextInputGUI.php");
3768 $ti =
new ilTextInputGUI($this->lng->txt(
"help_tooltip_id"),
"tooltip_id");
3769 $ti->setMaxLength(200);
3771 $ilToolbar->addInputItem($ti,
true);
3772 $ilToolbar->addFormButton(
$lng->txt(
"add"),
"addTooltip");
3773 $ilToolbar->addSeparator();
3775 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
3784 $ilToolbar->addInputItem(
$si,
true);
3785 $ilToolbar->addFormButton(
$lng->txt(
"help_filter"),
"filterTooltips");
3787 include_once(
"./Modules/LearningModule/classes/class.ilHelpTooltipTableGUI.php");
3804 if (trim($tt_id) !=
"")
3806 if (is_int(strpos($tt_id,
"_")))
3808 include_once(
"./Services/Help/classes/class.ilHelp.php");
3812 $fu = strpos($tt_id,
"_");
3813 $comp = substr($tt_id, 0, $fu);
3821 $ilCtrl->redirect($this,
"showTooltipList");
3835 $ilCtrl->redirect($this,
"showTooltipList");
3849 include_once(
"./Services/Help/classes/class.ilHelp.php");
3851 if (is_array(
$_POST[
"text"]))
3860 $ilCtrl->redirect($this,
"showTooltipList");
3870 if (is_array(
$_POST[
"id"]))
3872 include_once(
"./Services/Help/classes/class.ilHelp.php");
3873 foreach (
$_POST[
"id"] as $id)
3879 $ilCtrl->redirect($this,
"showTooltipList");
3921 if ($a_def_option !=
"")
3927 $layout->addOption(
new ilRadioOption(
"<table><tr><td>".$im_tag.
"</td><td><b>".
3928 $lng->txt(
"cont_lm_default_layout").
3929 "</b>: ".$lng->txt(
"cont_layout_".$a_def_option).
3930 "</td></tr></table>",
""));
3939 $layout->addOption(
new ilRadioOption(
"<table><tr><td style='padding: 0px 5px 5px;'>".
3940 $im_tag.
"</td><td style='padding:5px;'><b>".
$lng->txt(
"cont_layout_".$l).
"</b>: ".
3941 $lng->txt(
"cont_layout_".$l.
"_desc").
"</td></tr></table>",
$l));
3953 $ilCtrl->setParameter($this,
"hierarchy",
"1");
3965 if (!is_array(
$_POST[
"id"]))
3969 if ($a_in_hierarchy)
3971 $ilCtrl->redirect($this,
"chapters");
3975 $ilCtrl->redirect($this,
"pages");
3981 $tpl->setContent($this->form->getHTML());
3991 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
3994 if (is_array(
$_POST[
"id"]))
3996 foreach (
$_POST[
"id"] as $id)
4000 $this->form->addItem($hi);
4004 $this->object->getLayout());
4005 $this->form->addItem($layout);
4007 $this->form->addCommandButton(
"savePageLayout",
$lng->txt(
"save"));
4008 $this->form->addCommandButton(
"pages",
$lng->txt(
"cancel"));
4010 $this->form->setTitle(
$lng->txt(
"cont_set_layout"));
4011 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
4022 $ilCtrl->setParameter($this,
"hierarchy",
$_GET[
"hierarchy"]);
4024 foreach (
$_POST[
"id"] as $id)
4032 if (
$_GET[
"hierarchy"] == 1)
4034 $ilCtrl->redirect($this,
"chapters");
4038 $ilCtrl->redirect($this,
"pages");
4057 $ilTabs->setTabActive(
"settings");
4060 $ilToolbar->addButton(
$lng->txt(
"add"),
4061 $ilCtrl->getLinkTarget($this,
"showLMGlossarySelector"));
4063 include_once(
"./Modules/LearningModule/classes/class.ilLMGlossaryTableGUI.php");
4080 $ilTabs->setTabActive(
"settings");
4083 include_once
'Services/Search/classes/class.ilSearchRootSelector.php';
4086 $exp->setExpand(
$_GET[
"search_root_expand"] ?
$_GET[
"search_root_expand"] :
$tree->readRootId());
4087 $exp->setExpandTarget(
$ilCtrl->getLinkTarget($this,
'showLMGlossarySelector'));
4088 $exp->setTargetClass(get_class($this));
4089 $exp->setCmd(
'confirmGlossarySelection');
4090 $exp->setClickableTypes(array(
"glo"));
4091 $exp->addFilter(
"glo");
4095 $tpl->setContent($exp->getOutput());
4106 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
4108 $ilCtrl->setParameter($this,
"glo_ref_id",
$_GET[
"root_id"]);
4109 $cgui->setFormAction(
$ilCtrl->getFormAction($this));
4110 $cgui->setHeaderText(
$lng->txt(
"cont_link_glo_in_lm"));
4111 $cgui->setCancel(
$lng->txt(
"no"),
"selectLMGlossary");
4112 $cgui->setConfirm(
$lng->txt(
"yes"),
"selectLMGlossaryLink");
4113 $tpl->setContent($cgui->getHTML());
4124 $glo_ref_id = (int)
$_GET[
"glo_ref_id"];
4126 $this->
object->autoLinkGlossaryTerms($glo_id);
4141 $glos = $this->
object->getAutoGlossaries();
4142 $glo_ref_id = (int)
$_GET[
"glo_ref_id"];
4144 if (!in_array($glo_id, $glos))
4148 $this->
object->setAutoGlossaries($glos);
4149 $this->
object->update();
4152 $ilCtrl->redirect($this,
"editGlossaries");
4165 $this->
object->removeAutoGlossary((
int)
$_GET[
"glo_id"]);
4166 $this->
object->update();
4169 $ilCtrl->redirect($this,
"editGlossaries");
4182 $ilCtrl->setParameter($this,
"transl",
"");
4183 $ilCtrl->redirect($this,
"chapters");
4196 $ilCtrl->setParameter($this,
"transl",
$_GET[
"totransl"]);
4197 $ilCtrl->redirect($this,
"chapters");
4203 return parent::redrawHeaderActionObject();
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.
storeContentObject($a_type, $a_id, $a_action="cut")
Export User Interface Class.
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....
_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.
Upload SRT files to all media objects of a learning module.
getInstance(&$a_content_obj, $a_id=0, $a_halt=true)
static _lookupType($a_obj_id, $a_lm_id=0)
Lookup type.
clipboardCut($a_cont_obj_id, $a_ids)
Copy a set of chapters/pages into the clipboard.
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 clipboardCopy($a_cont_obj_id, $a_ids)
Copy a set of chapters/pages into the clipboard.
_writePublicAccessStatus($a_pages, $a_cont_obj_id)
update public access flags in lm_data for all pages of a content object@access public
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 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.
_lookupContObjID($a_id)
get learning module / digibook id for lm object
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="-")
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
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.
_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
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
& executeCommand()
execute command
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.
static getMultiLangHeader($a_lm_id, $a_gui_class)
Get multi lang header.
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.
addBibItem()
add bib item (module call)
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.
editBibItemObject($a_target="")
edit bib items (admin call)
initSetPageLayoutForm()
Init set page layout form.
savePublicSectionAccess()
Saves lm access mode.
insertChapter()
Insert (multiple) chapters at node.
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
initImportForm()
Init import form.
confirmedDelete($a_parent_subobj_id=0)
delete page object or structure objects
saveBibItemObject($a_target="")
save bib item (admin call)
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.
deleteBibItemObject($a_target="")
delete bib item (admin call)
initMenuForm()
Init menu form.
listLinks()
List all broken links.
editBibItem()
edit bib items (module call)
listQuestions()
List questions.
selectFooter()
select page as footer
createStyle()
Create Style.
deleteBibItem()
delete bib item (module call)
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)
ilObjContentObjectGUI($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=false)
Constructor.
downloadPDFFile()
download export file
setilLMMenu($a_offline=false, $a_export_format="", $a_active="content", $a_use_global_tabs=false, $a_as_subtabs=false, $a_cur_page=0)
get lm menu html
saveBibItem()
save bib item (module call)
importFileObject()
display status information or report errors messages in case of error
addBibItemObject($a_target="")
add bib item (admin call)
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)
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.
getAvailableLayouts()
get all available lm layouts
static isOnlineHelpModule($a_id, $a_as_obj_id=false)
Is module an online module.
Class ilObjLearningModule.
Class ilObjStyleSheetGUI.
_getStandardStyles($a_exclude_default_style=false, $a_include_deactivated=false, $a_scope=0)
Get standard styles.
_lookupStandard($a_id)
Lookup standard flag.
static _lookupLogin($a_user_id)
lookup login
GUI class for the workflow of copying objects.
Class ilObjectGUI Basic methods of all Output classes.
viewObject()
list childs of current object
prepareOutput()
prepare output
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
notify($a_event, $a_ref_id, $a_parent_non_rbac_id, $a_node_id, $a_params=0)
notifys an object about an event occured Based on the event passed, each object may decide how it rea...
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
_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.
static _requiresPurchaseToAccess($a_ref_id, $a_purchasetype='')
this function should be used by all buyable repository objects !!
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)
http redirect to other 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 stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
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 getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static deliverFile($a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
static stripSlashesArray($a_arr, $a_strip_html=true, $a_allow="")
Strip slashes from array.
interface ilLinkCheckerGUIRowHandling
redirection script todo: (a better solution should control the processing via a xml file)
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
if(!is_array($argv)) $options