enrolled
4 years ago
add-to-cart-edd.php
4 years ago
add-to-cart-woocommerce.php
4 years ago
add-to-cart.php
4 years ago
continue-lesson.php
4 years ago
course-benefits.php
4 years ago
course-content.php
4 years ago
course-enrolled-box.php
4 years ago
course-entry-box.php
4 years ago
course-requirements.php
4 years ago
course-target-audience.php
4 years ago
course-topics.php
4 years ago
instructors.php
4 years ago
lead-info.php
4 years ago
material-includes.php
4 years ago
q_and_a_turned_off.php
5 years ago
reviews-loop.php
4 years ago
reviews.php
4 years ago
social_share.php
4 years ago
tags.php
4 years ago
wc-price-html.php
4 years ago
course-topics.php
138 lines
| 1 | <?php |
| 2 | /** |
| 3 | * Template for displaying single course |
| 4 | * |
| 5 | * @since v.1.0.0 |
| 6 | * |
| 7 | * @author Themeum |
| 8 | * @url https://themeum.com |
| 9 | * |
| 10 | * @package TutorLMS/Templates |
| 11 | * @version 1.4.3 |
| 12 | */ |
| 13 | |
| 14 | if ( ! defined( 'ABSPATH' ) ) { |
| 15 | exit; |
| 16 | } |
| 17 | |
| 18 | $topics = tutor_utils()->get_topics(); |
| 19 | $course_id = get_the_ID(); |
| 20 | $is_enrolled = tutor_utils()->is_enrolled( $course_id ); |
| 21 | $index = 0; |
| 22 | |
| 23 | do_action( 'tutor_course/single/before/topics' ); |
| 24 | ?> |
| 25 | |
| 26 | <div class="tutor-course-topics-header"> |
| 27 | <div class="tutor-course-topics-header-left"> |
| 28 | <div class="text-medium-h6 tutor-color-black"> |
| 29 | <span> |
| 30 | <?php |
| 31 | $title = __( 'Course Curriculum', 'tutor' ); |
| 32 | echo esc_html( apply_filters( 'tutor_course_topics_title', $title ) ); |
| 33 | ?> |
| 34 | </span> |
| 35 | </div> |
| 36 | </div> |
| 37 | </div> |
| 38 | |
| 39 | <?php if ( $topics->have_posts() ) : ?> |
| 40 | <div class="tutor-accordion tutor-mt-24"> |
| 41 | <?php while ( $topics->have_posts() ) : ?> |
| 42 | <?php |
| 43 | $topics->the_post(); |
| 44 | $topic_summery = get_the_content(); |
| 45 | $index++; |
| 46 | ?> |
| 47 | <div class="tutor-accordion-item"> |
| 48 | <div class="tutor-accordion-item-header"> |
| 49 | <?php the_title(); ?> |
| 50 | <?php if ( ! empty( $topic_summery ) ) { ?> |
| 51 | <div class="tooltip-wrap tooltip-icon"> |
| 52 | <span class="tooltip-txt tooltip-right"><?php echo esc_attr( $topic_summery ); ?></span> |
| 53 | </div> |
| 54 | <?php } ?> |
| 55 | |
| 56 | </div> |
| 57 | <?php |
| 58 | $topic_contents = tutor_utils()->get_course_contents_by_topic( get_the_ID(), -1 ); |
| 59 | if ( $topic_contents->have_posts() ) { |
| 60 | ?> |
| 61 | <div class="tutor-accordion-item-body"> |
| 62 | <div class="tutor-accordion-item-body-content"> |
| 63 | <ul class="tutor-courses-lession-list"> |
| 64 | <?php while ( $topic_contents->have_posts() ) : ?> |
| 65 | <?php |
| 66 | $topic_contents->the_post(); |
| 67 | global $post; |
| 68 | |
| 69 | // Get Lesson video information if any |
| 70 | $video = tutor_utils()->get_video_info(); |
| 71 | $play_time = $video ? $video->playtime : false; |
| 72 | $is_preview = get_post_meta( $post->ID, '_is_preview', true ); |
| 73 | |
| 74 | // Determine topic content icon based on lesson, video, quiz etc. |
| 75 | $topic_content_icon = $play_time ? 'tutor-icon-youtube-brand' : 'tutor-icon-document-alt-filled'; |
| 76 | $post->post_type === 'tutor_quiz' ? $topic_content_icon = 'tutor-icon-question-mark-circle-filled' : 0; |
| 77 | $post->post_type === 'tutor_assignments' ? $topic_content_icon = 'tutor-icon-document-alt-filled' : 0; |
| 78 | $post->post_type === 'tutor_zoom_meeting' ? $topic_content_icon = 'tutor-icon-zoom' : 0; |
| 79 | $is_locked = !($is_enrolled || $is_preview); |
| 80 | ?> |
| 81 | <li> |
| 82 | <div class="tutor-courses-lession-list-single-item"> |
| 83 | <span class="<?php echo $topic_content_icon; ?> tutor-icon-24 tutor-color-black-30 tutor-mr-16"></span> |
| 84 | <span class="tutor-fs-6 tutor-fw-normal tutor-color-black"> |
| 85 | <?php |
| 86 | $lesson_title = ''; |
| 87 | |
| 88 | // Add zoom meeting countdown info |
| 89 | $countdown = ''; |
| 90 | if ( $post->post_type === 'tutor_zoom_meeting' ) { |
| 91 | $zoom_meeting = tutor_zoom_meeting_data( $post->ID ); |
| 92 | $countdown = '<div class="tutor-zoom-lesson-countdown tutor-lesson-duration" data-timer="' . $zoom_meeting->countdown_date . '" data-timezone="' . $zoom_meeting->timezone . '"></div>'; |
| 93 | } |
| 94 | |
| 95 | // Show clickable content if enrolled |
| 96 | // Or if it is public and not paid, then show content forcefully |
| 97 | if ( $is_enrolled || ( get_post_meta( $course_id, '_tutor_is_public_course', true ) == 'yes' && ! tutor_utils()->is_course_purchasable( $course_id ) ) ) { |
| 98 | $lesson_title .= "<a href='" . get_the_permalink() . "'> " . get_the_title() . ' </a>'; |
| 99 | |
| 100 | if ( $countdown ) { |
| 101 | if ( $zoom_meeting->is_expired ) { |
| 102 | $lesson_title .= '<span class="tutor-zoom-label">' . __( 'Expired', 'tutor' ) . '</span>'; |
| 103 | } elseif ( $zoom_meeting->is_started ) { |
| 104 | $lesson_title .= '<span class="tutor-zoom-label tutor-zoom-live-label">' . __( 'Live', 'tutor' ) . '</span>'; |
| 105 | } |
| 106 | $lesson_title .= $countdown; |
| 107 | } |
| 108 | |
| 109 | echo $lesson_title; |
| 110 | } else { |
| 111 | $lesson_title .= get_the_title(); |
| 112 | echo apply_filters( 'tutor_course/contents/lesson/title', $lesson_title, get_the_ID() ); |
| 113 | } |
| 114 | ?> |
| 115 | </span> |
| 116 | </div> |
| 117 | <div> |
| 118 | <span class="text-regular-caption tutor-color-muted"> |
| 119 | <?php echo $play_time ? tutor_utils()->get_optimized_duration( $play_time ) : ''; ?> |
| 120 | </span> |
| 121 | <span class="<?php echo $is_locked ? ' tutor-icon-lock-stroke-filled' : 'tutor-icon-eye-filled'; ?> tutor-icon-24 tutor-color-black-20 tutor-ml-20"></span> |
| 122 | </div> |
| 123 | </li> |
| 124 | <?php endwhile; ?> |
| 125 | </ul> |
| 126 | </div> |
| 127 | </div> |
| 128 | <?php |
| 129 | $topic_contents->reset_postdata(); |
| 130 | } |
| 131 | ?> |
| 132 | </div> |
| 133 | <?php endwhile; ?> |
| 134 | </div> |
| 135 | <?php endif; ?> |
| 136 | |
| 137 | <?php do_action( 'tutor_course/single/after/topics' ); ?> |
| 138 |