4 include_once
"./Services/Object/classes/class.ilObjectGUI.php";
5 include_once
"./Modules/LearningModule/classes/class.ilObjContentObject.php";
6 include_once (
"./Modules/LearningModule/classes/class.ilLMPageObjectGUI.php");
7 include_once (
"./Modules/LearningModule/classes/class.ilStructureObjectGUI.php");
8 require_once
'Services/LinkChecker/interfaces/interface.ilLinkCheckerGUIRowHandling.php';
35 $lng->loadLanguageModule(
"content");
36 $lng->loadLanguageModule(
"obj");
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);
109 if (
$cmd ==
"create" ||
$_GET[
"new_type"]==
"sty")
111 $style_gui->setCreationMode(
true);
113 $ret =& $this->ctrl->forwardCommand($style_gui);
116 if (
$cmd ==
"save" ||
$cmd ==
"copyStyle" ||
$cmd ==
"importStyle")
119 $this->
object->setStyleSheetId($style_id);
120 $this->
object->update();
121 $this->ctrl->redirectByClass(
"ilobjstylesheetgui",
"edit");
125 case "illmpageobjectgui":
127 $ilTabs->setBackTarget($lng->txt(
"learning module"),
128 $ilCtrl->getLinkTarget($this,
"chapters"));
129 $this->ctrl->saveParameter($this, array(
"obj_id"));
131 $this->ctrl->setReturn($this,
"chapters");
136 if (
$_GET[
"obj_id"] !=
"")
139 $pg_gui->setLMPageObject($obj);
142 $ret =& $this->ctrl->forwardCommand($pg_gui);
143 if (
$cmd ==
"save" ||
$cmd ==
"cancel")
149 case "ilstructureobjectgui":
150 $ilTabs->setBackTarget($lng->txt(
"learning module"),
151 $ilCtrl->getLinkTarget($this,
"chapters"));
153 $this->ctrl->saveParameter($this, array(
"obj_id"));
155 $this->ctrl->setReturn($this,
"chapters");
157 if (
$_GET[
"obj_id"] !=
"")
160 $st_gui->setStructureObject($obj);
163 $ret =& $this->ctrl->forwardCommand($st_gui);
164 if (
$cmd ==
"save" ||
$cmd ==
"cancel")
166 if (
$_GET[
"obj_id"] ==
"")
168 $this->ctrl->redirect($this,
"chapters");
172 $this->ctrl->setCmd(
"subchap");
178 case 'ilpermissiongui':
179 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui")
189 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
191 $ret =& $this->ctrl->forwardCommand($perm_gui);
195 case 'ilinfoscreengui':
199 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
201 $info->enablePrivateNotes();
202 $info->enableLearningProgress();
205 if ($ilAccess->checkAccess(
"write",
"",
$_GET[
"ref_id"]))
207 $info->enableNewsEditing();
208 $info->setBlockProperty(
"news",
"settings",
true);
212 $info->addMetaDataSections($this->object->getId(), 0,
213 $this->
object->getType());
215 $ret =& $this->ctrl->forwardCommand($info);
222 include_once(
"./Services/Export/classes/class.ilExportGUI.php");
224 $exp_gui->addFormat(
"xml",
"", $this,
"export");
225 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
227 if ($ot->getContentActivated())
229 $lng->loadLanguageModule(
"meta");
230 $langs = $ot->getLanguages();
231 foreach ($langs as $l => $ldata)
233 $exp_gui->addFormat(
"html_".$l,
"HTML (".$lng->txt(
"meta_l_".$l).
")", $this,
"exportHTML");
238 $exp_gui->addFormat(
"html",
"", $this,
"exportHTML");
241 $exp_gui->addFormat(
"scorm",
"", $this,
"exportSCORM");
242 $exp_gui->addCustomColumn($lng->txt(
"cont_public_access"),
243 $this,
"getPublicAccessColValue");
244 $exp_gui->addCustomMultiCommand($lng->txt(
"cont_public_access"),
245 $this,
"publishExportFile");
246 $ret = $this->ctrl->forwardCommand($exp_gui);
249 case 'ilobjecttranslationgui':
257 include_once(
"./Services/Object/classes/class.ilObjectTranslationGUI.php");
259 $transgui->setTitleDescrOnlyMode(
false);
260 $this->ctrl->forwardCommand($transgui);
264 case "ilcommonactiondispatchergui":
265 include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
267 $this->ctrl->forwardCommand($gui);
270 case 'ilobjectcopygui':
272 include_once
'./Services/Object/classes/class.ilObjectCopyGUI.php';
275 $this->ctrl->forwardCommand($cp);
279 $new_type =
$_POST[
"new_type"]
284 if (
$cmd ==
"create" &&
285 !in_array($new_type, array(
"dbk",
"lm")))
292 $this->ctrl->setCmdClass(
"ilLMPageObjectGUI");
298 $this->ctrl->setCmdClass(
"ilStructureObjectGUI");
307 in_array($new_type, array(
"dbk",
"lm")))
331 return array(
"ilLMPageObjectGUI",
"ilStructureObjectGUI",
"ilObjStyleSheetGUI");
341 $lng->loadLanguageModule(
"style");
349 if($this->object->getType() ==
"lm")
352 include_once
'Modules/LearningModule/classes/class.ilECSLearningModuleSettings.php';
354 $ecs->addSettingsToForm($this->form,
'lm');
357 $this->tpl->setContent($this->form->getHTML());
367 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
376 $this->form->addItem($ti);
383 $this->form->addItem($ta);
385 $lng->loadLanguageModule(
"rep");
387 $section->setTitle($this->lng->txt(
'rep_activation_availability'));
392 $this->form->addItem($online);
396 $section->setTitle($this->lng->txt(
'cont_presentation'));
400 $layout = self::getLayoutOption($lng->txt(
"cont_def_layout"),
"lm_layout");
401 $this->form->addItem($layout);
405 $lpp->
setInfo($this->lng->txt(
"cont_layout_per_page_info"));
406 $this->form->addItem($lpp);
409 $page_header =
new ilSelectInputGUI($lng->txt(
"cont_page_header"),
"lm_pg_header");
410 $option = array (
"st_title" => $this->lng->txt(
"cont_st_title"),
411 "pg_title" => $this->lng->txt(
"cont_pg_title"),
412 "none" => $this->lng->txt(
"cont_none"));
414 $this->form->addItem($page_header);
418 $this->form->addItem($chap_num);
422 $option = array (
"chapters" => $this->lng->txt(
"cont_chapters_only"),
423 "pages" => $this->lng->txt(
"cont_chapters_and_pages"));
425 $this->form->addItem($toc_mode);
434 $progr_icons =
new ilCheckboxInputGUI($lng->txt(
"cont_progress_icons"),
"progr_icons");
435 $progr_icons->
setInfo($this->lng->txt(
"cont_progress_icons_info"));
436 $this->form->addItem($progr_icons);
440 $section->setTitle($this->lng->txt(
'cont_self_assessment'));
446 $op1 =
new ilRadioOption($lng->txt(
"cont_tries_reset_on_visit"), 0,$lng->txt(
"cont_tries_reset_on_visit_info"));
447 $radg->addOption($op1);
448 $op2 =
new ilRadioOption($lng->txt(
"cont_tries_store"), 1,$lng->txt(
"cont_tries_store_info"));
449 $radg->addOption($op2);
450 $this->form->addItem($radg);
453 $qfeed =
new ilCheckboxInputGUI($lng->txt(
"cont_restrict_forw_nav"),
"restrict_forw_nav");
454 $qfeed->
setInfo($this->lng->txt(
"cont_restrict_forw_nav_info"));
455 $this->form->addItem($qfeed);
458 $not =
new ilCheckboxInputGUI($lng->txt(
"cont_notify_on_blocked_users"),
"notification_blocked_users");
459 $not->
setInfo($this->lng->txt(
"cont_notify_on_blocked_users_info"));
460 $qfeed->addSubItem($not);
463 $qfeed =
new ilCheckboxInputGUI($lng->txt(
"cont_disable_def_feedback"),
"disable_def_feedback");
464 $qfeed->
setInfo($this->lng->txt(
"cont_disable_def_feedback_info"));
465 $this->form->addItem($qfeed);
469 $section->setTitle($this->lng->txt(
'obj_features'));
473 if (!$this->
ilias->getSetting(
'disable_comments'))
475 $this->lng->loadLanguageModule(
"notes");
477 $pub_nodes->
setInfo($this->lng->txt(
"cont_lm_comments_desc"));
478 $this->form->addItem($pub_nodes);
482 $com =
new ilCheckboxInputGUI($lng->txt(
"enable_hist_user_comments"),
"cobj_user_comments");
483 $com->
setInfo($this->lng->txt(
"enable_hist_user_comments_desc"));
484 $this->form->addItem($com);
487 $this->lng->loadLanguageModule(
'rating');
489 $rate->
setInfo($this->lng->txt(
'rating_activate_rating_info'));
490 $this->form->addItem($rate);
491 $ratep =
new ilCheckboxInputGUI($this->lng->txt(
'lm_activate_rating'),
'rating_pages');
492 $this->form->addItem($ratep);
494 $this->form->
setTitle($lng->txt(
"cont_lm_properties"));
495 $this->form->addCommandButton(
"saveProperties", $lng->txt(
"save"));
496 $this->form->setFormAction($ilCtrl->getFormAction($this));
508 $title = $this->
object->getTitle();
509 $description = $this->
object->getDescription();
510 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
512 if ($ot->getContentActivated())
514 $title = $ot->getDefaultTitle();
515 $description = $ot->getDefaultDescription();
518 $values[
"title"] = $title;
519 $values[
"description"] = $description;
520 if ($this->object->getOnline())
522 $values[
"cobj_online"] =
true;
524 $values[
"lm_layout"] = $this->
object->getLayout();
525 $values[
"lm_pg_header"] = $this->
object->getPageHeader();
526 if ($this->object->isActiveNumbering())
528 $values[
"cobj_act_number"] =
true;
530 $values[
"toc_mode"] = $this->
object->getTOCMode();
531 if ($this->object->publicNotes())
533 $values[
"cobj_pub_notes"] =
true;
535 if ($this->object->cleanFrames())
537 $values[
"cobj_clean_frames"] =
true;
539 if ($this->object->isActiveHistoryUserComments())
541 $values[
"cobj_user_comments"] =
true;
543 $values[
"layout_per_page"] = $this->
object->getLayoutPerPage();
544 $values[
"rating"] = $this->
object->hasRating();
545 $values[
"rating_pages"] = $this->
object->hasRatingPages();
546 $values[
"disable_def_feedback"] = $this->
object->getDisableDefaultFeedback();
547 $values[
"progr_icons"] = $this->
object->getProgressIcons();
548 $values[
"store_tries"] = $this->
object->getStoreTries();
549 $values[
"restrict_forw_nav"] = $this->
object->getRestrictForwardNavigation();
551 include_once
"./Services/Notification/classes/class.ilNotification.php";
554 $this->
object->getId());
556 $this->form->setValuesByArray($values);
568 if ($this->form->checkInput())
570 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
572 if ($ot->getContentActivated())
574 $ot->setDefaultTitle(
$_POST[
'title']);
575 $ot->setDefaultDescription(
$_POST[
'description']);
579 $this->
object->setTitle(
$_POST[
'title']);
580 $this->
object->setDescription(
$_POST[
'description']);
581 $this->
object->setLayout(
$_POST[
"lm_layout"]);
582 $this->
object->setPageHeader(
$_POST[
"lm_pg_header"]);
583 $this->
object->setTOCMode(
$_POST[
"toc_mode"]);
584 $this->
object->setOnline(
$_POST[
"cobj_online"]);
585 $this->
object->setActiveNumbering(
$_POST[
"cobj_act_number"]);
586 $this->
object->setCleanFrames(
$_POST[
"cobj_clean_frames"]);
587 if (!$this->
ilias->getSetting(
'disable_comments'))
589 $this->
object->setPublicNotes(
$_POST[
"cobj_pub_notes"]);
591 $this->
object->setHistoryUserComments(
$_POST[
"cobj_user_comments"]);
592 $this->
object->setLayoutPerPage(
$_POST[
"layout_per_page"]);
593 $this->
object->setRating(
$_POST[
"rating"]);
594 $this->
object->setRatingPages(
$_POST[
"rating_pages"]);
595 $this->
object->setDisableDefaultFeedback((
int)
$_POST[
"disable_def_feedback"]);
596 $this->
object->setProgressIcons((
int) $_POST[
"progr_icons"]);
599 if ($_POST[
"restrict_forw_nav"] && !$_POST[
"store_tries"])
601 $_POST[
"store_tries"] = 1;
602 $add_info =
"</br>".$lng->txt(
"cont_automatically_set_store_tries");
603 $add_info = str_replace(
"$1", $lng->txt(
"cont_tries_store"), $add_info);
604 $add_info = str_replace(
"$2", $lng->txt(
"cont_restrict_forw_nav"), $add_info);
607 $this->
object->setStoreTries((
int) $_POST[
"store_tries"]);
608 $this->
object->setRestrictForwardNavigation((
int) $_POST[
"restrict_forw_nav"]);
609 $this->
object->updateProperties();
610 $this->
object->update();
612 include_once
"./Services/Notification/classes/class.ilNotification.php";
614 $ilUser->getId(), $this->
object->getId(),
615 (bool)$this->form->getInput(
"notification_blocked_users"));
618 if($this->object->getType() ==
'lm')
621 include_once
'Modules/LearningModule/classes/class.ilECSLearningModuleSettings.php';
623 if($ecs->handleSettingsUpdate())
637 $this->ctrl->redirect($this,
"properties");
641 $lng->loadLanguageModule(
"style");
645 $this->form->setValuesByPost();
646 $this->tpl->setContent($this->form->getHTML());
658 $tpl->setContent($this->form->getHTML());
668 $lng->loadLanguageModule(
"style");
670 $ilTabs->setTabActive(
"settings");
673 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
676 $fixed_style = $ilSetting->get(
"fixed_content_style_id");
677 $style_id = $this->
object->getStyleSheetId();
679 if ($fixed_style > 0)
683 $this->lng->txt(
"global_fixed").
")");
684 $this->form->addItem($st);
691 $st_styles[0] = $this->lng->txt(
"default");
701 $this->form->addItem($st);
706 $this->form->addCommandButton(
"editStyle",
707 $lng->txt(
"cont_edit_style"));
708 $this->form->addCommandButton(
"deleteStyle",
709 $lng->txt(
"cont_delete_style"));
717 $st_styles,
false,
true);
718 $style_sel =
new ilSelectInputGUI($lng->txt(
"cont_current_style"),
"style_id");
720 $style_sel->setValue($style_id);
721 $this->form->addItem($style_sel);
723 $this->form->addCommandButton(
"saveStyleSettings",
725 $this->form->addCommandButton(
"createStyle",
726 $lng->txt(
"sty_create_ind_style"));
729 $this->form->setTitle($lng->txt(
"cont_style"));
730 $this->form->setFormAction($ilCtrl->getFormAction($this));
740 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"create");
750 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"edit");
760 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"delete");
770 if ($ilSetting->get(
"fixed_content_style_id") <= 0 &&
772 || $this->object->getStyleSheetId() == 0))
775 $this->
object->update();
778 $this->ctrl->redirect($this,
"editStyleProperties");
788 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
793 $menu->
setChecked($this->object->isActiveLMMenu());
794 $form->addItem($menu);
798 $toc->
setChecked($this->object->isActiveTOC());
799 $form->addItem($toc);
802 $print =
new ilCheckboxInputGUI($this->lng->txt(
"cont_print_view"),
"cobj_act_print");
803 $print->
setChecked($this->object->isActivePrintView());
804 $form->addItem($print);
807 $glo =
new ilCheckboxInputGUI($this->lng->txt(
"cont_print_view_pre_glo"),
"cobj_act_print_prev_glo");
808 $glo->
setChecked($this->object->isActivePreventGlossaryAppendix());
809 $print->addSubItem($glo);
812 $hhfp =
new ilCheckboxInputGUI($this->lng->txt(
"cont_hide_head_foot_print"),
"hide_head_foot_print");
813 $hhfp->
setChecked($this->object->getHideHeaderFooterPrint());
814 $print->addSubItem($hhfp);
817 $no_download_file_available =
818 " ".$lng->txt(
"cont_no_download_file_available").
819 " <a href='".$ilCtrl->getLinkTargetByClass(
"ilexportgui",
"").
"'>".$lng->txt(
"change").
"</a>";
820 $types = array(
"xml",
"html",
"scorm");
821 foreach($types as $type)
823 if ($this->object->getPublicExportFile($type) !=
"")
825 if (is_file($this->object->getExportDirectory($type).
"/".
826 $this->
object->getPublicExportFile($type)))
828 $no_download_file_available =
"";
832 $dl =
new ilCheckboxInputGUI($this->lng->txt(
"cont_downloads"),
"cobj_act_downloads");
833 $dl->
setInfo($this->lng->txt(
"cont_downloads_desc").$no_download_file_available);
834 $dl->setChecked($this->object->isActiveDownloads());
838 $pdl =
new ilCheckboxInputGUI($this->lng->txt(
"cont_downloads_public_desc"),
"cobj_act_downloads_public");
839 $pdl->
setChecked($this->object->isActiveDownloadsPublic());
840 $dl->addSubItem($pdl);
842 $form->addCommandButton(
"saveMenuProperties", $lng->txt(
"save"));
844 $form->setTitle($lng->txt(
"cont_lm_menu"));
845 $form->setFormAction($ilCtrl->getFormAction($this));
857 $lng->loadLanguageModule(
"style");
859 $ilTabs->setTabActive(
"settings");
862 $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
863 $ilToolbar->addFormButton($this->lng->txt(
"add_menu_entry"),
"addMenuEntry");
864 $ilToolbar->setCloseFormTag(
false);
867 $form->setOpenTag(
false);
868 $form->setCloseTag(
false);
871 $entries = $this->lmme_obj->getMenuEntries();
872 include_once(
"./Modules/LearningModule/classes/class.ilLMMenuItemsTableGUI.php");
874 $table->setOpenFormTag(
false);
876 $tpl->setContent($form->getHTML().
"<br />".$table->getHTML());
886 $this->
object->setActiveLMMenu((
int)
$_POST[
"cobj_act_lm_menu"]);
887 $this->
object->setActiveTOC((
int) $_POST[
"cobj_act_toc"]);
888 $this->
object->setActivePrintView((
int) $_POST[
"cobj_act_print"]);
889 $this->
object->setActivePreventGlossaryAppendix((
int) $_POST[
"cobj_act_print_prev_glo"]);
890 $this->
object->setHideHeaderFooterPrint((
int) $_POST[
"hide_head_foot_print"]);
891 $this->
object->setActiveDownloads((
int) $_POST[
"cobj_act_downloads"]);
892 $this->
object->setActiveDownloadsPublic((
int) $_POST[
"cobj_act_downloads_public"]);
893 $this->
object->updateProperties();
897 $this->lmme_obj->updateActiveStatus($_POST[
"menu_entries"]);
900 $this->ctrl->redirect($this,
"editMenuProperties");
910 switch ($this->object->getType())
913 $gui_class =
"ilobjlearningmodulegui";
917 $gui_class =
"ilobjdlbookgui";
921 $ilCtrl->setParameterByClass($gui_class,
"active_node",
$_GET[
"active_node"]);
923 $this->tpl =
new ilTemplate(
"tpl.main.html",
true,
true);
930 $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.explorer.html");
933 require_once (
"./Modules/LearningModule/classes/class.ilLMEditorExplorer.php");
934 $exp =
new ilLMEditorExplorer($this->ctrl->getLinkTarget($this,
"view"),
937 $exp->setTargetGet(
"obj_id");
938 $exp->setExpandTarget($this->ctrl->getLinkTarget($this,
"explorer"));
940 if (
$_GET[
"lmmovecopy"] ==
"1")
946 if (
$_GET[
"lmexpand"] ==
"")
948 $mtree =
new ilTree($this->object->getId());
950 $mtree->setTreeTablePK(
"lm_id");
951 $expanded = $mtree->readRootId();
955 $expanded =
$_GET[
"lmexpand"];
957 if (
$_GET[
"active_node"] !=
"")
959 $path = $this->lm_tree->getPathId(
$_GET[
"active_node"]);
960 $exp->setForceOpenPath(
$path);
962 $exp->highlightNode(
$_GET[
"active_node"]);
964 $exp->setExpand($expanded);
968 $output = $exp->getOutput();
971 if ($ilCtrl->isAsynch())
976 include_once(
"./Services/COPage/classes/class.ilPageEditorGUI.php");
995 $this->tpl->setCurrentBlock(
"content");
996 $this->tpl->setVariable(
"TXT_EXPLORER_HEADER", $this->lng->txt(
"cont_chap_and_pages"));
997 $this->tpl->setVariable(
"EXP_REFRESH", $this->lng->txt(
"refresh"));
998 $this->tpl->setVariable(
"EXPLORER",$output);
999 $this->ctrl->setParameter($this,
"lmexpand",
$_GET[
"lmexpand"]);
1000 $this->tpl->setVariable(
"ACTION", $this->ctrl->getLinkTarget($this,
"explorer"));
1001 $this->tpl->parseCurrentBlock();
1002 $this->tpl->show(
false);
1011 include_once
"./Services/COPage/classes/class.ilWysiwygUtil.php";
1012 $popup =
new ilWysiwygUtil();
1013 $popup->show(
$_GET[
"ptype"]);
1024 $this->
object->executeDragDrop(
$_POST[
"il_hform_source_id"],
$_POST[
"il_hform_target_id"],
1026 $ilCtrl->redirect($this,
"chapters");
1041 $a_new_object->setCleanFrames(
true);
1045 $a_new_object->createLMTree();
1048 $a_new_object->addFirstChapterAndPage();
1053 "&baseClass=ilLMEditorGUI");
1063 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
1067 $this->ctrl->setParameter($this,
"new_type", $new_type);
1070 $form->setTableWidth(
"600px");
1075 $fi->setRequired(
true);
1077 $form->addItem($fi);
1081 $cb->
setInfo($this->lng->txt(
""));
1082 $form->addItem($cb);
1084 $form->addCommandButton(
"importFile", $lng->txt(
"import"));
1085 $form->addCommandButton(
"cancel", $lng->txt(
"cancel"));
1087 $form->setTitle($this->lng->txt(
"import_".$new_type));
1088 $form->setFormAction($ilCtrl->getFormAction($this));
1098 include_once
"./Modules/LearningModule/classes/class.ilBibItemGUI.php";
1100 $bib_gui->setObject($this->
object);
1101 $bibItemName =
$_POST[
"bibItemName"] ?
$_POST[
"bibItemName"] :
$_GET[
"bibItemName"];
1102 $bibItemIndex =
$_POST[
"bibItemIndex"] ?
$_POST[
"bibItemIndex"] :
$_GET[
"bibItemIndex"];
1103 if ($bibItemIndex ==
"")
1105 $bibItemPath =
$_POST[
"bibItemPath"] ?
$_POST[
"bibItemPath"] :
$_GET[
"bibItemPath"];
1106 if ($bibItemName !=
"")
1108 $bib_gui->bib_obj->add($bibItemName, $bibItemPath, $bibItemIndex);
1109 $data = $bib_gui->bib_obj->getElement(
"BibItem");
1110 $bibItemIndex = (count(
$data) - 1);
1116 if ($a_target ==
"")
1118 $a_target =
"adm_object.php?ref_id=" . $this->
object->getRefId();
1121 $bib_gui->edit(
"ADM_CONTENT",
"adm_content", $a_target, $bibItemIndex);
1142 include_once
"./Modules/LearningModule/classes/class.ilBibItemGUI.php";
1144 $bib_gui->setObject($this->
object);
1145 $bibItemIndex =
$_POST[
"bibItemIndex"] ?
$_POST[
"bibItemIndex"] :
$_GET[
"bibItemIndex"];
1146 $bib_gui->bib_obj->delete(
$_GET[
"bibItemName"],
$_GET[
"bibItemPath"], $bibItemIndex);
1147 if (strpos($bibItemIndex,
",") > 0)
1149 $bibItemIndex = substr($bibItemIndex, 0, strpos($bibItemIndex,
","));
1151 if ($a_target ==
"")
1153 $a_target =
"adm_object.php?ref_id=" . $this->
object->getRefId();
1156 $bib_gui->edit(
"ADM_CONTENT",
"adm_content", $a_target, max(0, $bibItemIndex - 1));
1178 include_once
"./Modules/LearningModule/classes/class.ilBibItemGUI.php";
1180 $bib_gui->setObject($this->
object);
1181 $bibItemIndex =
$_POST[
"bibItemIndex"] ?
$_POST[
"bibItemIndex"] :
$_GET[
"bibItemIndex"];
1183 if ($bibItemIndex < 0)
1187 if ($a_target ==
"")
1189 $a_target =
"adm_object.php?ref_id=" . $this->
object->getRefId();
1192 $bib_gui->edit(
"ADM_CONTENT",
"adm_content", $a_target, $bibItemIndex);
1213 include_once
"./Modules/LearningModule/classes/class.ilBibItemGUI.php";
1215 $bib_gui->setObject($this->
object);
1216 $bibItemIndex =
$_POST[
"bibItemIndex"] ?
$_POST[
"bibItemIndex"] :
$_GET[
"bibItemIndex"];
1218 if ($bibItemIndex < 0)
1222 $bibItemIndex = $bib_gui->save($bibItemIndex);
1224 if ($a_target ==
"")
1226 $a_target =
"adm_object.php?ref_id=" . $this->
object->getRefId();
1229 $bib_gui->edit(
"ADM_CONTENT",
"adm_content", $a_target, $bibItemIndex);
1275 global $_FILES, $rbacsystem,
$ilDB,
$tpl;
1277 include_once
"./Modules/LearningModule/classes/class.ilObjLearningModule.php";
1279 if (!$rbacsystem->checkAccess(
"create",
$_GET[
"ref_id"],
$_GET[
"new_type"]))
1281 $this->
ilias->raiseError($this->lng->txt(
"no_create_permission"), $this->
ilias->error_obj->MESSAGE);
1286 if ($form->checkInput())
1289 include_once(
"./Modules/LearningModule/classes/class.ilObjContentObject.php");
1291 $newObj->setType(
$_GET[
"new_type"]);
1292 $newObj->setTitle($_FILES[
"xmldoc"][
"name"]);
1293 $newObj->setDescription(
"");
1294 $newObj->create(
true);
1295 $newObj->createReference();
1296 $newObj->putInTree(
$_GET[
"ref_id"]);
1297 $newObj->setPermissions(
$_GET[
"ref_id"]);
1298 $newObj->notify(
"new",
$_GET[
"ref_id"],
$_GET[
"parent_non_rbac_id"],
$_GET[
"ref_id"],$newObj->getRefId());
1301 $newObj->createLMTree();
1304 $mess = $newObj->importFromZipFile($_FILES[
"xmldoc"][
"tmp_name"], $_FILES[
"xmldoc"][
"name"],
1311 "&baseClass=ilLMEditorGUI");
1315 $link =
'<a href="'.
"ilias.php?ref_id=".$newObj->getRefId().
1316 "&baseClass=ilLMEditorGUI".
'" target="_top">'.$this->lng->txt(
"btn_next").
'</a>';
1317 $tpl->setContent(
"<br />".$link.
"<br /><br />".$mess.$link);
1322 $form->setValuesByPost();
1323 $tpl->setContent($form->getHtml());
1337 $ilCtrl->setParameter($this,
"backcmd",
"chapters");
1339 include_once(
"./Modules/LearningModule/classes/class.ilChapterHierarchyFormGUI.php");
1342 $form_gui->setTitle($this->object->getTitle());
1344 $form_gui->setTree($this->lm_tree);
1345 $form_gui->setMaxDepth(0);
1346 $form_gui->setCurrentTopNodeId($this->tree->getRootId());
1347 $form_gui->addMultiCommand($lng->txt(
"delete"),
"delete");
1348 $form_gui->addMultiCommand($lng->txt(
"cut"),
"cutItems");
1349 $form_gui->addMultiCommand($lng->txt(
"copy"),
"copyItems");
1350 if ($this->object->getLayoutPerPage())
1352 $form_gui->addMultiCommand($lng->txt(
"cont_set_layout"),
"setPageLayoutInHierarchy");
1355 $form_gui->addCommand($lng->txt(
"cont_save_all_titles"),
"saveAllTitles");
1356 $up_gui = ($this->
object->getType() ==
"dbk")
1358 :
"ilobjlearningmodulegui";
1360 $ctpl =
new ilTemplate(
"tpl.chap_and_pages.html",
true,
true,
"Modules/LearningModule");
1361 $ctpl->setVariable(
"HIERARCHY_FORM", $form_gui->getHTML());
1362 $ilCtrl->setParameter($this,
"obj_id",
"");
1364 $ml_head = self::getMultiLangHeader($this->object->getId(), $this);
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'),
2766 if ($ilSetting->get(
"pub_section"))
2768 if ($this->object->getType() !=
"dbk")
2771 $ilTabs->addSubTabTarget(
"public_section",
2772 $this->ctrl->getLinkTarget($this,
'editPublicSection'),
2782 $ilTabs->addSubTabTarget(
"obj_multilinguality",
2783 $this->ctrl->getLinkTargetByClass(
"ilobjecttranslationgui",
""));
2785 $ilTabs->setSubTabActive($a_active);
2791 global $ilTabs, $ilToolbar, $ilAccess;
2794 if (!$ilAccess->checkAccessOfUser(ANONYMOUS_USER_ID,
"read",
"", $this->object->getRefId()))
2801 $ilTabs->setTabActive(
"settings");
2803 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.lm_public_selector.html",
2804 "Modules/LearningModule");
2811 $modes = array(
"complete" => $this->lng->txt(
"all_pages"),
"selected" => $this->lng->txt(
"selected_pages_only"));
2812 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
2814 $si->setOptions($modes);
2815 $si->setValue($this->object->getPublicAccessMode());
2816 $ilToolbar->addInputItem(
$si,
true);
2817 $ilToolbar->addFormButton($this->lng->txt(
"save"),
"savePublicSectionAccess");
2818 $ilToolbar->setFormAction($this->ctrl->getFormAction($this,
"savePublicSectionAccess"));
2820 if ($this->object->getPublicAccessMode() ==
"selected")
2822 $this->tpl->setCurrentBlock(
"select_pages");
2823 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getLinkTarget($this,
"savePublicSectionPages"));
2825 include_once (
"./Modules/LearningModule/classes/class.ilPublicSectionExplorerGUI.php");
2827 $tree->setSelectMode(
"pages",
true);
2828 $tree->setSkipRootNode(
true);
2830 $this->tpl->setVariable(
"EXPLORER",
$tree->getHTML());
2831 $this->tpl->setVariable(
"TXT_SAVE", $this->lng->txt(
"save"));
2833 $this->tpl->parseCurrentBlock();
2840 $this->
object->setPublicAccessMode(
$_POST[
"lm_public_mode"]);
2841 $this->
object->updateProperties();
2844 $this->ctrl->redirect($this,
"editPublicSection");
2852 $this->
object->setPublicAccessMode(
$_POST[
"lm_public_mode"]);
2853 $this->
object->updateProperties();
2855 $this->ctrl->redirect($this,
"editPublicSection");
2865 $this->ctrl->redirect($this,
"editPublicSection");
2878 require_once(
"./Services/History/classes/class.ilHistoryTableGUI.php");
2880 $this->object->getId() ,$this->
object->getType());
2882 $hist_gui->setCommentVisibility($this->object->isActiveHistoryUserComments());
2884 $this->tpl->setContent($hist_gui->getHTML());
2899 require_once
'Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php';
2901 $actions->setSelectionHeaderClass(
'small');
2902 $actions->setItemLinkClass(
'xsmall');
2903 $actions->setListTitle($this->lng->txt(
'actions'));
2905 $this->ctrl->setParameterByClass(
'ilLMPageObjectGUI',
'obj_id', $row[
'page_id']);
2907 $this->lng->txt(
'edit'),
2909 $this->ctrl->getLinkTargetByClass(
'ilLMPageObjectGUI',
'edit')
2911 $this->ctrl->clearParametersByClass(
'ilLMPageObjectGUI');
2912 $row[
'action_html'] =
$actions->getHTML();
2926 require_once
'./Services/LinkChecker/classes/class.ilLinkCheckerTableGUI.php';
2931 include_once
"Services/Cron/classes/class.ilCronManager.php";
2934 include_once
'./Services/LinkChecker/classes/class.ilLinkCheckNotify.php';
2935 include_once
'Services/Form/classes/class.ilPropertyFormGUI.php';
2937 $chb =
new ilCheckboxInputGUI($this->lng->txt(
'link_check_message_a'),
'link_check_message');
2940 $chb->setOptionTitle($this->lng->txt(
'link_check_message_b'));
2942 $toolbar->addInputItem($chb);
2943 $toolbar->addFormButton($this->lng->txt(
'save'),
'saveLinkCheck');
2944 $toolbar->setFormAction($this->ctrl->getLinkTarget($this,
'saveLinkCheck'));
2948 $tgui->setLinkChecker($this->link_checker_obj)
2949 ->setRowHandler($this)
2950 ->setRefreshButton($this->lng->txt(
'refresh'),
'refreshLinkCheck');
2952 return $tpl->setContent($tgui->prepareHTML()->getHTML().$toolbar->getHTML());
2959 include_once
'./Services/LinkChecker/classes/class.ilLinkCheckNotify.php';
2962 $link_check_notify->setUserId($ilUser->getId());
2963 $link_check_notify->setObjId($this->object->getId());
2965 if(
$_POST[
'link_check_message'])
2968 $link_check_notify->addNotifier();
2973 $link_check_notify->deleteNotifier();
2986 if(!$this->link_checker_obj->checkPear())
2994 $this->link_checker_obj->checkLinks();
3006 include_once
'./Services/LinkChecker/classes/class.ilLinkChecker.php';
3009 $this->link_checker_obj->setObjId($this->object->getId());
3016 include_once
'./Modules/LearningModule/classes/class.ilLMMenuEditor.php';
3019 $this->lmme_obj->setObjId($this->object->getId());
3033 $ilTabs->setTabActive(
"settings");
3036 $ilToolbar->addButton($this->lng->txt(
"lm_menu_select_internal_object"),
3037 $ilCtrl->getLinkTarget($this,
"showEntrySelector"));
3040 $this->tpl->setContent($form->getHTML());
3052 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
3056 $ti =
new ilTextInputGUI($this->lng->txt(
"lm_menu_entry_title"),
"title");
3059 $form->addItem($ti);
3062 $ta =
new ilTextInputGUI($this->lng->txt(
"lm_menu_entry_target"),
"target");
3065 $form->addItem($ta);
3067 if ($a_mode ==
"edit")
3070 $this->lmme_obj->readEntry(
$_REQUEST[
"menu_entry"]);
3071 $ti->setValue($this->lmme_obj->getTitle());
3072 $ta->setValue($this->lmme_obj->getTarget());
3075 if (isset(
$_GET[
"link_ref_id"]))
3077 $link_ref_id = (int)
$_GET[
"link_ref_id"];
3082 $target_link = $obj_type.
"_".$link_ref_id;
3083 $ti->setValue($title);
3084 $ta->setValue($target_link);
3088 $hi->setValue($link_ref_id);
3089 $form->addItem($hi);
3094 if ($a_mode ==
"create")
3096 $form->addCommandButton(
"saveMenuEntry", $lng->txt(
"save"));
3097 $form->addCommandButton(
"editMenuProperties", $lng->txt(
"cancel"));
3098 $form->setTitle($lng->txt(
"lm_menu_new_entry"));
3102 $form->addCommandButton(
"updateMenuEntry", $lng->txt(
"save"));
3103 $form->addCommandButton(
"editMenuProperties", $lng->txt(
"cancel"));
3104 $form->setTitle($lng->txt(
"lm_menu_edit_entry"));
3107 $form->setFormAction($ilCtrl->getFormAction($this));
3120 if (empty(
$_POST[
"title"]))
3124 $ilCtrl->redirect($this,
"addMenuEntry");
3126 if (empty(
$_POST[
"target"]))
3130 $ilCtrl->redirect($this,
"addMenuEntry");
3134 $this->lmme_obj->setTitle(
$_POST[
"title"]);
3135 $this->lmme_obj->setTarget(
$_POST[
"target"]);
3136 $this->lmme_obj->setLinkRefId(
$_POST[
"link_ref_id"]);
3138 if (
$_POST[
"link_ref_id"])
3140 $this->lmme_obj->setLinkType(
"intern");
3143 $this->lmme_obj->create();
3146 $this->ctrl->redirect($this,
"editMenuProperties");
3154 if (empty(
$_GET[
"menu_entry"]))
3156 $this->
ilias->raiseError($this->lng->txt(
"no_menu_entry_id"),$this->
ilias->error_obj->MESSAGE);
3160 $this->lmme_obj->delete(
$_GET[
"menu_entry"]);
3163 $this->ctrl->redirect($this,
"editMenuProperties");
3173 if (empty(
$_GET[
"menu_entry"]))
3175 $this->
ilias->raiseError($this->lng->txt(
"no_menu_entry_id"),$this->
ilias->error_obj->MESSAGE);
3178 $ilCtrl->saveParameter($this, array(
"menu_entry"));
3179 $ilToolbar->addButton($this->lng->txt(
"lm_menu_select_internal_object"),
3180 $ilCtrl->getLinkTarget($this,
"showEntrySelector"));
3183 $this->tpl->setContent($form->getHTML());
3193 $this->
ilias->raiseError($this->lng->txt(
"no_menu_entry_id"),$this->
ilias->error_obj->MESSAGE);
3197 if (empty(
$_POST[
"title"]))
3199 $this->
ilias->raiseError($this->lng->txt(
"please_enter_title"),$this->
ilias->error_obj->MESSAGE);
3201 if (empty(
$_POST[
"target"]))
3203 $this->
ilias->raiseError($this->lng->txt(
"please_enter_target"),$this->
ilias->error_obj->MESSAGE);
3207 $this->lmme_obj->readEntry(
$_REQUEST[
"menu_entry"]);
3208 $this->lmme_obj->setTitle(
$_POST[
"title"]);
3209 $this->lmme_obj->setTarget(
$_POST[
"target"]);
3210 $this->lmme_obj->update();
3213 $this->ctrl->redirect($this,
"editMenuProperties");
3222 $ilTabs->setTabActive(
"settings");
3225 $ilCtrl->saveParameter($this, array(
"menu_entry"));
3227 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.lm_menu_object_selector.html",
"Modules/LearningModule");
3231 require_once (
"./Modules/LearningModule/classes/class.ilLMMenuObjectSelector.php");
3234 $exp->
setExpand(
$_GET[
"lm_menu_expand"] ?
$_GET[
"lm_menu_expand"] : $this->tree->readRootId());
3235 $exp->setExpandTarget($this->ctrl->getLinkTarget($this,
'showEntrySelector'));
3236 $exp->setTargetGet(
"ref_id");
3237 $exp->setRefId($this->cur_ref_id);
3239 $sel_types = array(
'mcst',
'mep',
'cat',
'lm',
'dbk',
'glo',
'frm',
'exc',
'tst',
'svy',
'chat',
'wiki',
'sahs',
3240 "crs",
"grp",
"book",
"tst",
"file");
3241 $exp->setSelectableTypes($sel_types);
3247 $output = $exp->getOutput();
3250 foreach ($exp->format_options as $node)
3252 if (!$node[
"container"])
3254 $pages[] = $node[
"child"];
3261 $this->tpl->setVariable(
"TXT_SET_PUBLIC_MODE", $this->lng->txt(
"set_public_mode"));
3262 $this->tpl->setVariable(
"TXT_CHOOSE_PUBLIC_MODE", $this->lng->txt(
"choose_public_mode"));
3263 $modes = array(
"complete" => $this->lng->txt(
"all_pages"),
"selected" => $this->lng->txt(
"selected_pages_only"));
3264 $select_public_mode =
ilUtil::formSelect ($this->object->getPublicAccessMode(),
"lm_public_mode",$modes,
false,
true);
3265 $this->tpl->setVariable(
"SELECT_PUBLIC_MODE", $select_public_mode);
3267 $this->tpl->setVariable(
"TXT_EXPLORER_HEADER", $this->lng->txt(
"choose_public_pages"));
3268 $this->tpl->setVariable(
"EXP_REFRESH", $this->lng->txt(
"refresh"));
3269 $this->tpl->setVariable(
"EXPLORER",$output);
3270 $this->tpl->setVariable(
"ONCLICK",$js_pages);
3271 $this->tpl->setVariable(
"TXT_CHECKALL", $this->lng->txt(
"check_all"));
3272 $this->tpl->setVariable(
"TXT_UNCHECKALL", $this->lng->txt(
"uncheck_all"));
3273 $this->tpl->setVariable(
"TXT_SAVE", $this->lng->txt(
"save"));
3274 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getLinkTarget($this,
"savePublicSection"));
3285 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->
ilias->error_obj->MESSAGE);
3287 if(count(
$_POST[
"id"]) > 1)
3289 $this->
ilias->raiseError($this->lng->txt(
"cont_select_max_one_item"),$this->
ilias->error_obj->MESSAGE);
3291 if (
$_POST[
"id"][0] != $this->object->getHeaderPage())
3293 $this->
object->setHeaderPage(
$_POST[
"id"][0]);
3297 $this->
object->setHeaderPage(0);
3299 $this->
object->updateProperties();
3300 $this->ctrl->redirect($this,
"pages");
3310 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->
ilias->error_obj->MESSAGE);
3312 if(count(
$_POST[
"id"]) > 1)
3314 $this->
ilias->raiseError($this->lng->txt(
"cont_select_max_one_item"),$this->
ilias->error_obj->MESSAGE);
3316 if (
$_POST[
"id"][0] != $this->object->getFooterPage())
3318 $this->
object->setFooterPage(
$_POST[
"id"][0]);
3322 $this->
object->setFooterPage(0);
3324 $this->
object->updateProperties();
3325 $this->ctrl->redirect($this,
"pages");
3337 $ilCtrl->redirect($this,
"chapters");
3347 include_once(
"./Modules/LearningModule/classes/class.ilChapterHierarchyFormGUI.php");
3354 $parent_id = $this->lm_tree->getParentId($node_id);
3359 $parent_id = $node_id;
3363 for ($i = 1; $i <= $num; $i++)
3366 $chap->setType(
"st");
3367 $chap->setTitle($lng->txt(
"cont_new_chap"));
3368 $chap->setLMId($this->object->getId());
3373 $ilCtrl->redirect($this,
"chapters");
3383 include_once(
"./Modules/LearningModule/classes/class.ilChapterHierarchyFormGUI.php");
3388 $ilLog->write(
"InsertChapterClip, num: $num, node_id: $node_id, ".
3393 $parent_id = $this->lm_tree->getParentId($node_id);
3398 $parent_id = $node_id;
3403 $chapters = $ilUser->getClipboardObjects(
"st",
true);
3404 $copied_nodes = array();
3405 foreach ($chapters as $chap)
3407 $ilLog->write(
"Call pasteTree, Target LM: ".$this->object->getId().
", Chapter ID: ".$chap[
"id"]
3408 .
", Parent ID: ".$parent_id.
", Target: ".$target);
3410 $target, $chap[
"insert_time"], $copied_nodes,
3418 $ilUser->clipboardDeleteObjectsOfType(
"pg");
3419 $ilUser->clipboardDeleteObjectsOfType(
"st");
3423 $this->
object->checkTree();
3424 $ilCtrl->redirect($this,
"chapters");
3436 if ($ilAccess->checkAccess(
"read",
"", $a_target))
3438 $_GET[
"baseClass"] =
"ilLMPresentationGUI";
3439 $_GET[
"ref_id"] = $a_target;
3440 include(
"ilias.php");
3442 }
else if ($ilAccess->checkAccess(
"visible",
"", $a_target))
3444 $_GET[
"baseClass"] =
"ilLMPresentationGUI";
3445 $_GET[
"ref_id"] = $a_target;
3446 $_GET[
"cmd"] =
"infoScreen";
3447 include(
"ilias.php");
3450 else if ($ilAccess->checkAccess(
"read",
"", ROOT_FOLDER_ID))
3458 $ilErr->raiseError($lng->txt(
"msg_no_perm_read_lm"), $ilErr->FATAL);
3469 if (!is_array($items))
3472 $ilCtrl->redirect($this, $a_return);
3476 foreach($items as $k => $item)
3483 foreach($todel as $k)
3491 $ilCtrl->redirect($this, $a_return);
3502 if (!is_array($items))
3505 $ilCtrl->redirect($this,
"chapters");
3509 foreach($items as $k => $item)
3516 foreach($todel as $k)
3523 $ilCtrl->redirect($this,
"chapters");
3554 $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
3555 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
3556 $lm_tree = $this->
object->getTree();
3557 $childs = $lm_tree->getChilds($lm_tree->readRootId());
3558 $options = array(
"" => $lng->txt(
"all"));
3559 foreach ($childs as $c)
3561 $options[$c[
"child"]] = $c[
"title"];
3566 $ilToolbar->addInputItem(
$si,
true);
3567 $ilToolbar->addFormButton($lng->txt(
"help_filter"),
"filterHelpChapters");
3569 include_once(
"./Modules/LearningModule/classes/class.ilHelpMappingTableGUI.php");
3574 include_once(
"./Modules/LearningModule/classes/class.ilExportIDTableGUI.php");
3578 $tpl->setContent($tbl->getHTML());
3592 $ilCtrl->redirect($this,
"showExportIDsOverview");
3605 if (is_array(
$_POST[
"exportid"]))
3607 foreach (
$_POST[
"exportid"] as $pg_id => $exp_id)
3609 if ($exp_id !=
"" && !preg_match(
"/^([a-zA-Z]+)[0-9a-zA-Z_]*$/",
3619 $lng->txt(
"cont_exp_ids_not_resp_format3").
" ".
3620 $lng->txt(
"cont_exp_ids_not_resp_format2"));
3626 if (is_array(
$_POST[
"exportid"]))
3628 foreach (
$_POST[
"exportid"] as $pg_id => $exp_id)
3636 $ilCtrl->redirect($this,
"showExportIdsOverview");
3649 include_once(
"./Services/Help/classes/class.ilHelpMapping.php");
3650 if (is_array(
$_POST[
"screen_ids"]))
3652 foreach (
$_POST[
"screen_ids"] as $chap => $ids)
3654 $ids = explode(
"\n", $ids);
3659 $ilCtrl->redirect($this,
"showExportIdsOverview");
3679 $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
3680 include_once(
"./Services/Form/classes/class.ilTextInputGUI.php");
3681 $ti =
new ilTextInputGUI($this->lng->txt(
"help_tooltip_id"),
"tooltip_id");
3684 $ilToolbar->addInputItem($ti,
true);
3685 $ilToolbar->addFormButton($lng->txt(
"add"),
"addTooltip");
3686 $ilToolbar->addSeparator();
3688 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
3697 $ilToolbar->addInputItem(
$si,
true);
3698 $ilToolbar->addFormButton($lng->txt(
"help_filter"),
"filterTooltips");
3700 include_once(
"./Modules/LearningModule/classes/class.ilHelpTooltipTableGUI.php");
3703 $tpl->setContent($tbl->getHTML());
3717 if (trim($tt_id) !=
"")
3719 if (is_int(strpos($tt_id,
"_")))
3721 include_once(
"./Services/Help/classes/class.ilHelp.php");
3725 $fu = strpos($tt_id,
"_");
3726 $comp = substr($tt_id, 0, $fu);
3734 $ilCtrl->redirect($this,
"showTooltipList");
3748 $ilCtrl->redirect($this,
"showTooltipList");
3762 include_once(
"./Services/Help/classes/class.ilHelp.php");
3764 if (is_array(
$_POST[
"text"]))
3766 foreach (
$_POST[
"text"] as $id => $text)
3773 $ilCtrl->redirect($this,
"showTooltipList");
3783 if (is_array(
$_POST[
"id"]))
3785 include_once(
"./Services/Help/classes/class.ilHelp.php");
3786 foreach (
$_POST[
"id"] as $id)
3792 $ilCtrl->redirect($this,
"showTooltipList");
3834 if ($a_def_option !=
"")
3840 $layout->addOption(
new ilRadioOption(
"<table><tr><td>".$im_tag.
"</td><td><b>".
3841 $lng->txt(
"cont_lm_default_layout").
3842 "</b>: ".$lng->txt(
"cont_layout_".$a_def_option).
3843 "</td></tr></table>",
""));
3852 $layout->addOption(
new ilRadioOption(
"<table><tr><td style='padding: 0px 5px 5px;'>".
3853 $im_tag.
"</td><td style='padding:5px;'><b>".$lng->txt(
"cont_layout_".$l).
"</b>: ".
3854 $lng->txt(
"cont_layout_".$l.
"_desc").
"</td></tr></table>", $l));
3866 $ilCtrl->setParameter($this,
"hierarchy",
"1");
3878 if (!is_array(
$_POST[
"id"]))
3882 if ($a_in_hierarchy)
3884 $ilCtrl->redirect($this,
"chapters");
3888 $ilCtrl->redirect($this,
"pages");
3894 $tpl->setContent($this->form->getHTML());
3904 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
3907 if (is_array(
$_POST[
"id"]))
3909 foreach (
$_POST[
"id"] as $id)
3913 $this->form->addItem($hi);
3916 $layout = self::getLayoutOption($lng->txt(
"cont_layout"),
"layout",
3917 $this->
object->getLayout());
3918 $this->form->addItem($layout);
3920 $this->form->addCommandButton(
"savePageLayout", $lng->txt(
"save"));
3921 $this->form->addCommandButton(
"pages", $lng->txt(
"cancel"));
3923 $this->form->setTitle($lng->txt(
"cont_set_layout"));
3924 $this->form->setFormAction($ilCtrl->getFormAction($this));
3935 $ilCtrl->setParameter($this,
"hierarchy",
$_GET[
"hierarchy"]);
3937 foreach (
$_POST[
"id"] as $id)
3945 if (
$_GET[
"hierarchy"] == 1)
3947 $ilCtrl->redirect($this,
"chapters");
3951 $ilCtrl->redirect($this,
"pages");
3970 $ilTabs->setTabActive(
"settings");
3973 $ilToolbar->addButton($lng->txt(
"add"),
3974 $ilCtrl->getLinkTarget($this,
"showLMGlossarySelector"));
3976 include_once(
"./Modules/LearningModule/classes/class.ilLMGlossaryTableGUI.php");
3979 $tpl->setContent(
$tab->getHTML());
3993 $ilTabs->setTabActive(
"settings");
3996 include_once
'Services/Search/classes/class.ilSearchRootSelector.php';
3999 $exp->
setExpand(
$_GET[
"search_root_expand"] ?
$_GET[
"search_root_expand"] : $tree->readRootId());
4000 $exp->setExpandTarget($ilCtrl->getLinkTarget($this,
'showLMGlossarySelector'));
4001 $exp->setTargetClass(get_class($this));
4002 $exp->setCmd(
'confirmGlossarySelection');
4003 $exp->setClickableTypes(array(
"glo"));
4004 $exp->addFilter(
"glo");
4008 $tpl->setContent($exp->getOutput());
4019 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
4021 $ilCtrl->setParameter($this,
"glo_ref_id",
$_GET[
"root_id"]);
4022 $cgui->setFormAction($ilCtrl->getFormAction($this));
4023 $cgui->setHeaderText($lng->txt(
"cont_link_glo_in_lm"));
4024 $cgui->setCancel($lng->txt(
"no"),
"selectLMGlossary");
4025 $cgui->setConfirm($lng->txt(
"yes"),
"selectLMGlossaryLink");
4026 $tpl->setContent($cgui->getHTML());
4037 $glo_ref_id = (int)
$_GET[
"glo_ref_id"];
4039 $this->
object->autoLinkGlossaryTerms($glo_id);
4054 $glos = $this->
object->getAutoGlossaries();
4055 $glo_ref_id = (int)
$_GET[
"glo_ref_id"];
4057 if (!in_array($glo_id, $glos))
4061 $this->
object->setAutoGlossaries($glos);
4062 $this->
object->update();
4065 $ilCtrl->redirect($this,
"editGlossaries");
4078 $this->
object->removeAutoGlossary((
int)
$_GET[
"glo_id"]);
4079 $this->
object->update();
4082 $ilCtrl->redirect($this,
"editGlossaries");
4095 $ilCtrl->setParameter($this,
"transl",
"");
4096 $ilCtrl->redirect($this,
"chapters");
4109 $ilCtrl->setParameter($this,
"transl",
$_GET[
"totransl"]);
4110 $ilCtrl->redirect($this,
"chapters");
4116 return parent::redrawHeaderActionObject();
listBlockedUsers()
List blocked users.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
cutItems($a_return="chapters")
Copy items to clipboard, then cut them from the current tree.
saveBibItem()
save bib item (module call)
resetNumberOfTries()
Reset number of tries.
exportSCORM()
create scorm package
unlockQuestion()
Unlock blocked question.
addTabs($a_act="")
Adds tabs.
static resetTries($a_q_id, $a_user_id)
Reset tries.
This class represents an option in a radio group.
moveChapter($a_parent_subobj_id=0)
move a single chapter (selection)
deleteBibItemObject($a_target="")
delete bib item (admin call)
static updateInternalLinks($a_copied_nodes, $a_parent_type="lm")
Update internal links, after multiple pages have been copied.
sendMailToBlockedUsers()
Send Mail to blocked users.
static hasNotification($type, $user_id, $id)
Check notification status for object and user.
editMasterLanguage()
Edit master language.
static saveExportId($a_lm_id, $a_lmobj_id, $a_exp_id, $a_type="pg")
Save export id.
pasteChapter($a_parent_subobj_id=0)
paste chapter
Class ilObjLearningModule.
static _lookupType($a_obj_id, $a_lm_id=0)
Lookup type.
initMenuForm()
Init menu form.
setSubTabs($a_active)
Set sub tabs.
saveExportIds()
Save export IDs.
setPageLayoutInHierarchy()
Set layout for multipl pages.
setValue($a_value)
Set Value.
showActions($a_actions)
show possible action (form buttons)
exportHTML()
create html package
static getMultiLangHeader($a_lm_id, $a_gui_class)
Get multi lang header.
selectLMGlossary()
Select lm glossary.
initMenuEntryForm($a_mode="edit")
Init menu entry form.
GUI class for the workflow of copying objects.
initStylePropertiesForm()
Init style properties form.
const TYPE_LM_BLOCKED_USERS
setTabs($a_act="")
output tabs
initImportForm()
Init import form.
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
getInstance(&$a_content_obj, $a_id=0, $a_halt=true)
showMaintenance()
Show maintenance.
static getImageTagByType($a_type, $a_path, $a_big=false)
Builds an html image tag TODO: function still in use, but in future use getImagePath and move HTML-Co...
static saveTitles($a_lm, $a_titles, $a_lang="-")
Save titles for lm objects.
updateMenuEntry()
update a menu entry
addBibItemObject($a_target="")
add bib item (admin call)
Class ilObject Basic functions for all objects.
savePageLayout()
Save page layout.
listLinks()
List all broken links.
activatePages()
activates or deactivates pages
setReturnLocation($a_cmd, $a_location)
set specific return location for command
saveTooltips()
Save tooltips.
static _requiresPurchaseToAccess($a_ref_id, $a_purchasetype='')
this function should be used by all buyable repository objects !!
addObserver(&$a_class, $a_method, $a_element)
static get($a_var)
Get a value.
const LP_MODE_COLLECTION_MANUAL
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
Class ilStructureObjectGUI.
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.
setFormAction($a_cmd, $a_formaction)
set specific form action for command
static getLayoutOption($a_txt, $a_var, $a_def_option="")
Save help mapping.
static set($a_var, $a_val)
Set a value.
popup()
popup window for wysiwyg editor
showExportIDsOverview($a_validation=false)
Show export IDs overview.
static _lookupTitle($a_id)
lookup object title
setQuestionsSubTabs($a_active)
Set pages tabs.
Export class for content objects.
class for checking external links in page objects Normally used in Cron jobs, but should be extensibl...
static writeLayout($a_obj_id, $a_layout, $a_lm=null)
Write layout setting.
const LP_MODE_COLLECTION_TLT
editMenuProperties()
Edit menu properies.
viewObject()
list childs of current object
createObject()
create new object form
createPDF()
export content object
getAvailableLayouts()
get all available lm layouts
class for checking external links in page objects.
static _lookupTitle($a_obj_id)
Lookup title.
saveMenuProperties()
save properties
saveAllTitles()
Save all titles of chapters/pages.
formatInvalidLinkArray(Array $row)
saveStyleSettings()
Save style settings.
getPropertiesFormValues()
Get values for properties form.
storeContentObject($a_type, $a_id, $a_action="cut")
view()
view content object
addBibItem()
add bib item (module call)
Class ilECSLearningModuleSettings.
static _lookupObjectId($a_ref_id)
lookup object id
fixTreeConfirm()
confirm screen for tree fixing
static getTooltipComponents($a_module_id=0)
Get all tooltip components.
class ilLinkCheckerTableGUI
proceedDragDrop()
proceed drag and drop operations on pages/chapters
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
downloadPDFFile()
download export file
getPublicAccessColValue($a_type, $a_file)
Get public access value for export table.
owner()
show owner of content object
clipboardCut($a_cont_obj_id, $a_ids)
Copy a set of chapters/pages into the clipboard.
Export User Interface Class.
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
selectFooter()
select page as footer
saveProperties()
save properties
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
saveHelpMapping()
Save help mapping.
addLocations($a_omit_obj_id=false)
display locator
static appendUrlParameterString($a_url, $a_par, $xml_style=false)
append URL parameter string ("par1=value1&par2=value2...") to given URL string
afterSave(ilObject $a_new_object)
_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.
deleteBibItem()
delete bib item (module call)
exportObject()
export object
TableGUI class for (broken) links in learning module.
if(!is_array($argv)) $options
saveScreenIdsForChapter($a_chap, $a_ids)
Save screen ids for chapter.
static clipboardCopy($a_cont_obj_id, $a_ids)
Copy a set of chapters/pages into the clipboard.
static _lookupActive($a_id, $a_parent_type, $a_check_scheduled_activation=false, $a_lang="-")
lookup activation status
deleteTooltips()
Delete tooltips.
properties()
edit properties form
_writeActive($a_id, $a_parent_type, $a_active, $a_reset_scheduled_activation=true, $a_lang="-")
write activation status
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
copyItems()
Copy items to clipboard.
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.
savePublicSectionAccess()
Saves lm access mode.
selectHeader()
select page as header
importObject()
display dialogue for importing XML-LeaningObjects
Class ilObjectGUI Basic methods of all Output classes.
static _lookupObjId($a_id)
addMenuEntry()
display add menu entry form
special template class to simplify handling of ITX/PEAR
omitLocator($a_omit=true)
deleteMenuEntry()
drop a menu entry
selectLMGlossaryLink()
Select a glossary and link all its terms.
static putInTree($a_obj, $a_parent_id="", $a_target_node_id="")
put this object into content object tree
static setNotification($type, $user_id, $id, $status=true)
Set notification status for object and user.
_lookupContObjID($a_id)
get learning module / digibook id for lm object
TableGUI class for glossary tables.
This class represents a text property in a property form.
permSave()
save permissions
insertChapterClip()
Insert Chapter from clipboard.
saveMenuEntry()
save new menu entry
copyChapter($a_parent_subobj_id=0)
copy a single chapter (selection)
& executeCommand()
execute command
Page multilinguality GUI class.
_getStandardStyles($a_exclude_default_style=false, $a_include_deactivated=false, $a_scope=0)
Get standard styles.
static getPluginObject($a_ctype, $a_cname, $a_slot_id, $a_pname)
Get Plugin Object.
redirection script todo: (a better solution should control the processing via a xml file) ...
setPageLayout($a_in_hierarchy=false)
Set layout for multipl pages.
_lookupLogin($a_user_id)
lookup login
interface ilLinkCheckerGUIRowHandling
setMaxLength($a_maxlength)
Set Max Length.
publishExportFile($a_files)
download export file
setTableNames($a_table_tree, $a_table_obj_data, $a_table_obj_reference="")
set table names The primary key of the table containing your object_data must be 'obj_id' You may use...
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static deliverFile($a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
ilObjContentObjectGUI($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=false)
Constructor.
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
prepareOutput()
prepare output
static _lookupType($a_id, $a_reference=false)
lookup object type
explorer()
output explorer tree
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
cancelDelete()
cancel delete
static stripSlashesArray($a_arr, $a_strip_html=true, $a_allow="")
Strip slashes from array.
static isOnlineHelpModule($a_id, $a_as_obj_id=false)
Is module an online module.
User interface class for advanced drop-down selection lists.
Copyright (c) 1998-2014 ILIAS open source, Extended GPL, see docs/LICENSE Date: 24.10.14 Time: 10:35.
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...
_lookupStandard($a_id)
Lookup standard flag.
confirmedDelete($a_parent_subobj_id=0)
delete page object or structure objects
setContentSubTabs($a_active)
Set pages tabs.
static img($a_src, $a_alt="", $a_width="", $a_height="", $a_border=0, $a_id="", $a_class="")
Build img tag.
editMenuEntry()
edit menu entry form
This class represents a non editable value in a property form.
saveBibItemObject($a_target="")
save bib item (admin call)
Class ilObjStyleSheetGUI.
confirmGlossarySelection()
Confirm glossary selection.
static unlock($a_q_id, $a_user_id)
Reset tries.
_writePublicAccessStatus($a_pages, $a_cont_obj_id)
update public access flags in lm_data for all pages of a content object
filterTooltips()
Filter tooltips.
const LP_CONTEXT_REPOSITORY
This class represents a text area property in a property form.
static getInstance($a_obj_id)
Get instance.
deleteStyle()
Delete Style.
getBlockedUsersMailSignature()
Get mail signature for blocked users.
initPropertiesForm()
Init properties form.
Class ilObjContentObjectGUI.
getCreationMode()
get creation mode
getRefId()
get reference id public
getContextPath($a_endnode_id, $a_startnode_id=1)
get context path in content object tree
static _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...
editBibItemObject($a_target="")
edit bib items (admin call)
static deleteTooltip($a_id)
Delete tooltip.
savePublicSectionPages()
Saves public lm pages.
_getNotifyStatus($a_usr_id, $a_obj_id)
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
export()
export content object
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
setTabs()
set admin tabs public
editGlossaries()
Edit automatically linked glossaries.
initSetPageLayoutForm()
Init set page layout form.
Class ilObjContentObject.
switchToLanguage()
Switch to language.
importFileObject()
display status information or report errors messages in case of error
update()
update object in db
editStyleProperties()
Edit style properties.
static isJobActive($a_job_id)
Check if given job is currently active.
showLMGlossarySelector()
Select LM Glossary.
static updateTooltip($a_id, $a_text, $a_tt_id)
Update tooltip.
static redirect($a_script)
http redirect to other script
cutChapter()
Cut chapter(s)
static getInstance($a_obj_id)
filterHelpChapters()
Filter help chapters.
addHeaderAction()
Add header action menu.
Class ilObjUserTrackingGUI.
showTooltipList()
Show export IDs overview.
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
removeLMGlossary()
Remove lm glossary.
setExpand($a_node_id)
set the expand option this value is stored in a SESSION variable to save it different view (lo view...
static addTooltip($a_tt_id, $a_text, $a_module_id=0)
Add tooltip.
GUI class for object translation handling.
TableGUI class for all pages of a learning module.
Confirmation screen class.
insertChapter()
Insert (multiple) chapters at node.
createStyle()
Create Style.
listQuestions()
List questions.
tree explorer lm public area
editBibItem()
edit bib items (module call)
static _goto($a_target)
redirect script