ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
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...
 
 redirectAfterCreation ()
 Redirect after creation, see https://docu.ilias.de/goto_docu_wiki_wpage_5035_1357.html. 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
 getObjectService ()
 Get object service. More...
 
 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
 
 $tmp_import_dir
 
 $tabs_gui = null
 
 $ctrl
 
 $object_service
 

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 $DIC, and ilObjectGUI\$lng.

25  {
26  global $DIC;
27  $lng = $DIC['lng'];
28 
29  $lng->loadLanguageModule("content");
30  $this->type = "sahs";
31  parent::__construct($a_data, $a_id, $a_call_by_reference, false);
32  }
global $DIC
Definition: saml.php:7

Member Function Documentation

◆ _goto()

static ilObjSAHSLearningModuleGUI::_goto (   $a_target)
static

goto target course

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

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

765  {
766  global $DIC;
767  $ilAccess = $DIC['ilAccess'];
768  $ilErr = $DIC['ilErr'];
769  $lng = $DIC['lng'];
770 
771  $parts = explode("_", $a_target);
772 
773  if ($ilAccess->checkAccess("write", "", $parts[0])) {
774  $_GET["cmd"] = "";
775  $_GET["baseClass"] = "ilSAHSEditGUI";
776  $_GET["ref_id"] = $parts[0];
777  $_GET["obj_id"] = $parts[1];
778  include("ilias.php");
779  exit;
780  }
781  if ($ilAccess->checkAccess("visible", "", $parts[0]) || $ilAccess->checkAccess("read", "", $parts[0])) {
782  $_GET["cmd"] = "infoScreen";
783  $_GET["baseClass"] = "ilSAHSPresentationGUI";
784  $_GET["ref_id"] = $parts[0];
785  include("ilias.php");
786  exit;
787  } else {
788  if ($ilAccess->checkAccess("read", "", ROOT_FOLDER_ID)) {
789  ilUtil::sendInfo(sprintf(
790  $lng->txt("msg_no_perm_read_item"),
792  ), true);
794  }
795  }
796 
797  $ilErr->raiseError($lng->txt("msg_no_perm_read"), $ilErr->FATAL);
798  }
global $DIC
Definition: saml.php:7
$_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)
exit
Definition: backend.php:16
+ Here is the call graph for this function:

◆ addLocatorItems()

ilObjSAHSLearningModuleGUI::addLocatorItems ( )

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

References $_GET, and $DIC.

801  {
802  global $DIC;
803  $ilLocator = $DIC['ilLocator'];
804 
805  if (is_object($this->object)) {
806  $ilLocator->addItem(
807  $this->object->getTitle(),
808  $this->ctrl->getLinkTargetByClass("ilinfoscreengui", "showSummary"),
809  "",
810  $_GET["ref_id"]
811  );
812  }
813  }
global $DIC
Definition: saml.php:7
$_GET["client_id"]

◆ certificate()

ilObjSAHSLearningModuleGUI::certificate ( )

Shows the certificate editor.

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

622  {
623  $guiFactory = new ilCertificateGUIFactory();
624  $output_gui = $guiFactory->create($this->object);
625 
626  $output_gui->certificateEditor();
627  }

◆ editContent()

ilObjSAHSLearningModuleGUI::editContent ( )

List files.

Parameters

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

References $DIC, and $ilCtrl.

822  {
823  global $DIC;
824  $ilCtrl = $DIC['ilCtrl'];
825 
826  if (!$this->object->getEditable()) {
827  $ilCtrl->redirectByClass("ilfilesystemgui", "listFiles");
828  } else {
829  $ilCtrl->redirectByClass("ilobjscorm2004learningmodulegui", "editOrganization");
830  }
831  }
global $DIC
Definition: saml.php:7
global $ilCtrl
Definition: ilias.php:18

◆ executeCommand()

ilObjSAHSLearningModuleGUI::executeCommand ( )

execute command

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

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

