Esempio n. 1
0
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 ) );
        }
    }
}
Esempio n. 2
0
    <button class="button-finish-quiz btn" quiz-id="<?php 
echo get_the_ID();
?>
" data-area="sidebar">
        <?php 
// allow doing quiz if enrolled
echo apply_filters('learn_press_sidebar_finish_quiz_text', __("Finish Quiz", "learn_press"));
?>
    </button>
    <?php 
do_action('learn_press_after_finish_quiz_button');
?>
    <?php 
//endif;
?>
    <?php 
if (learn_press_user_can_retake_quiz()) {
    ?>
        <button class="button-retake-quiz btn" data-id="<?php 
    the_ID();
    ?>
"><?php 
    _e('Retake', 'learn_press');
    ?>
</button>
    <?php 
}
?>
</div>
<?php 
do_action('learn_press_after_quiz_buttons');
Esempio n. 3
0
 /**
  *  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);
 }
Esempio n. 4
0
 /**
  *  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);
 }