5require_once
"./Services/Object/classes/class.ilObjectGUI.php";
6require_once(
"./Services/FileSystem/classes/class.ilFileSystemGUI.php");
7require_once(
"Services/User/classes/class.ilObjUser.php");
9require_once(
"./Modules/ScormAicc/classes/class.ilObjSAHSLearningModuleGUI.php");
10require_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"));
95 $this->form->addItem($ne);
99 $ne->setValue($this->object->getModuleVersion());
100 $this->form->addItem($ne);
105 if ($this->object->getOnline())
107 $cb->setChecked(
true);
109 $this->form->addItem($cb);
112 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_offline_mode_allow"),
"cobj_offline_mode");
114 $cb->setChecked($this->object->getOfflineMode());
115 include_once(
"./Modules/ScormAicc/classes/class.ilSCORMOfflineMode.php");
117 $cb->setDisabled(
true);
118 $cb->setInfo($this->lng->txt(
"cont_offline_mode_disable_not_allowed_info"));
120 $cb->setInfo($this->lng->txt(
"cont_offline_mode_allow_info"));
122 $this->form->addItem($cb);
128 $sh->setTitle($this->lng->txt(
"cont_presentation"));
129 $this->form->addItem($sh);
133 "0" => $this->lng->txt(
"cont_open_normal"),
134 "1" => $this->lng->txt(
"cont_open_iframe_max"),
135 "2" => $this->lng->txt(
"cont_open_iframe_defined"),
136 "5" => $this->lng->txt(
"cont_open_window_undefined"),
137 "6" => $this->lng->txt(
"cont_open_window_defined")
141 $si->setValue($this->object->getOpenMode());
142 $this->form->addItem(
$si);
146 $ni->setMaxLength(4);
148 $ni->setValue($this->object->getWidth());
149 $this->form->addItem($ni);
153 $ni->setMaxLength(4);
155 $ni->setValue($this->object->getHeight());
156 $this->form->addItem($ni);
159 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_auto_last_visited"),
"cobj_auto_last_visited");
161 $cb->setChecked($this->object->getAuto_last_visited());
162 $cb->setInfo($this->lng->txt(
"cont_auto_last_visited_info"));
163 $this->form->addItem($cb);
166 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_sc_auto_continue"),
"auto_continue");
168 $cb->setChecked($this->object->getAutoContinue());
169 $this->form->addItem($cb);
175 $sh->setTitle($this->lng->txt(
"cont_scorm_options"));
176 $this->form->addItem($sh);
179 $ni =
new ilNumberInputGUI($this->lng->txt(
"cont_sc_max_attempt"),
"max_attempt");
180 $ni->setMaxLength(3);
182 $ni->setValue($this->object->getMaxAttempt());
183 $this->form->addItem($ni);
186 $options = array(
"normal" => $this->lng->txt(
"cont_sc_less_mode_normal"),
187 "browse" => $this->lng->txt(
"cont_sc_less_mode_browse"));
190 $si->setValue($this->object->getDefaultLessonMode());
191 $this->form->addItem(
$si);
194 $options = array(
"credit" => $this->lng->txt(
"cont_credit_on"),
195 "no_credit" => $this->lng->txt(
"cont_credit_off"));
198 $si->setValue($this->object->getCreditMode());
199 $si->setInfo($this->lng->txt(
"cont_credit_mode_info"));
200 $this->form->addItem(
$si);
204 "n" => $this->lng->txt(
"cont_sc_auto_review_no"),
210 "y" => $this->lng->txt(
"cont_sc_auto_review_completed_or_passed"),
214 $si->setValue($this->object->getAutoReviewChar());
215 $si->setInfo($this->lng->txt(
"cont_sc_auto_review_info_12"));
216 $this->form->addItem(
$si);
222 $sh->setTitle($this->lng->txt(
"cont_rte_settings"));
223 $this->form->addItem($sh);
228 $cb->setChecked($this->object->getSession());
229 $cb->setInfo($this->lng->txt(
"cont_sc_usession_info"));
230 $this->form->addItem($cb);
233 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_interactions"),
"cobj_interactions");
235 $cb->setChecked($this->object->getInteractions());
236 $this->form->addItem($cb);
241 $cb->setChecked($this->object->getObjectives());
242 $this->form->addItem($cb);
245 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_time_from_lms"),
"cobj_time_from_lms");
247 $cb->setChecked($this->object->getTime_from_lms());
248 $cb->setInfo($this->lng->txt(
"cont_time_from_lms_info"));
249 $this->form->addItem($cb);
252 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"cont_check_values"),
"cobj_check_values");
254 $cb->setChecked($this->object->getCheck_values());
255 $this->form->addItem($cb);
267 $sh->setTitle($this->lng->txt(
"cont_debugging"));
268 $this->form->addItem($sh);
273 $cb->setChecked($this->object->getDebug());
274 if ($this->object->getDebugActivated() ==
false)
276 $cb->setDisabled(
true);
277 $cb->setInfo($this->lng->txt(
"cont_debug_deactivated"));
281 $cb->setInfo($this->lng->txt(
"cont_debug_deactivate"));
283 $this->form->addItem($cb);
284 $this->form->addCommandButton(
"saveProperties",
$lng->txt(
"save"));
286 $tpl->setContent($this->form->getHTML());
297 $ilTabs->setSubTabActive(
'cont_sc_new_version');
303 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.scorm_new_version_import.html",
"Modules/ScormAicc");
306 $this->tpl->setVariable(
"ALT_IMG", $this->lng->txt(
"obj_sahs"));
308 $this->ctrl->setParameter($this,
"new_type",
"sahs");
309 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
311 $this->tpl->setVariable(
"BTN_NAME",
"newModuleVersionUpload");
312 $this->tpl->setVariable(
"TARGET",
' target="'.
315 $this->tpl->setVariable(
"TXT_SELECT_LMTYPE", $this->lng->txt(
"type"));
317 if ($type ==
"scorm2004") {
318 $this->tpl->setVariable(
"TXT_TYPE", $this->lng->txt(
"lm_type_scorm2004"));
320 $this->tpl->setVariable(
"TXT_TYPE", $this->lng->txt(
"lm_type_scorm"));
323 include_once
'Services/FileSystem/classes/class.ilUploadFiles.php';
327 foreach($files as
$file)
329 $file = htmlspecialchars(
$file, ENT_QUOTES,
"utf-8");
330 $this->tpl->setCurrentBlock(
"option_uploaded_file");
331 $this->tpl->setVariable(
"UPLOADED_FILENAME",
$file);
332 $this->tpl->setVariable(
"TXT_UPLOADED_FILENAME",
$file);
333 $this->tpl->parseCurrentBlock();
335 $this->tpl->setCurrentBlock(
"select_uploaded_file");
336 $this->tpl->setVariable(
"TXT_SELECT_FROM_UPLOAD_DIR", $this->lng->txt(
"cont_select_from_upload_dir"));
337 $this->tpl->setVariable(
"TXT_UPLOADED_FILE", $this->lng->txt(
"cont_uploaded_file"));
338 $this->tpl->parseCurrentBlock();
341 $this->tpl->setVariable(
"TXT_UPLOAD", $this->lng->txt(
"upload"));
342 $this->tpl->setVariable(
"TXT_CANCEL", $this->lng->txt(
"cancel"));
343 $this->tpl->setVariable(
"TXT_IMPORT_LM", $this->lng->txt(
"import_sahs"));
344 $this->tpl->setVariable(
"TXT_SELECT_FILE", $this->lng->txt(
"select_file"));
347 $this->tpl->setVariable(
"TXT_FILE_INFO", $this->lng->txt(
"file_notice").
" ".$this->getMaxFileSize());
354 $umf=get_cfg_var(
"upload_max_filesize");
356 $pms=get_cfg_var(
"post_max_size");
359 $multiplier_a=array(
"K"=>1024,
"M"=>1024*1024,
"G"=>1024*1024*1024);
364 if (count($umf_parts) == 2) { $umf = $umf_parts[0]*$multiplier_a[$umf_parts[1]]; }
365 if (count($pms_parts) == 2) { $pms = $pms_parts[0]*$multiplier_a[$pms_parts[1]]; }
368 $max_filesize=min($umf, $pms);
370 if (!$max_filesize) $max_filesize=max($umf, $pms);
373 return $max_filesize=sprintf(
"%.1f MB",$max_filesize/1024/1024);
379 global $_FILES, $rbacsystem;
381 $unzip = PATH_TO_UNZIP;
382 $tocheck =
"imsmanifest.xml";
384 include_once
'Services/FileSystem/classes/class.ilUploadFiles.php';
387 if (!$rbacsystem->checkAccess(
"write",
$_GET[
"ref_id"]))
389 $this->
ilias->raiseError($this->lng->txt(
"no_create_permission"), $this->ilias->error_obj->WARNING);
391 elseif ($_FILES[
"scormfile"][
"name"])
394 $source = $_FILES[
"scormfile"][
"tmp_name"];
395 if (($source ==
'none') || (!$source))
402 elseif (
$_POST[
"uploaded_file"])
407 $this->
ilias->raiseError($this->lng->txt(
"upload_error_file_not_found"),$this->ilias->error_obj->MESSAGE);
411 $source = CLIENT_WEB_DIR .
"/" .
$_POST[
"uploaded_file"];
413 $source_is_copy =
true;
424 $pathinfo = pathinfo($source);
425 $dir = $pathinfo[
"dirname"];
426 $file = $pathinfo[
"basename"];
434 $tmp_file = $dir.
"/".$tocheck.
".".
$_GET[
"ref_id"];
436 rename($dir.
"/".$tocheck,$tmp_file);
437 $new_manifest = file_get_contents($tmp_file);
443 $old_manifest = file_get_contents($this->object->getDataDirectory().
"/".$tocheck);
446 $check =
'/xmlns="http:\/\/www.imsglobal.org\/xsd\/imscp_v1p1"/';
447 $replace=
"xmlns=\"http://www.imsproject.org/xsd/imscp_rootv1p1p2\"";
448 $reload_manifest = preg_replace($check, $replace, $new_manifest);
451 if (strcmp($new_manifest,$old_manifest) == 0 || strcmp(utf8_encode($new_manifest),$old_manifest) == 0 ||
452 strcmp ($reload_manifest, $old_manifest) == 0 || strcmp(utf8_encode($reload_manifest),$old_manifest) == 0 ){
455 $module_version = $this->
object->getModuleVersion();
457 if ($_FILES[
"scormfile"][
"name"])
460 $file_path = $this->
object->getDataDirectory().
"/".$_FILES[
"scormfile"][
"name"].
".".$module_version;
468 $file_path = $this->
object->getDataDirectory().
"/".
$_POST[
"uploaded_file"].
".".$module_version;
470 rename($source, $file_path);
478 $this->
object->setModuleVersion($module_version+1);
479 $this->
object->update();
505 if ($tmpOfflineMode ==
true) {
506 if ($this->object->getOfflineMode() ==
false) {
507 $this->
object->zipLmForOfflineMode();
511 $this->
object->setOfflineMode($tmpOfflineMode);
512 $this->
object->setOpenMode(
$_POST[
"open_mode"]);
513 $this->
object->setWidth(
$_POST[
"width"]);
514 $this->
object->setHeight(
$_POST[
"height"]);
517 $this->
object->setMaxAttempt(
$_POST[
"max_attempt"]);
518 $this->
object->setDefaultLessonMode(
$_POST[
"lesson_mode"]);
519 $this->
object->setCreditMode(
$_POST[
"credit_mode"]);
529 $this->
object->update();
531 $this->ctrl->redirect($this,
"properties");
542 $ilTabs->setTabActive(
"cont_tracking_data");
543 $ilTabs->setSubTabActive(
"cont_tracking_bysco");
545 $reports = array(
'exportSelectedCore',
'exportSelectedInteractions',
'exportSelectedObjectives',
'exportSelectedRaw');
546 $scoSelected =
"all";
549 $this->ctrl->setParameter($this,
'scoSelected',$scoSelected);
554 $this->ctrl->setParameter($this,
'report',$report);
556 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingItemsPerScoFilterGUI.php';
558 $filter->parse($scoSelected,$report,$reports);
559 if($report ==
"choose") {
560 $this->tpl->setContent($filter->form->getHTML());
562 $scosSelected = array();
563 if ($scoSelected !=
"all") $scosSelected[] = $scoSelected;
565 $scos=$this->
object->getTrackedItems();
566 foreach($scos as
$row)
568 $scosSelected[]=(int)
$row->getId();
572 include_once
"Services/Tracking/classes/class.ilTrQuery.php";
575 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingItemsTableGUI.php';
577 $this->tpl->setContent($filter->form->getHTML().$tbl->getHTML());
590 global $ilTabs, $ilAccess;
592 $ilTabs->setTabActive(
'cont_tracking_data');
594 if($ilAccess->checkAccess(
"read_learning_progress",
"",
$_GET[
"ref_id"])) {
597 $ilTabs->setSubTabActive(
'cont_tracking_byuser');
599 $reports = array(
'exportSelectedSuccess',
'exportSelectedCore',
'exportSelectedInteractions',
'exportSelectedObjectives',
'exportSelectedRaw');
601 $userSelected =
"all";
604 $this->ctrl->setParameter($this,
'userSelected',$userSelected);
609 $this->ctrl->setParameter($this,
'report',$report);
611 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingItemsPerUserFilterGUI.php';
613 $filter->parse($userSelected,$report,$reports);
614 if($report ==
"choose") {
615 $this->tpl->setContent($filter->form->getHTML());
617 $usersSelected = array();
618 if ($userSelected !=
"all") $usersSelected[] = $userSelected;
620 include_once
"Services/Tracking/classes/class.ilTrQuery.php";
622 foreach($users as $user) {
624 $usersSelected[] = $user;
628 $scosSelected = array();
629 $scos=$this->
object->getTrackedItems();
630 foreach($scos as
$row)
632 $scosSelected[]=(int)
$row->getId();
639 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingItemsTableGUI.php';
641 $this->tpl->setContent($filter->form->getHTML().$tbl->getHTML());
644 else if($ilAccess->checkAccess(
"edit_learning_progress",
"",
$_GET[
"ref_id"])) {
652 if($ilAccess->checkAccess(
"edit_learning_progress",
"",
$_GET[
"ref_id"])) {
653 include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
655 if(!$privacy->enabledSahsProtocolData())
657 $this->
ilias->raiseError($this->lng->txt(
'permission_denied'), $this->ilias->error_obj->MESSAGE);
660 global $ilTabs, $ilToolbar;
662 include_once
'./Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
663 $ilToolbar->addButton(
664 $this->lng->txt(
'import'),
665 $this->ctrl->getLinkTarget($this,
'importForm')
667 $ilToolbar->addButton(
668 $this->lng->txt(
'cont_export_all'),
669 $this->ctrl->getLinkTarget($this,
'exportAll')
673 $ilTabs->setTabActive(
'cont_tracking_data');
674 $ilTabs->setSubTabActive(
'cont_tracking_modify');
676 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingUsersTableGUI.php';
679 $this->tpl->setContent($tbl->getHTML());
689 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingUsersTableGUI.php';
691 $tbl->writeFilterToSession();
701 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingUsersTableGUI.php';
713 if(!isset(
$_POST[
"user"]))
715 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
719 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
721 $cgui->setFormAction($this->ctrl->getFormAction($this));
722 $cgui->setHeaderText($this->lng->txt(
"info_delete_sure"));
723 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancelDeleteTracking");
724 $cgui->setConfirm($this->lng->txt(
"confirm"),
"confirmedDeleteTracking");
726 foreach(
$_POST[
"user"] as $id)
733 " ".$this->lng->txt(
"cont_tracking_data").
734 ": ".$user->getLastname().
", ".$user->getFirstname();
737 $cgui->addItem(
"user[]", $id, $caption);
741 $this->tpl->setContent($cgui->getHTML());
750 $this->ctrl->redirect($this,
"modifyTrackingItems");
755 $this->
object->deleteTrackingDataOfUsers(
$_POST[
"user"]);
756 $this->ctrl->redirect($this,
"modifyTrackingItems");
765 $this->ctrl->redirect($this,
"properties");
771 protected function import()
774 if($form->checkInput())
776 $source = $form->getInput(
'csv');
777 $error = $this->
object->importTrackingData($source[
'tmp_name']);
782 $this->ctrl->redirect($this,
"showTrackingItems");
791 $form->setValuesByPost();
802 $ilTabs->clearTargets();
803 $ilTabs->setBackTarget($this->lng->txt(
'back'),$this->ctrl->getLinkTarget($this,
'showTrackingItems'));
806 $this->tpl->setContent($form->getHTML());
814 include_once
'./Services/Form/classes/class.ilPropertyFormGUI.php';
816 $form->setFormAction($this->ctrl->getFormAction($this));
817 $form->setTitle($this->lng->txt(
'cont_import_tracking'));
818 $form->addCommandButton(
'import', $this->lng->txt(
'import'));
819 $form->addCommandButton(
'showTrackingItems', $this->lng->txt(
'cancel'));
822 $csv->setRequired(
true);
823 $csv->setSuffixes(array(
'csv'));
824 $form->addItem($csv);
834 $this->
object->exportSelected(1);
842 if(!count((array)
$_POST[
'user']))
846 $this->ctrl->redirect($this,
'modifyTrackingItems');
848 $this->
object->exportSelected(0,$_POST[
"user"]);
855 if (!isset(
$_POST[
"user"])) {
858 $this->
object->decreaseAttemptsForUser(
$_POST[
"user"]);
859 $this->ctrl->redirect($this,
"modifyTrackingItems");
870 include_once
"./Services/Table/classes/class.ilTableGUI.php";
873 $ilTabs->setTabActive(
"cont_tracking_data");
874 $ilTabs->setSubTabActive(
"cont_tracking_byuser");
876 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingItemsPerUserTableGUI.php';
878 $tbl->setUserId((
int)
$_REQUEST[
'user_id']);
880 $this->tpl->setContent($tbl->getHTML());
891 include_once
"./Services/Table/classes/class.ilTableGUI.php";
894 $ilTabs->setTabActive(
"cont_tracking_data");
895 $ilTabs->setSubTabActive(
"cont_tracking_bysco");
897 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingItemsScoTableGUI.php';
899 $tbl->setScoId((
int)
$_GET[
'obj_id']);
901 $this->tpl->setContent($tbl->getHTML());
912 include_once
"./Services/Table/classes/class.ilTableGUI.php";
915 $ilTabs->setTabActive(
"cont_tracking_data");
916 $ilTabs->setSubTabActive(
"cont_tracking_byuser");
918 $this->ctrl->setParameter($this,
'obj_id',(
int)
$_REQUEST[
'obj_id']);
919 $this->ctrl->setParameter($this,
'user_id',(
int)
$_REQUEST[
'user_id']);
921 include_once
'./Modules/ScormAicc/classes/class.ilSCORMTrackingItemPerUserTableGUI.php';
923 $tbl->setUserId((
int)
$_REQUEST[
'user_id']);
924 $tbl->setScoId((
int)
$_REQUEST[
'obj_id']);
926 $this->tpl->setContent($tbl->getHTML());
935 if($ilAccess->checkAccess(
"read_learning_progress",
"",
$_GET[
"ref_id"])) {
936 $ilTabs->addSubTabTarget(
"cont_tracking_byuser",
937 $this->ctrl->getLinkTarget($this,
"showTrackingItems"), array(
"edit",
""),
940 $ilTabs->addSubTabTarget(
"cont_tracking_bysco",
941 $this->ctrl->getLinkTarget($this,
"showTrackingItemsBySco"), array(
"edit",
""),
944 if($ilAccess->checkAccess(
"edit_learning_progress",
"",
$_GET[
"ref_id"])) {
945 $ilTabs->addSubTabTarget(
"cont_tracking_modify",
946 $this->ctrl->getLinkTarget($this,
"modifyTrackingItems"), array(
"edit",
""),
961 include_once
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
964 $this->
ilias->raiseError($this->lng->txt(
'permission_denied'), $this->ilias->error_obj->MESSAGE);
967 include_once
'./Modules/ScormAicc/classes/class.ilSCORMOfflineModeUsersTableGUI.php';
970 $this->tpl->setContent($tbl->getHTML());
978 if(!count((array)
$_POST[
'user']))
981 $this->ctrl->redirect($this,
'offlineModeManager');
984 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
986 $cgui->setFormAction($this->ctrl->getFormAction($this));
987 $cgui->setHeaderText($this->lng->txt(
"info_stop_offline_mode_sure"));
988 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancelStopUserOfflineMode");
989 $cgui->setConfirm($this->lng->txt(
"confirm"),
"confirmedStopUserOfflineMode");
990 foreach(
$_POST[
"user"] as $id)
996 " ".$this->lng->txt(
"stop_user_offline_mode_for_user").
997 ": ".$user->getLastname().
", ".$user->getFirstname();
998 $cgui->addItem(
"user[]", $id, $caption);
1001 $this->tpl->setContent($cgui->getHTML());
1007 $this->ctrl->redirect($this,
"offlineModeManager");
1013 include_once
'./Modules/ScormAicc/classes/class.ilSCORMOfflineMode.php';
1014 foreach(
$_POST[
"user"] as $id)
Confirmation screen class.
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
This class represents a non editable value in a property form.
SCORM/AICC/HACP Learning Modules.
setSettingsSubTabs()
set Tabs for settings
_lookupSubType($a_obj_id)
lookup subtype id (scorm, aicc, hacp)
Class ilObjSCORMLearningModuleGUI.
resetUserTableFilter()
Reset table filter.
const EXPORT_TYPE_SUCCESS
showTrackingItemsBySco()
show tracking data
cancelStopUserOfflineMode()
offlineModeManager()
Manage offline mode for users @global ilTabs $ilTabs $global ilToolbar $ilToolbar.
importForm()
Show import form.
exportAll()
Show export section for all users.
stopUserOfflineMode()
Stop offline mode for selected users.
exportSelectionUsers()
Export selection for selected users.
assignObject()
assign scorm object to scorm gui object
showTrackingItem()
show tracking data of item
ilObjSCORMLearningModuleGUI($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
Constructor.
saveProperties()
save properties
showTrackingItemSco()
show tracking data of item
properties()
scorm module properties
applyUserTableFilter()
Apply table filter.
deleteTrackingForUser()
display deletion confirmation screen
showTrackingItemPerUser()
show tracking data of item per user
initImportForm()
Init import form.
cancel()
overwrite..jump back to trackingdata not parent
newModuleVersion()
upload new version of module
showTrackingItems()
Show tracking table @global ilTabs $ilTabs $global ilToolbar $ilToolbar.
confirmedStopUserOfflineMode()
confirmedDeleteTracking()
cancelDeleteTracking()
cancel deletion of export files
Class ilObjSCORMLearningModule.
ilObjectGUI($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=true)
Constructor @access public.
static _lookupObjectId($a_ref_id)
lookup object id
static _exists($a_id, $a_reference=false, $a_type=null)
checks if an object exists in object_data@access public
static _getInstance()
Get instance of ilPrivacySettings.
GUI class ilSCORMOfflineModeUsersTableGUI.
stopOfflineModeForUser($obj_id, $user_id)
checkIfAnyoneIsInOfflineMode($obj_id)
Class ilSCORMTrackingItemsPerScoFilterGUI.
Class ilSCORMTrackingItemsPerUserFilterGUI.
Class ilSCORMTrackingItemsTableGUI.
static getParticipantsForObject($a_ref_id)
Get participant ids for given object.
static _getUploadFiles()
Get a list of readable files in the upload directory.
static _copyUploadFile($a_file, $a_target, $a_raise_errors=true)
copy an uploaded file to the target directory (including virus check)
static _checkUploadFile($a_file)
Check if a file exists in the upload directory and is readable.
static _getUploadDirectory()
Get the directory with uploaded files.
static moveUploadedFile($a_file, $a_name, $a_target, $a_raise_errors=true, $a_mode="move_uploaded")
move uploaded file
static escapeShellArg($a_arg)
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...
static redirect($a_script)
http redirect to other script
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
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 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 renameExecutables($a_dir)
Rename uploaded executables for security reasons.
redirection script todo: (a better solution should control the processing via a xml file)
echo;exit;}function LogoutNotification($SessionID){ global $ilDB;$q="SELECT session_id, data FROM usr_session WHERE expires > (\w+)\|/" PREG_SPLIT_NO_EMPTY PREG_SPLIT_DELIM_CAPTURE
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
if(!is_array($argv)) $options