*/ public static function event_types(): array { return array( self::ENROLLED => 'Course Enrolment', self::UNENROLLED => 'Course Unenrolment', self::COURSE_COMPLETED => 'Course Completed', self::QUIZ_COMPLETED => 'Quiz Completed', self::GROUP_JOINED => 'Added to Group', self::GROUP_LEFT => 'Removed from Group', ); } /** * A quiz score as a number for details, or null. * * @param mixed $value A percentage or grade. */ public static function score( $value ): ?float { return is_numeric( $value ) ? round( (float) $value, 2 ) : null; } }