ILIAS  release_8 Revision v8.24
ilCertificateObjectsForUserPreloader Class Reference
+ Collaboration diagram for ilCertificateObjectsForUserPreloader:

Public Member Functions

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

Private Attributes

ilUserCertificateRepository $userCertificateRepository
 

Static Private Attributes

static array $certificates = []
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilCertificateObjectsForUserPreloader::__construct ( ilUserCertificateRepository  $userCertificateRepository)

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

31 {
32 $this->userCertificateRepository = $userCertificateRepository;
33 }

References $userCertificateRepository.

Member Function Documentation

◆ isPreloaded()

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

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

56 : bool
57 {
58 if (false === array_key_exists($userId, self::$certificates)) {
59 return false;
60 }
61
62 if (true === in_array($objId, self::$certificates[$userId], true)) {
63 return true;
64 }
65
66 return false;
67 }
$objId
Definition: xapitoken.php:57

References $objId.

◆ preLoad()

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

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

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

Field Documentation

◆ $certificates

array ilCertificateObjectsForUserPreloader::$certificates = []
staticprivate

◆ $userCertificateRepository

ilUserCertificateRepository ilCertificateObjectsForUserPreloader::$userCertificateRepository
private

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

Referenced by __construct().


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