LLMS_Quiz_Attempt::init( int $quiz_id, int $lesson_id, mixed $student = null )
Initialize a new quiz attempt by quiz and lesson for a user
Description Description
If no user found throws an Exception.
Parameters Parameters
- $quiz_id
-
(int) (Required) WP Post ID of the quiz.
- $lesson_id
-
(int) (Required) WP Post ID of the lesson.
- $student
-
(mixed) (Optional) Accepts anything that can be passed to llms_get_student. If no user is passed the current user will be used. Default
null
.Default value: null
Return Return
(obj)
Source Source
File: includes/models/model.llms.quiz.attempt.php
632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 | * @ return obj */ public static function init( $quiz_id , $lesson_id , $student = null ) { $student = llms_get_student( $student ); if ( ! $student ) { throw new Exception( __( 'You must be logged in to take a quiz!' , 'lifterlms' ) ); } // Initialize a new attempt. $attempt = new self(); $attempt ->set( 'quiz_id' , $quiz_id ); $attempt ->set( 'lesson_id' , $lesson_id ); $attempt ->set( 'student_id' , $student ->get_id() ); $attempt ->set_status( 'incomplete' ); $attempt ->set_questions( $attempt ->get_new_questions() ); $number = 1; $last_attempt = $student ->quizzes()->get_last_attempt( $quiz_id ); if ( $last_attempt ) { $number = absint( $last_attempt ->get( 'attempt' ) ) + 1; } $attempt ->set( 'attempt' , $number ); return $attempt ; |
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
3.9.0 | Introduced. |