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