LLMS_Abstract_Notification_View_Quiz_Completion::set_merge_data( string $code )
Replace merge codes with actual values
Parameters Parameters
- $code
-
(string) (Required) The merge code to get merged data for.
Return Return
(string)
Source Source
File: includes/abstracts/llms.abstract.notification.view.quiz.completion.php
protected function set_merge_data( $code ) {
$quiz_id = $this->notification->get( 'post_id' );
$attempt = $this->user->quizzes()->get_last_completed_attempt( $quiz_id );
if ( ! $attempt ) {
return '';
}
$lesson = llms_get_post( $attempt->get( 'lesson_id' ) );
if ( ! $lesson ) {
return '';
}
switch ( $code ) {
case '{{COURSE_TITLE}}':
$course = $lesson->get_course();
if ( $course ) {
$code = $course->get( 'title' );
} else {
$code = '';
}
break;
case '{{GRADE}}':
$code = round( $attempt->get( 'grade' ), 2 ) . '%';
break;
case '{{GRADE_BAR}}':
$code = lifterlms_course_progress_bar( $attempt->get( 'grade' ), false, false, false );
break;
case '{{LESSON_TITLE}}':
$code = $lesson->get( 'title' );
break;
case '{{QUIZ_TITLE}}':
$code = get_the_title( $quiz_id );
break;
case '{{REVIEW_URL}}':
$code = add_query_arg(
array(
'tab' => 'quizzes',
'stab' => 'attempts',
'quiz_id' => $attempt->get( 'quiz_id' ),
'attempt_id' => $attempt->get( 'id' ),
),
admin_url( 'admin.php?page=llms-reporting' )
);
break;
case '{{STATUS}}':
$code = $attempt->l10n( 'status' );
break;
case '{{STUDENT_NAME}}':
$code = $this->is_for_self() ? __( 'you', 'lifterlms' ) : $this->user->get_name();
break;
}
return $code;
}
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
| Version | Description |
|---|---|
| 4.0.0 | Remove usage of deprecated class LLMS_Quiz_Legacy. |
| 3.24.0 | Introduced. |