PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / trunk
Tutor LMS – eLearning and online course solution vtrunk
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 5 days ago ecommerce 1 month ago email 1 month ago global 1 month ago instructor 3 years ago learning-area 1 week ago loop 1 month ago modal 4 months ago profile 3 years ago shared 1 week ago shortcode 4 months ago single 4 weeks 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 10 months ago archive-course.php 5 days 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 5 days 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