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");
 
   52    public function __construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output = 
true)
 
   56        $this->lng = 
$DIC->language();
 
   57        $this->access = 
$DIC->access();
 
   58        $this->ctrl = 
$DIC->ctrl();
 
   59        $this->tpl = 
$DIC[
"tpl"];
 
   60        $this->tabs = 
$DIC->tabs();
 
   61        $this->rbacsystem = 
$DIC->rbac()->system();
 
   62        $this->tree = 
$DIC->repositoryTree();
 
   63        $this->toolbar = 
$DIC->toolbar();
 
   65        $this->help = 
$DIC[
"ilHelp"];
 
   66        $this->
error = $DIC[
"ilErr"];
 
   67        $this->
user = $DIC->user();
 
   70        $lng->loadLanguageModule(
"content");
 
   71        $lng->loadLanguageModule(
"sahs");
 
   72        $lng->loadLanguageModule(
"search");
 
   73        $lng->loadLanguageModule(
"exp");
 
   75        parent::__construct($a_data, $a_id, $a_call_by_reference, 
false);
 
   76        #$this->tabs_gui = new ilTabsGUI(); 
   90        $next_class = 
$ilCtrl->getNextClass($this);
 
   93        if ($this->object->getEditable() && $cmd != 
"showEditTree") {   
 
   98        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
 
  101        $form_gui->updateExpanded();
 
  102        switch ($next_class) {
 
  108                switch (
$_GET[
"notes_mode"]) {
 
  110                        $ilTabs->setTabActive(
"sahs_organization");
 
  116            case "ilscorm2004chaptergui":
 
  117                include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004ChapterGUI.php");
 
  119                $chap_gui->setParentGUI($this);
 
  120                return $ilCtrl->forwardCommand($chap_gui);
 
  123            case "ilscorm2004seqchaptergui":
 
  124                include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004SeqChapterGUI.php");
 
  126                $chap_gui->setParentGUI($this);
 
  127                return $ilCtrl->forwardCommand($chap_gui);
 
  130            case "ilscorm2004scogui":
 
  131                include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004ScoGUI.php");
 
  133                $sco_gui->setParentGUI($this);
 
  134                return $ilCtrl->forwardCommand($sco_gui);
 
  137            case "ilscorm2004assetgui":
 
  138                include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004AssetGUI.php");
 
  140                $ass_gui->setParentGUI($this);
 
  141                return $ilCtrl->forwardCommand($ass_gui);
 
  144            case "ilscorm2004pagenodegui":
 
  145                include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004PageNodeGUI.php");
 
  147                $page_gui->setParentGUI($this);
 
  148                $ilCtrl->forwardCommand($page_gui);
 
  152                parent::executeCommand();
 
  168        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004EditorExplorerGUI.php");
 
  170        if (!$exp->handleCommand()) {
 
  171            $tpl->setLeftNavContent($exp->getHTML());
 
  184        if (
$_GET[
"obj_id"] > 0) {
 
  185            include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
 
  188        if (in_array(
$type, array(
"sco", 
"chap", 
"seqc", 
"page"))) {
 
  189            $this->ctrl->setParameter($this, 
"obj_id", 
$_GET[
"obj_id"]);
 
  190            $this->ctrl->redirect($this, 
"jumpToNode");
 
  192            if ($a_to_organization) {
 
  193                $this->ctrl->redirect($this, 
"showOrganization");
 
  195                $this->ctrl->redirect($this, 
"properties");
 
  206    public function frameset($a_to_organization = 
false)
 
  208        if ($this->object->getEditable()) {     
 
  209            $this->ctrl->redirect($this, 
"properties");
 
  211            $this->tpl = 
new ilTemplate(
"tpl.sahs_edit_frameset.html", 
false, 
false, 
"Modules/ScormAicc");
 
  212            $this->tpl->setVariable(
 
  214                $this->ctrl->getLinkTarget($this, 
"properties")
 
  216            $this->tpl->show(
"DEFAULT", 
false);
 
  221    public function jumpToNode($a_anchor_node = 
"", $a_highlight_ids = 
"")
 
  225        $anchor = ($a_anchor_node != 
"")
 
  226            ? 
"node_" . $a_anchor_node
 
  229        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
 
  231        $ilCtrl->setParameter($this, 
"obj_id", 
$_GET[
"obj_id"]);
 
  234                $ilCtrl->setParameterByClass(
"ilscorm2004scogui", 
"highlight", $a_highlight_ids);
 
  235                $ilCtrl->redirectByClass(
"ilscorm2004scogui", 
"showOrganization", $anchor);
 
  238                $ilCtrl->setParameterByClass(
"ilscorm2004assetgui", 
"highlight", $a_highlight_ids);
 
  239                $ilCtrl->redirectByClass(
"ilscorm2004assetgui", 
"showOrganization", $anchor);
 
  242                $ilCtrl->setParameterByClass(
"ilscorm2004chaptergui", 
"highlight", $a_highlight_ids);
 
  243                $ilCtrl->redirectByClass(
"ilscorm2004chaptergui", 
"showOrganization", $anchor);
 
  246                $ilCtrl->setParameterByClass(
"ilscorm2004seqchaptergui", 
"highlight", $a_highlight_ids);
 
  247                $ilCtrl->redirectByClass(
"ilscorm2004seqchaptergui", 
"showOrganization", $anchor);
 
  250                $ilCtrl->redirectByClass(
"ilscorm2004pagenodegui", 
"edit");
 
  268        $this->
setSubTabs(
"settings", 
"general_settings");
 
  270        $lng->loadLanguageModule(
"style");
 
  273        if ($this->object->editable != 1) {
 
  275            $ilTabs->setSubTabActive(
'cont_settings');
 
  277            $ilToolbar->addButtonInstance($this->object->getViewButton());
 
  282                $parent_ref_id = 
$tree->getParentId((
int) 
$_GET[
"ref_id"]);
 
  283                if (
$rbacsystem->checkAccess(
"create", $parent_ref_id, 
"glo")) {
 
  284                    $ilToolbar->addButton(
 
  285                        $this->lng->txt(
"cont_glo_create"),
 
  286                        $ilCtrl->getLinkTarget($this, 
"createGlossary")
 
  289                $ilToolbar->addButton(
 
  290                    $this->lng->txt(
"cont_glo_assign"),
 
  291                    $ilCtrl->getLinkTarget($this, 
"assignGlossary")
 
  294                $ilToolbar->addButton(
 
  295                    $this->lng->txt(
"cont_glo_detach"),
 
  296                    $ilCtrl->getLinkTarget($this, 
"detachGlossary")
 
  301            $fixed_style = 
$ilSetting->get(
"fixed_content_style_id");
 
  302            $style_id = $this->
object->getStyleSheetId();
 
  304            if ($fixed_style == 0) {
 
  311                $st_styles[0] = $this->lng->txt(
"default");
 
  317                        $ilToolbar->addSeparator();
 
  320                        $ilToolbar->addButton(
 
  321                            $this->lng->txt(
"cont_edit_style"),
 
  322                            $ilCtrl->getLinkTarget($this, 
"editStyle")
 
  324                        $ilToolbar->addButton(
 
  325                            $this->lng->txt(
"cont_delete_style"),
 
  326                            $ilCtrl->getLinkTarget($this, 
"deleteStyle")
 
  332                    $ilToolbar->addSeparator();
 
  334                    $ilToolbar->addButton(
 
  335                        $this->lng->txt(
"sty_create_ind_style"),
 
  336                        $ilCtrl->getLinkTarget($this, 
"createStyle")
 
  343        if ($this->object->editable != 1) {
 
  345            $tpl->setContent($this->form->getHTML());
 
  349            $tpl->setContent($this->form->getHTML());
 
  364        include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
  366        $this->form->setFormAction(
$ilCtrl->getFormAction($this));
 
  367        $this->form->setTitle($this->lng->txt(
"cont_lm_properties"));
 
  370        $this->
object->checkMasteryScoreValues();
 
  373        $ti = 
new ilTextInputGUI($this->lng->txt(
"title"), 
"Fobject_title");
 
  374        $ti->setMaxLength(200);
 
  375        $ti->setValue($this->object->getTitle());
 
  376        $this->form->addItem($ti);
 
  380        $ti->setValue($this->object->getDescription());
 
  381        $this->form->addItem($ti);
 
  386        $this->form->addItem($ne);
 
  390        $ne->setValue($this->object->getModuleVersion());
 
  391        $ne->setInfo($this->lng->txt(
"cont_sc_version_info"));
 
  392        $this->form->addItem($ne);
 
  398        $sh->setTitle($this->lng->txt(
"activation"));
 
  399        $this->form->addItem($sh);
 
  404        if ($this->object->getOnline()) {
 
  405            $cb->setChecked(
true);
 
  407        $cb->setInfo($this->lng->txt(
"cont_online_info"));
 
  408        $this->form->addItem($cb);
 
  411        $cb = 
new ilCheckboxInputGUI($this->lng->txt(
"cont_offline_mode_allow"), 
"cobj_offline_mode");
 
  413        $cb->setChecked($this->object->getOfflineMode());
 
  414        include_once(
"./Modules/ScormAicc/classes/class.ilSCORMOfflineMode.php");
 
  416            $cb->setDisabled(
true);
 
  417            $cb->setInfo($this->lng->txt(
"cont_offline_mode_disable_not_allowed_info"));
 
  419            $cb->setInfo($this->lng->txt(
"cont_offline_mode_allow_info"));
 
  421        $this->form->addItem($cb);
 
  427        $sh->setTitle($this->lng->txt(
"cont_presentation"));
 
  428        $this->form->addItem($sh);
 
  444        $op0 = 
new ilRadioOption($this->lng->txt(
"cont_open_normal"), 
"0");
 
  445        $radg->addOption($op0);
 
  446        $op1 = 
new ilRadioOption($this->lng->txt(
"cont_open_iframe"), 
"1");
 
  447        $radg->addOption($op1);
 
  448        $op2 = 
new ilRadioOption($this->lng->txt(
"cont_open_window"), 
"5");
 
  449        $radg->addOption($op2);
 
  450        $radg->setValue($this->object->getOpenMode()); 
 
  453        $ni->setMaxLength(4);
 
  455        $ni->setValue($this->object->getWidth());
 
  456        $op1->addSubItem($ni);
 
  458        $ni->setMaxLength(4);
 
  460        $ni->setValue($this->object->getWidth());
 
  461        $op2->addSubItem($ni);
 
  464        $ni->setMaxLength(4);
 
  466        $ni->setValue($this->object->getHeight());
 
  467        $ni->setInfo($this->lng->txt(
"cont_width_height_info"));
 
  468        $op1->addSubItem($ni);
 
  470        $ni->setMaxLength(4);
 
  472        $ni->setValue($this->object->getHeight());
 
  473        $ni->setInfo($this->lng->txt(
"cont_width_height_info"));
 
  474        $op2->addSubItem($ni);
 
  477        $cb = 
new ilCheckboxInputGUI($this->lng->txt(
"cont_ie_force_render"), 
"cobj_ie_force_render");
 
  479        $cb->setChecked($this->object->getIe_force_render());
 
  480        $cb->setInfo($this->lng->txt(
"cont_ie_force_render_info"));
 
  481        $op2->addSubItem($cb);
 
  483        $this->form->addItem($radg);
 
  490        $cb->setChecked($this->object->getNoMenu());
 
  491        $cb->setInfo($this->lng->txt(
"cont_nomenu_info"));
 
  492        $this->form->addItem($cb);
 
  498        $cb->setChecked($this->object->getHideNavig());
 
  499        $cb->setInfo($this->lng->txt(
"cont_hidenavig_info"));
 
  500        $this->form->addItem($cb);
 
  503        $cb = 
new ilCheckboxInputGUI($this->lng->txt(
"cont_auto_last_visited"), 
"cobj_auto_last_visited");
 
  505        $cb->setChecked($this->object->getAuto_last_visited());
 
  506        $cb->setInfo($this->lng->txt(
"cont_auto_last_visited_info"));
 
  507        $this->form->addItem($cb);
 
  514        $sh->setTitle($this->lng->txt(
"cont_scorm_options"));
 
  515        $this->form->addItem($sh);
 
  519        $op0 = 
new ilRadioOption($this->lng->txt(
"cont_sc_less_mode_normal"), 
"normal");
 
  520        $radg->addOption($op0);
 
  521        $op1 = 
new ilRadioOption($this->lng->txt(
"cont_sc_less_mode_browse"), 
"browse");
 
  522        $radg->addOption($op1);
 
  523        $radg->setValue($this->object->getDefaultLessonMode());
 
  526        $cmop0 = 
new ilRadioOption($this->lng->txt(
"cont_credit_on"), 
"credit");
 
  527        $cmradg->addOption($cmop0);
 
  528        $cmop1 = 
new ilRadioOption($this->lng->txt(
"cont_credit_off"), 
"no_credit");
 
  529        $cmradg->addOption($cmop1);
 
  530        $cmradg->setValue($this->object->getCreditMode());
 
  531        $op0->addSubItem($cmradg);
 
  534            "n" => $this->lng->txt(
"cont_sc_auto_review_no"),
 
  535            "r" => $this->lng->txt(
"cont_sc_auto_review_completed_not_failed_or_passed"),
 
  536            "p" => $this->lng->txt(
"cont_sc_auto_review_passed"),
 
  537            "q" => $this->lng->txt(
"cont_sc_auto_review_passed_or_failed"),
 
  538            "c" => $this->lng->txt(
"cont_sc_auto_review_completed"),
 
  539            "d" => $this->lng->txt(
"cont_sc_auto_review_completed_and_passed"),
 
  540            "y" => $this->lng->txt(
"cont_sc_auto_review_completed_or_passed"),
 
  541            "s" => $this->lng->txt(
"cont_sc_store_if_previous_score_was_lower")
 
  545        $si->setValue($this->object->getAutoReviewChar());
 
  546        $si->setInfo($this->lng->txt(
"cont_sc_auto_review_info_2004"));
 
  547        $op0->addSubItem(
$si);
 
  549        $this->form->addItem($radg);
 
  553        if ($this->object->getMasteryScoreValues() != 
"") {
 
  554            $ni = 
new ilNumberInputGUI($this->lng->txt(
"cont_mastery_score_2004"), 
"mastery_score");
 
  555            $ni->setMaxLength(3);
 
  557            $ni->setValue($this->object->getMasteryScore());
 
  558            $ni->setInfo($this->lng->txt(
"cont_mastery_score_2004_info") . $this->object->getMasteryScoreValues());
 
  559            $this->form->addItem($ni);
 
  566        $sh->setTitle($this->lng->txt(
"cont_rte_settings"));
 
  567        $this->form->addItem($sh);
 
  572        $cb->setChecked($this->object->getSession());
 
  573        $cb->setInfo($this->lng->txt(
"cont_sc_usession_info"));
 
  574        $this->form->addItem($cb);
 
  577        $cb = 
new ilCheckboxInputGUI($this->lng->txt(
"cont_fourth_edition"), 
"cobj_fourth_edition");
 
  579        $cb->setChecked($this->object->getFourth_edition());
 
  580        $cb->setInfo($this->lng->txt(
"cont_fourth_edition_info"));
 
  581        $this->form->addItem($cb);
 
  586        $cb->setChecked($this->object->getSequencing());
 
  587        $cb->setInfo($this->lng->txt(
"cont_sequencing_info"));
 
  588        $this->form->addItem($cb);
 
  591        $cb = 
new ilCheckboxInputGUI($this->lng->txt(
"cont_interactions"), 
"cobj_interactions");
 
  593        $cb->setChecked($this->object->getInteractions());
 
  594        $cb->setInfo($this->lng->txt(
"cont_interactions_info"));
 
  595        $this->form->addItem($cb);
 
  600        $cb->setChecked($this->object->getObjectives());
 
  601        $cb->setInfo($this->lng->txt(
"cont_objectives_info"));
 
  602        $this->form->addItem($cb);
 
  607        $cb->setChecked($this->object->getComments());
 
  608        $cb->setInfo($this->lng->txt(
"cont_comments_info"));
 
  609        $this->form->addItem($cb);
 
  612        $cb = 
new ilCheckboxInputGUI($this->lng->txt(
"cont_time_from_lms"), 
"cobj_time_from_lms");
 
  614        $cb->setChecked($this->object->getTime_from_lms());
 
  615        $cb->setInfo($this->lng->txt(
"cont_time_from_lms_info"));
 
  616        $this->form->addItem($cb);
 
  619        $cb = 
new ilCheckboxInputGUI($this->lng->txt(
"cont_check_values"), 
"cobj_check_values");
 
  621        $cb->setChecked($this->object->getCheck_values());
 
  622        $cb->setInfo($this->lng->txt(
"cont_check_values_info"));
 
  623        $this->form->addItem($cb);
 
  626        $cb = 
new ilCheckboxInputGUI($this->lng->txt(
"cont_auto_suspend"), 
"cobj_auto_suspend");
 
  628        $cb->setChecked($this->object->getAutoSuspend());
 
  629        $cb->setInfo($this->lng->txt(
"cont_auto_suspend_info"));
 
  630        $this->form->addItem($cb);
 
  634            0 => $this->lng->txt(
"cont_sc_id_setting_user_id"),
 
  635            1 => $this->lng->txt(
"cont_sc_id_setting_user_login"),
 
  636            2 => $this->lng->txt(
"cont_sc_id_setting_user_id_plus_ref_id"),
 
  637            3 => $this->lng->txt(
"cont_sc_id_setting_user_login_plus_ref_id"),
 
  638            4 => $this->lng->txt(
"cont_sc_id_setting_user_id_plus_obj_id"),
 
  639            5 => $this->lng->txt(
"cont_sc_id_setting_user_login_plus_obj_id")
 
  643        $si->setValue($this->object->getIdSetting());
 
  644        $si->setInfo($this->lng->txt(
"cont_sc_id_setting_info"));
 
  645        $this->form->addItem(
$si);
 
  649            0 => $this->lng->txt(
"cont_sc_name_setting_last_firstname"),
 
  650            1 => $this->lng->txt(
"cont_sc_name_setting_first_lastname"),
 
  651            2 => $this->lng->txt(
"cont_sc_name_setting_fullname"),
 
  652            3 => $this->lng->txt(
"cont_sc_name_setting_salutation_lastname"),
 
  653            4 => $this->lng->txt(
"cont_sc_name_setting_first_name"),
 
  654            9 => $this->lng->txt(
"cont_sc_name_setting_no_name")
 
  658        $si->setValue($this->object->getNameSetting());
 
  659        $si->setInfo($this->lng->txt(
"cont_sc_name_setting_info"));
 
  660        $this->form->addItem(
$si);
 
  666        $sh->setTitle($this->lng->txt(
"cont_debugging"));
 
  667        $this->form->addItem($sh);
 
  672        $cb->setChecked($this->object->getDebug());
 
  673        if ($this->object->getDebugActivated() == 
false) {
 
  674            $cb->setDisabled(
true);
 
  675            $cb->setInfo($this->lng->txt(
"cont_debug_deactivated"));
 
  677            $cb->setInfo($this->lng->txt(
"cont_debug_deactivate"));
 
  679        $this->form->addItem($cb);
 
  680        $this->form->addCommandButton(
"saveProperties", 
$lng->txt(
"save"));
 
  693        include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
  698            "" => 
$lng->txt(
"please_select"),
 
  700        $langs = 
$lng->getInstalledLanguages();
 
  701        $lng->loadLanguageModule(
"meta");
 
  702        foreach ($langs as 
$l) {
 
  705        $loc = 
new ilSelectInputGUI($this->lng->txt(
"cont_localization"), 
"localization");
 
  707        $loc->setInfo($this->lng->txt(
"cont_localization_info"));
 
  708        $this->form->addItem($loc);
 
  712        $ne->setInfo(
$lng->txt(
"sahs_glo_info"));
 
  713        $this->form->addItem($ne);
 
  716        $lng->loadLanguageModule(
"style");
 
  717        $fixed_style = 
$ilSetting->get(
"fixed_content_style_id");
 
  718        $style_id = $this->
object->getStyleSheetId();
 
  720        if ($fixed_style > 0) {
 
  723                $this->lng->txt(
"global_fixed") . 
")");
 
  724            $this->form->addItem($st);
 
  732            $st_styles[0] = $this->lng->txt(
"default");
 
  740                    $this->form->addItem($st);
 
  753                $style_sel->setOptions($st_styles);
 
  754                $style_sel->setValue($style_id);
 
  755                $this->form->addItem($style_sel);
 
  761        $ni->setInfo(
$lng->txt(
"cont_qtries_info")); 
 
  762        $ni->setMaxLength(3);
 
  764        $this->form->addItem($ni);
 
  767        $this->form->addCommandButton(
"saveProperties", 
$lng->txt(
"save"));
 
  769        $this->form->setTitle(
$lng->txt(
"cont_scorm_ed_properties"));
 
  770        $this->form->setFormAction(
$ilCtrl->getFormAction($this));
 
  783            $values[
"glossary"] = $this->lng->txt(
"cont_no_glossary");
 
  785        $values[
"q_tries"] = $this->
object->getTries();
 
  786        $values[
"localization"] = $this->
object->getLocalization();
 
  787        $values[
"style_id"] = $this->
object->getStyleSheetId();
 
  789        $this->form->setValuesByArray($values);
 
  799        if ($this->object->editable != 1) {
 
  804            if ($tmpOfflineMode == 
true) {
 
  806                $tmpFourth_edition = 
false; 
 
  807                if ($this->object->getOfflineMode() == 
false) {
 
  808                    $this->
object->zipLmForOfflineMode();
 
  812            if (isset(
$_POST[
"mastery_score"])) {
 
  813                $this->
object->setMasteryScore(
$_POST[
"mastery_score"]);
 
  817            $t_auto_review = 
$_POST[
"auto_review"];
 
  820            if ($t_auto_review == 
"s") {
 
  821                $t_auto_suspend = 
true;
 
  826            $t_height = $this->
object->getHeight();
 
  827            if (
$_POST[
"height_0"] != $this->object->getHeight()) {
 
  828                $t_height = 
$_POST[
"height_0"];
 
  830            if (
$_POST[
"height_1"] != $this->object->getHeight()) {
 
  831                $t_height = 
$_POST[
"height_1"];
 
  834            $t_width = $this->
object->getWidth();
 
  835            if (
$_POST[
"width_0"] != $this->object->getWidth()) {
 
  836                $t_width = 
$_POST[
"width_0"];
 
  838            if (
$_POST[
"width_1"] != $this->object->getWidth()) {
 
  839                $t_width = 
$_POST[
"width_1"];
 
  843            $this->
object->setOpenMode(
$_POST[
"open_mode"]);
 
  844            $this->
object->setWidth($t_width);
 
  845            $this->
object->setHeight($t_height);
 
  846            $this->
object->setCreditMode(
$_POST[
"credit_mode"]);
 
  847            $this->
object->setMaxAttempt(
$_POST[
"max_attempt"]);
 
  848            $this->
object->setAutoReviewChar($t_auto_review);
 
  849            $this->
object->setDefaultLessonMode(
$_POST[
"lesson_mode"]);
 
  850            $this->
object->setSession($t_session);
 
  855            $this->
object->setFourth_edition($tmpFourth_edition);
 
  856            $this->
object->setSequencing($tmpSequencing);
 
  862            $this->
object->setAutoSuspend($t_auto_suspend);
 
  863            $this->
object->setOfflineMode($tmpOfflineMode);
 
  865            $this->
object->setIdSetting(
$_POST[
"id_setting"]);
 
  866            $this->
object->setNameSetting(
$_POST[
"name_setting"]);
 
  867            $this->
object->setTitle(
$_POST[
"Fobject_title"]);
 
  868            $this->
object->setDescription(
$_POST[
"Fobject_description"]);
 
  871            if ($this->form->checkInput()) {
 
  872                $this->
object->setTries(
$_POST[
"q_tries"]);
 
  873                $this->
object->setLocalization(
$_POST[
"localization"]);
 
  875                if (
$ilSetting->get(
"fixed_content_style_id") <= 0 &&
 
  877                    || $this->object->getStyleSheetId() == 0)) {
 
  882        $this->
object->update();
 
  884        $this->ctrl->redirect($this, 
"properties");
 
  894        $this->
object->setAssignedGlossary(0);
 
  895        $this->
object->update();
 
  896        $ilCtrl->redirect($this, 
"properties");
 
  907        $tpl->setContent($this->form->getHTML());
 
  918        include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
  923        $ti->setRequired(
true);
 
  924        $this->form->addItem($ti);
 
  928        $this->form->addItem($ta);
 
  930        $this->form->addCommandButton(
"saveGlossary", 
$lng->txt(
"save"));
 
  931        $this->form->addCommandButton(
"properties", 
$lng->txt(
"cancel"));
 
  933        $this->form->setTitle(
$lng->txt(
"cont_glo_create"));
 
  934        $this->form->setFormAction(
$ilCtrl->getFormAction($this));
 
  948        $parent_ref_id = 
$tree->getParentId((
int) 
$_GET[
"ref_id"]);
 
  949        if (!
$rbacsystem->checkAccess(
"create", $parent_ref_id, 
"glo")) {
 
  951            $ilCtrl->redirect($this, 
"properties");
 
  955        if ($this->form->checkInput()) {
 
  956            include_once(
"./Modules/Glossary/classes/class.ilObjGlossary.php");
 
  958            $newObj->setType(
"glo");
 
  959            $newObj->setTitle(
$_POST[
"title"]);
 
  960            $newObj->setDescription(
$_POST[
"description"]);
 
  961            $newObj->setVirtualMode(
"none");
 
  963            $newObj->createReference();
 
  964            $newObj->putInTree($parent_ref_id);
 
  965            $newObj->setPermissions($parent_ref_id);
 
  968            $this->
object->setAssignedGlossary($newObj->getId());
 
  969            $this->
object->update();
 
  972            $ilCtrl->redirect($this, 
"properties");
 
  975        $this->form->setValuesByPost();
 
  976        $tpl->setContent($this->form->getHtml());
 
  988        include_once(
"./Modules/Scorm2004/classes/class.ilGlossarySelectorGUI.php");
 
  990            $ilCtrl->getLinkTarget($this, 
"selectGlossary"),
 
  991            "ilobjscorm2004learningmodulegui" 
  993        $exp->setSelectableTypes(array(
"glo"));
 
  995        if (
$_GET[
"expand"] == 
"") {
 
  996            $expanded = 
$tree->readRootId();
 
  998            $expanded = 
$_GET[
"expand"];
 
 1000        $exp->setExpand($expanded);
 
 1002        $exp->setTargetGet(
"glo_id");
 
 1005        $exp->setParamsGet($this->ctrl->getParameterArray($this, 
"assignGlossary"));
 
 1008        $exp->setFiltered(
true);
 
 1010        $exp->addFilter(
"root");
 
 1011        $exp->addFilter(
"cat");
 
 1012        $exp->addFilter(
"grp");
 
 1013        $exp->addFilter(
"fold");
 
 1014        $exp->addFilter(
"crs");
 
 1015        $exp->addFilter(
"glo");
 
 1019        $tpl->setContent($exp->getOutput());
 
 1030        $this->
object->update();
 
 1031        $ilCtrl->redirect($this, 
"properties");
 
 1039        if ($this->
id != 0) {
 
 1040            if ($this->call_by_reference) {
 
 1056        $tpl->setContent($this->form->getHTML());
 
 1069        $lng->loadLanguageModule(
"style");
 
 1071        $ilTabs->setTabActive(
"settings");
 
 1073        include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
 1076        $fixed_style = 
$ilSetting->get(
"fixed_content_style_id");
 
 1077        $style_id = $this->
object->getStyleSheetId();
 
 1079        if ($fixed_style > 0) {
 
 1082                $this->lng->txt(
"global_fixed") . 
")");
 
 1083            $this->form->addItem($st);
 
 1091            $st_styles[0] = $this->lng->txt(
"default");
 
 1094            if ($style_id > 0) {
 
 1099                    $this->form->addItem($st);
 
 1104                    $this->form->addCommandButton(
 
 1106                        $lng->txt(
"cont_edit_style")
 
 1108                    $this->form->addCommandButton(
 
 1110                        $lng->txt(
"cont_delete_style")
 
 1125                $style_sel->setOptions($st_styles);
 
 1126                $style_sel->setValue($style_id);
 
 1127                $this->form->addItem($style_sel);
 
 1129                $this->form->addCommandButton(
 
 1130                    "saveStyleSettings",
 
 1133                $this->form->addCommandButton(
 
 1135                    $lng->txt(
"sty_create_ind_style")
 
 1139        $this->form->setTitle(
$lng->txt(
"cont_style"));
 
 1140        $this->form->setFormAction(
$ilCtrl->getFormAction($this));
 
 1150        $ilCtrl->redirectByClass(
"ilobjstylesheetgui", 
"create");
 
 1160        $ilCtrl->redirectByClass(
"ilobjstylesheetgui", 
"edit");
 
 1170        $ilCtrl->redirectByClass(
"ilobjstylesheetgui", 
"delete");
 
 1180        if (
$ilSetting->get(
"fixed_content_style_id") <= 0 &&
 
 1182            || $this->object->getStyleSheetId() == 0)) {
 
 1184            $this->
object->update();
 
 1187        $this->ctrl->redirect($this, 
"editStyleProperties");
 
 1199        $ilTabs->setTabActive(
"cont_tracking_data");
 
 1200        $ilTabs->setSubTabActive(
"cont_tracking_bysco");
 
 1202        $reports = array(
'exportSelectedCore',
'exportSelectedInteractions',
'exportSelectedObjectives',
'tracInteractionItem',
'tracInteractionUser',
'tracInteractionUserAnswers');
 
 1204        $scoSelected = 
"all";
 
 1205        if (isset(
$_GET[
"scoSelected"])) {
 
 1208        if (isset(
$_POST[
"scoSelected"])) {
 
 1211        $this->ctrl->setParameter($this, 
'scoSelected', $scoSelected);
 
 1214        if (isset(
$_GET[
"report"])) {
 
 1217        if (isset(
$_POST[
"report"])) {
 
 1220        $this->ctrl->setParameter($this, 
'report', $report);
 
 1222        include_once 
'./Modules/Scorm2004/classes/class.ilSCORM2004TrackingItemsPerScoFilterGUI.php';
 
 1224        $filter->parse($scoSelected, $report, $reports);
 
 1225        if ($report == 
"choose") {
 
 1226            $this->tpl->setContent($filter->form->getHTML());
 
 1228            $scosSelected = array();
 
 1229            if ($scoSelected != 
"all") {
 
 1230                $scosSelected[] = $scoSelected;
 
 1232                $tmpscos=$this->
object->getTrackedItems();
 
 1233                for (
$i=0; 
$i<count($tmpscos); 
$i++) {
 
 1234                    $scosSelected[] = $tmpscos[
$i][
"id"];
 
 1238            include_once 
"Services/Tracking/classes/class.ilTrQuery.php";
 
 1241            include_once 
'./Modules/Scorm2004/classes/class.ilSCORM2004TrackingItemsTableGUI.php';
 
 1243            $this->tpl->setContent($filter->form->getHTML() . 
$tbl->getHTML());
 
 1252        $ilTabs->setTabActive(
'cont_tracking_data');
 
 1254        if ($ilAccess->checkAccess(
"read_learning_progress", 
"", 
$_GET[
"ref_id"])) {
 
 1256            $ilTabs->setSubTabActive(
'cont_tracking_byuser');
 
 1258            $reports = array(
'exportSelectedSuccess',
'exportSelectedCore',
'exportSelectedInteractions',
'exportSelectedObjectives',
'exportObjGlobalToSystem');
 
 1260            $userSelected = 
"all";
 
 1261            if (isset(
$_GET[
"userSelected"])) {
 
 1264            if (isset(
$_POST[
"userSelected"])) {
 
 1267            $this->ctrl->setParameter($this, 
'userSelected', $userSelected);
 
 1270            if (isset(
$_GET[
"report"])) {
 
 1273            if (isset(
$_POST[
"report"])) {
 
 1276            $this->ctrl->setParameter($this, 
'report', $report);
 
 1278            include_once 
'./Modules/Scorm2004/classes/class.ilSCORM2004TrackingItemsPerUserFilterGUI.php';
 
 1280            $filter->parse($userSelected, $report, $reports);
 
 1281            if ($report == 
"choose") {
 
 1282                $this->tpl->setContent($filter->form->getHTML());
 
 1284                $usersSelected = array();
 
 1285                if ($userSelected != 
"all") {
 
 1286                    $usersSelected[] = $userSelected;
 
 1288                    include_once 
"Services/Tracking/classes/class.ilTrQuery.php";
 
 1292                            $usersSelected[] = 
$user;
 
 1296                $scosSelected = array();
 
 1297                $tmpscos=$this->
object->getTrackedItems();
 
 1298                for (
$i=0; 
$i<count($tmpscos); 
$i++) {
 
 1299                    $scosSelected[] = $tmpscos[
$i][
"id"];
 
 1305                include_once 
'./Modules/Scorm2004/classes/class.ilSCORM2004TrackingItemsTableGUI.php';
 
 1307                $this->tpl->setContent($filter->form->getHTML() . 
$tbl->getHTML());
 
 1309        } elseif ($ilAccess->checkAccess(
"edit_learning_progress", 
"", 
$_GET[
"ref_id"])) {
 
 1325        $mtree = 
new ilTree($this->object->getId());
 
 1326        $mtree->setTableNames(
'sahs_sc13_tree', 
'sahs_sc13_tree_node');
 
 1327        $mtree->setTreeTablePK(
"slm_id");
 
 1329        if (
$_POST[
"expandAll"] != 
"") {
 
 1330            $_GET[
"scexpand"] = 
"";
 
 1331            $stree = $mtree->getSubTree($mtree->getNodeData($mtree->readRootId()));
 
 1333            foreach ($stree as 
$n) {
 
 1334                $n_arr[] = 
$n[
"child"];
 
 1339        if (
$_POST[
"collapseAll"] != 
"") {
 
 1340            $_GET[
"scexpand"] = 
"";
 
 1341            $_SESSION[
"scexpand"] = array($mtree->readRootId());
 
 1344        $this->tpl = 
new ilTemplate(
"tpl.main.html", 
true, 
true);
 
 1347        $ilCtrl->setParameter($this, 
"active_node", 
$_GET[
"active_node"]);
 
 1349        $this->tpl->addBlockFile(
"CONTENT", 
"content", 
"tpl.explorer.html");
 
 1352        $this->tpl->setCurrentBlock(
"exp2_button");
 
 1353        $this->tpl->setVariable(
"CMD_EXP2_BTN", 
"expandAll");
 
 1354        $this->tpl->setVariable(
"TXT_EXP2_BTN", 
$lng->txt(
"expand_all"));
 
 1355        $this->tpl->parseCurrentBlock();
 
 1357        $this->tpl->setCurrentBlock(
"exp2_button");
 
 1358        $this->tpl->setVariable(
"CMD_EXP2_BTN", 
"collapseAll");
 
 1359        $this->tpl->setVariable(
"TXT_EXP2_BTN", 
$lng->txt(
"collapse_all"));
 
 1360        $this->tpl->parseCurrentBlock();
 
 1362        require_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004EditorExplorer.php");
 
 1363        $exp = 
new ilSCORM2004EditorExplorer(
 
 1364            $this->ctrl->getLinkTarget($this, 
"edit"),
 
 1367        $exp->setFrameUpdater(
"content", 
"ilHierarchyFormUpdater");
 
 1368        $exp->setTargetGet(
"obj_id");
 
 1369        $exp->setExpandTarget($this->ctrl->getLinkTarget($this, 
"showTree"));
 
 1371        if (
$_GET[
"scexpand"] == 
"") {
 
 1372            $expanded = $mtree->readRootId();
 
 1374            $expanded = 
$_GET[
"scexpand"];
 
 1378        if (
$_GET[
"active_node"] != 
"") {
 
 1379            $path = $mtree->getPathId(
$_GET[
"active_node"]);
 
 1380            $exp->setForceOpenPath(
$path);
 
 1382            $exp->highlightNode(
$_GET[
"active_node"]);
 
 1384        $exp->setExpand($expanded);
 
 1396        $this->tpl->setCurrentBlock(
"content");
 
 1397        $this->tpl->setVariable(
"TXT_EXPLORER_HEADER", $this->lng->txt(
"sahs_organization"));
 
 1398        $this->tpl->setVariable(
"EXP_REFRESH", $this->lng->txt(
"refresh"));
 
 1399        $this->tpl->setVariable(
"EXPLORER", 
$output);
 
 1400        $this->ctrl->setParameter($this, 
"scexpand", 
$_GET[
"scexpand"]);
 
 1401        $this->tpl->setVariable(
"ACTION", $this->ctrl->getLinkTarget($this, 
"showTree"));
 
 1402        $this->tpl->parseCurrentBlock();
 
 1404        include_once(
"./Services/jQuery/classes/class.iljQueryUtil.php");
 
 1407        $this->tpl->show(
false);
 
 1424        $ilTabs->setTabActive(
"sahs_sequencing");
 
 1426        include_once(
"./Modules/Scorm2004/classes/seq_editor/class.ilSCORM2004Item.php");
 
 1428        if (!$this->object->getSequencingExpertMode()) {
 
 1429            $ilToolbar->addButton(
 
 1430                $lng->txt(
"sahs_activate_expert_mode"),
 
 1431                $ilCtrl->getLinkTarget($this, 
"confirmExpertMode")
 
 1434            include_once(
"./Services/UIComponent/NestedList/classes/class.ilNestedList.php");
 
 1436            $t = $this->
object->getTree();
 
 1437            $root_node = 
$t->getNodeData(
$t->getRootId());
 
 1438            $nodes = $this->
object->getTree()->getSubtree($root_node);
 
 1439            foreach ($nodes as $node) {
 
 1440                if (in_array($node[
"type"], array(
"", 
"chap", 
"sco"))) {
 
 1441                    $ntpl = 
new ilTemplate(
"tpl.seq_node.html", 
true, 
true, 
"Modules/Scorm2004");
 
 1442                    $ntpl->setVariable(
"NODE_ID", $node[
"child"]);
 
 1443                    if ($node[
"type"] == 
"") {
 
 1444                        $ntpl->setVariable(
"TITLE", $this->object->getTitle());
 
 1447                        $ntpl->setVariable(
"TITLE", $node[
"title"]);
 
 1454                    $list->addListNode($ntpl->get(), $node[
"child"], $node[
"parent"]);
 
 1459            $tb->addFormButton(
$lng->txt(
"save"), 
"saveSequencing");
 
 1460            $ftpl = 
new ilTemplate(
"tpl.sequencing.html", 
true, 
true, 
"Modules/Scorm2004");
 
 1461            $ftpl->setVariable(
"CONTENT", 
$list->getHTML());
 
 1462            $ftpl->setVariable(
"FORM_ACTION", 
$ilCtrl->getFormAction($this));
 
 1463            $ftpl->setVariable(
"TB", $tb->getHTML());
 
 1464            $tpl->setContent($ftpl->get());
 
 1478        $ilTabs->setTabActive(
"sahs_sequencing");
 
 1480        include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
 
 1482        $cgui->setFormAction(
$ilCtrl->getFormAction($this));
 
 1483        $cgui->setHeaderText(
$lng->txt(
"sahs_activate_expert_mode_info"));
 
 1484        $cgui->setCancel(
$lng->txt(
"cancel"), 
"showSequencing");
 
 1485        $cgui->setConfirm(
$lng->txt(
"sahs_activate_expert_mode"), 
"activateExpertMode");
 
 1487        $tpl->setContent($cgui->getHTML());
 
 1501        $this->
object->setSequencingExpertMode(
true);
 
 1502        $this->
object->update();
 
 1504        $ilCtrl->redirect($this, 
"showSequencing");
 
 1517        include_once(
"./Modules/Scorm2004/classes/seq_editor/class.ilSCORM2004Item.php");
 
 1518        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Sco.php");
 
 1519        $t = $this->
object->getTree();
 
 1520        $root_node = 
$t->getNodeData(
$t->getRootId());
 
 1521        $nodes = $this->
object->getTree()->getSubtree($root_node);
 
 1522        foreach ($nodes as $node) {
 
 1523            if (in_array($node[
"type"], array(
"", 
"chap", 
"sco"))) {
 
 1524                if ($node[
"type"] == 
"") {
 
 1531                $ob_texts = array();
 
 1532                if ($node[
"type"] == 
"sco") {
 
 1534                    $objectives = $sco->getObjectives();
 
 1535                    foreach ($objectives as $o) {
 
 1536                        $ob_texts[$o->getId()] = $o->getObjectiveId();
 
 1540                $item->setSeqXml(
$xml);
 
 1544                if ($node[
"type"] == 
"sco") {
 
 1545                    foreach ($ob_texts as 
$id => 
$t) {
 
 1546                        $objective = 
new ilScorm2004Objective($node[
"child"], 
$id);
 
 1547                        $objective->setObjectiveId(
$t);
 
 1548                        $objective->updateObjective();
 
 1556        $ilCtrl->redirect($this, 
"showSequencing");
 
 1569        $chaps = $this->
object->getTree()->getChilds(
 
 1570            $this->object->getTree()->getRootId()
 
 1573        foreach ($chaps as $chap) {
 
 1574            if ($chap[
"type"] == 
"chap") {
 
 1575                $s_chaps[$chap[
"child"]] = $chap[
"title"];
 
 1582        $ilToolbar->setFormAction(
$ilCtrl->getFormAction($this));
 
 1583        include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
 
 1585            "0" => 
$lng->txt(
"all")
 
 1590        $si->setValue($cur_chap);
 
 1591        $ilToolbar->addInputItem(
$si, 
true);
 
 1592        $ilToolbar->addFormButton(
$lng->txt(
"change"), 
"selectLObjChapter");
 
 1594        include_once(
"./Modules/Scorm2004/classes/class.ilObjectivesAlignmentTableGUI.php");
 
 1597            "showLearningObjectivesAlignment",
 
 1602        $tpl->setContent($obj_table->getHTML());
 
 1610        $ilCtrl->redirect($this, 
"showLearningObjectivesAlignment");
 
 1618        switch (
$_POST[
'select_export']) {
 
 1619            case "exportScorm12":
 
 1620            case "exportScorm2004_3rd":
 
 1621            case "exportScorm2004_4th":
 
 1625            case "exportHTMLOne":
 
 1626                $this->ctrl->redirect($this, 
$_POST[
'select_export']);
 
 1629                $this->ctrl->redirect($this, 
'showExportList');
 
 1642        $ilToolbar->setFormAction($this->ctrl->getFormAction($this, 
'selectExport'));
 
 1643        $ilToolbar->setId(
"scorm2004export");
 
 1657            "exportScorm2004_3rd" => $this->lng->txt(
"scorm_create_export_file_scrom2004"),
 
 1658            "exportScorm2004_4th" => $this->lng->txt(
"scorm_create_export_file_scrom2004_4th"),
 
 1659            "exportScorm12" => $this->lng->txt(
"scorm_create_export_file_scrom12"),
 
 1660            "exportHTML" => $this->lng->txt(
"scorm_create_export_file_html"),
 
 1661            "exportHTMLOne" => $this->lng->txt(
"scorm_create_export_file_html_one")
 
 1665        include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
 
 1667        $si->setOptions($buttons);
 
 1668        $ilToolbar->addInputItem(
$si, 
true);
 
 1670        $ilToolbar->addFormButton($this->lng->txt(
'export'), 
"selectExport");
 
 1672        $export_files = $this->
object->getExportFiles();
 
 1674        include_once 
"./Modules/Scorm2004/classes/class.ilSCORM2004ExportTableGUI.php";
 
 1677        foreach ($export_files as $exp_file) {
 
 1678            $filetype = $exp_file[
'type'];
 
 1679            $public_str = ($exp_file[
"file"] == $this->
object->getPublicExportFile($filetype))
 
 1680                ? 
" <b>(" . $this->lng->txt(
"public") . 
")<b>" 
 1682            $file_arr = explode(
"__", $exp_file[
"file"]);
 
 1685        $table_gui->setData(
$data);
 
 1687        $this->tpl->setContent($table_gui->getHTML());
 
 1700        if ($this->ctrl->getCmd() == 
"delete") {
 
 1704        if (!$this->object->getEditable()) {
 
 1705            return parent::getTabs();
 
 1708        $ilHelp->setScreenIdComponent(
"sahsed");
 
 1711        $this->tabs_gui->addTarget(
 
 1712            "sahs_organization",
 
 1713            $this->ctrl->getLinkTarget($this, 
"showOrganization"),
 
 1719        $force_active = ($this->ctrl->getNextClass() == 
"ilinfoscreengui")
 
 1722        $this->tabs_gui->addTarget(
 
 1724            $this->ctrl->getLinkTargetByClass(
"ilinfoscreengui", 
"showSummary"),
 
 1732        $this->tabs_gui->addTarget(
 
 1734            $this->ctrl->getLinkTarget($this, 
"properties"),
 
 1747        $this->tabs_gui->addTarget(
 
 1748            "sahs_objectives_alignment",
 
 1749            $this->ctrl->getLinkTarget($this, 
"showLearningObjectivesAlignment"),
 
 1750            "showLearningObjectivesAlignment",
 
 1755        $this->tabs_gui->addTarget(
 
 1757            $this->ctrl->getLinkTarget($this, 
"showSequencing"),
 
 1775        include_once 
"Services/Object/classes/class.ilObjectMetaDataGUI.php";
 
 1777        $mdtab = $mdgui->getTab();
 
 1779            $this->tabs_gui->addTarget(
 
 1788        $this->tabs_gui->addTarget(
 
 1790            $this->ctrl->getLinkTarget($this, 
"showExportList"),
 
 1791            array(
"showExportList", 
'confirmDeleteExportFile'),
 
 1796        if ($ilAccess->checkAccess(
'edit_permission', 
'', $this->object->getRefId())) {
 
 1797            $this->tabs_gui->addTarget(
 
 1799                $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'), 
"perm"),
 
 1800                array(
"perm",
"info",
"owner"),
 
 1805        if ($this->object->editable==1) {
 
 1807            $this->tabs_gui->addNonTabbedLink(
 
 1809                $this->lng->txt(
"cont_sc_preview"),
 
 1810                $this->ctrl->getLinkTarget($this, 
"preview"),
 
 1825        if ($a_main_tab == 
"settings" &&
 
 1826            $this->object->editable == 1) {
 
 1837            $ilTabs->activateSubTab($a_active);
 
 1847        $slm_tree = 
new ilTree($this->object->getId());
 
 1848        $slm_tree->setTreeTablePK(
"slm_id");
 
 1849        $slm_tree->setTableNames(
'sahs_sc13_tree', 
'sahs_sc13_tree_node');
 
 1858        $a_form_action = 
"",
 
 1868        if ($a_form_action == 
"") {
 
 1869            $a_form_action = 
$ilCtrl->getFormAction($this);
 
 1872        if ($a_icon == 
"") {
 
 1873            $a_title = $this->
object->getTitle();
 
 1879        if ($a_top_node == 0) {
 
 1880            $a_top_node = $slm_tree->getRootId();
 
 1883        if (is_null($a_gui_obj)) {
 
 1885            $a_gui_cmd = 
"showOrganization";
 
 1888        $ilCtrl->setParameter($this, 
"backcmd", 
"showOrganization");
 
 1889        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
 
 1891        $form_gui->setParentCommand($a_gui_obj, $a_gui_cmd);
 
 1892        $form_gui->setFormAction($a_form_action);
 
 1895        $form_gui->setTree($slm_tree);
 
 1896        $form_gui->setCurrentTopNodeId($a_top_node);
 
 1897        $form_gui->addMultiCommand(
$lng->txt(
"delete"), 
"deleteNodes");
 
 1898        $form_gui->addMultiCommand(
$lng->txt(
"cut"), 
"cutItems");
 
 1899        $form_gui->addMultiCommand(
$lng->txt(
"copy"), 
"copyItems");
 
 1900        $form_gui->addCommand(
$lng->txt(
"cont_save_all_titles"), 
"saveAllTitles");
 
 1901        $form_gui->addCommand(
$lng->txt(
"expand_all"), 
"expandAll");
 
 1902        $form_gui->addCommand(
$lng->txt(
"collapse_all"), 
"collapseAll");
 
 1903        $form_gui->setTriggeredUpdateCommand(
"saveAllTitles");
 
 1906        if (
$_GET[
"highlight"] != 
"") {
 
 1907            $hl = explode(
":", 
$_GET[
"highlight"]);
 
 1908            $form_gui->setHighlightedNodes($hl);
 
 1909            $form_gui->setFocusId($hl[0]);
 
 1912        $ilCtrl->setParameter($this, 
"active_node", 
$_GET[
"obj_id"]);
 
 1915        $sc_tpl = 
new ilTemplate(
"tpl.scormeditor_orga_screen.html", 
true, 
true, 
"Modules/Scorm2004");
 
 1916        $sc_tpl->setVariable(
"ORGANIZATION", $form_gui->getHTML());
 
 1919        $tpl->setContent($sc_tpl->get());
 
 1932        $ilCtrl->setParameter($this, 
"nodes_mode", $a_mode);
 
 1933        include_once(
"Services/Notes/classes/class.ilNoteGUI.php");
 
 1934        $node_id = 
$_GET[
"obj_id"];
 
 1935        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
 
 1936        $node_type = ($node_id > 0)
 
 1941            $this->object->getId(),
 
 1945        if ($ilAccess->checkAccess(
"write", 
"", 
$_GET[
"ref_id"]) && 
$ilSetting->get(
"comments_del_tutor", 1)) {
 
 1946            $notes_gui->enablePublicNotesDeletion(
true);
 
 1948        $notes_gui->enablePrivateNotes();
 
 1949        $notes_gui->enablePublicNotes();
 
 1951        $next_class = 
$ilCtrl->getNextClass($this);
 
 1952        if ($next_class == 
"ilnotegui") {
 
 1953            $html = $this->ctrl->forwardCommand($notes_gui);
 
 1955            $html = $notes_gui->getNotesHTML();
 
 1968        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
 
 1970        $slm_tree = 
new ilTree($this->object->getId());
 
 1971        $slm_tree->setTreeTablePK(
"slm_id");
 
 1972        $slm_tree->setTableNames(
'sahs_sc13_tree', 
'sahs_sc13_tree_node');
 
 1978            $parent_id = $slm_tree->getParentId($node_id);
 
 1981            $parent_id = $node_id;
 
 1984        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Chapter.php");
 
 1985        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
 
 1987        $chap_ids = array();
 
 1988        for (
$i = 1; 
$i <= $num; 
$i++) {
 
 1990            $chap->setTitle(
$lng->txt(
"sahs_new_chapter"));
 
 1991            $chap->setSLMId($this->object->getId());
 
 1994            $chap_ids[] = $chap->getId();
 
 1996        $chap_ids = array_reverse($chap_ids);
 
 1997        $chap_ids = implode($chap_ids, 
":");
 
 2000            $ilCtrl->setParameter($this, 
"highlight", $chap_ids);
 
 2001            $ilCtrl->redirect($this, 
"showOrganization", 
"node_" . $node_id);
 
 2003        return array(
"node_id" => $node_id, 
"items" => $chap_ids);
 
 2014        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
 
 2016        $slm_tree = 
new ilTree($this->object->getId());
 
 2017        $slm_tree->setTreeTablePK(
"slm_id");
 
 2018        $slm_tree->setTableNames(
'sahs_sc13_tree', 
'sahs_sc13_tree_node');
 
 2023        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Sco.php");
 
 2024        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
 
 2027            $parent_id = $slm_tree->getParentId($node_id);
 
 2030            $parent_id = $node_id;
 
 2035        for (
$i = 1; 
$i <= $num; 
$i++) {
 
 2037            $sco->setTitle(
$lng->txt(
"sahs_new_sco"));
 
 2038            $sco->setSLMId($this->object->getId());
 
 2041            $sco_ids[] = $sco->getId();
 
 2043        $sco_ids = array_reverse($sco_ids);
 
 2044        $sco_ids = implode($sco_ids, 
":");
 
 2047            $ilCtrl->setParameter($this, 
"highlight", $sco_ids);
 
 2048            $ilCtrl->redirect($this, 
"showOrganization", 
"node_" . $node_id);
 
 2050        return array(
"node_id" => $node_id, 
"items" => $sco_ids);
 
 2061        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
 
 2063        $slm_tree = 
new ilTree($this->object->getId());
 
 2064        $slm_tree->setTreeTablePK(
"slm_id");
 
 2065        $slm_tree->setTableNames(
'sahs_sc13_tree', 
'sahs_sc13_tree_node');
 
 2070        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Asset.php");
 
 2071        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
 
 2074            $parent_id = $slm_tree->getParentId($node_id);
 
 2077            $parent_id = $node_id;
 
 2082        for (
$i = 1; 
$i <= $num; 
$i++) {
 
 2084            $ass->setTitle(
$lng->txt(
"sahs_new_asset"));
 
 2085            $ass->setSLMId($this->object->getId());
 
 2088            $ass_ids[] = $ass->getId();
 
 2090        $ass_ids = array_reverse($ass_ids);
 
 2091        $ass_ids = implode($ass_ids, 
":");
 
 2094            $ilCtrl->setParameter($this, 
"highlight", $ass_ids);
 
 2095            $ilCtrl->redirect($this, 
"showOrganization", 
"node_" . $node_id);
 
 2097        return array(
"node_id" => $node_id, 
"items" => $ass_ids);
 
 2108        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
 
 2110        $slm_tree = 
new ilTree($this->object->getId());
 
 2111        $slm_tree->setTreeTablePK(
"slm_id");
 
 2112        $slm_tree->setTableNames(
'sahs_sc13_tree', 
'sahs_sc13_tree_node');
 
 2117        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004PageNode.php");
 
 2118        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
 
 2120            $parent_id = $slm_tree->getParentId($node_id);
 
 2123            $parent_id = $node_id;
 
 2127        $page_ids = array();
 
 2128        for (
$i = 1; 
$i <= $num; 
$i++) {
 
 2130            $page->setTitle(
$lng->txt(
"sahs_new_page"));
 
 2131            $page->setSLMId($this->object->getId());
 
 2134            $page_ids[] = $page->getId();
 
 2136        $page_ids = array_reverse($page_ids);
 
 2137        $page_ids = implode($page_ids, 
":");
 
 2140            $ilCtrl->setParameter($this, 
"highlight", $page_ids);
 
 2141            $ilCtrl->redirect($this, 
"showOrganization", 
"node_" . $node_id);
 
 2143        return array(
"node_id" => $node_id, 
"items" => $page_ids);
 
 2156        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
 
 2157        include_once(
"./Modules/Scorm2004/classes/seq_editor/class.ilSCORM2004SeqTemplate.php");
 
 2159        $templates = array();
 
 2163        $default_identifier = 
$_POST[
"identifier"];
 
 2168        $this->tpl->addBlockFile(
"ADM_CONTENT", 
"adm_content", 
"tpl.scormeditor_seq_chooser.html", 
"Modules/Scorm2004");
 
 2170        $this->tpl->setCurrentBlock(
"option_item");
 
 2173        foreach ($arr_templates as $templ) {
 
 2175            $item_data = $templ->getMetadataProperties();
 
 2176            $item_data[
'identifier'] = $templ->getIdentifier();
 
 2177            array_push($templates, $item_data);
 
 2178            if ($default_identifier == $item_data[
'identifier']) {
 
 2180                $active =  $item_data;
 
 2182            $this->tpl->setVariable(
"VAL_SELECTED", $sel);
 
 2183            $this->tpl->setVariable(
"VAL_IDENTIFIER", $item_data[
'identifier']);
 
 2184            $this->tpl->setVariable(
"VAL_TITLE", $item_data[
'title']);
 
 2185            $this->tpl->parseCurrentBlock();
 
 2189        if ($active == 
null) {
 
 2192            $image = $templates[0][
'thumbnail'];
 
 2195            $image = $active[
'thumbnail'];
 
 2198        $this->tpl->setVariable(
"VAL_DESCRIPTION", 
$description);
 
 2201        $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
 
 2202        $this->tpl->setVariable(
"BTN_NAME", 
"insertScenario");
 
 2203        $this->tpl->setVariable(
"TXT_CANCEL", $this->lng->txt(
"cancel"));
 
 2204        $this->tpl->setVariable(
"TXT_INSERT", $this->lng->txt(
"insert"));
 
 2205        $this->tpl->setVariable(
"TXT_CHANGE", $this->lng->txt(
"change"));
 
 2207        $this->tpl->setVariable(
"TXT_TITLE", 
"Choose Sequencing Template");
 
 2209        $node_id = 
$_POST[
"node_id"];
 
 2210        $first_child = 
$_POST[
"first_child"];
 
 2215        if (!$first_child) {
 
 2219        $this->tpl->setVariable(
"VAL_NODE_ID", $node_id);
 
 2220        $this->tpl->setVariable(
"VAL_FIRST_CHILD", $first_child);
 
 2231        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
 
 2233        $slm_tree = 
new ilTree($this->object->getId());
 
 2234        $slm_tree->setTreeTablePK(
"slm_id");
 
 2235        $slm_tree->setTableNames(
'sahs_sc13_tree', 
'sahs_sc13_tree_node');
 
 2237        $node_id = 
$_POST[
"node_id"];
 
 2239        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004PageNode.php");
 
 2240        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
 
 2241        include_once(
"./Modules/Scorm2004/classes/seq_editor/class.ilSCORM2004SeqTemplate.php");
 
 2243        if (!
$_POST[
"first_child"]) {   
 
 2244            $parent_id = $slm_tree->getParentId($node_id);
 
 2247            $parent_id = $node_id;
 
 2253        $ilCtrl->setParameter($this, 
"highlight", 
$id);
 
 2254        $ilCtrl->redirect($this, 
"showOrganization", 
"node_" . $node_id);
 
 2275        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
 
 2279        $this->tpl->addBlockFile(
"ADM_CONTENT", 
"adm_content", 
"tpl.scormeditor_page_layout_chooser.html", 
"Modules/Scorm2004");
 
 2281        $this->tpl->setCurrentBlock(
"option_item");
 
 2284        foreach ($arr_templates as $templ) {
 
 2287            $templ->readObject();
 
 2288            $this->tpl->setVariable(
"VAL_LAYOUT_TITLE", $templ->getTitle());
 
 2289            $this->tpl->setVariable(
"VAL_LAYOUT_IMAGE", $templ->getPreview());
 
 2290            $this->tpl->setVariable(
"VAL_LAYOUT_ID", $templ->getId());
 
 2291            $this->tpl->setVariable(
"VAL_DISPLAY", 
"inline");
 
 2293                $this->tpl->setVariable(
"VAL_CHECKED", 
"checked");
 
 2295            if ($count%4 == 0) {
 
 2296                $this->tpl->setVariable(
"END_ROW", 
"</tr>");
 
 2298            if ($count == 1 || ($count-1)%4 == 0) {
 
 2299                $this->tpl->setVariable(
"BEGIN_ROW", 
"<tr>");
 
 2301            $this->tpl->parseCurrentBlock();
 
 2306            $rest = 4-($count%4);
 
 2312            $this->tpl->setVariable(
"VAL_DISPLAY", 
"none");
 
 2313            $this->tpl->setVariable(
"VAL_LAYOUT_ID", $templ->getId());
 
 2316                $this->tpl->setVariable(
"END_ROW", 
"</tr>");
 
 2318            $this->tpl->parseCurrentBlock();
 
 2328        $ilCtrl->saveParameter($this, 
"obj_id");
 
 2330        $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
 
 2332        $this->tpl->setVariable(
"BTN_NAME", 
"insertTemplate");
 
 2333        $this->tpl->setVariable(
"TXT_CANCEL", $this->lng->txt(
"cancel"));
 
 2334        $this->tpl->setVariable(
"TXT_INSERT", $this->lng->txt(
"create"));
 
 2335        $this->tpl->setVariable(
"CMD_CANCEL", 
"showOrganization");
 
 2337        $this->tpl->setVariable(
"TXT_CANCEL", $this->lng->txt(
"cancel"));
 
 2338        $this->tpl->setVariable(
"TXT_INSERT", $this->lng->txt(
"insert"));
 
 2339        $this->tpl->setVariable(
"TXT_CHANGE", $this->lng->txt(
"change"));
 
 2340        if ($a_special_page) {
 
 2341            $this->tpl->setVariable(
"TXT_TITLE", $this->lng->txt(
"sahs_choose_special_page"));
 
 2343            $this->tpl->setVariable(
"TXT_TITLE", $this->lng->txt(
"sahs_choose_page_template"));
 
 2357        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
 
 2359        $slm_tree = 
new ilTree($this->object->getId());
 
 2360        $slm_tree->setTreeTablePK(
"slm_id");
 
 2361        $slm_tree->setTableNames(
'sahs_sc13_tree', 
'sahs_sc13_tree_node');
 
 2364        $node_id = 
$_POST[
"node_id"];
 
 2365        $layout_id = 
$_POST[
"layout_id"];
 
 2368        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004PageNode.php");
 
 2369        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
 
 2371        if (!
$_POST[
"first_child"]) {   
 
 2372            $parent_id = $slm_tree->getParentId($node_id);
 
 2375            $parent_id = $node_id;
 
 2379        $page_ids = array();
 
 2380        for (
$i = 1; 
$i <= $num; 
$i++) {
 
 2382            $page->setTitle(
$lng->txt(
"sahs_new_page"));
 
 2383            $page->setSLMId($this->object->getId());
 
 2384            $page->create(
false, $layout_id);
 
 2386            $page_ids[] = $page->getId();
 
 2388        $page_ids = array_reverse($page_ids);
 
 2389        $page_ids = implode($page_ids, 
":");
 
 2392            if (
$_GET[
"obj_id"] != 
"") {
 
 2395                $ilCtrl->setParameter($this, 
"highlight", $page_ids);
 
 2396                $ilCtrl->redirect($this, 
"showOrganization", 
"node_" . $node_id);
 
 2406        $_GET[
"scexpand"] = 
"";
 
 2407        $mtree = $this->
object->getTree();
 
 2408        $n_id = (
$_GET[
"obj_id"] > 0)
 
 2410            : $mtree->readRootId();
 
 2411        $stree = $mtree->getSubTree($mtree->getNodeData($n_id));
 
 2413        foreach ($stree as 
$n) {
 
 2414            $n_arr[] = 
$n[
"child"];
 
 2425        $_GET[
"scexpand"] = 
"";
 
 2426        $mtree = $this->
object->getTree();
 
 2427        $n_id = (
$_GET[
"obj_id"] > 0)
 
 2429            : $mtree->readRootId();
 
 2430        $stree = $mtree->getSubTree($mtree->getNodeData($n_id));
 
 2432        foreach ($stree as 
$n) {
 
 2433            if (in_array(
$n[
"child"], 
$old) && 
$n[
"child"] != $n_id) {
 
 2434                $k = array_search(
$n[
"child"], 
$old);
 
 2449        if (is_array(
$_POST[
"title"])) {
 
 2450            include_once(
"./Services/MetaData/classes/class.ilMD.php");
 
 2451            include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004NodeFactory.php");
 
 2454                if (is_object($node_obj)) {
 
 2456                    $md = 
new ilMD($this->object->getId(), 
$id, $node_obj->getType());
 
 2457                    $md_gen = $md->getGeneral();
 
 2467            $ilCtrl->redirect($this, 
"showOrganization");
 
 2482        if (!isset(
$_POST[
"id"])) {
 
 2483            $ilErr->raiseError($this->lng->txt(
"no_checkbox"), 
$ilErr->MESSAGE);
 
 2489        include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
 
 2492        if ($a_form_action == 
"") {
 
 2493            $cmd = (
$_GET[
"backcmd"] == 
"")
 
 2494                ? 
"showOrganization" 
 2496            $this->ctrl->setParameter($this, 
"backcmd", $cmd);
 
 2497            $a_form_action = $this->ctrl->getFormAction($this);
 
 2499        $confirmation_gui->setFormAction($a_form_action);
 
 2500        $confirmation_gui->setHeaderText($this->lng->txt(
"info_delete_sure"));
 
 2503        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004NodeFactory.php");
 
 2507                $confirmation_gui->addItem(
 
 2510                    $node_obj->getTitle(),
 
 2516        $confirmation_gui->setCancel(
$lng->txt(
"cancel"), 
"cancelDelete");
 
 2517        $confirmation_gui->setConfirm(
$lng->txt(
"confirm"), 
"confirmedDelete");
 
 2519        $tpl->setContent($confirmation_gui->getHTML());
 
 2527        $this->ctrl->redirect($this, 
$_GET[
"backcmd"]);
 
 2538        $tree->setTableNames(
'sahs_sc13_tree', 
'sahs_sc13_tree_node');
 
 2539        $tree->setTreeTablePK(
"slm_id");
 
 2542        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004NodeFactory.php");
 
 2546                $node_data = 
$tree->getNodeData(
$id);
 
 2547                if (is_object($obj)) {
 
 2548                    $obj->setSLMId($this->object->getId());
 
 2558                    $tree->deleteTree($node_data);
 
 2570            $ilCtrl->redirect($this, 
"showOrganization");
 
 2581        $this->
object->executeDragDrop(
 
 2582            $_POST[
"il_hform_source_id"],
 
 2583            $_POST[
"il_hform_target_id"],
 
 2585            $_POST[
"il_hform_as_subitem"]
 
 2587        $ilCtrl->redirect($this, 
"showOrganization");
 
 2598        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
 
 2602        foreach ($items as $k => $item) {
 
 2607        foreach ($todel as $k) {
 
 2612            $ilCtrl->redirect($this, $a_return);
 
 2617        include_once(
"./Modules/LearningModule/classes/class.ilEditClipboard.php");
 
 2621        $ilCtrl->redirect($this, $a_return);
 
 2627    public function cutItems($a_return = 
"showOrganization")
 
 2632        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
 
 2636        foreach ($items as $k => $item) {
 
 2641        foreach ($todel as $k) {
 
 2647            $ilCtrl->redirect($this, $a_return);
 
 2652        include_once(
"./Modules/LearningModule/classes/class.ilEditClipboard.php");
 
 2657        $ilCtrl->redirect($this, $a_return);
 
 2668        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
 
 2686        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
 
 2704        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
 
 2722        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
 
 2744        include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
 
 2749            $pf.= 
'<input type="hidden" name="' . $f . 
'" value="' . $v . 
'" />';
 
 2751        if ($a_confirm && is_array(
$_POST[
"node"])) {
 
 2752            foreach (
$_POST[
"node"] as $f => $v) {
 
 2753                $pf.= 
'<input type="hidden" name="node[' . $f . 
']" value="' . $v . 
'" />';
 
 2761        include_once(
"./Modules/Scorm2004/classes/class.ilLMChapterImportForm.php");
 
 2763        $tpl->setContent(
$form->getHTML() . $pf . 
"</form>");
 
 2765        $ilTabs->clearTargets();
 
 2766        $ilToolbar->setFormAction(
$ilCtrl->getFormAction($this));
 
 2768            if (
$form->isCorrect()) {
 
 2769                $ilToolbar->addFormButton(
$lng->txt(
"insert"), 
"performLMChapterInsert");
 
 2771            $ilToolbar->addFormButton(
$lng->txt(
"back"), 
"insertLMChapterClip");
 
 2773            $ilToolbar->addFormButton(
$lng->txt(
"check"), 
"confirmLMChapterInsert");
 
 2775        $ilToolbar->addFormButton(
$lng->txt(
"cancel"), 
"showOrganization");
 
 2776        $ilToolbar->setCloseFormTag(
false);
 
 2795        include_once(
"./Modules/Scorm2004/classes/class.ilLMChapterImportForm.php");
 
 2797        $form->performInserts();
 
 2799        $this->ctrl->redirect($this, 
"showOrganization");
 
 2805        $export->buildExportFile();
 
 2807        $this->ctrl->redirect($this, 
"showExportList");
 
 2813        $export->buildExportFile();
 
 2815        $this->ctrl->redirect($this, 
"showExportList");
 
 2821        $export->buildExportFile();
 
 2823        $this->ctrl->redirect($this, 
"showExportList");
 
 2829        $export->buildExportFile();
 
 2831        $this->ctrl->redirect($this, 
"showExportList");
 
 2837        $export->buildExportFile();
 
 2839        $this->ctrl->redirect($this, 
"showExportList");
 
 2847        if (!$export->buildExportFile()) {
 
 2848            if (!PATH_TO_MKISOFS) {
 
 2849                $ilErr->raiseError($this->lng->txt(
"no_mkisofs_configured"), 
$ilErr->MESSAGE);
 
 2852        $this->ctrl->redirect($this, 
"showExportList");
 
 2858        $export->buildExportFile();
 
 2859        $this->ctrl->redirect($this, 
"showExportList");
 
 2864        $export = 
new ilSCORM2004Export($this->
object);
 
 2866        $export_dir = $export->getExportDirectoryForType(
$_GET[
'type']);
 
 2875        if (!isset(
$_POST[
"file"])) {
 
 2877            $this->ctrl->redirect($this, 
"showExportList");
 
 2881        $export_files = $this->
object->getExportFiles();
 
 2883        include_once 
"./Modules/Scorm2004/classes/class.ilSCORM2004ExportTableGUI.php";
 
 2886        foreach ($export_files as $exp_file) {
 
 2887            foreach (
$_POST[
'file'] as $delete_file) {
 
 2888                if (strcmp($delete_file, $exp_file[
'file']) == 0) {
 
 2889                    $public_str = ($exp_file[
"file"] == $this->
object->getPublicExportFile($exp_file[
"type"]))
 
 2890                        ? 
" <b>(" . $this->lng->txt(
"public") . 
")<b>" 
 2892                    $file_arr = explode(
"__", $exp_file[
"file"]);
 
 2897        $table_gui->setData(
$data);
 
 2898        $this->tpl->setVariable(
'ADM_CONTENT', $table_gui->getHTML());
 
 2907        $this->ctrl->redirect($this, 
"showExportList");
 
 2916        include_once 
"./Services/Utilities/classes/class.ilUtil.php";
 
 2917        $export = 
new ilSCORM2004Export($this->
object);
 
 2919            $export_dir = $export->getExportDirectoryForType(
$_POST[
'type'][$idx]);
 
 2920            $exp_file = $export_dir . 
"/" . 
$file;
 
 2921            if (@is_file($exp_file)) {
 
 2926        $this->ctrl->redirect($this, 
"showExportList");
 
 2936        if (!isset(
$_POST[
"file"])) {
 
 2937            $ilErr->raiseError($this->lng->txt(
"no_checkbox"), 
$ilErr->MESSAGE);
 
 2939        if (count(
$_POST[
"file"]) > 1) {
 
 2940            $ilErr->raiseError($this->lng->txt(
"cont_select_max_one_item"), 
$ilErr->MESSAGE);
 
 2943        $export = 
new ilSCORM2004Export($this->
object);
 
 2947        if ($this->object->getPublicExportFile(
$type) == 
$file) {
 
 2948            $this->
object->setPublicExportFile(
$type, 
"");
 
 2950            $this->
object->setPublicExportFile(
$type, 
$file);
 
 2952        $this->
object->update();
 
 2953        $this->ctrl->redirect($this, 
"showExportList");
 
 2964        $zipfile = $export->buildExportFile();
 
 2965        $zipPathinfo = pathinfo($zipfile);
 
 2966        $file_path = $this->
object->getDataDirectory() . 
"/" . ($zipPathinfo[
"basename"]);
 
 2967        copy($zipfile, $file_path);
 
 2974        include_once(
"./Modules/Scorm2004/classes/ilSCORM13Package.php");
 
 2976        $rte_pkg->il_import($this->object->getDataDirectory(), $this->object->getId(), 
$DIC[
"ilias"], 
false, 
true);
 
 2983        ilUtil::redirect(
"ilias.php?baseClass=ilSAHSPresentationGUI&ref_id=" . $this->object->getRefID() . 
"&envEditor=1");
 
if(!isset( $_REQUEST[ 'ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
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)
Format a date @access public.
@classDescription Date and time handling
static setAction($a_action)
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.
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.
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 sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
static redirect($a_script)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static deliverFile( $a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
static unzip($a_file, $overwrite=false, $a_flat=false)
unzip file
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($a_tpl=null)
inits and adds the jQuery JS-File to the global or a passed template
if(!array_key_exists('StateId', $_REQUEST)) $id
if(!is_dir( $entity_dir)) exit("Fatal Error ([A-Za-z0-9]+)\s+" &#(? foreach( $entity_files as $file) $output
if(isset($_POST['submit'])) $form
if(isset($_REQUEST['delete'])) $list
if(!file_exists("$old.txt")) if( $old===$new) if(file_exists("$new.txt")) $file