ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
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 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 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 public.

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

References $DIC, and user().

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  }
global $DIC
Definition: saml.php:7
user()
Definition: user.php:4
+ 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.

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

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  }
$type
Class BaseForm.
insert(ilPropertyFormGUI $a_form=null)
Insert new verification form.
user()
Definition: user.php:4
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
if(isset($_POST['submit'])) $form
initForm($a_insert=false)
Init verification form.
Class ilPCVerification.
static _lookupType($a_id, $a_reference=false)
lookup object type
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
Class FlySystemFileAccessTest.
+ 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.

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

Referenced by update().

103  {
104  $tpl = $this->tpl;
105 
106  $this->displayValidationError();
107 
108  if (!$a_form) {
109  $a_form = $this->initForm();
110  }
111  $tpl->setContent($a_form->getHTML());
112  }
initForm($a_insert=false)
Init verification form.
displayValidationError()
display validation errors
+ 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.

References $ret.

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

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

References $certificate, $certificates, ilPageContentGUI\$ctrl, $data, $form, $ilCtrl, $ilUser, ilPageContentGUI\$lng, $root, $tree, $type, $user, ilSubEnabledFormPropertyGUI\addSubItem(), ilRadioOption\addSubItem(), ilDatePresentation\formatDate(), IL_CAL_UNIX, and ilFormPropertyGUI\setRequired().

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

122  {
125  $lng = $this->lng;
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", "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  }
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.
$type
$certificates
Definition: metarefresh.php:39
const IL_CAL_UNIX
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false, $include_seconds=false)
Format a date public.
Tree handler for personal workspace.
global $ilCtrl
Definition: ilias.php:18
if(@file_exists(dirname(__FILE__).'/lang/eng.php')) $certificate
Definition: example_052.php:77
This class represents a property in a property form.
if(isset($_POST['submit'])) $form
addSubItem($a_item)
Add Subitem.
Date and time handling
$ilUser
Definition: imgupload.php:18
$root
Definition: sabredav.php:45
setRequired($a_required)
Set Required.
$data
Definition: bench.php:6
+ 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.

References $path.

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  }
$path
Definition: aliased.php:25

◆ insert()

ilPCVerificationGUI::insert ( ilPropertyFormGUI  $a_form = null)

Insert new verification form.

Parameters
ilPropertyFormGUI$a_form

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

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

Referenced by create().

86  {
87  $tpl = $this->tpl;
88 
89  $this->displayValidationError();
90 
91  if (!$a_form) {
92  $a_form = $this->initForm(true);
93  }
94  $tpl->setContent($a_form->getHTML());
95  }
initForm($a_insert=false)
Init verification form.
displayValidationError()
display validation errors
+ 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.

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

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  }
$type
Class BaseForm.
user()
Definition: user.php:4
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
if(isset($_POST['submit'])) $form
initForm($a_insert=false)
Init verification form.
static _lookupType($a_id, $a_reference=false)
lookup object type
edit(ilPropertyFormGUI $a_form=null)
Edit verification form.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
Class FlySystemFileAccessTest.
+ 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: