74 : array
75 {
76 $courseTemplates = $this->templateRepository->fetchActiveTemplatesByType('crs');
77
78 $enabledGlobalLearningProgress = $this->trackingHelper->enabledLearningProgress();
79
80 $templatesOfCompletedCourses = array();
81 foreach ($courseTemplates as $courseTemplate) {
82 $courseObjectId = $courseTemplate->getObjId();
83
84 if ($enabledGlobalLearningProgress) {
86 $mode = $objectLearningProgressSettings->getMode();
87
89 continue;
90 }
91 }
92
93 $subItems = $this->setting->get('cert_subitems_' . $courseObjectId, false);
94
95 if (false === $subItems || $subItems === null) {
96 continue;
97 }
98
99 $subItems = json_decode($subItems);
100
101 if (!is_array($subItems)) {
102 continue;
103 }
104
105 $subitem_obj_ids = array();
106 foreach ($subItems as $subItemRefId) {
107 $subitem_obj_ids[$subItemRefId] = $this->objectHelper->lookupObjId((int) $subItemRefId);
108 }
109
110 if (in_array(
$refId, $subItems)) {
111 $completed = true;
112
113
114 foreach ($subitem_obj_ids as $subitem_ref_id => $subitem_id) {
115 $status = $this->statusHelper->lookUpStatus($subitem_id, $userId);
116
118 $completed = false;
119 break;
120 }
121 }
122
123 if (true === $completed) {
124 $templatesOfCompletedCourses[] = $courseTemplate;
125 }
126 }
127 }
128
129 return $templatesOfCompletedCourses;
130 }
const LP_MODE_DEACTIVATED
const LP_STATUS_COMPLETED_NUM