function learn_press_submit_answer() { _deprecated_function('learn_press_submit_answer', '0.9.15', false); $quiz_id = !empty($_REQUEST['quiz_id']) ? intval($_REQUEST['quiz_id']) : 0; $question_id = !empty($_REQUEST['question_id']) ? intval($_REQUEST['question_id']) : 0; $next_id = !empty($_REQUEST['next_id']) ? intval($_REQUEST['next_id']) : learn_press_get_next_question($quiz_id, $question_id); $question_answer = isset($_REQUEST['question_answer']) ? $_REQUEST['question_answer'] : null; $finish = isset($_REQUEST['finish']) ? $_REQUEST['finish'] : null; $user_id = get_current_user_id(); $json = array(); $ques = lpr_get_question($question_id); if ($ques) { $ques->submit_answer($quiz_id, $question_answer); } ob_start(); if ($next_id) { do_action('learn_press_submit_answer', $question_answer, $question_id, $quiz_id, $user_id, false); learn_press_get_template('quiz/form-question.php', array('question_id' => $next_id, 'course_id' => learn_press_get_course_by_quiz($quiz_id))); } else { $question_ids = learn_press_get_user_quiz_questions($quiz_id, $user_id); $quiz_completed = get_user_meta($user_id, '_lpr_quiz_completed', true); $quiz_completed[$quiz_id] = current_time('timestamp'); update_user_meta($user_id, '_lpr_quiz_completed', $quiz_completed); $course_id = learn_press_get_course_by_quiz($quiz_id); if (!learn_press_user_has_finished_course($course_id)) { if (learn_press_user_has_completed_all_parts($course_id, $user_id)) { learn_press_finish_course($course_id, $user_id); } } learn_press_get_template('quiz/result.php'); $json['quiz_completed'] = true; do_action('learn_press_submit_answer', $question_answer, $question_id, $quiz_id, $user_id, true); } $output = ob_get_clean(); if (defined('DOING_AJAX') && DOING_AJAX) { $json['html'] = $output; $json['redirect'] = apply_filters('learn_press_submit_answer_redirect_url', get_the_permalink($quiz_id), $question_answer, $question_id, $quiz_id, $user_id); learn_press_send_json($json); } }
/** * Get the permalink of a question with the quiz that contains the question * * @param int $quiz_id * @param int $current_question_id - optional * @param int $user_id - option * @return string */ function learn_press_get_user_next_question_url($quiz_id, $current_question_id = 0, $user_id = 0) { if (!$user_id) { $user_id = get_current_user_id(); } if (!$current_question_id) { if ($current_questions = get_user_meta($user_id, '_lpr_quiz_current_question', true)) { $current_question_id = !empty($current_questions[$quiz_id]) ? $current_questions[$quiz_id] : 0; } } $next_id = learn_press_get_next_question($current_question_id, $quiz_id, $user_id); if ($next_id) { $permalink = get_the_permalink($quiz_id); $question_name = get_post_field('post_name', $next_id); if ('' != get_option('permalink_structure')) { $permalink .= get_post_field('post_name', $next_id); } else { $permalink .= (strpos($permalink, '?') === false ? "?" : "&") . "question={$question_name}"; } } else { $permalink = ''; } return apply_filters('learn_press_get_user_next_question_url', $permalink, $quiz_id, $current_question_id, $user_id); }