ILIAS  trunk Revision v11.0_alpha-1744-gb0451eebef4
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilCertificateObjectsForUserPreloader Class Reference
+ Collaboration diagram for ilCertificateObjectsForUserPreloader:

Public Member Functions

 __construct (private readonly ilUserCertificateRepository $userCertificateRepository)
 
 preLoad (int $userId, array $objIds)
 
 isPreloaded (int $userId, int $objId)
 

Static Private Attributes

static array $certificates = []
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilCertificateObjectsForUserPreloader::__construct ( private readonly ilUserCertificateRepository  $userCertificateRepository)

Definition at line 29 of file class.ilCertificateObjectsForUserPreloader.php.

30  {
31  }

Member Function Documentation

◆ isPreloaded()

ilCertificateObjectsForUserPreloader::isPreloaded ( int  $userId,
int  $objId 
)

Definition at line 53 of file class.ilCertificateObjectsForUserPreloader.php.

53  : bool
54  {
55  if (!array_key_exists($userId, self::$certificates)) {
56  return false;
57  }
58 
59  return in_array($objId, self::$certificates[$userId], true);
60  }
$objId
Definition: xapitoken.php:57

◆ preLoad()

ilCertificateObjectsForUserPreloader::preLoad ( int  $userId,
array  $objIds 
)
Parameters
int[]$objIds

Definition at line 36 of file class.ilCertificateObjectsForUserPreloader.php.

36  : void
37  {
38  if (!array_key_exists($userId, self::$certificates)) {
39  self::$certificates[$userId] = [];
40  }
41 
42  $objectIdsWithUserCertificate = $this->userCertificateRepository->fetchObjectIdsWithCertificateForUser(
43  $userId,
44  array_diff($objIds, self::$certificates[$userId])
45  );
46 
47  self::$certificates[$userId] = array_unique(array_merge(
48  $objectIdsWithUserCertificate,
49  self::$certificates[$userId]
50  ));
51  }

Field Documentation

◆ $certificates

array ilCertificateObjectsForUserPreloader::$certificates = []
staticprivate

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