PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 1.7.3
Tutor LMS – eLearning and online course solution v1.7.3
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
376 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
40
41 <div id="tutor-quiz-builder-modal-tabs-container" class="tutor-quiz-builder-modal-tabs-container">
42 <div id="quiz-builder-tab-quiz-info" class="quiz-builder-tab-container">
43 <div class="quiz-builder-tab-body">
44 <div class="tutor-quiz-builder-group">
45 <div class="tutor-quiz-builder-row">
46 <div class="tutor-quiz-builder-col">
47 <input type="text" name="quiz_title" placeholder="<?php _e('Type your quiz title here', 'tutor'); ?>" value="<?php echo
48 $quiz->post_title; ?>">
49 </div>
50 </div>
51 <p class="warning quiz_form_msg"></p>
52 </div>
53 <div class="tutor-quiz-builder-group">
54 <div class="tutor-quiz-builder-row">
55 <div class="tutor-quiz-builder-col">
56 <textarea name="quiz_description" rows="5"><?php echo $quiz->post_content; ?></textarea>
57 </div>
58 </div>
59 </div>
60
61 <?php do_action('tutor_quiz_edit_modal_info_tab_after', $quiz) ?>
62
63 </div>
64
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
77 </div>
78
79 <div id="quiz-builder-tab-questions" class="quiz-builder-tab-container" style="display: none;">
80 <div class="quiz-builder-tab-body">
81 <div class="quiz-builder-questions-wrap">
82
83 <?php
84 $questions = tutor_utils()->get_questions_by_quiz($quiz_id);
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
126
127 </div>
128
129 <div class="tutor-quiz-builder-modal-control-btn-group">
130 <div class="quiz-builder-btn-group-left">
131 <a href="#quiz-builder-tab-quiz-info" class="quiz-modal-tab-navigation-btn quiz-modal-btn-back"><?php _e('Back', 'tutor'); ?></a>
132 <a href="#quiz-builder-tab-settings" class="quiz-modal-tab-navigation-btn quiz-modal-btn-next"><?php _e('Next', 'tutor'); ?></a>
133 </div>
134 <div class="quiz-builder-btn-group-right">
135 <a href="#quiz-builder-tab-questions" class="quiz-modal-tab-navigation-btn quiz-modal-btn-cancel"><?php _e('Cancel', 'tutor'); ?></a>
136 </div>
137 </div>
138
139 </div>
140
141 <div id="quiz-builder-tab-settings" class="quiz-builder-tab-container" style="display: none;">
142 <div class="quiz-builder-tab-body">
143
144 <div class="quiz-builder-modal-settins">
145 <div class="tutor-quiz-builder-group">
146 <h4> <?php _e('Time Limit', 'tutor'); ?> </h4>
147 <div class="tutor-quiz-builder-row">
148 <div class="tutor-quiz-builder-col auto-width">
149 <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) ?>">
150 </div>
151 <div class="tutor-quiz-builder-col auto-width">
152 <?php $limit_time_type = tutor_utils()->get_quiz_option($quiz_id, 'time_limit.time_type', 'minutes') ?>
153 <select name="quiz_option[time_limit][time_type]">
154 <option value="seconds" <?php selected('seconds', $limit_time_type); ?> ><?php _e('Seconds', 'tutor'); ?></option>
155 <option value="minutes" <?php selected('minutes', $limit_time_type); ?> ><?php _e('Minutes', 'tutor'); ?></option>
156 <option value="hours" <?php selected('hours', $limit_time_type); ?> ><?php _e('Hours', 'tutor'); ?></option>
157 <option value="days" <?php selected('days', $limit_time_type); ?> ><?php _e('Days', 'tutor'); ?></option>
158 <option value="weeks" <?php selected('weeks', $limit_time_type); ?> ><?php _e('Weeks', 'tutor'); ?></option>
159 </select>
160 </div>
161 <div class="tutor-quiz-builder-col auto-width">
162 <label class="btn-switch">
163 <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')); ?> />
164 <div class="btn-slider btn-round"></div>
165 </label>
166 <span><?php _e('Hide quiz time - display', 'tutor'); ?></span>
167 </div>
168 </div>
169 <p class="help"><?php _e('Time limit for this quiz. 0 means no time limit.', 'tutor'); ?></p>
170 </div> <!-- .tutor-quiz-builder-group -->
171
172
173
174 <div class="tutor-quiz-builder-group">
175 <h4><?php _e('Quiz Feedback Mode', 'tutor'); ?> </h4>
176
177 <p class="help">(<?php _e('Pick the quiz system"s behaviour on choice based questions', 'tutor'); ?>)</p>
178
179 <div class="tutor-quiz-builder-row">
180 <div class="tutor-quiz-builder-col">
181 <label class="tutor-quiz-feedback-mode">
182 <input type="radio" name="quiz_option[feedback_mode]" value="default" <?php checked('default', tutor_utils()->get_quiz_option($quiz_id, 'feedback_mode')); ?> >
183 <span class="radio-icon"></span>
184 <div class="tutor-quiz-feedback-mode-option">
185 <h4 class="tutor-quiz-feedback-option-option-title"><?php _e('Default', 'tutor'); ?></h4>
186 <p class="tutor-quiz-feedback-option-subtitle">Answers shown after quiz is finished</p>
187 </div>
188 </label>
189 </div>
190 <div class="tutor-quiz-builder-col">
191 <label class="tutor-quiz-feedback-mode">
192 <input type="radio" name="quiz_option[feedback_mode]" value="retry" <?php checked('retry', tutor_utils()->get_quiz_option($quiz_id, 'feedback_mode')); ?> >
193 <span class="radio-icon"></span>
194 <div class="tutor-quiz-feedback-mode-option">
195 <h4 class="tutor-quiz-feedback-option-option-title"><?php _e('Retry Mode', 'tutor'); ?></h4>
196 <p class="tutor-quiz-feedback-option-subtitle">Unlimited attempts on each question. <a href="#"> Live Demo</a></p>
197 </div>
198 </label>
199 </div>
200 <div class="tutor-quiz-builder-col">
201 <label class="tutor-quiz-feedback-mode">
202 <input type="radio" name="quiz_option[feedback_mode]" value="reveal" <?php checked('reveal', tutor_utils()->get_quiz_option($quiz_id, 'feedback_mode')); ?> >
203 <span class="radio-icon"></span>
204 <div class="tutor-quiz-feedback-mode-option">
205 <h4 class="tutor-quiz-feedback-option-option-title"><?php _e('Reveal Mode', 'tutor'); ?></h4>
206 <p class="tutor-quiz-feedback-option-subtitle">Show result after the attempt. <a href="#"> Live Demo</a></p>
207 </div>
208 </label>
209 </div>
210
211 </div>
212 </div> <!-- .tutor-quiz-builder-group -->
213
214
215
216 <div class="tutor-quiz-builder-group">
217 <h4><?php _e('Attempts Allowed', 'tutor'); ?> <span>(<?php _e('Optional', 'tutor'); ?>)</span></h4>
218 <div class="tutor-quiz-builder-row">
219 <div class="tutor-quiz-builder-col">
220 <?php
221 $default_attempts_allowed = tutor_utils()->get_option('quiz_attempts_allowed');
222 $attempts_allowed = (int) tutor_utils()->get_quiz_option($quiz_id, 'attempts_allowed', $default_attempts_allowed);
223 ?>
224
225 <div class="tutor-field-type-slider" data-min="0" data-max="20">
226 <p class="tutor-field-type-slider-value"><?php echo $attempts_allowed; ?></p>
227 <div class="tutor-field-slider"></div>
228 <input type="hidden" value="<?php echo $attempts_allowed; ?>" name="quiz_option[attempts_allowed]" />
229 </div>
230 </div>
231 </div>
232 <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>
233 </div> <!-- .tutor-quiz-builder-group -->
234
235 <div class="tutor-quiz-builder-group">
236 <h4><?php _e('Passing Grade (%)', 'tutor'); ?></h4>
237 <div class="tutor-quiz-builder-row">
238 <div class="tutor-quiz-builder-col">
239 <input type="number" name="quiz_option[passing_grade]" value="<?php echo tutor_utils()->get_quiz_option($quiz_id, 'passing_grade', 80) ?>" size="10">
240 </div>
241 </div>
242 <p class="help"><?php _e('Set the passing percentage for this quiz', 'tutor'); ?></p>
243 </div> <!-- .tutor-quiz-builder-group -->
244
245 <div class="tutor-quiz-builder-group">
246 <h4><?php _e('Max questions allowed to answer', 'tutor'); ?></h4>
247 <div class="tutor-quiz-builder-row">
248 <div class="tutor-quiz-builder-col">
249 <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) ?>">
250 </div>
251 </div>
252 <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 then available question, then all questions will be available for a student to answer.', 'tutor'); ?></p>
253 </div> <!-- .tutor-quiz-builder-group -->
254
255 <?php do_action('tutor_quiz_edit_modal_settings_tab_after', $quiz) ?>
256
257
258 </div>
259 </div>
260
261 <div class="tutor-quiz-builder-modal-control-btn-group">
262 <div class="quiz-builder-btn-group-left">
263 <a href="#quiz-builder-tab-questions" class="quiz-modal-tab-navigation-btn quiz-modal-btn-back"><?php _e('Back', 'tutor'); ?></a>
264 <a href="#quiz-builder-tab-advanced-options" class="quiz-modal-tab-navigation-btn quiz-modal-settings-save-btn"><?php _e('Save', 'tutor'); ?></a>
265 </div>
266 <!--<div class="quiz-builder-btn-group-right">
267 <a href="#quiz-builder-tab-questions" class="quiz-modal-tab-navigation-btn quiz-modal-btn-cancel"><?php /*_e('Cancel', 'tutor'); */?></a>
268 </div>-->
269 </div>
270 </div>
271
272 <div id="quiz-builder-tab-advanced-options" class="quiz-builder-tab-container" style="display: none;">
273
274
275 <div class="tutor-quiz-builder-group">
276 <div class="tutor-quiz-builder-row">
277 <div class="tutor-quiz-builder-col auto-width">
278 <label class="btn-switch">
279 <input type="checkbox" value="1" name="quiz_option[quiz_auto_start]" <?php checked('1', tutor_utils()->get_quiz_option($quiz_id, 'quiz_auto_start')); ?> />
280 <div class="btn-slider btn-round"></div>
281 </label>
282 <span><?php _e('Quiz Auto Start', 'tutor'); ?></span>
283 </div>
284 </div>
285 <p class="help"><?php _e('If you enable this option, the quiz will start automatically after the page is loaded.', 'tutor'); ?></p>
286 </div>
287
288 <div class="tutor-quiz-builder-group">
289 <div class="tutor-quiz-builder-row">
290 <div class="tutor-quiz-builder-col auto-width">
291 <h4><?php _e('Question Layout', 'tutor'); ?></h4>
292
293 <select name="quiz_option[question_layout_view]">
294 <option value=""><?php _e('Set question layout view', 'tutor'); ?></option>
295 <option value="single_question" <?php selected('single_question', tutor_utils()->get_quiz_option($quiz_id, 'question_layout_view')); ?>> <?php _e('Single Question', 'tutor'); ?> </option>
296 <option value="question_pagination" <?php selected('question_pagination', tutor_utils()->get_quiz_option($quiz_id, 'question_layout_view') ); ?>> <?php _e('Question Pagination', 'tutor'); ?> </option>
297 <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>
298 </select>
299 </div>
300
301 <div class="tutor-quiz-builder-col auto-width">
302 <h4><?php _e('Questions Order', 'tutor'); ?></h4>
303
304 <select name="quiz_option[questions_order]">
305 <option value="rand" <?php selected('rand', tutils()->get_quiz_option($quiz_id, 'questions_order')); ?>> <?php _e('Random', 'tutor'); ?> </option>
306 <option value="sorting" <?php selected('sorting', tutils()->get_quiz_option($quiz_id, 'questions_order')); ?>> <?php _e('Sorting', 'tutor'); ?> </option>
307
308 <option value="asc" <?php selected('asc', tutils()->get_quiz_option($quiz_id, 'questions_order') ); ?>> <?php _e('Ascending', 'tutor'); ?> </option>
309 <option value="desc" <?php selected('desc', tutils()->get_quiz_option($quiz_id, 'questions_order') ); ?>> <?php _e('Descending', 'tutor'); ?> </option>
310 </select>
311 </div>
312
313 </div>
314 </div>
315
316
317 <div class="tutor-quiz-builder-group">
318 <div class="tutor-quiz-builder-row">
319 <div class="tutor-quiz-builder-col auto-width">
320 <label class="btn-switch">
321 <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')); ?> />
322 <div class="btn-slider btn-round"></div>
323 </label>
324 <span><?php _e('Hide question number', 'tutor'); ?></span>
325 </div>
326 </div>
327 <p class="help"><?php _e('Show/hide question number during attempt.', 'tutor'); ?></p>
328 </div>
329
330 <div class="tutor-quiz-builder-group">
331 <h4><?php _e('Short answer characters limit', 'tutor'); ?></h4>
332 <div class="tutor-quiz-builder-row">
333 <div class="tutor-quiz-builder-col">
334 <input type="number" name="quiz_option[short_answer_characters_limit]" value="<?php echo tutor_utils()->get_quiz_option
335 ($quiz_id, 'short_answer_characters_limit', 200); ?>" >
336 </div>
337 </div>
338 <p class="help"><?php _e('Student will place answer in short answer question type within this characters limit.', 'tutor'); ?></p>
339 </div>
340
341 <div class="tutor-quiz-builder-group">
342 <h4><?php _e('Open-Ended/Essay questions answer character limit', 'tutor'); ?></h4>
343 <div class="tutor-quiz-builder-row">
344 <div class="tutor-quiz-builder-col">
345 <input type="number" name="quiz_option[open_ended_answer_characters_limit]" value="<?php echo tutor_utils()->get_quiz_option
346 ($quiz_id, 'open_ended_answer_characters_limit', 500); ?>" >
347 </div>
348 </div>
349 <p class="help"><?php _e('Students will place the answer in the Open-Ended/Essay question type within this character limit.', 'tutor'); ?></p>
350 </div>
351
352
353 <div class="tutor-quiz-builder-modal-control-btn-group">
354 <div class="quiz-builder-btn-group-left">
355 <a href="#quiz-builder-tab-settings" class="quiz-modal-tab-navigation-btn quiz-modal-btn-back"><?php _e('Back', 'tutor'); ?></a>
356 <a href="#quiz-builder-tab-advanced-options" class="quiz-modal-tab-navigation-btn quiz-modal-settings-save-btn"><?php _e('Save', 'tutor'); ?></a>
357 </div>
358 <!--<div class="quiz-builder-btn-group-right">
359 <a href="#quiz-builder-tab-questions" class="quiz-modal-tab-navigation-btn quiz-modal-btn-cancel"><?php /*_e('Cancel', 'tutor'); */?></a>
360 </div>-->
361 </div>
362 </div>
363
364 </div>
365
366 <div class="tutor-quiz-builder-modal-tabs-notice">
367 <?php
368 // TODO: These links are must be updated
369 $knowledge_base_link = sprintf("<a href='%s' target='_blank'>%s</a>", "https://docs.themeum.com/tutor-lms/", __("Knowledge Base", "tutor"));
370
371 $documentation_link = sprintf("<a href='%s' target='_blank'>%s</a>", "https://docs.themeum.com/tutor-lms/", __("Documentation", "tutor"));
372 printf(__("Need any Help? Please visit our %s and %s.", "tutor"), $knowledge_base_link, $documentation_link);
373 ?>
374 </div>
375
376 </div>