ILIAS  trunk Revision v11.0_alpha-1846-g895b5f47236
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
class.ilUserDefinedFieldsPlaceholderValues.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
25 {
29 
30  public function __construct(
31  ?ilCertificateObjectHelper $objectHelper = null,
32  ?ilUserDefinedFields $userDefinedFieldsObject = null,
33  ?ilCertificateUtilHelper $ilUtilHelper = null
34  ) {
35  if (null === $objectHelper) {
36  $objectHelper = new ilCertificateObjectHelper();
37  }
38  $this->objectHelper = $objectHelper;
39 
40  if (null === $userDefinedFieldsObject) {
41  $userDefinedFieldsObject = ilUserDefinedFields::_getInstance();
42  }
43  $this->userDefinedFieldsObject = $userDefinedFieldsObject;
44 
45  if (null === $ilUtilHelper) {
46  $ilUtilHelper = new ilCertificateUtilHelper();
47  }
48  $this->ilUtilHelper = $ilUtilHelper;
49  }
50 
60  public function getPlaceholderValues(int $userId, int $objId): array
61  {
63  $user = $this->objectHelper->getInstanceByObjId($userId);
64  if (!$user instanceof ilObjUser) {
65  throw new ilException('The entered id: ' . $userId . ' is not an user object');
66  }
67 
68  $userDefinedFields = $this->userDefinedFieldsObject->getDefinitions();
69 
70  $placeholder = [];
71  foreach ($userDefinedFields as $field) {
72  if ($field['certificate']) {
73  $placeholderText = '#' . str_replace(' ', '_', ilStr::strToUpper($field['field_name']));
74 
75  $userDefinedData = $user->getUserDefinedData();
76 
77  $userDefinedFieldValue = '';
78  if (isset($userDefinedData['f_' . $field['field_id']])) {
79  $userDefinedFieldValue = $this->ilUtilHelper->prepareFormOutput($userDefinedData['f_' . $field['field_id']]);
80  }
81 
82  $placeholder[$placeholderText] = $userDefinedFieldValue;
83  }
84  }
85 
86  return $placeholder;
87  }
88 
94  public function getPlaceholderValuesForPreview(int $userId, int $objId): array
95  {
96  $userDefinedFields = $this->userDefinedFieldsObject->getDefinitions();
97 
98  $placeholder = [];
99  foreach ($userDefinedFields as $field) {
100  if ($field['certificate']) {
101  $placeholderText = '#' . str_replace(' ', '_', ilStr::strToUpper($field['field_name']));
102 
103  $placeholder[$placeholderText] = $field['field_name'];
104  }
105  }
106 
107  return $placeholder;
108  }
109 }
Additional user data fields definition.
$objId
Definition: xapitoken.php:57
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
static strToUpper(string $a_string)
Definition: class.ilStr.php:81
getPlaceholderValues(int $userId, int $objId)
This method MUST return an array that contains the actual data for the given user of the given object...
__construct(?ilCertificateObjectHelper $objectHelper=null, ?ilUserDefinedFields $userDefinedFieldsObject=null, ?ilCertificateUtilHelper $ilUtilHelper=null)
getPlaceholderValuesForPreview(int $userId, int $objId)
This method is different then the &#39;getPlaceholderValues&#39; method, this method is used to create a plac...