コード例 #1
0
 function submit_quiz()
 {
     $id = $_POST['id'];
     $user_id = get_current_user_id();
     update_user_meta($user_id, $id, time());
     update_post_meta($id, $user_id, 0);
     bp_course_record_activity(array('action' => __('Student submitted the Quiz', 'vibe'), 'content' => __('Quiz ', 'vibe') . get_the_title($id) . __(' was submitted by student ', 'vibe') . bp_core_get_userlink($user_id), 'type' => 'submit_quiz', 'primary_link' => get_permalink($id), 'item_id' => $id, 'secondary_item_id' => $user_id));
     do_action('badgeos_wplms_submit_quiz', $id);
     bp_course_quiz_auto_submit($id, $user_id);
     die;
 }
コード例 #2
0
 function submit_quiz()
 {
     $quiz_id = $_POST['quiz_id'];
     $user_id = get_current_user_id();
     $access = get_user_meta($user_id, $quiz_id, true);
     if (!isset($access) || !is_numeric($access)) {
         _e('Invalid submission time.', 'vibe');
         die;
     }
     $get_questions = vibe_sanitize(get_post_meta($quiz_id, 'quiz_questions' . $user_id, false));
     if (!is_array($get_questions) || !is_array($get_questions['ques']) || !is_array($get_questions['marks'])) {
         _e('Questions not set.', 'vibe');
         die;
     }
     $answers = json_decode(stripslashes($_POST['answers']));
     $flag = apply_filters('bp_course_quiz_insert_query', 1, $quiz_id, $answers);
     if ($flag && !empty($answers)) {
         $values = '';
         foreach ($answers as $answer) {
             $values .= "(" . $answer->id . ",'" . $answer->value . "'," . $user_id . ",1),";
         }
         $finalvalues = rtrim($values, ',');
         global $wpdb;
         $wpdb->query("INSERT INTO {$wpdb->comments}(comment_post_ID,comment_content,user_id,comment_approved) VALUES {$finalvalues}");
     }
     update_user_meta($user_id, $quiz_id, time());
     update_post_meta($quiz_id, $user_id, 0);
     do_action('wplms_submit_quiz', $quiz_id, $user_id);
     $course_id = get_post_meta($quiz_id, 'vibe_quiz_course', true);
     if (!empty($course_id)) {
         // Course progressbar fix for single quiz
         $curriculum = bp_course_get_curriculum_units($course_id);
         $per = round(100 / count($curriculum), 2);
         $progress = bp_course_get_user_progress($user_id, $course_id);
         if (empty($progress)) {
             $progress = 0;
         }
         $new_progress = $progress + $per;
         if ($new_progress > 100) {
             $new_progress = 100;
         }
         bp_course_update_user_progress($user_id, $course_id, $new_progress);
     }
     bp_course_quiz_auto_submit($quiz_id, $user_id);
     die;
 }
コード例 #3
0
 function submit_quiz()
 {
     $id = $_POST['id'];
     $user_id = get_current_user_id();
     update_user_meta($user_id, $id, time());
     update_post_meta($id, $user_id, 0);
     do_action('wplms_submit_quiz', $id, $user_id);
     bp_course_quiz_auto_submit($id, $user_id);
     die;
 }
コード例 #4
0
function incourse_submit_quiz()
{
    $quiz_id = $_POST['quiz_id'];
    if (!isset($_POST['security']) || !wp_verify_nonce($_POST['security'], 'security') || !is_numeric($quiz_id)) {
        _e('Security check Failed. Contact Administrator.', 'vibe');
        die;
    }
    $user_id = get_current_user_id();
    $access = get_user_meta($user_id, $quiz_id, true);
    if (!isset($access) || !is_numeric($access)) {
        _e('Invalid submission time.', 'vibe');
        die;
    }
    $get_questions = vibe_sanitize(get_post_meta($quiz_id, 'quiz_questions' . $user_id, false));
    if (!is_array($get_questions) || !is_array($get_questions['ques']) || !is_array($get_questions['marks'])) {
        _e('Questions not set.', 'vibe');
        die;
    }
    $answers = json_decode(stripslashes($_POST['answers']));
    foreach ($answers as $answer) {
        $data = apply_filters('wplms_add_in_quiz_question_answer', array('comment_post_ID' => $answer->id, 'comment_content' => $answer->value, 'comment_type' => '', 'user_id' => $user_id, 'comment_approved' => 1));
        wp_insert_comment($data);
    }
    update_user_meta($user_id, $quiz_id, time());
    update_post_meta($quiz_id, $user_id, 0);
    do_action('wplms_submit_quiz', $quiz_id, $user_id);
    bp_course_quiz_auto_submit($quiz_id, $user_id);
    $get_message = trim(get_post_meta($quiz_id, 'vibe_quiz_message', true));
    $course_id = get_post_meta($quiz_id, 'vibe_quiz_course', true);
    $nextunit_access = vibe_get_option('nextunit_access');
    $flag = apply_filters('wplms_next_unit_access', true, $quiz_id);
    if (is_numeric($course_id) && $nextunit_access && $flag) {
        $curriculum = bp_course_get_curriculum_units($course_id);
        $key = array_search($quiz_id, $curriculum);
        if ($key <= count($curriculum) - 1) {
            // Check if not the last unit
            $key++;
            echo $curriculum[$key] . '##';
        }
    }
    echo ' ';
    echo apply_filters('the_content', $get_message);
    die;
}