5 require_once
"./Services/Object/classes/class.ilObjectGUI.php";
6 require_once(
"./Services/FileSystem/classes/class.ilFileSystemGUI.php");
7 require_once(
"Services/User/classes/class.ilObjUser.php");
9 require_once(
"./Modules/ScormAicc/classes/class.ilObjSAHSLearningModuleGUI.php");
10 require_once(
"./Modules/ScormAicc/classes/class.ilObjSCORMLearningModule.php");
41 function __construct($a_data,$a_id,$a_call_by_reference, $a_prepare_output =
true)
45 $lng->loadLanguageModule(
"content");
46 $lng->loadLanguageModule(
"search");
49 parent::__construct($a_data,$a_id,$a_call_by_reference,
false);
59 if ($this->call_by_reference)
77 $lng->loadLanguageModule(
"style");
80 $ilTabs->setSubTabActive(
'cont_settings');
83 $ilToolbar->addButton($this->lng->txt(
"view"),
84 "ilias.php?baseClass=ilSAHSPresentationGUI&ref_id=".$this->object->getRefID(),
87 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
89 $this->form->setFormAction($ilCtrl->getFormAction($this));
90 $this->form->setTitle($this->lng->txt(
"cont_lm_properties"));
93 $this->
object->checkMasteryScoreValues();
96 $ti =
new ilTextInputGUI($this->lng->txt(
"title"),
"Fobject_title");
98 $ti->setValue($this->
object->getTitle());
99 $this->form->addItem($ti);
104 $this->form->addItem($ti);
109 $this->form->addItem($ne);
114 $ne->setInfo($this->lng->txt(
"cont_sc_version_info"));
115 $this->form->addItem($ne);
121 $sh->setTitle($this->lng->txt(
"activation"));
122 $this->form->addItem($sh);
127 if ($this->
object->getOnline())
129 $cb->setChecked(
true);
131 $cb->setInfo($this->lng->txt(
"cont_online_info"));
132 $this->form->addItem($cb);
135 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_offline_mode_allow"),
"cobj_offline_mode");
137 $cb->setChecked($this->
object->getOfflineMode());
138 include_once(
"./Modules/ScormAicc/classes/class.ilSCORMOfflineMode.php");
140 $cb->setDisabled(
true);
141 $cb->setInfo($this->lng->txt(
"cont_offline_mode_disable_not_allowed_info"));
143 $cb->setInfo($this->lng->txt(
"cont_offline_mode_allow_info"));
145 $this->form->addItem($cb);
151 $sh->setTitle($this->lng->txt(
"cont_presentation"));
152 $this->form->addItem($sh);
155 $op0 =
new ilRadioOption($this->lng->txt(
"cont_open_normal"),
"0");
156 $radg->addOption($op0);
157 $op1 =
new ilRadioOption($this->lng->txt(
"cont_open_iframe"),
"1");
158 $radg->addOption($op1);
159 $op2 =
new ilRadioOption($this->lng->txt(
"cont_open_window"),
"5");
160 $radg->addOption($op2);
167 $ni->setValue($this->
object->getWidth());
168 $op1->addSubItem($ni);
172 $ni->setValue($this->
object->getWidth());
173 $op2->addSubItem($ni);
178 $ni->setValue($this->
object->getHeight());
179 $ni->setInfo($this->lng->txt(
"cont_width_height_info"));
180 $op1->addSubItem($ni);
184 $ni->setValue($this->
object->getHeight());
185 $ni->setInfo($this->lng->txt(
"cont_width_height_info"));
186 $op2->addSubItem($ni);
188 $this->form->addItem($radg);
191 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_auto_last_visited"),
"cobj_auto_last_visited");
193 $cb->setChecked($this->
object->getAuto_last_visited());
194 $cb->setInfo($this->lng->txt(
"cont_auto_last_visited_info"));
195 $this->form->addItem($cb);
198 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_sc_auto_continue"),
"auto_continue");
200 $cb->setChecked($this->
object->getAutoContinue());
201 $this->form->addItem($cb);
207 $sh->setTitle($this->lng->txt(
"cont_scorm_options"));
208 $this->form->addItem($sh);
218 $options =
array(
"normal" => $this->lng->txt(
"cont_sc_less_mode_normal"),
219 "browse" => $this->lng->txt(
"cont_sc_less_mode_browse"));
222 $si->setValue($this->
object->getDefaultLessonMode());
223 $this->form->addItem($si);
226 $options =
array(
"credit" => $this->lng->txt(
"cont_credit_on"),
227 "no_credit" => $this->lng->txt(
"cont_credit_off"));
228 $si =
new ilSelectInputGUI($this->lng->txt(
"cont_credit_mode"),
"credit_mode");
230 $si->setValue($this->
object->getCreditMode());
231 $si->setInfo($this->lng->txt(
"cont_credit_mode_info"));
232 $this->form->addItem($si);
236 "n" => $this->lng->txt(
"cont_sc_auto_review_no"),
242 "y" => $this->lng->txt(
"cont_sc_auto_review_completed_or_passed"),
244 $si =
new ilSelectInputGUI($this->lng->txt(
"cont_sc_auto_review_2004"),
"auto_review");
246 $si->setValue($this->
object->getAutoReviewChar());
248 $this->form->addItem($si);
251 if ($this->
object->getMasteryScoreValues() !=
"") {
252 $ni =
new ilNumberInputGUI($this->lng->txt(
"cont_mastery_score_12"),
"mastery_score");
255 $ni->setValue($this->
object->getMasteryScore());
256 $ni->setInfo($this->lng->txt(
"cont_mastery_score_12_info").$this->object->getMasteryScoreValues());
257 $this->form->addItem($ni);
264 $sh->setTitle($this->lng->txt(
"cont_rte_settings"));
265 $this->form->addItem($sh);
270 $cb->setChecked($this->
object->getSession());
271 $cb->setInfo($this->lng->txt(
"cont_sc_usession_info"));
272 $this->form->addItem($cb);
275 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_interactions"),
"cobj_interactions");
277 $cb->setChecked($this->
object->getInteractions());
278 $cb->setInfo($this->lng->txt(
"cont_interactions_info_12"));
279 $this->form->addItem($cb);
284 $cb->setChecked($this->
object->getObjectives());
285 $cb->setInfo($this->lng->txt(
"cont_objectives_info"));
286 $this->form->addItem($cb);
289 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_time_from_lms"),
"cobj_time_from_lms");
291 $cb->setChecked($this->
object->getTime_from_lms());
292 $cb->setInfo($this->lng->txt(
"cont_time_from_lms_info"));
293 $this->form->addItem($cb);
296 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_check_values"),
"cobj_check_values");
298 $cb->setChecked($this->
object->getCheck_values());
299 $cb->setInfo($this->lng->txt(
"cont_check_values_info"));
300 $this->form->addItem($cb);
306 $sh->setTitle($this->lng->txt(
"cont_debugging"));
307 $this->form->addItem($sh);
312 $cb->setChecked($this->
object->getDebug());
313 if ($this->
object->getDebugActivated() ==
false)
315 $cb->setDisabled(
true);
316 $cb->setInfo($this->lng->txt(
"cont_debug_deactivated"));
320 $cb->setInfo($this->lng->txt(
"cont_debug_deactivate"));
322 $this->form->addItem($cb);
323 $this->form->addCommandButton(
"saveProperties", $lng->txt(
"save"));
325 $tpl->setContent($this->form->getHTML());
336 $ilTabs->setSubTabActive(
'cont_sc_new_version');
342 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.scorm_new_version_import.html",
"Modules/ScormAicc");
345 $this->tpl->setVariable(
"ALT_IMG", $this->lng->txt(
"obj_sahs"));
347 $this->ctrl->setParameter($this,
"new_type",
"sahs");
348 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
350 $this->tpl->setVariable(
"BTN_NAME",
"newModuleVersionUpload");
351 $this->tpl->setVariable(
"TARGET",
' target="'.
354 $this->tpl->setVariable(
"TXT_SELECT_LMTYPE", $this->lng->txt(
"type"));
356 if ($type ==
"scorm2004") {
357 $this->tpl->setVariable(
"TXT_TYPE", $this->lng->txt(
"lm_type_scorm2004"));
359 $this->tpl->setVariable(
"TXT_TYPE", $this->lng->txt(
"lm_type_scorm"));
362 include_once
'Services/FileSystem/classes/class.ilUploadFiles.php';
368 $file = htmlspecialchars($file, ENT_QUOTES,
"utf-8");
369 $this->tpl->setCurrentBlock(
"option_uploaded_file");
370 $this->tpl->setVariable(
"UPLOADED_FILENAME", $file);
371 $this->tpl->setVariable(
"TXT_UPLOADED_FILENAME", $file);
372 $this->tpl->parseCurrentBlock();
374 $this->tpl->setCurrentBlock(
"select_uploaded_file");
375 $this->tpl->setVariable(
"TXT_SELECT_FROM_UPLOAD_DIR", $this->lng->txt(
"cont_select_from_upload_dir"));
376 $this->tpl->setVariable(
"TXT_UPLOADED_FILE", $this->lng->txt(
"cont_uploaded_file"));
377 $this->tpl->parseCurrentBlock();
380 $this->tpl->setVariable(
"TXT_UPLOAD", $this->lng->txt(
"upload"));
381 $this->tpl->setVariable(
"TXT_CANCEL", $this->lng->txt(
"cancel"));
382 $this->tpl->setVariable(
"TXT_IMPORT_LM", $this->lng->txt(
"import_sahs"));
383 $this->tpl->setVariable(
"TXT_SELECT_FILE", $this->lng->txt(
"select_file"));
386 $this->tpl->setVariable(
"TXT_FILE_INFO", $this->lng->txt(
"file_notice").
" ".$this->
getMaxFileSize());
393 $umf=get_cfg_var(
"upload_max_filesize");
395 $pms=get_cfg_var(
"post_max_size");
398 $multiplier_a=
array(
"K"=>1024,
"M"=>1024*1024,
"G"=>1024*1024*1024);
400 $umf_parts=preg_split(
"/(\d+)([K|G|M])/", $umf, -1, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY);
401 $pms_parts=preg_split(
"/(\d+)([K|G|M])/", $pms, -1, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY);
403 if (count($umf_parts) == 2) { $umf = $umf_parts[0]*$multiplier_a[$umf_parts[1]]; }
404 if (count($pms_parts) == 2) { $pms = $pms_parts[0]*$multiplier_a[$pms_parts[1]]; }
407 $max_filesize=min($umf, $pms);
409 if (!$max_filesize) $max_filesize=max($umf, $pms);
412 return $max_filesize=sprintf(
"%.1f MB",$max_filesize/1024/1024);
418 global $_FILES, $rbacsystem;
420 $unzip = PATH_TO_UNZIP;
421 $tocheck =
"imsmanifest.xml";
423 include_once
'Services/FileSystem/classes/class.ilUploadFiles.php';
426 if (!$rbacsystem->checkAccess(
"write",
$_GET[
"ref_id"]))
428 $this->
ilias->raiseError($this->lng->txt(
"no_create_permission"), $this->
ilias->error_obj->WARNING);
430 elseif ($_FILES[
"scormfile"][
"name"])
433 $source = $_FILES[
"scormfile"][
"tmp_name"];
434 if (($source ==
'none') || (!$source))
441 elseif (
$_POST[
"uploaded_file"])
446 $this->
ilias->raiseError($this->lng->txt(
"upload_error_file_not_found"),$this->
ilias->error_obj->MESSAGE);
450 $source = CLIENT_WEB_DIR .
"/" .
$_POST[
"uploaded_file"];
452 $source_is_copy =
true;
463 $pathinfo = pathinfo($source);
464 $dir = $pathinfo[
"dirname"];
465 $file = $pathinfo[
"basename"];
473 $tmp_file = $dir.
"/".
$_GET[
"ref_id"].
".".$tocheck;
474 require_once(
'./Services/Utilities/classes/class.ilFileUtils.php');
476 $new_manifest = file_get_contents($tmp_file);
482 $old_manifest = file_get_contents($this->
object->getDataDirectory().
"/".$tocheck);
485 $check =
'/xmlns="http:\/\/www.imsglobal.org\/xsd\/imscp_v1p1"/';
486 $replace=
"xmlns=\"http://www.imsproject.org/xsd/imscp_rootv1p1p2\"";
487 $reload_manifest = preg_replace($check, $replace, $new_manifest);
490 if (strcmp($new_manifest,$old_manifest) == 0 || strcmp(utf8_encode($new_manifest),$old_manifest) == 0 ||
491 strcmp ($reload_manifest, $old_manifest) == 0 || strcmp(utf8_encode($reload_manifest),$old_manifest) == 0 ){
494 $module_version = $this->
object->getModuleVersion();
496 if ($_FILES[
"scormfile"][
"name"])
499 $file_path = $this->
object->getDataDirectory().
"/".$_FILES[
"scormfile"][
"name"].
".".$module_version;
500 $file_path = str_replace(
".zip.".$module_version,
".".$module_version.
".zip",$file_path);
507 $file_path = $this->
object->getDataDirectory().
"/".
$_POST[
"uploaded_file"].
".".$module_version;
508 $file_path = str_replace(
".zip.".$module_version,
".".$module_version.
".zip",$file_path);
510 require_once(
'./Services/Utilities/classes/class.ilFileUtils.php');
519 $this->
object->setModuleVersion($module_version+1);
520 $this->
object->update();
544 $this->
object->setTitle(
$_POST[
"Fobject_title"]);
545 $this->
object->setDescription(
$_POST[
"Fobject_description"]);
549 if ($tmpOfflineMode ==
true) {
550 if ($this->
object->getOfflineMode() ==
false) {
551 $this->
object->zipLmForOfflineMode();
554 if (isset(
$_POST[
"mastery_score"])){
555 $this->
object->setMasteryScore(
$_POST[
"mastery_score"]);
559 $t_height = $this->
object->getHeight();
563 $t_width = $this->
object->getWidth();
568 $this->
object->setOfflineMode($tmpOfflineMode);
569 $this->
object->setOpenMode(
$_POST[
"open_mode"]);
570 $this->
object->setWidth($t_width);
571 $this->
object->setHeight($t_height);
574 $this->
object->setMaxAttempt(
$_POST[
"max_attempt"]);
575 $this->
object->setDefaultLessonMode(
$_POST[
"lesson_mode"]);
576 $this->
object->setCreditMode(
$_POST[
"credit_mode"]);
584 $this->
object->update();
586 $this->ctrl->redirect($this,
"properties");
597 $ilTabs->setTabActive(
"cont_tracking_data");
598 $ilTabs->setSubTabActive(
"cont_tracking_bysco");
600 $reports =
array(
'exportSelectedCore',
'exportSelectedInteractions',
'exportSelectedObjectives',
'exportSelectedRaw');
601 $scoSelected =
"all";
604 $this->ctrl->setParameter($this,
'scoSelected',$scoSelected);
609 $this->ctrl->setParameter($this,
'report',$report);
611 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingItemsPerScoFilterGUI.php';
613 $filter->parse($scoSelected,$report,$reports);
614 if($report ==
"choose") {
615 $this->tpl->setContent($filter->form->getHTML());
617 $scosSelected =
array();
618 if ($scoSelected !=
"all") $scosSelected[] = $scoSelected;
620 $scos=$this->
object->getTrackedItems();
621 foreach($scos as
$row)
623 $scosSelected[]=(int)$row->getId();
627 include_once
"Services/Tracking/classes/class.ilTrQuery.php";
630 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingItemsTableGUI.php';
632 $this->tpl->setContent($filter->form->getHTML().$tbl->getHTML());
645 global $ilTabs, $ilAccess;
647 $ilTabs->setTabActive(
'cont_tracking_data');
649 if($ilAccess->checkAccess(
"read_learning_progress",
"",
$_GET[
"ref_id"])) {
652 $ilTabs->setSubTabActive(
'cont_tracking_byuser');
654 $reports =
array(
'exportSelectedSuccess',
'exportSelectedCore',
'exportSelectedInteractions',
'exportSelectedObjectives',
'exportSelectedRaw');
656 $userSelected =
"all";
659 $this->ctrl->setParameter($this,
'userSelected',$userSelected);
664 $this->ctrl->setParameter($this,
'report',$report);
666 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingItemsPerUserFilterGUI.php';
668 $filter->parse($userSelected,$report,$reports);
669 if($report ==
"choose") {
670 $this->tpl->setContent($filter->form->getHTML());
672 $usersSelected =
array();
673 if ($userSelected !=
"all") $usersSelected[] = $userSelected;
675 include_once
"Services/Tracking/classes/class.ilTrQuery.php";
677 foreach($users as $user) {
679 $usersSelected[] = $user;
683 $scosSelected =
array();
684 $scos=$this->
object->getTrackedItems();
685 foreach($scos as
$row)
687 $scosSelected[]=(int)$row->getId();
694 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingItemsTableGUI.php';
696 $this->tpl->setContent($filter->form->getHTML().$tbl->getHTML());
699 else if($ilAccess->checkAccess(
"edit_learning_progress",
"",
$_GET[
"ref_id"])) {
707 if($ilAccess->checkAccess(
"edit_learning_progress",
"",
$_GET[
"ref_id"])) {
708 include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
710 if(!$privacy->enabledSahsProtocolData())
712 $this->
ilias->raiseError($this->lng->txt(
'permission_denied'), $this->
ilias->error_obj->MESSAGE);
715 global $ilTabs, $ilToolbar;
717 include_once
'./Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
718 $ilToolbar->addButton(
719 $this->lng->txt(
'import'),
720 $this->ctrl->getLinkTarget($this,
'importForm')
722 $ilToolbar->addButton(
723 $this->lng->txt(
'cont_export_all'),
724 $this->ctrl->getLinkTarget($this,
'exportAll')
728 $ilTabs->setTabActive(
'cont_tracking_data');
729 $ilTabs->setSubTabActive(
'cont_tracking_modify');
731 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingUsersTableGUI.php';
734 $this->tpl->setContent(
$tbl->getHTML());
744 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingUsersTableGUI.php';
746 $tbl->writeFilterToSession();
756 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingUsersTableGUI.php';
768 if(!isset(
$_POST[
"user"]))
770 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->
ilias->error_obj->MESSAGE);
774 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
776 $cgui->setFormAction($this->ctrl->getFormAction($this));
777 $cgui->setHeaderText($this->lng->txt(
"info_delete_sure"));
778 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancelDeleteTracking");
779 $cgui->setConfirm($this->lng->txt(
"confirm"),
"confirmedDeleteTracking");
781 foreach(
$_POST[
"user"] as $id)
788 " ".$this->lng->txt(
"cont_tracking_data").
789 ": ".$user->getLastname().
", ".$user->getFirstname();
792 $cgui->addItem(
"user[]", $id, $caption);
796 $this->tpl->setContent($cgui->getHTML());
805 $this->ctrl->redirect($this,
"modifyTrackingItems");
810 $this->
object->deleteTrackingDataOfUsers(
$_POST[
"user"]);
811 $this->ctrl->redirect($this,
"modifyTrackingItems");
820 $this->ctrl->redirect($this,
"properties");
826 protected function import()
829 if($form->checkInput())
831 $source = $form->getInput(
'csv');
832 $error = $this->
object->importTrackingData($source[
'tmp_name']);
837 $this->ctrl->redirect($this,
"showTrackingItems");
846 $form->setValuesByPost();
857 $ilTabs->clearTargets();
858 $ilTabs->setBackTarget($this->lng->txt(
'back'),$this->ctrl->getLinkTarget($this,
'showTrackingItems'));
861 $this->tpl->setContent($form->getHTML());
869 include_once
'./Services/Form/classes/class.ilPropertyFormGUI.php';
871 $form->setFormAction($this->ctrl->getFormAction($this));
872 $form->setTitle($this->lng->txt(
'cont_import_tracking'));
873 $form->addCommandButton(
'import', $this->lng->txt(
'import'));
874 $form->addCommandButton(
'showTrackingItems', $this->lng->txt(
'cancel'));
878 $csv->setSuffixes(
array(
'csv'));
879 $form->addItem($csv);
889 $this->
object->exportSelected(1);
901 $this->ctrl->redirect($this,
'modifyTrackingItems');
903 $this->
object->exportSelected(0,$_POST[
"user"]);
910 if (!isset(
$_POST[
"user"])) {
913 $this->
object->decreaseAttemptsForUser(
$_POST[
"user"]);
914 $this->ctrl->redirect($this,
"modifyTrackingItems");
925 include_once
"./Services/Table/classes/class.ilTableGUI.php";
928 $ilTabs->setTabActive(
"cont_tracking_data");
929 $ilTabs->setSubTabActive(
"cont_tracking_byuser");
931 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingItemsPerUserTableGUI.php';
933 $tbl->setUserId((
int) $_REQUEST[
'user_id']);
935 $this->tpl->setContent(
$tbl->getHTML());
946 include_once
"./Services/Table/classes/class.ilTableGUI.php";
949 $ilTabs->setTabActive(
"cont_tracking_data");
950 $ilTabs->setSubTabActive(
"cont_tracking_bysco");
952 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingItemsScoTableGUI.php';
956 $this->tpl->setContent(
$tbl->getHTML());
967 include_once
"./Services/Table/classes/class.ilTableGUI.php";
970 $ilTabs->setTabActive(
"cont_tracking_data");
971 $ilTabs->setSubTabActive(
"cont_tracking_byuser");
973 $this->ctrl->setParameter($this,
'obj_id',(
int) $_REQUEST[
'obj_id']);
974 $this->ctrl->setParameter($this,
'user_id',(
int) $_REQUEST[
'user_id']);
976 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingItemPerUserTableGUI.php';
978 $tbl->setUserId((
int) $_REQUEST[
'user_id']);
979 $tbl->setScoId((
int) $_REQUEST[
'obj_id']);
981 $this->tpl->setContent(
$tbl->getHTML());
990 if($ilAccess->checkAccess(
"read_learning_progress",
"",
$_GET[
"ref_id"])) {
991 $ilTabs->addSubTabTarget(
"cont_tracking_byuser",
992 $this->ctrl->getLinkTarget($this,
"showTrackingItems"),
array(
"edit",
""),
995 $ilTabs->addSubTabTarget(
"cont_tracking_bysco",
996 $this->ctrl->getLinkTarget($this,
"showTrackingItemsBySco"),
array(
"edit",
""),
999 if($ilAccess->checkAccess(
"edit_learning_progress",
"",
$_GET[
"ref_id"])) {
1000 $ilTabs->addSubTabTarget(
"cont_tracking_modify",
1001 $this->ctrl->getLinkTarget($this,
"modifyTrackingItems"),
array(
"edit",
""),
1016 include_once
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
1019 $this->
ilias->raiseError($this->lng->txt(
'permission_denied'), $this->
ilias->error_obj->MESSAGE);
1022 include_once
'./Modules/ScormAicc/classes/class.ilSCORMOfflineModeUsersTableGUI.php';
1025 $this->tpl->setContent(
$tbl->getHTML());
1036 $this->ctrl->redirect($this,
'offlineModeManager');
1039 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
1041 $cgui->setFormAction($this->ctrl->getFormAction($this));
1042 $cgui->setHeaderText($this->lng->txt(
"info_stop_offline_mode_sure"));
1043 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancelStopUserOfflineMode");
1044 $cgui->setConfirm($this->lng->txt(
"confirm"),
"confirmedStopUserOfflineMode");
1045 foreach($_POST[
"user"] as $id)
1051 " ".$this->lng->txt(
"stop_user_offline_mode_for_user").
1052 ": ".$user->getLastname().
", ".$user->getFirstname();
1053 $cgui->addItem(
"user[]", $id, $caption);
1056 $this->tpl->setContent($cgui->getHTML());
1062 $this->ctrl->redirect($this,
"offlineModeManager");
1068 include_once
'./Modules/ScormAicc/classes/class.ilSCORMOfflineMode.php';
1069 foreach(
$_POST[
"user"] as $id)
resetUserTableFilter()
Reset table filter.
Class ilSCORMTrackingItemsTableGUI.
This class represents an option in a radio group.
showTrackingItems()
Show tracking table ilTabs $ilTabs $global ilToolbar $ilToolbar.
Class ilObjSCORMLearningModuleGUI.
exportAll()
Show export section for all users.
static stopOfflineModeForUser($obj_id, $user_id)
setValue($a_value)
Set Value.
cancelDeleteTracking()
cancel deletion of export files
importForm()
Show import form.
SCORM/AICC/HACP Learning Modules.
Class ilSCORMTrackingItemsPerScoFilterGUI.
static _exists($a_id, $a_reference=false, $a_type=null)
checks if an object exists in object_data
static getImageTagByType($a_type, $a_path, $a_big=false)
Builds an html image tag TODO: function still in use, but in future use getImagePath and move HTML-Co...
assignObject()
assign scorm object to scorm gui object
setValue($a_value)
Set Value.
static unzip($a_file, $overwrite=false, $a_flat=false)
unzip file
static _getUploadDirectory()
Get the directory with uploaded files.
static _getUploadFiles()
Get a list of readable files in the upload directory.
applyUserTableFilter()
Apply table filter.
setSettingsSubTabs()
set Tabs for settings
static checkIfAnyoneIsInOfflineMode($obj_id)
confirmedDeleteTracking()
stopUserOfflineMode()
Stop offline mode for selected users.
static _lookupSubType($a_obj_id)
lookup subtype id (scorm, aicc, hacp)
cancelStopUserOfflineMode()
static _lookupObjectId($a_ref_id)
lookup object id
exportSelectionUsers()
Export selection for selected users.
static rename($a_source, $a_target)
Rename a file.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
deleteTrackingForUser()
display deletion confirmation screen
setValue($a_value)
Set Value.
if(!is_array($argv)) $options
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static moveUploadedFile($a_file, $a_name, $a_target, $a_raise_errors=true, $a_mode="move_uploaded")
move uploaded file
showTrackingItemSco()
show tracking data of item
This class represents a text property in a property form.
redirection script todo: (a better solution should control the processing via a xml file) ...
setMaxLength($a_maxlength)
Set Max Length.
getID()
Return the unique ID value assigned to this spreadsheet workbook.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
offlineModeManager()
Manage offline mode for users ilTabs $ilTabs $global ilToolbar $ilToolbar.
Create styles array
The data for the language used.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
newModuleVersion()
upload new version of module
GUI class ilSCORMOfflineModeUsersTableGUI.
saveProperties()
save properties
confirmedStopUserOfflineMode()
static getParticipantsForObject($a_ref_id)
Get participant ids for given object.
This class represents a non editable value in a property form.
Create new PHPExcel object
obj_idprivate
static renameExecutables($a_dir)
Rename uploaded executables for security reasons.
static escapeShellArg($a_arg)
This class represents a text area property in a property form.
Class ilSCORMTrackingItemsPerUserFilterGUI.
static _getInstance()
Get instance of ilPrivacySettings.
if(!file_exists("$old.txt")) if($old===$new) if(file_exists("$new.txt")) $file
static _checkUploadFile($a_file)
Check if a file exists in the upload directory and is readable.
const EXPORT_TYPE_SUCCESS
static yn2tf($a_yn)
convert "y"/"n" to true/false
showTrackingItem()
show tracking data of item
static redirect($a_script)
http redirect to other script
static _copyUploadFile($a_file, $a_target, $a_raise_errors=true)
copy an uploaded file to the target directory (including virus check)
Class ilObjSCORMLearningModule.
showTrackingItemsBySco()
show tracking data
properties()
scorm module properties
__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
Constructor.
showTrackingItemPerUser()
show tracking data of item per user
cancel()
overwrite..jump back to trackingdata not parent
Confirmation screen class.
initImportForm($a_new_type)
Init import form.