/**
 * Calculate the progress of a student in a course
 * [Modified by TuNguyen on May 18 2015]
 *
 * @param $course_id
 *
 * @return float|int
 */
function lpr_course_evaluation($course_id)
{
    $user_id = get_current_user_id();
    $lesson_completed = get_user_meta($user_id, '_lpr_lesson_completed', true);
    $number_lesson = sizeof(learn_press_get_lessons_in_course($course_id));
    //lpr_get_number_lesson( $course_id );
    if ($lesson_completed && !empty($lesson_completed[$course_id]) && $number_lesson != 0) {
        $course_result = sizeof($lesson_completed[$course_id]) / $number_lesson;
    } else {
        $course_result = 0;
    }
    return $course_result * 100;
}
/**
 * Calculate the progress of a student in a course
 * [Modified by TuNguyen on May 18 2015]
 *
 * @param $course_id
 *
 * @return float|int
 */
function lpr_course_evaluation($course_id)
{
    $user_id = get_current_user_id();
    $lesson_completed = get_user_meta($user_id, '_lpr_lesson_completed', true);
    $all_lessons = learn_press_get_lessons_in_course($course_id);
    $number_lesson = sizeof($all_lessons);
    if ($lesson_completed && !empty($lesson_completed[$course_id]) && $number_lesson != 0) {
        $not_complete = array_diff($all_lessons, $lesson_completed[$course_id]);
        $course_result = ($number_lesson - sizeof($not_complete)) / $number_lesson;
    } else {
        $course_result = 0;
    }
    $return = $course_result * 100;
    return apply_filters('lpr_course_evaluation', $return, $course_id, $user_id);
}
Example #3
0
 /**
  * Complete lesson
  */
 public static function complete_lesson()
 {
     global $post;
     $user_id = get_current_user_id();
     $lesson_id = !empty($_POST['lesson']) ? $_POST['lesson'] : 0;
     if (!$user_id || !$lesson_id) {
         wp_die(__('Access denied!', 'learn_press'));
     }
     $response = array();
     if (learn_press_mark_lesson_complete($lesson_id, $user_id)) {
         $course_id = learn_press_get_course_by_lesson($lesson_id);
         $lessons = learn_press_get_lessons_in_course($course_id);
         $lesson_completed = get_user_meta($user_id, '_lpr_lesson_completed', true);
         $lesson_completed = !empty($lesson_completed[$course_id]) ? $lesson_completed[$course_id] : array();
         if ($lessons) {
             if (false !== ($pos = array_search($lesson_id, $lessons))) {
                 $loop = $pos == count($lessons) - 1 ? 0 : $pos + 1;
                 $infinite = 0;
                 $max = count($lessons);
                 while (in_array($lessons[$loop], $lesson_completed) && $lessons[$loop] != $lesson_id) {
                     $loop++;
                     if ($loop == $max) {
                         $loop = 0;
                     }
                     if ($infinite > $max) {
                         break;
                     }
                 }
                 if ($lessons[$loop] != $lesson_id) {
                     $response['url'] = learn_press_get_course_lesson_permalink($lessons[$loop], $course_id);
                 } else {
                     $response['url'] = learn_press_get_course_lesson_permalink($lesson_id, $course_id);
                 }
             }
         }
     }
     learn_press_send_json($response);
     die;
 }
 /**
  * Display the next/previous buttons to move the lesson to next or previous
  */
 function learn_press_course_content_next_prev_lesson()
 {
     // we are not in the loop of the course
     // we are in the loop of the lesson
     $course_id = learn_press_get_course_by_lesson(get_the_ID());
     if (!learn_press_user_has_enrolled_course($course_id)) {
         return;
     }
     $lessons = learn_press_get_lessons_in_course($course_id);
     if (!is_array($lessons)) {
         return;
     }
     $current_position = array_search(get_the_ID(), $lessons);
     $prev = null;
     $next = null;
     if (1 < ($n = sizeof($lessons))) {
         if ($current_position < sizeof($lessons) - 1) {
             $next_position = $current_position + 1;
             $next_id = $lessons[$next_position];
             $button_text = get_the_title($next_id);
             $button_text = apply_filters('learn_press_course_content_next_button_text', $button_text, $next_id, $course_id);
             $next = sprintf('<a href="%s" class="next-lesson" data-id="%d">%s</a>', learn_press_get_course_lesson_permalink($next_id, $course_id), $next_id, $button_text);
         }
         if ($current_position > 0) {
             $prev_position = $current_position - 1;
             $prev_id = $lessons[$prev_position];
             $button_text = get_the_title($prev_id);
             $button_text = apply_filters('learn_press_course_content_prev_button_text', $button_text, $prev_id, $course_id);
             $prev = sprintf('<a href="%s" class="prev-lesson" data-id="%d">%s</a>', learn_press_get_course_lesson_permalink($prev_id, $course_id), $prev_id, $button_text);
         }
         $args = compact('prev_id', 'next_id', 'prev', 'next');
         do_action('learn_press_before_course_content_lesson_nav', $args);
         printf('<p class="course-content-lesson-nav">%s%s</p>', $prev, $next);
         do_action('learn_press_after_course_content_lesson_nav', $args);
     }
 }
 /**
  * Complete lesson
  */
 public static function complete_lesson()
 {
     $nonce = learn_press_get_request('nonce');
     $item_id = learn_press_get_request('id');
     $post = get_post($item_id);
     if (!$post || $post && !wp_verify_nonce($nonce, sprintf('learn-press-complete-%s-%d', $post->post_type, $post->ID))) {
         throw new Exception(__('Error ', 'learn_press'));
     }
     $user = learn_press_get_current_user();
     $response = array('result' => 'error');
     if ($user->complete_lesson($item_id)) {
         ob_start();
         learn_press_display_message(__('Congratulations! You have completed this lesson.', 'learn_press'));
         $response['message'] = ob_get_clean();
         $response['result'] = 'success';
     }
     learn_press_send_json($response);
     die;
     global $post;
     $user_id = get_current_user_id();
     $lesson_id = !empty($_POST['lesson']) ? $_POST['lesson'] : 0;
     if (!$user_id || !$lesson_id) {
         wp_die(__('Access denied!', 'learn_press'));
     }
     $response = array();
     if (learn_press_mark_lesson_complete($lesson_id, $user_id)) {
         $course_id = learn_press_get_course_by_lesson($lesson_id);
         $lessons = learn_press_get_lessons_in_course($course_id);
         $lesson_completed = get_user_meta($user_id, '_lpr_lesson_completed', true);
         $lesson_completed = !empty($lesson_completed[$course_id]) ? $lesson_completed[$course_id] : array();
         if ($lessons) {
             if (false !== ($pos = array_search($lesson_id, $lessons))) {
                 $loop = $pos == count($lessons) - 1 ? 0 : $pos + 1;
                 $infinite = 0;
                 $max = count($lessons);
                 while (in_array($lessons[$loop], $lesson_completed) && $lessons[$loop] != $lesson_id) {
                     $loop++;
                     if ($loop == $max) {
                         $loop = 0;
                     }
                     if ($infinite > $max) {
                         break;
                     }
                 }
                 if ($lessons[$loop] != $lesson_id) {
                     $response['url'] = learn_press_get_course_lesson_permalink($lessons[$loop], $course_id);
                 } else {
                     $response['url'] = learn_press_get_course_lesson_permalink($lesson_id, $course_id);
                 }
             }
         }
     }
     learn_press_send_json($response);
     die;
 }