PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 4.0.7
Tutor LMS – eLearning and online course solution v4.0.7
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-content-loader.php
tutor / templates Last commit date
course-filter 4 months ago dashboard 1 week ago ecommerce 1 month ago email 1 month ago global 2 months ago instructor 3 years ago learning-area 2 weeks ago loop 1 month ago modal 4 months ago profile 3 years ago shared 2 weeks ago shortcode 4 months ago single 1 month ago template-part 1 month ago widget 3 years ago account-header.php 1 month ago account.php 1 month ago archive-course-init.php 11 months ago archive-course.php 1 week ago course-embed.php 4 months ago course-none.php 3 years ago dashboard-isolated.php 1 month ago dashboard.php 1 month ago feature_disabled.php 3 years ago login-form-legacy.php 1 month ago login-form.php 1 month ago login.php 1 month ago permission-denied.php 1 month ago public-profile.php 1 month ago single-assignment.php 3 years ago single-content-loader.php 1 week ago single-course.php 1 month ago single-lesson.php 3 years ago single-preview-lesson.php 3 years ago single-quiz.php 1 year ago template.php 3 years ago user-profile.php 1 month ago
single-content-loader.php
126 lines
1 <?php
2 /**
3 * Template for displaying single lesson, assignment, quiz etc.
4 *
5 * @package Tutor\Templates
6 * @author Themeum <support@themeum.com>
7 * @link https://themeum.com
8 * @since 1.0.0
9 */
10
11 global $post;
12 //phpcs:ignore WordPress.NamingConventions.ValidVariableName.VariableNotSnakeCase
13 $currentPost = $post;
14
15 $content_id = tutor_utils()->get_post_id();
16 $course_id = tutor_utils()->get_course_id_by_subcontent( $content_id );
17 $contents = tutor_utils()->get_course_prev_next_contents_by_id( $content_id );
18 $previous_id = $contents->previous_id;
19 $next_id = $contents->next_id;
20 $user_id = get_current_user_id();
21
22 $is_course_completed = tutor_utils()->is_completed_course( $course_id, $user_id );
23 $enable_spotlight_mode = tutor_utils()->get_option( 'enable_spotlight_mode' );
24
25 $data = isset( $data ) && is_array( $data ) ? $data : array();
26 $context = isset( $data['context'] ) ? sanitize_key( $data['context'] ) : '';
27 $html_content = isset( $data['html_content'] ) ? $data['html_content'] : '';
28
29 /**
30 * Single course sidebar content
31 *
32 * @param boolean $echo echo the content or not.
33 * @param string $context device context (mobile/desktop).
34 * @return string HTML output string.
35 */
36 function tutor_course_single_sidebar( $echo = true, $context = 'desktop' ) {
37 ob_start();
38 tutor_load_template( 'single.lesson.lesson_sidebar', array( 'context' => $context ) );
39 $output = apply_filters( 'tutor_lesson/single/lesson_sidebar', ob_get_clean() );
40
41 if ( $echo ) {
42 add_filter( 'wp_kses_allowed_html', 'tutor_kses_allowed_html', 10, 2 );
43 echo wp_kses_post( $output );
44 remove_filter( 'wp_kses_allowed_html', 'tutor_kses_allowed_html' );
45 }
46
47 return $output;
48 }
49
50 do_action( 'tutor/course/single/content/before/all', $course_id, $content_id );
51
52 get_tutor_header();
53
54 $show_mark_as_complete = false;
55
56 if ( tutor()->lesson_post_type === $post->post_type ) {
57 $show_mark_as_complete = apply_filters( 'tutor_lesson_show_mark_as_complete', true );
58 }
59
60 ?>
61
62 <?php do_action( 'tutor_' . $context . '/single/before/wrap' ); ?>
63 <div class="tutor-course-single-content-wrapper<?php echo $enable_spotlight_mode ? ' tutor-spotlight-mode' : ''; ?>">
64 <div class="tutor-course-single-sidebar-wrapper tutor-<?php echo esc_attr( $context ); ?>-sidebar">
65 <?php tutor_course_single_sidebar(); ?>
66 </div>
67 <div id="tutor-single-entry-content" class="tutor-quiz-single-entry-wrap">
68 <?php
69 switch ( $context ) {
70 case 'lesson':
71 tutor_lesson_content();
72 break;
73 case 'assignment':
74 tutor_assignment_content();
75 break;
76 }
77 ?>
78 <?php
79 /**
80 * $html_content is trusted markup from tutor_load_template_from_custom_path (quiz wrapper).
81 */
82 echo $html_content; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
83 ?>
84 </div>
85 </div>
86
87 <!-- Course Progressbar on sm/mobile -->
88 <?php
89 // Get total content count.
90 $course_stats = tutor_utils()->get_course_completed_percent( $course_id, 0, true );
91
92 // Is Lesstion Complete.
93 $is_completed_lesson = tutor_utils()->is_completed_lesson();
94 ?>
95
96 <?php if ( ! \TUTOR\Course_List::is_public( $course_id ) ) : ?>
97 <div class="tutor-spotlight-mobile-progress-complete tutor-px-20 tutor-py-16 tutor-mt-20 tutor-d-xl-none tutor-d-block">
98 <div class="tutor-row tutor-align-center">
99 <div class="tutor-spotlight-mobile-progress-left <?php echo ! $is_completed_lesson ? 'tutor-col-sm-8 tutor-col-6' : 'tutor-col-12'; ?>">
100 <div class="tutor-fs-7 tutor-color-muted">
101 <?php echo esc_html( $course_stats['completed_percent'] ) . '% '; ?><span><?php esc_html_e( 'Complete', 'tutor' ); ?></span>
102 </div>
103 <div class="list-item-progress tutor-my-16">
104 <div class="tutor-progress-bar tutor-mt-12" style="--tutor-progress-value:<?php echo esc_attr( $course_stats['completed_percent'] ); ?>%;">
105 <span class="tutor-progress-value" aria-hidden="true"></span>
106 </div>
107 </div>
108 </div>
109
110 <div class="tutor-spotlight-mobile-progress-right tutor-col-sm-4 tutor-col-6">
111 <?php
112 if ( ! $is_completed_lesson && $show_mark_as_complete ) {
113 tutor_lesson_mark_complete_html();
114 }
115 do_action( 'tutor_after_lesson_completion_button', $course_id, $user_id, $is_course_completed, $course_stats );
116 ?>
117 </div>
118
119 </div>
120 </div>
121 <?php endif; ?>
122 <?php
123 do_action( 'tutor_' . $context . '/single/after/wrap' );
124
125 get_tutor_footer();
126