38  {
39  global $DIC;
40  $ilAccess = $DIC['ilAccess'];
41  $ilTabs = $DIC['ilTabs'];
42  $ilErr = $DIC['ilErr'];
43 
44  $GLOBALS['DIC']["ilLog"]->write("bc:" . $_GET["baseClass"] . "; nc:" . $this->ctrl->getNextClass($this) . "; cmd:" . $this->ctrl->getCmd());
45  if (strtolower($_GET["baseClass"]) == "iladministrationgui" ||
46  strtolower($_GET["baseClass"]) == "ilsahspresentationgui" ||
47  $this->getCreationMode() == true) {
48  $this->prepareOutput();
49  } else {
50  $this->getTemplate();
51  $this->setLocator();
52  $this->setTabs();
53  $this->tpl->setTitleIcon(ilUtil::getImagePath("icon_lm.svg"));
54  $this->tpl->setTitle($this->object->getTitle());
55  }
56 
57  $next_class = $this->ctrl->getNextClass($this);
58  $cmd = $this->ctrl->getCmd();
59 
60  switch ($next_class) {
61  case 'illtiproviderobjectsettinggui':
62  $this->setSettingsSubTabs();
63  $ilTabs->setSubTabActive('lti_provider');
64  $lti_gui = new ilLTIProviderObjectSettingGUI($this->object->getRefId());
65  $lti_gui->setCustomRolesForSelection($GLOBALS['DIC']->rbac()->review()->getLocalRoles($this->object->getRefId()));
66  $lti_gui->offerLTIRolesForSelection(false);
67  $this->ctrl->forwardCommand($lti_gui);
68  break;
69 
70 
71  case 'ilobjectmetadatagui':
72  if (!$ilAccess->checkAccess('write', '', $this->object->getRefId())) {
73  $ilErr->raiseError($this->lng->txt('permission_denied'), $ilErr->WARNING);
74  }
75  include_once 'Services/Object/classes/class.ilObjectMetaDataGUI.php';
76  $md_gui = new ilObjectMetaDataGUI($this->object);
77  $this->ctrl->forwardCommand($md_gui);
78  break;
79 
80  case 'ilexportgui':
81  case 'ilpermissiongui':
82  include_once("Services/AccessControl/classes/class.ilPermissionGUI.php");
83  $perm_gui = new ilPermissionGUI($this);
84  $ret = $this->ctrl->forwardCommand($perm_gui);
85  break;
86 
87  case "ilfilesystemgui":
88  $this->fs_gui = new ilFileSystemGUI($this->object->getDataDirectory());
89  $this->fs_gui->setUseUploadDirectory(true);
90  $this->fs_gui->setTableId("sahsfs" . $this->object->getId());
91  $ret = $this->ctrl->forwardCommand($this->fs_gui);
92  break;
93 
94  case "ilcertificategui":
95  $this->setSettingsSubTabs();
96  $ilTabs->setSubTabActive('certificate');
97 
98  $guiFactory = new ilCertificateGUIFactory();
99  $output_gui = $guiFactory->create($this->object);
100 
101  $ret = $this->ctrl->forwardCommand($output_gui);
102  break;
103 
104  case "illearningprogressgui":
105  include_once './Services/Tracking/classes/class.ilLearningProgressGUI.php';
106 
107  $new_gui = new ilLearningProgressGUI(ilLearningProgressGUI::LP_CONTEXT_REPOSITORY, $this->object->getRefId());
108  $this->ctrl->forwardCommand($new_gui);
109 
110  break;
111 
112  case "ilinfoscreengui":
113  include_once("./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
114 
115  $info = new ilInfoScreenGUI($this);
116  $info->enablePrivateNotes();
117  $info->enableLearningProgress();
118 
119  // add read / back button
120  if ($ilAccess->checkAccess("read", "", $_GET["ref_id"])) {
121  if (!$this->object->getEditable()) {
122  $ilToolbar = $GLOBALS['DIC']->toolbar();
123  $ilToolbar->addButtonInstance($this->object->getViewButton());
124  }
125  }
126 
127  $info->enableNews();
128  if ($ilAccess->checkAccess("write", "", $_GET["ref_id"])) {
129  $info->enableNewsEditing();
130  $news_set = new ilSetting("news");
131  $enable_internal_rss = $news_set->get("enable_rss_for_internal");
132  if ($enable_internal_rss) {
133  $info->setBlockProperty("news", "settings", true);
134  }
135  }
136  // show standard meta data section
137  $info->addMetaDataSections($this->object->getId(), 0, $this->object->getType());
138 
139  // forward the command
140  $this->ctrl->forwardCommand($info);
141  break;
142 
143  case "ilcommonactiondispatchergui":
144  include_once("Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
146  $this->ctrl->forwardCommand($gui);
147  break;
148 
149  case "ilobjstylesheetgui":
150  //$this->addLocations();
151  $this->ctrl->setReturn($this, "properties");
152  $ilTabs->clearTargets();
153  $style_gui = new ilObjStyleSheetGUI("", $this->object->getStyleSheetId(), false, false);
154  $style_gui->omitLocator();
155  if ($cmd == "create" || $_GET["new_type"] == "sty") {
156  $style_gui->setCreationMode(true);
157  }
158  //$ret =& $style_gui->executeCommand();
159 
160  if ($cmd == "confirmedDelete") {
161  $this->object->setStyleSheetId(0);
162  $this->object->update();
163  }
164  $ret = $this->ctrl->forwardCommand($style_gui);
165  if ($cmd == "save" || $cmd == "copyStyle" || $cmd == "importStyle") {
166  $style_id = $ret;
167  $this->object->setStyleSheetId($style_id);
168  $this->object->update();
169  $this->ctrl->redirectByClass("ilobjstylesheetgui", "edit");
170  }
171  break;
172 
173 
174  case 'ilobjectcopygui':
175  $this->prepareOutput();
176  include_once './Services/Object/classes/class.ilObjectCopyGUI.php';
177  $cp = new ilObjectCopyGUI($this);
178  $cp->setType('sahs');
179  $this->ctrl->forwardCommand($cp);
180  break;
181 
182  default:
183  if ($this->object && !$this->object->getEditable()) {
184  $cmd = $this->ctrl->getCmd("properties");
185  } else {
186  $cmd = $this->ctrl->getCmd("frameset");
187  }
188  if ((strtolower($_GET["baseClass"]) == "iladministrationgui" ||
189  $this->getCreationMode() == true) &&
190  $cmd != "frameset") {
191  $cmd .= "Object";
192  }
193 
194  // #9225
195  if ($cmd == "redrawHeaderAction") {
196  $cmd .= "Object";
197  }
198 
199  $ret = $this->$cmd();
200  break;
201  }
202  }
Class ilObjectMetaDataGUI.
Class ilInfoScreenGUI.
GUI class for the workflow of copying objects.
global $DIC
Definition: saml.php:7
$_GET["client_id"]
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)
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
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
setLocator()
set Locator
+ Here is the call graph for this function:

◆ export()

ilObjSAHSLearningModuleGUI::export ( )

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

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

885  {
886  global $DIC;
887  $lng = $DIC['lng'];
888  $ilTabs = $DIC['ilTabs'];
889  $ilCtrl = $DIC['ilCtrl'];
890  $tpl = $DIC['tpl'];
891  $ilTabs->activateTab("export");
892  include_once("./Services/Export/classes/class.ilExportGUI.php");
893  $exp_gui = new ilExportGUI($this);
894  $ilCtrl->setCmd("");
895  $exp_gui->addFormat("xml");
896  $ret = $this->ctrl->forwardCommand($exp_gui);
897  return $ret;
898  }
global $DIC
Definition: saml.php:7
global $ilCtrl
Definition: ilias.php:18
Export User Interface Class.
$ret
Definition: parser.php:6

◆ exportModule()

ilObjSAHSLearningModuleGUI::exportModule ( )

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

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

901  {
902  global $DIC;
903  $ilDB = $DIC['ilDB'];
904 
905  $moduleId = ilObject::_lookupObjectId($_GET["ref_id"]);
906  require_once "./Modules/ScormAicc/classes/class.ilScormAiccExporter.php";
907  $exporter = new ilScormAiccExporter();
908  $xml = $exporter->getXmlRepresentation("sahs", "5.1.0", $moduleId);
909  }
global $DIC
Definition: saml.php:7
$_GET["client_id"]
static _lookupObjectId($a_ref_id)
lookup object id
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 634 of file class.ilObjSAHSLearningModuleGUI.php.

References $DIC, $ilCtrl, ilPrivacySettings\_getInstance(), and ilLearningProgressAccess\checkAccess().

Referenced by setTabs().

635  {
636  global $DIC;
637  $ilCtrl = $DIC['ilCtrl'];
638  $ilHelp = $DIC['ilHelp'];
639  $ilAccess = $DIC->access();
640 
641  if ($this->ctrl->getCmd() == "delete") {
642  return;
643  }
644 
645  switch ($this->object->getSubType()) {
646  case "scorm2004":
647  $ilHelp->setScreenIdComponent("sahs13");
648  break;
649 
650  case "scorm":
651  $ilHelp->setScreenIdComponent("sahs12");
652  break;
653  }
654 
655  // file system gui tabs
656  // properties
657  $ilCtrl->setParameterByClass("ilfilesystemgui", "resetoffset", 1);
658  $this->tabs_gui->addTarget(
659  "cont_list_files",
660  $this->ctrl->getLinkTargetByClass("ilfilesystemgui", "listFiles"),
661  "",
662  "ilfilesystemgui"
663  );
664  $ilCtrl->setParameterByClass("ilfilesystemgui", "resetoffset", "");
665 
666  // info screen
667  $force_active = ($this->ctrl->getNextClass() == "ilinfoscreengui")
668  ? true
669  : false;
670  $this->tabs_gui->addTarget(
671  "info_short",
672  $this->ctrl->getLinkTargetByClass("ilinfoscreengui", "showSummary"),
673  "",
674  "ilinfoscreengui",
675  "",
676  $force_active
677  );
678 
679  // properties
680  $this->tabs_gui->addTarget(
681  "settings",
682  $this->ctrl->getLinkTarget($this, "properties"),
683  array("", "properties"),
684  get_class($this)
685  );
686 
687  // learning progress and offline mode
688  include_once './Services/Tracking/classes/class.ilLearningProgressAccess.php';
689  if (ilLearningProgressAccess::checkAccess($this->object->getRefId()) || $ilAccess->checkAccess("write", "", $this->object->getRefId())) {
690  //if scorm && offline_mode activated
691  if ($this->object->getSubType() == "scorm2004" || $this->object->getSubType() == "scorm") {
692  if ($this->object->getOfflineMode() == true) {
693  $this->tabs_gui->addTarget(
694  "offline_mode_manager",
695  $this->ctrl->getLinkTarget($this, "offlineModeManager"),
696  "offlineModeManager",
697  "ilobjscormlearningmodulegui"
698  );
699  }
700  }
701  }
702  if (ilLearningProgressAccess::checkAccess($this->object->getRefId())) {
703  $this->tabs_gui->addTarget(
704  'learning_progress',
705  $this->ctrl->getLinkTargetByClass(array('illearningprogressgui'), ''),
706  '',
707  array('illplistofobjectsgui','illplistofsettingsgui','illearningprogressgui','illplistofprogressgui')
708  );
709  }
710 
711  // tracking data
712  if ($ilAccess->checkAccess("read_learning_progress", '', $this->object->getRefId()) || $ilAccess->checkAccess("edit_learning_progress", '', $this->object->getRefId())) {
713  if ($this->object->getSubType() == "scorm2004" || $this->object->getSubType() == "scorm") {
714  include_once('./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
715  $privacy = ilPrivacySettings::_getInstance();
716  if ($privacy->enabledSahsProtocolData()) {
717  $this->tabs_gui->addTarget(
718  "cont_tracking_data",
719  $this->ctrl->getLinkTarget($this, "showTrackingItems"),
720  "showTrackingItems",
721  get_class($this)
722  );
723  }
724  }
725  }
726 
727  // edit meta
728  include_once "Services/Object/classes/class.ilObjectMetaDataGUI.php";
729  $mdgui = new ilObjectMetaDataGUI($this->object);
730  $mdtab = $mdgui->getTab();
731  if ($mdtab) {
732  $this->tabs_gui->addTarget(
733  "meta_data",
734  $mdtab,
735  "",
736  "ilmdeditorgui"
737  );
738  }
739 
740  // export
741  if ($ilAccess->checkAccess("write", "", $this->object->getRefId())) {
742  $this->tabs_gui->addTarget(
743  "export",
744  $this->ctrl->getLinkTarget($this, "export"),
745  array("", "export"),
746  get_class($this)
747  );
748  }
749 
750  // perm
751  if ($ilAccess->checkAccess('edit_permission', '', $this->object->getRefId())) {
752  $this->tabs_gui->addTarget(
753  "perm_settings",
754  $this->ctrl->getLinkTargetByClass(array(get_class($this),'ilpermissiongui'), "perm"),
755  array("perm","info","owner"),
756  'ilpermissiongui'
757  );
758  }
759  }
Class ilObjectMetaDataGUI.
global $DIC
Definition: saml.php:7
global $ilCtrl
Definition: ilias.php:18
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
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 597 of file class.ilObjSAHSLearningModuleGUI.php.

References $DIC, and ilObjectGUI\$lng.

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

598  {
599  global $DIC;
600  $lng = $DIC['lng'];
601 
602  $this->tpl->getStandardTemplate();
603  }
global $DIC
Definition: saml.php:7
+ Here is the caller graph for this function:

◆ getType()

ilObjSAHSLearningModuleGUI::getType ( )

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

912  {
913  return "sahs";
914  }

◆ info()

ilObjSAHSLearningModuleGUI::info ( )

permission form

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

582  {
583  $this->infoObject();
584  }

◆ initCreationForm()

ilObjSAHSLearningModuleGUI::initCreationForm ( )

Init form.

Parameters
int$a_modeEdit Mode

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

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

Referenced by initCreationForms().

255  {
256  global $DIC;
257  $lng = $DIC['lng'];
258  $ilCtrl = $DIC['ilCtrl'];
259 
260  include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
261  $this->form = new ilPropertyFormGUI();
262 
263  // title
264  $ti = new ilTextInputGUI($this->lng->txt("title"), "title");
265  $ti->setSize(min(40, ilObject::TITLE_LENGTH));
266  $ti->setMaxLength(ilObject::TITLE_LENGTH);
267  $ti->setRequired(true);
268  $this->form->addItem($ti);
269 
270  // text area
271  $ta = new ilTextAreaInputGUI($this->lng->txt("description"), "desc");
272  $ta->setCols(40);
273  $ta->setRows(2);
274  $this->form->addItem($ta);
275 
276 
277  $this->form->addCommandButton("save", $lng->txt("sahs_add"));
278  $this->form->addCommandButton("cancel", $lng->txt("cancel"));
279 
280  $this->form->setTitle($lng->txt("scorm_new"));
281  $this->form->setFormAction($ilCtrl->getFormAction($this));
282  $this->form->setTarget(ilFrameTargetInfo::_getFrame("MainContent"));
283  }
This class represents a property form user interface.
global $DIC
Definition: saml.php:7
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 234 of file class.ilObjSAHSLearningModuleGUI.php.

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

235  {
236  $forms = array();
237 
238  $this->initUploadForm();
239  $forms[self::CFORM_IMPORT] = $this->form;
240 
241  $this->initCreationForm();
242  $forms[self::CFORM_NEW] = $this->form;
243 
244  $forms[self::CFORM_CLONE] = $this->fillCloneTemplate(null, $a_new_type);
245 
246  return $forms;
247  }
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
+ Here is the call graph for this function:

◆ initUploadForm()

ilObjSAHSLearningModuleGUI::initUploadForm ( )

Init upload form.

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

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

Referenced by initCreationForms().

289  {
290  global $DIC;
291  $lng = $DIC['lng'];
292  $ilCtrl = $DIC['ilCtrl'];
293 
294  include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
295  $this->form = new ilPropertyFormGUI();
296 
297  // type selection
298  $options = array(
299  "scorm2004" => $lng->txt("lm_type_scorm2004"),
300  "scorm" => $lng->txt("lm_type_scorm"),
301  "exportFile" => $lng->txt("sahs_export_file")
302  );
303  $si = new ilSelectInputGUI($this->lng->txt("type"), "sub_type");
304  $si->setOptions($options);
305  $this->form->addItem($si);
306 
307 
308  // todo wysiwyg editor removement
309 
310  $options = array();
311  include_once 'Services/FileSystem/classes/class.ilUploadFiles.php';
313  $options[""] = $this->lng->txt("cont_select_from_upload_dir");
315  foreach ($files as $file) {
316  $file = htmlspecialchars($file, ENT_QUOTES, "utf-8");
317  $options[$file] = $file;
318  }
319  }
320  if (count($options) > 1) {
321  // choose upload directory
322  $radg = new ilRadioGroupInputGUI($lng->txt("cont_choose_file_source"), "file_source");
323  $op0 = new ilRadioOption($this->lng->txt("cont_choose_local"), "local");
324  $radg->addOption($op0);
325  $op1 = new ilRadioOption($this->lng->txt("cont_choose_upload_dir"), "upload_dir");
326  $radg->addOption($op1);
327  $radg->setValue("local");
328 
329  $fi = new ilFileInputGUI($this->lng->txt("select_file"), "scormfile");
330  $fi->setRequired(true);
331  $op0->addSubItem($fi);
332 
333  $si = new ilSelectInputGUI($this->lng->txt("cont_uploaded_file"), "uploaded_file");
334  $si->setOptions($options);
335  $op1->addSubItem($si);
336 
337  $this->form->addItem($radg);
338  } else {
339  $fi = new ilFileInputGUI($this->lng->txt("select_file"), "scormfile");
340  $fi->setRequired(true);
341  $this->form->addItem($fi);
342  }
343 
344  // validate file
345  $cb = new ilCheckboxInputGUI($this->lng->txt("cont_validate_file"), "validate");
346  $cb->setValue("y");
347  //$cb->setChecked(true);
348  $this->form->addItem($cb);
349 
350  // import for editing
351  $cb = new ilCheckboxInputGUI($this->lng->txt("sahs_authoring_mode"), "editable");
352  $cb->setValue("y");
353  $cb->setInfo($this->lng->txt("sahs_authoring_mode_info"));
354  $this->form->addItem($cb);
355 
356  //
357  $radg = new ilRadioGroupInputGUI($lng->txt("sahs_sequencing"), "import_sequencing");
358  $radg->setValue(0);
359  $op1 = new ilRadioOption($lng->txt("sahs_std_sequencing"), 0, $lng->txt("sahs_std_sequencing_info"));
360  $radg->addOption($op1);
361  $op1 = new ilRadioOption($lng->txt("sahs_import_sequencing"), 1, $lng->txt("sahs_import_sequencing_info"));
362  $radg->addOption($op1);
363  $cb->addSubItem($radg);
364 
365 
366  $this->form->addCommandButton("upload", $lng->txt("import"));
367  $this->form->addCommandButton("cancel", $lng->txt("cancel"));
368 
369  $this->form->setTitle($lng->txt("import_sahs"));
370  $this->form->setFormAction($ilCtrl->getFormAction($this, "upload"));
371  $this->form->setTarget(ilFrameTargetInfo::_getFrame("MainContent"));
372  }
This class represents an option in a radio group.
$files
Definition: metarefresh.php:49
This class represents a selection list property in a property form.
This class represents a property form user interface.
global $DIC
Definition: saml.php:7
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.
setValue($a_value)
Set Value.
addSubItem($a_item)
Add Subitem.
setValue($a_value)
Set Value.
setOptions($a_options)
Set Options.
static _getFrame($a_class, $a_type='')
Get content frame name.
setRequired($a_required)
Set Required.
+ 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 589 of file class.ilObjSAHSLearningModuleGUI.php.

590  {
591  $this->ownerObject();
592  }

◆ properties()

ilObjSAHSLearningModuleGUI::properties ( )

module properties

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

217  {
218  }

◆ saveObject()

ilObjSAHSLearningModuleGUI::saveObject ( )

save new learning module to db

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

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

553  {
554  if (trim($_POST["title"]) == "") {
555  $this->ilias->raiseError($this->lng->txt("msg_no_title"), $this->ilias->error_obj->MESSAGE);
556  }
557 
558  include_once("./Modules/Scorm2004/classes/class.ilObjSCORM2004LearningModule.php");
559  $newObj = new ilObjSCORM2004LearningModule();
560  $newObj->setTitle(ilUtil::stripSlashes($_POST["title"]));
561  $newObj->setSubType("scorm2004");
562  $newObj->setEditable(true);
563  $newObj->setDescription(ilUtil::stripSlashes($_POST["desc"]));
564  $newObj->create();
565  $newObj->createReference();
566  $newObj->putInTree($_GET["ref_id"]);
567  $newObj->setPermissions($_GET["ref_id"]);
568  $newObj->createDataDirectory();
569  $newObj->createScorm2004Tree();
570  ilUtil::sendInfo($this->lng->txt($newObj->getType() . "_added"), true);
571 
572  // #7375
573  $this->ctrl->setParameterByClass("ilObjSCORM2004LearningModuleGUI", "ref_id", $newObj->getRefId());
574  $this->ctrl->redirectByClass(array("ilSAHSEditGUI", "ilObjSCORM2004LearningModuleGUI"), "showOrganization");
575  }
$_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
Class ilObjSCORM2004LearningModule.
$_POST["username"]
+ Here is the call graph for this function:

◆ saveProperties()

ilObjSAHSLearningModuleGUI::saveProperties ( )

save properties

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

224  {
225  }

◆ setSettingsSubTabs()

ilObjSAHSLearningModuleGUI::setSettingsSubTabs ( )

set Tabs for settings

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

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

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

837  {
838  global $DIC;
839  $lng = $DIC['lng'];
840  $ilTabs = $DIC['ilTabs'];
841  $ilCtrl = $DIC['ilCtrl'];
842 
843  $ilTabs->addSubTabTarget(
844  "cont_settings",
845  $this->ctrl->getLinkTarget($this, "properties"),
846  array("edit", ""),
847  get_class($this)
848  );
849 
850  $ilTabs->addSubTabTarget(
851  "cont_sc_new_version",
852  $this->ctrl->getLinkTarget($this, "newModuleVersion"),
853  array("edit", ""),
854  get_class($this)
855  );
856 
857  include_once "Services/Certificate/classes/class.ilCertificate.php";
858  if (ilCertificate::isActive()) {
859  // // create and insert object in objecttree
860  // $ilTabs->addSubTabTarget("certificate",
861  // $this->ctrl->getLinkTarget($this, "certificate"),
862  // array("certificate", "certificateEditor", "certificateRemoveBackground", "certificateSave",
863  // "certificatePreview", "certificateDelete", "certificateUpload", "certificateImport")
864  // );
865  $ilTabs->addSubTabTarget(
866  "certificate",
867  $this->ctrl->getLinkTargetByClass("ilcertificategui", "certificateeditor"),
868  "",
869  "ilcertificategui"
870  );
871  }
872 
873  $lti_settings = new ilLTIProviderObjectSettingGUI($this->object->getRefId());
874  if ($lti_settings->hasSettingsAccess()) {
875  $ilTabs->addSubTabTarget(
876  'lti_provider',
877  $this->ctrl->getLinkTargetByClass(ilLTIProviderObjectSettingGUI::class)
878  );
879  }
880 
881  $ilTabs->setTabActive('settings');
882  }
global $DIC
Definition: saml.php:7
global $ilCtrl
Definition: ilias.php:18
GUI class for LTI provider object settings.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setTabs()

ilObjSAHSLearningModuleGUI::setTabs ( )

output tabs

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

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

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

609  {
610  $this->tpl->setTitleIcon(ilUtil::getImagePath("icon_lm.svg"));
611  $this->tpl->setTitle($this->object->getTitle());
612  if (strtolower($_GET["baseClass"]) == "ilsahseditgui") {
613  $this->getTabs($this->tabs_gui);
614  }
615  //if(strtolower($_GET["baseClass"]) == "ilsahseditgui") $this->getTabs();
616  }
$_GET["client_id"]
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ upload()

ilObjSAHSLearningModuleGUI::upload ( )

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

References uploadObject().

543  {
544  $this->uploadObject();
545  }
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 380 of file class.ilObjSAHSLearningModuleGUI.php.

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

Referenced by upload().

381  {
382  global $DIC;
383  $rbacsystem = $DIC['rbacsystem'];
384 
385  include_once 'Services/FileSystem/classes/class.ilUploadFiles.php';
386 
387  // check create permission
388  if (!$rbacsystem->checkAccess("create", $_GET["ref_id"], "sahs")) {
389  $this->ilias->raiseError($this->lng->txt("no_create_permission"), $this->ilias->error_obj->WARNING);
390  } elseif ($_FILES["scormfile"]["name"]) {
391  // check if file was uploaded
392  $source = $_FILES["scormfile"]["tmp_name"];
393  if (($source == 'none') || (!$source)) {
394  $this->ilias->raiseError($this->lng->txt("msg_no_file"), $this->ilias->error_obj->MESSAGE);
395  }
396  // get_cfg_var("upload_max_filesize"); // get the may filesize form t he php.ini
397  switch ($_FILES["scormfile"]["error"]) {
398  case UPLOAD_ERR_INI_SIZE:
399  $this->ilias->raiseError($this->lng->txt("err_max_file_size_exceeds"), $this->ilias->error_obj->MESSAGE);
400  break;
401 
402  case UPLOAD_ERR_FORM_SIZE:
403  $this->ilias->raiseError($this->lng->txt("err_max_file_size_exceeds"), $this->ilias->error_obj->MESSAGE);
404  break;
405 
406  case UPLOAD_ERR_PARTIAL:
407  $this->ilias->raiseError($this->lng->txt("err_partial_file_upload"), $this->ilias->error_obj->MESSAGE);
408  break;
409 
410  case UPLOAD_ERR_NO_FILE:
411  $this->ilias->raiseError($this->lng->txt("err_no_file_uploaded"), $this->ilias->error_obj->MESSAGE);
412  break;
413  }
414 
415  $file = pathinfo($_FILES["scormfile"]["name"]);
416  } elseif ($_POST["uploaded_file"]) {
417  // check if the file is in the upload directory and readable
418  if (!ilUploadFiles::_checkUploadFile($_POST["uploaded_file"])) {
419  $this->ilias->raiseError($this->lng->txt("upload_error_file_not_found"), $this->ilias->error_obj->MESSAGE);
420  }
421 
422  $file = pathinfo($_POST["uploaded_file"]);
423  } else {
424  $this->ilias->raiseError($this->lng->txt("msg_no_file"), $this->ilias->error_obj->MESSAGE);
425  }
426 
427  $name = substr($file["basename"], 0, strlen($file["basename"]) - strlen($file["extension"]) - 1);
428  if ($name == "") {
429  $name = $this->lng->txt("no_title");
430  }
431 
432  $subType = $_POST["sub_type"];
433  // create and insert object in objecttree
434  switch ($subType) {
435  case "scorm2004":
436  include_once("./Modules/Scorm2004/classes/class.ilObjSCORM2004LearningModule.php");
437  $newObj = new ilObjSCORM2004LearningModule();
438  $newObj->setEditable($_POST["editable"] == 'y');
439  $newObj->setImportSequencing($_POST["import_sequencing"]);
440  $newObj->setSequencingExpertMode($_POST["import_sequencing"]);
441  break;
442 
443  case "scorm":
444  include_once("./Modules/ScormAicc/classes/class.ilObjSCORMLearningModule.php");
445  $newObj = new ilObjSCORMLearningModule();
446  break;
447 
448  case "exportFile":
449  $sFile = $_FILES["scormfile"];
450  $fType = $sFile["type"];
451  $cFileTypes = ["application/zip", "application/x-compressed","application/x-zip-compressed"];
452  if (in_array($fType, $cFileTypes)) {
453  $timeStamp = time();
454  $tempFile = $sFile["tmp_name"];
455  $lmDir = ilUtil::getWebspaceDir("filesystem") . "/lm_data/";
456  $lmTempDir = $lmDir . $timeStamp;
457  if (!file_exists($lmTempDir)) {
458  mkdir($lmTempDir, 0755, true);
459  }
460  $zar = new ZipArchive();
461  $zar->open($tempFile);
462  $zar->extractTo($lmTempDir);
463  $zar->close();
464  require_once "./Modules/ScormAicc/classes/class.ilScormAiccImporter.php";
465  $importer = new ilScormAiccImporter();
466  $import_dirname = $lmTempDir . '/' . substr($_FILES["scormfile"]["name"], 0, strlen($a_filename) - 4);
467  if ($importer->importXmlRepresentation("sahs", null, $import_dirname, "") == true) {
468  $importFromXml = true;
469  }
470  $mprops = [];
471  $mprops = $importer->moduleProperties;
472  $subType = $mprops["SubType"][0];
473  if ($subType == "scorm") {
474  include_once("./Modules/ScormAicc/classes/class.ilObjSCORMLearningModule.php");
475  $newObj = new ilObjSCORMLearningModule();
476  } else {
477  include_once("./Modules/Scorm2004/classes/class.ilObjSCORM2004LearningModule.php");
478  $newObj = new ilObjSCORM2004LearningModule();
479  // $newObj->setEditable($_POST["editable"]=='y');
480 // $newObj->setImportSequencing($_POST["import_sequencing"]);
481 // $newObj->setSequencingExpertMode($_POST["import_sequencing"]);
482  }
483  }
484  break;
485  }
486 
487  $newObj->setTitle($name);
488  $newObj->setSubType($subType);
489  $newObj->setDescription("");
490  $newObj->setOfflineStatus(true);
491  $newObj->create(true);
492  $newObj->createReference();
493  $newObj->putInTree($_GET["ref_id"]);
494  $newObj->setPermissions($_GET["ref_id"]);
495 
496  // create data directory, copy file to directory
497  $newObj->createDataDirectory();
498 
499  if ($_FILES["scormfile"]["name"]) {
500  if ($importFromXml) {
501  $scormFile = "content.zip";
502  $scormFilePath = $import_dirname . "/" . $scormFile;
503  $file_path = $newObj->getDataDirectory() . "/" . $scormFile;
504  ilFileUtils::rename($scormFilePath, $file_path);
505  ilUtil::unzip($file_path);
506  unlink($file_path);
507  ilUtil::delDir($lmTempDir, false);
508  } else {
509  // copy uploaded file to data directory
510  $file_path = $newObj->getDataDirectory() . "/" . $_FILES["scormfile"]["name"];
511  ilUtil::moveUploadedFile(
512  $_FILES["scormfile"]["tmp_name"],
513  $_FILES["scormfile"]["name"],
514  $file_path
515  );
516  ilUtil::unzip($file_path);
517  }
518  } else {
519  // copy uploaded file to data directory
520  $file_path = $newObj->getDataDirectory() . "/" . $_POST["uploaded_file"];
521  ilUploadFiles::_copyUploadFile($_POST["uploaded_file"], $file_path);
522  ilUtil::unzip($file_path);
523  }
524  ilUtil::renameExecutables($newObj->getDataDirectory());
525 
526  $title = $newObj->readObject();
527  if ($title != "") {
528  ilObject::_writeTitle($newObj->getId(), $title);
529  }
530 
531  //auto set learning progress settings
532  $newObj->setLearningProgressSettingsAtUpload();
533 
534  if ($importFromXml) {
535  $importer->writeData("sahs", "5.1.0", $newObj->getId());
536  }
537 
538  ilUtil::sendInfo($this->lng->txt($newObj->getType() . "_added"), true);
539  ilUtil::redirect("ilias.php?baseClass=ilSAHSEditGUI&ref_id=" . $newObj->getRefId());
540  }
global $DIC
Definition: saml.php:7
$_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.
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.
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 205 of file class.ilObjSAHSLearningModuleGUI.php.

References $_GET.

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

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