◆ __construct()
ilUserCertificateRepository::__construct |
( |
\ilDBInterface |
$database = null , |
|
|
ilLogger |
$logger = null , |
|
|
string |
$defaultTitle = null |
|
) |
| |
◆ createUserCertificate()
ilUserCertificateRepository::createUserCertificate |
( |
|
$row | ) |
|
|
private |
- Parameters
-
- Returns
- ilUserCertificate
Definition at line 558 of file class.ilUserCertificateRepository.php.
Referenced by fetchActiveCertificate(), fetchActiveCertificateForPresentation(), fetchActiveCertificates(), fetchActiveCertificatesByTypeForPresentation(), fetchActiveCertificatesInIntervalForPresentation(), fetchCertificate(), and fetchCertificatesOfObject().
561 $row[
'pattern_certificate_id'],
566 (
int) $row[
'acquired_timestamp'],
567 $row[
'certificate_content'],
568 $row[
'template_values'],
571 $row[
'ilias_version'],
572 $row[
'currently_active'],
573 $row[
'background_image_path'],
574 $row[
'thumbnail_image_path'],
◆ deactivatePreviousCertificates()
ilUserCertificateRepository::deactivatePreviousCertificates |
( |
int |
$objId, |
|
|
int |
$userId |
|
) |
| |
|
private |
- Parameters
-
- Exceptions
-
Definition at line 539 of file class.ilUserCertificateRepository.php.
Referenced by save().
541 $this->logger->info(sprintf(
'START - deactivating previous certificates for user id: "%s" and object id: "%s"', $userId,
$objId));
544 UPDATE il_cert_user_cert 545 SET currently_active = 0 546 WHERE obj_id = ' . $this->database->quote(
$objId,
'integer') .
' 547 AND user_id = ' . $this->database->quote($userId,
'integer');
549 $this->database->manipulate($sql);
551 $this->logger->info(sprintf(
'END - deactivating previous certificates for user id: "%s" and object id: "%s"', $userId,
$objId));
◆ deleteUserCertificates()
ilUserCertificateRepository::deleteUserCertificates |
( |
int |
$userId | ) |
|
Definition at line 451 of file class.ilUserCertificateRepository.php.
453 $this->logger->info(sprintf(
'START - Delete certificate for user("%s")"', $userId));
455 $sql =
'DELETE FROM il_cert_user_cert WHERE user_id = ' . $this->database->quote($userId,
'integer');
457 $this->database->manipulate($sql);
459 $this->logger->info(sprintf(
'END - Successfully deleted certificate for user("%s")"', $userId));
◆ fetchActiveCertificate()
ilUserCertificateRepository::fetchActiveCertificate |
( |
int |
$userId, |
|
|
int |
$objectId |
|
) |
| |
Definition at line 225 of file class.ilUserCertificateRepository.php.
References $query, and createUserCertificate().
227 $this->logger->info(sprintf(
'START - Fetching all active certificates for user: "%s" and object: "%s"', $userId, $objectId));
230 FROM il_cert_user_cert 231 WHERE user_id = ' . $this->database->quote($userId,
'integer') .
' 232 AND obj_id = ' . $this->database->quote($objectId,
'integer') .
' 233 AND currently_active = 1';
235 $query = $this->database->query($sql);
237 while ($row = $this->database->fetchAssoc(
$query)) {
238 $this->logger->debug(sprintf(
'Active certificate values: %s', json_encode($row)));
240 $this->logger->info(sprintf(
'END -Found active user certificate for user: "%s" and object: "%s"', $userId, $objectId));
245 throw new ilException(sprintf(
'There is no active entry for user id: "%s" and object id: "%s"', $userId, $objectId));
createUserCertificate($row)
◆ fetchActiveCertificateForPresentation()
ilUserCertificateRepository::fetchActiveCertificateForPresentation |
( |
int |
$userId, |
|
|
int |
$objectId |
|
) |
| |
- Parameters
-
- Returns
- ilUserCertificatePresentation
- Exceptions
-
Definition at line 254 of file class.ilUserCertificateRepository.php.
References $query, and createUserCertificate().
256 $this->logger->info(sprintf(
'START - Fetching all active certificates for user: "%s" and object: "%s"', $userId, $objectId));
259 il_cert_user_cert.pattern_certificate_id, 260 il_cert_user_cert.obj_id, 261 il_cert_user_cert.obj_type, 262 il_cert_user_cert.user_id, 263 il_cert_user_cert.user_name, 264 il_cert_user_cert.acquired_timestamp, 265 il_cert_user_cert.certificate_content, 266 il_cert_user_cert.template_values, 267 il_cert_user_cert.valid_until, 268 il_cert_user_cert.version, 269 il_cert_user_cert.ilias_version, 270 il_cert_user_cert.currently_active, 271 il_cert_user_cert.background_image_path, 272 il_cert_user_cert.id, 273 il_cert_user_cert.thumbnail_image_path, 275 (CASE WHEN (object_data.title IS NULL) 277 CASE WHEN (object_data_del.title IS NULL) 278 THEN ' . $this->database->quote($this->defaultTitle,
'text') .
' 279 ELSE object_data_del.title 281 ELSE object_data.title 284 FROM il_cert_user_cert 285 LEFT JOIN object_data ON object_data.obj_id = il_cert_user_cert.obj_id 286 LEFT JOIN object_data_del ON object_data_del.obj_id = il_cert_user_cert.obj_id 287 LEFT JOIN usr_data ON usr_data.usr_id = il_cert_user_cert.user_id 288 WHERE il_cert_user_cert.user_id = ' . $this->database->quote($userId,
'integer') .
' 289 AND il_cert_user_cert.obj_id = ' . $this->database->quote($objectId,
'integer') .
' 290 AND il_cert_user_cert.currently_active = 1';
292 $query = $this->database->query($sql);
294 while ($row = $this->database->fetchAssoc(
$query)) {
295 $this->logger->debug(sprintf(
'Active certificate values: %s', json_encode($row)));
297 $this->logger->info(sprintf(
'END -Found active user certificate for user: "%s" and object: "%s"', $userId, $objectId));
301 (
int) $row[
'obj_id'],
302 (
string) $row[
'obj_type'],
310 throw new ilException(sprintf(
'There is no active entry for user id: "%s" and object id: "%s"', $userId, $objectId));
createUserCertificate($row)
◆ fetchActiveCertificates()
ilUserCertificateRepository::fetchActiveCertificates |
( |
int |
$userId | ) |
|
- Parameters
-
int | $userId | |
string | $orderBy | |
- Returns
- ilUserCertificatePresentation[]
Definition at line 102 of file class.ilUserCertificateRepository.php.
References $query, $result, and createUserCertificate().
104 $this->logger->info(sprintf(
'START - Fetching all active certificates for user: "%s"', $userId));
108 il_cert_user_cert.pattern_certificate_id, 109 il_cert_user_cert.obj_id, 110 il_cert_user_cert.obj_type, 111 il_cert_user_cert.user_id, 112 il_cert_user_cert.user_name, 113 il_cert_user_cert.acquired_timestamp, 114 il_cert_user_cert.certificate_content, 115 il_cert_user_cert.template_values, 116 il_cert_user_cert.valid_until, 117 il_cert_user_cert.version, 118 il_cert_user_cert.ilias_version, 119 il_cert_user_cert.currently_active, 120 il_cert_user_cert.background_image_path, 121 il_cert_user_cert.id, 122 il_cert_user_cert.thumbnail_image_path, 123 (CASE WHEN (object_data.title IS NULL) 125 CASE WHEN (object_data_del.title IS NULL) 126 THEN ' . $this->database->quote($this->defaultTitle,
'text') .
' 127 ELSE object_data_del.title 129 ELSE object_data.title 132 FROM il_cert_user_cert 133 LEFT JOIN object_data ON object_data.obj_id = il_cert_user_cert.obj_id 134 LEFT JOIN object_data_del ON object_data_del.obj_id = il_cert_user_cert.obj_id 135 WHERE user_id = ' . $this->database->quote($userId,
'integer') .
' 136 AND currently_active = 1';
138 $query = $this->database->query($sql);
141 while ($row = $this->database->fetchAssoc(
$query)) {
145 (
int) $row[
'obj_id'],
146 (
string) $row[
'obj_type'],
154 $this->logger->debug(sprintf(
'Actual results: "%s"', json_encode(
$result)));
155 $this->logger->info(sprintf(
'END - All active certificates for user: "%s" total: "%s"', $userId, count(
$result)));
createUserCertificate($row)
◆ fetchActiveCertificatesByTypeForPresentation()
ilUserCertificateRepository::fetchActiveCertificatesByTypeForPresentation |
( |
int |
$userId, |
|
|
string |
$type |
|
) |
| |
- Parameters
-
- Returns
- ilUserCertificatePresentation[]
Definition at line 318 of file class.ilUserCertificateRepository.php.
References $query, $result, and createUserCertificate().
Referenced by ilCmiXapiVerificationTableGUI\getItems(), and ilLTIConsumerVerificationTableGUI\getItems().
320 $this->logger->info(sprintf(
'START - Fetching all active certificates for user: "%s" and type: "%s"', $userId,
$type));
323 il_cert_user_cert.pattern_certificate_id, 324 il_cert_user_cert.obj_id, 325 il_cert_user_cert.obj_type, 326 il_cert_user_cert.user_id, 327 il_cert_user_cert.user_name, 328 il_cert_user_cert.acquired_timestamp, 329 il_cert_user_cert.certificate_content, 330 il_cert_user_cert.template_values, 331 il_cert_user_cert.valid_until, 332 il_cert_user_cert.version, 333 il_cert_user_cert.ilias_version, 334 il_cert_user_cert.currently_active, 335 il_cert_user_cert.background_image_path, 336 il_cert_user_cert.id, 337 il_cert_user_cert.thumbnail_image_path, 338 (CASE WHEN (object_data.title IS NULL) 340 CASE WHEN (object_data_del.title IS NULL) 341 THEN ' . $this->database->quote($this->defaultTitle,
'text') .
' 342 ELSE object_data_del.title 344 ELSE object_data.title 347 FROM il_cert_user_cert 348 LEFT JOIN object_data ON object_data.obj_id = il_cert_user_cert.obj_id 349 LEFT JOIN object_data_del ON object_data_del.obj_id = il_cert_user_cert.obj_id 350 WHERE user_id = ' . $this->database->quote($userId,
'integer') .
' 351 AND obj_type = ' . $this->database->quote(
$type,
'text') .
' 352 AND currently_active = 1';
354 $query = $this->database->query($sql);
357 while ($row = $this->database->fetchAssoc(
$query)) {
361 (
int) $row[
'obj_id'],
362 (
string) $row[
'obj_type'],
370 $this->logger->info(sprintf(
'END - Fetching all active certificates for user: "%s" and type: "%s"', $userId,
$type));
createUserCertificate($row)
◆ fetchActiveCertificatesInIntervalForPresentation()
ilUserCertificateRepository::fetchActiveCertificatesInIntervalForPresentation |
( |
int |
$userId, |
|
|
int |
$startTimestamp, |
|
|
int |
$endTimeStamp |
|
) |
| |
- Parameters
-
int | $userId | |
string | $orderBy | |
- Returns
- ilUserCertificatePresentation[]
Definition at line 165 of file class.ilUserCertificateRepository.php.
References $query, $result, and createUserCertificate().
167 $this->logger->info(sprintf(
'START - Fetching all active certificates for user: "%s"', $userId));
171 il_cert_user_cert.pattern_certificate_id, 172 il_cert_user_cert.obj_id, 173 il_cert_user_cert.obj_type, 174 il_cert_user_cert.user_id, 175 il_cert_user_cert.user_name, 176 il_cert_user_cert.acquired_timestamp, 177 il_cert_user_cert.certificate_content, 178 il_cert_user_cert.template_values, 179 il_cert_user_cert.valid_until, 180 il_cert_user_cert.version, 181 il_cert_user_cert.ilias_version, 182 il_cert_user_cert.currently_active, 183 il_cert_user_cert.background_image_path, 184 il_cert_user_cert.id, 185 il_cert_user_cert.thumbnail_image_path, 186 (CASE WHEN (object_data.title IS NULL) 188 CASE WHEN (object_data_del.title IS NULL) 189 THEN ' . $this->database->quote($this->defaultTitle,
'text') .
' 190 ELSE object_data_del.title 192 ELSE object_data.title 195 FROM il_cert_user_cert 196 LEFT JOIN object_data ON object_data.obj_id = il_cert_user_cert.obj_id 197 LEFT JOIN object_data_del ON object_data_del.obj_id = il_cert_user_cert.obj_id 198 WHERE user_id = ' . $this->database->quote($userId,
'integer') .
' 199 AND currently_active = 1 200 AND acquired_timestamp >= ' . $this->database->quote($startTimestamp,
'integer') .
' 201 AND acquired_timestamp <= ' . $this->database->quote($endTimeStamp,
'integer');
203 $query = $this->database->query($sql);
206 while ($row = $this->database->fetchAssoc(
$query)) {
210 (
int) $row[
'obj_id'],
211 (
string) $row[
'obj_type'],
219 $this->logger->debug(sprintf(
'Actual results: "%s"', json_encode(
$result)));
220 $this->logger->info(sprintf(
'END - All active certificates for user: "%s" total: "%s"', $userId, count(
$result)));
createUserCertificate($row)
◆ fetchCertificate()
ilUserCertificateRepository::fetchCertificate |
( |
int |
$id | ) |
|
- Parameters
-
- Returns
- ilUserCertificate
- Exceptions
-
Definition at line 380 of file class.ilUserCertificateRepository.php.
References $query, and createUserCertificate().
382 $this->logger->info(sprintf(
'START - Fetch certificate by id: "%s"', $id));
384 $sql =
'SELECT * FROM il_cert_user_cert WHERE id = ' . $this->database->quote($id,
'integer');
386 $query = $this->database->query($sql);
388 while ($row = $this->database->fetchAssoc(
$query)) {
389 $this->logger->debug(sprintf(
'Fetched certificate: "%s"', json_encode($row)));
391 $this->logger->info(sprintf(
'END - Fetch certificate by id: "%s"', $id));
396 throw new ilException(
'No certificate found for user certificate id: ' . $id);
createUserCertificate($row)
◆ fetchCertificatesOfObject()
ilUserCertificateRepository::fetchCertificatesOfObject |
( |
int |
$objId, |
|
|
int |
$userId |
|
) |
| |
|
private |
- Parameters
-
- Returns
- array
Definition at line 467 of file class.ilUserCertificateRepository.php.
References $query, $result, and createUserCertificate().
Referenced by fetchLatestVersion().
469 $this->logger->info(sprintf(
470 'START - fetching all certificates of object(user id: "%s", object id: "%s")',
475 $sql =
'SELECT * FROM il_cert_user_cert 476 WHERE user_id = ' . $this->database->quote($userId,
'integer') .
' 477 AND obj_id = ' . $this->database->quote(
$objId,
'integer');
479 $query = $this->database->query($sql);
482 while ($row = $this->database->fetchAssoc(
$query)) {
483 $this->logger->debug(sprintf(
484 'Certificate found: "%s")',
485 json_encode($row, JSON_PRETTY_PRINT)
488 $this->logger->info(sprintf(
'Certificate: "%s"', json_encode($row)));
493 $this->logger->info(sprintf(
494 'END - fetching all certificates of object(user id: "%s", object id: "%s")',
createUserCertificate($row)
◆ fetchLatestVersion()
ilUserCertificateRepository::fetchLatestVersion |
( |
int |
$objId, |
|
|
int |
$userId |
|
) |
| |
|
private |
- Parameters
-
- Returns
- string
Definition at line 507 of file class.ilUserCertificateRepository.php.
References fetchCertificatesOfObject().
Referenced by save().
509 $this->logger->info(sprintf(
510 'START - fetching of latest certificates of object(user id: "%s", object id: "%s")',
518 foreach ($templates as $template) {
519 if ($template->getVersion() > $version) {
520 $version = $template->getVersion();
524 $this->logger->info(sprintf(
525 'END - fetching of latest certificates of object(user id: "%s", object id: "%s") with version "%s"',
fetchCertificatesOfObject(int $objId, int $userId)
◆ fetchObjectIdsWithCertificateForUser()
ilUserCertificateRepository::fetchObjectIdsWithCertificateForUser |
( |
int |
$userId, |
|
|
array |
$objectIds |
|
) |
| |
Definition at line 399 of file class.ilUserCertificateRepository.php.
References $query, and $result.
401 $this->logger->info(sprintf(
'START - Fetch certificate for user("%s") and ids: "%s"', $userId, json_encode($objectIds)));
403 if (0 === count($objectIds)) {
407 $inStatementObjectIds = $this->database->in(
414 $sql =
'SELECT obj_id FROM il_cert_user_cert 415 WHERE user_id = ' . $this->database->quote($userId,
'integer') .
416 ' AND ' . $inStatementObjectIds .
417 ' AND currently_active = ' . $this->database->quote(1,
'integer');
419 $query = $this->database->query($sql);
423 while ($row = $this->database->fetchAssoc(
$query)) {
424 $this->logger->debug(sprintf(
'Fetched certificate: "%s"', json_encode($row)));
◆ fetchUserIdsWithCertificateForObject()
ilUserCertificateRepository::fetchUserIdsWithCertificateForObject |
( |
int |
$objectId | ) |
|
Definition at line 431 of file class.ilUserCertificateRepository.php.
References $query, and $result.
433 $this->logger->info(sprintf(
'START - Fetch certificate for object("%s")"', $objectId));
435 $sql =
'SELECT user_id FROM il_cert_user_cert 436 WHERE obj_id = ' . $this->database->quote($objectId,
'integer') .
' 437 AND currently_active = ' . $this->database->quote(1,
'integer');
439 $query = $this->database->query($sql);
443 while ($row = $this->database->fetchAssoc(
$query)) {
444 $this->logger->debug(sprintf(
'Fetched certificate: "%s"', json_encode($row)));
◆ save()
- Parameters
-
- Returns
- ilUserCertificate
- Exceptions
-
Definition at line 58 of file class.ilUserCertificateRepository.php.
References $columns, $objId, deactivatePreviousCertificates(), fetchLatestVersion(), ilUserCertificate\getAcquiredTimestamp(), ilUserCertificate\getBackgroundImagePath(), ilUserCertificate\getCertificateContent(), ilUserCertificate\getIliasVersion(), ilUserCertificate\getObjId(), ilUserCertificate\getObjType(), ilUserCertificate\getPatternCertificateId(), ilUserCertificate\getTemplateValues(), ilUserCertificate\getThumbnailImagePath(), ilUserCertificate\getUserId(), ilUserCertificate\getUserName(), ilUserCertificate\getValidUntil(), ilUserCertificate\isCurrentlyActive(), and ilUserCertificate\withId().
60 $this->logger->info(
'START - saving of user certificate');
65 $id = (int) $this->database->nextId(
'il_cert_user_cert');
73 'id' => array(
'integer', $id),
75 'obj_id' => array(
'integer',
$objId),
76 'obj_type' => array(
'text', $userCertificate->
getObjType()),
77 'user_id' => array(
'integer', $userId),
78 'user_name' => array(
'text', $userCertificate->
getUserName()),
82 'valid_until' => array(
'integer', $userCertificate->
getValidUntil()),
83 'version' => array(
'integer', $version),
85 'currently_active' => array(
'integer', (integer) $userCertificate->
isCurrentlyActive()),
90 $this->logger->debug(sprintf(
'END - Save certificate with following values: %s', json_encode(
$columns, JSON_PRETTY_PRINT)));
92 $this->database->insert(
'il_cert_user_cert',
$columns);
94 return $userCertificate->
withId($id)->withVersion($version);
getPatternCertificateId()
deactivatePreviousCertificates(int $objId, int $userId)
fetchLatestVersion(int $objId, int $userId)
◆ $database
ilUserCertificateRepository::$database |
|
private |
◆ $defaultTitle
ilUserCertificateRepository::$defaultTitle |
|
private |
◆ $logger
ilUserCertificateRepository::$logger |
|
private |
The documentation for this class was generated from the following file: