3 declare(strict_types=1);
    39     protected \ILIAS\DI\Container 
$dic;
    46     public function __construct(array $a_data, 
int $a_id, 
bool $a_call_by_reference, ?
bool $a_prepare_output = 
true)
    50         $this->
lng = $DIC->language();
    51         $this->
access = $DIC->access();
    52         $this->
ctrl = $DIC->ctrl();
    53         $this->tpl = $DIC[
"tpl"];
    54         $this->
tabs = $DIC->tabs();
    55         $this->rbacsystem = $DIC->rbac()->system();
    56         $this->tree = $DIC->repositoryTree();
    57         $this->
toolbar = $DIC->toolbar();
    59         $this->
help = $DIC[
"ilHelp"];
    60         $this->error = $DIC[
"ilErr"];
    61         $this->
user = $DIC->user();
    62         $this->tool_context = $DIC->globalScreen()->tool()->context();
    63         $lng = $DIC->language();
    71         #$this->tabs_gui = new ilTabsGUI();    80             if ($this->call_by_reference) {
    93         $cmd = $ilCtrl->getCmd();
    94         parent::executeCommand();
   113         $ilTabs->setSubTabActive(
'cont_settings');
   115         $ilToolbar->addButtonInstance($this->
object->getViewButton());
   133         $this->
object->checkMasteryScoreValues();
   136         $this->
form->setFormAction($ilCtrl->getFormAction($this));
   137         $this->
form->setTitle($this->
lng->txt(
"cont_lm_properties"));
   141         $ti->setMaxLength(200);
   142         $this->
form->addItem($ti);
   148         $this->
form->addItem($ti);
   153         $this->
form->addItem($ne);
   157         $ne->setValue($this->
object->getModuleVersion());
   158         $ne->setInfo($this->
lng->txt(
"cont_sc_version_info"));
   159         $this->
form->addItem($ne);
   165         $sh->setTitle($this->
lng->txt(
"activation"));
   166         $this->
form->addItem($sh);
   170         $cb->setInfo($this->
lng->txt(
"cont_online_info"));
   171         $this->
form->addItem($cb);
   178         $sh->setTitle($this->
lng->txt(
"cont_presentation"));
   179         $this->
form->addItem($sh);
   196         $op0->
setInfo($this->
lng->txt(
"cont_open_normal_info"));
   197         $radg->addOption($op0);
   199         $op1->
setInfo($this->
lng->txt(
"cont_open_iframe_info"));
   200         $radg->addOption($op1);
   202         $op2->
setInfo($this->
lng->txt(
"cont_open_window_info"));
   203         $radg->addOption($op2);
   206         $ni->setMaxLength(4);
   208         $op1->addSubItem($ni);
   210         $ni->setMaxLength(4);
   212         $op2->addSubItem($ni);
   215         $ni->setMaxLength(4);
   217         $ni->setInfo($this->
lng->txt(
"cont_width_height_info"));
   218         $op1->addSubItem($ni);
   220         $ni->setMaxLength(4);
   222         $ni->setInfo($this->
lng->txt(
"cont_width_height_info"));
   223         $op2->addSubItem($ni);
   228         $cb->setInfo($this->
lng->txt(
"cont_ie_force_render_info"));
   229         $op2->addSubItem($cb);
   231         $this->
form->addItem($radg);
   238         $cb->setInfo($this->
lng->txt(
"cont_nomenu_info"));
   239         $this->
form->addItem($cb);
   245         $cb->setInfo($this->
lng->txt(
"cont_hidenavig_info"));
   246         $this->
form->addItem($cb);
   251         $cb->setInfo($this->
lng->txt(
"cont_auto_last_visited_info"));
   252         $this->
form->addItem($cb);
   255         $obj_service->commonSettings()->legacyForm($this->
form, $this->
object)->addTileImage();
   261         $sh->setTitle($this->
lng->txt(
"cont_scorm_options"));
   262         $this->
form->addItem($sh);
   266         $op0 = 
new ilRadioOption($this->
lng->txt(
"cont_sc_less_mode_normal"), 
"normal");
   267         $op0->
setInfo($this->
lng->txt(
"cont_sc_less_mode_normal_info"));
   268         $radg->addOption($op0);
   269         $op1 = 
new ilRadioOption($this->
lng->txt(
"cont_sc_less_mode_browse"), 
"browse");
   270         $op1->
setInfo($this->
lng->txt(
"cont_sc_less_mode_browse_info"));
   271         $radg->addOption($op1);
   274             "n" => $this->
lng->txt(
"cont_sc_auto_review_no"),
   275             "r" => $this->
lng->txt(
"cont_sc_auto_review_completed_not_failed_or_passed"),
   276             "p" => $this->
lng->txt(
"cont_sc_auto_review_passed"),
   277             "q" => $this->
lng->txt(
"cont_sc_auto_review_passed_or_failed"),
   278             "c" => $this->
lng->txt(
"cont_sc_auto_review_completed"),
   279             "d" => $this->
lng->txt(
"cont_sc_auto_review_completed_and_passed"),
   280             "y" => $this->
lng->txt(
"cont_sc_auto_review_completed_or_passed"),
   281             "s" => $this->
lng->txt(
"cont_sc_store_if_previous_score_was_lower")
   285         $si->setInfo($this->
lng->txt(
"cont_sc_auto_review_info_2004"));
   288         $this->
form->addItem($radg);
   291         if ($this->
object->getMasteryScoreValues() != 
"") {
   293             $ni->setMaxLength(3);
   295             $ni->setInfo($this->
lng->txt(
"cont_mastery_score_2004_info") . 
' ' . $this->
object->getMasteryScoreValues());
   296             $this->
form->addItem($ni);
   303         $sh->setTitle($this->
lng->txt(
"cont_rte_settings"));
   304         $this->
form->addItem($sh);
   309         $cb->setInfo($this->
lng->txt(
"cont_sc_usession_info"));
   310         $this->
form->addItem($cb);
   315         $cb->setInfo($this->
lng->txt(
"cont_fourth_edition_info"));
   316         $this->
form->addItem($cb);
   321         $cb->setInfo($this->
lng->txt(
"cont_sequencing_info"));
   322         $this->
form->addItem($cb);
   327         $cb->setInfo($this->
lng->txt(
"cont_interactions_info"));
   328         $this->
form->addItem($cb);
   333         $cb->setInfo($this->
lng->txt(
"cont_objectives_info"));
   334         $this->
form->addItem($cb);
   339         $cb->setInfo($this->
lng->txt(
"cont_comments_info"));
   340         $this->
form->addItem($cb);
   345         $cb->setInfo($this->
lng->txt(
"cont_time_from_lms_info"));
   346         $this->
form->addItem($cb);
   351         $cb->setInfo($this->
lng->txt(
"cont_check_values_info"));
   352         $this->
form->addItem($cb);
   357         $cb->setInfo($this->
lng->txt(
"cont_auto_suspend_info"));
   358         $this->
form->addItem($cb);
   362             0 => $this->
lng->txt(
"cont_sc_id_setting_user_id"),
   363             1 => $this->
lng->txt(
"cont_sc_id_setting_user_login"),
   364             2 => $this->
lng->txt(
"cont_sc_id_setting_user_id_plus_ref_id"),
   365             3 => $this->
lng->txt(
"cont_sc_id_setting_user_login_plus_ref_id"),
   366             4 => $this->
lng->txt(
"cont_sc_id_setting_user_id_plus_obj_id"),
   367             5 => $this->
lng->txt(
"cont_sc_id_setting_user_login_plus_obj_id")
   371         $si->setInfo($this->
lng->txt(
"cont_sc_id_setting_info"));
   372         $this->
form->addItem($si);
   376             0 => $this->
lng->txt(
"cont_sc_name_setting_last_firstname"),
   377             1 => $this->
lng->txt(
"cont_sc_name_setting_first_lastname"),
   378             2 => $this->
lng->txt(
"cont_sc_name_setting_fullname"),
   379             3 => $this->
lng->txt(
"cont_sc_name_setting_salutation_lastname"),
   380             4 => $this->
lng->txt(
"cont_sc_name_setting_first_name"),
   381             9 => $this->
lng->txt(
"cont_sc_name_setting_no_name")
   385         $si->setInfo($this->
lng->txt(
"cont_sc_name_setting_info"));
   386         $this->
form->addItem($si);
   392         $sh->setTitle($this->
lng->txt(
"cont_debugging"));
   393         $this->
form->addItem($sh);
   398         if ($this->
object->getDebugActivated() == 
false) {
   399             $cb->setDisabled(
true);
   400             $cb->setInfo($this->
lng->txt(
"cont_debug_deactivated"));
   402             $cb->setInfo($this->
lng->txt(
"cont_debug_deactivate"));
   404         $this->
form->addItem($cb);
   405         $this->
form->addCommandButton(
"saveProperties", 
$lng->
txt(
"save"));
   415         $values[
"Fobject_title"] = $this->
object->getTitle();
   416         $values[
"Fobject_description"] = $this->
object->getLongDescription();
   417         if (!$this->
object->getOfflineStatus()) {
   418             $values[
"cobj_online"] = 
true;
   420         $values[
"open_mode"] = $this->
object->getOpenMode();
   421         $values[
"width_0"] = $this->
object->getWidth();
   422         $values[
"width_1"] = $this->
object->getWidth();
   423         $values[
"height_0"] = $this->
object->getHeight();
   424         $values[
"height_1"] = $this->
object->getHeight();
   425         $values[
"cobj_ie_force_render"] = $this->
object->getIe_force_render();
   426         $values[
"cobj_nomenu"] = $this->
object->getNoMenu();
   427         $values[
"cobj_hidenavig"] = $this->
object->getHideNavig();
   428         $values[
"cobj_auto_last_visited"] = $this->
object->getAuto_last_visited();
   429         $values[
"lesson_mode"] = $this->
object->getDefaultLessonMode();
   430         $values[
"auto_review"] = $this->
object->getAutoReviewChar();
   431         $values[
"mastery_score"] = $this->
object->getMasteryScore();
   432         $values[
"cobj_session"] = $this->
object->getSession();
   433         $values[
"cobj_fourth_edition"] = $this->
object->getFourth_edition();
   434         $values[
"cobj_sequencing"] = $this->
object->getSequencing();
   435         $values[
"cobj_interactions"] = $this->
object->getInteractions();
   436         $values[
"cobj_objectives"] = $this->
object->getObjectives();
   437         $values[
"cobj_comments"] = $this->
object->getComments();
   438         $values[
"cobj_time_from_lms"] = $this->
object->getTime_from_lms();
   439         $values[
"cobj_check_values"] = $this->
object->getCheck_values();
   440         $values[
"cobj_auto_suspend"] = $this->
object->getAutoSuspend();
   441         $values[
"id_setting"] = $this->
object->getIdSetting();
   442         $values[
"name_setting"] = $this->
object->getNameSetting();
   443         $values[
"cobj_debug"] = $this->
object->getDebug();
   444         $this->
form->setValuesByArray($values);
   455         $this->
form->checkInput();
   456         if ($this->dic->http()->wrapper()->post()->has(
'mastery_score')) {
   457             $sMasteryScore = $this->dic->http()->wrapper()->post()->retrieve(
'mastery_score', $this->dic->refinery()->kindlyTo()->string());
   458             if ($sMasteryScore !== 
"") {
   459                 $this->
object->setMasteryScore((
int) $sMasteryScore);
   461                 $this->
object->setMasteryScore(null);
   465         $t_auto_review = $this->dic->http()->wrapper()->post()->retrieve(
'auto_review', $this->dic->refinery()->kindlyTo()->string());
   466         $t_auto_suspend = $this->dic->http()->wrapper()->post()->has(
'cobj_auto_suspend');
   467         $t_session = $this->dic->http()->wrapper()->post()->has(
'cobj_session');
   468         if ($t_auto_review === 
"s") {
   469             $t_auto_suspend = 
true;
   474         $t_height = $this->
object->getHeight();
   475         if ($this->dic->http()->wrapper()->post()->retrieve(
'height_0', $this->dic->refinery()->kindlyTo()->int()) != $this->
object->getHeight()) {
   476             $t_height = $this->dic->http()->wrapper()->post()->retrieve(
'height_0', $this->dic->refinery()->kindlyTo()->int());
   478         if ($this->dic->http()->wrapper()->post()->retrieve(
'height_1', $this->dic->refinery()->kindlyTo()->int()) != $this->
object->getHeight()) {
   479             $t_height = $this->dic->http()->wrapper()->post()->retrieve(
'height_1', $this->dic->refinery()->kindlyTo()->int());
   482         $t_width = $this->
object->getWidth();
   483         if ($this->dic->http()->wrapper()->post()->retrieve(
'width_0', $this->dic->refinery()->kindlyTo()->int()) != $this->
object->getWidth()) {
   484             $t_width = $this->dic->http()->wrapper()->post()->retrieve(
'width_0', $this->dic->refinery()->kindlyTo()->int());
   486         if ($this->dic->http()->wrapper()->post()->retrieve(
'width_1', $this->dic->refinery()->kindlyTo()->int()) != $this->
object->getWidth()) {
   487             $t_width = $this->dic->http()->wrapper()->post()->retrieve(
'width_1', $this->dic->refinery()->kindlyTo()->int());
   490         $this->
object->setOfflineStatus(!($this->dic->http()->wrapper()->post()->has(
'cobj_online')));
   491         $this->
object->setOpenMode($this->dic->http()->wrapper()->post()->retrieve(
'open_mode', $this->dic->refinery()->kindlyTo()->int()));
   492         $this->
object->setWidth($t_width);
   493         $this->
object->setHeight($t_height);
   495         $this->
object->setAutoReviewChar($t_auto_review);
   496         $this->
object->setDefaultLessonMode($this->dic->http()->wrapper()->post()->retrieve(
'lesson_mode', $this->dic->refinery()->kindlyTo()->string()));
   497         $this->
object->setSession($t_session);
   498         $this->
object->setNoMenu($this->dic->http()->wrapper()->post()->has(
'cobj_nomenu'));
   499         $this->
object->setHideNavig($this->dic->http()->wrapper()->post()->has(
'cobj_hidenavig'));
   500         $this->
object->setAuto_last_visited($this->dic->http()->wrapper()->post()->has(
'cobj_auto_last_visited'));
   501         $this->
object->setIe_force_render($this->dic->http()->wrapper()->post()->has(
'cobj_ie_force_render'));
   502         $this->
object->setFourth_edition($this->dic->http()->wrapper()->post()->has(
'cobj_fourth_edition'));
   503         $this->
object->setSequencing($this->dic->http()->wrapper()->post()->has(
'cobj_sequencing'));
   504         $this->
object->setInteractions($this->dic->http()->wrapper()->post()->has(
'cobj_interactions'));
   505         $this->
object->setObjectives($this->dic->http()->wrapper()->post()->has(
'cobj_objectives'));
   506         $this->
object->setComments($this->dic->http()->wrapper()->post()->has(
'cobj_comments'));
   507         $this->
object->setTime_from_lms($this->dic->http()->wrapper()->post()->has(
'cobj_time_from_lms'));
   508         $this->
object->setCheck_values($this->dic->http()->wrapper()->post()->has(
'cobj_check_values'));
   509         $this->
object->setAutoSuspend($t_auto_suspend);
   511         $this->
object->setDebug($this->dic->http()->wrapper()->post()->has(
'cobj_debug'));
   512         $this->
object->setIdSetting($this->dic->http()->wrapper()->post()->retrieve(
'id_setting', $this->dic->refinery()->kindlyTo()->int()));
   513         $this->
object->setNameSetting($this->dic->http()->wrapper()->post()->retrieve(
'name_setting', $this->dic->refinery()->kindlyTo()->int()));
   514         $this->
object->setTitle($this->dic->http()->wrapper()->post()->retrieve(
'Fobject_title', $this->dic->refinery()->kindlyTo()->string()));
   515         $this->
object->setDescription($this->dic->http()->wrapper()->post()->retrieve(
'Fobject_description', $this->dic->refinery()->kindlyTo()->string()));
   518         $obj_service->commonSettings()->legacyForm($this->
form, $this->
object)->saveTileImage();
   520         $this->
object->update();
   521         $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"msg_obj_modified"), 
true);
   522         $this->
ctrl->redirect($this, 
"properties");
   533         $ilTabs->setTabActive(
"cont_tracking_data");
   534         $ilTabs->setSubTabActive(
"cont_tracking_bysco");
   536         $reports = array(
'exportSelectedCore',
'exportSelectedInteractions',
'exportSelectedObjectives',
'tracInteractionItem',
'tracInteractionUser',
'tracInteractionUserAnswers');
   538         $scoSelected = 
"all";
   539         if ($this->dic->http()->wrapper()->query()->has(
'scoSelected')) {
   540             $scoSelected = 
ilUtil::stripSlashes($this->dic->http()->wrapper()->query()->retrieve(
'scoSelected', $this->dic->refinery()->kindlyTo()->string()));
   542         if ($this->dic->http()->wrapper()->post()->has(
'scoSelected')) {
   543             $scoSelected = 
ilUtil::stripSlashes($this->dic->http()->wrapper()->post()->retrieve(
'scoSelected', $this->dic->refinery()->kindlyTo()->string()));
   546         $this->
ctrl->setParameter($this, 
'scoSelected', $scoSelected);
   549         if ($this->dic->http()->wrapper()->query()->has(
'report')) {
   550             $report = 
ilUtil::stripSlashes($this->dic->http()->wrapper()->query()->retrieve(
'report', $this->dic->refinery()->kindlyTo()->string()));
   552         if ($this->dic->http()->wrapper()->post()->has(
'report')) {
   553             $report = 
ilUtil::stripSlashes($this->dic->http()->wrapper()->post()->retrieve(
'report', $this->dic->refinery()->kindlyTo()->string()));
   555         $this->
ctrl->setParameter($this, 
'report', $report);
   557         $filter->parse($scoSelected, $report, $reports);
   558         if ($report === 
"choose") {
   559             $this->tpl->setContent($filter->form->getHTML());
   561             $scosSelected = array();
   562             if ($scoSelected !== 
"all") {
   563                 $scosSelected[] = $scoSelected;
   565                 $tmpscos = $this->
object->getTrackedItems();
   566                 foreach ($tmpscos as $i => $value) {
   567                     $scosSelected[] = $value[
"id"];
   572             $this->tpl->setContent($filter->form->getHTML() . $tbl->getHTML());
   582         $ilTabs->setTabActive(
'cont_tracking_data');
   584         if ($ilAccess->checkAccess(
"read_learning_progress", 
"", $this->object->getRefId())) {
   586             $ilTabs->setSubTabActive(
'cont_tracking_byuser');
   588             $reports = array(
'exportSelectedSuccess',
'exportSelectedCore',
'exportSelectedInteractions',
'exportSelectedObjectives',
'exportObjGlobalToSystem');
   590             $userSelected = 
"all";
   591             if ($this->dic->http()->wrapper()->query()->has(
'userSelected')) {
   592                 $userSelected = 
ilUtil::stripSlashes($this->dic->http()->wrapper()->query()->retrieve(
'userSelected', $this->dic->refinery()->kindlyTo()->string()));
   594             if ($this->dic->http()->wrapper()->post()->has(
'userSelected')) {
   595                 $userSelected = 
ilUtil::stripSlashes($this->dic->http()->wrapper()->post()->retrieve(
'userSelected', $this->dic->refinery()->kindlyTo()->string()));
   597             $this->
ctrl->setParameter($this, 
'userSelected', $userSelected);
   600             if ($this->dic->http()->wrapper()->query()->has(
'report')) {
   601                 $report = 
ilUtil::stripSlashes($this->dic->http()->wrapper()->query()->retrieve(
'report', $this->dic->refinery()->kindlyTo()->string()));
   603             if ($this->dic->http()->wrapper()->post()->has(
'report')) {
   604                 $report = 
ilUtil::stripSlashes($this->dic->http()->wrapper()->post()->retrieve(
'report', $this->dic->refinery()->kindlyTo()->string()));
   606             $this->
ctrl->setParameter($this, 
'report', $report);
   608             $filter->parse($userSelected, $report, $reports);
   609             if ($report === 
"choose") {
   610                 $this->tpl->setContent($filter->form->getHTML());
   612                 $usersSelected = array();
   613                 if ($userSelected !== 
"all") {
   614                     $usersSelected[] = $userSelected;
   617                     foreach ($users as $usr) {
   620                             $usersSelected[] = 
$user;
   624                 $scosSelected = array();
   625                 $tmpscos = $this->
object->getTrackedItems();
   626                 foreach ($tmpscos as $i => $value) {
   627                     $scosSelected[] = $value[
"id"];
   630                 $this->tpl->setContent($filter->form->getHTML() . $tbl->getHTML());
   632         } elseif ($ilAccess->checkAccess(
"edit_learning_progress", 
"", $this->object->getRefId())) {
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
 
saveProperties()
save scorm 2004 module properties 
 
ContextServices $tool_context
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
static stripSlashes(string $a_str, bool $a_strip_html=true, string $a_allow="")
 
loadLanguageModule(string $a_module)
Load language module. 
 
setSettingsSubTabs()
List files. 
 
getPropertiesFormValues()
Get values for properties form. 
 
static _lookupSubType(int $a_obj_id)
lookup subtype id (scorm, ) 
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
static _exists(int $id, bool $reference=false, ?string $type=null)
checks if an object exists in object_data 
 
getNextClass($a_gui_class=null)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
ilGlobalTemplateInterface $tpl
 
setContent(string $a_html)
Sets content for standard template. 
 
showTrackingItemsBySco()
show tracking data 
 
form( $class_path, string $cmd, string $submit_caption="")
 
__construct(Container $dic, ilPlugin $plugin)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
This class represents a text area property in a property form. 
 
static getParticipantsForObject(int $a_ref_id)
Get participant ids for given object. 
 
assignObject()
assign scorm object to scorm gui object 
 
__construct(array $a_data, int $a_id, bool $a_call_by_reference, ?bool $a_prepare_output=true)
 
addHeaderAction()
Add header action menu. 
 
initPropertiesForm()
Initialize properties form. 
 
properties()
Scorm 2004 module properties. 
 
Class ilObjSCORMLearningModuleGUI.