ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
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

References $objId.

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