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';
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");
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");
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'));
438 $layout = self::getLayoutOption($lng->txt(
"cont_def_layout"),
"lm_layout");
443 $lpp->
setInfo($this->lng->txt(
"cont_layout_per_page_info"));
444 $this->form->addItem($lpp);
447 $page_header =
new ilSelectInputGUI($lng->txt(
"cont_page_header"),
"lm_pg_header");
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);
472 $progr_icons =
new ilCheckboxInputGUI($lng->txt(
"cont_progress_icons"),
"progr_icons");
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);
486 $op2 =
new ilRadioOption($lng->txt(
"cont_tries_store"), 1,$lng->txt(
"cont_tries_store_info"));
487 $radg->addOption($op2);
488 $this->form->addItem($radg);
491 $qfeed =
new ilCheckboxInputGUI($lng->txt(
"cont_restrict_forw_nav"),
"restrict_forw_nav");
492 $qfeed->
setInfo($this->lng->txt(
"cont_restrict_forw_nav_info"));
493 $this->form->addItem($qfeed);
496 $not =
new ilCheckboxInputGUI($lng->txt(
"cont_notify_on_blocked_users"),
"notification_blocked_users");
497 $not->
setInfo($this->lng->txt(
"cont_notify_on_blocked_users_info"));
498 $qfeed->addSubItem($not);
501 $qfeed =
new ilCheckboxInputGUI($lng->txt(
"cont_disable_def_feedback"),
"disable_def_feedback");
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);
520 $com =
new ilCheckboxInputGUI($lng->txt(
"enable_hist_user_comments"),
"cobj_user_comments");
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);
756 $style_sel =
new ilSelectInputGUI($lng->txt(
"cont_current_style"),
"style_id");
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");
832 $form->addItem($menu);
837 $form->addItem($toc);
840 $print =
new ilCheckboxInputGUI($this->lng->txt(
"cont_print_view"),
"cobj_act_print");
842 $form->addItem($print);
845 $glo =
new ilCheckboxInputGUI($this->lng->txt(
"cont_print_view_pre_glo"),
"cobj_act_print_prev_glo");
847 $print->addSubItem($glo);
850 $hhfp =
new ilCheckboxInputGUI($this->lng->txt(
"cont_hide_head_foot_print"),
"hide_head_foot_print");
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");
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"),
966 $exp->setTargetGet(
"obj_id");
967 $exp->setExpandTarget($this->ctrl->getLinkTarget($this,
"explorer"));
969 if (
$_GET[
"lmmovecopy"] ==
"1")
975 if (
$_GET[
"lmexpand"] ==
"")
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);
1000 if ($ilCtrl->isAsynch())
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");
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");
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",
"");
1260 $ml_head = self::getMultiLangHeader($this->
object->getId(), $this);
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);
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();
1444 $lm_obj = $this->
ilias->obj_factory->getInstanceByObjId($lm_id);
1448 $page = $lm_page->getPageObject();
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'),
2689 if ($ilSetting->get(
"pub_section"))
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());
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');
2832 $row[
'action_html'] =
$actions->getHTML();
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");
2970 $form->addItem($ti);
2973 $ta =
new ilTextInputGUI($this->lng->txt(
"lm_menu_entry_target"),
"target");
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);
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);
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))
3384 $ilErr->raiseError($lng->txt(
"msg_no_perm_read_lm"), $ilErr->FATAL);
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");
3504 $tpl->setContent(
$tbl->getHTML());
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");
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");
3629 $tpl->setContent(
$tbl->getHTML());
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);
3842 $layout = self::getLayoutOption($lng->txt(
"cont_layout"),
"layout",
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");
3905 $tpl->setContent(
$tab->getHTML());
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();
listBlockedUsers()
List blocked users.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static _lookupLogin($a_user_id)
lookup login
cutItems($a_return="chapters")
Copy items to clipboard, then cut them from the current tree.
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)
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.
Import related features for learning modules.
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.
Upload SRT files to all media objects of a learning module.
const TYPE_LM_BLOCKED_USERS
setTabs($a_act="")
output tabs
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
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
Class ilObject Basic functions for all objects.
savePageLayout()
Save page layout.
listLinks()
List all broken links.
static _getStandardStyles($a_exclude_default_style=false, $a_include_deactivated=false, $a_scope=0)
Get standard styles.
activatePages()
activates or deactivates pages
setReturnLocation($a_cmd, $a_location)
set specific return location for command
saveTooltips()
Save tooltips.
static getAvailableLayouts()
get all available lm layouts
static get($a_var)
Get a value.
const LP_MODE_COLLECTION_MANUAL
static _writePublicAccessStatus($a_pages, $a_cont_obj_id)
update public access flags in lm_data for all pages of a content object
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
static _lookupContObjID($a_id)
get learning module / digibook id for lm object
editMenuProperties()
Edit menu properies.
viewObject()
list childs of current object
createObject()
create new object form
createPDF()
export content object
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)
initImportForm($a_new_type)
Init import form.
saveStyleSettings()
Save style settings.
for($col=0; $col< 50; $col++) $d
getPropertiesFormValues()
Get values for properties form.
view()
view content object
Class ilECSLearningModuleSettings.
static _lookupObjectId($a_ref_id)
lookup object id
fixTreeConfirm()
confirm screen for tree fixing
static _lookupStandard($a_id)
Lookup standard flag.
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
Export User Interface Class.
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
if(!is_dir( $entity_dir)) exit("Fatal Error ([A-Za-z0-9]+)\+" &#(? foreach( $entity_files as $file) $output
prepareOutput($a_show_subobjects=true)
prepare output
selectFooter()
select page as footer
saveProperties()
save properties
saveHelpMapping()
Save help mapping.
static storeContentObject($a_type, $a_id, $a_action="cut")
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)
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
static _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
importFileObject($parent_id=NULL, $a_catch_errors=true)
display status information or report errors messages in case of error
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.
TableGUI class for glossary tables.
static clipboardCut($a_cont_obj_id, $a_ids)
Copy a set of chapters/pages into the clipboard.
This class represents a text property in a property form.
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
static getInstance(&$a_content_obj, $a_id=0, $a_halt=true)
permSave()
save permissions
insertChapterClip()
Insert Chapter from clipboard.
saveMenuEntry()
save new menu entry
copyChapter($a_parent_subobj_id=0)
copy a single chapter (selection)
Page multilinguality GUI class.
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.
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...
getID()
Return the unique ID value assigned to this spreadsheet workbook.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
manifest.xml file not found-exception for import
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.
static deliverFile($a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
Create styles array
The data for the language used.
static _lookupType($a_id, $a_reference=false)
lookup object type
static getContentObjectType()
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.
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.
static _getNotifyStatus($a_usr_id, $a_obj_id)
editMenuEntry()
edit menu entry form
This class represents a non editable value in a property form.
static getContentObjectId()
Create new PHPExcel object
obj_idprivate
Class ilObjStyleSheetGUI.
confirmGlossarySelection()
Confirm glossary selection.
static unlock($a_q_id, $a_user_id)
Reset tries.
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.
__construct($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=false)
Constructor.
Class ilObjContentObjectGUI.
for($i=1; $i<=count($kw_cases_sel); $i+=1) $lang
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...
static deleteTooltip($a_id)
Delete tooltip.
savePublicSectionPages()
Saves public lm pages.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
export()
export content object
setTabs()
set admin tabs public
if(!file_exists("$old.txt")) if($old===$new) if(file_exists("$new.txt")) $file
editGlossaries()
Edit automatically linked glossaries.
initSetPageLayoutForm()
Init set page layout form.
Class ilObjContentObject.
switchToLanguage()
Switch to language.
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 setAction($a_action)
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.
executeCommand()
execute command
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
static _goto($a_target)
redirect script