◆ __construct()
ilUserCertificateRepository::__construct |
( |
?ilDBInterface |
$database = null , |
|
|
?ilLogger |
$logger = null , |
|
|
?string |
$defaultTitle = null |
|
) |
| |
◆ createUserCertificate()
ilUserCertificateRepository::createUserCertificate |
( |
array |
$row | ) |
|
|
private |
- Parameters
-
- Returns
- ilUserCertificate
Definition at line 613 of file class.ilUserCertificateRepository.php.
Referenced by fetchActiveCertificate(), fetchActiveCertificateForPresentation(), fetchActiveCertificates(), fetchActiveCertificatesByTypeForPresentation(), fetchActiveCertificatesInIntervalForPresentation(), fetchCertificate(), and fetchCertificatesOfObject().
616 (
int) $row[
'pattern_certificate_id'],
617 (
int) $row[
'obj_id'],
619 (
int) $row[
'usr_id'],
621 (
int) $row[
'acquired_timestamp'],
622 $row[
'certificate_content'],
623 $row[
'template_values'],
624 (
int) $row[
'valid_until'],
625 (
int) $row[
'version'],
626 $row[
'ilias_version'],
627 (
bool) $row[
'currently_active'],
628 (
string) $row[
'background_image_path'],
629 (
string) $row[
'thumbnail_image_path'],
630 isset($row[
'id']) ? (
int) $row[
'id'] : null
◆ deactivatePreviousCertificates()
ilUserCertificateRepository::deactivatePreviousCertificates |
( |
int |
$objId, |
|
|
int |
$userId |
|
) |
| |
|
private |
Definition at line 563 of file class.ilUserCertificateRepository.php.
References ILIAS\Repository\logger().
Referenced by save().
565 $this->
logger->debug(sprintf(
566 'START - deactivating previous certificates for user id: "%s" and object id: "%s"',
572 UPDATE il_cert_user_cert 573 SET currently_active = 0 574 WHERE obj_id = ' . $this->database->quote(
$objId,
'integer') .
' 575 AND usr_id = ' . $this->database->quote($userId,
'integer');
577 $this->database->manipulate($sql);
579 $this->
logger->debug(sprintf(
580 'END - deactivating previous certificates for user id: "%s" and object id: "%s"',
◆ deleteUserCertificates()
ilUserCertificateRepository::deleteUserCertificates |
( |
int |
$userId | ) |
|
Definition at line 485 of file class.ilUserCertificateRepository.php.
References ILIAS\Repository\logger().
487 $this->
logger->debug(sprintf(
'START - Delete certificate for user("%s")"', $userId));
489 $sql =
'DELETE FROM il_cert_user_cert WHERE usr_id = ' . $this->database->quote($userId,
'integer');
491 $this->database->manipulate($sql);
493 $this->
logger->debug(sprintf(
'END - Successfully deleted certificate for user("%s")"', $userId));
◆ fetchActiveCertificate()
ilUserCertificateRepository::fetchActiveCertificate |
( |
int |
$userId, |
|
|
int |
$objectId |
|
) |
| |
- Parameters
-
- Returns
- ilUserCertificate
- Exceptions
-
Definition at line 230 of file class.ilUserCertificateRepository.php.
References $query, createUserCertificate(), and ILIAS\Repository\logger().
232 $this->
logger->debug(sprintf(
233 'START - Fetching all active certificates for user: "%s" and object: "%s"',
239 FROM il_cert_user_cert 240 WHERE usr_id = ' . $this->database->quote($userId,
'integer') .
' 241 AND obj_id = ' . $this->database->quote($objectId,
'integer') .
' 242 AND currently_active = 1';
244 $query = $this->database->query($sql);
246 while ($row = $this->database->fetchAssoc(
$query)) {
247 $this->
logger->debug(sprintf(
'Active certificate values: %s', json_encode($row, JSON_THROW_ON_ERROR)));
249 $this->
logger->debug(sprintf(
250 'END -Found active user certificate for user: "%s" and object: "%s"',
259 'There is no active entry for user id: "%s" and object id: "%s"',
createUserCertificate(array $row)
◆ fetchActiveCertificateForPresentation()
ilUserCertificateRepository::fetchActiveCertificateForPresentation |
( |
int |
$userId, |
|
|
int |
$objectId |
|
) |
| |
- Parameters
-
- Returns
- ilUserCertificatePresentation
- Exceptions
-
Definition at line 271 of file class.ilUserCertificateRepository.php.
References $query, createUserCertificate(), and ILIAS\Repository\logger().
Referenced by ilPortfolioPageGUI\createPersistentCertificateUrl().
273 $this->
logger->debug(sprintf(
274 'START - Fetching all active certificates for user: "%s" and object: "%s"',
280 il_cert_user_cert.pattern_certificate_id, 281 il_cert_user_cert.obj_id, 282 il_cert_user_cert.obj_type, 283 il_cert_user_cert.usr_id, 284 il_cert_user_cert.user_name, 285 il_cert_user_cert.acquired_timestamp, 286 il_cert_user_cert.certificate_content, 287 il_cert_user_cert.template_values, 288 il_cert_user_cert.valid_until, 289 il_cert_user_cert.version, 290 il_cert_user_cert.ilias_version, 291 il_cert_user_cert.currently_active, 292 il_cert_user_cert.background_image_path, 293 il_cert_user_cert.id, 294 il_cert_user_cert.thumbnail_image_path, 296 COALESCE(object_data.title, object_data_del.title, ' . $this->database->quote($this->defaultTitle,
'text') .
') AS title 297 FROM il_cert_user_cert 298 LEFT JOIN object_data ON object_data.obj_id = il_cert_user_cert.obj_id 299 LEFT JOIN object_data_del ON object_data_del.obj_id = il_cert_user_cert.obj_id 300 LEFT JOIN usr_data ON usr_data.usr_id = il_cert_user_cert.usr_id 301 WHERE il_cert_user_cert.usr_id = ' . $this->database->quote($userId,
'integer') .
' 302 AND il_cert_user_cert.obj_id = ' . $this->database->quote($objectId,
'integer') .
' 303 AND il_cert_user_cert.currently_active = 1';
305 $query = $this->database->query($sql);
307 while ($row = $this->database->fetchAssoc(
$query)) {
308 $this->
logger->debug(sprintf(
'Active certificate values: %s', json_encode($row, JSON_THROW_ON_ERROR)));
310 $this->
logger->debug(sprintf(
311 'END -Found active user certificate for user: "%s" and object: "%s"',
318 (
int) $row[
'obj_id'],
319 (
string) $row[
'obj_type'],
328 'There is no active entry for user id: "%s" and object id: "%s"',
createUserCertificate(array $row)
◆ fetchActiveCertificates()
ilUserCertificateRepository::fetchActiveCertificates |
( |
int |
$userId | ) |
|
- Parameters
-
- Returns
- ilUserCertificatePresentation[]
Definition at line 105 of file class.ilUserCertificateRepository.php.
References $query, createUserCertificate(), and ILIAS\Repository\logger().
107 $this->
logger->debug(sprintf(
'START - Fetching all active certificates for user: "%s"', $userId));
111 il_cert_user_cert.pattern_certificate_id, 112 il_cert_user_cert.obj_id, 113 il_cert_user_cert.obj_type, 114 il_cert_user_cert.usr_id, 115 il_cert_user_cert.user_name, 116 il_cert_user_cert.acquired_timestamp, 117 il_cert_user_cert.certificate_content, 118 il_cert_user_cert.template_values, 119 il_cert_user_cert.valid_until, 120 il_cert_user_cert.version, 121 il_cert_user_cert.ilias_version, 122 il_cert_user_cert.currently_active, 123 il_cert_user_cert.background_image_path, 124 il_cert_user_cert.id, 125 il_cert_user_cert.thumbnail_image_path, 126 COALESCE(object_data.title, object_data_del.title, ' . $this->database->quote($this->defaultTitle,
'text') .
') AS title 127 FROM il_cert_user_cert 128 LEFT JOIN object_data ON object_data.obj_id = il_cert_user_cert.obj_id 129 LEFT JOIN object_data_del ON object_data_del.obj_id = il_cert_user_cert.obj_id 130 WHERE usr_id = ' . $this->database->quote($userId,
'integer') .
' 131 AND currently_active = 1';
133 $query = $this->database->query($sql);
136 while ($row = $this->database->fetchAssoc(
$query)) {
140 (
int) $row[
'obj_id'],
141 (
string) $row[
'obj_type'],
146 $result[] = $presentation;
149 $this->
logger->debug(sprintf(
'Actual results: "%s"', json_encode($result, JSON_THROW_ON_ERROR)));
150 $this->
logger->debug(sprintf(
151 'END - All active certificates for user: "%s" total: "%s"',
createUserCertificate(array $row)
◆ fetchActiveCertificatesByTypeForPresentation()
ilUserCertificateRepository::fetchActiveCertificatesByTypeForPresentation |
( |
int |
$userId, |
|
|
string |
$type |
|
) |
| |
- Parameters
-
- Returns
- ilUserCertificatePresentation[]
Definition at line 339 of file class.ilUserCertificateRepository.php.
References $query, createUserCertificate(), and ILIAS\Repository\logger().
Referenced by ilCmiXapiVerificationTableGUI\getItems(), and ilLTIConsumerVerificationTableGUI\getItems().
341 $this->
logger->debug(sprintf(
342 'START - Fetching all active certificates for user: "%s" and type: "%s"',
348 il_cert_user_cert.pattern_certificate_id, 349 il_cert_user_cert.obj_id, 350 il_cert_user_cert.obj_type, 351 il_cert_user_cert.usr_id, 352 il_cert_user_cert.user_name, 353 il_cert_user_cert.acquired_timestamp, 354 il_cert_user_cert.certificate_content, 355 il_cert_user_cert.template_values, 356 il_cert_user_cert.valid_until, 357 il_cert_user_cert.version, 358 il_cert_user_cert.ilias_version, 359 il_cert_user_cert.currently_active, 360 il_cert_user_cert.background_image_path, 361 il_cert_user_cert.id, 362 il_cert_user_cert.thumbnail_image_path, 363 COALESCE(object_data.title, object_data_del.title, ' . $this->database->quote($this->defaultTitle,
'text') .
') AS title 364 FROM il_cert_user_cert 365 LEFT JOIN object_data ON object_data.obj_id = il_cert_user_cert.obj_id 366 LEFT JOIN object_data_del ON object_data_del.obj_id = il_cert_user_cert.obj_id 367 WHERE usr_id = ' . $this->database->quote($userId,
'integer') .
' 368 AND obj_type = ' . $this->database->quote(
$type,
'text') .
' 369 AND currently_active = 1';
371 $query = $this->database->query($sql);
374 while ($row = $this->database->fetchAssoc(
$query)) {
378 (
int) $row[
'obj_id'],
379 (
string) $row[
'obj_type'],
384 $result[] = $presentation;
387 $this->
logger->debug(sprintf(
388 'END - Fetching all active certificates for user: "%s" and type: "%s"',
createUserCertificate(array $row)
◆ fetchActiveCertificatesInIntervalForPresentation()
ilUserCertificateRepository::fetchActiveCertificatesInIntervalForPresentation |
( |
int |
$userId, |
|
|
int |
$startTimestamp, |
|
|
int |
$endTimeStamp |
|
) |
| |
- Parameters
-
int | $userId | |
int | $startTimestamp | |
int | $endTimeStamp | |
- Returns
- ilUserCertificatePresentation[]
Definition at line 165 of file class.ilUserCertificateRepository.php.
References $query, createUserCertificate(), and ILIAS\Repository\logger().
170 $this->
logger->debug(sprintf(
'START - Fetching all active certificates for user: "%s"', $userId));
174 il_cert_user_cert.pattern_certificate_id, 175 il_cert_user_cert.obj_id, 176 il_cert_user_cert.obj_type, 177 il_cert_user_cert.usr_id, 178 il_cert_user_cert.user_name, 179 il_cert_user_cert.acquired_timestamp, 180 il_cert_user_cert.certificate_content, 181 il_cert_user_cert.template_values, 182 il_cert_user_cert.valid_until, 183 il_cert_user_cert.version, 184 il_cert_user_cert.ilias_version, 185 il_cert_user_cert.currently_active, 186 il_cert_user_cert.background_image_path, 187 il_cert_user_cert.id, 188 il_cert_user_cert.thumbnail_image_path, 189 COALESCE(object_data.title, object_data_del.title, ' . $this->database->quote($this->defaultTitle,
'text') .
') AS title 190 FROM il_cert_user_cert 191 LEFT JOIN object_data ON object_data.obj_id = il_cert_user_cert.obj_id 192 LEFT JOIN object_data_del ON object_data_del.obj_id = il_cert_user_cert.obj_id 193 WHERE usr_id = ' . $this->database->quote($userId,
'integer') .
' 194 AND currently_active = 1 195 AND acquired_timestamp >= ' . $this->database->quote($startTimestamp,
'integer') .
' 196 AND acquired_timestamp <= ' . $this->database->quote($endTimeStamp,
'integer');
198 $query = $this->database->query($sql);
201 while ($row = $this->database->fetchAssoc(
$query)) {
205 (
int) $row[
'obj_id'],
206 (
string) $row[
'obj_type'],
211 $result[] = $presentation;
214 $this->
logger->debug(sprintf(
'Actual results: "%s"', json_encode($result, JSON_THROW_ON_ERROR)));
215 $this->
logger->debug(sprintf(
216 'END - All active certificates for user: "%s" total: "%s"',
createUserCertificate(array $row)
◆ fetchCertificate()
ilUserCertificateRepository::fetchCertificate |
( |
int |
$id | ) |
|
- Parameters
-
- Returns
- ilUserCertificate
- Exceptions
-
Definition at line 401 of file class.ilUserCertificateRepository.php.
References $query, createUserCertificate(), and ILIAS\Repository\logger().
403 $this->
logger->debug(sprintf(
'START - Fetch certificate by id: "%s"',
$id));
405 $sql =
'SELECT * FROM il_cert_user_cert WHERE id = ' . $this->database->quote(
$id,
'integer');
407 $query = $this->database->query($sql);
409 while ($row = $this->database->fetchAssoc(
$query)) {
410 $this->
logger->debug(sprintf(
'Fetched certificate: "%s"', json_encode($row, JSON_THROW_ON_ERROR)));
412 $this->
logger->debug(sprintf(
'END - Fetch certificate by id: "%s"',
$id));
417 throw new ilException(
'No certificate found for user certificate id: ' .
$id);
createUserCertificate(array $row)
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
◆ fetchCertificatesOfObject()
ilUserCertificateRepository::fetchCertificatesOfObject |
( |
int |
$objId, |
|
|
int |
$userId |
|
) |
| |
|
private |
- Parameters
-
- Returns
- ilUserCertificate[]
Definition at line 501 of file class.ilUserCertificateRepository.php.
References $query, createUserCertificate(), and ILIAS\Repository\logger().
Referenced by fetchLatestVersion().
503 $this->
logger->debug(sprintf(
504 'START - fetching all certificates of object(user id: "%s", object id: "%s")',
509 $sql =
'SELECT * FROM il_cert_user_cert 510 WHERE usr_id = ' . $this->database->quote($userId,
'integer') .
' 511 AND obj_id = ' . $this->database->quote(
$objId,
'integer');
513 $query = $this->database->query($sql);
516 while ($row = $this->database->fetchAssoc(
$query)) {
517 $this->
logger->debug(sprintf(
518 'Certificate found: "%s")',
519 json_encode($row, JSON_THROW_ON_ERROR | JSON_PRETTY_PRINT)
522 $this->
logger->debug(sprintf(
'Certificate: "%s"', json_encode($row, JSON_THROW_ON_ERROR)));
527 $this->
logger->debug(sprintf(
528 'END - fetching all certificates of object(user id: "%s", object id: "%s")',
createUserCertificate(array $row)
◆ fetchLatestVersion()
ilUserCertificateRepository::fetchLatestVersion |
( |
int |
$objId, |
|
|
int |
$userId |
|
) |
| |
|
private |
◆ fetchObjectIdsWithCertificateForUser()
ilUserCertificateRepository::fetchObjectIdsWithCertificateForUser |
( |
int |
$userId, |
|
|
array |
$objectIds |
|
) |
| |
- Parameters
-
int | $userId | |
| int[] | $objectIds |
- Returns
- int[]
Definition at line 425 of file class.ilUserCertificateRepository.php.
References $query, ILIAS\Repository\int(), and ILIAS\Repository\logger().
427 $this->
logger->debug(sprintf(
428 'START - Fetch certificate for user("%s") and ids: "%s"',
430 json_encode($objectIds, JSON_THROW_ON_ERROR)
433 if (0 === count($objectIds)) {
437 $inStatementObjectIds = $this->database->in(
444 $sql =
'SELECT obj_id FROM il_cert_user_cert 445 WHERE usr_id = ' . $this->database->quote($userId,
'integer') .
446 ' AND ' . $inStatementObjectIds .
447 ' AND currently_active = ' . $this->database->quote(1,
'integer');
449 $query = $this->database->query($sql);
453 while ($row = $this->database->fetchAssoc(
$query)) {
454 $this->
logger->debug(sprintf(
'Fetched certificate: "%s"', json_encode($row, JSON_THROW_ON_ERROR)));
455 $result[] = (
int) $row[
'obj_id'];
◆ fetchUserIdsWithCertificateForObject()
ilUserCertificateRepository::fetchUserIdsWithCertificateForObject |
( |
int |
$objectId | ) |
|
- Parameters
-
- Returns
- int[]
Definition at line 465 of file class.ilUserCertificateRepository.php.
References $query, ILIAS\Repository\int(), and ILIAS\Repository\logger().
467 $this->
logger->debug(sprintf(
'START - Fetch certificate for object("%s")"', $objectId));
469 $sql =
'SELECT usr_id FROM il_cert_user_cert 470 WHERE obj_id = ' . $this->database->quote($objectId,
'integer') .
' 471 AND currently_active = ' . $this->database->quote(1,
'integer');
473 $query = $this->database->query($sql);
477 while ($row = $this->database->fetchAssoc(
$query)) {
478 $this->
logger->debug(sprintf(
'Fetched certificate: "%s"', json_encode($row, JSON_THROW_ON_ERROR)));
479 $result[] = (
int) $row[
'usr_id'];
◆ isBackgroundImageUsed()
ilUserCertificateRepository::isBackgroundImageUsed |
( |
string |
$relative_image_path | ) |
|
Definition at line 586 of file class.ilUserCertificateRepository.php.
References ILIAS\Repository\logger().
588 $this->
logger->debug(sprintf(
589 'START - Checking if any certificate template uses background image path "%s"',
593 $result = $this->database->queryF(
594 'SELECT EXISTS(SELECT 1 FROM il_cert_user_cert WHERE background_image_path = %s AND currently_active = 1) AS does_exist',
596 [$relative_image_path]
599 $exists = (bool) ($this->database->fetchAssoc($result)[
'does_exist'] ??
false);
601 $this->
logger->debug(sprintf(
602 'END - Image path "%s" is ' . $exists ?
"in use" :
"unused",
◆ save()
- Parameters
-
- Returns
- ilUserCertificate
- Exceptions
-
Definition at line 59 of file class.ilUserCertificateRepository.php.
References $id, $objId, $version, 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(), ILIAS\Repository\int(), ilUserCertificate\isCurrentlyActive(), ILIAS\Repository\logger(), and ilUserCertificate\withId().
61 $this->
logger->debug(
'START - saving of user certificate');
66 $id = $this->database->nextId(
'il_cert_user_cert');
74 'id' => [
'integer',
$id],
76 'obj_id' => [
'integer',
$objId],
77 'obj_type' => [
'text', $userCertificate->
getObjType()],
78 'usr_id' => [
'integer', $userId],
79 'user_name' => [
'text', $userCertificate->
getUserName()],
83 'valid_until' => [
'integer', $userCertificate->
getValidUntil()],
91 $this->
logger->debug(sprintf(
92 'END - Save certificate with following values: %s',
93 json_encode($columns, JSON_THROW_ON_ERROR | JSON_PRETTY_PRINT)
96 $this->database->insert(
'il_cert_user_cert', $columns);
getPatternCertificateId()
deactivatePreviousCertificates(int $objId, int $userId)
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
fetchLatestVersion(int $objId, int $userId)
◆ $database
◆ $defaultTitle
string ilUserCertificateRepository::$defaultTitle |
|
private |
◆ $logger
ilLogger ilUserCertificateRepository::$logger |
|
private |
The documentation for this class was generated from the following file: