ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
ilObjSAHSLearningModuleGUI Class Reference

SCORM Learning Modules. More...

+ Inheritance diagram for ilObjSAHSLearningModuleGUI:
+ Collaboration diagram for ilObjSAHSLearningModuleGUI:

Public Member Functions

 __construct ($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
 Constructor. More...
 
 executeCommand ()
 execute command More...
 
 viewObject ()
 
 properties ()
 module properties More...
 
 saveProperties ()
 save properties More...
 
 initCreationForms ($a_new_type)
 no manual SCORM creation, only import at the time More...
 
 initCreationForm ()
 Init form. More...
 
 initUploadForm ()
 Init upload form. More...
 
 uploadObject ()
 display status information or report errors messages in case of error More...
 
 upload ()
 
 saveObject ()
 save new learning module to db More...
 
 info ()
 permission form More...
 
 owner ()
 show owner of learning module More...
 
 getTemplate ()
 output main header (title and locator) More...
 
 setTabs ()
 output tabs More...
 
 certificate ()
 Shows the certificate editor. More...
 
 getTabs ()
 adds tabs to tab gui object More...
 
 addLocatorItems ()
 
 editContent ()
 List files. More...
 
 setSettingsSubTabs ()
 set Tabs for settings More...
 
 export ()
 
 exportModule ()
 
 getType ()
 
- Public Member Functions inherited from ilObjectGUI
 executeCommand ()
 execute command More...
 
 withReferences ()
 determines wether objects are referenced or not (got ref ids or not) More...
 
 setCreationMode ($a_mode=true)
 if true, a creation screen is displayed the current $_GET[ref_id] don't belong to the current class! the mode is determined in ilrepositorygui More...
 
 getCreationMode ()
 get creation mode More...
 
 prepareOutput ($a_show_subobjects=true)
 prepare output More...
 
 getAdminTabs ()
 administration tabs show only permissions and trash folder More...
 
 getHTML ()
 
 confirmedDeleteObject ()
 confirmed deletion of object -> objects are moved to trash or deleted immediately, if trash is disabled More...
 
 cancelDeleteObject ()
 cancel deletion of object More...
 
 cancelObject ()
 cancel action and go back to previous page public More...
 
 createObject ()
 create new object form More...
 
 cancelCreation ()
 cancel create action and go back to repository parent More...
 
 saveObject ()
 save object More...
 
 getDidacticTemplateVar ($a_type)
 Get didactic template setting from creation screen. More...
 
 putObjectInTree (ilObject $a_obj, $a_parent_node_id=null)
 Add object to tree at given position. More...
 
 editObject ()
 edit object More...
 
 addExternalEditFormCustom (ilPropertyFormGUI $a_form)
 
 updateObject ()
 updates object entry in object_data More...
 
 getFormAction ($a_cmd, $a_formaction="")
 get form action for command (command is method name without "Object", e.g. More...
 
 isVisible ($a_ref_id, $a_type)
 
 viewObject ()
 list childs of current object More...
 
 deleteObject ($a_error=false)
 Display deletion confirmation screen. More...
 
 cloneAllObject ()
 Clone single (not container object) Method is overwritten in ilContainerGUI. More...
 

Static Public Member Functions

static _goto ($a_target)
 goto target course More...
 
- Static Public Member Functions inherited from ilObjectGUI
static _gotoRepositoryRoot ($a_raise_error=false)
 Goto repository root. More...
 
static _gotoRepositoryNode ($a_ref_id, $a_cmd="frameset")
 Goto repository root. More...
 

Additional Inherited Members

- Data Fields inherited from ilObjectGUI
const COPY_WIZARD_NEEDS_PAGE = 1
 
 $objDefinition
 
 $tpl
 
 $tree
 
 $lng
 
 $data
 
 $object
 
 $ref_id
 
 $obj_id
 
 $maxcount
 
 $formaction
 
 $return_location
 
 $target_frame
 
 $tab_target_script
 
 $actions
 
 $sub_objects
 
 $omit_locator = false
 
const CFORM_NEW = 1
 
const CFORM_IMPORT = 2
 
const CFORM_CLONE = 3
 
- Protected Member Functions inherited from ilObjectGUI
 assignObject ()
 
 setTitleAndDescription ()
 called by prepare output More...
 
 initHeaderAction ($a_sub_type=null, $a_sub_id=null)
 Add header action menu. More...
 
 insertHeaderAction ($a_list_gui)
 Insert header action into main template. More...
 
 addHeaderAction ()
 Add header action menu. More...
 
 redrawHeaderActionObject ()
 Ajax call: redraw action header only. More...
 
 showMountWebfolderIcon ()
 
 setTabs ()
 set admin tabs public More...
 
 setAdminTabs ()
 set admin tabs public More...
 
 setLocator ()
 set Locator More...
 
 addLocatorItems ()
 should be overwritten to add object specific items (repository items are preloaded) More...
 
 omitLocator ($a_omit=true)
 
 addAdminLocatorItems ($a_do_not_add_object=false)
 should be overwritten to add object specific items (repository items are preloaded) More...
 
 initCreationForms ($a_new_type)
 Init creation froms. More...
 
 getCreationFormsHTML (array $a_forms)
 Get HTML for creation forms (accordion) More...
 
 initCreateForm ($a_new_type)
 Init object creation form. More...
 
 initDidacticTemplate (ilPropertyFormGUI $form)
 Show didactic template types. More...
 
 addDidacticTemplateOptions (array &$a_options)
 Add custom templates. More...
 
 afterSave (ilObject $a_new_object)
 Post (successful) object creation hook. More...
 
 initEditForm ()
 Init object edit form. More...
 
 initEditCustomForm (ilPropertyFormGUI $a_form)
 Add custom fields to update form. More...
 
 getEditFormValues ()
 Get values for edit form. More...
 
 getEditFormCustomValues (array &$a_values)
 Add values to custom edit fields. More...
 
 validateCustom (ilPropertyFormGUI $a_form)
 Validate custom values (if not possible with checkInput()) More...
 
 updateCustom (ilPropertyFormGUI $a_form)
 Insert custom update form values into object. More...
 
 afterUpdate ()
 Post (successful) object update hook. More...
 
 initImportForm ($a_new_type)
 Init object import form. More...
 
 importFileObject ($parent_id=null, $a_catch_errors=true)
 Import. More...
 
 afterImport (ilObject $a_new_object)
 Post (successful) object import hook. More...
 
 setFormAction ($a_cmd, $a_formaction)
 set specific form action for command More...
 
 getReturnLocation ($a_cmd, $a_location="")
 get return location for command (command is method name without "Object", e.g. More...
 
 setReturnLocation ($a_cmd, $a_location)
 set specific return location for command More...
 
 getTargetFrame ($a_cmd, $a_target_frame="")
 get target frame for command (command is method name without "Object", e.g. More...
 
 setTargetFrame ($a_cmd, $a_target_frame)
 set specific target frame for command More...
 
 showPossibleSubObjects ()
 show possible subobjects (pulldown menu) More...
 
 getTemplateFile ($a_cmd, $a_type="")
 get a template blockfile format: tpl. More...
 
 getTabs ()
 get tabs abstract method. More...
 
 __showButton ($a_cmd, $a_text, $a_target='')
 
 hitsperpageObject ()
 
__initTableGUI ()
 
 __setTableGUIBasicData (&$tbl, &$result_set, $a_from="")
 standard implementation for tables use 'from' variable use different initial setting of table More...
 
 redirectToRefId ($a_ref_id, $a_cmd="")
 redirects to (repository) view per ref id usually to a container and usually used at the end of a save/import method where the object gui type (of the new object) doesn't match with the type of the current $_GET["ref_id"] value More...
 
 fillCloneTemplate ($a_tpl_varname, $a_type)
 Fill object clone template This method can be called from any object GUI class that wants to offer object cloning. More...
 
 getCenterColumnHTML ()
 Get center column. More...
 
 getRightColumnHTML ()
 Display right column. More...
 
 setColumnSettings (ilColumnGUI $column_gui)
 May be overwritten in subclasses. More...
 
 checkPermission ($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
 Check permission and redirect on error. More...
 
 checkPermissionBool ($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
 Check permission. More...
 
 enableDragDropFileUpload ()
 Enables the file upload into this object by dropping files. More...
 
 handleAutoRating (ilObject $a_new_obj)
 Activate rating automatically if parent container setting. More...
 
- Protected Attributes inherited from ilObjectGUI
 $ilErr
 
 $locator
 
 $user
 
 $access
 
 $settings
 
 $rbacreview
 
 $toolbar
 
 $rbacsystem
 
 $tmp_import_dir
 
 $tabs_gui = null
 
 $ctrl
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilObjSAHSLearningModuleGUI::__construct (   $a_data,
  $a_id,
  $a_call_by_reference,
  $a_prepare_output = true 
)

Constructor.

public

Definition at line 24 of file class.ilObjSAHSLearningModuleGUI.php.

References ilObjectGUI\$lng.

25  {
26  global $lng;
27 
28  $lng->loadLanguageModule("content");
29  $this->type = "sahs";
30  parent::__construct($a_data, $a_id, $a_call_by_reference, false);
31  }

Member Function Documentation

◆ _goto()

static ilObjSAHSLearningModuleGUI::_goto (   $a_target)
static

goto target course

Definition at line 752 of file class.ilObjSAHSLearningModuleGUI.php.

References $_GET, ilObjectGUI\$ilErr, ilObjectGUI\$lng, ilObjectGUI\_gotoRepositoryRoot(), ilObject\_lookupObjId(), ilObject\_lookupTitle(), exit, and ilUtil\sendInfo().

753  {
754  global $ilAccess, $ilErr, $lng;
755 
756  $parts = explode("_", $a_target);
757 
758  if ($ilAccess->checkAccess("write", "", $parts[0])) {
759  $_GET["cmd"] = "";
760  $_GET["baseClass"] = "ilSAHSEditGUI";
761  $_GET["ref_id"] = $parts[0];
762  $_GET["obj_id"] = $parts[1];
763  include("ilias.php");
764  exit;
765  }
766  if ($ilAccess->checkAccess("visible", "", $parts[0]) || $ilAccess->checkAccess("read", "", $parts[0])) {
767  $_GET["cmd"] = "infoScreen";
768  $_GET["baseClass"] = "ilSAHSPresentationGUI";
769  $_GET["ref_id"] = $parts[0];
770  include("ilias.php");
771  exit;
772  } else {
773  if ($ilAccess->checkAccess("read", "", ROOT_FOLDER_ID)) {
774  ilUtil::sendInfo(sprintf(
775  $lng->txt("msg_no_perm_read_item"),
777  ), true);
779  }
780  }
781 
782  $ilErr->raiseError($lng->txt("msg_no_perm_read"), $ilErr->FATAL);
783  }
$_GET["client_id"]
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
static _lookupTitle($a_id)
lookup object title
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static _lookupObjId($a_id)
+ Here is the call graph for this function:

◆ addLocatorItems()

ilObjSAHSLearningModuleGUI::addLocatorItems ( )

Definition at line 785 of file class.ilObjSAHSLearningModuleGUI.php.

References $_GET, and object.

786  {
787  global $ilLocator;
788 
789  if (is_object($this->object)) {
790  $ilLocator->addItem(
791  $this->object->getTitle(),
792  $this->ctrl->getLinkTargetByClass("ilinfoscreengui", "showSummary"),
793  "",
794  $_GET["ref_id"]
795  );
796  }
797  }
$_GET["client_id"]
Create new PHPExcel object
obj_idprivate

◆ certificate()

ilObjSAHSLearningModuleGUI::certificate ( )

Shows the certificate editor.

Definition at line 603 of file class.ilObjSAHSLearningModuleGUI.php.

604  {
605  include_once "./Services/Certificate/classes/class.ilCertificateGUI.php";
606  include_once "./Modules/ScormAicc/classes/class.ilSCORMCertificateAdapter.php";
607  $output_gui = new ilCertificateGUI(new ilSCORMCertificateAdapter($this->object));
608  $output_gui->certificateEditor();
609  }
GUI class to create PDF certificates.

◆ editContent()

ilObjSAHSLearningModuleGUI::editContent ( )

List files.

Parameters

Definition at line 805 of file class.ilObjSAHSLearningModuleGUI.php.

References $ilCtrl, and object.

806  {
807  global $ilCtrl;
808 
809  if (!$this->object->getEditable()) {
810  $ilCtrl->redirectByClass("ilfilesystemgui", "listFiles");
811  } else {
812  $ilCtrl->redirectByClass("ilobjscorm2004learningmodulegui", "editOrganization");
813  }
814  }
global $ilCtrl
Definition: ilias.php:18
Create new PHPExcel object
obj_idprivate

◆ executeCommand()

ilObjSAHSLearningModuleGUI::executeCommand ( )

execute command

Definition at line 36 of file class.ilObjSAHSLearningModuleGUI.php.

References $_GET, $GLOBALS, ilObjectGUI\$ilErr, $info, $ret, ilObjectGUI\getCreationMode(), ilUtil\getImagePath(), ilCommonActionDispatcherGUI\getInstanceFromAjaxCall(), getTemplate(), ilLearningProgressBaseGUI\LP_CONTEXT_REPOSITORY, object, ilObjectGUI\omitLocator(), ilObjectGUI\prepareOutput(), ilLTIProviderObjectSettingGUI\setCustomRolesForSelection(), ilObjectGUI\setLocator(), setSettingsSubTabs(), setTabs(), and ilFileSystemGUI\setUseUploadDirectory().

37  {
38  global $ilAccess, $ilTabs, $ilErr;
39 
40  $GLOBALS["ilLog"]->write("bc:" . $_GET["baseClass"] . "; nc:" . $this->ctrl->getNextClass($this) . "; cmd:" . $this->ctrl->getCmd());
41  if (strtolower($_GET["baseClass"]) == "iladministrationgui" ||
42  strtolower($_GET["baseClass"]) == "ilsahspresentationgui" ||
43  $this->getCreationMode() == true) {
44  $this->prepareOutput();
45  } else {
46  $this->getTemplate();
47  $this->setLocator();
48  $this->setTabs();
49  $this->tpl->setTitleIcon(ilUtil::getImagePath("icon_lm.svg"));
50  $this->tpl->setTitle($this->object->getTitle());
51  }
52 
53  $next_class = $this->ctrl->getNextClass($this);
54  $cmd = $this->ctrl->getCmd();
55 
56  switch ($next_class) {
57  case 'illtiproviderobjectsettinggui':
58  $this->setSettingsSubTabs();
59  $ilTabs->setSubTabActive('lti_provider');
60  $lti_gui = new ilLTIProviderObjectSettingGUI($this->object->getRefId());
61  $lti_gui->setCustomRolesForSelection($GLOBALS['DIC']->rbac()->review()->getLocalRoles($this->object->getRefId()));
62  $lti_gui->offerLTIRolesForSelection(false);
63  $this->ctrl->forwardCommand($lti_gui);
64  break;
65 
66 
67  case 'ilobjectmetadatagui':
68  if (!$ilAccess->checkAccess('write', '', $this->object->getRefId())) {
69  $ilErr->raiseError($this->lng->txt('permission_denied'), $ilErr->WARNING);
70  }
71  include_once 'Services/Object/classes/class.ilObjectMetaDataGUI.php';
72  $md_gui = new ilObjectMetaDataGUI($this->object);
73  $this->ctrl->forwardCommand($md_gui);
74  break;
75 
76  case 'ilexportgui':
77  case 'ilpermissiongui':
78  include_once("Services/AccessControl/classes/class.ilPermissionGUI.php");
79  $perm_gui = new ilPermissionGUI($this);
80  $ret = $this->ctrl->forwardCommand($perm_gui);
81  break;
82 
83  case "ilfilesystemgui":
84  $this->fs_gui = new ilFileSystemGUI($this->object->getDataDirectory());
85  $this->fs_gui->setUseUploadDirectory(true);
86  $this->fs_gui->setTableId("sahsfs" . $this->object->getId());
87  $ret = $this->ctrl->forwardCommand($this->fs_gui);
88  break;
89 
90  case "ilcertificategui":
91  $this->setSettingsSubTabs();
92  $ilTabs->setSubTabActive('certificate');
93  include_once "./Services/Certificate/classes/class.ilCertificateGUI.php";
94  include_once "./Modules/ScormAicc/classes/class.ilSCORMCertificateAdapter.php";
95  $output_gui = new ilCertificateGUI(new ilSCORMCertificateAdapter($this->object));
96  $ret = $this->ctrl->forwardCommand($output_gui);
97  break;
98 
99  case "illearningprogressgui":
100  include_once './Services/Tracking/classes/class.ilLearningProgressGUI.php';
101 
103  $this->ctrl->forwardCommand($new_gui);
104 
105  break;
106 
107  case 'illicensegui':
108  include_once("./Services/License/classes/class.ilLicenseGUI.php");
109  $license_gui = new ilLicenseGUI($this);
110  $ret = $this->ctrl->forwardCommand($license_gui);
111  break;
112 
113  case "ilinfoscreengui":
114  include_once("./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
115 
116  $info = new ilInfoScreenGUI($this);
117  $info->enablePrivateNotes();
118  $info->enableLearningProgress();
119 
120  // add read / back button
121  if ($ilAccess->checkAccess("read", "", $_GET["ref_id"])) {
122  if (!$this->object->getEditable()) {
123  $ilToolbar = $GLOBALS['DIC']->toolbar();
124  $ilToolbar->addButtonInstance($this->object->getViewButton());
125  }
126  }
127 
128  $info->enableNews();
129  if ($ilAccess->checkAccess("write", "", $_GET["ref_id"])) {
130  $info->enableNewsEditing();
131  $news_set = new ilSetting("news");
132  $enable_internal_rss = $news_set->get("enable_rss_for_internal");
133  if ($enable_internal_rss) {
134  $info->setBlockProperty("news", "settings", true);
135  }
136  }
137  // show standard meta data section
138  $info->addMetaDataSections($this->object->getId(), 0, $this->object->getType());
139 
140  // forward the command
141  $this->ctrl->forwardCommand($info);
142  break;
143 
144  case "ilcommonactiondispatchergui":
145  include_once("Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
147  $this->ctrl->forwardCommand($gui);
148  break;
149 
150  case "ilobjstylesheetgui":
151  //$this->addLocations();
152  $this->ctrl->setReturn($this, "properties");
153  $ilTabs->clearTargets();
154  $style_gui = new ilObjStyleSheetGUI("", $this->object->getStyleSheetId(), false, false);
155  $style_gui->omitLocator();
156  if ($cmd == "create" || $_GET["new_type"]=="sty") {
157  $style_gui->setCreationMode(true);
158  }
159  //$ret =& $style_gui->executeCommand();
160 
161  if ($cmd == "confirmedDelete") {
162  $this->object->setStyleSheetId(0);
163  $this->object->update();
164  }
165  $ret = $this->ctrl->forwardCommand($style_gui);
166  if ($cmd == "save" || $cmd == "copyStyle" || $cmd == "importStyle") {
167  $style_id = $ret;
168  $this->object->setStyleSheetId($style_id);
169  $this->object->update();
170  $this->ctrl->redirectByClass("ilobjstylesheetgui", "edit");
171  }
172  break;
173 
174 
175  case 'ilobjectcopygui':
176  $this->prepareOutput();
177  include_once './Services/Object/classes/class.ilObjectCopyGUI.php';
178  $cp = new ilObjectCopyGUI($this);
179  $cp->setType('sahs');
180  $this->ctrl->forwardCommand($cp);
181  break;
182 
183  default:
184  if ($this->object && !$this->object->getEditable()) {
185  $cmd = $this->ctrl->getCmd("properties");
186  } else {
187  $cmd = $this->ctrl->getCmd("frameset");
188  }
189  if ((strtolower($_GET["baseClass"]) == "iladministrationgui" ||
190  $this->getCreationMode() == true) &&
191  $cmd != "frameset") {
192  $cmd.= "Object";
193  }
194 
195  // #9225
196  if ($cmd == "redrawHeaderAction") {
197  $cmd .= "Object";
198  }
199 
200  $ret = $this->$cmd();
201  break;
202  }
203  }
Class ilObjectMetaDataGUI.
Class ilInfoScreenGUI.
GUI class for the workflow of copying objects.
$_GET["client_id"]
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
getTemplate()
output main header (title and locator)
setUseUploadDirectory($a_val)
Set use upload directory.
setCustomRolesForSelection($a_roles)
Set custom roles for mapping to LTI roles.
prepareOutput($a_show_subobjects=true)
prepare output
GUI class for LTI provider object settings.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
omitLocator($a_omit=true)
GUI class to create PDF certificates.
Create new PHPExcel object
obj_idprivate
Class ilObjStyleSheetGUI.
$ret
Definition: parser.php:6
getCreationMode()
get creation mode
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
File System Explorer GUI class.
$info
Definition: index.php:5
Class ilObjUserTrackingGUI.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
setLocator()
set Locator
+ Here is the call graph for this function:

◆ export()

ilObjSAHSLearningModuleGUI::export ( )

Definition at line 864 of file class.ilObjSAHSLearningModuleGUI.php.

References $ilCtrl, ilObjectGUI\$lng, $ret, and ilObjectGUI\$tpl.

865  {
866  global $lng, $ilTabs, $ilCtrl, $tpl;
867  $ilTabs->activateTab("export");
868  include_once("./Services/Export/classes/class.ilExportGUI.php");
869  $exp_gui = new ilExportGUI($this);
870  $ilCtrl->setCmd("");
871  $exp_gui->addFormat("xml");
872  $ret = $this->ctrl->forwardCommand($exp_gui);
873  return $ret;
874  }
global $ilCtrl
Definition: ilias.php:18
Export User Interface Class.
$ret
Definition: parser.php:6

◆ exportModule()

ilObjSAHSLearningModuleGUI::exportModule ( )

Definition at line 876 of file class.ilObjSAHSLearningModuleGUI.php.

References $_GET, $ilDB, $xml, and ilObject\_lookupObjectId().

877  {
878  global $ilDB;
879 
880  $moduleId = ilObject::_lookupObjectId($_GET["ref_id"]);
881  require_once "./Modules/ScormAicc/classes/class.ilScormAiccExporter.php";
882  $exporter = new ilScormAiccExporter();
883  $xml = $exporter->getXmlRepresentation("sahs", "5.1.0", $moduleId);
884  }
$_GET["client_id"]
static _lookupObjectId($a_ref_id)
lookup object id
$xml
Definition: metadata.php:240
global $ilDB
+ Here is the call graph for this function:

◆ getTabs()

ilObjSAHSLearningModuleGUI::getTabs ( )

adds tabs to tab gui object

Parameters
object$tabs_guiilTabsGUI object

Definition at line 616 of file class.ilObjSAHSLearningModuleGUI.php.

References $ilCtrl, ilObjectGUI\$rbacsystem, ilPrivacySettings\_getInstance(), ilLicenseAccess\_isEnabled(), array, ilLearningProgressAccess\checkAccess(), and object.

Referenced by setTabs().

617  {
618  global $rbacsystem, $ilCtrl, $ilHelp;
619 
620  if ($this->ctrl->getCmd() == "delete") {
621  return;
622  }
623 
624  switch ($this->object->getSubType()) {
625  case "scorm2004":
626  $ilHelp->setScreenIdComponent("sahs13");
627  break;
628 
629  case "scorm":
630  $ilHelp->setScreenIdComponent("sahs12");
631  break;
632  }
633 
634  // file system gui tabs
635  // properties
636  $ilCtrl->setParameterByClass("ilfilesystemgui", "resetoffset", 1);
637  $this->tabs_gui->addTarget(
638  "cont_list_files",
639  $this->ctrl->getLinkTargetByClass("ilfilesystemgui", "listFiles"),
640  "",
641  "ilfilesystemgui"
642  );
643  $ilCtrl->setParameterByClass("ilfilesystemgui", "resetoffset", "");
644 
645  // info screen
646  $force_active = ($this->ctrl->getNextClass() == "ilinfoscreengui")
647  ? true
648  : false;
649  $this->tabs_gui->addTarget(
650  "info_short",
651  $this->ctrl->getLinkTargetByClass("ilinfoscreengui", "showSummary"),
652  "",
653  "ilinfoscreengui",
654  "",
655  $force_active
656  );
657 
658  // properties
659  $this->tabs_gui->addTarget(
660  "settings",
661  $this->ctrl->getLinkTarget($this, "properties"),
662  array("", "properties"),
663  get_class($this)
664  );
665 
666  // learning progress and offline mode
667  include_once './Services/Tracking/classes/class.ilLearningProgressAccess.php';
668  if (ilLearningProgressAccess::checkAccess($this->object->getRefId())) {
669  //if scorm && offline_mode activated
670  if ($this->object->getSubType() == "scorm2004" || $this->object->getSubType() == "scorm") {
671  if ($this->object->getOfflineMode() == true) {
672  $this->tabs_gui->addTarget(
673  "offline_mode_manager",
674  $this->ctrl->getLinkTarget($this, "offlineModeManager"),
675  "offlineModeManager",
676  "ilobjscormlearningmodulegui"
677  );
678  }
679  }
680 
681  $this->tabs_gui->addTarget(
682  'learning_progress',
683  $this->ctrl->getLinkTargetByClass(array('illearningprogressgui'), ''),
684  '',
685  array('illplistofobjectsgui','illplistofsettingsgui','illearningprogressgui','illplistofprogressgui')
686  );
687  }
688 
689  // tracking data
690  if ($rbacsystem->checkAccess("read_learning_progress", $this->object->getRefId()) || $rbacsystem->checkAccess("edit_learning_progress", $this->object->getRefId())) {
691  if ($this->object->getSubType() == "scorm2004" || $this->object->getSubType() == "scorm") {
692  include_once('./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
693  $privacy = ilPrivacySettings::_getInstance();
694  if ($privacy->enabledSahsProtocolData()) {
695  $this->tabs_gui->addTarget(
696  "cont_tracking_data",
697  $this->ctrl->getLinkTarget($this, "showTrackingItems"),
698  "showTrackingItems",
699  get_class($this)
700  );
701  }
702  }
703  }
704  include_once("Services/License/classes/class.ilLicenseAccess.php");
705  if ($rbacsystem->checkAccess('edit_permission', $this->object->getRefId())
707  $this->tabs_gui->addTarget(
708  "license",
709  $this->ctrl->getLinkTargetByClass('illicensegui', ''),
710  "",
711  "illicensegui"
712  );
713  }
714 
715  // edit meta
716  include_once "Services/Object/classes/class.ilObjectMetaDataGUI.php";
717  $mdgui = new ilObjectMetaDataGUI($this->object);
718  $mdtab = $mdgui->getTab();
719  if ($mdtab) {
720  $this->tabs_gui->addTarget(
721  "meta_data",
722  $mdtab,
723  "",
724  "ilmdeditorgui"
725  );
726  }
727 
728  // export
729  if ($rbacsystem->checkAccess("edit_permission", "", $this->object->getRefId())) {
730  $this->tabs_gui->addTarget(
731  "export",
732  $this->ctrl->getLinkTarget($this, "export"),
733  array("", "export"),
734  get_class($this)
735  );
736  }
737 
738  // perm
739  if ($rbacsystem->checkAccess('edit_permission', $this->object->getRefId())) {
740  $this->tabs_gui->addTarget(
741  "perm_settings",
742  $this->ctrl->getLinkTargetByClass(array(get_class($this),'ilpermissiongui'), "perm"),
743  array("perm","info","owner"),
744  'ilpermissiongui'
745  );
746  }
747  }
Class ilObjectMetaDataGUI.
static _isEnabled()
Check, if licencing is enabled This check is called from the ilAccessHandler class.
global $ilCtrl
Definition: ilias.php:18
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
Create styles array
The data for the language used.
Create new PHPExcel object
obj_idprivate
static _getInstance()
Get instance of ilPrivacySettings.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getTemplate()

ilObjSAHSLearningModuleGUI::getTemplate ( )

output main header (title and locator)

Definition at line 580 of file class.ilObjSAHSLearningModuleGUI.php.

References ilObjectGUI\$lng.

Referenced by executeCommand(), and ilObjSCORM2004LearningModuleGUI\executeCommand().

581  {
582  global $lng;
583 
584  $this->tpl->getStandardTemplate();
585  }
+ Here is the caller graph for this function:

◆ getType()

ilObjSAHSLearningModuleGUI::getType ( )

Definition at line 886 of file class.ilObjSAHSLearningModuleGUI.php.

887  {
888  return "sahs";
889  }

◆ info()

ilObjSAHSLearningModuleGUI::info ( )

permission form

Definition at line 564 of file class.ilObjSAHSLearningModuleGUI.php.

565  {
566  $this->infoObject();
567  }

◆ initCreationForm()

ilObjSAHSLearningModuleGUI::initCreationForm ( )

Init form.

Parameters
int$a_modeEdit Mode

Definition at line 255 of file class.ilObjSAHSLearningModuleGUI.php.

References $ilCtrl, ilObjectGUI\$lng, ilFrameTargetInfo\_getFrame(), ilTextAreaInputGUI\setCols(), ilTextInputGUI\setSize(), and ilObject\TITLE_LENGTH.

Referenced by initCreationForms().

256  {
257  global $lng, $ilCtrl;
258 
259  include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
260  $this->form = new ilPropertyFormGUI();
261 
262  // title
263  $ti = new ilTextInputGUI($this->lng->txt("title"), "title");
264  $ti->setSize(min(40, ilObject::TITLE_LENGTH));
265  $ti->setMaxLength(ilObject::TITLE_LENGTH);
266  $ti->setRequired(true);
267  $this->form->addItem($ti);
268 
269  // text area
270  $ta = new ilTextAreaInputGUI($this->lng->txt("description"), "desc");
271  $ta->setCols(40);
272  $ta->setRows(2);
273  $this->form->addItem($ta);
274 
275 
276  $this->form->addCommandButton("save", $lng->txt("sahs_add"));
277  $this->form->addCommandButton("cancel", $lng->txt("cancel"));
278 
279  $this->form->setTitle($lng->txt("scorm_new"));
280  $this->form->setFormAction($ilCtrl->getFormAction($this));
281  $this->form->setTarget(ilFrameTargetInfo::_getFrame("MainContent"));
282  }
This class represents a property form user interface.
const TITLE_LENGTH
max length of object title
global $ilCtrl
Definition: ilias.php:18
setSize($a_size)
Set Size.
This class represents a text property in a property form.
static _getFrame($a_class, $a_type='')
Get content frame name.
This class represents a text area property in a property form.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initCreationForms()

ilObjSAHSLearningModuleGUI::initCreationForms (   $a_new_type)

no manual SCORM creation, only import at the time

Definition at line 235 of file class.ilObjSAHSLearningModuleGUI.php.

References $form, array, ilObjectGUI\fillCloneTemplate(), initCreationForm(), and initUploadForm().

236  {
237  $forms = array();
238 
239  $this->initUploadForm();
240  $forms[self::CFORM_IMPORT] = $this->form;
241 
242  $this->initCreationForm();
243  $forms[self::CFORM_NEW] = $this->form;
244 
245  $forms[self::CFORM_CLONE] = $this->fillCloneTemplate(null, $a_new_type);
246 
247  return $forms;
248  }
fillCloneTemplate($a_tpl_varname, $a_type)
Fill object clone template This method can be called from any object GUI class that wants to offer ob...
if(isset($_POST['submit'])) $form
Create styles array
The data for the language used.
+ Here is the call graph for this function:

◆ initUploadForm()

ilObjSAHSLearningModuleGUI::initUploadForm ( )

Init upload form.

Definition at line 287 of file class.ilObjSAHSLearningModuleGUI.php.

References $file, $files, $ilCtrl, ilObjectGUI\$lng, $options, $si, ilFrameTargetInfo\_getFrame(), ilUploadFiles\_getUploadDirectory(), ilUploadFiles\_getUploadFiles(), ilRadioOption\addSubItem(), array, ilSelectInputGUI\setOptions(), ilFormPropertyGUI\setRequired(), ilCheckboxInputGUI\setValue(), and ilRadioGroupInputGUI\setValue().

Referenced by initCreationForms().

288  {
289  global $lng, $ilCtrl;
290 
291  include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
292  $this->form = new ilPropertyFormGUI();
293 
294  // type selection
295  $options = array(
296  "scorm2004" => $lng->txt("lm_type_scorm2004"),
297  "scorm" => $lng->txt("lm_type_scorm"),
298  "exportFile" => $lng->txt("sahs_export_file")
299  );
300  $si = new ilSelectInputGUI($this->lng->txt("type"), "sub_type");
301  $si->setOptions($options);
302  $this->form->addItem($si);
303 
304  // input file
305  $fi = new ilFileInputGUI($this->lng->txt("select_file"), "scormfile");
306  $fi->setRequired(true);
307  $this->form->addItem($fi);
308 
309  // todo "uploaded file"
310  // todo wysiwyg editor removement
311 
312  include_once 'Services/FileSystem/classes/class.ilUploadFiles.php';
314  $options = array();
315  $fi->setRequired(false);
317  $options[""] = $this->lng->txt("cont_select_from_upload_dir");
318  foreach ($files as $file) {
319  $file = htmlspecialchars($file, ENT_QUOTES, "utf-8");
320  $options[$file] = $file;
321  }
322  //
323  $si = new ilSelectInputGUI($this->lng->txt("cont_uploaded_file"), "uploaded_file");
324  $si->setOptions($options);
325  $this->form->addItem($si);
326  }
327 
328 
329  // validate file
330  $cb = new ilCheckboxInputGUI($this->lng->txt("cont_validate_file"), "validate");
331  $cb->setValue("y");
332  //$cb->setChecked(true);
333  $this->form->addItem($cb);
334 
335  // import for editing
336  $cb = new ilCheckboxInputGUI($this->lng->txt("sahs_authoring_mode"), "editable");
337  $cb->setValue("y");
338  $cb->setInfo($this->lng->txt("sahs_authoring_mode_info"));
339  $this->form->addItem($cb);
340 
341  //
342  $radg = new ilRadioGroupInputGUI($lng->txt("sahs_sequencing"), "import_sequencing");
343  $radg->setValue(0);
344  $op1 = new ilRadioOption($lng->txt("sahs_std_sequencing"), 0, $lng->txt("sahs_std_sequencing_info"));
345  $radg->addOption($op1);
346  $op1 = new ilRadioOption($lng->txt("sahs_import_sequencing"), 1, $lng->txt("sahs_import_sequencing_info"));
347  $radg->addOption($op1);
348  $cb->addSubItem($radg);
349 
350 
351  $this->form->addCommandButton("upload", $lng->txt("import"));
352  $this->form->addCommandButton("cancel", $lng->txt("cancel"));
353 
354  $this->form->setTitle($lng->txt("import_sahs"));
355  $this->form->setFormAction($ilCtrl->getFormAction($this, "upload"));
356  $this->form->setTarget(ilFrameTargetInfo::_getFrame("MainContent"));
357  }
$files
Definition: add-vimline.php:18
This class represents an option in a radio group.
This class represents a selection list property in a property form.
This class represents a property form user interface.
This class represents a file property in a property form.
This class represents a checkbox property in a property form.
static _getUploadDirectory()
Get the directory with uploaded files.
static _getUploadFiles()
Get a list of readable files in the upload directory.
global $ilCtrl
Definition: ilias.php:18
This class represents a property in a property form.
addSubItem($a_item)
Add Subitem.
setValue($a_value)
Set Value.
setOptions($a_options)
Set Options.
Create styles array
The data for the language used.
static _getFrame($a_class, $a_type='')
Get content frame name.
if(!file_exists("$old.txt")) if($old===$new) if(file_exists("$new.txt")) $file
setRequired($a_required)
Set Required.
if(!isset($_REQUEST['ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
Definition: as_login.php:20
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ owner()

ilObjSAHSLearningModuleGUI::owner ( )

show owner of learning module

Definition at line 572 of file class.ilObjSAHSLearningModuleGUI.php.

573  {
574  $this->ownerObject();
575  }

◆ properties()

ilObjSAHSLearningModuleGUI::properties ( )

module properties

Definition at line 217 of file class.ilObjSAHSLearningModuleGUI.php.

218  {
219  }

◆ saveObject()

ilObjSAHSLearningModuleGUI::saveObject ( )

save new learning module to db

Definition at line 535 of file class.ilObjSAHSLearningModuleGUI.php.

References $_GET, $_POST, array, ilUtil\sendInfo(), and ilUtil\stripSlashes().

536  {
537  if (trim($_POST["title"]) == "") {
538  $this->ilias->raiseError($this->lng->txt("msg_no_title"), $this->ilias->error_obj->MESSAGE);
539  }
540 
541  include_once("./Modules/Scorm2004/classes/class.ilObjSCORM2004LearningModule.php");
542  $newObj = new ilObjSCORM2004LearningModule();
543  $newObj->setTitle(ilUtil::stripSlashes($_POST["title"]));
544  $newObj->setSubType("scorm2004");
545  $newObj->setEditable(true);
546  $newObj->setDescription(ilUtil::stripSlashes($_POST["desc"]));
547  $newObj->create();
548  $newObj->createReference();
549  $newObj->putInTree($_GET["ref_id"]);
550  $newObj->setPermissions($_GET["ref_id"]);
551  $newObj->createDataDirectory();
552  $newObj->createScorm2004Tree();
553  ilUtil::sendInfo($this->lng->txt($newObj->getType() . "_added"), true);
554 
555  // #7375
556  $this->ctrl->setParameterByClass("ilObjSCORM2004LearningModuleGUI", "ref_id", $newObj->getRefId());
557  $this->ctrl->redirectByClass(array("ilSAHSEditGUI", "ilObjSCORM2004LearningModuleGUI"), "showOrganization");
558  }
$_GET["client_id"]
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
redirection script todo: (a better solution should control the processing via a xml file) ...
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
Create styles array
The data for the language used.
Class ilObjSCORM2004LearningModule.
$_POST["username"]
+ Here is the call graph for this function:

◆ saveProperties()

ilObjSAHSLearningModuleGUI::saveProperties ( )

save properties

Definition at line 224 of file class.ilObjSAHSLearningModuleGUI.php.

225  {
226  }

◆ setSettingsSubTabs()

ilObjSAHSLearningModuleGUI::setSettingsSubTabs ( )

set Tabs for settings

Definition at line 819 of file class.ilObjSAHSLearningModuleGUI.php.

References $ilCtrl, ilObjectGUI\$lng, array, ilCertificate\isActive(), and object.

Referenced by executeCommand(), ilObjSCORMLearningModuleGUI\newModuleVersion(), ilObjSCORMLearningModuleGUI\properties(), and ilObjSCORM2004LearningModuleGUI\properties().

820  {
821  global $lng, $ilTabs, $ilCtrl;
822 
823  $ilTabs->addSubTabTarget(
824  "cont_settings",
825  $this->ctrl->getLinkTarget($this, "properties"),
826  array("edit", ""),
827  get_class($this)
828  );
829 
830  $ilTabs->addSubTabTarget(
831  "cont_sc_new_version",
832  $this->ctrl->getLinkTarget($this, "newModuleVersion"),
833  array("edit", ""),
834  get_class($this)
835  );
836 
837  include_once "Services/Certificate/classes/class.ilCertificate.php";
838  if (ilCertificate::isActive()) {
839  // // create and insert object in objecttree
840  // $ilTabs->addSubTabTarget("certificate",
841  // $this->ctrl->getLinkTarget($this, "certificate"),
842  // array("certificate", "certificateEditor", "certificateRemoveBackground", "certificateSave",
843  // "certificatePreview", "certificateDelete", "certificateUpload", "certificateImport")
844  // );
845  $ilTabs->addSubTabTarget(
846  "certificate",
847  $this->ctrl->getLinkTargetByClass("ilcertificategui", "certificateeditor"),
848  "",
849  "ilcertificategui"
850  );
851  }
852 
853  $lti_settings = new ilLTIProviderObjectSettingGUI($this->object->getRefId());
854  if ($lti_settings->hasSettingsAccess()) {
855  $ilTabs->addSubTabTarget(
856  'lti_provider',
857  $this->ctrl->getLinkTargetByClass(ilLTIProviderObjectSettingGUI::class)
858  );
859  }
860 
861  $ilTabs->setTabActive('settings');
862  }
global $ilCtrl
Definition: ilias.php:18
GUI class for LTI provider object settings.
Create styles array
The data for the language used.
Create new PHPExcel object
obj_idprivate
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setTabs()

ilObjSAHSLearningModuleGUI::setTabs ( )

output tabs

Definition at line 590 of file class.ilObjSAHSLearningModuleGUI.php.

References $_GET, ilUtil\getImagePath(), getTabs(), and object.

Referenced by executeCommand(), and ilObjSCORM2004LearningModuleGUI\executeCommand().

591  {
592  $this->tpl->setTitleIcon(ilUtil::getImagePath("icon_lm.svg"));
593  $this->tpl->setTitle($this->object->getTitle());
594  if (strtolower($_GET["baseClass"]) == "ilsahseditgui") {
595  $this->getTabs($this->tabs_gui);
596  }
597  //if(strtolower($_GET["baseClass"]) == "ilsahseditgui") $this->getTabs();
598  }
$_GET["client_id"]
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
Create new PHPExcel object
obj_idprivate
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ upload()

ilObjSAHSLearningModuleGUI::upload ( )

Definition at line 525 of file class.ilObjSAHSLearningModuleGUI.php.

References uploadObject().

526  {
527  $this->uploadObject();
528  }
uploadObject()
display status information or report errors messages in case of error
+ Here is the call graph for this function:

◆ uploadObject()

ilObjSAHSLearningModuleGUI::uploadObject ( )

display status information or report errors messages in case of error

public

Definition at line 365 of file class.ilObjSAHSLearningModuleGUI.php.

References $_GET, $_POST, $file, $name, ilObjectGUI\$rbacsystem, $source, $title, ilUploadFiles\_checkUploadFile(), ilUploadFiles\_copyUploadFile(), ilObject\_writeTitle(), ilUtil\delDir(), ilUtil\getWebspaceDir(), ilUtil\redirect(), ilFileUtils\rename(), ilUtil\renameExecutables(), ilUtil\sendInfo(), time, and ilUtil\unzip().

Referenced by upload().

366  {
367  global $_FILES, $rbacsystem;
368 
369  include_once 'Services/FileSystem/classes/class.ilUploadFiles.php';
370 
371  // check create permission
372  if (!$rbacsystem->checkAccess("create", $_GET["ref_id"], "sahs")) {
373  $this->ilias->raiseError($this->lng->txt("no_create_permission"), $this->ilias->error_obj->WARNING);
374  } elseif ($_FILES["scormfile"]["name"]) {
375  // check if file was uploaded
376  $source = $_FILES["scormfile"]["tmp_name"];
377  if (($source == 'none') || (!$source)) {
378  $this->ilias->raiseError($this->lng->txt("msg_no_file"), $this->ilias->error_obj->MESSAGE);
379  }
380  // get_cfg_var("upload_max_filesize"); // get the may filesize form t he php.ini
381  switch ($_FILES["scormfile"]["error"]) {
382  case UPLOAD_ERR_INI_SIZE:
383  $this->ilias->raiseError($this->lng->txt("err_max_file_size_exceeds"), $this->ilias->error_obj->MESSAGE);
384  break;
385 
386  case UPLOAD_ERR_FORM_SIZE:
387  $this->ilias->raiseError($this->lng->txt("err_max_file_size_exceeds"), $this->ilias->error_obj->MESSAGE);
388  break;
389 
390  case UPLOAD_ERR_PARTIAL:
391  $this->ilias->raiseError($this->lng->txt("err_partial_file_upload"), $this->ilias->error_obj->MESSAGE);
392  break;
393 
394  case UPLOAD_ERR_NO_FILE:
395  $this->ilias->raiseError($this->lng->txt("err_no_file_uploaded"), $this->ilias->error_obj->MESSAGE);
396  break;
397  }
398 
399  $file = pathinfo($_FILES["scormfile"]["name"]);
400  } elseif ($_POST["uploaded_file"]) {
401  // check if the file is in the upload directory and readable
402  if (!ilUploadFiles::_checkUploadFile($_POST["uploaded_file"])) {
403  $this->ilias->raiseError($this->lng->txt("upload_error_file_not_found"), $this->ilias->error_obj->MESSAGE);
404  }
405 
406  $file = pathinfo($_POST["uploaded_file"]);
407  } else {
408  $this->ilias->raiseError($this->lng->txt("msg_no_file"), $this->ilias->error_obj->MESSAGE);
409  }
410 
411  $name = substr($file["basename"], 0, strlen($file["basename"]) - strlen($file["extension"]) - 1);
412  if ($name == "") {
413  $name = $this->lng->txt("no_title");
414  }
415 
416  $subType = $_POST["sub_type"];
417  // create and insert object in objecttree
418  switch ($subType) {
419  case "scorm2004":
420  include_once("./Modules/Scorm2004/classes/class.ilObjSCORM2004LearningModule.php");
421  $newObj = new ilObjSCORM2004LearningModule();
422  $newObj->setEditable($_POST["editable"]=='y');
423  $newObj->setImportSequencing($_POST["import_sequencing"]);
424  $newObj->setSequencingExpertMode($_POST["import_sequencing"]);
425  break;
426 
427  case "scorm":
428  include_once("./Modules/ScormAicc/classes/class.ilObjSCORMLearningModule.php");
429  $newObj = new ilObjSCORMLearningModule();
430  break;
431 
432  case "exportFile":
433  $sFile = $_FILES["scormfile"];
434  $fType = $sFile["type"];
435  $cFileTypes = ["application/zip", "application/x-compressed","application/x-zip-compressed"];
436  if (in_array($fType, $cFileTypes)) {
437  $timeStamp = time();
438  $tempFile = $sFile["tmp_name"];
439  $lmDir = ilUtil::getWebspaceDir("filesystem") . "/lm_data/";
440  $lmTempDir = $lmDir . $timeStamp;
441  if (!file_exists($lmTempDir)) {
442  mkdir($lmTempDir, 0755, true);
443  }
444  $zar = new ZipArchive();
445  $zar->open($tempFile);
446  $zar->extractTo($lmTempDir);
447  $zar->close();
448  require_once "./Modules/ScormAicc/classes/class.ilScormAiccImporter.php";
449  $importer = new ilScormAiccImporter();
450  $import_dirname = $lmTempDir . '/' . substr($_FILES["scormfile"]["name"], 0, strlen($a_filename) - 4);
451  if ($importer->importXmlRepresentation("sahs", null, $import_dirname, "") == true) {
452  $importFromXml = true;
453  }
454  $mprops = [];
455  $mprops = $importer->moduleProperties;
456  $subType = $mprops["SubType"][0];
457  if ($subType == "scorm") {
458  include_once("./Modules/ScormAicc/classes/class.ilObjSCORMLearningModule.php");
459  $newObj = new ilObjSCORMLearningModule();
460  } else {
461  include_once("./Modules/Scorm2004/classes/class.ilObjSCORM2004LearningModule.php");
462  $newObj = new ilObjSCORM2004LearningModule();
463  // $newObj->setEditable($_POST["editable"]=='y');
464  // $newObj->setImportSequencing($_POST["import_sequencing"]);
465  // $newObj->setSequencingExpertMode($_POST["import_sequencing"]);
466  }
467  }
468  break;
469  }
470 
471  $newObj->setTitle($name);
472  $newObj->setSubType($subType);
473  $newObj->setDescription("");
474  $newObj->create(true);
475  $newObj->createReference();
476  $newObj->putInTree($_GET["ref_id"]);
477  $newObj->setPermissions($_GET["ref_id"]);
478 
479  // create data directory, copy file to directory
480  $newObj->createDataDirectory();
481 
482  if ($_FILES["scormfile"]["name"]) {
483  if ($importFromXml) {
484  $scormFile = "content.zip";
485  $scormFilePath = $import_dirname . "/" . $scormFile;
486  $file_path = $newObj->getDataDirectory() . "/" . $scormFile;
487  ilFileUtils::rename($scormFilePath, $file_path);
488  ilUtil::unzip($file_path);
489  unlink($file_path);
490  ilUtil::delDir($lmTempDir, false);
491  } else {
492  // copy uploaded file to data directory
493  $file_path = $newObj->getDataDirectory() . "/" . $_FILES["scormfile"]["name"];
494  ilUtil::moveUploadedFile(
495  $_FILES["scormfile"]["tmp_name"],
496  $_FILES["scormfile"]["name"],
497  $file_path
498  );
499  ilUtil::unzip($file_path);
500  }
501  } else {
502  // copy uploaded file to data directory
503  $file_path = $newObj->getDataDirectory() . "/" . $_POST["uploaded_file"];
504  ilUploadFiles::_copyUploadFile($_POST["uploaded_file"], $file_path);
505  ilUtil::unzip($file_path);
506  }
507  ilUtil::renameExecutables($newObj->getDataDirectory());
508 
509  $title = $newObj->readObject();
510  if ($title != "") {
511  ilObject::_writeTitle($newObj->getId(), $title);
512  }
513 
514  //auto set learning progress settings
515  $newObj->setLearningProgressSettingsAtUpload();
516 
517  if ($importFromXml) {
518  $importer->writeData("sahs", "5.1.0", $newObj->getId());
519  }
520 
521  ilUtil::sendInfo($this->lng->txt($newObj->getType() . "_added"), true);
522  ilUtil::redirect("ilias.php?baseClass=ilSAHSEditGUI&ref_id=" . $newObj->getRefId());
523  }
$_GET["client_id"]
static unzip($a_file, $overwrite=false, $a_flat=false)
unzip file
static _writeTitle($a_obj_id, $a_title)
write title to db (static)
static rename($a_source, $a_target)
Rename a file.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
if($format !==null) $name
Definition: metadata.php:146
redirection script todo: (a better solution should control the processing via a xml file) ...
static renameExecutables($a_dir)
Rename uploaded executables for security reasons.
Class ilObjSCORM2004LearningModule.
Add data(end) time
Method that wraps PHPs time in order to allow simulations with the workflow.
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.
$source
Definition: linkback.php:22
static redirect($a_script)
static _copyUploadFile($a_file, $a_target, $a_raise_errors=true)
copy an uploaded file to the target directory (including virus check)
static delDir($a_dir, $a_clean_only=false)
removes a dir and all its content (subdirs and files) recursively
static getWebspaceDir($mode="filesystem")
get webspace directory
Class ilObjSCORMLearningModule.
$_POST["username"]
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ viewObject()

ilObjSAHSLearningModuleGUI::viewObject ( )

Definition at line 206 of file class.ilObjSAHSLearningModuleGUI.php.

References $_GET.

207  {
208  if (strtolower($_GET["baseClass"]) == "iladministrationgui") {
209  parent::viewObject();
210  } else {
211  }
212  }
$_GET["client_id"]

The documentation for this class was generated from the following file: