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';
30 function __construct($a_data,$a_id = 0,$a_call_by_reference =
true, $a_prepare_output =
false)
35 $lng->loadLanguageModule(
"content");
36 $lng->loadLanguageModule(
"obj");
37 parent::__construct($a_data,$a_id,$a_call_by_reference,
false);
47 if ($this->ctrl->getRedirectSource() ==
"ilinternallinkgui")
53 if ($this->ctrl->getCmdClass() ==
"ilinternallinkgui")
55 $this->ctrl->setReturn($this,
"explorer");
59 $next_class = $this->ctrl->getNextClass($this);
63 if (
$_GET[
"to_props"] == 1)
65 $cmd = $this->ctrl->getCmd(
"properties");
69 $cmd = $this->ctrl->getCmd(
"chapters");
76 case "illearningprogressgui":
79 include_once
'./Services/Tracking/classes/class.ilLearningProgressGUI.php';
80 $this->
setTabs(
"learning_progress");
83 $this->ctrl->forwardCommand($new_gui);
87 case 'ilobjectmetadatagui':
88 if(!$ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
90 $ilErr->raiseError($this->lng->txt(
'permission_denied'),
$ilErr->WARNING);
97 include_once
'Services/Object/classes/class.ilObjectMetaDataGUI.php';
99 $md_gui->addMDObserver($this->
object,
'MDUpdateListener',
'Educational');
100 $md_gui->addMDObserver($this->
object,
'MDUpdateListener',
'General');
101 $this->ctrl->forwardCommand($md_gui);
104 case "ilobjstylesheetgui":
106 include_once (
"./Services/Style/Content/classes/class.ilObjStyleSheetGUI.php");
107 $this->ctrl->setReturn($this,
"editStyleProperties");
108 $style_gui =
new ilObjStyleSheetGUI(
"", $this->object->getStyleSheetId(),
false,
false);
109 $style_gui->omitLocator();
110 if (
$cmd ==
"create" ||
$_GET[
"new_type"]==
"sty")
112 $style_gui->setCreationMode(
true);
114 $ret = $this->ctrl->forwardCommand($style_gui);
117 if (
$cmd ==
"save" ||
$cmd ==
"copyStyle" ||
$cmd ==
"importStyle")
120 $this->
object->setStyleSheetId($style_id);
121 $this->
object->update();
122 $this->ctrl->redirectByClass(
"ilobjstylesheetgui",
"edit");
126 case "illmpageobjectgui":
128 $ilTabs->setBackTarget(
$lng->txt(
"learning module"),
129 $ilCtrl->getLinkTarget($this,
"chapters"));
130 $this->ctrl->saveParameter($this, array(
"obj_id"));
132 $this->ctrl->setReturn($this,
"chapters");
137 if (
$_GET[
"obj_id"] !=
"")
140 $pg_gui->setLMPageObject($obj);
143 $ret = $this->ctrl->forwardCommand($pg_gui);
144 if (
$cmd ==
"save" ||
$cmd ==
"cancel")
150 case "ilstructureobjectgui":
151 $ilTabs->setBackTarget(
$lng->txt(
"learning module"),
152 $ilCtrl->getLinkTarget($this,
"chapters"));
154 $this->ctrl->saveParameter($this, array(
"obj_id"));
156 $this->ctrl->setReturn($this,
"chapters");
158 if (
$_GET[
"obj_id"] !=
"")
161 $st_gui->setStructureObject($obj);
164 $ret = $this->ctrl->forwardCommand($st_gui);
165 if (
$cmd ==
"save" ||
$cmd ==
"cancel")
167 if (
$_GET[
"obj_id"] ==
"")
169 $this->ctrl->redirect($this,
"chapters");
173 $this->ctrl->setCmd(
"subchap");
179 case 'ilpermissiongui':
180 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui")
190 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
192 $ret = $this->ctrl->forwardCommand($perm_gui);
196 case 'ilinfoscreengui':
200 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
202 $info->enablePrivateNotes();
203 $info->enableLearningProgress();
206 if ($ilAccess->checkAccess(
"write",
"",
$_GET[
"ref_id"]))
208 $info->enableNewsEditing();
209 $info->setBlockProperty(
"news",
"settings",
true);
213 $info->addMetaDataSections($this->object->getId(), 0,
214 $this->object->getType());
216 $ret = $this->ctrl->forwardCommand(
$info);
224 include_once(
"./Services/Export/classes/class.ilExportGUI.php");
228 $exp_gui->addFormat(
"xml");
229 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
231 if ($ot->getContentActivated())
233 $exp_gui->addFormat(
"xml_master",
"XML (".
$lng->txt(
"cont_master_language_only").
")", $this,
"export");
235 $lng->loadLanguageModule(
"meta");
236 $langs = $ot->getLanguages();
237 foreach ($langs as
$l => $ldata)
239 $exp_gui->addFormat(
"html_".
$l,
"HTML (".
$lng->txt(
"meta_l_".$l).
")", $this,
"exportHTML");
241 $exp_gui->addFormat(
"html_all",
"HTML (".
$lng->txt(
"cont_all_languages").
")", $this,
"exportHTML");
245 $exp_gui->addFormat(
"html",
"", $this,
"exportHTML");
248 $exp_gui->addFormat(
"scorm",
"", $this,
"exportSCORM");
249 $exp_gui->addCustomColumn(
$lng->txt(
"cont_public_access"),
250 $this,
"getPublicAccessColValue");
251 $exp_gui->addCustomMultiCommand(
$lng->txt(
"cont_public_access"),
252 $this,
"publishExportFile");
253 $ret = $this->ctrl->forwardCommand($exp_gui);
256 case 'ilobjecttranslationgui':
264 include_once(
"./Services/Object/classes/class.ilObjectTranslationGUI.php");
266 $transgui->setTitleDescrOnlyMode(
false);
267 $this->ctrl->forwardCommand($transgui);
271 case "ilcommonactiondispatchergui":
272 include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
274 $this->ctrl->forwardCommand($gui);
277 case 'ilobjectcopygui':
279 include_once
'./Services/Object/classes/class.ilObjectCopyGUI.php';
282 $this->ctrl->forwardCommand($cp);
296 case "illmmultisrtuploadgui":
301 include_once(
"./Modules/LearningModule/classes/class.ilLMMultiSrtUploadGUI.php");
303 $this->ctrl->forwardCommand($gui);
306 case "illmimportgui":
311 include_once(
"./Modules/LearningModule/classes/class.ilLMImportGUI.php");
313 $this->ctrl->forwardCommand($gui);
317 $new_type =
$_POST[
"new_type"]
322 if (
$cmd ==
"create" &&
323 !in_array($new_type, array(
"lm")))
330 $this->ctrl->setCmdClass(
"ilLMPageObjectGUI");
336 $this->ctrl->setCmdClass(
"ilStructureObjectGUI");
345 in_array($new_type, array(
"lm")))
369 return array(
"ilLMPageObjectGUI",
"ilStructureObjectGUI",
"ilObjStyleSheetGUI");
379 $lng->loadLanguageModule(
"style");
387 if($this->object->getType() ==
"lm")
390 include_once
'Modules/LearningModule/classes/class.ilECSLearningModuleSettings.php';
392 $ecs->addSettingsToForm($this->form,
'lm');
395 $this->tpl->setContent($this->form->getHTML());
405 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
413 $ti->setRequired(
true);
414 $this->form->addItem($ti);
421 $this->form->addItem($ta);
423 $lng->loadLanguageModule(
"rep");
425 $section->setTitle($this->lng->txt(
'rep_activation_availability'));
430 $this->form->addItem($online);
434 $section->setTitle($this->lng->txt(
'cont_presentation'));
443 $lpp->setInfo($this->lng->txt(
"cont_layout_per_page_info"));
444 $this->form->addItem($lpp);
448 $option = array (
"st_title" => $this->lng->txt(
"cont_st_title"),
449 "pg_title" => $this->lng->txt(
"cont_pg_title"),
450 "none" => $this->lng->txt(
"cont_none"));
451 $page_header->setOptions($option);
452 $this->form->addItem($page_header);
456 $this->form->addItem($chap_num);
460 $option = array (
"chapters" => $this->lng->txt(
"cont_chapters_only"),
461 "pages" => $this->lng->txt(
"cont_chapters_and_pages"));
462 $toc_mode->setOptions($option);
463 $this->form->addItem($toc_mode);
473 $progr_icons->setInfo($this->lng->txt(
"cont_progress_icons_info"));
474 $this->form->addItem($progr_icons);
478 $section->setTitle($this->lng->txt(
'cont_self_assessment'));
484 $op1 =
new ilRadioOption(
$lng->txt(
"cont_tries_reset_on_visit"), 0,
$lng->txt(
"cont_tries_reset_on_visit_info"));
485 $radg->addOption($op1);
487 $radg->addOption($op2);
488 $this->form->addItem($radg);
492 $qfeed->setInfo($this->lng->txt(
"cont_restrict_forw_nav_info"));
493 $this->form->addItem($qfeed);
497 $not->setInfo($this->lng->txt(
"cont_notify_on_blocked_users_info"));
498 $qfeed->addSubItem($not);
502 $qfeed->setInfo($this->lng->txt(
"cont_disable_def_feedback_info"));
503 $this->form->addItem($qfeed);
507 $section->setTitle($this->lng->txt(
'obj_features'));
511 if (!$this->
ilias->getSetting(
'disable_comments'))
513 $this->lng->loadLanguageModule(
"notes");
515 $pub_nodes->setInfo($this->lng->txt(
"cont_lm_comments_desc"));
516 $this->form->addItem($pub_nodes);
521 $com->setInfo($this->lng->txt(
"enable_hist_user_comments_desc"));
522 $this->form->addItem($com);
525 $this->lng->loadLanguageModule(
'rating');
527 $rate->setInfo($this->lng->txt(
'rating_activate_rating_info'));
528 $this->form->addItem($rate);
529 $ratep =
new ilCheckboxInputGUI($this->lng->txt(
'lm_activate_rating'),
'rating_pages');
530 $this->form->addItem($ratep);
532 $this->form->setTitle(
$lng->txt(
"cont_lm_properties"));
533 $this->form->addCommandButton(
"saveProperties",
$lng->txt(
"save"));
534 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
546 $title = $this->
object->getTitle();
547 $description = $this->
object->getDescription();
548 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
550 if ($ot->getContentActivated())
552 $title = $ot->getDefaultTitle();
553 $description = $ot->getDefaultDescription();
556 $values[
"title"] =
$title;
557 $values[
"description"] = $description;
558 if ($this->object->getOnline())
560 $values[
"cobj_online"] =
true;
562 $values[
"lm_layout"] = $this->
object->getLayout();
563 $values[
"lm_pg_header"] = $this->
object->getPageHeader();
564 if ($this->object->isActiveNumbering())
566 $values[
"cobj_act_number"] =
true;
568 $values[
"toc_mode"] = $this->
object->getTOCMode();
569 if ($this->object->publicNotes())
571 $values[
"cobj_pub_notes"] =
true;
573 if ($this->object->cleanFrames())
575 $values[
"cobj_clean_frames"] =
true;
577 if ($this->object->isActiveHistoryUserComments())
579 $values[
"cobj_user_comments"] =
true;
581 $values[
"layout_per_page"] = $this->
object->getLayoutPerPage();
582 $values[
"rating"] = $this->
object->hasRating();
583 $values[
"rating_pages"] = $this->
object->hasRatingPages();
584 $values[
"disable_def_feedback"] = $this->
object->getDisableDefaultFeedback();
585 $values[
"progr_icons"] = $this->
object->getProgressIcons();
586 $values[
"store_tries"] = $this->
object->getStoreTries();
587 $values[
"restrict_forw_nav"] = $this->
object->getRestrictForwardNavigation();
589 include_once
"./Services/Notification/classes/class.ilNotification.php";
592 $this->object->getId());
594 $this->form->setValuesByArray($values);
606 if ($this->form->checkInput())
608 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
610 if ($ot->getContentActivated())
612 $ot->setDefaultTitle(
$_POST[
'title']);
613 $ot->setDefaultDescription(
$_POST[
'description']);
617 $this->
object->setTitle(
$_POST[
'title']);
618 $this->
object->setDescription(
$_POST[
'description']);
619 $this->
object->setLayout(
$_POST[
"lm_layout"]);
620 $this->
object->setPageHeader(
$_POST[
"lm_pg_header"]);
621 $this->
object->setTOCMode(
$_POST[
"toc_mode"]);
622 $this->
object->setOnline(
$_POST[
"cobj_online"]);
623 $this->
object->setActiveNumbering(
$_POST[
"cobj_act_number"]);
624 $this->
object->setCleanFrames(
$_POST[
"cobj_clean_frames"]);
625 if (!$this->
ilias->getSetting(
'disable_comments'))
627 $this->
object->setPublicNotes(
$_POST[
"cobj_pub_notes"]);
629 $this->
object->setHistoryUserComments(
$_POST[
"cobj_user_comments"]);
630 $this->
object->setLayoutPerPage(
$_POST[
"layout_per_page"]);
631 $this->
object->setRating(
$_POST[
"rating"]);
632 $this->
object->setRatingPages(
$_POST[
"rating_pages"]);
633 $this->
object->setDisableDefaultFeedback((
int)
$_POST[
"disable_def_feedback"]);
634 $this->
object->setProgressIcons((
int) $_POST[
"progr_icons"]);
637 if (
$_POST[
"restrict_forw_nav"] && !
$_POST[
"store_tries"])
639 $_POST[
"store_tries"] = 1;
640 $add_info =
"</br>".$lng->txt(
"cont_automatically_set_store_tries");
641 $add_info = str_replace(
"$1",
$lng->txt(
"cont_tries_store"), $add_info);
642 $add_info = str_replace(
"$2",
$lng->txt(
"cont_restrict_forw_nav"), $add_info);
645 $this->
object->setStoreTries((
int) $_POST[
"store_tries"]);
646 $this->
object->setRestrictForwardNavigation((
int) $_POST[
"restrict_forw_nav"]);
647 $this->
object->updateProperties();
648 $this->
object->update();
650 include_once
"./Services/Notification/classes/class.ilNotification.php";
652 $ilUser->getId(), $this->object->getId(),
653 (
bool)$this->form->getInput(
"notification_blocked_users"));
656 if($this->object->getType() ==
'lm')
659 include_once
'Modules/LearningModule/classes/class.ilECSLearningModuleSettings.php';
661 if($ecs->handleSettingsUpdate())
675 $this->ctrl->redirect($this,
"properties");
679 $lng->loadLanguageModule(
"style");
683 $this->form->setValuesByPost();
684 $this->tpl->setContent($this->form->getHTML());
696 $tpl->setContent($this->form->getHTML());
706 $lng->loadLanguageModule(
"style");
708 $ilTabs->setTabActive(
"settings");
711 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
714 $fixed_style =
$ilSetting->get(
"fixed_content_style_id");
715 $style_id = $this->
object->getStyleSheetId();
717 if ($fixed_style > 0)
721 $this->lng->txt(
"global_fixed").
")");
722 $this->form->addItem($st);
729 $st_styles[0] = $this->lng->txt(
"default");
739 $this->form->addItem($st);
744 $this->form->addCommandButton(
"editStyle",
745 $lng->txt(
"cont_edit_style"));
746 $this->form->addCommandButton(
"deleteStyle",
747 $lng->txt(
"cont_delete_style"));
755 $st_styles,
false,
true);
757 $style_sel->setOptions($st_styles);
758 $style_sel->setValue($style_id);
759 $this->form->addItem($style_sel);
761 $this->form->addCommandButton(
"saveStyleSettings",
763 $this->form->addCommandButton(
"createStyle",
764 $lng->txt(
"sty_create_ind_style"));
767 $this->form->setTitle(
$lng->txt(
"cont_style"));
768 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
778 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"create");
788 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"edit");
798 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"delete");
808 if (
$ilSetting->get(
"fixed_content_style_id") <= 0 &&
810 || $this->object->getStyleSheetId() == 0))
813 $this->
object->update();
816 $this->ctrl->redirect($this,
"editStyleProperties");
826 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
831 $menu->setChecked($this->object->isActiveLMMenu());
832 $form->addItem($menu);
836 $toc->setChecked($this->object->isActiveTOC());
837 $form->addItem($toc);
840 $print =
new ilCheckboxInputGUI($this->lng->txt(
"cont_print_view"),
"cobj_act_print");
841 $print->setChecked($this->object->isActivePrintView());
842 $form->addItem($print);
845 $glo =
new ilCheckboxInputGUI($this->lng->txt(
"cont_print_view_pre_glo"),
"cobj_act_print_prev_glo");
846 $glo->setChecked($this->object->isActivePreventGlossaryAppendix());
847 $print->addSubItem($glo);
850 $hhfp =
new ilCheckboxInputGUI($this->lng->txt(
"cont_hide_head_foot_print"),
"hide_head_foot_print");
851 $hhfp->setChecked($this->object->getHideHeaderFooterPrint());
852 $print->addSubItem($hhfp);
855 $no_download_file_available =
856 " ".$lng->txt(
"cont_no_download_file_available").
857 " <a href='".$ilCtrl->getLinkTargetByClass(
"ilexportgui",
"").
"'>".
$lng->txt(
"change").
"</a>";
858 $types = array(
"xml",
"html",
"scorm");
859 foreach($types as $type)
861 if ($this->object->getPublicExportFile($type) !=
"")
863 if (is_file($this->object->getExportDirectory($type).
"/".
864 $this->object->getPublicExportFile($type)))
866 $no_download_file_available =
"";
870 $dl =
new ilCheckboxInputGUI($this->lng->txt(
"cont_downloads"),
"cobj_act_downloads");
871 $dl->setInfo($this->lng->txt(
"cont_downloads_desc").$no_download_file_available);
872 $dl->setChecked($this->object->isActiveDownloads());
876 $pdl =
new ilCheckboxInputGUI($this->lng->txt(
"cont_downloads_public_desc"),
"cobj_act_downloads_public");
877 $pdl->setChecked($this->object->isActiveDownloadsPublic());
878 $dl->addSubItem($pdl);
880 $form->addCommandButton(
"saveMenuProperties",
$lng->txt(
"save"));
882 $form->setTitle(
$lng->txt(
"cont_lm_menu"));
883 $form->setFormAction(
$ilCtrl->getFormAction($this));
895 $lng->loadLanguageModule(
"style");
897 $ilTabs->setTabActive(
"settings");
900 $ilToolbar->setFormAction(
$ilCtrl->getFormAction($this));
901 $ilToolbar->addFormButton($this->lng->txt(
"add_menu_entry"),
"addMenuEntry");
902 $ilToolbar->setCloseFormTag(
false);
905 $form->setOpenTag(
false);
906 $form->setCloseTag(
false);
909 $entries = $this->lmme_obj->getMenuEntries();
910 include_once(
"./Modules/LearningModule/classes/class.ilLMMenuItemsTableGUI.php");
912 $table->setOpenFormTag(
false);
914 $tpl->setContent($form->getHTML().
"<br />".$table->getHTML());
924 $this->
object->setActiveLMMenu((
int)
$_POST[
"cobj_act_lm_menu"]);
925 $this->
object->setActiveTOC((
int) $_POST[
"cobj_act_toc"]);
926 $this->
object->setActivePrintView((
int) $_POST[
"cobj_act_print"]);
927 $this->
object->setActivePreventGlossaryAppendix((
int) $_POST[
"cobj_act_print_prev_glo"]);
928 $this->
object->setHideHeaderFooterPrint((
int) $_POST[
"hide_head_foot_print"]);
929 $this->
object->setActiveDownloads((
int) $_POST[
"cobj_act_downloads"]);
930 $this->
object->setActiveDownloadsPublic((
int) $_POST[
"cobj_act_downloads_public"]);
931 $this->
object->updateProperties();
935 $this->lmme_obj->updateActiveStatus(
$_POST[
"menu_entries"]);
938 $this->ctrl->redirect($this,
"editMenuProperties");
948 $gui_class =
"ilobjlearningmodulegui";
950 $ilCtrl->setParameterByClass($gui_class,
"active_node",
$_GET[
"active_node"]);
952 $this->tpl =
new ilTemplate(
"tpl.main.html",
true,
true);
959 $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.explorer.html");
962 require_once (
"./Modules/LearningModule/classes/class.ilLMEditorExplorer.php");
963 $exp =
new ilLMEditorExplorer($this->ctrl->getLinkTarget($this,
"view"),
964 $this->object, $gui_class);
966 $exp->setTargetGet(
"obj_id");
967 $exp->setExpandTarget($this->ctrl->getLinkTarget($this,
"explorer"));
969 if (
$_GET[
"lmmovecopy"] ==
"1")
975 if (
$_GET[
"lmexpand"] ==
"")
977 $mtree =
new ilTree($this->object->getId());
978 $mtree->setTableNames(
'lm_tree',
'lm_data');
979 $mtree->setTreeTablePK(
"lm_id");
980 $expanded = $mtree->readRootId();
984 $expanded =
$_GET[
"lmexpand"];
986 if (
$_GET[
"active_node"] !=
"")
988 $path = $this->lm_tree->getPathId(
$_GET[
"active_node"]);
989 $exp->setForceOpenPath(
$path);
991 $exp->highlightNode(
$_GET[
"active_node"]);
993 $exp->setExpand($expanded);
1005 include_once(
"./Services/COPage/classes/class.ilPageEditorGUI.php");
1024 $this->tpl->setCurrentBlock(
"content");
1025 $this->tpl->setVariable(
"TXT_EXPLORER_HEADER", $this->lng->txt(
"cont_chap_and_pages"));
1026 $this->tpl->setVariable(
"EXP_REFRESH", $this->lng->txt(
"refresh"));
1027 $this->tpl->setVariable(
"EXPLORER",
$output);
1028 $this->ctrl->setParameter($this,
"lmexpand",
$_GET[
"lmexpand"]);
1029 $this->tpl->setVariable(
"ACTION", $this->ctrl->getLinkTarget($this,
"explorer"));
1030 $this->tpl->parseCurrentBlock();
1031 $this->tpl->show(
false);
1040 include_once
"./Services/COPage/classes/class.ilWysiwygUtil.php";
1041 $popup =
new ilWysiwygUtil();
1042 $popup->show(
$_GET[
"ptype"]);
1053 $this->
object->executeDragDrop(
$_POST[
"il_hform_source_id"],
$_POST[
"il_hform_target_id"],
1055 $ilCtrl->redirect($this,
"chapters");
1068 $a_new_object->setCleanFrames(
true);
1072 $a_new_object->createLMTree();
1075 $a_new_object->addFirstChapterAndPage();
1080 "&baseClass=ilLMEditorGUI");
1090 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
1094 $this->ctrl->setParameter($this,
"new_type", $new_type);
1097 $form->setTableWidth(
"600px");
1102 $fi->setSuffixes(array(
"zip"));
1103 $fi->setRequired(
true);
1105 $form->addItem($fi);
1109 $cb->setInfo($this->lng->txt(
""));
1110 $form->addItem($cb);
1112 $form->addCommandButton(
"importFile",
$lng->txt(
"import"));
1113 $form->addCommandButton(
"cancel",
$lng->txt(
"cancel"));
1115 $form->setTitle($this->lng->txt(
"import_".$new_type));
1116 $form->setFormAction(
$ilCtrl->getFormAction($this));
1151 global $_FILES, $rbacsystem,
$ilDB,
$tpl;
1153 $no_manifest =
false;
1157 parent::importFileObject(
null,
false);
1163 $no_manifest =
true;
1173 include_once
"./Modules/LearningModule/classes/class.ilObjLearningModule.php";
1175 if (!$rbacsystem->checkAccess(
"create",
$_GET[
"ref_id"],
$_GET[
"new_type"]))
1177 $this->
ilias->raiseError($this->lng->txt(
"no_create_permission"), $this->ilias->error_obj->MESSAGE);
1181 if ($form->checkInput())
1184 include_once(
"./Modules/LearningModule/classes/class.ilObjContentObject.php");
1186 $newObj->setType(
$_GET[
"new_type"]);
1187 $newObj->setTitle($_FILES[
"importfile"][
"name"]);
1188 $newObj->setDescription(
"");
1189 $newObj->create(
true);
1190 $newObj->createReference();
1191 $newObj->putInTree(
$_GET[
"ref_id"]);
1192 $newObj->setPermissions(
$_GET[
"ref_id"]);
1195 $newObj->createLMTree();
1198 $mess = $newObj->importFromDirectory($this->tmp_import_dir,
$_POST[
"validate"]);
1209 "&baseClass=ilLMEditorGUI");
1213 $link =
'<a href="'.
"ilias.php?ref_id=".$newObj->getRefId().
1214 "&baseClass=ilLMEditorGUI".
'" target="_top">'.$this->lng->txt(
"btn_next").
'</a>';
1215 $tpl->setContent(
"<br />".$link.
"<br /><br />".$mess.$link);
1220 $form->setValuesByPost();
1221 $tpl->setContent($form->getHtml());
1235 $ilCtrl->setParameter($this,
"backcmd",
"chapters");
1237 include_once(
"./Modules/LearningModule/classes/class.ilChapterHierarchyFormGUI.php");
1239 $form_gui->setFormAction(
$ilCtrl->getFormAction($this));
1240 $form_gui->setTitle($this->object->getTitle());
1242 $form_gui->setTree($this->lm_tree);
1243 $form_gui->setMaxDepth(0);
1244 $form_gui->setCurrentTopNodeId($this->tree->getRootId());
1245 $form_gui->addMultiCommand(
$lng->txt(
"delete"),
"delete");
1246 $form_gui->addMultiCommand(
$lng->txt(
"cut"),
"cutItems");
1247 $form_gui->addMultiCommand(
$lng->txt(
"copy"),
"copyItems");
1248 if ($this->object->getLayoutPerPage())
1250 $form_gui->addMultiCommand(
$lng->txt(
"cont_set_layout"),
"setPageLayoutInHierarchy");
1253 $form_gui->addCommand(
$lng->txt(
"cont_save_all_titles"),
"saveAllTitles");
1254 $up_gui =
"ilobjlearningmodulegui";
1256 $ctpl =
new ilTemplate(
"tpl.chap_and_pages.html",
true,
true,
"Modules/LearningModule");
1257 $ctpl->setVariable(
"HIERARCHY_FORM", $form_gui->getHTML());
1258 $ilCtrl->setParameter($this,
"obj_id",
"");
1262 $this->tpl->setContent($ml_head.$ctpl->get());
1276 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
1280 if ($ot->getContentActivated())
1282 $lng->loadLanguageModule(
"meta");
1285 include_once(
"./Services/COPage/classes/class.ilPageMultiLangGUI.php");
1287 $ml_head = $ml_gui->getMultiLangInfo(
$_GET[
"transl"]);
1290 include_once(
"./Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php");
1292 $list->setListTitle(
$lng->txt(
"actions"));
1293 $list->setId(
"copage_act");
1295 if (!in_array(
$_GET[
"transl"], array(
"",
"-")))
1297 $l = $ot->getMasterLanguage();
1298 $list->addItem(
$lng->txt(
"cont_edit_language_version").
": ".
1299 $lng->txt(
"meta_l_".$l),
"",
1300 $ilCtrl->getLinkTarget($a_gui_class,
"editMasterLanguage"));
1304 foreach ($ot->getLanguages() as $al =>
$lang)
1306 if (
$_GET[
"transl"] != $al &&
1307 $al != $ot->getMasterLanguage())
1309 $ilCtrl->setParameter($a_gui_class,
"totransl", $al);
1310 $list->addItem(
$lng->txt(
"cont_edit_language_version").
": ".
1311 $lng->txt(
"meta_l_".$al),
"",
1312 $ilCtrl->getLinkTarget($a_gui_class,
"switchToLanguage"));
1313 $ilCtrl->setParameter($a_gui_class,
"totransl",
$_GET[
"totransl"]);
1320 $ml_head =
'<div class="ilFloatLeft">'.$ml_head.
'</div><div style="margin: 5px 0;" class="small ilRight">'.$list->getHTML().
"</div>";
1339 $ilCtrl->setParameter($this,
"backcmd",
"pages");
1340 $ilCtrl->setParameterByClass(
"illmpageobjectgui",
"new_type",
"pg");
1341 $ilToolbar->addButton(
$lng->txt(
"pg_add"),
1342 $ilCtrl->getLinkTargetByClass(
"illmpageobjectgui",
"create"));
1343 $ilCtrl->setParameterByClass(
"illmpageobjectgui",
"new_type",
"");
1345 include_once(
"./Modules/LearningModule/classes/class.ilLMPagesTableGUI.php");
1347 $tpl->setContent(
$t->getHTML());
1360 include_once(
"./Modules/LearningModule/classes/class.ilLinksTableGUI.php");
1362 $this->object->getId(), $this->object->getType());
1364 $tpl->setContent($table_gui->getHTML());
1372 global
$tpl, $ilToolbar;
1377 $ilToolbar->addButton($this->lng->txt(
"cont_fix_tree"),
1378 $this->ctrl->getLinkTarget($this,
"fixTreeConfirm"));
1386 if (is_array(
$_POST[
"id"]))
1388 foreach(
$_POST[
"id"] as $id)
1390 include_once(
"./Modules/LearningModule/classes/class.ilLMPage.php");
1396 $this->ctrl->redirect($this,
"pages");
1406 $this->
ilias->raiseError($this->lng->txt(
"no_page_in_clipboard"),$this->ilias->error_obj->MESSAGE);
1417 == $this->object->getID())
1420 $new_page = $lm_page->copy();
1421 $id = $new_page->getId();
1427 $lm_obj = $this->
ilias->obj_factory->getInstanceByObjId($lm_id);
1429 $copied_nodes = array();
1430 $new_page = $lm_page->copyToOtherContObject($this->
object, $copied_nodes);
1431 $id = $new_page->getId();
1441 != $this->object->getID())
1444 $lm_obj = $this->
ilias->obj_factory->getInstanceByObjId($lm_id);
1446 $lm_page->setLMId($this->object->getID());
1448 $page = $lm_page->getPageObject();
1450 $page->setParentId($this->object->getID());
1457 $this->ctrl->redirect($this,
"pages");
1469 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
1476 ilUtil::sendInfo($this->lng->txt(
"cont_selected_items_have_been_copied"),
true);
1478 $this->ctrl->redirect($this,
"pages");
1488 function delete($a_parent_subobj_id = 0)
1492 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->
ilias->error_obj->MESSAGE);
1497 $this->
ilias->raiseError($this->lng->txt(
"cont_select_item"), $this->
ilias->error_obj->MESSAGE);
1500 if ($a_parent_subobj_id == 0)
1505 if ($a_parent_subobj_id != 0)
1507 $this->ctrl->setParameterByClass(
"ilStructureObjectGUI",
"backcmd",
$_GET[
"backcmd"]);
1508 $this->ctrl->setParameterByClass(
"ilStructureObjectGUI",
"obj_id", $a_parent_subobj_id);
1509 $form_action = $this->ctrl->getFormActionByClass(
"ilStructureObjectGUI");
1513 $this->ctrl->setParameter($this,
"backcmd",
$_GET[
"backcmd"]);
1514 $form_action = $this->ctrl->getFormAction($this);
1518 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
1520 $cgui->setFormAction($form_action);
1521 $cgui->setHeaderText($this->lng->txt(
"info_delete_sure"));
1522 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancelDelete");
1523 $cgui->setConfirm($this->lng->txt(
"confirm"),
"confirmedDelete");
1525 foreach(
$_POST[
"id"] as $id)
1531 " ".$obj->getTitle();
1533 $cgui->addItem(
"id[]", $id, $caption);
1537 $this->tpl->setContent($cgui->getHTML());
1545 $this->ctrl->redirect($this,
$_GET[
"backcmd"]);
1559 $tree->setTableNames(
'lm_tree',
'lm_data');
1560 $tree->setTreeTablePK(
"lm_id");
1565 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
1569 foreach (
$_POST[
"id"] as $id)
1574 $node_data =
$tree->getNodeData($id);
1575 if (is_object($obj))
1577 $obj->setLMId($this->object->getId());
1579 include_once(
"./Services/History/classes/class.ilHistory.php");
1582 $this->object->getType());
1586 if(
$tree->isInTree($id))
1588 $tree->deleteTree($node_data);
1594 $this->
object->checkTree();
1599 if ($a_parent_subobj_id == 0)
1601 $this->ctrl->redirect($this,
$_GET[
"backcmd"]);
1617 $tmpPath = $this->lm_tree->getPathFull($a_endnode_id, $a_startnode_id);
1620 for ($i = 1; $i < (count($tmpPath) - 1); $i++)
1627 $path .= $tmpPath[$i][
"title"];
1642 foreach ($a_actions as $name =>
$lng)
1644 $d[$name] = array(
"name" => $name,
"lng" =>
$lng);
1647 $notoperations = array();
1649 $operations = array();
1655 if (!in_array(
$row[
"name"], $notoperations))
1657 $operations[] =
$row;
1662 if (count($operations)>0)
1664 foreach ($operations as $val)
1666 $this->tpl->setCurrentBlock(
"operation_btn");
1667 $this->tpl->setVariable(
"BTN_NAME", $val[
"name"]);
1668 $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt($val[
"lng"]));
1669 $this->tpl->parseCurrentBlock();
1672 $this->tpl->setCurrentBlock(
"operation");
1674 $this->tpl->parseCurrentBlock();
1685 $this->
setFormAction(
"addRole", $this->ctrl->getLinkTarget($this,
"addRole"));
1686 $this->
setFormAction(
"permSave", $this->ctrl->getLinkTarget($this,
"permSave"));
1687 $this->permObject();
1696 $this->
setReturnLocation(
"permSave", $this->ctrl->getLinkTarget($this,
"perm"));
1697 $this->permSaveObject();
1706 $this->infoObject();
1716 $this->addRoleObject();
1726 $this->ownerObject();
1735 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui")
1738 parent::viewObject();
1754 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
1757 if(count(
$_POST[
"id"]) > 1)
1759 $this->
ilias->raiseError($this->lng->txt(
"cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
1764 $this->
ilias->raiseError($this->lng->txt(
"cont_select_item"), $this->ilias->error_obj->MESSAGE);
1772 if ($a_parent_subobj_id == 0)
1774 $this->ctrl->redirect($this,
"chapters");
1804 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
1807 ilUtil::sendInfo($this->lng->txt(
"cont_selected_items_have_been_cut"),
true);
1813 $this->ctrl->redirect($this,
"pages");
1821 if (
$_GET[
"new_type"] ==
"pg")
1823 $this->ctrl->redirect($this,
"pages");
1827 $this->ctrl->redirect($this,
"chapters");
1839 if ($ot->getContentActivated())
1841 $format = explode(
"_",
$_POST[
"format"]);
1846 require_once(
"./Modules/LearningModule/classes/class.ilContObjectExport.php");
1848 $cont_exp->buildExportFile(($opt ==
"master"));
1859 $changelink =
"<a href='".$ilCtrl->getLinkTarget($this,
"editMenuProperties").
"'>".
$lng->txt(
"change").
"</a>";
1860 if (!$this->object->isActiveLMMenu())
1862 $add =
"<br />".$lng->txt(
"cont_download_no_menu").
" ".$changelink;
1864 else if (!$this->object->isActiveDownloads())
1866 $add =
"<br />".$lng->txt(
"cont_download_no_download").
" ".$changelink;
1869 $basetype = explode(
"_",
$a_type);
1870 $basetype = $basetype[0];
1872 if ($this->object->getPublicExportFile($basetype) == $a_file)
1874 return $lng->txt(
"yes").$add;
1889 if(!isset($a_files))
1895 foreach ($a_files as $f)
1897 $file = explode(
":", $f);
1898 if (is_int(strpos(
$file[0],
"_")))
1902 $export_dir = $this->
object->getExportDirectory(
$file[0]);
1904 if ($this->object->getPublicExportFile(
$file[0]) ==
1907 $this->
object->setPublicExportFile(
$file[0],
"");
1911 $this->
object->setPublicExportFile(
$file[0],
$file[1]);
1914 $this->
object->update();
1916 $ilCtrl->redirectByClass(
"ilexportgui");
1924 if(!isset(
$_POST[
"file"]))
1926 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
1929 if (count(
$_POST[
"file"]) > 1)
1931 $this->
ilias->raiseError($this->lng->txt(
"cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
1935 $export_dir = $this->
object->getOfflineDirectory();
1953 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
1955 $cgui->setFormAction($this->ctrl->getFormAction($this));
1956 $cgui->setHeaderText($this->lng->txt(
"cont_fix_tree_confirm"));
1957 $cgui->setCancel($this->lng->txt(
"cancel"),
"showMaintenance");
1958 $cgui->setConfirm($this->lng->txt(
"cont_fix_tree"),
"fixTree");
1960 $this->tpl->setContent($cgui->getHTML());
1968 $this->
object->fixTree();
1970 $this->ctrl->redirect($this,
"showMaintenance");
1977 $a_active =
"content", $a_use_global_tabs =
false, $a_as_subtabs =
false,
1978 $a_cur_page = 0, $a_lang =
"", $a_export_all =
false)
1980 global
$ilCtrl,
$ilUser, $ilAccess, $ilTabs, $rbacsystem, $ilPluginAdmin, $ilHelp;
1982 $ilHelp->setScreenIdComponent(
"lm");
1986 $addcmd =
"addSubTabTarget";
1987 $getcmd =
"getSubTabHTML";
1991 $addcmd =
"addTarget";
1992 $getcmd =
"getHTML";
1995 $active[$a_active] =
true;
1997 if (!$this->object->isActiveLMMenu())
2002 if ($a_use_global_tabs)
2014 $showViewInFrameset =
true;
2016 if ($showViewInFrameset && !$a_offline)
2022 $buttonTarget =
"_top";
2025 if ($a_export_format ==
"scorm")
2031 if (!$a_offline && $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"]))
2033 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
2035 $ilCtrl->getLinkTargetByClass(
"illmpresentationgui",
"layout"),
2036 "",
"", $buttonTarget, $active[
"content"]);
2037 if ($active[
"content"])
2039 $ilHelp->setScreenId(
"content");
2040 $ilHelp->setSubScreenId(
"content");
2043 else if ($a_offline)
2045 $tabs_gui->setForcePresentationOfSingleTab(
true);
2049 if($this->object->isActiveTOC() && $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"]))
2053 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
2054 $link =
$ilCtrl->getLinkTargetByClass(
"illmpresentationgui",
"showTableOfContents");
2060 $link =
"./table_of_contents_".$a_lang.
".html";
2064 $link =
"./table_of_contents.html";
2068 "",
"", $buttonTarget, $active[
"toc"]);
2072 if($this->object->isActivePrintView() && $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"]))
2076 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
2077 $link =
$ilCtrl->getLinkTargetByClass(
"illmpresentationgui",
"showPrintViewSelection");
2078 $tabs_gui->$addcmd(
"cont_print_view", $link,
2079 "",
"", $buttonTarget, $active[
"print"]);
2084 if(
$ilUser->getId() == ANONYMOUS_USER_ID)
2086 $is_public = $this->
object->isActiveDownloadsPublic();
2093 if($this->object->isActiveDownloads() && !$a_offline && $is_public &&
2094 $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"]))
2096 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
2097 $link =
$ilCtrl->getLinkTargetByClass(
"illmpresentationgui",
"showDownloadList");
2099 "",
"", $buttonTarget, $active[
"download"]);
2103 if ($a_export_format !=
"scorm" && !$a_offline)
2107 $ilCtrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
2108 $link = $this->ctrl->getLinkTargetByClass(
2109 array(
"illmpresentationgui",
"ilinfoscreengui"),
"showSummary");
2113 $link =
"./info.html";
2117 "",
"", $buttonTarget, $active[
"info"]);
2120 include_once
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
2122 $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"]) &&
2125 include_once
'./Services/Object/classes/class.ilObjectLP.php';
2130 $this->ctrl->getLinkTargetByClass(array(
"illmpresentationgui",
"illearningprogressgui"),
"editmanual"),
2131 "",
"", $buttonTarget, $active[
"learning_progress"]);
2136 $this->ctrl->getLinkTargetByClass(array(
"illmpresentationgui",
"illearningprogressgui"),
"showtlt"),
2137 "",
"", $buttonTarget, $active[
"learning_progress"]);
2143 $entries = $this->lmme_obj->getMenuEntries(
true);
2144 if (count($entries) > 0 && $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"]))
2146 foreach ($entries as $entry)
2149 if ($entry[
"type"] ==
"intern")
2151 $entry[
"link"] = ILIAS_HTTP_PATH.
"/goto.php?target=".$entry[
"link"];
2155 if (!strstr($entry[
"link"],
'://') && !strstr($entry[
"link"],
'mailto:'))
2157 $entry[
"link"] =
"http://".$entry[
"link"];
2160 if (!strstr($entry[
"link"],
'mailto:'))
2166 "",
"",
"_blank",
"",
true);
2171 if (!$a_offline && $a_cur_page > 0)
2173 if ($rbacsystem->checkAccess(
"write",
$_GET[
"ref_id"]))
2176 $page_id = $a_cur_page;
2177 $tabs_gui->$addcmd(
"edit_page", ILIAS_HTTP_PATH.
"/ilias.php?baseClass=ilLMEditorGUI&ref_id=".
$_GET[
"ref_id"].
2178 "&obj_id=".$page_id.
"&to_page=1",
2179 "",
"", $buttonTarget, $active[
"edit_page"]);
2184 $pl_names = $ilPluginAdmin->getActivePluginsForSlot(
IL_COMP_SERVICE,
"UIComponent",
"uihk");
2185 $plugin_html =
false;
2186 foreach ($pl_names as $pl)
2189 $gui_class = $ui_plugin->getUIClassInstance();
2190 $resp = $gui_class->modifyGUI(
"Modules/LearningModule",
"lm_menu_tabs",
2202 require_once(
"./Modules/LearningModule/classes/class.ilContObjectExport.php");
2204 $cont_exp->buildExportFile();
2205 $this->offlineList();
2213 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
2216 if ($ot->getContentActivated())
2218 $format = explode(
"_",
$_POST[
"format"]);
2221 require_once(
"./Modules/LearningModule/classes/class.ilContObjectExport.php");
2223 $cont_exp->buildExportFile();
2233 require_once(
"./Modules/LearningModule/classes/class.ilContObjectExport.php");
2235 $cont_exp->buildExportFile();
2249 $par_id =
$tree->getParentId(
$_GET[
"ref_id"]);
2253 if($par_id != ROOT_FOLDER_ID)
2255 $this->ctrl->addLocation(
"...",
2262 if ($parent_title ==
"ILIAS")
2264 $parent_title =
$lng->txt(
"repository");
2268 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id", $par_id);
2269 $this->ctrl->addLocation($parent_title,
2270 $ilCtrl->getLinkTargetByClass(
"ilrepositorygui",
"frameset"),
2272 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id",
$_GET[
"ref_id"]);
2274 if (!$a_omit_obj_id)
2278 $lmtree = $this->
object->getTree();
2286 $path = $lmtree->getPathFull($lmtree->getRootId());
2289 $path[] = array(
"type" =>
"pg",
"child" => $this->obj_id,
2298 if (
$row[
"child"] == 1)
2300 $this->ctrl->setParameter($this,
"obj_id",
"");
2301 $this->ctrl->addLocation(
2302 $this->object->getTitle(),
2303 $this->ctrl->getLinkTarget($this,
"chapters"),
"",
$_GET[
"ref_id"]);
2308 switch(
$row[
"type"])
2311 $this->ctrl->setParameterByClass(
"ilstructureobjectgui",
"obj_id",
$row[
"child"]);
2312 $this->ctrl->addLocation(
2314 $this->ctrl->getLinkTargetByClass(
"ilstructureobjectgui",
"view"));
2318 $this->ctrl->setParameterByClass(
"illmpageobjectgui",
"obj_id",
$row[
"child"]);
2319 $this->ctrl->addLocation(
2321 $this->ctrl->getLinkTargetByClass(
"illmpageobjectgui",
"edit"));
2326 if (!$a_omit_obj_id)
2328 $this->ctrl->setParameter($this,
"obj_id",
$_GET[
"obj_id"]);
2347 include_once(
"./Modules/LearningModule/classes/class.ilLMQuestionListTableGUI.php");
2349 $tpl->setContent($table->getHTML());
2363 include_once(
"./Modules/LearningModule/classes/class.ilLMBlockedUsersTableGUI.php");
2365 $tpl->setContent($table->getHTML());
2376 include_once(
"./Services/COPage/classes/class.ilPageQuestionProcessor.php");
2377 if (is_array(
$_POST[
"userquest_id"]))
2379 foreach (
$_POST[
"userquest_id"] as $uqid)
2381 $uqid = explode(
":", $uqid);
2386 $ilCtrl->redirect($this,
"listBlockedUsers");
2396 include_once(
"./Services/COPage/classes/class.ilPageQuestionProcessor.php");
2397 if (is_array(
$_POST[
"userquest_id"]))
2399 foreach (
$_POST[
"userquest_id"] as $uqid)
2401 $uqid = explode(
":", $uqid);
2406 $ilCtrl->redirect($this,
"listBlockedUsers");
2416 if (!is_array(
$_POST[
"userquest_id"]))
2419 $ilCtrl->redirect($this,
"listBlockedUsers");
2423 foreach(
$_POST[
"userquest_id"] as $uqid)
2425 $uqid = explode(
":", $uqid);
2427 if (!in_array($login, $rcps))
2432 require_once
'Services/Mail/classes/class.ilMailFormCall.php';
2437 'rcp_to' => implode(
',',$rcps),
2447 $link = chr(13).chr(10).chr(13).chr(10);
2448 $link .= $this->lng->txt(
'cont_blocked_users_mail_link');
2449 $link .= chr(13).chr(10).chr(13).chr(10);
2450 include_once
'./Services/Link/classes/class.ilLink.php';
2452 return rawurlencode(base64_encode($link));
2466 global
$lng, $ilHelp;
2468 $ilHelp->setScreenIdComponent(
"lm");
2471 parent::setTitleAndDescription();
2472 $this->tpl->setTitle($this->object->getTitle());
2474 $lng->txt(
"obj_lm"));
2489 $ilTabs->addSubtab(
"chapters",
2490 $lng->txt(
"cont_chapters"),
2491 $ilCtrl->getLinkTarget($this,
"chapters"));
2494 $ilTabs->addSubtab(
"pages",
2495 $lng->txt(
"cont_all_pages"),
2496 $ilCtrl->getLinkTarget($this,
"pages"));
2499 if (
$lm_set->get(
"html_export_ids"))
2503 $ilTabs->addSubtab(
"export_ids",
2504 $lng->txt(
"cont_html_export_ids"),
2505 $ilCtrl->getLinkTarget($this,
"showExportIDsOverview"));
2510 $lng->loadLanguageModule(
"help");
2511 $ilTabs->addSubtab(
"export_ids",
2512 $lng->txt(
"cont_online_help_ids"),
2513 $ilCtrl->getLinkTarget($this,
"showExportIDsOverview"));
2515 $ilTabs->addSubtab(
"help_tooltips",
2516 $lng->txt(
"help_tooltips"),
2517 $ilCtrl->getLinkTarget($this,
"showTooltipList"));
2521 $ilTabs->addSubtab(
"internal_links",
2522 $lng->txt(
"cont_internal_links"),
2523 $ilCtrl->getLinkTarget($this,
"listLinks"));
2526 $ilTabs->addSubtab(
"link_check",
2527 $lng->txt(
"link_check"),
2528 $ilCtrl->getLinkTarget($this,
"linkChecker"));
2530 $ilTabs->addSubtab(
"history",
2531 $lng->txt(
"history"),
2532 $this->ctrl->getLinkTarget($this,
"history"));
2535 $ilTabs->addSubtab(
"maintenance",
2536 $lng->txt(
"cont_maintenance"),
2537 $ilCtrl->getLinkTarget($this,
"showMaintenance"));
2540 $ilTabs->addSubtab(
"srt_files",
2541 $lng->txt(
"cont_subtitle_files"),
2542 $ilCtrl->getLinkTargetByClass(
"illmmultisrtuploadgui",
""));
2545 $ilTabs->addSubtab(
"import",
2546 $lng->txt(
"cont_import"),
2547 $ilCtrl->getLinkTargetByClass(
"illmimportgui",
""));
2549 $ilTabs->activateSubTab($a_active);
2550 $ilTabs->activateTab(
"content");
2563 $ilTabs->addSubtab(
"question_stats",
2564 $lng->txt(
"cont_question_stats"),
2565 $ilCtrl->getLinkTarget($this,
"listQuestions"));
2568 $ilTabs->addSubtab(
"blocked_users",
2569 $lng->txt(
"cont_blocked_users"),
2570 $ilCtrl->getLinkTarget($this,
"listBlockedUsers"));
2572 $ilTabs->activateSubTab($a_active);
2585 $ilTabs->addTab(
"content",
2586 $lng->txt(
"content"),
2587 $this->ctrl->getLinkTarget($this,
"chapters"));
2590 $ilTabs->addTab(
"info",
2591 $lng->txt(
"info_short"),
2592 $this->ctrl->getLinkTargetByClass(
"ilinfoscreengui",
'showSummary'));
2595 $ilTabs->addTab(
"settings",
2596 $lng->txt(
"settings"),
2597 $this->ctrl->getLinkTarget($this,
'properties'));
2600 $ilTabs->addTab(
"questions",
2601 $lng->txt(
"objs_qst"),
2602 $this->ctrl->getLinkTarget($this,
"listQuestions"));
2605 include_once
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
2608 $ilTabs->addTab(
'learning_progress',
2609 $lng->txt(
"learning_progress"),
2610 $this->ctrl->getLinkTargetByClass(array(
'illearningprogressgui'),
''));
2613 if ($this->object->getType() !=
"lm")
2616 $ilTabs->addTab(
"bib_data",
2617 $lng->txt(
"bib_data"),
2618 $this->ctrl->getLinkTarget($this,
"editBibItem"));
2622 include_once
"Services/Object/classes/class.ilObjectMetaDataGUI.php";
2624 $mdtab = $mdgui->getTab();
2627 $ilTabs->addTab(
"meta",
2628 $lng->txt(
"meta_data"),
2632 if ($this->object->getType() ==
"lm")
2635 $ilTabs->addTab(
"export",
2636 $lng->txt(
"export"),
2637 $this->ctrl->getLinkTargetByClass(
"ilexportgui",
""));
2641 if ($rbacsystem->checkAccess(
'edit_permission',$this->object->getRefId()))
2643 $ilTabs->addTab(
"perm",
2644 $lng->txt(
"perm_settings"),
2645 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm"));
2650 $ilTabs->activateTab($a_act);
2654 $ilTabs->addNonTabbedLink(
"pres_mode",
$lng->txt(
"cont_presentation_view"),
2655 "ilias.php?baseClass=ilLMPresentationGUI&ref_id=".$this->object->getRefID(),
"_top");
2665 if (in_array($a_active,
2666 array(
"settings",
"cont_style",
"cont_lm_menu",
"public_section",
2667 "cont_glossaries",
"cont_multilinguality",
"obj_multilinguality")))
2670 $ilTabs->addSubTabTarget(
"settings",
2671 $this->ctrl->getLinkTarget($this,
'properties'),
2675 $ilTabs->addSubTabTarget(
"cont_style",
2676 $this->ctrl->getLinkTarget($this,
'editStyleProperties'),
2680 $ilTabs->addSubTabTarget(
"cont_lm_menu",
2681 $this->ctrl->getLinkTarget($this,
'editMenuProperties'),
2685 $ilTabs->addSubTabTarget(
"cont_glossaries",
2686 $this->ctrl->getLinkTarget($this,
'editGlossaries'),
2692 $ilTabs->addSubTabTarget(
"public_section",
2693 $this->ctrl->getLinkTarget($this,
'editPublicSection'),
2702 $ilTabs->addSubTabTarget(
"obj_multilinguality",
2703 $this->ctrl->getLinkTargetByClass(
"ilobjecttranslationgui",
""));
2705 $ilTabs->setSubTabActive($a_active);
2711 global $ilTabs, $ilToolbar, $ilAccess;
2714 if (!$ilAccess->checkAccessOfUser(ANONYMOUS_USER_ID,
"read",
"", $this->object->getRefId()))
2721 $ilTabs->setTabActive(
"settings");
2723 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.lm_public_selector.html",
2724 "Modules/LearningModule");
2731 $modes = array(
"complete" => $this->lng->txt(
"all_pages"),
"selected" => $this->lng->txt(
"selected_pages_only"));
2732 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
2734 $si->setOptions($modes);
2735 $si->setValue($this->object->getPublicAccessMode());
2736 $ilToolbar->addInputItem(
$si,
true);
2737 $ilToolbar->addFormButton($this->lng->txt(
"save"),
"savePublicSectionAccess");
2738 $ilToolbar->setFormAction($this->ctrl->getFormAction($this,
"savePublicSectionAccess"));
2740 if ($this->object->getPublicAccessMode() ==
"selected")
2742 $this->tpl->setCurrentBlock(
"select_pages");
2743 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getLinkTarget($this,
"savePublicSectionPages"));
2745 include_once (
"./Modules/LearningModule/classes/class.ilPublicSectionExplorerGUI.php");
2747 $tree->setSelectMode(
"pages",
true);
2748 $tree->setSkipRootNode(
true);
2750 $this->tpl->setVariable(
"EXPLORER",
$tree->getHTML());
2751 $this->tpl->setVariable(
"TXT_SAVE", $this->lng->txt(
"save"));
2753 $this->tpl->parseCurrentBlock();
2760 $this->
object->setPublicAccessMode(
$_POST[
"lm_public_mode"]);
2761 $this->
object->updateProperties();
2764 $this->ctrl->redirect($this,
"editPublicSection");
2772 $this->
object->setPublicAccessMode(
$_POST[
"lm_public_mode"]);
2773 $this->
object->updateProperties();
2775 $this->ctrl->redirect($this,
"editPublicSection");
2785 $this->ctrl->redirect($this,
"editPublicSection");
2798 require_once(
"./Services/History/classes/class.ilHistoryTableGUI.php");
2800 $this->object->getId() ,$this->object->getType());
2801 $hist_gui->initTable();
2802 $hist_gui->setCommentVisibility($this->object->isActiveHistoryUserComments());
2804 $this->tpl->setContent($hist_gui->getHTML());
2819 require_once
'Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php';
2821 $actions->setSelectionHeaderClass(
'small');
2822 $actions->setItemLinkClass(
'xsmall');
2823 $actions->setListTitle($this->lng->txt(
'actions'));
2825 $this->ctrl->setParameterByClass(
'ilLMPageObjectGUI',
'obj_id',
$row[
'page_id']);
2827 $this->lng->txt(
'edit'),
2829 $this->ctrl->getLinkTargetByClass(
'ilLMPageObjectGUI',
'edit')
2831 $this->ctrl->clearParametersByClass(
'ilLMPageObjectGUI');
2846 require_once
'./Services/LinkChecker/classes/class.ilLinkCheckerTableGUI.php';
2851 include_once
"Services/Cron/classes/class.ilCronManager.php";
2854 include_once
'./Services/LinkChecker/classes/class.ilLinkCheckNotify.php';
2855 include_once
'Services/Form/classes/class.ilPropertyFormGUI.php';
2857 $chb =
new ilCheckboxInputGUI($this->lng->txt(
'link_check_message_a'),
'link_check_message');
2860 $chb->setOptionTitle($this->lng->txt(
'link_check_message_b'));
2862 $toolbar->addInputItem($chb);
2863 $toolbar->addFormButton($this->lng->txt(
'save'),
'saveLinkCheck');
2864 $toolbar->setFormAction($this->ctrl->getLinkTarget($this,
'saveLinkCheck'));
2868 $tgui->setLinkChecker($this->link_checker_obj)
2869 ->setRowHandler($this)
2870 ->setRefreshButton($this->lng->txt(
'refresh'),
'refreshLinkCheck');
2872 return $tpl->setContent($tgui->prepareHTML()->getHTML().$toolbar->getHTML());
2879 include_once
'./Services/LinkChecker/classes/class.ilLinkCheckNotify.php';
2882 $link_check_notify->setUserId(
$ilUser->getId());
2883 $link_check_notify->setObjId($this->object->getId());
2885 if(
$_POST[
'link_check_message'])
2888 $link_check_notify->addNotifier();
2893 $link_check_notify->deleteNotifier();
2905 $this->link_checker_obj->checkLinks();
2917 include_once
'./Services/LinkChecker/classes/class.ilLinkChecker.php';
2920 $this->link_checker_obj->setObjId($this->object->getId());
2927 include_once
'./Modules/LearningModule/classes/class.ilLMMenuEditor.php';
2930 $this->lmme_obj->setObjId($this->object->getId());
2944 $ilTabs->setTabActive(
"settings");
2947 $ilToolbar->addButton($this->lng->txt(
"lm_menu_select_internal_object"),
2948 $ilCtrl->getLinkTarget($this,
"showEntrySelector"));
2951 $this->tpl->setContent($form->getHTML());
2963 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
2967 $ti =
new ilTextInputGUI($this->lng->txt(
"lm_menu_entry_title"),
"title");
2968 $ti->setMaxLength(255);
2970 $form->addItem($ti);
2973 $ta =
new ilTextInputGUI($this->lng->txt(
"lm_menu_entry_target"),
"target");
2974 $ta->setMaxLength(255);
2976 $form->addItem($ta);
2978 if ($a_mode ==
"edit")
2981 $this->lmme_obj->readEntry($_REQUEST[
"menu_entry"]);
2982 $ti->setValue($this->lmme_obj->getTitle());
2983 $ta->setValue($this->lmme_obj->getTarget());
2986 if (isset(
$_GET[
"link_ref_id"]))
2988 $link_ref_id = (int)
$_GET[
"link_ref_id"];
2993 $target_link = $obj_type.
"_".$link_ref_id;
2995 $ta->setValue($target_link);
2999 $hi->setValue($link_ref_id);
3000 $form->addItem($hi);
3005 if ($a_mode ==
"create")
3007 $form->addCommandButton(
"saveMenuEntry",
$lng->txt(
"save"));
3008 $form->addCommandButton(
"editMenuProperties",
$lng->txt(
"cancel"));
3009 $form->setTitle(
$lng->txt(
"lm_menu_new_entry"));
3013 $form->addCommandButton(
"updateMenuEntry",
$lng->txt(
"save"));
3014 $form->addCommandButton(
"editMenuProperties",
$lng->txt(
"cancel"));
3015 $form->setTitle(
$lng->txt(
"lm_menu_edit_entry"));
3018 $form->setFormAction(
$ilCtrl->getFormAction($this));
3031 if (empty(
$_POST[
"title"]))
3035 $ilCtrl->redirect($this,
"addMenuEntry");
3037 if (empty(
$_POST[
"target"]))
3041 $ilCtrl->redirect($this,
"addMenuEntry");
3045 $this->lmme_obj->setTitle(
$_POST[
"title"]);
3046 $this->lmme_obj->setTarget(
$_POST[
"target"]);
3047 $this->lmme_obj->setLinkRefId(
$_POST[
"link_ref_id"]);
3049 if (
$_POST[
"link_ref_id"])
3051 $this->lmme_obj->setLinkType(
"intern");
3054 $this->lmme_obj->create();
3057 $this->ctrl->redirect($this,
"editMenuProperties");
3065 if (empty(
$_GET[
"menu_entry"]))
3067 $this->
ilias->raiseError($this->lng->txt(
"no_menu_entry_id"),$this->ilias->error_obj->MESSAGE);
3071 $this->lmme_obj->delete(
$_GET[
"menu_entry"]);
3074 $this->ctrl->redirect($this,
"editMenuProperties");
3082 global $ilToolbar,
$ilCtrl, $ilTabs;
3086 $ilTabs->setTabActive(
"settings");
3090 if (empty(
$_GET[
"menu_entry"]))
3092 $this->
ilias->raiseError($this->lng->txt(
"no_menu_entry_id"),$this->ilias->error_obj->MESSAGE);
3095 $ilCtrl->saveParameter($this, array(
"menu_entry"));
3096 $ilToolbar->addButton($this->lng->txt(
"lm_menu_select_internal_object"),
3097 $ilCtrl->getLinkTarget($this,
"showEntrySelector"));
3100 $this->tpl->setContent($form->getHTML());
3108 if (empty($_REQUEST[
"menu_entry"]))
3110 $this->
ilias->raiseError($this->lng->txt(
"no_menu_entry_id"),$this->ilias->error_obj->MESSAGE);
3114 if (empty(
$_POST[
"title"]))
3116 $this->
ilias->raiseError($this->lng->txt(
"please_enter_title"),$this->ilias->error_obj->MESSAGE);
3118 if (empty(
$_POST[
"target"]))
3120 $this->
ilias->raiseError($this->lng->txt(
"please_enter_target"),$this->ilias->error_obj->MESSAGE);
3124 $this->lmme_obj->readEntry($_REQUEST[
"menu_entry"]);
3125 $this->lmme_obj->setTitle(
$_POST[
"title"]);
3126 $this->lmme_obj->setTarget(
$_POST[
"target"]);
3127 if (
$_POST[
"link_ref_id"])
3129 $this->lmme_obj->setLinkType(
"intern");
3131 if (is_int(strpos(
$_POST[
"target"] ,
".")))
3133 $this->lmme_obj->setLinkType(
"extern");
3135 $this->lmme_obj->update();
3138 $this->ctrl->redirect($this,
"editMenuProperties");
3147 $ilTabs->setTabActive(
"settings");
3150 $ilCtrl->saveParameter($this, array(
"menu_entry"));
3152 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.lm_menu_object_selector.html",
"Modules/LearningModule");
3156 require_once (
"./Modules/LearningModule/classes/class.ilLMMenuObjectSelector.php");
3159 $exp->setExpand(
$_GET[
"lm_menu_expand"] ?
$_GET[
"lm_menu_expand"] : $this->tree->readRootId());
3160 $exp->setExpandTarget($this->ctrl->getLinkTarget($this,
'showEntrySelector'));
3161 $exp->setTargetGet(
"ref_id");
3162 $exp->setRefId($this->cur_ref_id);
3164 $sel_types = array(
'mcst',
'mep',
'cat',
'lm',
'glo',
'frm',
'exc',
'tst',
'svy',
'chat',
'wiki',
'sahs',
3165 "crs",
"grp",
"book",
"tst",
"file");
3166 $exp->setSelectableTypes($sel_types);
3175 foreach ($exp->format_options as $node)
3177 if (!$node[
"container"])
3179 $pages[] = $node[
"child"];
3186 $this->tpl->setVariable(
"TXT_SET_PUBLIC_MODE", $this->lng->txt(
"set_public_mode"));
3187 $this->tpl->setVariable(
"TXT_CHOOSE_PUBLIC_MODE", $this->lng->txt(
"choose_public_mode"));
3188 $modes = array(
"complete" => $this->lng->txt(
"all_pages"),
"selected" => $this->lng->txt(
"selected_pages_only"));
3189 $select_public_mode =
ilUtil::formSelect ($this->object->getPublicAccessMode(),
"lm_public_mode",$modes,
false,
true);
3190 $this->tpl->setVariable(
"SELECT_PUBLIC_MODE", $select_public_mode);
3192 $this->tpl->setVariable(
"TXT_EXPLORER_HEADER", $this->lng->txt(
"choose_public_pages"));
3193 $this->tpl->setVariable(
"EXP_REFRESH", $this->lng->txt(
"refresh"));
3194 $this->tpl->setVariable(
"EXPLORER",
$output);
3195 $this->tpl->setVariable(
"ONCLICK",$js_pages);
3196 $this->tpl->setVariable(
"TXT_CHECKALL", $this->lng->txt(
"check_all"));
3197 $this->tpl->setVariable(
"TXT_UNCHECKALL", $this->lng->txt(
"uncheck_all"));
3198 $this->tpl->setVariable(
"TXT_SAVE", $this->lng->txt(
"save"));
3199 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getLinkTarget($this,
"savePublicSection"));
3210 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
3212 if(count(
$_POST[
"id"]) > 1)
3214 $this->
ilias->raiseError($this->lng->txt(
"cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
3216 if (
$_POST[
"id"][0] != $this->object->getHeaderPage())
3218 $this->
object->setHeaderPage(
$_POST[
"id"][0]);
3222 $this->
object->setHeaderPage(0);
3224 $this->
object->updateProperties();
3225 $this->ctrl->redirect($this,
"pages");
3235 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
3237 if(count(
$_POST[
"id"]) > 1)
3239 $this->
ilias->raiseError($this->lng->txt(
"cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
3241 if (
$_POST[
"id"][0] != $this->object->getFooterPage())
3243 $this->
object->setFooterPage(
$_POST[
"id"][0]);
3247 $this->
object->setFooterPage(0);
3249 $this->
object->updateProperties();
3250 $this->ctrl->redirect($this,
"pages");
3262 $ilCtrl->redirect($this,
"chapters");
3272 include_once(
"./Modules/LearningModule/classes/class.ilChapterHierarchyFormGUI.php");
3279 $parent_id = $this->lm_tree->getParentId($node_id);
3284 $parent_id = $node_id;
3288 for ($i = 1; $i <= $num; $i++)
3291 $chap->setType(
"st");
3292 $chap->setTitle(
$lng->txt(
"cont_new_chap"));
3293 $chap->setLMId($this->object->getId());
3298 $ilCtrl->redirect($this,
"chapters");
3308 include_once(
"./Modules/LearningModule/classes/class.ilChapterHierarchyFormGUI.php");
3313 $ilLog->write(
"InsertChapterClip, num: $num, node_id: $node_id, ".
3318 $parent_id = $this->lm_tree->getParentId($node_id);
3323 $parent_id = $node_id;
3328 $chapters =
$ilUser->getClipboardObjects(
"st",
true);
3329 $copied_nodes = array();
3330 foreach ($chapters as $chap)
3332 $ilLog->write(
"Call pasteTree, Target LM: ".$this->object->getId().
", Chapter ID: ".$chap[
"id"]
3333 .
", Parent ID: ".$parent_id.
", Target: ".
$target);
3335 $target, $chap[
"insert_time"], $copied_nodes,
3343 $ilUser->clipboardDeleteObjectsOfType(
"pg");
3344 $ilUser->clipboardDeleteObjectsOfType(
"st");
3348 $this->
object->checkTree();
3349 $ilCtrl->redirect($this,
"chapters");
3361 if ($ilAccess->checkAccess(
"read",
"", $a_target))
3363 $_GET[
"baseClass"] =
"ilLMPresentationGUI";
3364 $_GET[
"ref_id"] = $a_target;
3365 $_GET[
"cmd"] =
"resume";
3366 include(
"ilias.php");
3368 }
else if ($ilAccess->checkAccess(
"visible",
"", $a_target))
3370 $_GET[
"baseClass"] =
"ilLMPresentationGUI";
3371 $_GET[
"ref_id"] = $a_target;
3372 $_GET[
"cmd"] =
"infoScreen";
3373 include(
"ilias.php");
3376 else if ($ilAccess->checkAccess(
"read",
"", ROOT_FOLDER_ID))
3395 if (!is_array($items))
3398 $ilCtrl->redirect($this, $a_return);
3402 foreach($items as $k => $item)
3409 foreach($todel as $k)
3417 $ilCtrl->redirect($this, $a_return);
3428 if (!is_array($items))
3431 $ilCtrl->redirect($this,
"chapters");
3435 foreach($items as $k => $item)
3442 foreach($todel as $k)
3449 $ilCtrl->redirect($this,
"chapters");
3480 $ilToolbar->setFormAction(
$ilCtrl->getFormAction($this));
3481 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
3482 $lm_tree = $this->
object->getTree();
3483 $childs = $lm_tree->getChilds($lm_tree->readRootId());
3485 foreach ($childs as $c)
3487 $options[$c[
"child"]] = $c[
"title"];
3492 $ilToolbar->addInputItem(
$si,
true);
3493 $ilToolbar->addFormButton(
$lng->txt(
"help_filter"),
"filterHelpChapters");
3495 include_once(
"./Modules/LearningModule/classes/class.ilHelpMappingTableGUI.php");
3500 include_once(
"./Modules/LearningModule/classes/class.ilExportIDTableGUI.php");
3518 $ilCtrl->redirect($this,
"showExportIDsOverview");
3531 if (is_array(
$_POST[
"exportid"]))
3533 foreach (
$_POST[
"exportid"] as $pg_id => $exp_id)
3535 if ($exp_id !=
"" && !preg_match(
"/^([a-zA-Z]+)[0-9a-zA-Z_]*$/",
3545 $lng->txt(
"cont_exp_ids_not_resp_format3").
" ".
3546 $lng->txt(
"cont_exp_ids_not_resp_format2"));
3552 if (is_array(
$_POST[
"exportid"]))
3554 foreach (
$_POST[
"exportid"] as $pg_id => $exp_id)
3562 $ilCtrl->redirect($this,
"showExportIdsOverview");
3575 include_once(
"./Services/Help/classes/class.ilHelpMapping.php");
3576 if (is_array(
$_POST[
"screen_ids"]))
3578 foreach (
$_POST[
"screen_ids"] as $chap => $ids)
3580 $ids = explode(
"\n", $ids);
3585 $ilCtrl->redirect($this,
"showExportIdsOverview");
3605 $ilToolbar->setFormAction(
$ilCtrl->getFormAction($this));
3606 include_once(
"./Services/Form/classes/class.ilTextInputGUI.php");
3607 $ti =
new ilTextInputGUI($this->lng->txt(
"help_tooltip_id"),
"tooltip_id");
3608 $ti->setMaxLength(200);
3610 $ilToolbar->addInputItem($ti,
true);
3611 $ilToolbar->addFormButton(
$lng->txt(
"add"),
"addTooltip");
3612 $ilToolbar->addSeparator();
3614 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
3623 $ilToolbar->addInputItem(
$si,
true);
3624 $ilToolbar->addFormButton(
$lng->txt(
"help_filter"),
"filterTooltips");
3626 include_once(
"./Modules/LearningModule/classes/class.ilHelpTooltipTableGUI.php");
3643 if (trim($tt_id) !=
"")
3645 if (is_int(strpos($tt_id,
"_")))
3647 include_once(
"./Services/Help/classes/class.ilHelp.php");
3651 $fu = strpos($tt_id,
"_");
3652 $comp = substr($tt_id, 0, $fu);
3660 $ilCtrl->redirect($this,
"showTooltipList");
3674 $ilCtrl->redirect($this,
"showTooltipList");
3688 include_once(
"./Services/Help/classes/class.ilHelp.php");
3690 if (is_array(
$_POST[
"text"]))
3699 $ilCtrl->redirect($this,
"showTooltipList");
3709 if (is_array(
$_POST[
"id"]))
3711 include_once(
"./Services/Help/classes/class.ilHelp.php");
3712 foreach (
$_POST[
"id"] as $id)
3718 $ilCtrl->redirect($this,
"showTooltipList");
3760 if ($a_def_option !=
"")
3767 $lng->txt(
"cont_lm_default_layout").
3768 "</b>: ".$lng->txt(
"cont_layout_".$a_def_option).
3769 "</td></tr></table>",
""));
3779 $im_tag.
"</td><td style='padding:5px;'><b>".
$lng->txt(
"cont_layout_".$l).
"</b>: ".
3780 $lng->txt(
"cont_layout_".$l.
"_desc").
"</td></tr></table>",
$l));
3792 $ilCtrl->setParameter($this,
"hierarchy",
"1");
3804 if (!is_array(
$_POST[
"id"]))
3808 if ($a_in_hierarchy)
3810 $ilCtrl->redirect($this,
"chapters");
3814 $ilCtrl->redirect($this,
"pages");
3820 $tpl->setContent($this->form->getHTML());
3830 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
3833 if (is_array(
$_POST[
"id"]))
3835 foreach (
$_POST[
"id"] as $id)
3839 $this->form->addItem($hi);
3843 $this->object->getLayout());
3844 $this->form->addItem(
$layout);
3846 $this->form->addCommandButton(
"savePageLayout",
$lng->txt(
"save"));
3847 $this->form->addCommandButton(
"pages",
$lng->txt(
"cancel"));
3849 $this->form->setTitle(
$lng->txt(
"cont_set_layout"));
3850 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
3861 $ilCtrl->setParameter($this,
"hierarchy",
$_GET[
"hierarchy"]);
3863 foreach (
$_POST[
"id"] as $id)
3871 if (
$_GET[
"hierarchy"] == 1)
3873 $ilCtrl->redirect($this,
"chapters");
3877 $ilCtrl->redirect($this,
"pages");
3896 $ilTabs->setTabActive(
"settings");
3899 $ilToolbar->addButton(
$lng->txt(
"add"),
3900 $ilCtrl->getLinkTarget($this,
"showLMGlossarySelector"));
3902 include_once(
"./Modules/LearningModule/classes/class.ilLMGlossaryTableGUI.php");
3919 $ilTabs->setTabActive(
"settings");
3922 include_once
'Services/Search/classes/class.ilSearchRootSelector.php';
3925 $exp->setExpand(
$_GET[
"search_root_expand"] ?
$_GET[
"search_root_expand"] :
$tree->readRootId());
3926 $exp->setExpandTarget(
$ilCtrl->getLinkTarget($this,
'showLMGlossarySelector'));
3927 $exp->setTargetClass(get_class($this));
3928 $exp->setCmd(
'confirmGlossarySelection');
3929 $exp->setClickableTypes(array(
"glo"));
3930 $exp->addFilter(
"glo");
3934 $tpl->setContent($exp->getOutput());
3945 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
3947 $ilCtrl->setParameter($this,
"glo_ref_id",
$_GET[
"root_id"]);
3948 $cgui->setFormAction(
$ilCtrl->getFormAction($this));
3949 $cgui->setHeaderText(
$lng->txt(
"cont_link_glo_in_lm"));
3950 $cgui->setCancel(
$lng->txt(
"no"),
"selectLMGlossary");
3951 $cgui->setConfirm(
$lng->txt(
"yes"),
"selectLMGlossaryLink");
3952 $tpl->setContent($cgui->getHTML());
3963 $glo_ref_id = (int)
$_GET[
"glo_ref_id"];
3965 $this->
object->autoLinkGlossaryTerms($glo_id);
3980 $glos = $this->
object->getAutoGlossaries();
3981 $glo_ref_id = (int)
$_GET[
"glo_ref_id"];
3983 if (!in_array($glo_id, $glos))
3987 $this->
object->setAutoGlossaries($glos);
3988 $this->
object->update();
3991 $ilCtrl->redirect($this,
"editGlossaries");
4004 $this->
object->removeAutoGlossary((
int)
$_GET[
"glo_id"]);
4005 $this->
object->update();
4008 $ilCtrl->redirect($this,
"editGlossaries");
4021 $ilCtrl->setParameter($this,
"transl",
"");
4022 $ilCtrl->redirect($this,
"chapters");
4035 $ilCtrl->setParameter($this,
"transl",
$_GET[
"totransl"]);
4036 $ilCtrl->redirect($this,
"chapters");
4042 return parent::redrawHeaderActionObject();
sprintf('%.4f', $callTime)
for($col=0; $col< 50; $col++) $d
An exception for terminatinating execution or to throw for unit testing.
User interface class for advanced drop-down selection lists.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
Confirmation screen class.
Export class for content objects.
static isJobActive($a_job_id)
Check if given job is currently active.
Class ilECSLearningModuleSettings.
static getContentObjectId()
static getContentObjectType()
static setAction($a_action)
static storeContentObject($a_type, $a_id, $a_action="cut")
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....
static _createEntry($a_obj_id, $a_action, $a_info_params="", $a_obj_type="", $a_user_comment="", $a_update_last=false)
Creates a new history entry for an object.
TableGUI class for glossary tables.
Import related features for learning modules.
Upload SRT files to all media objects of a learning module.
static getInstance(&$a_content_obj, $a_id=0, $a_halt=true)
static _lookupType($a_obj_id, $a_lm_id=0)
Lookup type.
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.
static _lookupContObjID($a_id)
get learning module / digibook id for lm object
static clipboardCut($a_cont_obj_id, $a_ids)
Copy a set of chapters/pages into the clipboard.
static saveTitles($a_lm, $a_titles, $a_lang="-")
Save titles for lm objects.
static saveExportId($a_lm_id, $a_lmobj_id, $a_exp_id, $a_type="pg")
Save export id.
static updateInternalLinks($a_copied_nodes, $a_parent_type="lm")
Update internal links, after multiple pages have been copied.
static _lookupTitle($a_obj_id)
Lookup title.
static _writePublicAccessStatus($a_pages, $a_cont_obj_id)
update public access flags in lm_data for all pages of a content object@access public
static putInTree($a_obj, $a_parent_id="", $a_target_node_id="")
put this object into content object tree
static writeLayout($a_obj_id, $a_layout, $a_lm=null)
Write layout setting.
static _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.
static _getNotifyStatus($a_usr_id, $a_obj_id)
class ilLinkCheckerTableGUI
class for checking external links in page objects Normally used in Cron jobs, but should be extensibl...
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
TableGUI class for (broken) links in learning module.
manifest.xml file not found-exception for import
This class represents a non editable value in a property form.
static setNotification($type, $user_id, $id, $status=true)
Set notification status for object and user.
static hasNotification($type, $user_id, $id)
Check notification status for object and user.
const TYPE_LM_BLOCKED_USERS
Class ilObjContentObjectGUI.
owner()
show owner of content object
fixTreeConfirm()
confirm screen for tree fixing
addMenuEntry()
display add menu entry form
setPageLayout($a_in_hierarchy=false)
Set layout for multipl pages.
deleteTooltips()
Delete tooltips.
removeLMGlossary()
Remove lm glossary.
deleteMenuEntry()
drop a menu entry
sendMailToBlockedUsers()
Send Mail to blocked users.
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.
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.
initSetPageLayoutForm()
Init set page layout form.
savePublicSectionAccess()
Saves lm access mode.
insertChapter()
Insert (multiple) chapters at node.
executeCommand()
execute command
saveAllTitles()
Save all titles of chapters/pages.
formatInvalidLinkArray(Array $row)
editStyleProperties()
Edit style properties.
copyItems()
Copy items to clipboard.
saveMenuProperties()
save properties
initPropertiesForm()
Init properties form.
proceedDragDrop()
proceed drag and drop operations on pages/chapters
publishExportFile($a_files)
download export file
__construct($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=false)
Constructor.
confirmedDelete($a_parent_subobj_id=0)
delete page object or structure objects
exportSCORM()
create scorm package
pasteChapter($a_parent_subobj_id=0)
paste chapter
exportHTML()
create html package
saveHelpMapping()
Save help mapping.
cutChapter()
Cut chapter(s)
importFileObject($parent_id=NULL, $a_catch_errors=true)
display status information or report errors messages in case of error
saveTooltips()
Save tooltips.
exportObject()
export object
getPropertiesFormValues()
Get values for properties form.
editMasterLanguage()
Edit master language.
static _goto($a_target)
redirect script
popup()
popup window for wysiwyg editor
saveMenuEntry()
save new menu entry
getPublicAccessColValue($a_type, $a_file)
Get public access value for export table.
showTooltipList()
Show export IDs overview.
initMenuForm()
Init menu form.
listLinks()
List all broken links.
listQuestions()
List questions.
selectFooter()
select page as footer
setilLMMenu($a_offline=false, $a_export_format="", $a_active="content", $a_use_global_tabs=false, $a_as_subtabs=false, $a_cur_page=0, $a_lang="", $a_export_all=false)
get lm menu html
createStyle()
Create Style.
setContentSubTabs($a_active)
Set pages tabs.
initMenuEntryForm($a_mode="edit")
Init menu entry form.
initStylePropertiesForm()
Init style properties form.
setSubTabs($a_active)
Set sub tabs.
setPageLayoutInHierarchy()
Set layout for multipl pages.
saveProperties()
save properties
switchToLanguage()
Switch to language.
createPDF()
export content object
listBlockedUsers()
List blocked users.
updateMenuEntry()
update a menu entry
permSave()
save permissions
insertChapterClip()
Insert Chapter from clipboard.
activatePages()
activates or deactivates pages
moveChapter($a_parent_subobj_id=0)
move a single chapter (selection)
downloadPDFFile()
download export file
afterSave(ilObject $a_new_object)
Post (successful) object creation hook.
view()
view content object
explorer()
output explorer tree
static getLayoutOption($a_txt, $a_var, $a_def_option="")
Save help mapping.
selectLMGlossaryLink()
Select a glossary and link all its terms.
cancelDelete()
cancel delete
showLMGlossarySelector()
Select LM Glossary.
copyChapter($a_parent_subobj_id=0)
copy a single chapter (selection)
initImportForm($a_new_type)
Init import form.
editMenuEntry()
edit menu entry form
getBlockedUsersMailSignature()
Get mail signature for blocked users.
editGlossaries()
Edit automatically linked glossaries.
saveStyleSettings()
Save style settings.
setQuestionsSubTabs($a_active)
Set pages tabs.
export()
export content object
addTabs($a_act="")
Adds tabs.
resetNumberOfTries()
Reset number of tries.
editMenuProperties()
Edit menu properies.
Class ilObjContentObject.
static getAvailableLayouts()
get all available lm layouts
static isOnlineHelpModule($a_id, $a_as_obj_id=false)
Is module an online module.
Class ilObjLearningModule.
Class ilObjStyleSheetGUI.
static _lookupStandard($a_id)
Lookup standard flag.
static _getStandardStyles($a_exclude_default_style=false, $a_include_deactivated=false, $a_scope=0)
Get standard styles.
static _lookupLogin($a_user_id)
lookup login
GUI class for the workflow of copying objects.
Class ilObjectGUI Basic methods of all Output classes.
prepareOutput($a_show_subobjects=true)
prepare output
viewObject()
list childs of current object
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
getCreationMode()
get creation mode
addHeaderAction()
Add header action menu.
createObject()
create new object form
setFormAction($a_cmd, $a_formaction)
set specific form action for command
setTabs()
set admin tabs @access public
setReturnLocation($a_cmd, $a_location)
set specific return location for command
static getInstance($a_obj_id)
GUI class for object translation handling.
static getInstance($a_obj_id)
Get instance.
Class ilObject Basic functions for all objects.
static _lookupObjId($a_id)
update()
update object in db
static _lookupTitle($a_id)
lookup object title
static _lookupObjectId($a_ref_id)
lookup object id
getRefId()
get reference id @access public
static _lookupType($a_id, $a_reference=false)
lookup object type
Page multilinguality GUI class.
static _lookupActive($a_id, $a_parent_type, $a_check_scheduled_activation=false, $a_lang="-")
lookup activation status
static _writeActive($a_id, $a_parent_type, $a_active, $a_reset_scheduled_activation=true, $a_lang="-")
write activation status
static resetTries($a_q_id, $a_user_id)
Reset tries.
static unlock($a_q_id, $a_user_id)
Reset tries.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static getPluginObject($a_ctype, $a_cname, $a_slot_id, $a_pname)
Get Plugin Object.
tree explorer lm public area
This class represents an option in a radio group.
static set($a_var, $a_val)
Set a value.
static get($a_var)
Get a value.
Class ilStructureObjectGUI.
special template class to simplify handling of ITX/PEAR
This class represents a text area property in a property form.
This class represents a text property in a property form.
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
static appendUrlParameterString($a_url, $a_par, $xml_style=false)
append URL parameter string ("par1=value1&par2=value2...") to given URL string
static getImageTagByType($a_type, $a_path, $a_big=false)
Builds an html image tag TODO: function still in use, but in future use getImagePath and move HTML-Co...
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
static redirect($a_script)
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.
if(!is_dir( $entity_dir)) exit("Fatal Error ([A-Za-z0-9]+)\s+" &#(? foreach( $entity_files as $file) $output
interface ilLinkCheckerGUIRowHandling
for($i=1; $i<=count($kw_cases_sel); $i+=1) $lang
redirection script todo: (a better solution should control the processing via a xml file)
if(!file_exists("$old.txt")) if( $old===$new) if(file_exists("$new.txt")) $file
if(!is_array($argv)) $options