?> </div> <?php } ?> <div class="dt-sc-clear"></div> <div class="dt-sc-hr-invisible-small"></div> <?php if (isset($dt_lesson_quiz) && $dt_lesson_quiz > 0) { if (current_user_can($s2_level) || IAMD_USER_ROLE == 's2member_level2' || IAMD_USER_ROLE == 's2member_level3' || IAMD_USER_ROLE == 's2member_level4' || is_user_logged_in() && $private_lesson == '') { if (isset($dt_grade_post[0])) { $grade = get_post_meta($dt_grade_post[0]->ID, "graded", true); if (!isset($grade) || $grade == '') { if (dt_can_user_retake_quiz($dt_lesson_course, $the_id, $dt_lesson_quiz, $user_id)) { echo '<a class="dt-sc-button small filled" href="' . get_permalink($dt_lesson_quiz) . '">' . __('Retake Quiz', 'dt_themes') . '</a>'; } else { echo '<div class="dt-sc-info-box">' . __('You may exceeded number of attempts to retake the quiz or you may not have permission to retake this quiz!.', 'dt_themes') . '</div>'; } } } else { echo '<a class="dt-sc-button small filled" href="' . get_permalink($dt_lesson_quiz) . '">' . __('Take Quiz', 'dt_themes') . '</a>'; } } else { if (!is_user_logged_in()) { echo '<div class="dt-sc-warning-box">' . __('Please login to get access to the quiz', 'dt_themes') . '</div>'; } } } else { if (is_user_logged_in()) {
<?php if (isset($_REQUEST['dttype']) && $_REQUEST['dttype'] != '') { dt_list_questions_with_answers($dt_lesson_course, $lessons[0]->ID); } else { if (IAMD_USER_ROLE == 's2member_level2' || IAMD_USER_ROLE == 's2member_level3' || IAMD_USER_ROLE == 's2member_level4' || current_user_can($s2_level) || is_user_logged_in() && $private_lesson == '') { $user_id = get_current_user_id(); $dt_gradings = dt_get_user_gradings_array($dt_lesson_course, $lessons[0]->ID, $quiz_id, $user_id); $dt_grade_post = get_posts($dt_gradings); $quiz_duration = dttheme_wp_kses(get_post_meta($quiz_id, "quiz-duration", true)); $quiz_duration = isset($quiz_duration) && $quiz_duration > 0 ? $quiz_duration : 0; if (isset($dt_grade_post[0])) { $grade = get_post_meta($dt_grade_post[0]->ID, "graded", true); if (isset($grade) && $grade != '') { echo '<div class="dt-sc-info-box">' . __('Your quiz have been graded already, please check your dashboard for futher details!', 'dt_themes') . '</div>'; } else { if (dt_can_user_retake_quiz($dt_lesson_course, $lessons[0]->ID, $quiz_id, $user_id)) { if ($quiz_duration > 0) { echo '<p class="dt-sc-info-box">'; echo '<strong>' . __('Note: ', 'dt_themes') . '</strong>'; echo sprintf(__('You have to complete the quiz in %dmin(s). Timer will be triggered once you press the "Start Quiz" button.', 'dt_themes'), $quiz_duration); echo '</p>'; } echo '<a class="dt-sc-button small filled" name="start_quiz" id="dt-start-quiz">' . __('Start Quiz', 'dt_themes') . '</a>'; } else { echo '<div class="dt-sc-info-box">' . __('You may exceeded number of attempts to retake the quiz or you may not have permission to retake this quiz!.', 'dt_themes') . '</div>'; } } } else { if ($quiz_duration > 0) { echo '<p class="dt-sc-info-box">'; echo '<strong>' . __('Note: ', 'dt_themes') . '</strong>';
function dt_get_user_course_overview($post_per_page, $curr_page) { $user_id = get_current_user_id(); $user_info = get_userdata($user_id); $ccaps = array(); if (IAMD_USER_ROLE == 's2member_level1') { foreach ($user_info->allcaps as $cap => $cap_enabled) { if (preg_match("/^access_s2member_ccap_cid_/", $cap)) { $ccaps[] = preg_replace("/^access_s2member_ccap_cid_/", "", $cap); } } } else { if (IAMD_USER_ROLE == 's2member_level2' || IAMD_USER_ROLE == 's2member_level3' || IAMD_USER_ROLE == 's2member_level4') { $ccaps = dt_get_all_paid_courses(); } } $dt_start = ($curr_page - 1) * $post_per_page; $dt_end = $dt_start + $post_per_page; $courses_cnt = count($ccaps); $course_ids_arr = dt_get_user_graded_course(); $free_course = array_diff($course_ids_arr, $ccaps); $ccaps = array_merge($ccaps, $free_course); if (isset($ccaps) && is_array($ccaps)) { echo '<table border="0" cellpadding="0" cellspacing="10" style="width:100%;"> <thead> <tr> <th scope="col">' . __('#', 'dt_themes') . '</th> <th scope="col" class="dt-sc-align-left">' . __('Course', 'dt_themes') . '</th> <th scope="col" class="dt-sc-align-left">' . __('Lesson', 'dt_themes') . '</th> <th scope="col">' . __('Grade', 'dt_themes') . '</th> <th scope="col">' . __('Status', 'dt_themes') . '</th> <th scope="col">' . __('Option', 'dt_themes') . '</th> </tr> </thead> <tbody>'; $i = 0; foreach ($ccaps as $course_id) { if ($i >= $dt_start && $i < $dt_end) { $course_args = array('post_type' => 'dt_courses', 'p' => $course_id); $course = get_posts($course_args); $course_status = dt_get_users_course_status($course_id, ''); if ($course_status) { $course_overall_status = '<div class="dt-sc-course-completed"> <span class="fa fa-check-circle"></span>' . __('Completed', 'dt_themes') . '</div>'; $course_percent = dt_get_course_percentage($course_id, '') . '%'; } else { $course_overall_status = '<div class="dt-sc-course-pending"> <span class="fa fa-clock-o fa-rotate-90"></span>' . __('Pending', 'dt_themes') . '</div>'; $course_percent = ''; } $starting_price = dttheme_wp_kses(get_post_meta($course_id, 'starting-price', true)); if (in_array($course_id, $free_course) & $starting_price != '') { $notyet_text = ' <span class="dt-sc-not-purchased">(' . __('Not yet purchased', 'dt_themes') . ')</span>'; } elseif (in_array($course_id, $free_course) & $starting_price == '') { $notyet_text = ' <span class="dt-sc-not-purchased">(' . __('Free', 'dt_themes') . ')</span>'; } else { $notyet_text = ''; } echo '<tr> <td>' . ($i + 1) . '</td> <td class="dt-sc-course-name"><a href="' . get_permalink($course_id) . '">' . $course[0]->post_title . '</a>' . $notyet_text . '</td> <td> </td> <td>' . $course_percent . '</td> <td>' . $course_overall_status . '</td> <td> </td> </tr>'; $lesson_args = array('sort_order' => 'ASC', 'sort_column' => 'menu_order', 'post_type' => 'dt_lessons', 'posts_per_page' => -1, 'meta_key' => 'dt_lesson_course', 'meta_value' => $course_id); $lessons_array = get_posts($lesson_args); foreach ($lessons_array as $lesson) { $user_option = ''; $lesson_id = $lesson->ID; $quiz_id = get_post_meta($lesson_id, "lesson-quiz", true); if (!isset($quiz_id) || $quiz_id == '') { $quiz_id = -1; } $dt_gradings = dt_get_user_gradings_array($course_id, $lesson_id, $quiz_id, $user_id); $dt_grade_post = get_posts($dt_gradings); if (isset($dt_grade_post[0])) { $dt_grade_post_id = $dt_grade_post[0]->ID; $graded = get_post_meta($dt_grade_post_id, "graded", true); if (isset($graded) && $graded != '') { $user_status = '<div class="dt-sc-course-completed"> <span class="fa fa-check-circle"></span>' . __('Completed', 'dt_themes') . '</div>'; if ($quiz_id != -1 && $quiz_id != '') { $user_option = '<a href="' . get_permalink($quiz_id) . '?dttype=viewquiz" class="dt-sc-button small">' . __('View Quiz', 'dt_themes') . '</a>'; } $grade = get_post_meta($dt_grade_post_id, "marks-obtained-percent", true); $grade = $grade . '%'; } else { $grade = ''; $user_status = '<div class="dt-sc-course-notgraded"> <span class="fa fa-trophy"></span>' . __('Not yet graded', 'dt_themes') . '</div>'; if (dt_can_user_retake_quiz($course_id, $lesson_id, $quiz_id, $user_id)) { $user_option = '<a href="' . get_permalink($quiz_id) . '" class="dt-sc-button small">' . __('Retake Quiz', 'dt_themes') . '</a>'; } } } else { $grade = ''; $user_status = '<div class="dt-sc-course-pending"> <span class="fa fa-clock-o fa-rotate-90"></span>' . __('Pending', 'dt_themes') . '</div>'; if (isset($quiz_id) && $quiz_id > 0) { $user_option = '<a href="' . get_permalink($quiz_id) . '" class="dt-sc-button small">' . __('Take Quiz', 'dt_themes') . '</a>'; } } echo '<tr> <td> </td> <td> </td> <td class="dt-sc-lesson-name"><a href="' . get_permalink($lesson_id) . '">' . $lesson->post_title . '</a></td> <td class="dt-sc-grade-percent">' . $grade . '</td> <td>' . $user_status . '</td> <td>' . $user_option . '</td> </tr>'; } $assignment_args = array('post_type' => 'dt_assignments', 'posts_per_page' => -1, 'meta_query' => array()); $assignment_args['meta_query'][] = array('key' => 'dt-assignment-course', 'value' => $course_id, 'compare' => '=', 'type' => 'numeric'); $assignment_array = get_posts($assignment_args); foreach ($assignment_array as $assignment) { $assignment_id = $assignment->ID; $dtgradings = array('post_type' => 'dt_gradings', 'meta_query' => array()); $dtgradings['meta_query'][] = array('key' => 'dt-user-id', 'value' => $user_id, 'compare' => '=', 'type' => 'numeric'); $dtgradings['meta_query'][] = array('key' => 'dt-course-id', 'value' => $course_id, 'compare' => '=', 'type' => 'numeric'); $dtgradings['meta_query'][] = array('key' => 'dt-assignment-id', 'value' => $assignment_id, 'compare' => '=', 'type' => 'numeric'); $dtgradings['meta_query'][] = array('key' => 'grade-type', 'value' => 'assignment', 'compare' => '='); $dtgradings_post = get_posts($dtgradings); if (isset($dtgradings_post) && !empty($dtgradings_post)) { $dtgradings_id = $dtgradings_post[0]->ID; $marks_obtained_percent = get_post_meta($dtgradings_id, "marks-obtained-percent", true); $graded = get_post_meta($dtgradings_id, "graded", true); if (isset($graded) && $graded != '') { $user_status = '<div class="dt-sc-course-completed"> <span class="fa fa-check-circle"></span>' . __('Completed', 'dt_themes') . '</div>'; $grade = $marks_obtained_percent . '%'; } else { $user_status = '<div class="dt-sc-course-notgraded"> <span class="fa fa-check-circle"></span>' . __('Not yet graded', 'dt_themes') . '</div>'; $grade = ''; } } else { $grade = ''; $user_status = '<div class="dt-sc-course-pending"> <span class="fa fa-clock-o fa-rotate-90"></span>' . __('Pending', 'dt_themes') . '</div>'; } echo '<tr> <td> </td> <td> </td> <td class="dt-sc-assignment-name"><a href="' . get_permalink($assignment_id) . '">' . get_the_title($assignment_id) . '</a></td> <td>' . $grade . '</td> <td>' . $user_status . '</td> <td><a href="' . get_permalink($assignment_id) . '" class="dt-sc-button small">' . __('View Assignment', 'dt_themes') . '</a></td> </tr>'; } } $i++; } if ($i == 0) { echo '<tr><td colspan="6">' . __('You haven\'t purchased any course!', 'dt_themes') . '</td></tr>'; } echo '</tbody></table>'; echo dtthemes_ajax_pagination($post_per_page, $curr_page, $courses_cnt, 0); } }