PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 2.0.2
Tutor LMS – eLearning and online course solution v2.0.2
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 / archive-course-init.php
tutor / templates Last commit date
course-filter 4 years ago dashboard 4 years ago email 4 years ago global 4 years ago instructor 4 years ago loop 4 years ago modal 4 years ago profile 4 years ago shortcode 4 years ago single 4 years ago template-part 4 years ago widget 4 years ago archive-course-init.php 4 years ago archive-course.php 4 years ago course-none.php 4 years ago dashboard.php 4 years ago feature_disabled.php 4 years ago instructor-setting.php 4 years ago login-form.php 4 years ago login.php 4 years ago permission-denied.php 4 years ago public-profile.php 4 years ago single-assignment.php 4 years ago single-content-loader.php 4 years ago single-course.php 4 years ago single-lesson.php 4 years ago single-preview-lesson.php 4 years ago single-quiz.php 4 years ago template.php 4 years ago
archive-course-init.php
130 lines
1 <?php
2 // Initialize argument variables
3 !isset($course_filter) ? $course_filter = false : 0;
4 !isset($supported_filters) ? $supported_filters = tutor_utils()->get_option( 'supported_course_filters', array() ) : 0;
5 !isset($loop_content_only) ? $loop_content_only = false : 0;
6 !isset($column_per_row) ? $column_per_row = tutor_utils()->get_option( 'courses_col_per_row', 3 ) : 0;
7 !isset($course_per_page) ? $course_per_page = tutor_utils()->get_option( 'courses_per_page', 12 ) : 0;
8 !isset($show_pagination) ? $show_pagination = true : 0;
9 !isset($current_page) ? $current_page = 1 : 0;
10
11 // Hide pagination is there is no page after first one
12 $pages_count = 0;
13 if(isset($the_query)){
14 $pages_count = $the_query->max_num_pages;
15 } else {
16 global $wp_query;
17 $pages_count = $wp_query->max_num_pages;
18 }
19 $pages_count<2 ? $show_pagination=false : 0;
20
21 // Set in global variable to avoid too many stack to pass to other templates
22 $GLOBALS['tutor_course_archive_arg'] = compact(
23 'course_filter',
24 'supported_filters',
25 'loop_content_only',
26 'column_per_row',
27 'course_per_page',
28 'show_pagination'
29 );
30
31 // Render the loop
32 ob_start();
33 do_action( 'tutor_course/archive/before_loop' );
34
35 if ( (isset($the_query) && $the_query->have_posts()) || have_posts() ) {
36 /* Start the Loop */
37
38 tutor_course_loop_start();
39
40 while ( isset($the_query) ? $the_query->have_posts() : have_posts() ){
41 isset($the_query) ? $the_query->the_post() : the_post();
42
43 /**
44 * @hook tutor_course/archive/before_loop_course
45 * @type action
46 * Usage Idea, you may keep a loop within a wrap, such as bootstrap col
47 */
48 do_action( 'tutor_course/archive/before_loop_course' );
49
50 tutor_load_template( 'loop.course' );
51
52 /**
53 * @hook tutor_course/archive/after_loop_course
54 * @type action
55 * Usage Idea, If you start any div before course loop, you can end it here, such as </div>
56 */
57 do_action( 'tutor_course/archive/after_loop_course' );
58 }
59
60 tutor_course_loop_end();
61 } else {
62
63 /**
64 * No course found
65 */
66 // tutor_load_template('course-none');
67 tutor_utils()->tutor_empty_state( tutor_utils()->not_found_text() );
68 }
69
70 do_action( 'tutor_course/archive/after_loop' );
71
72 if($show_pagination) {
73 // Load the pagination now
74 global $wp_query;
75
76 $current_url = wp_doing_ajax() ? $_SERVER['HTTP_REFERER'] : tutor()->current_url;
77 $push_link = add_query_arg( array_merge( $_POST, $GLOBALS['tutor_course_archive_arg'] ), $current_url );
78
79 $data = wp_doing_ajax( ) ? $_POST : $_GET;
80 $pagination_data = array(
81 'total_page' => isset($the_query) ? $the_query->max_num_pages : $wp_query->max_num_pages,
82 'per_page' => $course_per_page,
83 'paged' => $current_page,
84 'data_set' => array('push_state_link'=>$push_link),
85 'ajax' => array_merge($data, array(
86 'loading_container' => '.tutor-course-filter-loop-container',
87 'action' => 'tutor_course_filter_ajax',
88 ))
89 );
90
91 tutor_load_template_from_custom_path(
92 tutor()->path . 'templates/dashboard/elements/pagination.php',
93 $pagination_data
94 );
95 }
96
97 $course_loop = ob_get_clean();
98
99 if (isset($loop_content_only) && $loop_content_only==true) {
100 echo $course_loop;
101 return;
102 }
103
104 $course_archive_arg = isset($GLOBALS['tutor_course_archive_arg']) ? $GLOBALS['tutor_course_archive_arg']['column_per_row'] : null;
105 $columns = $course_archive_arg === null ? tutor_utils()->get_option( 'courses_col_per_row', 3 ) : $course_archive_arg;
106 ?>
107
108 <div class="tutor-wrap tutor-wrap-parent tutor-courses-wrap tutor-container course-archive-page" data-tutor_courses_meta="<?php echo esc_attr( json_encode($GLOBALS['tutor_course_archive_arg']) ); ?>">
109 <div class="tutor-row tutor-gx-xl-5">
110 <?php if ($course_filter && count($supported_filters)): ?>
111 <div class="tutor-col-3 tutor-d-none tutor-d-lg-block">
112 <div class="tutor-course-filter" tutor-course-filter>
113 <?php tutor_load_template('course-filter.filters'); ?>
114 </div>
115 </div>
116
117 <?php if ( $columns < 3 ) : ?>
118 <div class="tutor-col-1 tutor-d-none tutor-d-xl-block" area-hidden="true"></div>
119 <?php endif; ?>
120
121 <div class="tutor-col-lg-9 tutor-col-xl-<?php echo $columns < 3 ? 8 : 9; ?> tutor-pagination-wrapper-replaceable" tutor-course-list-container>
122 <?php echo $course_loop; ?>
123 </div>
124 <?php else: ?>
125 <div class="tutor-col-12 tutor-pagination-wrapper-replaceable" tutor-course-list-container>
126 <?php echo $course_loop; ?>
127 </div>
128 <?php endif; ?>
129 </div>
130 </div>