/** * Get all completed tests */ protected function getItems() { global $ilUser; $data = array(); include_once "Modules/Course/classes/class.ilObjCourse.php"; include_once "./Modules/Course/classes/class.ilCourseParticipants.php"; $obj_ids = ilCourseParticipants::_getMembershipByType($ilUser->getId(), "crs"); if ($obj_ids) { include_once "./Services/Certificate/classes/class.ilCertificate.php"; include_once "./Modules/Course/classes/class.ilCourseCertificateAdapter.php"; ilCourseCertificateAdapter::_preloadListData($ilUser->getId(), $obj_ids); foreach ($obj_ids as $crs_id) { // #11210 - only available certificates! if (ilCourseCertificateAdapter::_hasUserCertificate($ilUser->getId(), $crs_id)) { $crs = new ilObjCourse($crs_id, false); $adapter = new ilCourseCertificateAdapter($crs); if (ilCertificate::_isComplete($adapter)) { $data[] = array("id" => $crs_id, "title" => ilObject::_lookupTitle($crs_id), "passed" => true); } } } } $this->setData($data); }
/** * Get item properties * * @return array array of property arrays: * "alert" (boolean) => display as an alert property (usually in red) * "property" (string) => property name * "value" (string) => property value */ function getProperties() { global $lng, $ilUser; $props = parent::getProperties(); // offline include_once 'Modules/Course/classes/class.ilObjCourseAccess.php'; if (ilObjCourseAccess::_isOffline($this->obj_id)) { $showRegistrationInfo = false; $props[] = array("alert" => true, "property" => $lng->txt("status"), "value" => $lng->txt("offline")); } // blocked include_once 'Modules/Course/classes/class.ilCourseParticipant.php'; $members = ilCourseParticipant::_getInstanceByObjId($this->obj_id, $ilUser->getId()); if ($members->isBlocked($ilUser->getId()) and $members->isAssigned($ilUser->getId())) { $props[] = array("alert" => true, "property" => $lng->txt("member_status"), "value" => $lng->txt("crs_status_blocked")); } // pending subscription include_once 'Modules/Course/classes/class.ilCourseParticipants.php'; if (ilCourseParticipants::_isSubscriber($this->obj_id, $ilUser->getId())) { $props[] = array("alert" => true, "property" => $lng->txt("member_status"), "value" => $lng->txt("crs_status_pending")); } include_once './Modules/Course/classes/class.ilObjCourseAccess.php'; $info = ilObjCourseAccess::lookupRegistrationInfo($this->obj_id); if ($info['reg_info_list_prop']) { $props[] = array('alert' => false, 'newline' => true, 'property' => $info['reg_info_list_prop']['property'], 'value' => $info['reg_info_list_prop']['value']); } if ($info['reg_info_list_prop_limit']) { $props[] = array('alert' => false, 'newline' => false, 'property' => $info['reg_info_list_prop_limit']['property'], 'propertyNameVisible' => strlen($info['reg_info_list_prop_limit']['property']) ? true : false, 'value' => $info['reg_info_list_prop_limit']['value']); } // waiting list include_once './Modules/Course/classes/class.ilCourseWaitingList.php'; if (ilCourseWaitingList::_isOnList($ilUser->getId(), $this->obj_id)) { $props[] = array("alert" => true, "property" => $lng->txt('member_status'), "value" => $lng->txt('on_waiting_list')); } // check for certificates include_once "./Modules/Course/classes/class.ilCourseCertificateAdapter.php"; if (ilCourseCertificateAdapter::_hasUserCertificate($ilUser->getId(), $this->obj_id)) { $lng->loadLanguageModule('certificate'); $cmd_link = "ilias.php?baseClass=ilRepositoryGUI&ref_id=" . $this->ref_id . "&cmd=deliverCertificate"; $props[] = array("alert" => false, "property" => $lng->txt("passed"), "value" => '<a href="' . $cmd_link . '">' . $lng->txt("download_certificate") . '</a>'); } return $props; }