/** * Retake a quiz */ public static function retake_quiz() { $quiz_id = $_POST['quiz_id']; $user_id = get_current_user_id(); $response = array(); if (!learn_press_user_can_retake_quiz($quiz_id, $user_id)) { $response['message'] = __('Sorry! You can not retake this quiz', 'learn_press'); $response['error'] = true; } else { //lpr_reset_quiz_answer($quiz_id); learn_press_reset_user_quiz($user_id, $quiz_id); add_user_meta($user_id, '_lpr_quiz_taken', $quiz_id); $response['error'] = false; } wp_send_json($response); die; // set this quiz to retake $retake = get_user_meta($user_id, '_lpr_quiz_retake', true); if (!isset($retake) || !is_array($retake)) { $retake = array(); } array_push($retake, $quiz_id); update_user_meta($user_id, '_lpr_quiz_retake', $retake); }
function learn_press_update_quiz_time() { global $post_type; if (is_single() && 'lpr_quiz' == $post_type) { global $quiz; $user_id = get_current_user_id(); $retake_quiz = !empty($_REQUEST['retake_quiz']) ? $_REQUEST['retake_quiz'] : 0; if ($retake_quiz && learn_press_user_can_retake_quiz($quiz->id, $user_id)) { learn_press_reset_user_quiz($user_id, $quiz->id); //wp_redirect( get_permalink( $quiz->ID ) ); } } }
/** * Retake a quiz */ public static function retake_quiz() { $quiz_id = learn_press_get_request('quiz_id'); $user_id = learn_press_get_current_user_id(); $response = array(); if (!learn_press_user_can_retake_quiz($quiz_id, $user_id)) { $response['message'] = __('Sorry! You can not retake this quiz', 'learn_press'); $response['error'] = true; } else { //lpr_reset_quiz_answer($quiz_id); learn_press_reset_user_quiz($user_id, $quiz_id); add_user_meta($user_id, '_lpr_quiz_taken', $quiz_id); $response = array('retake' => true, 'redirect' => get_the_permalink($quiz_id)); do_action('learn_press_user_retake_quiz', $quiz_id, $user_id); } learn_press_send_json($response); }