PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 1.9.10
Tutor LMS – eLearning and online course solution v1.9.10
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 / modal / edit_quiz.php
tutor / views / modal Last commit date
add_quiz.php 4 years ago edit-lesson.php 4 years ago edit_quiz.php 4 years ago question_answer_edit_form.php 5 years ago question_answer_form.php 5 years ago question_form.php 4 years ago review.php 4 years ago
edit_quiz.php
364 lines
1 <?php
2 $quiz = null;
3 if (!empty($_POST['tutor_quiz_builder_quiz_id'])) {
4 $quiz_id = sanitize_text_field($_POST['tutor_quiz_builder_quiz_id']);
5 $quiz = get_post($quiz_id);
6
7 echo '<input type="hidden" id="tutor_quiz_builder_quiz_id" value="' . $quiz_id . '" />';
8 } elseif (!empty($quiz_id)) {
9 $quiz = get_post($quiz_id);
10
11 echo '<input type="hidden" id="tutor_quiz_builder_quiz_id" value="' . $quiz_id . '" />';
12 }
13
14 if (!$quiz) {
15 die('No quiz found');
16 }
17
18 if ( $topic_id != '' ) {
19 echo '<input type="hidden" id="current_topic_id_for_quiz" value="'.sanitize_text_field( $_POST['topic_id'] ).'" />';
20 }
21
22 ?>
23
24 <div class="tutor-quiz-builder-modal-contents">
25
26 <div id="tutor-quiz-modal-tab-items-wrap" class="tutor-quiz-modal-tab-items-wrap">
27
28 <a href="#quiz-builder-tab-quiz-info" class="tutor-quiz-modal-tab-item active">
29 <i class="tutor-icon-list"></i> <?php _e('Quiz Info', 'tutor'); ?>
30 </a>
31 <a href="#quiz-builder-tab-questions" class="tutor-quiz-modal-tab-item">
32 <i class="tutor-icon-doubt"></i> <?php _e('Questions', 'tutor'); ?>
33 </a>
34 <a href="#quiz-builder-tab-settings" class="tutor-quiz-modal-tab-item">
35 <i class="tutor-icon-settings-1"></i> <?php _e('Settings', 'tutor'); ?>
36 </a>
37 <a href="#quiz-builder-tab-advanced-options" class="advanced-options-tab-item tutor-quiz-modal-tab-item">
38 <i class="tutor-icon-filter-tool-black-shape"></i> <?php _e('Advanced Options', 'tutor'); ?>
39 </a>
40
41 </div>
42
43 <div id="tutor-quiz-builder-modal-tabs-container" class="tutor-quiz-builder-modal-tabs-container">
44 <div id="quiz-builder-tab-quiz-info" class="quiz-builder-tab-container">
45 <div class="quiz-builder-tab-body">
46 <div class="tutor-quiz-builder-group">
47 <div class="tutor-quiz-builder-row">
48 <div class="tutor-quiz-builder-col">
49 <input type="text" name="quiz_title" placeholder="<?php _e('Type your quiz title here', 'tutor'); ?>" value="<?php echo htmlspecialchars( stripslashes($quiz->post_title) ); ?>">
50 </div>
51 </div>
52 <p class="warning quiz_form_msg"></p>
53 </div>
54 <div class="tutor-quiz-builder-group">
55 <div class="tutor-quiz-builder-row">
56 <div class="tutor-quiz-builder-col">
57 <textarea name="quiz_description" rows="5"><?php echo stripslashes($quiz->post_content); ?></textarea>
58 </div>
59 </div>
60 </div>
61
62 <?php do_action('tutor_quiz_edit_modal_info_tab_after', $quiz) ?>
63
64 </div>
65
66 <div class="tutor-quiz-builder-modal-control-btn-group">
67 <div class="quiz-builder-btn-group-left">
68 <a href="#quiz-builder-tab-questions" class="quiz-modal-tab-navigation-btn quiz-modal-btn-first-step"><?php _e('Save &amp; Next', 'tutor'); ?></a>
69 </div>
70 <div class="quiz-builder-btn-group-right">
71 <a href="#quiz-builder-tab-questions" class="quiz-modal-tab-navigation-btn quiz-modal-btn-cancel"><?php _e('Cancel', 'tutor');
72 ?></a>
73 </div>
74 </div>
75
76 </div>
77
78 <div id="quiz-builder-tab-questions" class="quiz-builder-tab-container" style="display: none;">
79 <div class="quiz-builder-tab-body">
80 <div class="quiz-builder-questions-wrap">
81
82 <?php
83 $questions = tutor_utils()->get_questions_by_quiz($quiz_id);
84
85 if ($questions) {
86 foreach ($questions as $question) {
87 ?>
88 <div class="quiz-builder-question-wrap" data-question-id="<?php echo $question->question_id; ?>">
89 <div class="quiz-builder-question">
90 <span class="question-sorting">
91 <i class="tutor-icon-move"></i>
92 </span>
93
94 <span class="question-title"><?php echo stripslashes($question->question_title); ?></span>
95
96 <span class="question-icon">
97 <?php
98 $type = tutor_utils()->get_question_types($question->question_type);
99 echo $type['icon'] . ' ' . $type['name'];
100 ?>
101 </span>
102
103 <span class="question-edit-icon">
104 <a href="javascript:;" class="tutor-quiz-open-question-form" data-question-id="<?php echo $question->question_id; ?>"><i class="tutor-icon-pencil"></i> </a>
105 </span>
106 </div>
107
108 <div class="quiz-builder-qustion-trash">
109 <a href="javascript:;" class="tutor-quiz-question-trash" data-question-id="<?php echo $question->question_id; ?>"><i class="tutor-icon-garbage"></i> </a>
110 </div>
111 </div>
112 <?php
113 }
114 }
115 ?>
116 </div>
117
118 <div class="tutor-quiz-builder-form-row">
119 <a href="javascript:;" class="tutor-quiz-add-question-btn tutor-quiz-open-question-form">
120 <i class="tutor-icon-add-line"></i>
121 <?php _e('Add Question', 'tutor'); ?>
122 </a>
123 </div>
124
125 </div>
126
127 <div class="tutor-quiz-builder-modal-control-btn-group">
128 <div class="quiz-builder-btn-group-left">
129 <a href="#quiz-builder-tab-quiz-info" class="quiz-modal-tab-navigation-btn quiz-modal-btn-back"><?php _e('Back', 'tutor'); ?></a>
130 <a href="#quiz-builder-tab-settings" class="quiz-modal-tab-navigation-btn quiz-modal-btn-next"><?php _e('Next', 'tutor'); ?></a>
131 </div>
132 <div class="quiz-builder-btn-group-right">
133 <a href="#quiz-builder-tab-questions" class="quiz-modal-tab-navigation-btn quiz-modal-btn-cancel"><?php _e('Cancel', 'tutor'); ?></a>
134 </div>
135 </div>
136
137 </div>
138
139 <div id="quiz-builder-tab-settings" class="quiz-builder-tab-container" style="display: none;">
140 <div class="quiz-builder-tab-body">
141
142 <div class="quiz-builder-modal-settins">
143 <div class="tutor-quiz-builder-group">
144 <h4> <?php _e('Time Limit', 'tutor'); ?> </h4>
145 <div class="tutor-quiz-builder-row">
146 <div class="tutor-quiz-builder-col auto-width">
147 <input type="text" name="quiz_option[time_limit][time_value]" value="<?php echo tutor_utils()->get_quiz_option($quiz_id, 'time_limit.time_value', 0) ?>">
148 </div>
149 <div class="tutor-quiz-builder-col auto-width">
150 <?php $limit_time_type = tutor_utils()->get_quiz_option($quiz_id, 'time_limit.time_type', 'minutes') ?>
151 <select name="quiz_option[time_limit][time_type]">
152 <option value="seconds" <?php selected('seconds', $limit_time_type); ?>><?php _e('Seconds', 'tutor'); ?></option>
153 <option value="minutes" <?php selected('minutes', $limit_time_type); ?>><?php _e('Minutes', 'tutor'); ?></option>
154 <option value="hours" <?php selected('hours', $limit_time_type); ?>><?php _e('Hours', 'tutor'); ?></option>
155 <option value="days" <?php selected('days', $limit_time_type); ?>><?php _e('Days', 'tutor'); ?></option>
156 <option value="weeks" <?php selected('weeks', $limit_time_type); ?>><?php _e('Weeks', 'tutor'); ?></option>
157 </select>
158 </div>
159 <div class="tutor-quiz-builder-col auto-width">
160 <label class="btn-switch">
161 <input type="checkbox" value="1" name="quiz_option[hide_quiz_time_display]" <?php checked('1', tutor_utils()->get_quiz_option($quiz_id, 'hide_quiz_time_display')); ?> />
162 <div class="btn-slider btn-round"></div>
163 </label>
164 <span><?php _e('Hide quiz time - display', 'tutor'); ?></span>
165 </div>
166 </div>
167 <p class="help"><?php _e('Time limit for this quiz. 0 means no time limit.', 'tutor'); ?></p>
168 </div> <!-- .tutor-quiz-builder-group -->
169
170 <div class="tutor-quiz-builder-group">
171 <h4><?php _e('Quiz Feedback Mode', 'tutor'); ?> </h4>
172
173 <p class="help">(<?php _e('Pick the quiz system"s behaviour on choice based questions', 'tutor'); ?>)</p>
174
175 <div class="tutor-quiz-builder-row">
176 <div class="tutor-quiz-builder-col">
177 <label class="tutor-quiz-feedback-mode">
178 <input type="radio" name="quiz_option[feedback_mode]" value="default" <?php checked('default', tutor_utils()->get_quiz_option($quiz_id, 'feedback_mode')); ?>>
179 <span class="radio-icon"></span>
180 <div class="tutor-quiz-feedback-mode-option">
181 <h4 class="tutor-quiz-feedback-option-option-title"><?php _e('Default', 'tutor'); ?></h4>
182 <p class="tutor-quiz-feedback-option-subtitle"><?php _e('Answers shown after quiz is finished', 'tutor'); ?></p>
183 </div>
184 </label>
185 </div>
186 <div class="tutor-quiz-builder-col">
187 <label class="tutor-quiz-feedback-mode">
188 <input type="radio" name="quiz_option[feedback_mode]" value="retry" <?php checked('retry', tutor_utils()->get_quiz_option($quiz_id, 'feedback_mode')); ?>>
189 <span class="radio-icon"></span>
190 <div class="tutor-quiz-feedback-mode-option">
191 <h4 class="tutor-quiz-feedback-option-option-title"><?php _e('Retry Mode', 'tutor'); ?></h4>
192 <p class="tutor-quiz-feedback-option-subtitle"><?php _e('Unlimited attempts on each question.', 'tutor'); ?></p>
193 </div>
194 </label>
195 </div>
196 <div class="tutor-quiz-builder-col">
197 <label class="tutor-quiz-feedback-mode">
198 <input type="radio" name="quiz_option[feedback_mode]" value="reveal" <?php checked('reveal', tutor_utils()->get_quiz_option($quiz_id, 'feedback_mode')); ?>>
199 <span class="radio-icon"></span>
200 <div class="tutor-quiz-feedback-mode-option">
201 <h4 class="tutor-quiz-feedback-option-option-title"><?php _e('Reveal Mode', 'tutor'); ?></h4>
202 <p class="tutor-quiz-feedback-option-subtitle"><?php _e('Show result after the attempt.', 'tutor'); ?></p>
203 </div>
204 </label>
205 </div>
206
207 </div>
208 </div> <!-- .tutor-quiz-builder-group -->
209
210 <div class="tutor-quiz-builder-group">
211 <h4><?php _e('Attempts Allowed', 'tutor'); ?> <span>(<?php _e('Optional', 'tutor'); ?>)</span></h4>
212 <div class="tutor-quiz-builder-row">
213 <div class="tutor-quiz-builder-col">
214 <?php
215 $default_attempts_allowed = tutor_utils()->get_option('quiz_attempts_allowed');
216 $attempts_allowed = (int) tutor_utils()->get_quiz_option($quiz_id, 'attempts_allowed', $default_attempts_allowed);
217 ?>
218
219 <div class="tutor-field-type-slider" data-min="0" data-max="20">
220 <p class="tutor-field-type-slider-value"><?php echo $attempts_allowed; ?></p>
221 <div class="tutor-field-slider"></div>
222 <input type="hidden" value="<?php echo $attempts_allowed; ?>" name="quiz_option[attempts_allowed]" />
223 </div>
224 </div>
225 </div>
226 <p class="help"><?php _e('Restriction on the number of attempts a student is allowed to take for this quiz. 0 for no limit', 'tutor'); ?></p>
227 </div> <!-- .tutor-quiz-builder-group -->
228
229 <div class="tutor-quiz-builder-group">
230 <h4><?php _e('Passing Grade (%)', 'tutor'); ?></h4>
231 <div class="tutor-quiz-builder-row">
232 <div class="tutor-quiz-builder-col">
233 <input type="number" name="quiz_option[passing_grade]" value="<?php echo tutor_utils()->get_quiz_option($quiz_id, 'passing_grade', 80) ?>" size="10">
234 </div>
235 </div>
236 <p class="help"><?php _e('Set the passing percentage for this quiz', 'tutor'); ?></p>
237 </div> <!-- .tutor-quiz-builder-group -->
238
239 <div class="tutor-quiz-builder-group">
240 <h4><?php _e('Max questions allowed to answer', 'tutor'); ?></h4>
241 <div class="tutor-quiz-builder-row">
242 <div class="tutor-quiz-builder-col">
243 <input type="number" name="quiz_option[max_questions_for_answer]" value="<?php echo tutor_utils()->get_quiz_option($quiz_id, 'max_questions_for_answer', 10) ?>">
244 </div>
245 </div>
246 <p class="help"><?php _e('This amount of question will be available for students to answer, and question will comes randomly from all available questions belongs with a quiz, if this amount greater than available question, then all questions will be available for a student to answer.', 'tutor'); ?></p>
247 </div> <!-- .tutor-quiz-builder-group -->
248
249 <?php do_action('tutor_quiz_edit_modal_settings_tab_after', $quiz) ?>
250
251 </div>
252 </div>
253
254 <div class="tutor-quiz-builder-modal-control-btn-group">
255 <div class="quiz-builder-btn-group-left">
256 <a href="#quiz-builder-tab-questions" class="quiz-modal-tab-navigation-btn quiz-modal-btn-back"><?php _e('Back', 'tutor'); ?></a>
257 <a href="#quiz-builder-tab-advanced-options" class="quiz-modal-tab-navigation-btn quiz-modal-settings-save-btn" data-toast_success_message="<?php _e('Saved', 'tutor'); ?>"><?php _e('Save', 'tutor'); ?></a>
258 </div>
259 <!--<div class="quiz-builder-btn-group-right">
260 <a href="#quiz-builder-tab-questions" class="quiz-modal-tab-navigation-btn quiz-modal-btn-cancel"><?php /*_e('Cancel', 'tutor'); */ ?></a>
261 </div>-->
262 </div>
263 </div>
264
265 <div id="quiz-builder-tab-advanced-options" class="quiz-builder-tab-container" style="display: none;">
266
267 <div class="tutor-quiz-builder-group">
268 <div class="tutor-quiz-builder-row">
269 <div class="tutor-quiz-builder-col auto-width">
270 <label class="btn-switch">
271 <input type="checkbox" value="1" name="quiz_option[quiz_auto_start]" <?php checked('1', tutor_utils()->get_quiz_option($quiz_id, 'quiz_auto_start')); ?> />
272 <div class="btn-slider btn-round"></div>
273 </label>
274 <span><?php _e('Quiz Auto Start', 'tutor'); ?></span>
275 </div>
276 </div>
277 <p class="help"><?php _e('If you enable this option, the quiz will start automatically after the page is loaded.', 'tutor'); ?></p>
278 </div>
279
280 <div class="tutor-quiz-builder-group">
281 <div class="tutor-quiz-builder-row">
282 <div class="tutor-quiz-builder-col auto-width">
283 <h4><?php _e('Question Layout', 'tutor'); ?></h4>
284
285 <select name="quiz_option[question_layout_view]">
286 <option value=""><?php _e('Set question layout view', 'tutor'); ?></option>
287 <option value="single_question" <?php selected('single_question', tutor_utils()->get_quiz_option($quiz_id, 'question_layout_view')); ?>> <?php _e('Single Question', 'tutor'); ?> </option>
288 <option value="question_pagination" <?php selected('question_pagination', tutor_utils()->get_quiz_option($quiz_id, 'question_layout_view')); ?>> <?php _e('Question Pagination', 'tutor'); ?> </option>
289 <option value="question_below_each_other" <?php selected('question_below_each_other', tutor_utils()->get_quiz_option($quiz_id, 'question_layout_view')); ?>> <?php _e('Question below each other', 'tutor'); ?> </option>
290 </select>
291 </div>
292
293 <div class="tutor-quiz-builder-col auto-width">
294 <h4><?php _e('Questions Order', 'tutor'); ?></h4>
295
296 <select name="quiz_option[questions_order]">
297 <option value="rand" <?php selected('rand', tutils()->get_quiz_option($quiz_id, 'questions_order')); ?>> <?php _e('Random', 'tutor'); ?> </option>
298 <option value="sorting" <?php selected('sorting', tutils()->get_quiz_option($quiz_id, 'questions_order')); ?>> <?php _e('Sorting', 'tutor'); ?> </option>
299
300 <option value="asc" <?php selected('asc', tutils()->get_quiz_option($quiz_id, 'questions_order')); ?>> <?php _e('Ascending', 'tutor'); ?> </option>
301 <option value="desc" <?php selected('desc', tutils()->get_quiz_option($quiz_id, 'questions_order')); ?>> <?php _e('Descending', 'tutor'); ?> </option>
302 </select>
303 </div>
304
305 </div>
306 </div>
307
308 <div class="tutor-quiz-builder-group">
309 <div class="tutor-quiz-builder-row">
310 <div class="tutor-quiz-builder-col auto-width">
311 <label class="btn-switch">
312 <input type="checkbox" value="1" name="quiz_option[hide_question_number_overview]" <?php checked('1', tutor_utils()->get_quiz_option($quiz_id, 'hide_question_number_overview')); ?> />
313 <div class="btn-slider btn-round"></div>
314 </label>
315 <span><?php _e('Hide question number', 'tutor'); ?></span>
316 </div>
317 </div>
318 <p class="help"><?php _e('Show/hide question number during attempt.', 'tutor'); ?></p>
319 </div>
320
321 <div class="tutor-quiz-builder-group">
322 <h4><?php _e('Short answer characters limit', 'tutor'); ?></h4>
323 <div class="tutor-quiz-builder-row">
324 <div class="tutor-quiz-builder-col">
325 <input type="number" name="quiz_option[short_answer_characters_limit]" value="<?php echo tutor_utils()->get_quiz_option($quiz_id, 'short_answer_characters_limit', 200); ?>">
326 </div>
327 </div>
328 <p class="help"><?php _e('Student will place answer in short answer question type within this characters limit.', 'tutor'); ?></p>
329 </div>
330
331 <div class="tutor-quiz-builder-group">
332 <h4><?php _e('Open-Ended/Essay questions answer character limit', 'tutor'); ?></h4>
333 <div class="tutor-quiz-builder-row">
334 <div class="tutor-quiz-builder-col">
335 <input type="number" name="quiz_option[open_ended_answer_characters_limit]" value="<?php echo tutor_utils()->get_quiz_option($quiz_id, 'open_ended_answer_characters_limit', 500); ?>">
336 </div>
337 </div>
338 <p class="help"><?php _e('Students will place the answer in the Open-Ended/Essay question type within this character limit.', 'tutor'); ?></p>
339 </div>
340
341 <div class="tutor-quiz-builder-modal-control-btn-group">
342 <div class="quiz-builder-btn-group-left">
343 <a href="#quiz-builder-tab-settings" class="quiz-modal-tab-navigation-btn quiz-modal-btn-back"><?php _e('Back', 'tutor'); ?></a>
344 <a href="#quiz-builder-tab-advanced-options" class="quiz-modal-tab-navigation-btn quiz-modal-settings-save-btn" data-toast_success_message="<?php _e('Saved', 'tutor'); ?>"><?php _e('Save', 'tutor'); ?></a>
345 </div>
346 <!--<div class="quiz-builder-btn-group-right">
347 <a href="#quiz-builder-tab-questions" class="quiz-modal-tab-navigation-btn quiz-modal-btn-cancel"><?php /*_e('Cancel', 'tutor'); */ ?></a>
348 </div>-->
349 </div>
350 </div>
351
352 </div>
353
354 <div class="tutor-quiz-builder-modal-tabs-notice">
355 <?php
356 // TODO: These links are must be updated
357 $knowledge_base_link = sprintf("<a href='%s' target='_blank'>%s</a>", "https://docs.themeum.com/tutor-lms/", __("Knowledge Base", "tutor"));
358
359 $documentation_link = sprintf("<a href='%s' target='_blank'>%s</a>", "https://docs.themeum.com/tutor-lms/", __("Documentation", "tutor"));
360 printf(__("Need any Help? Please visit our %s and %s.", "tutor"), $knowledge_base_link, $documentation_link);
361 ?>
362 </div>
363
364 </div>