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);
    }
}
function learn_press_submit_answer()
{
    $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']) : 0;
    $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();
    ob_start();
    $ques = lpr_get_question($question_id);
    if ($ques) {
        $ques->submit_answer($quiz_id, $question_answer);
    }
    if ($next_id) {
        /*$ques = lpr_get_question( $next_id );
        
                if( $ques ){
                    $quiz_answers = learn_press_get_question_answers(null, $quiz_id );
                    $ques->render( array(
                        'answer' => isset( $quiz_answers[$next_id] ) ? $quiz_answers[$next_id] : null
                    ));
                }*/
        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] = time();
        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;
    }
    $json['html'] = ob_get_clean();
    wp_send_json($json);
    die;
}
Esempio n. 3
0
function learn_press_get_prev_question($current_question_id, $quiz_id = false, $user_id = false)
{
    if (!$quiz_id) {
        $quiz_id = get_the_ID();
        if (get_post_type($quiz_id) != 'lpr_quiz') {
            return false;
        }
    }
    if (!$user_id) {
        $user_id = get_current_user_id();
    }
    $quiz_questions = learn_press_get_user_quiz_questions($quiz_id, $user_id);
    $prev_id = false;
    if (($question_pos = array_search($current_question_id, $quiz_questions)) !== false) {
        $prev_id = $question_pos > 0 ? $quiz_questions[$question_pos - 1] : false;
    }
    return apply_filters('learn_press_get_prev_question', $prev_id, $current_question_id, $quiz_id, $user_id);
}
Esempio n. 4
0
/**
 * @param int
 * @param int - since 0.9.5
 *
 * @return bool|int
 */
function learn_press_get_current_question($quiz_id = null, $user_id = 0)
{
    $quiz_id = learn_press_get_quiz_id($quiz_id);
    if (!$user_id) {
        $user_id = get_current_user_id();
    }
    if (!$quiz_id) {
        return false;
    }
    if ($question_id = learn_press_get_request('question')) {
    } else {
        $questions = get_user_meta($user_id, '_lpr_quiz_current_question', true);
        if (!empty($questions) && !empty($questions[$quiz_id])) {
            $question_id = $questions[$quiz_id];
        } else {
            $questions = (array) learn_press_get_user_quiz_questions($quiz_id, $user_id);
            $question_id = reset($questions);
        }
    }
    // ver 0.9.5
    $question_id = apply_filters('learn_press_get_current_question', $question_id, $quiz_id, $user_id);
    return $question_id;
}