PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 1.9.3
Tutor LMS – eLearning and online course solution v1.9.3
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 / views / metabox / course-contents.php
tutor / views / metabox Last commit date
course 5 years ago course-add-edd-product-metabox.php 5 years ago course-add-product-metabox.php 5 years ago course-additional-data.php 5 years ago course-contents.php 5 years ago course-level-metabox.php 5 years ago course-topics.php 5 years ago instructors-metabox.php 5 years ago lesson-attachments-metabox.php 5 years ago lesson-metabox.php 5 years ago user-profile-fields.php 5 years ago video-metabox.php 5 years ago
course-contents.php
241 lines
1 <div class="course-contents">
2
3 <div class="wp_editor_config_example" style="display: none;">
4 <?php wp_editor('', 'tutor_editor_config'); ?>
5 </div>
6
7 <?php
8 if (empty($current_topic_id)){
9 $current_topic_id = (int) tutor_utils()->avalue_dot('current_topic_id', $_POST);
10 }
11
12 $query_lesson = tutor_utils()->get_lesson($course_id, -1);
13 // $query_topics = tutor_utils()->get_topics($course_id);
14 $attached_lesson_ids = array();
15
16 // tutor_utils()->get_topics function doesn't work correctly for multi instructor case. Rather use get_posts.
17 $topic_args = array(
18 'post_type' => 'topics',
19 'post_parent' => $course_id,
20 'orderby' => 'menu_order',
21 'order' => 'ASC',
22 'posts_per_page' => -1,
23 );
24 $query_topics = (object) array('posts' => get_posts($topic_args));
25
26 if ( ! count($query_topics->posts)){
27 echo '<p class="course-empty-content">'.__('Add a topic to build your course', 'tutor').'</p>';
28 }
29
30 foreach ($query_topics->posts as $topic){
31 ?>
32 <div id="tutor-topics-<?php echo $topic->ID; ?>" class="tutor-topics-wrap">
33
34 <div class="tutor-topics-top">
35 <h4 class="tutor-topic-title">
36 <i class="tutor-icon-move course-move-handle"></i>
37 <span class="topic-inner-title"><?php echo stripslashes($topic->post_title); ?></span>
38
39 <span class="tutor-topic-inline-edit-btn">
40 <i class="tutor-icon-pencil topic-edit-icon"></i>
41 </span>
42 <span class="topic-delete-btn">
43 <a href="<?php echo wp_nonce_url(admin_url('admin.php?action=tutor_delete_topic&topic_id='.$topic->ID), tutor()->nonce_action, tutor()->nonce); ?>" title="<?php _e('Delete Topic', 'tutor'); ?>" data-topic-id="<?php echo $topic->ID; ?>">
44 <i class="tutor-icon-garbage"></i>
45 </a>
46 </span>
47
48 <span class="expand-collapse-wrap">
49 <a href="javascript:;"><i class="tutor-icon-light-down"></i> </a>
50 </span>
51 </h4>
52
53 <div class="tutor-topics-edit-form" style="display: none;">
54 <div class="tutor-option-field-row">
55 <div class="tutor-option-field-label">
56 <label for=""><?php _e('Topic Name', 'tutor'); ?></label>
57 </div>
58 <div class="tutor-option-field">
59 <input type="text" name="topic_title" class="course-edit-topic-title-input" value="<?php echo stripslashes($topic->post_title); ?>">
60
61 <p class="desc">
62 <?php _e('Topic title will be publicly show where required, you can call it as a section also in course', 'tutor'); ?>
63 </p>
64 </div>
65 </div>
66
67 <div class="tutor-option-field-row">
68 <div class="tutor-option-field-label">
69 <label for=""><?php _e('Topic Summary', 'tutor'); ?></label>
70 </div>
71 <div class="tutor-option-field">
72 <textarea name="topic_summery"><?php echo $topic->post_content; ?></textarea>
73 <p class="desc">
74 <?php _e('The idea of a summary is a short text to prepare students for the activities within the topic or week. The text is shown on the course page under the topic name.', 'tutor'); ?>
75 </p>
76
77 <button type="button" class="button button-primary tutor-topics-edit-button"><i class="tutor-icon-pencil"></i> <?php _e('Update Topic', 'tutor'); ?></button>
78 </div>
79 </div>
80 </div>
81 </div>
82
83 <div class="tutor-topics-body" style="display: <?php echo $current_topic_id == $topic->ID ? 'block' : 'none'; ?>;">
84
85 <div class="tutor-lessons">
86 <?php
87 // Below function doesn't work somehow because of using WP_Query in ajax call. Will be removed in future.
88 // $lessons = tutor_utils()->get_course_contents_by_topic($topic->ID, -1);
89
90 $post_type = apply_filters( 'tutor_course_contents_post_types', array( tutor()->lesson_post_type, 'tutor_quiz' ) );
91 $lessons = (object) array('posts' => get_posts(array(
92 'post_type' => $post_type,
93 'post_parent' => $topic->ID,
94 'posts_per_page' => -1,
95 'orderby' => 'menu_order',
96 'order' => 'ASC',
97 )));
98
99 foreach ($lessons->posts as $lesson){
100 $attached_lesson_ids[] = $lesson->ID;
101
102 if ($lesson->post_type === 'tutor_quiz'){
103 $quiz = $lesson;
104 ?>
105 <div id="tutor-quiz-<?php echo $quiz->ID; ?>" class="course-content-item tutor-quiz tutor-quiz-<?php echo $topic->ID; ?>">
106 <div class="tutor-lesson-top">
107 <i class="tutor-icon-move"></i>
108 <a href="javascript:;" class="open-tutor-quiz-modal" data-quiz-id="<?php echo $quiz->ID; ?>" data-topic-id="<?php echo $topic->ID; ?>">
109 <i class=" tutor-icon-doubt"></i>[<?php _e('QUIZ', 'tutor'); ?>] <?php echo stripslashes($quiz->post_title); ?>
110 </a>
111 <?php do_action('tutor_course_builder_before_quiz_btn_action', $quiz->ID); ?>
112 <a href="javascript:;" class="tutor-delete-quiz-btn" data-quiz-id="<?php echo $quiz->ID; ?>"><i class="tutor-icon-garbage"></i></a>
113 </div>
114 </div>
115
116 <?php
117 }elseif($lesson->post_type === 'tutor_assignments'){
118 ?>
119 <div id="tutor-assignment-<?php echo $lesson->ID; ?>" class="course-content-item tutor-assignment tutor-assignment-<?php echo
120 $lesson->ID; ?>">
121 <div class="tutor-lesson-top">
122 <i class="tutor-icon-move"></i>
123 <a href="javascript:;" class="open-tutor-assignment-modal" data-assignment-id="<?php echo $lesson->ID; ?>"
124 data-topic-id="<?php echo $topic->ID; ?>"><i class="tutor-icon-clipboard"></i> <?php echo
125 $lesson->post_title; ?> </a>
126 <a href="javascript:;" class="tutor-delete-lesson-btn" data-lesson-id="<?php echo $lesson->ID; ?>"><i class="tutor-icon-garbage"></i></a>
127 </div>
128 </div>
129 <?php
130 } elseif ($lesson->post_type === 'tutor_zoom_meeting'){
131 ?>
132 <div id="tutor-zoom-meeting-<?php echo $lesson->ID; ?>" class="course-content-item tutor-zoom-meeting-item tutor-zoom-meeting-<?php echo $lesson->ID; ?>">
133 <div class="tutor-lesson-top">
134 <i class="tutor-icon-move"></i>
135 <a href="javascript:;" class="tutor-zoom-meeting-modal-open-btn" data-meeting-id="<?php echo $lesson->ID; ?>" data-topic-id="<?php echo $topic->ID; ?>" data-click-form="course-builder">
136 <?php echo stripslashes($lesson->post_title); ?>
137 </a>
138 <a href="javascript:;" class="tutor-zoom-meeting-delete-btn" data-meeting-id="<?php echo $lesson->ID; ?>"><i class="tutor-icon-garbage"></i></a>
139 </div>
140 </div>
141 <?php
142 } else {
143 ?>
144 <div id="tutor-lesson-<?php echo $lesson->ID; ?>" class="course-content-item tutor-lesson tutor-lesson-<?php echo
145 $lesson->ID; ?>">
146 <div class="tutor-lesson-top">
147 <i class="tutor-icon-move"></i>
148 <a href="javascript:;" class="open-tutor-lesson-modal" data-lesson-id="<?php echo $lesson->ID; ?>" data-topic-id="<?php echo $topic->ID; ?>"><?php echo stripslashes($lesson->post_title); ?> </a>
149 <a href="javascript:;" class="tutor-delete-lesson-btn" data-lesson-id="<?php echo $lesson->ID; ?>"><i class="tutor-icon-garbage"></i></a>
150 </div>
151 </div>
152 <?php
153 }
154 }
155 ?>
156 </div>
157
158 <div class="tutor_add_quiz_wrap" data-add-quiz-under="<?php echo $topic->ID; ?>">
159 <div class="tutor-add-cotnents-btn-group tutor-add-quiz-button-wrap">
160
161 <?php do_action('tutor_course_builder_before_btn_group', $topic->ID); ?>
162
163 <a href="javascript:;" class="open-tutor-lesson-modal create-lesson-in-topic-btn" data-topic-id="<?php echo $topic->ID; ?>" data-lesson-id="0" >
164 <i class="tutor-icon-plus-square-button"></i>
165 <?php _e('Lesson', 'tutor'); ?>
166 </a>
167 <a href="javascript:;" class="tutor-add-quiz-btn">
168 <i class="tutor-icon-plus-square-button"></i>
169 <?php _e('Quiz', 'tutor'); ?>
170 </a>
171 <?php do_action('tutor_course_builder_after_btn_group', $topic->ID); ?>
172 </div>
173 </div>
174 </div>
175 </div>
176 <?php
177 }
178 ?>
179 <input type="hidden" id="tutor_topics_lessons_sorting" name="tutor_topics_lessons_sorting" value="" />
180 </div>
181
182
183 <?php
184 if ( count( $query_lesson ) > count( $attached_lesson_ids ) ) {
185 ?>
186 <div class="tutor-untopics-lessons">
187 <h3><?php _e( 'Un-assigned lessons' ); ?></h3>
188
189 <div class="tutor-lessons ">
190 <?php
191 foreach ( $query_lesson as $lesson ) {
192 if ( ! in_array( $lesson->ID, $attached_lesson_ids ) ) {
193
194 if ($lesson->post_type === 'tutor_quiz'){
195 $quiz = $lesson;
196 ?>
197 <div id="tutor-quiz-<?php echo $quiz->ID; ?>" class="course-content-item tutor-quiz tutor-quiz-<?php echo $topic->ID; ?>">
198 <div class="tutor-lesson-top">
199 <i class="tutor-icon-move"></i>
200 <a href="javascript:;" class="open-tutor-quiz-modal" data-quiz-id="<?php echo $quiz->ID; ?>" data-topic-id="<?php echo $topic->ID; ?>">
201 <i class=" tutor-icon-doubt"></i>[<?php _e('QUIZ', 'tutor'); ?>] <?php echo stripslashes($quiz->post_title); ?>
202 </a>
203 <?php do_action('tutor_course_builder_before_quiz_btn_action', $quiz->ID); ?>
204 <a href="javascript:;" class="tutor-delete-quiz-btn" data-quiz-id="<?php echo $quiz->ID; ?>"><i class="tutor-icon-garbage"></i></a>
205 </div>
206 </div>
207
208 <?php
209 }elseif($lesson->post_type === 'tutor_assignments'){
210 ?>
211 <div id="tutor-assignment-<?php echo $lesson->ID; ?>" class="course-content-item tutor-assignment tutor-assignment-<?php echo
212 $lesson->ID; ?>">
213 <div class="tutor-lesson-top">
214 <i class="tutor-icon-move"></i>
215 <a href="javascript:;" class="open-tutor-assignment-modal" data-assignment-id="<?php echo $lesson->ID; ?>"
216 data-topic-id="<?php echo $topic->ID; ?>"><i class="tutor-icon-clipboard"></i> <?php echo
217 stripslashes($lesson->post_title); ?> </a>
218 <a href="javascript:;" class="tutor-delete-lesson-btn" data-lesson-id="<?php echo $lesson->ID; ?>"><i class="tutor-icon-garbage"></i></a>
219 </div>
220 </div>
221 <?php
222 } else{
223 ?>
224 <div id="tutor-lesson-<?php echo $lesson->ID; ?>" class="course-content-item tutor-lesson tutor-lesson-<?php echo
225 $lesson->ID; ?>">
226 <div class="tutor-lesson-top">
227 <i class="tutor-icon-move"></i>
228 <a href="javascript:;" class="open-tutor-lesson-modal" data-lesson-id="<?php echo $lesson->ID; ?>" data-topic-id="<?php echo $topic->ID; ?>"><?php echo stripslashes($lesson->post_title); ?> </a>
229 <a href="javascript:;" class="tutor-delete-lesson-btn" data-lesson-id="<?php echo $lesson->ID; ?>"><i class="tutor-icon-garbage"></i></a>
230 </div>
231 </div>
232 <?php
233 }
234
235 }
236 }
237 ?>
238 </div>
239 </div>
240 <?php }
241 ?>