ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilSAHSEditGUI Class Reference

Class ilSAHSPresentationGUI. More...

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

Public Member Functions

 __construct ()
 
 executeCommand ()
 

Protected Attributes

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

Private Attributes

ILIAS HTTP Wrapper WrapperFactory $wrapper
 
ILIAS Refinery Factory $refinery
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilSAHSEditGUI::__construct ( )
Exceptions
ilCtrlException

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

47 {
48 global $DIC;
49 $this->tpl = $DIC['tpl'];
50 $this->lng = $DIC->language();
51 $this->ctrl = $DIC->ctrl();
52 $this->wrapper = $DIC->http()->wrapper();
53 $this->refinery = $DIC->refinery();
54 $this->refId = $DIC->http()->wrapper()->query()->retrieve('ref_id', $DIC->refinery()->kindlyTo()->int());
55
56 $this->ctrl->saveParameter($this, "ref_id");
57 }
global $DIC
Definition: shib_login.php:26

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

+ Here is the call graph for this function:

Member Function Documentation

◆ executeCommand()

ilSAHSEditGUI::executeCommand ( )
Exceptions
ilCtrlException

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

62 : void
63 {
64 global $DIC;
65
66 $DIC->globalScreen()->tool()->context()->claim()->repository();
67
68 $lng = $DIC->language();
69 $ilAccess = $DIC->access();
70 $ilNavigationHistory = $DIC['ilNavigationHistory'];
71 $ilCtrl = $DIC->ctrl();
72 $ilErr = $DIC["ilErr"];
73 $ilLog = ilLoggerFactory::getLogger('sahs');
74 $ilLog->debug("bc:" . $DIC->http()->wrapper()->query()->retrieve('baseClass', $DIC->refinery()->kindlyTo()->string()) . "; nc:" . $this->ctrl->getNextClass($this) . "; cmd:" . $this->ctrl->getCmd());
75
76 $lng->loadLanguageModule("content");
77
78 // permission
79 if (!$ilAccess->checkAccess("write", "", $this->refId)) {
80 $ilErr->raiseError($lng->txt("permission_denied"), $ilErr->MESSAGE);
81 }
82
83 // add entry to navigation history
84 $ilNavigationHistory->addItem(
85 $this->refId,
86 "ilias.php?baseClass=ilSAHSEditGUI&ref_id=" . $this->refId,
87 "lm"
88 );
89
90 $next_class = $this->ctrl->getNextClass($this) ?? '';
91 $cmd = $this->ctrl->getCmd() ?? '';
92
93 $obj_id = ilObject::_lookupObjectId($this->refId);
95
96 if ($next_class === '') {
97 switch ($type) {
98 case "scorm":
99 $this->ctrl->redirectByClass(ilObjSCORMLearningModuleGUI::class);
100
101 case "scorm2004":
102 $this->ctrl->redirectByClass(ilObjSCORM2004LearningModuleGUI::class);
103 }
104 }
105
106 switch ($type) {
107 case "scorm":
108 $this->slm_gui = new ilObjSCORMLearningModuleGUI([], $this->refId, true, false);
109 break;
110
111 case "scorm2004":
112 $this->slm_gui = new ilObjSCORM2004LearningModuleGUI([], $this->refId, true, false);
113 break;
114 }
115
116 switch ($next_class) {
117 case "ilobjscormlearningmodulegui":
118 case "ilobjscorm2004learningmodulegui":
119 $ret = $this->ctrl->forwardCommand($this->slm_gui);
120 break;
121
122 case "ilexportgui":
123 $obj_id = ilObject::_lookupObjectId($this->refId);
124 if ($cmd === "create_xml") {
125 $exp = new ilExport();
126 $exp->exportObject( 'sahs', (int)$obj_id );
127 } elseif ($cmd === "download") {
128 $file = $this->wrapper->query()->retrieve('file', $this->refinery->kindlyTo()->string());
129 $ftmp = explode(":", $file);
130 $fileName = (string) $ftmp[1];
131 $exportDir = ilExport::_getExportDirectory($obj_id);
132 ilFileDelivery::deliverFileLegacy($exportDir . "/" . $fileName, $fileName, "zip");
133 } elseif ($cmd === "confirmDeletion") {
134 $exportDir = ilExport::_getExportDirectory($obj_id);
135 // $files = $_POST['file'];
136 $files = $this->wrapper->post()->retrieve('file', $this->refinery->kindlyTo()->listOf($this->refinery->kindlyTo()->string()));
137 foreach ($files as $file) {
138 $file = explode(":", $file);
139 $file[1] = basename($file[1]);
140 $exp_file = $exportDir . "/" . str_replace("..", "", $file[1]);
141 if (@is_file($exp_file)) {
142 unlink($exp_file);
143 }
144 }
145 }
146
147 ilUtil::redirect("ilias.php?baseClass=ilSAHSEditGUI&cmd=export&ref_id=" . $this->refId);
148 break;
149
150
151 default:
152 die("ilSAHSEdit: Class $next_class not found.");
153 }
154
155 $this->tpl->printToStdout();
156 }
static _getExportDirectory(int $a_obj_id, string $a_type="xml", string $a_obj_type="", string $a_entity="")
@depricated Get export directory for an repository object
static deliverFileLegacy(string $a_file, ?string $a_filename=null, ?string $a_mime=null, ?bool $isInline=false, ?bool $removeAfterDelivery=false, ?bool $a_exit_after=true)
loadLanguageModule(string $a_module)
Load language module.
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...
static getLogger(string $a_component_id)
Get component logger.
static _lookupSubType(int $a_obj_id)
lookup subtype id (scorm, )
Class ilObjSCORMLearningModuleGUI.
static _lookupObjectId(int $ref_id)
static redirect(string $a_script)
$ilErr
Definition: raiseError.php:33

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

+ 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.

Referenced by executeCommand().

◆ $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

Definition at line 41 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: