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