ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
ilSAHSEditGUI Class Reference

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V. More...

+ Inheritance diagram for ilSAHSEditGUI:
+ Collaboration diagram for ilSAHSEditGUI:

Public Member Functions

 __construct ()
 
 executeCommand ()
 

Protected Attributes

ilGlobalPageTemplate $tpl
 
ilLanguage $lng
 
ilCtrl $ctrl
 
int $refId
 
 $slm_gui
 

Private Attributes

ILIAS HTTP Wrapper WrapperFactory $wrapper
 
ILIAS Refinery Factory $refinery
 

Detailed Description

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V.

ILIAS is licensed with the GPL-3.0, see https://www.gnu.org/licenses/gpl-3.0.en.html You should have received a copy of said license along with the source code, too.

If this is not the case or you just want to try ILIAS, you'll find us at: https://www.ilias.de https://github.com/ILIAS-eLearning Class ilSAHSPresentationGUI

GUI class for scorm learning module presentation

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
Id
class.ilSAHSPresentationGUI.php 11714 2006-07-30 17:15:55Z akill

ilSAHSEditGUI: ilFileSystemGUI, ilObjectMetaDataGUI, ilObjSCORMLearningModuleGUI, ilInfoScreenGUI, ilObjSCORM2004LearningModuleGUI, ilExportGUI, ilObjSAHSLearningModuleGUI, ilLTIProviderObjectSettingGUI

Definition at line 32 of file class.ilSAHSEditGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilSAHSEditGUI::__construct ( )
Exceptions
ilCtrlException

Definition at line 49 of file class.ilSAHSEditGUI.php.

References $DIC, ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), and ILIAS\Repository\refinery().

50  {
51  global $DIC;
52  $this->tpl = $DIC['tpl'];
53  $this->lng = $DIC->language();
54  $this->ctrl = $DIC->ctrl();
55  $this->wrapper = $DIC->http()->wrapper();
56  $this->refinery = $DIC->refinery();
57  $this->refId = $DIC->http()->wrapper()->query()->retrieve('ref_id', $DIC->refinery()->kindlyTo()->int());
58 
59  $this->ctrl->saveParameter($this, "ref_id");
60  }
global $DIC
Definition: feed.php:28
+ Here is the call graph for this function:

Member Function Documentation

◆ executeCommand()

ilSAHSEditGUI::executeCommand ( )
Exceptions
ilCtrlException

Definition at line 65 of file class.ilSAHSEditGUI.php.

References $DIC, $ilErr, $type, $xml, ilExport\_getExportDirectory(), ilObject\_lookupObjectId(), ilObjSAHSLearningModule\_lookupSubType(), ILIAS\Repository\ctrl(), ilFileDelivery\deliverFileLegacy(), ilLoggerFactory\getLogger(), ilLanguage\loadLanguageModule(), ilUtil\redirect(), ILIAS\Repository\refinery(), and ilLanguage\txt().

65  : void
66  {
67  global $DIC;
68 
69  $DIC->globalScreen()->tool()->context()->claim()->repository();
70 
71  $lng = $DIC->language();
72  $ilAccess = $DIC->access();
73  $ilNavigationHistory = $DIC['ilNavigationHistory'];
74  $ilCtrl = $DIC->ctrl();
75  $ilErr = $DIC["ilErr"];
76  $ilLog = ilLoggerFactory::getLogger('sahs');
77  $ilLog->debug("bc:" . $DIC->http()->wrapper()->query()->retrieve('baseClass', $DIC->refinery()->kindlyTo()->string()) . "; nc:" . $this->ctrl->getNextClass($this) . "; cmd:" . $this->ctrl->getCmd());
78 
79  $lng->loadLanguageModule("content");
80 
81  // permission
82  if (!$ilAccess->checkAccess("write", "", $this->refId)) {
83  $ilErr->raiseError($lng->txt("permission_denied"), $ilErr->MESSAGE);
84  }
85 
86  // add entry to navigation history
87  $ilNavigationHistory->addItem(
88  $this->refId,
89  "ilias.php?baseClass=ilSAHSEditGUI&ref_id=" . $this->refId,
90  "lm"
91  );
92 
93  $next_class = $this->ctrl->getNextClass($this);
94  $cmd = $this->ctrl->getCmd();
95 
96  $obj_id = ilObject::_lookupObjectId($this->refId);
98 
99  switch ($type) {
100 
101  case "scorm":
102  $this->slm_gui = new ilObjSCORMLearningModuleGUI([], $this->refId, true, false);
103  break;
104 
105  case "scorm2004":
106  $this->slm_gui = new ilObjSCORM2004LearningModuleGUI([], $this->refId, true, false);
107  break;
108 
109  }
110 
111  if ($next_class == "") {
112  switch ($type) {
113 
114  case "scorm2004":
115  $this->ctrl->setCmdClass("ilobjscorm2004learningmodulegui");
116  break;
117 
118  case "scorm":
119  $this->ctrl->setCmdClass("ilobjscormlearningmodulegui");
120  break;
121  }
122  $next_class = $this->ctrl->getNextClass($this);
123  }
124 
125  switch ($next_class) {
126  case "ilobjscormlearningmodulegui":
127  case "ilobjscorm2004learningmodulegui":
128  $ret = $this->ctrl->forwardCommand($this->slm_gui);
129  break;
130 
131  case "ilexportgui":
132  $obj_id = ilObject::_lookupObjectId($this->refId);
133  if ($cmd === "create_xml") {
134  $exporter = new ilScormAiccExporter();
135  $xml = $exporter->getXmlRepresentation("sahs", "5.1.0", (string) $obj_id);
136  } elseif ($cmd === "download") {
137  $file = $this->wrapper->query()->retrieve('file', $this->refinery->kindlyTo()->string());
138  $ftmp = explode(":", $file);
139  $fileName = (string) $ftmp[1];
140  $exportDir = ilExport::_getExportDirectory($obj_id);
141  ilFileDelivery::deliverFileLegacy($exportDir . "/" . $fileName, $fileName, "zip");
142  } elseif ($cmd === "confirmDeletion") {
143  $exportDir = ilExport::_getExportDirectory($obj_id);
144  // $files = $_POST['file'];
145  $files = $this->wrapper->post()->retrieve('file', $this->refinery->kindlyTo()->listOf($this->refinery->kindlyTo()->string()));
146  foreach ($files as $file) {
147  $file = explode(":", $file);
148  $file[1] = basename($file[1]);
149  $exp_file = $exportDir . "/" . str_replace("..", "", $file[1]);
150  if (@is_file($exp_file)) {
151  unlink($exp_file);
152  }
153  }
154  }
155  $this->ctrl->setCmd("export");
156  ilUtil::redirect("ilias.php?baseClass=ilSAHSEditGUI&cmd=export&ref_id=" . $this->refId);
157  break;
158 
159 
160  default:
161  die("ilSAHSEdit: Class $next_class not found.");
162  }
163 
164  $this->tpl->printToStdout();
165  }
Class ilObjSCORMLearningModuleGUI.
static getLogger(string $a_component_id)
Get component logger.
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
$type
loadLanguageModule(string $a_module)
Load language module.
static _getExportDirectory(int $a_obj_id, string $a_type="xml", string $a_obj_type="", string $a_entity="")
Get export directory for an repository object.
static _lookupSubType(int $a_obj_id)
lookup subtype id (scorm, )
$ilErr
Definition: raiseError.php:17
static deliverFileLegacy(string $a_file, ?string $a_filename=null, ?string $a_mime=null, ?bool $isInline=false, ?bool $removeAfterDelivery=false, ?bool $a_exit_after=true)
global $DIC
Definition: feed.php:28
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _lookupObjectId(int $ref_id)
$xml
Definition: metadata.php:351
static redirect(string $a_script)
+ Here is the call graph for this function:

Field Documentation

◆ $ctrl

ilCtrl ilSAHSEditGUI::$ctrl
protected

Definition at line 38 of file class.ilSAHSEditGUI.php.

◆ $lng

ilLanguage ilSAHSEditGUI::$lng
protected

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

◆ $refId

int ilSAHSEditGUI::$refId
protected

Definition at line 39 of file class.ilSAHSEditGUI.php.

◆ $refinery

ILIAS Refinery Factory ilSAHSEditGUI::$refinery
private

Definition at line 35 of file class.ilSAHSEditGUI.php.

◆ $slm_gui

ilSAHSEditGUI::$slm_gui
protected

Definition at line 44 of file class.ilSAHSEditGUI.php.

◆ $tpl

ilGlobalPageTemplate ilSAHSEditGUI::$tpl
protected

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

◆ $wrapper

ILIAS HTTP Wrapper WrapperFactory ilSAHSEditGUI::$wrapper
private

Definition at line 34 of file class.ilSAHSEditGUI.php.


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