LD_MARKTOPICDONE::mark_quiz_complete( $user_id, null $course_id = null )
Contents
Parameters Parameters
- $user_id
-
(Required)
- $course_id
-
(Optional)
Default value: null
Source Source
File: src/integrations/learndash/actions/ld-marktopicdone.php
public function mark_quiz_complete( $user_id, $course_id = null ) { $quizz_progress = array(); if ( ! empty( $this->quiz_list ) ) { $usermeta = get_user_meta( $user_id, '_sfwd-quizzes', true ); $quizz_progress = empty( $usermeta ) ? array() : $usermeta; foreach ( $this->quiz_list as $quiz_id => $quiz ) { $quiz_meta = get_post_meta( $quiz_id, '_sfwd-quiz', true ); $quizdata = array( 'quiz' => $quiz_id, 'score' => 0, 'count' => 0, 'pass' => true, 'rank' => '-', 'time' => time(), 'pro_quizid' => $quiz_meta['sfwd-quiz_quiz_pro'], 'course' => $course_id, 'points' => 0, 'total_points' => 0, 'percentage' => 0, 'timespent' => 0, 'has_graded' => false, 'statistic_ref_id' => 0, 'm_edit_by' => 9999999, // Manual Edit By ID. 'm_edit_time' => time(), // Manual Edit timestamp. ); $quizz_progress[] = $quizdata; if ( $quizdata['pass'] == true ) { $quizdata_pass = true; } else { $quizdata_pass = false; } // Then we add the quiz entry to the activity database. learndash_update_user_activity( array( 'course_id' => $course_id, 'user_id' => $user_id, 'post_id' => $quiz_id, 'activity_type' => 'quiz', 'activity_action' => 'insert', 'activity_status' => $quizdata_pass, 'activity_started' => $quizdata['time'], 'activity_completed' => $quizdata['time'], 'activity_meta' => $quizdata, ) ); } } if ( ! empty( $quizz_progress ) ) { update_user_meta( $user_id, '_sfwd-quizzes', $quizz_progress ); } }
Expand full source code Collapse full source code View on Github