announcements
4 years ago
assignments
4 years ago
elements
4 years ago
enrolled-courses
4 years ago
instructor
4 years ago
my-courses
4 years ago
my-quiz-attempts
4 years ago
notifications
4 years ago
question-answer
4 years ago
quiz-attempts
4 years ago
reviews
4 years ago
settings
4 years ago
withdraw-method-fields
4 years ago
announcements.php
4 years ago
assignments.php
4 years ago
create-course.php
4 years ago
dashboard-menu.php
4 years ago
dashboard.php
4 years ago
enrolled-courses.php
4 years ago
index.php
4 years ago
logged-in.php
4 years ago
my-courses.php
4 years ago
my-profile.php
4 years ago
my-quiz-attempts.php
4 years ago
purchase_history.php
4 years ago
question-answer.php
4 years ago
quiz-attempts.php
4 years ago
registration.php
4 years ago
reviews.php
4 years ago
settings.php
4 years ago
wishlist.php
4 years ago
withdraw.php
4 years ago
enrolled-courses.php
130 lines
| 1 | <?php |
| 2 | |
| 3 | /** |
| 4 | * @package TutorLMS/Templates |
| 5 | * @version 1.4.3 |
| 6 | */ |
| 7 | |
| 8 | |
| 9 | /** |
| 10 | * Pagination info |
| 11 | */ |
| 12 | $per_page = tutor_utils()->get_option( 'pagination_per_page', 10 ); |
| 13 | $paged = (isset($_GET['current_page']) && is_numeric($_GET['current_page']) && $_GET['current_page'] >= 1) ? $_GET['current_page'] : 1; |
| 14 | $offset = ($per_page * $paged) - $per_page; |
| 15 | |
| 16 | $page_tabs = array( |
| 17 | 'enrolled-courses' => __('Enrolled Courses', 'tutor'), |
| 18 | 'enrolled-courses/active-courses' => __('Active Courses', 'tutor'), |
| 19 | 'enrolled-courses/completed-courses' => __('Completed Courses', 'tutor'), |
| 20 | ); |
| 21 | |
| 22 | // Default tab set |
| 23 | (!isset($active_tab, $page_tabs[$active_tab])) ? $active_tab = 'enrolled-courses' : 0; |
| 24 | |
| 25 | // Get Paginated course list |
| 26 | $courses_list_array = array( |
| 27 | 'enrolled-courses' => tutor_utils()->get_enrolled_courses_by_user(get_current_user_id(), array('private', 'publish'), $offset, $per_page), |
| 28 | 'enrolled-courses/active-courses' => tutor_utils()->get_active_courses_by_user(null, $offset, $per_page), |
| 29 | 'enrolled-courses/completed-courses' => tutor_utils()->get_courses_by_user(null, $offset, $per_page), |
| 30 | ); |
| 31 | |
| 32 | // Get Full course list |
| 33 | $full_courses_list_array = array( |
| 34 | 'enrolled-courses' => tutor_utils()->get_enrolled_courses_by_user(get_current_user_id(), array('private', 'publish')), |
| 35 | 'enrolled-courses/active-courses' => tutor_utils()->get_active_courses_by_user(), |
| 36 | 'enrolled-courses/completed-courses' => tutor_utils()->get_courses_by_user(), |
| 37 | ); |
| 38 | |
| 39 | |
| 40 | // Prepare course list based on page tab |
| 41 | $courses_list = $courses_list_array[$active_tab]; |
| 42 | $paginated_courses_list = $full_courses_list_array[$active_tab]; |
| 43 | |
| 44 | ?> |
| 45 | |
| 46 | <div class="tutor-fs-5 tutor-fw-medium tutor-color-black tutor-mb-16 tutor-capitalize-text"><?php esc_html_e($page_tabs[$active_tab]); ?></div> |
| 47 | <div class="tutor-dashboard-content-inner enrolled-courses"> |
| 48 | <div class="tutor-dashboard-inline-links"> |
| 49 | <ul> |
| 50 | <?php |
| 51 | foreach ($page_tabs as $slug => $tab) { |
| 52 | ?> |
| 53 | <li class="<?php echo $slug == $active_tab ? 'active' : ''; ?>"> |
| 54 | <a href="<?php echo esc_url(tutor_utils()->get_tutor_dashboard_page_permalink($slug)); ?>"> |
| 55 | <?php |
| 56 | echo esc_html($tab); |
| 57 | |
| 58 | $course_count = ($full_courses_list_array[$slug] && $full_courses_list_array[$slug]->have_posts()) ? count($full_courses_list_array[$slug]->posts) : 0; |
| 59 | if ($course_count) { |
| 60 | echo esc_html(' (' . $course_count . ')'); |
| 61 | } |
| 62 | ?> |
| 63 | </a> |
| 64 | </li> |
| 65 | <?php |
| 66 | } |
| 67 | ?> |
| 68 | </ul> |
| 69 | </div> |
| 70 | |
| 71 | <?php if ($courses_list && $courses_list->have_posts()) : ?> |
| 72 | <div class="tutor-course-listing-grid tutor-course-listing-grid-3"> |
| 73 | <?php |
| 74 | while ($courses_list->have_posts()) { |
| 75 | |
| 76 | $courses_list->the_post(); |
| 77 | $avg_rating = tutor_utils()->get_course_rating()->rating_avg; |
| 78 | $tutor_course_img = get_tutor_course_thumbnail_src(); |
| 79 | |
| 80 | /** |
| 81 | * wp 5.7.1 showing plain permalink for private post |
| 82 | * since tutor do not work with plain permalink |
| 83 | * url is set to post_type/slug (courses/course-slug) |
| 84 | * |
| 85 | * @since 1.8.10 |
| 86 | */ |
| 87 | |
| 88 | $post = $courses_list->post; |
| 89 | $custom_url = home_url($post->post_type . '/' . $post->post_name); |
| 90 | |
| 91 | /** |
| 92 | * @hook tutor_course/archive/before_loop_course |
| 93 | * @type action |
| 94 | * Usage Idea, you may keep a loop within a wrap, such as bootstrap col |
| 95 | */ |
| 96 | do_action('tutor_course/archive/before_loop_course'); |
| 97 | |
| 98 | tutor_load_template('loop.course'); |
| 99 | |
| 100 | /** |
| 101 | * @hook tutor_course/archive/after_loop_course |
| 102 | * @type action |
| 103 | * Usage Idea, If you start any div before course loop, you can end it here, such as </div> |
| 104 | */ |
| 105 | do_action('tutor_course/archive/after_loop_course'); |
| 106 | } |
| 107 | |
| 108 | wp_reset_postdata(); |
| 109 | ?> |
| 110 | </div> |
| 111 | <div class="tutor-mt-20"> |
| 112 | <?php |
| 113 | if ($paginated_courses_list->found_posts > $per_page) { |
| 114 | $pagination_data = array( |
| 115 | 'total_items' => $paginated_courses_list->found_posts, |
| 116 | 'per_page' => $per_page, |
| 117 | 'paged' => $paged, |
| 118 | ); |
| 119 | tutor_load_template_from_custom_path( |
| 120 | tutor()->path . 'templates/dashboard/elements/pagination.php', |
| 121 | $pagination_data |
| 122 | ); |
| 123 | } |
| 124 | ?> |
| 125 | |
| 126 | </div> |
| 127 | <?php else : ?> |
| 128 | <?php tutor_utils()->tutor_empty_state(tutor_utils()->not_found_text()); ?> |
| 129 | <?php endif; ?> |
| 130 | </div> |