PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 2.1.9
Tutor LMS – eLearning and online course solution v2.1.9
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 / lesson / content.php
tutor / templates / single / lesson Last commit date
comment.php 3 years ago comments-loop.php 3 years ago complete_form.php 3 years ago content.php 3 years ago lesson_sidebar.php 3 years ago required-enroll.php 3 years ago sidebar_question_and_answer.php 3 years ago
content.php
180 lines
1 <?php
2 /**
3 * Display the content
4 *
5 * @package Tutor\Templates
6 * @subpackage Single\Lesson
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 global $post;
17 global $previous_id;
18 global $next_id;
19
20 // Get the ID of this content and the corresponding course.
21 $course_content_id = get_the_ID();
22 $course_id = tutor_utils()->get_course_id_by_subcontent( $course_content_id );
23
24 $_is_preview = get_post_meta( $course_content_id, '_is_preview', true );
25 $content_id = tutor_utils()->get_post_id( $course_content_id );
26 $contents = tutor_utils()->get_course_prev_next_contents_by_id( $content_id );
27 $previous_id = $contents->previous_id;
28 $next_id = $contents->next_id;
29
30 $prev_is_preview = get_post_meta( $previous_id, '_is_preview', true );
31 $next_is_preview = get_post_meta( $next_id, '_is_preview', true );
32 $is_enrolled = tutor_utils()->is_enrolled( $course_id );
33 $is_public = get_post_meta( $course_id, '_tutor_is_public_course', true );
34
35 $prev_is_locked = ! ( $is_enrolled || $prev_is_preview || $is_public );
36 $next_is_locked = ! ( $is_enrolled || $next_is_preview || $is_public );
37
38 $json_data = array();
39 $json_data['post_id'] = get_the_ID();
40 $json_data['best_watch_time'] = 0;
41 $json_data['autoload_next_course_content'] = (bool) get_tutor_option( 'autoload_next_course_content' );
42
43 $best_watch_time = tutor_utils()->get_lesson_reading_info( get_the_ID(), 0, 'video_best_watched_time' );
44 if ( $best_watch_time > 0 ) {
45 $json_data['best_watch_time'] = $best_watch_time;
46 }
47
48 $is_comment_enabled = tutor_utils()->get_option( 'enable_comment_for_lesson' ) && comments_open();
49
50 ?>
51
52 <?php do_action( 'tutor_lesson/single/before/content' ); ?>
53
54 <?php
55 tutor_load_template(
56 'single.common.header',
57 array(
58 'course_id' => $course_id,
59 'mark_as_complete' => true,
60 )
61 );
62 ?>
63
64 <div class="tutor-course-topic-single-body">
65 <!-- Load Lesson Video -->
66 <?php
67 $video_info = tutor_utils()->get_video_info();
68 $source_key = is_object( $video_info ) && 'html5' !== $video_info->source ? 'source_' . $video_info->source : null;
69 $has_source = ( is_object( $video_info ) && $video_info->source_video_id ) || ( isset( $source_key ) ? $video_info->$source_key : null );
70 ?>
71 <?php if ( $has_source ) : ?>
72 <input type="hidden" id="tutor_video_tracking_information" value="<?php echo esc_attr( json_encode( $json_data ) ); ?>">
73 <?php endif; ?>
74 <div class="tutor-video-player-wrapper">
75 <?php echo apply_filters( 'tutor_single_lesson_video', tutor_lesson_video( false ), $video_info, $source_key ); //phpcs:ignore ?>
76 </div>
77
78 <?php
79 $referer_url = wp_get_referer();
80 $referer_comment_id = explode( '#', filter_input( INPUT_SERVER, 'REQUEST_URI' ) );
81 $url_components = parse_url( $referer_url );
82 $page_tab = \TUTOR\Input::get( 'page_tab', 'overview' );
83
84 isset( $url_components['query'] ) ? parse_str( $url_components['query'], $output ) : null;
85
86 $has_lesson_content = ! in_array( trim( get_the_content() ), array( null, '', '&nbsp;' ) );
87 $has_lesson_attachment = count( tutor_utils()->get_attachments() ) > 0;
88 $has_lesson_comment = (int) get_comments_number( $course_content_id );
89 ?>
90
91 <style>
92 .tutor-actual-comment.viewing {
93 box-shadow: 0 0 10px #cdcfd5;
94 animation: blinkComment 1s infinite;
95 }
96 @keyframes blinkComment { 50% { box-shadow:0 0 0px #ffffff; } }
97 </style>
98
99 <div class="tutor-course-spotlight-wrapper">
100 <ul class="tutor-nav tutor-course-spotlight-nav tutor-justify-center">
101 <?php if ( $has_lesson_content && ( $has_lesson_attachment || $is_comment_enabled ) ) : ?>
102 <li class="tutor-nav-item">
103 <a href="#" class="tutor-nav-link<?php echo 'overview' == $page_tab ? ' is-active' : ''; ?>" data-tutor-nav-target="tutor-course-spotlight-overview" data-tutor-query-variable="page_tab" data-tutor-query-value="overview">
104 <span class="tutor-icon-document-text tutor-mr-8" area-hidden="true"></span>
105 <span><?php esc_html_e( 'Overview', 'tutor' ); ?></span>
106 </a>
107 </li>
108 <?php endif; ?>
109
110 <?php if ( $has_lesson_attachment && ( $has_lesson_content || $is_comment_enabled ) ) : ?>
111 <li class="tutor-nav-item">
112 <a href="#" class="tutor-nav-link<?php echo ( 'files' == $page_tab || false === $has_lesson_content ) ? ' is-active' : ''; ?>" data-tutor-nav-target="tutor-course-spotlight-files" data-tutor-query-variable="page_tab" data-tutor-query-value="files">
113 <span class="tutor-icon-paperclip tutor-mr-8" area-hidden="true"></span>
114 <span><?php esc_html_e( 'Exercise Files', 'tutor' ); ?></span>
115 </a>
116 </li>
117 <?php endif; ?>
118
119 <?php if ( $is_comment_enabled && ( $has_lesson_content || $has_lesson_attachment ) ) : ?>
120 <li class="tutor-nav-item">
121 <a href="#"
122 class="tutor-nav-link<?php echo ( 'comments' == $page_tab || ( false === $has_lesson_content && false === $has_lesson_attachment ) ) ? ' is-active' : ''; ?>"
123 data-tutor-nav-target="tutor-course-spotlight-comments" data-tutor-query-variable="page_tab"
124 data-tutor-query-value="comments">
125
126 <span class="tutor-icon-comment tutor-mr-8" area-hidden="true"></span>
127 <span><?php esc_html_e( 'Comments', 'tutor' ); ?></span>
128 </a>
129 </li>
130 <?php endif; ?>
131 </ul>
132
133 <div class="tutor-tab tutor-course-spotlight-tab">
134 <?php if ( $has_lesson_content ) : ?>
135 <div id="tutor-course-spotlight-overview" class="tutor-tab-item<?php echo 'overview' == $page_tab ? esc_attr( ' is-active' ) : esc_attr( '' ); ?>">
136 <div class="tutor-container">
137 <div class="tutor-row tutor-justify-center">
138 <div class="tutor-col-xl-8">
139 <div class="tutor-fs-5 tutor-fw-medium tutor-color-black tutor-mb-12">
140 <?php esc_html_e( 'About Lesson', 'tutor' ); ?>
141 </div>
142 <div class="tutor-fs-6 tutor-color-secondary tutor-lesson-wrapper">
143 <?php the_content(); ?>
144 </div>
145 </div>
146 </div>
147 </div>
148 </div>
149 <?php endif; ?>
150
151 <?php if ( $has_lesson_attachment ) : ?>
152 <div id="tutor-course-spotlight-files" class="tutor-tab-item<?php echo esc_attr( ( 'files' == $page_tab || false === $has_lesson_content ) ? ' is-active' : '' ); ?>">
153 <div class="tutor-container">
154 <div class="tutor-row tutor-justify-center">
155 <div class="tutor-col-xl-8">
156 <div class="tutor-fs-5 tutor-fw-medium tutor-color-black"><?php esc_html_e( 'Exercise Files', 'tutor' ); ?></div>
157 <?php get_tutor_posts_attachments(); ?>
158 </div>
159 </div>
160 </div>
161 </div>
162 <?php endif; ?>
163
164 <?php if ( $is_comment_enabled ) : ?>
165 <div id="tutor-course-spotlight-comments" class="tutor-tab-item<?php echo esc_attr( ( 'comments' == $page_tab || ( false === $has_lesson_content && false === $has_lesson_attachment ) ) ? ' is-active' : '' ); ?>">
166 <div class="tutor-container">
167 <div class="tutor-course-spotlight-comments">
168 <?php require __DIR__ . '/comment.php'; ?>
169 </div>
170 </div>
171 </div>
172 <?php endif; ?>
173 </div>
174 </div>
175 </div>
176
177 <?php tutor_load_template( 'single.common.footer', array( 'course_id' => $course_id ) ); ?>
178
179 <?php do_action( 'tutor_lesson/single/after/content' ); ?>
180