ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
ilCertificateCourseLearningProgressEvaluation Class Reference
+ Collaboration diagram for ilCertificateCourseLearningProgressEvaluation:

Public Member Functions

 __construct (private readonly ilCertificateTemplateRepository $templateRepository, ?ilSetting $setting=null, ?ilCertificateObjectHelper $objectHelper=null, ?ilCertificateLPStatusHelper $statusHelper=null, ?ilCertificateObjUserTrackingHelper $trackingHelper=null)
 
 evaluate (int $refId, int $userId)
 

Private Attributes

readonly ilSetting $setting
 
readonly ilCertificateObjectHelper $objectHelper
 
readonly ilCertificateLPStatusHelper $statusHelper
 
readonly ilCertificateObjUserTrackingHelper $trackingHelper
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilCertificateCourseLearningProgressEvaluation::__construct ( private readonly ilCertificateTemplateRepository  $templateRepository,
?ilSetting  $setting = null,
?ilCertificateObjectHelper  $objectHelper = null,
?ilCertificateLPStatusHelper  $statusHelper = null,
?ilCertificateObjUserTrackingHelper  $trackingHelper = null 
)

Definition at line 31 of file class.ilCertificateCourseLearningProgressEvaluation.php.

References $objectHelper, $setting, $statusHelper, and $trackingHelper.

37  {
38  if (null === $setting) {
39  $setting = new ilSetting('crs');
40  }
41  $this->setting = $setting;
42 
43  if (null === $objectHelper) {
45  }
46  $this->objectHelper = $objectHelper;
47 
48  if (null === $statusHelper) {
50  }
51  $this->statusHelper = $statusHelper;
52  if (null === $trackingHelper) {
54  }
55  $this->trackingHelper = $trackingHelper;
56  }

Member Function Documentation

◆ evaluate()

ilCertificateCourseLearningProgressEvaluation::evaluate ( int  $refId,
int  $userId 
)
Returns
ilCertificateTemplate[]

Definition at line 61 of file class.ilCertificateCourseLearningProgressEvaluation.php.

References $refId, and ilLPStatus\LP_STATUS_COMPLETED_NUM.

61  : array
62  {
63  $courseTemplates = $this->templateRepository
64  ->fetchActiveCertificateTemplatesForCoursesWithDisabledLearningProgress(
65  $this->trackingHelper->enabledLearningProgress(),
66  $refId
67  );
68 
69  $templatesOfCompletedCourses = [];
70  foreach ($courseTemplates as $courseTemplate) {
71  $courseObjectId = $courseTemplate->getObjId();
72 
73  $subItems = $this->setting->get('cert_subitems_' . $courseObjectId);
74  if ($subItems === null) {
75  continue;
76  }
77  $subItems = json_decode($subItems, true, 512, JSON_THROW_ON_ERROR);
78  if (!is_array($subItems)) {
79  continue;
80  }
81 
82  $subitem_obj_ids = [];
83  foreach ($subItems as $subItemRefId) {
84  $subitem_obj_ids[$subItemRefId] = $this->objectHelper->lookupObjId((int) $subItemRefId);
85  }
86 
87  if (in_array($refId, $subItems)) {
88  $completed = true;
89 
90  // check if all subitems are completed now
91  foreach ($subitem_obj_ids as $subitem_id) {
92  $status = $this->statusHelper->lookUpStatus($subitem_id, $userId);
93 
94  if ($status !== ilLPStatus::LP_STATUS_COMPLETED_NUM) {
95  $completed = false;
96  break;
97  }
98  }
99 
100  if ($completed) {
101  $templatesOfCompletedCourses[] = $courseTemplate;
102  }
103  }
104  }
105 
106  return $templatesOfCompletedCourses;
107  }
const LP_STATUS_COMPLETED_NUM
$refId
Definition: xapitoken.php:58

Field Documentation

◆ $objectHelper

readonly ilCertificateObjectHelper ilCertificateCourseLearningProgressEvaluation::$objectHelper
private

Definition at line 27 of file class.ilCertificateCourseLearningProgressEvaluation.php.

Referenced by __construct().

◆ $setting

readonly ilSetting ilCertificateCourseLearningProgressEvaluation::$setting
private

Definition at line 26 of file class.ilCertificateCourseLearningProgressEvaluation.php.

Referenced by __construct().

◆ $statusHelper

readonly ilCertificateLPStatusHelper ilCertificateCourseLearningProgressEvaluation::$statusHelper
private

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

Referenced by __construct().

◆ $trackingHelper

readonly ilCertificateObjUserTrackingHelper ilCertificateCourseLearningProgressEvaluation::$trackingHelper
private

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

Referenced by __construct().


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