PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 2.1.5
Tutor LMS – eLearning and online course solution v2.1.5
4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 4.0.2 4.0.1 4.0.0 3.9.15 3.9.14 3.9.13 3.9.12 3.9.11 trunk 1.0.0 1.0.0-alpha 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.2.0 1.2.1 1.2.11 1.2.12 1.2.13 1.2.20 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8.0 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.15 1.9.16 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.4.0 2.5.0 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.1.0 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 3.9.1 3.9.10 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9
tutor / templates / single / course / course-topics.php
tutor / templates / single / course Last commit date
enrolled 3 years ago add-to-cart-edd.php 3 years ago add-to-cart-woocommerce.php 3 years ago continue-lesson.php 3 years ago course-benefits.php 3 years ago course-content.php 3 years ago course-entry-box.php 3 years ago course-requirements.php 3 years ago course-target-audience.php 3 years ago course-topics.php 3 years ago instructors.php 3 years ago lead-info.php 3 years ago material-includes.php 3 years ago q_and_a_turned_off.php 3 years ago reviews-loop.php 3 years ago reviews.php 3 years ago social_share.php 3 years ago tags.php 3 years ago wc-price-html.php 3 years ago
course-topics.php
142 lines
1 <?php
2 /**
3 * Template for displaying single course
4 *
5 * @package Tutor\Templates
6 * @subpackage Single\Course
7 * @author Themeum <support@themeum.com>
8 * @link https://themeum.com
9 * @since 1.0.0
10 */
11
12 if ( ! defined( 'ABSPATH' ) ) {
13 exit;
14 }
15
16 $topics = tutor_utils()->get_topics();
17 $course_id = get_the_ID();
18 $is_enrolled = tutor_utils()->is_enrolled( $course_id );
19 $index = 0;
20
21 do_action( 'tutor_course/single/before/topics' );
22 ?>
23 <div class="tutor-mt-40">
24 <h3 class="tutor-fs-5 tutor-fw-bold tutor-color-black tutor-mb-24 tutor-course-content-title">
25 <?php
26 echo esc_html( apply_filters( 'tutor_course_topics_title', __( 'Course Content', 'tutor' ) ) );
27 ?>
28 </h3>
29
30 <?php if ( $topics->have_posts() ) : ?>
31 <div class="tutor-accordion tutor-mt-24">
32 <?php while ( $topics->have_posts() ) : ?>
33 <?php
34 $topics->the_post();
35 $topic_summery = get_the_content();
36 $index++;
37 ?>
38 <div class="tutor-accordion-item">
39 <h4 class="tutor-accordion-item-header<?php echo 1 == $index ? ' is-active' : ''; ?>">
40 <?php the_title(); ?>
41 <?php if ( ! empty( $topic_summery ) ) : ?>
42 <div class="tooltip-wrap tooltip-icon">
43 <span class="tooltip-txt tooltip-right"><?php echo esc_attr( $topic_summery ); ?></span>
44 </div>
45 <?php endif; ?>
46 </h4>
47
48 <?php $topic_contents = tutor_utils()->get_course_contents_by_topic( get_the_ID(), -1 ); ?>
49 <?php if ( $topic_contents->have_posts() ) : ?>
50 <div class="tutor-accordion-item-body" style="<?php echo 1 != $index ? 'display: none;' : ''; ?>">
51 <div class="tutor-accordion-item-body-content">
52 <ul class="tutor-course-content-list">
53 <?php while ( $topic_contents->have_posts() ) : ?>
54 <?php
55 $topic_contents->the_post();
56 global $post;
57
58 // Get Lesson video information if any.
59 $video = tutor_utils()->get_video_info();
60 $play_time = $video ? $video->playtime : false;
61 $is_preview = get_post_meta( $post->ID, '_is_preview', true );
62
63 // Determine topic content icon based on lesson, video, quiz etc.
64 $topic_content_icon = $play_time ? 'tutor-icon-brand-youtube-bold' : 'tutor-icon-document-text';
65 'tutor_quiz' === $post->post_type ? $topic_content_icon = 'tutor-icon-circle-question-mark' : 0;
66 'tutor_assignments' === $post->post_type ? $topic_content_icon = 'tutor-icon-document-text' : 0;
67 'tutor_zoom_meeting' === $post->post_type ? $topic_content_icon = 'tutor-icon-brand-zoom' : 0;
68 'tutor-google-meet' === $post->post_type ? $topic_content_icon = 'tutor-icon-brand-google-meet' : 0;
69
70 $is_public_course = \TUTOR\Course_List::is_public( $course_id );
71 $is_locked = ! ( $is_enrolled || $is_preview || $is_public_course );
72 ?>
73 <li class="tutor-course-content-list-item">
74 <div class="tutor-d-flex tutor-align-center">
75 <span class="tutor-course-content-list-item-icon <?php echo esc_attr( $topic_content_icon ); ?> tutor-mr-12"></span>
76 <h5 class="tutor-course-content-list-item-title">
77 <?php
78 $lesson_title = '';
79 $title_tag_allow = array(
80 'a' => array(
81 'href' => true,
82 'class' => true,
83 ),
84 'span' => array( 'class' => true ),
85 );
86
87 // Add zoom meeting countdown info.
88 $countdown = '';
89 if ( 'tutor_zoom_meeting' === $post->post_type ) {
90 $zoom_meeting = tutor_zoom_meeting_data( $post->ID );
91 $countdown = '<div class="tutor-zoom-lesson-countdown tutor-lesson-duration" data-timer="' . $zoom_meeting->countdown_date . '" data-timezone="' . $zoom_meeting->timezone . '"></div>';
92 }
93
94 /**
95 * Show clickable content if enrolled.
96 * Or if it is public and not paid, then show content forcefully.
97 */
98 if ( $is_enrolled || ( get_post_meta( $course_id, '_tutor_is_public_course', true ) == 'yes' && ! tutor_utils()->is_course_purchasable( $course_id ) ) ) {
99 $lesson_title .= "<a href='" . get_the_permalink() . "'> " . get_the_title() . ' </a>';
100
101 if ( $countdown ) {
102 if ( $zoom_meeting->is_expired ) {
103 $lesson_title .= '<span class="tutor-zoom-label">' . __( 'Expired', 'tutor' ) . '</span>';
104 } elseif ( $zoom_meeting->is_started ) {
105 $lesson_title .= '<span class="tutor-zoom-label tutor-zoom-live-label">' . __( 'Live', 'tutor' ) . '</span>';
106 }
107 $lesson_title .= $countdown;
108 }
109
110 echo wp_kses(
111 $lesson_title,
112 $title_tag_allow
113 );
114 } else {
115 $lesson_title .= get_the_title();
116 echo wp_kses( apply_filters( 'tutor_course/contents/lesson/title', $lesson_title, get_the_ID() ), $title_tag_allow );
117 }
118 ?>
119 </h5>
120 </div>
121
122 <div>
123 <span class="tutor-course-content-list-item-duration tutor-fs-7 tutor-color-muted">
124 <?php echo esc_html( $play_time ? tutor_utils()->get_optimized_duration( $play_time ) : '' ); ?>
125 </span>
126 <span class="tutor-course-content-list-item-status <?php echo $is_locked ? 'tutor-icon-lock-line' : 'tutor-icon-eye-line'; ?> tutor-color-muted tutor-ml-20" area-hidden="true"></span>
127 </div>
128 </li>
129 <?php endwhile; ?>
130 </ul>
131 </div>
132 </div>
133 <?php $topic_contents->reset_postdata(); ?>
134 <?php endif; ?>
135 </div>
136 <?php endwhile; ?>
137 </div>
138 <?php endif; ?>
139 </div>
140
141 <?php do_action( 'tutor_course/single/after/topics' ); ?>
142