ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
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.

References $userCertificateRepository.

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

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

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