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");
45 $lng->loadLanguageModule(
"content");
46 $lng->loadLanguageModule(
"search");
49 $this->
ilObjectGUI($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);
103 $ti->
setValue($this->object->getDescription());
104 $this->form->addItem($ti);
109 $this->form->addItem($ne);
113 $ne->
setValue($this->object->getModuleVersion());
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);
181 $op0 =
new ilRadioOption($this->lng->txt(
"cont_open_normal"),
"0");
182 $radg->addOption($op0);
183 $op1 =
new ilRadioOption($this->lng->txt(
"cont_open_iframe"),
"1");
184 $radg->addOption($op1);
185 $op2 =
new ilRadioOption($this->lng->txt(
"cont_open_window"),
"5");
186 $radg->addOption($op2);
187 $radg->
setValue($this->object->getOpenMode());
193 $ni->setValue($this->object->getWidth());
194 $op1->addSubItem($ni);
195 $op2->addSubItem($ni);
200 $ni->setValue($this->object->getHeight());
201 $ni->setInfo($this->lng->txt(
"cont_width_height_info"));
202 $op1->addSubItem($ni);
203 $op2->addSubItem($ni);
204 $this->form->addItem($radg);
207 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_auto_last_visited"),
"cobj_auto_last_visited");
209 $cb->setChecked($this->object->getAuto_last_visited());
210 $cb->setInfo($this->lng->txt(
"cont_auto_last_visited_info"));
211 $this->form->addItem($cb);
214 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_sc_auto_continue"),
"auto_continue");
216 $cb->setChecked($this->object->getAutoContinue());
217 $this->form->addItem($cb);
223 $sh->setTitle($this->lng->txt(
"cont_scorm_options"));
224 $this->form->addItem($sh);
234 $options = array(
"normal" => $this->lng->txt(
"cont_sc_less_mode_normal"),
235 "browse" => $this->lng->txt(
"cont_sc_less_mode_browse"));
238 $si->setValue($this->object->getDefaultLessonMode());
239 $this->form->addItem($si);
242 $options = array(
"credit" => $this->lng->txt(
"cont_credit_on"),
243 "no_credit" => $this->lng->txt(
"cont_credit_off"));
244 $si =
new ilSelectInputGUI($this->lng->txt(
"cont_credit_mode"),
"credit_mode");
246 $si->setValue($this->object->getCreditMode());
247 $si->setInfo($this->lng->txt(
"cont_credit_mode_info"));
248 $this->form->addItem($si);
252 "n" => $this->lng->txt(
"cont_sc_auto_review_no"),
258 "y" => $this->lng->txt(
"cont_sc_auto_review_completed_or_passed"),
260 $si =
new ilSelectInputGUI($this->lng->txt(
"cont_sc_auto_review_2004"),
"auto_review");
262 $si->setValue($this->object->getAutoReviewChar());
264 $this->form->addItem($si);
267 if ($this->object->getMasteryScoreValues() !=
"") {
268 $ni =
new ilNumberInputGUI($this->lng->txt(
"cont_mastery_score_12"),
"mastery_score");
271 $ni->setValue($this->object->getMasteryScore());
272 $ni->setInfo($this->lng->txt(
"cont_mastery_score_12_info").$this->object->getMasteryScoreValues());
273 $this->form->addItem($ni);
280 $sh->setTitle($this->lng->txt(
"cont_rte_settings"));
281 $this->form->addItem($sh);
286 $cb->setChecked($this->object->getSession());
287 $cb->setInfo($this->lng->txt(
"cont_sc_usession_info"));
288 $this->form->addItem($cb);
291 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_interactions"),
"cobj_interactions");
293 $cb->setChecked($this->object->getInteractions());
294 $cb->setInfo($this->lng->txt(
"cont_interactions_info_12"));
295 $this->form->addItem($cb);
300 $cb->setChecked($this->object->getObjectives());
301 $cb->setInfo($this->lng->txt(
"cont_objectives_info"));
302 $this->form->addItem($cb);
305 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_time_from_lms"),
"cobj_time_from_lms");
307 $cb->setChecked($this->object->getTime_from_lms());
308 $cb->setInfo($this->lng->txt(
"cont_time_from_lms_info"));
309 $this->form->addItem($cb);
312 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_check_values"),
"cobj_check_values");
314 $cb->setChecked($this->object->getCheck_values());
315 $cb->setInfo($this->lng->txt(
"cont_check_values_info"));
316 $this->form->addItem($cb);
328 $sh->setTitle($this->lng->txt(
"cont_debugging"));
329 $this->form->addItem($sh);
334 $cb->setChecked($this->object->getDebug());
335 if ($this->object->getDebugActivated() ==
false)
337 $cb->setDisabled(
true);
338 $cb->setInfo($this->lng->txt(
"cont_debug_deactivated"));
342 $cb->setInfo($this->lng->txt(
"cont_debug_deactivate"));
344 $this->form->addItem($cb);
345 $this->form->addCommandButton(
"saveProperties", $lng->txt(
"save"));
347 $tpl->setContent($this->form->getHTML());
358 $ilTabs->setSubTabActive(
'cont_sc_new_version');
364 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.scorm_new_version_import.html",
"Modules/ScormAicc");
367 $this->tpl->setVariable(
"ALT_IMG", $this->lng->txt(
"obj_sahs"));
369 $this->ctrl->setParameter($this,
"new_type",
"sahs");
370 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
372 $this->tpl->setVariable(
"BTN_NAME",
"newModuleVersionUpload");
373 $this->tpl->setVariable(
"TARGET",
' target="'.
376 $this->tpl->setVariable(
"TXT_SELECT_LMTYPE", $this->lng->txt(
"type"));
378 if ($type ==
"scorm2004") {
379 $this->tpl->setVariable(
"TXT_TYPE", $this->lng->txt(
"lm_type_scorm2004"));
381 $this->tpl->setVariable(
"TXT_TYPE", $this->lng->txt(
"lm_type_scorm"));
384 include_once
'Services/FileSystem/classes/class.ilUploadFiles.php';
388 foreach($files as
$file)
390 $file = htmlspecialchars($file, ENT_QUOTES,
"utf-8");
391 $this->tpl->setCurrentBlock(
"option_uploaded_file");
392 $this->tpl->setVariable(
"UPLOADED_FILENAME", $file);
393 $this->tpl->setVariable(
"TXT_UPLOADED_FILENAME", $file);
394 $this->tpl->parseCurrentBlock();
396 $this->tpl->setCurrentBlock(
"select_uploaded_file");
397 $this->tpl->setVariable(
"TXT_SELECT_FROM_UPLOAD_DIR", $this->lng->txt(
"cont_select_from_upload_dir"));
398 $this->tpl->setVariable(
"TXT_UPLOADED_FILE", $this->lng->txt(
"cont_uploaded_file"));
399 $this->tpl->parseCurrentBlock();
402 $this->tpl->setVariable(
"TXT_UPLOAD", $this->lng->txt(
"upload"));
403 $this->tpl->setVariable(
"TXT_CANCEL", $this->lng->txt(
"cancel"));
404 $this->tpl->setVariable(
"TXT_IMPORT_LM", $this->lng->txt(
"import_sahs"));
405 $this->tpl->setVariable(
"TXT_SELECT_FILE", $this->lng->txt(
"select_file"));
408 $this->tpl->setVariable(
"TXT_FILE_INFO", $this->lng->txt(
"file_notice").
" ".$this->
getMaxFileSize());
415 $umf=get_cfg_var(
"upload_max_filesize");
417 $pms=get_cfg_var(
"post_max_size");
420 $multiplier_a=array(
"K"=>1024,
"M"=>1024*1024,
"G"=>1024*1024*1024);
422 $umf_parts=preg_split(
"/(\d+)([K|G|M])/", $umf, -1, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY);
423 $pms_parts=preg_split(
"/(\d+)([K|G|M])/", $pms, -1, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY);
425 if (count($umf_parts) == 2) { $umf = $umf_parts[0]*$multiplier_a[$umf_parts[1]]; }
426 if (count($pms_parts) == 2) { $pms = $pms_parts[0]*$multiplier_a[$pms_parts[1]]; }
429 $max_filesize=min($umf, $pms);
431 if (!$max_filesize) $max_filesize=max($umf, $pms);
434 return $max_filesize=sprintf(
"%.1f MB",$max_filesize/1024/1024);
440 global $_FILES, $rbacsystem;
442 $unzip = PATH_TO_UNZIP;
443 $tocheck =
"imsmanifest.xml";
445 include_once
'Services/FileSystem/classes/class.ilUploadFiles.php';
448 if (!$rbacsystem->checkAccess(
"write",
$_GET[
"ref_id"]))
450 $this->
ilias->raiseError($this->lng->txt(
"no_create_permission"), $this->
ilias->error_obj->WARNING);
452 elseif ($_FILES[
"scormfile"][
"name"])
455 $source = $_FILES[
"scormfile"][
"tmp_name"];
456 if (($source ==
'none') || (!$source))
463 elseif (
$_POST[
"uploaded_file"])
468 $this->
ilias->raiseError($this->lng->txt(
"upload_error_file_not_found"),$this->
ilias->error_obj->MESSAGE);
472 $source = CLIENT_WEB_DIR .
"/" .
$_POST[
"uploaded_file"];
474 $source_is_copy =
true;
485 $pathinfo = pathinfo($source);
486 $dir = $pathinfo[
"dirname"];
487 $file = $pathinfo[
"basename"];
495 $tmp_file = $dir.
"/".
$_GET[
"ref_id"].
".".$tocheck;
496 require_once(
'./Services/Utilities/classes/class.ilFileUtils.php');
498 $new_manifest = file_get_contents($tmp_file);
504 $old_manifest = file_get_contents($this->object->getDataDirectory().
"/".$tocheck);
507 $check =
'/xmlns="http:\/\/www.imsglobal.org\/xsd\/imscp_v1p1"/';
508 $replace=
"xmlns=\"http://www.imsproject.org/xsd/imscp_rootv1p1p2\"";
509 $reload_manifest = preg_replace($check, $replace, $new_manifest);
512 if (strcmp($new_manifest,$old_manifest) == 0 || strcmp(utf8_encode($new_manifest),$old_manifest) == 0 ||
513 strcmp ($reload_manifest, $old_manifest) == 0 || strcmp(utf8_encode($reload_manifest),$old_manifest) == 0 ){
516 $module_version = $this->
object->getModuleVersion();
518 if ($_FILES[
"scormfile"][
"name"])
521 $file_path = $this->
object->getDataDirectory().
"/".$_FILES[
"scormfile"][
"name"].
".".$module_version;
522 $file_path = str_replace(
".zip.".$module_version,
".".$module_version.
".zip",$file_path);
529 $file_path = $this->
object->getDataDirectory().
"/".
$_POST[
"uploaded_file"].
".".$module_version;
530 $file_path = str_replace(
".zip.".$module_version,
".".$module_version.
".zip",$file_path);
532 require_once(
'./Services/Utilities/classes/class.ilFileUtils.php');
541 $this->
object->setModuleVersion($module_version+1);
542 $this->
object->update();
566 $this->
object->setTitle(
$_POST[
"Fobject_title"]);
567 $this->
object->setDescription(
$_POST[
"Fobject_description"]);
571 if ($tmpOfflineMode ==
true) {
572 if ($this->object->getOfflineMode() ==
false) {
573 $this->
object->zipLmForOfflineMode();
576 if (isset(
$_POST[
"mastery_score"])){
577 $this->
object->setMasteryScore(
$_POST[
"mastery_score"]);
581 $this->
object->setOfflineMode($tmpOfflineMode);
582 $this->
object->setOpenMode(
$_POST[
"open_mode"]);
583 $this->
object->setWidth(
$_POST[
"width"]);
584 $this->
object->setHeight(
$_POST[
"height"]);
587 $this->
object->setMaxAttempt(
$_POST[
"max_attempt"]);
588 $this->
object->setDefaultLessonMode(
$_POST[
"lesson_mode"]);
589 $this->
object->setCreditMode(
$_POST[
"credit_mode"]);
599 $this->
object->update();
601 $this->ctrl->redirect($this,
"properties");
612 $ilTabs->setTabActive(
"cont_tracking_data");
613 $ilTabs->setSubTabActive(
"cont_tracking_bysco");
615 $reports = array(
'exportSelectedCore',
'exportSelectedInteractions',
'exportSelectedObjectives',
'exportSelectedRaw');
616 $scoSelected =
"all";
619 $this->ctrl->setParameter($this,
'scoSelected',$scoSelected);
624 $this->ctrl->setParameter($this,
'report',$report);
626 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingItemsPerScoFilterGUI.php';
628 $filter->parse($scoSelected,$report,$reports);
629 if($report ==
"choose") {
630 $this->tpl->setContent($filter->form->getHTML());
632 $scosSelected = array();
633 if ($scoSelected !=
"all") $scosSelected[] = $scoSelected;
635 $scos=$this->
object->getTrackedItems();
636 foreach($scos as
$row)
638 $scosSelected[]=(int)$row->getId();
642 include_once
"Services/Tracking/classes/class.ilTrQuery.php";
645 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingItemsTableGUI.php';
647 $this->tpl->setContent($filter->form->getHTML().$tbl->getHTML());
660 global $ilTabs, $ilAccess;
662 $ilTabs->setTabActive(
'cont_tracking_data');
664 if($ilAccess->checkAccess(
"read_learning_progress",
"",
$_GET[
"ref_id"])) {
667 $ilTabs->setSubTabActive(
'cont_tracking_byuser');
669 $reports = array(
'exportSelectedSuccess',
'exportSelectedCore',
'exportSelectedInteractions',
'exportSelectedObjectives',
'exportSelectedRaw');
671 $userSelected =
"all";
674 $this->ctrl->setParameter($this,
'userSelected',$userSelected);
679 $this->ctrl->setParameter($this,
'report',$report);
681 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingItemsPerUserFilterGUI.php';
683 $filter->parse($userSelected,$report,$reports);
684 if($report ==
"choose") {
685 $this->tpl->setContent($filter->form->getHTML());
687 $usersSelected = array();
688 if ($userSelected !=
"all") $usersSelected[] = $userSelected;
690 include_once
"Services/Tracking/classes/class.ilTrQuery.php";
692 foreach($users as $user) {
694 $usersSelected[] = $user;
698 $scosSelected = array();
699 $scos=$this->
object->getTrackedItems();
700 foreach($scos as
$row)
702 $scosSelected[]=(int)$row->getId();
709 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingItemsTableGUI.php';
711 $this->tpl->setContent($filter->form->getHTML().$tbl->getHTML());
714 else if($ilAccess->checkAccess(
"edit_learning_progress",
"",
$_GET[
"ref_id"])) {
722 if($ilAccess->checkAccess(
"edit_learning_progress",
"",
$_GET[
"ref_id"])) {
723 include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
725 if(!$privacy->enabledSahsProtocolData())
727 $this->
ilias->raiseError($this->lng->txt(
'permission_denied'), $this->
ilias->error_obj->MESSAGE);
730 global $ilTabs, $ilToolbar;
732 include_once
'./Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
733 $ilToolbar->addButton(
734 $this->lng->txt(
'import'),
735 $this->ctrl->getLinkTarget($this,
'importForm')
737 $ilToolbar->addButton(
738 $this->lng->txt(
'cont_export_all'),
739 $this->ctrl->getLinkTarget($this,
'exportAll')
743 $ilTabs->setTabActive(
'cont_tracking_data');
744 $ilTabs->setSubTabActive(
'cont_tracking_modify');
746 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingUsersTableGUI.php';
749 $this->tpl->setContent(
$tbl->getHTML());
759 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingUsersTableGUI.php';
761 $tbl->writeFilterToSession();
771 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingUsersTableGUI.php';
783 if(!isset(
$_POST[
"user"]))
785 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->
ilias->error_obj->MESSAGE);
789 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
791 $cgui->setFormAction($this->ctrl->getFormAction($this));
792 $cgui->setHeaderText($this->lng->txt(
"info_delete_sure"));
793 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancelDeleteTracking");
794 $cgui->setConfirm($this->lng->txt(
"confirm"),
"confirmedDeleteTracking");
796 foreach(
$_POST[
"user"] as $id)
803 " ".$this->lng->txt(
"cont_tracking_data").
804 ": ".$user->getLastname().
", ".$user->getFirstname();
807 $cgui->addItem(
"user[]", $id, $caption);
811 $this->tpl->setContent($cgui->getHTML());
820 $this->ctrl->redirect($this,
"modifyTrackingItems");
825 $this->
object->deleteTrackingDataOfUsers(
$_POST[
"user"]);
826 $this->ctrl->redirect($this,
"modifyTrackingItems");
835 $this->ctrl->redirect($this,
"properties");
841 protected function import()
844 if($form->checkInput())
846 $source = $form->getInput(
'csv');
847 $error = $this->
object->importTrackingData($source[
'tmp_name']);
852 $this->ctrl->redirect($this,
"showTrackingItems");
861 $form->setValuesByPost();
872 $ilTabs->clearTargets();
873 $ilTabs->setBackTarget($this->lng->txt(
'back'),$this->ctrl->getLinkTarget($this,
'showTrackingItems'));
876 $this->tpl->setContent($form->getHTML());
884 include_once
'./Services/Form/classes/class.ilPropertyFormGUI.php';
886 $form->setFormAction($this->ctrl->getFormAction($this));
887 $form->setTitle($this->lng->txt(
'cont_import_tracking'));
888 $form->addCommandButton(
'import', $this->lng->txt(
'import'));
889 $form->addCommandButton(
'showTrackingItems', $this->lng->txt(
'cancel'));
893 $csv->setSuffixes(array(
'csv'));
894 $form->addItem($csv);
904 $this->
object->exportSelected(1);
912 if(!count((array)
$_POST[
'user']))
916 $this->ctrl->redirect($this,
'modifyTrackingItems');
918 $this->
object->exportSelected(0,$_POST[
"user"]);
925 if (!isset(
$_POST[
"user"])) {
928 $this->
object->decreaseAttemptsForUser(
$_POST[
"user"]);
929 $this->ctrl->redirect($this,
"modifyTrackingItems");
940 include_once
"./Services/Table/classes/class.ilTableGUI.php";
943 $ilTabs->setTabActive(
"cont_tracking_data");
944 $ilTabs->setSubTabActive(
"cont_tracking_byuser");
946 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingItemsPerUserTableGUI.php';
950 $this->tpl->setContent(
$tbl->getHTML());
961 include_once
"./Services/Table/classes/class.ilTableGUI.php";
964 $ilTabs->setTabActive(
"cont_tracking_data");
965 $ilTabs->setSubTabActive(
"cont_tracking_bysco");
967 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingItemsScoTableGUI.php';
971 $this->tpl->setContent(
$tbl->getHTML());
982 include_once
"./Services/Table/classes/class.ilTableGUI.php";
985 $ilTabs->setTabActive(
"cont_tracking_data");
986 $ilTabs->setSubTabActive(
"cont_tracking_byuser");
988 $this->ctrl->setParameter($this,
'obj_id',(
int)
$_REQUEST[
'obj_id']);
989 $this->ctrl->setParameter($this,
'user_id',(
int) $_REQUEST[
'user_id']);
991 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingItemPerUserTableGUI.php';
993 $tbl->setUserId((
int) $_REQUEST[
'user_id']);
994 $tbl->setScoId((
int) $_REQUEST[
'obj_id']);
996 $this->tpl->setContent(
$tbl->getHTML());
1005 if($ilAccess->checkAccess(
"read_learning_progress",
"",
$_GET[
"ref_id"])) {
1006 $ilTabs->addSubTabTarget(
"cont_tracking_byuser",
1007 $this->ctrl->getLinkTarget($this,
"showTrackingItems"), array(
"edit",
""),
1010 $ilTabs->addSubTabTarget(
"cont_tracking_bysco",
1011 $this->ctrl->getLinkTarget($this,
"showTrackingItemsBySco"), array(
"edit",
""),
1014 if($ilAccess->checkAccess(
"edit_learning_progress",
"",
$_GET[
"ref_id"])) {
1015 $ilTabs->addSubTabTarget(
"cont_tracking_modify",
1016 $this->ctrl->getLinkTarget($this,
"modifyTrackingItems"), array(
"edit",
""),
1031 include_once
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
1034 $this->
ilias->raiseError($this->lng->txt(
'permission_denied'), $this->
ilias->error_obj->MESSAGE);
1037 include_once
'./Modules/ScormAicc/classes/class.ilSCORMOfflineModeUsersTableGUI.php';
1040 $this->tpl->setContent(
$tbl->getHTML());
1048 if(!count((array)
$_POST[
'user']))
1051 $this->ctrl->redirect($this,
'offlineModeManager');
1054 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
1056 $cgui->setFormAction($this->ctrl->getFormAction($this));
1057 $cgui->setHeaderText($this->lng->txt(
"info_stop_offline_mode_sure"));
1058 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancelStopUserOfflineMode");
1059 $cgui->setConfirm($this->lng->txt(
"confirm"),
"confirmedStopUserOfflineMode");
1060 foreach($_POST[
"user"] as $id)
1066 " ".$this->lng->txt(
"stop_user_offline_mode_for_user").
1067 ": ".$user->getLastname().
", ".$user->getFirstname();
1068 $cgui->addItem(
"user[]", $id, $caption);
1071 $this->tpl->setContent($cgui->getHTML());
1077 $this->ctrl->redirect($this,
"offlineModeManager");
1083 include_once
'./Modules/ScormAicc/classes/class.ilSCORMOfflineMode.php';
1084 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.
setValue($a_value)
Set Value.
checkIfAnyoneIsInOfflineMode($obj_id)
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
ilObjectGUI($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=true)
Constructor public.
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
confirmedDeleteTracking()
stopUserOfflineMode()
Stop offline mode for selected users.
cancelStopUserOfflineMode()
static _lookupObjectId($a_ref_id)
lookup object id
exportSelectionUsers()
Export selection for selected users.
initImportForm()
Init import form.
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.
_lookupSubType($a_obj_id)
lookup subtype id (scorm, aicc, hacp)
redirection script todo: (a better solution should control the processing via a xml file) ...
setMaxLength($a_maxlength)
Set Max Length.
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.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
newModuleVersion()
upload new version of module
ilObjSCORMLearningModuleGUI($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
Constructor.
GUI class ilSCORMOfflineModeUsersTableGUI.
saveProperties()
save properties
confirmedStopUserOfflineMode()
stopOfflineModeForUser($obj_id, $user_id)
static getParticipantsForObject($a_ref_id)
Get participant ids for given object.
This class represents a non editable value in a property form.
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.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
static _getInstance()
Get instance of ilPrivacySettings.
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
showTrackingItemPerUser()
show tracking data of item per user
cancel()
overwrite..jump back to trackingdata not parent
Confirmation screen class.