4require_once(
"./Modules/ScormAicc/classes/class.ilObjSCORMLearningModuleGUI.php");
5require_once(
"./Modules/Scorm2004/classes/class.ilObjSCORM2004LearningModule.php");
6require_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Export.php");
7include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheetGUI.php");
8include_once(
"./Services/COPage/Layout/classes/class.ilPageLayout.php");
57 public function __construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output =
true)
61 $this->lng =
$DIC->language();
62 $this->access =
$DIC->access();
63 $this->ctrl =
$DIC->ctrl();
64 $this->tpl =
$DIC[
"tpl"];
65 $this->tabs =
$DIC->tabs();
66 $this->rbacsystem =
$DIC->rbac()->system();
67 $this->tree =
$DIC->repositoryTree();
68 $this->toolbar =
$DIC->toolbar();
70 $this->
help = $DIC[
"ilHelp"];
71 $this->
error = $DIC[
"ilErr"];
72 $this->
user = $DIC->user();
73 $this->tool_context =
$DIC->globalScreen()->tool()->context();
76 $lng->loadLanguageModule(
"content");
77 $lng->loadLanguageModule(
"sahs");
78 $lng->loadLanguageModule(
"search");
79 $lng->loadLanguageModule(
"exp");
82 #$this->tabs_gui = new ilTabsGUI();
96 $next_class = $ilCtrl->getNextClass($this);
97 $cmd = $ilCtrl->getCmd();
99 if ($this->object->getEditable() && $cmd !=
"showEditTree") {
104 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
107 $form_gui->updateExpanded();
108 switch ($next_class) {
114 switch (
$_GET[
"notes_mode"]) {
116 $ilTabs->setTabActive(
"sahs_organization");
122 case "ilscorm2004chaptergui":
123 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004ChapterGUI.php");
125 $chap_gui->setParentGUI($this);
126 return $ilCtrl->forwardCommand($chap_gui);
129 case "ilscorm2004seqchaptergui":
130 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004SeqChapterGUI.php");
132 $chap_gui->setParentGUI($this);
133 return $ilCtrl->forwardCommand($chap_gui);
136 case "ilscorm2004scogui":
137 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004ScoGUI.php");
139 $sco_gui->setParentGUI($this);
140 return $ilCtrl->forwardCommand($sco_gui);
143 case "ilscorm2004assetgui":
144 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004AssetGUI.php");
146 $ass_gui->setParentGUI($this);
147 return $ilCtrl->forwardCommand($ass_gui);
150 case "ilscorm2004pagenodegui":
151 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004PageNodeGUI.php");
153 $page_gui->setParentGUI($this);
154 $ilCtrl->forwardCommand($page_gui);
158 parent::executeCommand();
171 $exp->handleCommand();
183 if (
$_GET[
"obj_id"] > 0) {
184 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
187 if (in_array(
$type, array(
"sco",
"chap",
"seqc",
"page"))) {
188 $this->ctrl->setParameter($this,
"obj_id",
$_GET[
"obj_id"]);
189 $this->ctrl->redirect($this,
"jumpToNode");
191 if ($a_to_organization) {
192 $this->ctrl->redirect($this,
"showOrganization");
194 $this->ctrl->redirect($this,
"properties");
205 public function frameset($a_to_organization =
false)
207 if ($this->object->getEditable()) {
208 $this->ctrl->redirect($this,
"properties");
210 $this->tpl =
new ilGlobalTemplate(
"tpl.sahs_edit_frameset.html",
false,
false,
"Modules/ScormAicc");
211 $this->tpl->setVariable(
213 $this->ctrl->getLinkTarget($this,
"properties")
215 $this->tpl->printToStdout(
"DEFAULT",
false);
220 public function jumpToNode($a_anchor_node =
"", $a_highlight_ids =
"")
224 $anchor = ($a_anchor_node !=
"")
225 ?
"node_" . $a_anchor_node
228 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
230 $ilCtrl->setParameter($this,
"obj_id",
$_GET[
"obj_id"]);
233 $ilCtrl->setParameterByClass(
"ilscorm2004scogui",
"highlight", $a_highlight_ids);
234 $ilCtrl->redirectByClass(
"ilscorm2004scogui",
"showOrganization", $anchor);
237 $ilCtrl->setParameterByClass(
"ilscorm2004assetgui",
"highlight", $a_highlight_ids);
238 $ilCtrl->redirectByClass(
"ilscorm2004assetgui",
"showOrganization", $anchor);
241 $ilCtrl->setParameterByClass(
"ilscorm2004chaptergui",
"highlight", $a_highlight_ids);
242 $ilCtrl->redirectByClass(
"ilscorm2004chaptergui",
"showOrganization", $anchor);
245 $ilCtrl->setParameterByClass(
"ilscorm2004seqchaptergui",
"highlight", $a_highlight_ids);
246 $ilCtrl->redirectByClass(
"ilscorm2004seqchaptergui",
"showOrganization", $anchor);
249 $ilCtrl->redirectByClass(
"ilscorm2004pagenodegui",
"edit");
267 $this->
setSubTabs(
"settings",
"general_settings");
269 $lng->loadLanguageModule(
"style");
272 if ($this->object->editable != 1) {
274 $ilTabs->setSubTabActive(
'cont_settings');
276 $ilToolbar->addButtonInstance($this->object->getViewButton());
281 $parent_ref_id =
$tree->getParentId((
int)
$_GET[
"ref_id"]);
282 if (
$rbacsystem->checkAccess(
"create", $parent_ref_id,
"glo")) {
283 $ilToolbar->addButton(
284 $this->lng->txt(
"cont_glo_create"),
285 $ilCtrl->getLinkTarget($this,
"createGlossary")
288 $ilToolbar->addButton(
289 $this->lng->txt(
"cont_glo_assign"),
290 $ilCtrl->getLinkTarget($this,
"assignGlossary")
293 $ilToolbar->addButton(
294 $this->lng->txt(
"cont_glo_detach"),
295 $ilCtrl->getLinkTarget($this,
"detachGlossary")
300 $fixed_style =
$ilSetting->get(
"fixed_content_style_id");
301 $style_id = $this->
object->getStyleSheetId();
303 if ($fixed_style == 0) {
310 $st_styles[0] = $this->lng->txt(
"default");
316 $ilToolbar->addSeparator();
319 $ilToolbar->addButton(
320 $this->lng->txt(
"cont_edit_style"),
321 $ilCtrl->getLinkTarget($this,
"editStyle")
323 $ilToolbar->addButton(
324 $this->lng->txt(
"cont_delete_style"),
325 $ilCtrl->getLinkTarget($this,
"deleteStyle")
331 $ilToolbar->addSeparator();
333 $ilToolbar->addButton(
334 $this->lng->txt(
"sty_create_ind_style"),
335 $ilCtrl->getLinkTarget($this,
"createStyle")
342 if ($this->object->editable != 1) {
345 $tpl->setContent($this->form->getHTML());
349 $tpl->setContent($this->form->getHTML());
365 $this->
object->checkMasteryScoreValues();
367 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
369 $this->form->setFormAction($ilCtrl->getFormAction($this));
370 $this->form->setTitle($this->lng->txt(
"cont_lm_properties"));
373 $ti =
new ilTextInputGUI($this->lng->txt(
"title"),
"Fobject_title");
374 $ti->setMaxLength(200);
375 $this->form->addItem($ti);
379 $this->form->addItem($ti);
384 $this->form->addItem($ne);
388 $ne->setValue($this->object->getModuleVersion());
389 $ne->setInfo($this->lng->txt(
"cont_sc_version_info"));
390 $this->form->addItem($ne);
396 $sh->setTitle($this->lng->txt(
"activation"));
397 $this->form->addItem($sh);
401 $cb->setInfo($this->lng->txt(
"cont_online_info"));
402 $this->form->addItem($cb);
405 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_offline_mode_allow"),
"cobj_offline_mode");
407 include_once(
"./Modules/ScormAicc/classes/class.ilSCORMOfflineMode.php");
409 $cb->setDisabled(
true);
410 $cb->setInfo($this->lng->txt(
"cont_offline_mode_disable_not_allowed_info"));
412 $cb->setInfo($this->lng->txt(
"cont_offline_mode_allow_info"));
414 $this->form->addItem($cb);
420 $sh->setTitle($this->lng->txt(
"cont_presentation"));
421 $this->form->addItem($sh);
437 $op0 =
new ilRadioOption($this->lng->txt(
"cont_open_normal"),
"0");
438 $radg->addOption($op0);
439 $op1 =
new ilRadioOption($this->lng->txt(
"cont_open_iframe"),
"1");
440 $radg->addOption($op1);
441 $op2 =
new ilRadioOption($this->lng->txt(
"cont_open_window"),
"5");
442 $radg->addOption($op2);
445 $ni->setMaxLength(4);
447 $op1->addSubItem($ni);
449 $ni->setMaxLength(4);
451 $op2->addSubItem($ni);
454 $ni->setMaxLength(4);
456 $ni->setInfo($this->lng->txt(
"cont_width_height_info"));
457 $op1->addSubItem($ni);
459 $ni->setMaxLength(4);
461 $ni->setInfo($this->lng->txt(
"cont_width_height_info"));
462 $op2->addSubItem($ni);
465 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_ie_force_render"),
"cobj_ie_force_render");
467 $cb->setInfo($this->lng->txt(
"cont_ie_force_render_info"));
468 $op2->addSubItem($cb);
470 $this->form->addItem($radg);
477 $cb->setInfo($this->lng->txt(
"cont_nomenu_info"));
478 $this->form->addItem($cb);
484 $cb->setInfo($this->lng->txt(
"cont_hidenavig_info"));
485 $this->form->addItem($cb);
488 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_auto_last_visited"),
"cobj_auto_last_visited");
490 $cb->setInfo($this->lng->txt(
"cont_auto_last_visited_info"));
491 $this->form->addItem($cb);
494 $obj_service->commonSettings()->legacyForm($this->form, $this->
object)->addTileImage();
500 $sh->setTitle($this->lng->txt(
"cont_scorm_options"));
501 $this->form->addItem($sh);
505 $op0 =
new ilRadioOption($this->lng->txt(
"cont_sc_less_mode_normal"),
"normal");
506 $radg->addOption($op0);
507 $op1 =
new ilRadioOption($this->lng->txt(
"cont_sc_less_mode_browse"),
"browse");
508 $radg->addOption($op1);
511 $cmop0 =
new ilRadioOption($this->lng->txt(
"cont_credit_on"),
"credit");
512 $cmradg->addOption($cmop0);
513 $cmop1 =
new ilRadioOption($this->lng->txt(
"cont_credit_off"),
"no_credit");
514 $cmradg->addOption($cmop1);
515 $op0->addSubItem($cmradg);
518 "n" => $this->lng->txt(
"cont_sc_auto_review_no"),
519 "r" => $this->lng->txt(
"cont_sc_auto_review_completed_not_failed_or_passed"),
520 "p" => $this->lng->txt(
"cont_sc_auto_review_passed"),
521 "q" => $this->lng->txt(
"cont_sc_auto_review_passed_or_failed"),
522 "c" => $this->lng->txt(
"cont_sc_auto_review_completed"),
523 "d" => $this->lng->txt(
"cont_sc_auto_review_completed_and_passed"),
524 "y" => $this->lng->txt(
"cont_sc_auto_review_completed_or_passed"),
525 "s" => $this->lng->txt(
"cont_sc_store_if_previous_score_was_lower")
528 $si->setOptions($options);
529 $si->setInfo($this->lng->txt(
"cont_sc_auto_review_info_2004"));
530 $op0->addSubItem(
$si);
532 $this->form->addItem($radg);
536 if ($this->object->getMasteryScoreValues() !=
"") {
537 $ni =
new ilNumberInputGUI($this->lng->txt(
"cont_mastery_score_2004"),
"mastery_score");
538 $ni->setMaxLength(3);
540 $ni->setInfo($this->lng->txt(
"cont_mastery_score_2004_info") . $this->object->getMasteryScoreValues());
541 $this->form->addItem($ni);
548 $sh->setTitle($this->lng->txt(
"cont_rte_settings"));
549 $this->form->addItem($sh);
554 $cb->setInfo($this->lng->txt(
"cont_sc_usession_info"));
555 $this->form->addItem($cb);
558 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_fourth_edition"),
"cobj_fourth_edition");
560 $cb->setInfo($this->lng->txt(
"cont_fourth_edition_info"));
561 $this->form->addItem($cb);
566 $cb->setInfo($this->lng->txt(
"cont_sequencing_info"));
567 $this->form->addItem($cb);
570 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_interactions"),
"cobj_interactions");
572 $cb->setInfo($this->lng->txt(
"cont_interactions_info"));
573 $this->form->addItem($cb);
578 $cb->setInfo($this->lng->txt(
"cont_objectives_info"));
579 $this->form->addItem($cb);
584 $cb->setInfo($this->lng->txt(
"cont_comments_info"));
585 $this->form->addItem($cb);
588 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_time_from_lms"),
"cobj_time_from_lms");
590 $cb->setInfo($this->lng->txt(
"cont_time_from_lms_info"));
591 $this->form->addItem($cb);
594 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_check_values"),
"cobj_check_values");
596 $cb->setInfo($this->lng->txt(
"cont_check_values_info"));
597 $this->form->addItem($cb);
600 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_auto_suspend"),
"cobj_auto_suspend");
602 $cb->setInfo($this->lng->txt(
"cont_auto_suspend_info"));
603 $this->form->addItem($cb);
607 0 => $this->lng->txt(
"cont_sc_id_setting_user_id"),
608 1 => $this->lng->txt(
"cont_sc_id_setting_user_login"),
609 2 => $this->lng->txt(
"cont_sc_id_setting_user_id_plus_ref_id"),
610 3 => $this->lng->txt(
"cont_sc_id_setting_user_login_plus_ref_id"),
611 4 => $this->lng->txt(
"cont_sc_id_setting_user_id_plus_obj_id"),
612 5 => $this->lng->txt(
"cont_sc_id_setting_user_login_plus_obj_id")
615 $si->setOptions($options);
616 $si->setInfo($this->lng->txt(
"cont_sc_id_setting_info"));
617 $this->form->addItem(
$si);
621 0 => $this->lng->txt(
"cont_sc_name_setting_last_firstname"),
622 1 => $this->lng->txt(
"cont_sc_name_setting_first_lastname"),
623 2 => $this->lng->txt(
"cont_sc_name_setting_fullname"),
624 3 => $this->lng->txt(
"cont_sc_name_setting_salutation_lastname"),
625 4 => $this->lng->txt(
"cont_sc_name_setting_first_name"),
626 9 => $this->lng->txt(
"cont_sc_name_setting_no_name")
629 $si->setOptions($options);
630 $si->setInfo($this->lng->txt(
"cont_sc_name_setting_info"));
631 $this->form->addItem(
$si);
637 $sh->setTitle($this->lng->txt(
"cont_debugging"));
638 $this->form->addItem($sh);
643 if ($this->object->getDebugActivated() ==
false) {
644 $cb->setDisabled(
true);
645 $cb->setInfo($this->lng->txt(
"cont_debug_deactivated"));
647 $cb->setInfo($this->lng->txt(
"cont_debug_deactivate"));
649 $this->form->addItem($cb);
650 $this->form->addCommandButton(
"saveProperties",
$lng->txt(
"save"));
660 $values[
"Fobject_title"] = $this->
object->getTitle();
661 $values[
"Fobject_description"] = $this->
object->getLongDescription();
662 if (!$this->object->getOfflineStatus()) {
663 $values[
"cobj_online"] =
true;
665 $values[
"cobj_offline_mode"] = $this->
object->getOfflineMode();
666 $values[
"open_mode"] = $this->
object->getOpenMode();
667 $values[
"width_0"] = $this->
object->getWidth();
668 $values[
"width_1"] = $this->
object->getWidth();
669 $values[
"height_0"] = $this->
object->getHeight();
670 $values[
"height_1"] = $this->
object->getHeight();
671 $values[
"cobj_ie_force_render"] = $this->
object->getIe_force_render();
672 $values[
"cobj_nomenu"] = $this->
object->getNoMenu();
673 $values[
"cobj_hidenavig"] = $this->
object->getHideNavig();
674 $values[
"cobj_auto_last_visited"] = $this->
object->getAuto_last_visited();
675 $values[
"lesson_mode"] = $this->
object->getDefaultLessonMode();
676 $values[
"credit_mode"] = $this->
object->getCreditMode();
677 $values[
"auto_review"] = $this->
object->getAutoReviewChar();
678 $values[
"mastery_score"] = $this->
object->getMasteryScore();
679 $values[
"cobj_session"] = $this->
object->getSession();
680 $values[
"cobj_fourth_edition"] = $this->
object->getFourth_edition();
681 $values[
"cobj_sequencing"] = $this->
object->getSequencing();
682 $values[
"cobj_interactions"] = $this->
object->getInteractions();
683 $values[
"cobj_objectives"] = $this->
object->getObjectives();
684 $values[
"cobj_comments"] = $this->
object->getComments();
685 $values[
"cobj_time_from_lms"] = $this->
object->getTime_from_lms();
686 $values[
"cobj_check_values"] = $this->
object->getCheck_values();
687 $values[
"cobj_auto_suspend"] = $this->
object->getAutoSuspend();
688 $values[
"id_setting"] = $this->
object->getIdSetting();
689 $values[
"name_setting"] = $this->
object->getNameSetting();
690 $values[
"cobj_debug"] = $this->
object->getDebug();
691 $this->form->setValuesByArray($values);
703 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
708 "" =>
$lng->txt(
"please_select"),
710 $langs =
$lng->getInstalledLanguages();
711 $lng->loadLanguageModule(
"meta");
712 foreach ($langs as $l) {
713 $options[$l] =
$lng->txt(
"meta_l_" . $l);
715 $loc =
new ilSelectInputGUI($this->lng->txt(
"cont_localization"),
"localization");
716 $loc->setOptions($options);
717 $loc->setInfo($this->lng->txt(
"cont_localization_info"));
718 $this->form->addItem($loc);
722 $ne->setInfo(
$lng->txt(
"sahs_glo_info"));
723 $this->form->addItem($ne);
726 $lng->loadLanguageModule(
"style");
727 $fixed_style =
$ilSetting->get(
"fixed_content_style_id");
728 $style_id = $this->
object->getStyleSheetId();
730 if ($fixed_style > 0) {
733 $this->lng->txt(
"global_fixed") .
")");
734 $this->form->addItem($st);
742 $st_styles[0] = $this->lng->txt(
"default");
750 $this->form->addItem($st);
763 $style_sel->setOptions($st_styles);
764 $style_sel->setValue($style_id);
765 $this->form->addItem($style_sel);
771 $ni->setInfo(
$lng->txt(
"cont_qtries_info"));
772 $ni->setMaxLength(3);
774 $this->form->addItem($ni);
777 $this->form->addCommandButton(
"saveProperties",
$lng->txt(
"save"));
779 $this->form->setTitle(
$lng->txt(
"cont_scorm_ed_properties"));
780 $this->form->setFormAction($ilCtrl->getFormAction($this));
793 $values[
"glossary"] = $this->lng->txt(
"cont_no_glossary");
795 $values[
"q_tries"] = $this->
object->getTries();
796 $values[
"localization"] = $this->
object->getLocalization();
797 $values[
"style_id"] = $this->
object->getStyleSheetId();
799 $this->form->setValuesByArray($values);
810 $this->form->checkInput();
812 if ($this->object->editable != 1) {
817 if ($tmpOfflineMode ==
true) {
819 $tmpFourth_edition =
false;
820 if ($this->object->getOfflineMode() ==
false) {
821 $this->
object->zipLmForOfflineMode();
825 if (isset(
$_POST[
"mastery_score"])) {
826 $this->
object->setMasteryScore(
$_POST[
"mastery_score"]);
830 $t_auto_review =
$_POST[
"auto_review"];
833 if ($t_auto_review ==
"s") {
834 $t_auto_suspend =
true;
839 $t_height = $this->
object->getHeight();
840 if (
$_POST[
"height_0"] != $this->object->getHeight()) {
841 $t_height =
$_POST[
"height_0"];
843 if (
$_POST[
"height_1"] != $this->object->getHeight()) {
844 $t_height =
$_POST[
"height_1"];
847 $t_width = $this->
object->getWidth();
848 if (
$_POST[
"width_0"] != $this->object->getWidth()) {
849 $t_width =
$_POST[
"width_0"];
851 if (
$_POST[
"width_1"] != $this->object->getWidth()) {
852 $t_width =
$_POST[
"width_1"];
855 $this->
object->setOfflineStatus(!(
$_POST[
'cobj_online']));
856 $this->
object->setOpenMode(
$_POST[
"open_mode"]);
857 $this->
object->setWidth($t_width);
858 $this->
object->setHeight($t_height);
859 $this->
object->setCreditMode(
$_POST[
"credit_mode"]);
860 $this->
object->setMaxAttempt(
$_POST[
"max_attempt"]);
861 $this->
object->setAutoReviewChar($t_auto_review);
862 $this->
object->setDefaultLessonMode(
$_POST[
"lesson_mode"]);
863 $this->
object->setSession($t_session);
868 $this->
object->setFourth_edition($tmpFourth_edition);
869 $this->
object->setSequencing($tmpSequencing);
875 $this->
object->setAutoSuspend($t_auto_suspend);
876 $this->
object->setOfflineMode($tmpOfflineMode);
878 $this->
object->setIdSetting(
$_POST[
"id_setting"]);
879 $this->
object->setNameSetting(
$_POST[
"name_setting"]);
880 $this->
object->setTitle(
$_POST[
"Fobject_title"]);
881 $this->
object->setDescription(
$_POST[
"Fobject_description"]);
884 $obj_service->commonSettings()->legacyForm($this->form, $this->
object)->saveTileImage();
887 if ($this->form->checkInput()) {
888 $this->
object->setTries(
$_POST[
"q_tries"]);
889 $this->
object->setLocalization(
$_POST[
"localization"]);
891 if (
$ilSetting->get(
"fixed_content_style_id") <= 0 &&
893 || $this->object->getStyleSheetId() == 0)) {
898 $this->
object->update();
899 ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"),
true);
900 $this->ctrl->redirect($this,
"properties");
910 $this->
object->setAssignedGlossary(0);
911 $this->
object->update();
912 $ilCtrl->redirect($this,
"properties");
923 $tpl->setContent($this->form->getHTML());
934 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
939 $ti->setRequired(
true);
940 $this->form->addItem($ti);
944 $this->form->addItem($ta);
946 $this->form->addCommandButton(
"saveGlossary",
$lng->txt(
"save"));
947 $this->form->addCommandButton(
"properties",
$lng->txt(
"cancel"));
949 $this->form->setTitle(
$lng->txt(
"cont_glo_create"));
950 $this->form->setFormAction($ilCtrl->getFormAction($this));
964 $parent_ref_id =
$tree->getParentId((
int)
$_GET[
"ref_id"]);
965 if (!
$rbacsystem->checkAccess(
"create", $parent_ref_id,
"glo")) {
967 $ilCtrl->redirect($this,
"properties");
971 if ($this->form->checkInput()) {
973 $newObj->setType(
"glo");
974 $newObj->setTitle(
$_POST[
"title"]);
975 $newObj->setDescription(
$_POST[
"description"]);
976 $newObj->setVirtualMode(
"none");
978 $newObj->createReference();
979 $newObj->putInTree($parent_ref_id);
980 $newObj->setPermissions($parent_ref_id);
983 $this->
object->setAssignedGlossary($newObj->getId());
984 $this->
object->update();
986 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
987 $ilCtrl->redirect($this,
"properties");
990 $this->form->setValuesByPost();
991 $tpl->setContent($this->form->getHtml());
1003 include_once(
"./Modules/Scorm2004/classes/class.ilGlossarySelectorGUI.php");
1005 $ilCtrl->getLinkTarget($this,
"selectGlossary"),
1006 "ilobjscorm2004learningmodulegui"
1008 $exp->setSelectableTypes(array(
"glo"));
1010 if (
$_GET[
"expand"] ==
"") {
1011 $expanded =
$tree->readRootId();
1013 $expanded =
$_GET[
"expand"];
1015 $exp->setExpand($expanded);
1017 $exp->setTargetGet(
"glo_id");
1020 $exp->setParamsGet($this->ctrl->getParameterArray($this,
"assignGlossary"));
1023 $exp->setFiltered(
true);
1025 $exp->addFilter(
"root");
1026 $exp->addFilter(
"cat");
1027 $exp->addFilter(
"grp");
1028 $exp->addFilter(
"fold");
1029 $exp->addFilter(
"crs");
1030 $exp->addFilter(
"glo");
1034 $tpl->setContent($exp->getOutput());
1045 $this->
object->update();
1046 $ilCtrl->redirect($this,
"properties");
1054 if ($this->
id != 0) {
1055 if ($this->call_by_reference) {
1071 $tpl->setContent($this->form->getHTML());
1084 $lng->loadLanguageModule(
"style");
1086 $ilTabs->setTabActive(
"settings");
1088 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
1091 $fixed_style =
$ilSetting->get(
"fixed_content_style_id");
1092 $style_id = $this->
object->getStyleSheetId();
1094 if ($fixed_style > 0) {
1097 $this->lng->txt(
"global_fixed") .
")");
1098 $this->form->addItem($st);
1106 $st_styles[0] = $this->lng->txt(
"default");
1109 if ($style_id > 0) {
1114 $this->form->addItem($st);
1119 $this->form->addCommandButton(
1121 $lng->txt(
"cont_edit_style")
1123 $this->form->addCommandButton(
1125 $lng->txt(
"cont_delete_style")
1140 $style_sel->setOptions($st_styles);
1141 $style_sel->setValue($style_id);
1142 $this->form->addItem($style_sel);
1144 $this->form->addCommandButton(
1145 "saveStyleSettings",
1148 $this->form->addCommandButton(
1150 $lng->txt(
"sty_create_ind_style")
1154 $this->form->setTitle(
$lng->txt(
"cont_style"));
1155 $this->form->setFormAction($ilCtrl->getFormAction($this));
1165 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"create");
1175 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"edit");
1185 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"delete");
1195 if (
$ilSetting->get(
"fixed_content_style_id") <= 0 &&
1197 || $this->object->getStyleSheetId() == 0)) {
1199 $this->
object->update();
1200 ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"),
true);
1202 $this->ctrl->redirect($this,
"editStyleProperties");
1214 $ilTabs->setTabActive(
"cont_tracking_data");
1215 $ilTabs->setSubTabActive(
"cont_tracking_bysco");
1217 $reports = array(
'exportSelectedCore',
'exportSelectedInteractions',
'exportSelectedObjectives',
'tracInteractionItem',
'tracInteractionUser',
'tracInteractionUserAnswers');
1219 $scoSelected =
"all";
1220 if (isset(
$_GET[
"scoSelected"])) {
1223 if (isset(
$_POST[
"scoSelected"])) {
1226 $this->ctrl->setParameter($this,
'scoSelected', $scoSelected);
1229 if (isset(
$_GET[
"report"])) {
1232 if (isset(
$_POST[
"report"])) {
1235 $this->ctrl->setParameter($this,
'report', $report);
1237 include_once
'./Modules/Scorm2004/classes/class.ilSCORM2004TrackingItemsPerScoFilterGUI.php';
1239 $filter->parse($scoSelected, $report, $reports);
1240 if ($report ==
"choose") {
1241 $this->tpl->setContent($filter->form->getHTML());
1243 $scosSelected = array();
1244 if ($scoSelected !=
"all") {
1245 $scosSelected[] = $scoSelected;
1247 $tmpscos = $this->
object->getTrackedItems();
1248 for (
$i = 0;
$i < count($tmpscos);
$i++) {
1249 $scosSelected[] = $tmpscos[
$i][
"id"];
1253 include_once
"Services/Tracking/classes/class.ilTrQuery.php";
1256 include_once
'./Modules/Scorm2004/classes/class.ilSCORM2004TrackingItemsTableGUI.php';
1258 $this->tpl->setContent($filter->form->getHTML() . $tbl->getHTML());
1267 $ilTabs->setTabActive(
'cont_tracking_data');
1269 if ($ilAccess->checkAccess(
"read_learning_progress",
"",
$_GET[
"ref_id"])) {
1271 $ilTabs->setSubTabActive(
'cont_tracking_byuser');
1273 $reports = array(
'exportSelectedSuccess',
'exportSelectedCore',
'exportSelectedInteractions',
'exportSelectedObjectives',
'exportObjGlobalToSystem');
1275 $userSelected =
"all";
1276 if (isset(
$_GET[
"userSelected"])) {
1279 if (isset(
$_POST[
"userSelected"])) {
1282 $this->ctrl->setParameter($this,
'userSelected', $userSelected);
1285 if (isset(
$_GET[
"report"])) {
1288 if (isset(
$_POST[
"report"])) {
1291 $this->ctrl->setParameter($this,
'report', $report);
1293 include_once
'./Modules/Scorm2004/classes/class.ilSCORM2004TrackingItemsPerUserFilterGUI.php';
1295 $filter->parse($userSelected, $report, $reports);
1296 if ($report ==
"choose") {
1297 $this->tpl->setContent($filter->form->getHTML());
1299 $usersSelected = array();
1300 if ($userSelected !=
"all") {
1301 $usersSelected[] = $userSelected;
1303 include_once
"Services/Tracking/classes/class.ilTrQuery.php";
1305 foreach ($users as
$user) {
1307 $usersSelected[] =
$user;
1311 $scosSelected = array();
1312 $tmpscos = $this->
object->getTrackedItems();
1313 for (
$i = 0;
$i < count($tmpscos);
$i++) {
1314 $scosSelected[] = $tmpscos[
$i][
"id"];
1320 include_once
'./Modules/Scorm2004/classes/class.ilSCORM2004TrackingItemsTableGUI.php';
1322 $this->tpl->setContent($filter->form->getHTML() . $tbl->getHTML());
1324 } elseif ($ilAccess->checkAccess(
"edit_learning_progress",
"",
$_GET[
"ref_id"])) {
1340 $mtree =
new ilTree($this->object->getId());
1341 $mtree->setTableNames(
'sahs_sc13_tree',
'sahs_sc13_tree_node');
1342 $mtree->setTreeTablePK(
"slm_id");
1344 if (
$_POST[
"expandAll"] !=
"") {
1345 $_GET[
"scexpand"] =
"";
1346 $stree = $mtree->getSubTree($mtree->getNodeData($mtree->readRootId()));
1348 foreach ($stree as
$n) {
1349 $n_arr[] =
$n[
"child"];
1354 if (
$_POST[
"collapseAll"] !=
"") {
1355 $_GET[
"scexpand"] =
"";
1356 $_SESSION[
"scexpand"] = array($mtree->readRootId());
1362 $ilCtrl->setParameter($this,
"active_node",
$_GET[
"active_node"]);
1364 $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.explorer.html");
1367 $this->tpl->setCurrentBlock(
"exp2_button");
1368 $this->tpl->setVariable(
"CMD_EXP2_BTN",
"expandAll");
1369 $this->tpl->setVariable(
"TXT_EXP2_BTN",
$lng->txt(
"expand_all"));
1370 $this->tpl->parseCurrentBlock();
1372 $this->tpl->setCurrentBlock(
"exp2_button");
1373 $this->tpl->setVariable(
"CMD_EXP2_BTN",
"collapseAll");
1374 $this->tpl->setVariable(
"TXT_EXP2_BTN",
$lng->txt(
"collapse_all"));
1375 $this->tpl->parseCurrentBlock();
1377 require_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004EditorExplorer.php");
1378 $exp =
new ilSCORM2004EditorExplorer(
1379 $this->ctrl->getLinkTarget($this,
"edit"),
1382 $exp->setFrameUpdater(
"content",
"ilHierarchyFormUpdater");
1383 $exp->setTargetGet(
"obj_id");
1384 $exp->setExpandTarget($this->ctrl->getLinkTarget($this,
"showTree"));
1386 if (
$_GET[
"scexpand"] ==
"") {
1387 $expanded = $mtree->readRootId();
1389 $expanded =
$_GET[
"scexpand"];
1393 if (
$_GET[
"active_node"] !=
"") {
1394 $path = $mtree->getPathId(
$_GET[
"active_node"]);
1395 $exp->setForceOpenPath($path);
1397 $exp->highlightNode(
$_GET[
"active_node"]);
1399 $exp->setExpand($expanded);
1403 $output = $exp->getOutput();
1406 if ($ilCtrl->isAsynch()) {
1411 $this->tpl->setCurrentBlock(
"content");
1412 $this->tpl->setVariable(
"TXT_EXPLORER_HEADER", $this->lng->txt(
"sahs_organization"));
1413 $this->tpl->setVariable(
"EXP_REFRESH", $this->lng->txt(
"refresh"));
1414 $this->tpl->setVariable(
"EXPLORER", $output);
1415 $this->ctrl->setParameter($this,
"scexpand",
$_GET[
"scexpand"]);
1416 $this->tpl->setVariable(
"ACTION", $this->ctrl->getLinkTarget($this,
"showTree"));
1417 $this->tpl->parseCurrentBlock();
1419 include_once(
"./Services/jQuery/classes/class.iljQueryUtil.php");
1422 $this->tpl->printToStdout(
false);
1439 $ilTabs->setTabActive(
"sahs_sequencing");
1441 include_once(
"./Modules/Scorm2004/classes/seq_editor/class.ilSCORM2004Item.php");
1443 if (!$this->object->getSequencingExpertMode()) {
1444 $ilToolbar->addButton(
1445 $lng->txt(
"sahs_activate_expert_mode"),
1446 $ilCtrl->getLinkTarget($this,
"confirmExpertMode")
1449 include_once(
"./Services/UIComponent/NestedList/classes/class.ilNestedList.php");
1451 $t = $this->
object->getTree();
1452 $root_node = $t->getNodeData($t->getRootId());
1453 $nodes = $this->
object->getTree()->getSubtree($root_node);
1454 foreach ($nodes as $node) {
1455 if (in_array($node[
"type"], array(
"",
"chap",
"sco"))) {
1456 $ntpl =
new ilTemplate(
"tpl.seq_node.html",
true,
true,
"Modules/Scorm2004");
1457 $ntpl->setVariable(
"NODE_ID", $node[
"child"]);
1458 if ($node[
"type"] ==
"") {
1459 $ntpl->setVariable(
"TITLE", $this->object->getTitle());
1462 $ntpl->setVariable(
"TITLE", $node[
"title"]);
1469 $list->addListNode($ntpl->get(), $node[
"child"], $node[
"parent"]);
1474 $tb->addFormButton(
$lng->txt(
"save"),
"saveSequencing");
1475 $ftpl =
new ilTemplate(
"tpl.sequencing.html",
true,
true,
"Modules/Scorm2004");
1476 $ftpl->setVariable(
"CONTENT", $list->getHTML());
1477 $ftpl->setVariable(
"FORM_ACTION", $ilCtrl->getFormAction($this));
1478 $ftpl->setVariable(
"TB", $tb->getHTML());
1479 $tpl->setContent($ftpl->get());
1493 $ilTabs->setTabActive(
"sahs_sequencing");
1495 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
1497 $cgui->setFormAction($ilCtrl->getFormAction($this));
1498 $cgui->setHeaderText(
$lng->txt(
"sahs_activate_expert_mode_info"));
1499 $cgui->setCancel(
$lng->txt(
"cancel"),
"showSequencing");
1500 $cgui->setConfirm(
$lng->txt(
"sahs_activate_expert_mode"),
"activateExpertMode");
1502 $tpl->setContent($cgui->getHTML());
1516 $this->
object->setSequencingExpertMode(
true);
1517 $this->
object->update();
1518 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
1519 $ilCtrl->redirect($this,
"showSequencing");
1532 include_once(
"./Modules/Scorm2004/classes/seq_editor/class.ilSCORM2004Item.php");
1533 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Sco.php");
1534 $t = $this->
object->getTree();
1535 $root_node = $t->getNodeData($t->getRootId());
1536 $nodes = $this->
object->getTree()->getSubtree($root_node);
1537 foreach ($nodes as $node) {
1538 if (in_array($node[
"type"], array(
"",
"chap",
"sco"))) {
1539 if ($node[
"type"] ==
"") {
1546 $ob_texts = array();
1547 if ($node[
"type"] ==
"sco") {
1549 $objectives = $sco->getObjectives();
1550 foreach ($objectives as $o) {
1551 $ob_texts[$o->getId()] = $o->getObjectiveId();
1555 $item->setSeqXml(
$xml);
1559 if ($node[
"type"] ==
"sco") {
1560 foreach ($ob_texts as $id => $t) {
1561 $objective =
new ilScorm2004Objective($node[
"child"], $id);
1562 $objective->setObjectiveId($t);
1563 $objective->updateObjective();
1569 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
1571 $ilCtrl->redirect($this,
"showSequencing");
1584 $chaps = $this->
object->getTree()->getChilds(
1585 $this->object->getTree()->getRootId()
1588 foreach ($chaps as $chap) {
1589 if ($chap[
"type"] ==
"chap") {
1590 $s_chaps[$chap[
"child"]] = $chap[
"title"];
1597 $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
1598 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
1600 "0" =>
$lng->txt(
"all")
1602 $options = $options + $s_chaps;
1604 $si->setOptions($options);
1605 $si->setValue($cur_chap);
1606 $ilToolbar->addInputItem(
$si,
true);
1607 $ilToolbar->addFormButton(
$lng->txt(
"change"),
"selectLObjChapter");
1609 include_once(
"./Modules/Scorm2004/classes/class.ilObjectivesAlignmentTableGUI.php");
1612 "showLearningObjectivesAlignment",
1617 $tpl->setContent($obj_table->getHTML());
1625 $ilCtrl->redirect($this,
"showLearningObjectivesAlignment");
1633 switch (
$_POST[
'select_export']) {
1634 case "exportScorm12":
1635 case "exportScorm2004_3rd":
1636 case "exportScorm2004_4th":
1640 case "exportHTMLOne":
1641 $this->ctrl->redirect($this,
$_POST[
'select_export']);
1644 $this->ctrl->redirect($this,
'showExportList');
1657 $ilToolbar->setFormAction($this->ctrl->getFormAction($this,
'selectExport'));
1658 $ilToolbar->setId(
"scorm2004export");
1672 "exportScorm2004_3rd" => $this->lng->txt(
"scorm_create_export_file_scrom2004"),
1673 "exportScorm2004_4th" => $this->lng->txt(
"scorm_create_export_file_scrom2004_4th"),
1674 "exportScorm12" => $this->lng->txt(
"scorm_create_export_file_scrom12"),
1675 "exportHTML" => $this->lng->txt(
"scorm_create_export_file_html"),
1676 "exportHTMLOne" => $this->lng->txt(
"scorm_create_export_file_html_one")
1680 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
1682 $si->setOptions($buttons);
1683 $ilToolbar->addInputItem(
$si,
true);
1685 $ilToolbar->addFormButton($this->lng->txt(
'export'),
"selectExport");
1687 $export_files = $this->
object->getExportFiles();
1689 include_once
"./Modules/Scorm2004/classes/class.ilSCORM2004ExportTableGUI.php";
1692 foreach ($export_files as $exp_file) {
1693 $filetype = $exp_file[
'type'];
1694 $public_str = ($exp_file[
"file"] == $this->
object->getPublicExportFile($filetype))
1695 ?
" <b>(" . $this->lng->txt(
"public") .
")<b>"
1697 $file_arr = explode(
"__", $exp_file[
"file"]);
1700 $table_gui->setData(
$data);
1702 $this->tpl->setContent($table_gui->getHTML());
1715 if ($this->ctrl->getCmd() ==
"delete") {
1719 if (!$this->object->getEditable()) {
1720 return parent::getTabs();
1723 $ilHelp->setScreenIdComponent(
"sahsed");
1726 $this->tabs_gui->addTarget(
1727 "sahs_organization",
1728 $this->ctrl->getLinkTarget($this,
"showOrganization"),
1734 $force_active = ($this->ctrl->getNextClass() ==
"ilinfoscreengui")
1737 $this->tabs_gui->addTarget(
1739 $this->ctrl->getLinkTargetByClass(
"ilinfoscreengui",
"showSummary"),
1747 $this->tabs_gui->addTarget(
1749 $this->ctrl->getLinkTarget($this,
"properties"),
1762 $this->tabs_gui->addTarget(
1763 "sahs_objectives_alignment",
1764 $this->ctrl->getLinkTarget($this,
"showLearningObjectivesAlignment"),
1765 "showLearningObjectivesAlignment",
1770 $this->tabs_gui->addTarget(
1772 $this->ctrl->getLinkTarget($this,
"showSequencing"),
1790 include_once
"Services/Object/classes/class.ilObjectMetaDataGUI.php";
1792 $mdtab = $mdgui->getTab();
1794 $this->tabs_gui->addTarget(
1803 $this->tabs_gui->addTarget(
1805 $this->ctrl->getLinkTarget($this,
"showExportList"),
1806 array(
"showExportList",
'confirmDeleteExportFile'),
1811 if ($ilAccess->checkAccess(
'edit_permission',
'', $this->object->getRefId())) {
1812 $this->tabs_gui->addTarget(
1814 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm"),
1815 array(
"perm",
"info",
"owner"),
1820 if ($this->object->editable == 1) {
1822 $this->tabs_gui->addNonTabbedLink(
1824 $this->lng->txt(
"cont_sc_preview"),
1825 $this->ctrl->getLinkTarget($this,
"preview"),
1840 if ($a_main_tab ==
"settings" &&
1841 $this->object->editable == 1) {
1852 $ilTabs->activateSubTab($a_active);
1862 $slm_tree =
new ilTree($this->object->getId());
1863 $slm_tree->setTreeTablePK(
"slm_id");
1864 $slm_tree->setTableNames(
'sahs_sc13_tree',
'sahs_sc13_tree_node');
1873 $a_form_action =
"",
1883 if ($a_form_action ==
"") {
1884 $a_form_action = $ilCtrl->getFormAction($this);
1887 if ($a_icon ==
"") {
1888 $a_title = $this->
object->getTitle();
1894 if ($a_top_node == 0) {
1895 $a_top_node = $slm_tree->getRootId();
1898 if (is_null($a_gui_obj)) {
1900 $a_gui_cmd =
"showOrganization";
1903 $ilCtrl->setParameter($this,
"backcmd",
"showOrganization");
1904 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
1906 $form_gui->setParentCommand($a_gui_obj, $a_gui_cmd);
1907 $form_gui->setFormAction($a_form_action);
1910 $form_gui->setTree($slm_tree);
1911 $form_gui->setCurrentTopNodeId($a_top_node);
1912 $form_gui->addMultiCommand(
$lng->txt(
"delete"),
"deleteNodes");
1913 $form_gui->addMultiCommand(
$lng->txt(
"cut"),
"cutItems");
1914 $form_gui->addMultiCommand(
$lng->txt(
"copy"),
"copyItems");
1915 $form_gui->addCommand(
$lng->txt(
"cont_save_all_titles"),
"saveAllTitles");
1916 $form_gui->addCommand(
$lng->txt(
"expand_all"),
"expandAll");
1917 $form_gui->addCommand(
$lng->txt(
"collapse_all"),
"collapseAll");
1918 $form_gui->setTriggeredUpdateCommand(
"saveAllTitles");
1921 if (
$_GET[
"highlight"] !=
"") {
1922 $hl = explode(
":",
$_GET[
"highlight"]);
1923 $form_gui->setHighlightedNodes($hl);
1924 $form_gui->setFocusId($hl[0]);
1927 $ilCtrl->setParameter($this,
"active_node",
$_GET[
"obj_id"]);
1930 $sc_tpl =
new ilTemplate(
"tpl.scormeditor_orga_screen.html",
true,
true,
"Modules/Scorm2004");
1931 $sc_tpl->setVariable(
"ORGANIZATION", $form_gui->getHTML());
1934 $tpl->setContent($sc_tpl->get());
1947 $ilCtrl->setParameter($this,
"nodes_mode", $a_mode);
1948 include_once(
"Services/Notes/classes/class.ilNoteGUI.php");
1949 $node_id =
$_GET[
"obj_id"];
1950 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
1951 $node_type = ($node_id > 0)
1956 $this->object->getId(),
1960 if ($ilAccess->checkAccess(
"write",
"",
$_GET[
"ref_id"]) &&
$ilSetting->get(
"comments_del_tutor", 1)) {
1961 $notes_gui->enablePublicNotesDeletion(
true);
1963 $notes_gui->enablePrivateNotes();
1964 $notes_gui->enablePublicNotes();
1966 $next_class = $ilCtrl->getNextClass($this);
1967 if ($next_class ==
"ilnotegui") {
1968 $html = $this->ctrl->forwardCommand($notes_gui);
1970 $html = $notes_gui->getNotesHTML();
1983 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
1985 $slm_tree =
new ilTree($this->object->getId());
1986 $slm_tree->setTreeTablePK(
"slm_id");
1987 $slm_tree->setTableNames(
'sahs_sc13_tree',
'sahs_sc13_tree_node');
1993 $parent_id = $slm_tree->getParentId($node_id);
1996 $parent_id = $node_id;
1999 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Chapter.php");
2000 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
2002 $chap_ids = array();
2003 for (
$i = 1;
$i <= $num;
$i++) {
2005 $chap->setTitle(
$lng->txt(
"sahs_new_chapter"));
2006 $chap->setSLMId($this->object->getId());
2009 $chap_ids[] = $chap->getId();
2011 $chap_ids = array_reverse($chap_ids);
2012 $chap_ids = implode(
":", $chap_ids);
2015 $ilCtrl->setParameter($this,
"highlight", $chap_ids);
2016 $ilCtrl->redirect($this,
"showOrganization",
"node_" . $node_id);
2018 return array(
"node_id" => $node_id,
"items" => $chap_ids);
2029 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
2031 $slm_tree =
new ilTree($this->object->getId());
2032 $slm_tree->setTreeTablePK(
"slm_id");
2033 $slm_tree->setTableNames(
'sahs_sc13_tree',
'sahs_sc13_tree_node');
2038 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Sco.php");
2039 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
2042 $parent_id = $slm_tree->getParentId($node_id);
2045 $parent_id = $node_id;
2050 for (
$i = 1;
$i <= $num;
$i++) {
2052 $sco->setTitle(
$lng->txt(
"sahs_new_sco"));
2053 $sco->setSLMId($this->object->getId());
2056 $sco_ids[] = $sco->getId();
2058 $sco_ids = array_reverse($sco_ids);
2059 $sco_ids = implode(
":", $sco_ids);
2062 $ilCtrl->setParameter($this,
"highlight", $sco_ids);
2063 $ilCtrl->redirect($this,
"showOrganization",
"node_" . $node_id);
2065 return array(
"node_id" => $node_id,
"items" => $sco_ids);
2076 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
2078 $slm_tree =
new ilTree($this->object->getId());
2079 $slm_tree->setTreeTablePK(
"slm_id");
2080 $slm_tree->setTableNames(
'sahs_sc13_tree',
'sahs_sc13_tree_node');
2085 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Asset.php");
2086 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
2089 $parent_id = $slm_tree->getParentId($node_id);
2092 $parent_id = $node_id;
2097 for (
$i = 1;
$i <= $num;
$i++) {
2099 $ass->setTitle(
$lng->txt(
"sahs_new_asset"));
2100 $ass->setSLMId($this->object->getId());
2103 $ass_ids[] = $ass->getId();
2105 $ass_ids = array_reverse($ass_ids);
2106 $ass_ids = implode(
":", $ass_ids);
2109 $ilCtrl->setParameter($this,
"highlight", $ass_ids);
2110 $ilCtrl->redirect($this,
"showOrganization",
"node_" . $node_id);
2112 return array(
"node_id" => $node_id,
"items" => $ass_ids);
2123 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
2125 $slm_tree =
new ilTree($this->object->getId());
2126 $slm_tree->setTreeTablePK(
"slm_id");
2127 $slm_tree->setTableNames(
'sahs_sc13_tree',
'sahs_sc13_tree_node');
2132 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004PageNode.php");
2133 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
2135 $parent_id = $slm_tree->getParentId($node_id);
2138 $parent_id = $node_id;
2142 $page_ids = array();
2143 for (
$i = 1;
$i <= $num;
$i++) {
2145 $page->setTitle(
$lng->txt(
"sahs_new_page"));
2146 $page->setSLMId($this->object->getId());
2149 $page_ids[] = $page->getId();
2151 $page_ids = array_reverse($page_ids);
2152 $page_ids = implode(
":", $page_ids);
2155 $ilCtrl->setParameter($this,
"highlight", $page_ids);
2156 $ilCtrl->redirect($this,
"showOrganization",
"node_" . $node_id);
2158 return array(
"node_id" => $node_id,
"items" => $page_ids);
2171 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
2172 include_once(
"./Modules/Scorm2004/classes/seq_editor/class.ilSCORM2004SeqTemplate.php");
2174 $templates = array();
2175 $description =
null;
2178 $default_identifier =
$_POST[
"identifier"];
2183 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.scormeditor_seq_chooser.html",
"Modules/Scorm2004");
2185 $this->tpl->setCurrentBlock(
"option_item");
2188 foreach ($arr_templates as $templ) {
2190 $item_data = $templ->getMetadataProperties();
2191 $item_data[
'identifier'] = $templ->getIdentifier();
2192 array_push($templates, $item_data);
2193 if ($default_identifier == $item_data[
'identifier']) {
2195 $active = $item_data;
2197 $this->tpl->setVariable(
"VAL_SELECTED", $sel);
2198 $this->tpl->setVariable(
"VAL_IDENTIFIER", $item_data[
'identifier']);
2199 $this->tpl->setVariable(
"VAL_TITLE", $item_data[
'title']);
2200 $this->tpl->parseCurrentBlock();
2204 if ($active ==
null) {
2206 $description = $templates[0][
'description'];
2207 $image = $templates[0][
'thumbnail'];
2209 $description = $active[
'description'];
2210 $image = $active[
'thumbnail'];
2213 $this->tpl->setVariable(
"VAL_DESCRIPTION", $description);
2216 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
2217 $this->tpl->setVariable(
"BTN_NAME",
"insertScenario");
2218 $this->tpl->setVariable(
"TXT_CANCEL", $this->lng->txt(
"cancel"));
2219 $this->tpl->setVariable(
"TXT_INSERT", $this->lng->txt(
"insert"));
2220 $this->tpl->setVariable(
"TXT_CHANGE", $this->lng->txt(
"change"));
2222 $this->tpl->setVariable(
"TXT_TITLE",
"Choose Sequencing Template");
2224 $node_id =
$_POST[
"node_id"];
2225 $first_child =
$_POST[
"first_child"];
2230 if (!$first_child) {
2234 $this->tpl->setVariable(
"VAL_NODE_ID", $node_id);
2235 $this->tpl->setVariable(
"VAL_FIRST_CHILD", $first_child);
2246 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
2248 $slm_tree =
new ilTree($this->object->getId());
2249 $slm_tree->setTreeTablePK(
"slm_id");
2250 $slm_tree->setTableNames(
'sahs_sc13_tree',
'sahs_sc13_tree_node');
2252 $node_id =
$_POST[
"node_id"];
2254 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004PageNode.php");
2255 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
2256 include_once(
"./Modules/Scorm2004/classes/seq_editor/class.ilSCORM2004SeqTemplate.php");
2258 if (!
$_POST[
"first_child"]) {
2259 $parent_id = $slm_tree->getParentId($node_id);
2262 $parent_id = $node_id;
2267 $id = $template->insertTemplateForObjectAtParent($this->
object, $parent_id, $target);
2268 $ilCtrl->setParameter($this,
"highlight", $id);
2269 $ilCtrl->redirect($this,
"showOrganization",
"node_" . $node_id);
2294 $ftpl =
new ilTemplate(
"tpl.scormeditor_page_layout_chooser.html",
true,
true,
"Modules/Scorm2004");
2297 foreach ($arr_templates as $templ) {
2300 $templ->readObject();
2301 $ftpl->setCurrentBlock(
"option_item2");
2302 $ftpl->setVariable(
"VAL_LAYOUT_TITLE", $templ->getTitle());
2303 $ftpl->setVariable(
"VAL_LAYOUT_IMAGE", $templ->getPreview());
2304 $ftpl->setVariable(
"VAL_LAYOUT_ID", $templ->getId());
2305 $ftpl->setVariable(
"VAL_DISPLAY",
"inline");
2307 $ftpl->setVariable(
"VAL_CHECKED",
"checked");
2309 if ($count % 4 == 0) {
2310 $ftpl->setVariable(
"END_ROW",
"</tr>");
2312 if ($count == 1 || ($count - 1) % 4 == 0) {
2313 $ftpl->setVariable(
"BEGIN_ROW",
"<tr>");
2315 $ftpl->parseCurrentBlock();
2319 if ($count % 4 != 0) {
2320 $rest = 4 - ($count % 4);
2326 $ftpl->setVariable(
"VAL_DISPLAY",
"none");
2327 $ftpl->setVariable(
"VAL_LAYOUT_ID", $templ->getId());
2330 $ftpl->setVariable(
"END_ROW",
"</tr>");
2332 $this->tpl->parseCurrentBlock();
2342 $ilCtrl->saveParameter($this,
"obj_id");
2344 $ftpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
2346 $ftpl->setVariable(
"BTN_NAME",
"insertTemplate");
2347 $ftpl->setVariable(
"TXT_CANCEL", $this->lng->txt(
"cancel"));
2348 $ftpl->setVariable(
"TXT_INSERT", $this->lng->txt(
"create"));
2349 $ftpl->setVariable(
"CMD_CANCEL",
"showOrganization");
2351 $ftpl->setVariable(
"TXT_CANCEL", $this->lng->txt(
"cancel"));
2352 $ftpl->setVariable(
"TXT_INSERT", $this->lng->txt(
"insert"));
2353 $ftpl->setVariable(
"TXT_CHANGE", $this->lng->txt(
"change"));
2354 if ($a_special_page) {
2355 $ftpl->setVariable(
"TXT_TITLE", $this->lng->txt(
"sahs_choose_special_page"));
2357 $ftpl->setVariable(
"TXT_TITLE", $this->lng->txt(
"sahs_choose_page_template"));
2360 $this->tpl->setContent($ftpl->get());
2373 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
2375 $slm_tree =
new ilTree($this->object->getId());
2376 $slm_tree->setTreeTablePK(
"slm_id");
2377 $slm_tree->setTableNames(
'sahs_sc13_tree',
'sahs_sc13_tree_node');
2380 $node_id =
$_POST[
"node_id"];
2381 $layout_id =
$_POST[
"layout_id"];
2384 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004PageNode.php");
2385 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
2387 if (!
$_POST[
"first_child"]) {
2388 $parent_id = $slm_tree->getParentId($node_id);
2391 $parent_id = $node_id;
2395 $page_ids = array();
2396 for (
$i = 1;
$i <= $num;
$i++) {
2398 $page->setTitle(
$lng->txt(
"sahs_new_page"));
2399 $page->setSLMId($this->object->getId());
2400 $page->create(
false, $layout_id);
2402 $page_ids[] = $page->getId();
2404 $page_ids = array_reverse($page_ids);
2405 $page_ids = implode(
":", $page_ids);
2408 if (
$_GET[
"obj_id"] !=
"") {
2411 $ilCtrl->setParameter($this,
"highlight", $page_ids);
2412 $ilCtrl->redirect($this,
"showOrganization",
"node_" . $node_id);
2422 $_GET[
"scexpand"] =
"";
2423 $mtree = $this->
object->getTree();
2424 $n_id = (
$_GET[
"obj_id"] > 0)
2426 : $mtree->readRootId();
2427 $stree = $mtree->getSubTree($mtree->getNodeData($n_id));
2429 foreach ($stree as
$n) {
2430 $n_arr[] =
$n[
"child"];
2441 $_GET[
"scexpand"] =
"";
2442 $mtree = $this->
object->getTree();
2443 $n_id = (
$_GET[
"obj_id"] > 0)
2445 : $mtree->readRootId();
2446 $stree = $mtree->getSubTree($mtree->getNodeData($n_id));
2448 foreach ($stree as
$n) {
2449 if (in_array(
$n[
"child"], $old) &&
$n[
"child"] != $n_id) {
2450 $k = array_search(
$n[
"child"], $old);
2465 if (is_array(
$_POST[
"title"])) {
2466 include_once(
"./Services/MetaData/classes/class.ilMD.php");
2467 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004NodeFactory.php");
2468 foreach (
$_POST[
"title"] as $id => $title) {
2470 if (is_object($node_obj)) {
2472 $md =
new ilMD($this->object->getId(), $id, $node_obj->getType());
2473 $md_gen = $md->getGeneral();
2482 ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"),
true);
2483 $ilCtrl->redirect($this,
"showOrganization");
2498 if (!isset(
$_POST[
"id"])) {
2499 $ilErr->raiseError($this->lng->txt(
"no_checkbox"),
$ilErr->MESSAGE);
2505 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
2508 if ($a_form_action ==
"") {
2509 $cmd = (
$_GET[
"backcmd"] ==
"")
2510 ?
"showOrganization"
2512 $this->ctrl->setParameter($this,
"backcmd", $cmd);
2513 $a_form_action = $this->ctrl->getFormAction($this);
2515 $confirmation_gui->setFormAction($a_form_action);
2516 $confirmation_gui->setHeaderText($this->lng->txt(
"info_delete_sure"));
2519 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004NodeFactory.php");
2520 foreach (
$_POST[
"id"] as $id) {
2523 $confirmation_gui->addItem(
2526 $node_obj->getTitle(),
2532 $confirmation_gui->setCancel(
$lng->txt(
"cancel"),
"cancelDelete");
2533 $confirmation_gui->setConfirm(
$lng->txt(
"confirm"),
"confirmedDelete");
2535 $tpl->setContent($confirmation_gui->getHTML());
2543 $this->ctrl->redirect($this,
$_GET[
"backcmd"]);
2554 $tree->setTableNames(
'sahs_sc13_tree',
'sahs_sc13_tree_node');
2555 $tree->setTreeTablePK(
"slm_id");
2558 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004NodeFactory.php");
2559 foreach (
$_POST[
"id"] as $id) {
2562 $node_data =
$tree->getNodeData($id);
2563 if (is_object($obj)) {
2564 $obj->setSLMId($this->object->getId());
2573 if (
$tree->isInTree($id)) {
2574 $tree->deleteTree($node_data);
2586 $ilCtrl->redirect($this,
"showOrganization");
2597 $this->
object->executeDragDrop(
2598 $_POST[
"il_hform_source_id"],
2599 $_POST[
"il_hform_target_id"],
2601 $_POST[
"il_hform_as_subitem"]
2603 $ilCtrl->redirect($this,
"showOrganization");
2614 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
2618 foreach ($items as $k => $item) {
2623 foreach ($todel as $k) {
2628 $ilCtrl->redirect($this, $a_return);
2633 include_once(
"./Modules/LearningModule/classes/class.ilEditClipboard.php");
2637 $ilCtrl->redirect($this, $a_return);
2643 public function cutItems($a_return =
"showOrganization")
2648 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
2652 foreach ($items as $k => $item) {
2657 foreach ($todel as $k) {
2663 $ilCtrl->redirect($this, $a_return);
2668 include_once(
"./Modules/LearningModule/classes/class.ilEditClipboard.php");
2673 $ilCtrl->redirect($this, $a_return);
2684 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
2702 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
2720 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
2738 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
2760 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
2765 $pf .=
'<input type="hidden" name="' .
$f .
'" value="' . $v .
'" />';
2767 if ($a_confirm && is_array(
$_POST[
"node"])) {
2768 foreach (
$_POST[
"node"] as
$f => $v) {
2769 $pf .=
'<input type="hidden" name="node[' .
$f .
']" value="' . $v .
'" />';
2777 include_once(
"./Modules/Scorm2004/classes/class.ilLMChapterImportForm.php");
2779 $tpl->setContent($form->getHTML() . $pf .
"</form>");
2781 $ilTabs->clearTargets();
2782 $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
2784 if ($form->isCorrect()) {
2785 $ilToolbar->addFormButton(
$lng->txt(
"insert"),
"performLMChapterInsert");
2787 $ilToolbar->addFormButton(
$lng->txt(
"back"),
"insertLMChapterClip");
2789 $ilToolbar->addFormButton(
$lng->txt(
"check"),
"confirmLMChapterInsert");
2791 $ilToolbar->addFormButton(
$lng->txt(
"cancel"),
"showOrganization");
2792 $ilToolbar->setCloseFormTag(
false);
2811 include_once(
"./Modules/Scorm2004/classes/class.ilLMChapterImportForm.php");
2813 $form->performInserts();
2814 ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"),
true);
2815 $this->ctrl->redirect($this,
"showOrganization");
2821 $export->buildExportFile();
2822 ilUtil::sendSuccess($this->lng->txt(
"exp_file_created"),
true);
2823 $this->ctrl->redirect($this,
"showExportList");
2829 $export->buildExportFile();
2830 ilUtil::sendSuccess($this->lng->txt(
"exp_file_created"),
true);
2831 $this->ctrl->redirect($this,
"showExportList");
2837 $export->buildExportFile();
2838 ilUtil::sendSuccess($this->lng->txt(
"exp_file_created"),
true);
2839 $this->ctrl->redirect($this,
"showExportList");
2845 $export->buildExportFile();
2846 ilUtil::sendSuccess($this->lng->txt(
"exp_file_created"),
true);
2847 $this->ctrl->redirect($this,
"showExportList");
2853 $export->buildExportFile();
2854 ilUtil::sendSuccess($this->lng->txt(
"exp_file_created"),
true);
2855 $this->ctrl->redirect($this,
"showExportList");
2863 if (!$export->buildExportFile()) {
2864 if (!PATH_TO_MKISOFS) {
2865 $ilErr->raiseError($this->lng->txt(
"no_mkisofs_configured"),
$ilErr->MESSAGE);
2868 $this->ctrl->redirect($this,
"showExportList");
2874 $export->buildExportFile();
2875 $this->ctrl->redirect($this,
"showExportList");
2880 $export =
new ilSCORM2004Export($this->
object);
2882 $file = basename(
$_GET[
'file']);
2883 $export_dir = $export->getExportDirectoryForType(
$_GET[
'type']);
2892 if (!isset(
$_POST[
"file"])) {
2894 $this->ctrl->redirect($this,
"showExportList");
2898 $export_files = $this->
object->getExportFiles();
2900 include_once
"./Modules/Scorm2004/classes/class.ilSCORM2004ExportTableGUI.php";
2903 foreach ($export_files as $exp_file) {
2904 foreach (
$_POST[
'file'] as $delete_file) {
2905 if (strcmp($delete_file, $exp_file[
'file']) == 0) {
2906 $public_str = ($exp_file[
"file"] == $this->
object->getPublicExportFile($exp_file[
"type"]))
2907 ?
" <b>(" . $this->lng->txt(
"public") .
")<b>"
2909 $file_arr = explode(
"__", $exp_file[
"file"]);
2914 $table_gui->setData(
$data);
2915 $this->tpl->setVariable(
'ADM_CONTENT', $table_gui->getHTML());
2924 $this->ctrl->redirect($this,
"showExportList");
2933 include_once
"./Services/Utilities/classes/class.ilUtil.php";
2934 $export =
new ilSCORM2004Export($this->
object);
2935 foreach (
$_POST[
'file'] as $idx => $file) {
2936 $export_dir = $export->getExportDirectoryForType(
$_POST[
'type'][$idx]);
2937 $exp_file = $export_dir .
"/" . $file;
2938 if (@is_file($exp_file)) {
2942 ilUtil::sendSuccess($this->lng->txt(
'msg_deleted_export_files'),
true);
2943 $this->ctrl->redirect($this,
"showExportList");
2953 if (!isset(
$_POST[
"file"])) {
2954 $ilErr->raiseError($this->lng->txt(
"no_checkbox"),
$ilErr->MESSAGE);
2956 if (count(
$_POST[
"file"]) > 1) {
2957 $ilErr->raiseError($this->lng->txt(
"cont_select_max_one_item"),
$ilErr->MESSAGE);
2960 $export =
new ilSCORM2004Export($this->
object);
2961 $file =
$_POST[
'file'][0];
2964 if ($this->object->getPublicExportFile(
$type) == $file) {
2965 $this->
object->setPublicExportFile(
$type,
"");
2967 $this->
object->setPublicExportFile(
$type, $file);
2969 $this->
object->update();
2970 $this->ctrl->redirect($this,
"showExportList");
2981 $zipfile = $export->buildExportFile();
2982 $zipPathinfo = pathinfo($zipfile);
2983 $file_path = $this->
object->getDataDirectory() .
"/" . ($zipPathinfo[
"basename"]);
2984 copy($zipfile, $file_path);
2991 include_once(
"./Modules/Scorm2004/classes/ilSCORM13Package.php");
2993 $rte_pkg->il_import($this->object->getDataDirectory(), $this->object->getId(),
$DIC[
"ilias"],
false,
true);
3000 ilUtil::redirect(
"ilias.php?baseClass=ilSAHSPresentationGUI&ref_id=" . $this->object->getRefID() .
"&envEditor=1");
An exception for terminatinating execution or to throw for unit testing.
error($a_errmsg)
set error message @access public
Confirmation screen class.
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false, $include_seconds=false)
Format a date @access public.
@classDescription Date and time handling
static setAction($a_action)
static deliverFileAttached($path_to_file, $download_file_name='', $mime_type='', $delete_file=false)
void
special template class to simplify handling of ITX/PEAR
Select file for being added into file lists.
This class represents a non editable value in a property form.
setSettingsSubTabs()
set Tabs for settings
getTemplate()
output main header (title and locator)
static _lookupSubType($a_obj_id)
lookup subtype id (scorm, )
Class ilObjSCORMLearningModuleGUI.
insertTemplate($a_redirect=true)
Insert (multiple) pages at node.
initStylePropertiesForm()
Init style properties form.
initGlossaryCreationForm()
Init glossary creation form.
detachGlossary()
Detach glossary.
getEditTree()
Get editing tree object.
properties()
Scorm 2004 module properties.
saveGlossary()
Save glossary form.
saveSequencing()
Save sequencing.
confirmLMChapterInsert()
Confirm lm chapter insert.
getPropertiesEditableValues()
Get current values for properties (editable) from.
createStyle()
Create Style.
insertScenarioGUI()
Insert sequencing scenario at node.
getPropertiesFormValues()
Get values for properties form.
proceedDragDrop()
Perform drag and drop action.
collapseAll($a_redirect=true)
Collapse all.
showOrganization( $a_top_node=0, $a_form_action="", $a_title="", $a_icon="", $a_gui_obj=null, $a_gui_cmd="")
Show subhiearchy of chapters, scos and pages.
frameset($a_to_organization=false)
output main frameset of media pool left frame: explorer tree of folders right frame: media pool conte...
initPropertiesEditableForm()
Init properties (editable) form.
insertLMChapterClip($a_confirm=false, $a_perform=false)
Insert chapter from clipboard.
insertPageClip()
Insert pages from clipboard.
getNotesHTML($a_mode="")
Get notes HTML.
showExportList()
Show Export List.
jumpToNode($a_anchor_node="", $a_highlight_ids="")
getTabs()
Adds tabs to tab gui object.
deleteNodes($a_form_action="")
confirm deletion screen of chapters/scos/pages
cancelDeleteExportFile()
cancel deletion of export files
insertScoClip()
Insert scos from clipboard.
insertSco($a_redirect=true)
Insert (multiple) scos at node.
confirmDeleteExportFile()
confirmation screen for export file deletion
insertAssetClip()
Insert assets from clipboard.
showSequencing()
Show Sequencing.
assignObject()
assign scorm object to scorm gui object
editStyleProperties()
Edit Stlye Properties.
insertChapterClip()
Insert chapter from clipboard.
__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
Constructor.
editOrganization($a_to_organization=true)
Edit organization (called from listgui, must setup frameset)
assignGlossary()
Assign glossary.
selectGlossary()
Select glossary.
selectExport()
Select the export type of the SCORM 2004 module.
cancelDelete()
cancel delete
setSubTabs($a_main_tab="", $a_active="")
Set sub tabs.
showTrackingItems()
Show tracking table @global ilTabs $ilTabs $global ilToolbar $ilToolbar.
copyItems($a_return="showOrganization")
Copy items to clipboard.
insertScenario()
Insert sequencing scenario at node.
confirmedDelete($a_redirect=true)
Delete chapters/scos/pages.
insertChapter($a_redirect=true)
Insert (multiple) chapters at node.
insertTemplateGUI($a_redirect=true, $a_special_page=false)
Displays GUI to select template for page.
insertAsset($a_redirect=true)
Insert (multiple) assets at node.
saveAllTitles($a_redirect=true)
Save all titles of chapters/scos/pages.
initPropertiesForm()
Initialize properties form.
showTree()
Show Editing Tree.
performLMChapterInsert()
Perform lm chapter insert.
expandAll($a_redirect=true)
Expand all.
activateExpertMode()
Activate expert mode.
insertSpecialPage($a_redirect=true)
Insert special page.
cutItems($a_return="showOrganization")
Copy items to clipboard, then cut them from the current tree.
executeCommand()
execute command
showTrackingItemsBySco()
show tracking data
saveStyleSettings()
Save style settings.
confirmExpertMode()
Confirm activation of expert mode.
createGlossary()
Create glossary.
deleteExportFile()
delete export files
insertPage($a_redirect=true)
Insert (multiple) pages at node.
deleteStyle()
Delete Style.
saveProperties()
save scorm 2004 module properties
showLearningObjectivesAlignment()
Show Learning Objectives Alignment.
Class ilObjSCORM2004LearningModule.
Class ilObjSCORMLearningModuleGUI.
static _lookupStandard($a_id)
Lookup standard flag.
static _getStandardStyles( $a_exclude_default_style=false, $a_include_deactivated=false, $a_scope=0)
Get standard styles.
addHeaderAction()
Add header action menu.
getObjectService()
Get object service.
static _lookupObjId($a_id)
static _lookupTitle($a_id)
lookup object title
static _exists($a_id, $a_reference=false, $a_type=null)
checks if an object exists in object_data@access public
static _lookupType($a_id, $a_reference=false)
lookup object type
TableGUI class for learning objectives alignments.
static activeLayouts($a_special_page=false, $a_module=null)
Get active layouts.
This class represents an option in a radio group.
Class ilSCORM2004AssetGUI.
Class ilSCORM2004ChapterGUI.
Class ilSCORM2004Chapter.
SCORM editor explorer GUI class.
Class ilSCORM2004Condition.
static getInstance($a_slm_object, $a_id=0, $a_halt=true)
static uniqueTypesCheck($a_items)
Check for unique types (all pages or all chapters or all scos)
static insertChapterClip($a_slm_obj, $a_as_sub=false)
Insert Chapter from clipboard.
static _lookupType($a_obj_id)
Lookup Type.
static insertAssetClip($a_slm_obj, $a_type="ass")
Insert assets from clipboard.
static putInTree($a_obj, $a_parent_id="", $a_target_node_id="")
put this object into content object tree
static clipboardCopy($a_slm_obj_id, $a_ids)
Copy a set of chapters/pages/scos into the clipboard.
static insertPageClip($a_slm_obj)
Insert pages from clipboard.
static insertScoClip($a_slm_obj)
Insert scos from clipboard.
static _writeTitle($a_obj_id, $a_title)
Write Title.
static clipboardCut($a_slm_obj_id, $a_ids)
Cut and copy a set of chapters/pages into the clipboard.
Class ilSCORM2004PageNodeGUI.
Class ilSCORM2004PageNode.
Class ilSCORM2004ChapterGUI.
Class ilSCORM2004Chapter.
static availableTemplates()
Class ilSCORM2004TrackingItemsPerScoFilterGUI.
Class ilSCORM2004TrackingItemsPerUserFilterGUI.
Class ilSCORM2004TrackingItemsTableGUI.
static checkIfAnyoneIsInOfflineMode($obj_id)
Export class for SCORM 2004 object.
static clear($a_var)
Unset a value.
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.
static getParticipantsForObject($a_ref_id)
Get participant ids for given object.
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
static sendQuestion($a_info="", $a_keep=false)
Send Question 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)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static unzip(string $path_to_zip_file, bool $overwrite_existing=false, bool $unpack_flat=false)
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static yn2tf($a_yn)
convert "y"/"n" to true/false
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 sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms @access public
static renameExecutables($a_dir)
Rename uploaded executables for security reasons.
static stripSlashesArray($a_arr, $a_strip_html=true, $a_allow="")
Strip slashes from array.
static initjQuery(ilGlobalTemplateInterface $a_tpl=null)
inits and adds the jQuery JS-File to the global or a passed template
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc