ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
ilPCVerificationGUI Class Reference

Class ilPCVerificationGUI. More...

+ Inheritance diagram for ilPCVerificationGUI:
+ Collaboration diagram for ilPCVerificationGUI:

Public Member Functions

 __construct (&$a_pg_obj, &$a_content_obj, $a_hier_id, $a_pc_id="")
 Constructor @access public. More...
 
 executeCommand ()
 execute command More...
 
 insert (ilPropertyFormGUI $a_form=null)
 Insert new verification form. More...
 
 edit (ilPropertyFormGUI $a_form=null)
 Edit verification form. More...
 
 create ()
 Create new verification. More...
 
 update ()
 Update verification. More...
 
- Public Member Functions inherited from ilPageContentGUI
 __construct ($a_pg_obj, $a_content_obj, $a_hier_id=0, $a_pc_id="")
 Constructor @access public. More...
 
 setContentObject ($a_val)
 Set content object. More...
 
 getContentObject ()
 Get content object. More...
 
 setPage ($a_val)
 Set page. More...
 
 getPage ()
 Get page. More...
 
 setPageConfig ($a_val)
 Set Page Config. More...
 
 getPageConfig ()
 Get Page Config. More...
 
 setStyleId ($a_styleid)
 Set Style Id. More...
 
 getStyleId ()
 Get Style Id. More...
 
 getStyle ()
 Get style object. More...
 
 setCharacteristics ($a_chars)
 Set Characteristics. More...
 
 getCharacteristics ()
 Get characteristics. More...
 
 getHierId ()
 get hierarchical id in dom object More...
 
 setHierId ($a_hier_id)
 get hierarchical id in dom object More...
 
 getBBMenu ($a_ta_name="par_content")
 Get the bb menu incl. More...
 
 delete ()
 delete content element More...
 
 moveAfter ()
 move content element after another element More...
 
 moveBefore ()
 move content element before another element More...
 
 splitPage ()
 split page to new page at specified position More...
 
 splitPageNext ()
 split page to next page at specified position More...
 
 displayValidationError ()
 display validation errors More...
 
 cancelCreate ()
 cancel creating page content More...
 
 cancelUpdate ()
 cancel update More...
 
 cancel ()
 Cancel. More...
 
 deactivate ()
 gui function set enabled if is not enabled and vice versa More...
 
 cut ()
 Cut single element. More...
 
 copy ()
 Copy single element. More...
 
 getTemplateOptions ($a_type)
 Get table templates. More...
 

Protected Member Functions

 initForm ($a_insert=false)
 Init verification form. More...
 
- Protected Member Functions inherited from ilPageContentGUI
 getCharacteristicsOfCurrentStyle ($a_type)
 Get characteristics of current style. More...
 

Protected Attributes

 $user
 
- Protected Attributes inherited from ilPageContentGUI
 $error
 
 $log
 

Private Member Functions

 initStorage (int $objectId, string $subDirectory='')
 

Additional Inherited Members

- Static Public Member Functions inherited from ilPageContentGUI
static _getCommonBBButtons ()
 Get common bb buttons. More...
 
- Data Fields inherited from ilPageContentGUI
 $content_obj
 
 $tpl
 
 $lng
 
 $ctrl
 
 $pg_obj
 
 $hier_id
 
 $dom
 
 $updated
 
 $target_script
 
 $return_location
 
 $page_config = null
 
- Static Public Attributes inherited from ilPageContentGUI
static $style_selector_reset = "margin-top:2px; margin-bottom:2px; text-indent:0px; position:static; float:none; width: auto;"
 
- Static Protected Attributes inherited from ilPageContentGUI
static $common_bb_buttons
 

Detailed Description

Class ilPCVerificationGUI.

Handles user commands on verifications

Author
Jörg Lützenkirchen luetz.nosp@m.enki.nosp@m.rchen.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Version
$I$

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

Constructor & Destructor Documentation

◆ __construct()

ilPCVerificationGUI::__construct ( $a_pg_obj,
$a_content_obj,
  $a_hier_id,
  $a_pc_id = "" 
)

Constructor @access public.

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

50 {
51 global $DIC;
52
53 $this->tpl = $DIC["tpl"];
54 $this->ctrl = $DIC->ctrl();
55 $this->user = $DIC->user();
56 $this->lng = $DIC->language();
57 parent::__construct($a_pg_obj, $a_content_obj, $a_hier_id, $a_pc_id);
58 }
user()
Definition: user.php:4
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
$DIC
Definition: xapitoken.php:46

References $DIC, ILIAS\GlobalScreen\Provider\__construct(), and user().

+ Here is the call graph for this function:

Member Function Documentation

◆ create()

ilPCVerificationGUI::create ( )

Create new verification.

Exceptions
ilException

Definition at line 213 of file class.ilPCVerificationGUI.php.

214 {
215 $form = $this->initForm(true);
216 if ($form->checkInput()) {
217 $option = $form->getInput('certificate_selection');
218
219 if ('certificate_workspace_option' === $option) {
220 $type = ilObject::_lookupType($form->getInput("object"));
221 if ($type) {
222 $this->content_obj = new ilPCVerification($this->getPage());
223 $this->content_obj->create($this->pg_obj, $this->hier_id, $this->pc_id);
224 $verificationObjectId = $form->getInput("object");
225
226 $this->content_obj->setData($type, $verificationObjectId);
227
228 $this->updated = $this->pg_obj->update();
229 if ($this->updated === true) {
230 $this->ctrl->returnToParent($this, "jump" . $this->hier_id);
231 }
232 }
233 } elseif ('certificate_persistent_option' === $option) {
234 $objectId = $form->getInput("persistent_object");
235
236 $userId = $this->user->getId();
237
238 $certificateFileService = new ilPortfolioCertificateFileService();
239 try {
240 $certificateFileService->createCertificateFile($userId, $objectId);
241 } catch (\ILIAS\Filesystem\Exception\FileAlreadyExistsException $e) {
242 ilUtil::sendInfo($this->lng->txt('certificate_file_not_found_error'), true);
243 $this->log->warning($e->getMessage());
244 } catch (\ILIAS\Filesystem\Exception\IOException $e) {
245 ilUtil::sendInfo($this->lng->txt('certificate_file_input_output_error'), true);
246 $this->log->error($e->getMessage());
247 return $this->ctrl->redirect($this, 'initForm');
248 } catch (ilException $e) {
249 ilUtil::sendFailure($this->lng->txt('error_creating_certificate_pdf'), true);
250 $this->log->error($e->getMessage());
251 return $this->ctrl->redirect($this, 'initForm');
252 }
253
254 $this->content_obj = new ilPCVerification($this->getPage());
255 $this->content_obj->create($this->pg_obj, $this->hier_id, $this->pc_id);
256 $this->content_obj->setData('crta', $objectId);
257
258 $this->updated = $this->pg_obj->update();
259 if ($this->updated === true) {
260 $this->ctrl->returnToParent($this, "jump" . $this->hier_id);
261 }
262
263 $this->log->info('File could not be created');
264 }
265 }
266
267 $this->insert($form);
268 }
Base class for ILIAS Exception handling.
static _lookupType($a_id, $a_reference=false)
lookup object type
insert(ilPropertyFormGUI $a_form=null)
Insert new verification form.
initForm($a_insert=false)
Init verification form.
Class ilPCVerification.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
Class FlySystemFileAccessTest.
Class ChatMainBarProvider \MainMenu\Provider.
$type

References Vendor\Package\$e, $type, ilObject\_lookupType(), ilPageContentGUI\getPage(), initForm(), insert(), ilUtil\sendFailure(), ilUtil\sendInfo(), and user().

+ Here is the call graph for this function:

◆ edit()

ilPCVerificationGUI::edit ( ilPropertyFormGUI  $a_form = null)

Edit verification form.

Parameters
ilPropertyFormGUI$a_form

Definition at line 102 of file class.ilPCVerificationGUI.php.

103 {
105
106 $this->displayValidationError();
107
108 if (!$a_form) {
109 $a_form = $this->initForm();
110 }
111 $tpl->setContent($a_form->getHTML());
112 }
displayValidationError()
display validation errors

References ilPageContentGUI\$tpl, ilPageContentGUI\displayValidationError(), and initForm().

Referenced by update().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ executeCommand()

ilPCVerificationGUI::executeCommand ( )

execute command

Definition at line 63 of file class.ilPCVerificationGUI.php.

64 {
65 // get next class that processes or forwards current command
66 $next_class = $this->ctrl->getNextClass($this);
67
68 // get current command
69 $cmd = $this->ctrl->getCmd();
70
71 switch ($next_class) {
72 default:
73 $ret = $this->$cmd();
74 break;
75 }
76
77 return $ret;
78 }
$ret
Definition: parser.php:6

References $ret.

◆ initForm()

ilPCVerificationGUI::initForm (   $a_insert = false)
protected

Init verification form.

Parameters
bool$a_insert
Returns
ilPropertyFormGUI
Exceptions
ilDateTimeException

Definition at line 121 of file class.ilPCVerificationGUI.php.

122 {
126
127 $form = new ilPropertyFormGUI();
128 $form->setFormAction($ilCtrl->getFormAction($this));
129 if ($a_insert) {
130 $form->setTitle($this->lng->txt("cont_insert_verification"));
131 } else {
132 $form->setTitle($this->lng->txt("cont_update_verification"));
133 }
134
135 $lng->loadLanguageModule("wsp");
136 $workspaceOptions = array();
137
138 $certificateSource = new ilRadioGroupInputGUI($this->lng->txt('certificate_selection'), 'certificate_selection');
139
140 $workspaceRadioButton = new ilRadioOption($this->lng->txt('certificate_workspace_option'), 'certificate_workspace_option');
141 $persistentRadioButton = new ilRadioOption($this->lng->txt('certificate_persistent_option'), 'certificate_persistent_option');
142
143 $tree = new ilWorkspaceTree($ilUser->getId());
144 $root = $tree->getRootId();
145 if ($root) {
146 $root = $tree->getNodeData($root);
147 foreach ($tree->getSubTree($root) as $node) {
148 if (in_array($node["type"], array("excv", "tstv", "crsv", "cmxv", "ltiv", "scov"))) {
149 $workspaceOptions[$node["obj_id"]] = $node["title"] . " (" . $lng->txt("wsp_type_" . $node["type"]) . ")";
150 }
151 }
152 asort($workspaceOptions);
153 }
154
155 $workspaceCertificates = new ilSelectInputGUI($this->lng->txt("cont_verification_object"), "object");
156 $workspaceCertificates->setRequired(true);
157 $workspaceCertificates->setOptions($workspaceOptions);
158
159 $repository = new ilUserCertificateRepository();
160
161 $certificates = $repository->fetchActiveCertificates($ilUser->getId());
162
163 $persistentOptions = array();
164 foreach ($certificates as $certificate) {
165 $userCertificate = $certificate->getUserCertificate();
166 $dateTime = ilDatePresentation::formatDate(new ilDateTime($userCertificate->getAcquiredTimestamp(), IL_CAL_UNIX));
167
168 $type = $lng->txt("wsp_type_" . $userCertificate->getObjType() . 'v');
169 $additionalInformation = ' (' . $type . ' / ' . $dateTime . ')';
170 $persistentOptions[$userCertificate->getObjId()] = $certificate->getObjectTitle() . $additionalInformation;
171 }
172
173 $persistentObject = new ilSelectInputGUI($this->lng->txt("cont_verification_object"), "persistent_object");
174 $persistentObject->setRequired(true);
175 $persistentObject->setOptions($persistentOptions);
176
177 $persistentRadioButton->addSubItem($persistentObject);
178 $workspaceRadioButton->addSubItem($workspaceCertificates);
179
180 $certificateSource->addOption($persistentRadioButton);
181 $certificateSource->addOption($workspaceRadioButton);
182
183 $certificateSource->setValue('certificate_persistent_option');
184
185 $form->addItem($certificateSource);
186
187 if ($a_insert) {
188 $form->addCommandButton("create_verification", $this->lng->txt("save"));
189 $form->addCommandButton("cancelCreate", $this->lng->txt("cancel"));
190 } else {
191 $data = $this->content_obj->getData();
192
193 if ($data['type'] === 'crta') {
194 $certificateSource->setValue('certificate_persistent_option');
195 $persistentObject->setValue($data["id"]);
196 } else {
197 $certificateSource->setValue('certificate_workspace_option');
198 $workspaceCertificates->setValue($data["id"]);
199 }
200
201
202 $form->addCommandButton("update", $this->lng->txt("save"));
203 $form->addCommandButton("cancelUpdate", $this->lng->txt("cancel"));
204 }
205
206 return $form;
207 }
const IL_CAL_UNIX
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false, $include_seconds=false)
Format a date @access public.
@classDescription Date and time handling
This class represents a property form user interface.
This class represents a property in a property form.
This class represents an option in a radio group.
This class represents a selection list property in a property form.
Tree handler for personal workspace.
global $ilCtrl
Definition: ilias.php:18
$data
Definition: storeScorm.php:23
$ilUser
Definition: imgupload.php:18

References ilPageContentGUI\$ctrl, $data, $ilCtrl, $ilUser, ilPageContentGUI\$lng, $type, $user, ilDatePresentation\formatDate(), and IL_CAL_UNIX.

Referenced by create(), edit(), insert(), and update().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initStorage()

ilPCVerificationGUI::initStorage ( int  $objectId,
string  $subDirectory = '' 
)
private

Definition at line 350 of file class.ilPCVerificationGUI.php.

351 {
352 $storage = new ilVerificationStorageFile($objectId);
353 $storage->create();
354
355 $path = $storage->getAbsolutePath() . "/";
356
357 if ($subDirectory !== '') {
358 $path .= $subDirectory . "/";
359
360 if (!is_dir($path)) {
361 mkdir($path);
362 }
363 }
364
365 return $path;
366 }

◆ insert()

ilPCVerificationGUI::insert ( ilPropertyFormGUI  $a_form = null)

Insert new verification form.

Parameters
ilPropertyFormGUI$a_form

Definition at line 85 of file class.ilPCVerificationGUI.php.

86 {
88
90
91 if (!$a_form) {
92 $a_form = $this->initForm(true);
93 }
94 $tpl->setContent($a_form->getHTML());
95 }

References ilPageContentGUI\$tpl, ilPageContentGUI\displayValidationError(), and initForm().

Referenced by create().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ update()

ilPCVerificationGUI::update ( )

Update verification.

Definition at line 273 of file class.ilPCVerificationGUI.php.

274 {
275 $form = $this->initForm(true);
276 if ($form->checkInput()) {
277 $option = $form->getInput('certificate_selection');
278 if ('certificate_workspace_option' === $option) {
279 $object = $form->getInput("object");
280 $type = ilObject::_lookupType($object);
281 if ($type) {
282 $oldContentData = $this->content_obj->getData();
283
284 if ('crta' === $oldContentData['type']) {
285 $userId = $this->user->getId();
286 $oldObjectId = $oldContentData['id'];
287
288 $certificateFileService = new ilPortfolioCertificateFileService();
289 try {
290 $certificateFileService->deleteCertificateFile($userId, $oldObjectId);
291 } catch (\ILIAS\Filesystem\Exception\FileNotFoundException $e) {
292 ilUtil::sendInfo($this->lng->txt('certificate_file_not_found_error'));
293 $this->log->warning($e->getMessage());
294 } catch (\ILIAS\Filesystem\Exception\IOException $e) {
295 ilUtil::sendInfo($this->lng->txt('certificate_file_input_output_error'));
296 $this->log->warning($e->getMessage());
297 }
298 }
299
300 $this->content_obj->setData($type, $object);
301 $this->updated = $this->pg_obj->update();
302 if ($this->updated === true) {
303 $this->ctrl->returnToParent($this, "jump" . $this->hier_id);
304 }
305 }
306 } elseif ('certificate_persistent_option' === $option) {
307 $oldContentData = $this->content_obj->getData();
308
309 $objectId = $form->getInput("persistent_object");
310
311 $certificateFileService = new ilPortfolioCertificateFileService();
312
313 try {
314 $userId = $this->user->getId();
315
316 $certificateFileService->createCertificateFile($userId, $objectId);
317 if ('crta' === $oldContentData['type']) {
318 $oldObjectId = $oldContentData['id'];
319 $certificateFileService->deleteCertificateFile($userId, $oldObjectId);
320 }
321 } catch (\ILIAS\Filesystem\Exception\FileNotFoundException $e) {
322 ilUtil::sendInfo($this->lng->txt('certificate_file_not_found_error'), true);
323 $this->log->warning($e->getMessage());
324 } catch (\ILIAS\Filesystem\Exception\FileAlreadyExistsException $e) {
325 ilUtil::sendInfo($this->lng->txt('certificate_file_not_found_error'), true);
326 $this->log->warning($e->getMessage());
327 } catch (\ILIAS\Filesystem\Exception\IOException $e) {
328 ilUtil::sendInfo($this->lng->txt('certificate_file_input_output_error'), true);
329 $this->log->warning($e->getMessage());
330 } catch (ilException $e) {
331 ilUtil::sendFailure($this->lng->txt('error_creating_certificate_pdf'), true);
332 $this->log->error($e->getMessage());
333 return $this->ctrl->redirect($this, 'initForm');
334 }
335
336 $this->content_obj->setData('crta', $objectId);
337 $this->updated = $this->pg_obj->update();
338 if ($this->updated === true) {
339 $this->ctrl->returnToParent($this, "jump" . $this->hier_id);
340 }
341
342 $this->log->info('File could not be created');
343 }
344 }
345
346 $this->pg_obj->addHierIDs();
347 $this->edit($form);
348 }
edit(ilPropertyFormGUI $a_form=null)
Edit verification form.

References Vendor\Package\$e, $type, ilObject\_lookupType(), edit(), initForm(), ilUtil\sendFailure(), ilUtil\sendInfo(), and user().

+ Here is the call graph for this function:

Field Documentation

◆ $user

ilPCVerificationGUI::$user
protected

Definition at line 42 of file class.ilPCVerificationGUI.php.

Referenced by initForm().


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