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);
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);
108 $style_gui->omitLocator();
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");
375 $ti->setRequired(
true);
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);
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"));
413 $page_header->setOptions($option);
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"));
424 $toc_mode->setOptions($option);
425 $this->form->addItem($toc_mode);
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);
449 $radg->addOption($op2);
450 $this->form->addItem($radg);
454 $qfeed->setInfo($this->lng->txt(
"cont_restrict_forw_nav_info"));
455 $this->form->addItem($qfeed);
459 $not->setInfo($this->lng->txt(
"cont_notify_on_blocked_users_info"));
460 $qfeed->addSubItem($not);
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);
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);
719 $style_sel->setOptions($st_styles);
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"),
935 $this->object, $gui_class);
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());
949 $mtree->setTableNames(
'lm_tree',
'lm_data');
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();
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");
1074 $fi->setSuffixes(array(
"zip"));
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");
1341 $form_gui->setFormAction(
$ilCtrl->getFormAction($this));
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")
1842 parent::viewObject();
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");
2558 parent::setTitleAndDescription();
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'),
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());
2881 $hist_gui->initTable();
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');
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");
3057 $ti->setMaxLength(255);
3059 $form->addItem($ti);
3062 $ta =
new ilTextInputGUI($this->lng->txt(
"lm_menu_entry_target"),
"target");
3063 $ta->setMaxLength(255);
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))
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());
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");
3682 $ti->setMaxLength(200);
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");
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");
4116 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.
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.
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.
_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