PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 1.9.10
Tutor LMS – eLearning and online course solution v1.9.10
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 4 years ago course-level-metabox.php 5 years ago course-topics.php 4 years ago instructors-metabox.php 4 years ago lesson-attachments-metabox.php 4 years ago lesson-metabox.php 4 years ago user-profile-fields.php 4 years ago video-metabox.php 4 years ago
course-contents.php
239 lines
1 <div class="course-contents tutor-course-builder-content-container">
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="tutor-button tutor-topics-edit-button">
78 <i class="tutor-icon-pencil"></i> <?php _e('Update Topic', 'tutor'); ?>
79 </button>
80 </div>
81 </div>
82 </div>
83 </div>
84
85 <div class="tutor-topics-body" style="display: <?php echo $current_topic_id == $topic->ID ? 'block' : 'none'; ?>;">
86
87 <div class="tutor-lessons"><?php
88 // Below function doesn't work somehow because of using WP_Query in ajax call. Will be removed in future.
89 // $lessons = tutor_utils()->get_course_contents_by_topic($topic->ID, -1);
90
91 $post_type = apply_filters( 'tutor_course_contents_post_types', array( tutor()->lesson_post_type, 'tutor_quiz' ) );
92 $lessons = (object) array('posts' => get_posts(array(
93 'post_type' => $post_type,
94 'post_parent' => $topic->ID,
95 'posts_per_page' => -1,
96 'orderby' => 'menu_order',
97 'order' => 'ASC',
98 )));
99
100 foreach ($lessons->posts as $lesson){
101 $attached_lesson_ids[] = $lesson->ID;
102
103 if ($lesson->post_type === 'tutor_quiz'){
104 $quiz = $lesson;
105 ?>
106 <div id="tutor-quiz-<?php echo $quiz->ID; ?>" class="course-content-item tutor-quiz tutor-quiz-<?php echo $topic->ID; ?>">
107 <div class="tutor-lesson-top">
108 <i class="tutor-icon-move"></i>
109 <a href="javascript:;" class="open-tutor-quiz-modal" data-quiz-id="<?php echo $quiz->ID; ?>" data-topic-id="<?php echo $topic->ID; ?>">
110 <i class=" tutor-icon-doubt"></i>[<?php _e('QUIZ', 'tutor'); ?>] <?php echo stripslashes($quiz->post_title); ?>
111 </a>
112 <?php do_action('tutor_course_builder_before_quiz_btn_action', $quiz->ID); ?>
113 <a href="javascript:;" class="tutor-delete-quiz-btn" data-quiz-id="<?php echo $quiz->ID; ?>"><i class="tutor-icon-garbage"></i></a>
114 </div>
115 </div>
116
117 <?php
118 }elseif($lesson->post_type === 'tutor_assignments'){
119 ?>
120 <div id="tutor-assignment-<?php echo $lesson->ID; ?>" class="course-content-item tutor-assignment tutor-assignment-<?php echo
121 $lesson->ID; ?>">
122 <div class="tutor-lesson-top">
123 <i class="tutor-icon-move"></i>
124 <a href="javascript:;" class="open-tutor-assignment-modal" data-assignment-id="<?php echo $lesson->ID; ?>"
125 data-topic-id="<?php echo $topic->ID; ?>"><i class="tutor-icon-clipboard"></i> <?php echo
126 $lesson->post_title; ?> </a>
127 <a href="javascript:;" class="tutor-delete-lesson-btn" data-lesson-id="<?php echo $lesson->ID; ?>"><i class="tutor-icon-garbage"></i></a>
128 </div>
129 </div>
130 <?php
131 } elseif ($lesson->post_type === 'tutor_zoom_meeting'){
132 ?>
133 <div id="tutor-zoom-meeting-<?php echo $lesson->ID; ?>" class="course-content-item tutor-zoom-meeting-item tutor-zoom-meeting-<?php echo $lesson->ID; ?>">
134 <div class="tutor-lesson-top">
135 <i class="tutor-icon-move"></i>
136 <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">
137 <?php echo stripslashes($lesson->post_title); ?>
138 </a>
139 <a href="javascript:;" class="tutor-zoom-meeting-delete-btn" data-meeting-id="<?php echo $lesson->ID; ?>"><i class="tutor-icon-garbage"></i></a>
140 </div>
141 </div>
142 <?php
143 } else {
144 ?>
145 <div id="tutor-lesson-<?php echo $lesson->ID; ?>" class="course-content-item tutor-lesson tutor-lesson-<?php echo
146 $lesson->ID; ?>">
147 <div class="tutor-lesson-top">
148 <i class="tutor-icon-move"></i>
149 <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>
150 <a href="javascript:;" class="tutor-delete-lesson-btn" data-lesson-id="<?php echo $lesson->ID; ?>"><i class="tutor-icon-garbage"></i></a>
151 </div>
152 </div>
153 <?php
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" data-topic-id="<?php echo $topic->ID; ?>">
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 tutor-course-builder-content-container">
187 <h3><?php _e( 'Un-assigned lessons' ); ?></h3>
188
189 <div class="tutor-lessons "><?php
190 foreach ( $query_lesson as $lesson ) {
191 if ( ! in_array( $lesson->ID, $attached_lesson_ids ) ) {
192
193 if ($lesson->post_type === 'tutor_quiz'){
194 $quiz = $lesson;
195 ?>
196 <div id="tutor-quiz-<?php echo $quiz->ID; ?>" class="course-content-item tutor-quiz tutor-quiz-<?php echo $topic->ID; ?>">
197 <div class="tutor-lesson-top">
198 <i class="tutor-icon-move"></i>
199 <a href="javascript:;" class="open-tutor-quiz-modal" data-quiz-id="<?php echo $quiz->ID; ?>" data-topic-id="<?php echo $topic->ID; ?>">
200 <i class=" tutor-icon-doubt"></i>[<?php _e('QUIZ', 'tutor'); ?>] <?php echo stripslashes($quiz->post_title); ?>
201 </a>
202 <?php do_action('tutor_course_builder_before_quiz_btn_action', $quiz->ID); ?>
203 <a href="javascript:;" class="tutor-delete-quiz-btn" data-quiz-id="<?php echo $quiz->ID; ?>"><i class="tutor-icon-garbage"></i></a>
204 </div>
205 </div>
206
207 <?php
208 }elseif($lesson->post_type === 'tutor_assignments'){
209 ?>
210 <div id="tutor-assignment-<?php echo $lesson->ID; ?>" class="course-content-item tutor-assignment tutor-assignment-<?php echo
211 $lesson->ID; ?>">
212 <div class="tutor-lesson-top">
213 <i class="tutor-icon-move"></i>
214 <a href="javascript:;" class="open-tutor-assignment-modal" data-assignment-id="<?php echo $lesson->ID; ?>"
215 data-topic-id="<?php echo $topic->ID; ?>"><i class="tutor-icon-clipboard"></i> <?php echo
216 stripslashes($lesson->post_title); ?> </a>
217 <a href="javascript:;" class="tutor-delete-lesson-btn" data-lesson-id="<?php echo $lesson->ID; ?>"><i class="tutor-icon-garbage"></i></a>
218 </div>
219 </div>
220 <?php
221 } else{
222 ?>
223 <div id="tutor-lesson-<?php echo $lesson->ID; ?>" class="course-content-item tutor-lesson tutor-lesson-<?php echo
224 $lesson->ID; ?>">
225 <div class="tutor-lesson-top">
226 <i class="tutor-icon-move"></i>
227 <a href="javascript:;" class="open-tutor-lesson-modal" data-lesson-id="<?php echo $lesson->ID; ?>" data-topic-id="<?php echo is_object($topic) ? $topic->ID : ''; ?>"><?php echo stripslashes($lesson->post_title); ?> </a>
228 <a href="javascript:;" class="tutor-delete-lesson-btn" data-lesson-id="<?php echo $lesson->ID; ?>"><i class="tutor-icon-garbage"></i></a>
229 </div>
230 </div>
231 <?php
232 }
233
234 }
235 }
236 ?></div>
237 </div>
238 <?php }
239 ?>