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