Quiz And Survey Master (Formerly Quiz Master Next) - Version 8.0.6

Version Description

(Nov 22, 2022) = * Feature: Added option to search by quiz in question bank * Feature: Added option to set image size in email template * Bug: Fixed timer issue with multiple quiz shortcodes * Bug: Fixed issue with german and french language questions * Enhancement: Added alert for non active question types * Enhancement: Improved UI in text tabs

Download this release

Release Info

Developer expresstech
Plugin Icon 128x128 Quiz And Survey Master (Formerly Quiz Master Next)
Version 8.0.6
Comparing to
See all releases

Code changes from version 8.0.5 to 8.0.6

css/common.css CHANGED
@@ -3,201 +3,204 @@
3
  */
4
  .pages_count,
5
  .qsm-page .pages_count,
6
- .quiz_section .pages_count{
7
- display: block;
8
- text-align: center;
9
  }
10
- .mlw_qmn_question p:empty, .qsm-d-none{
11
- display: none;
 
12
  }
13
- .MJXc-display{
14
- display: inline-block !important;
15
  }
16
 
17
- body .quiz_section .qsm_contact_div .mlw_qmn_question{
18
- display: block;
19
  }
20
 
21
  .mlw_qmn_question.polar-question-title {
22
  margin-bottom: 10px;
23
  }
24
 
25
- .polar-question-title{
26
- margin-bottom: 50px;
27
- font-size: 16px;
28
- line-height: 20px;
29
  }
30
 
31
  div .quiz_section .question-type-polar-s,
32
  .qsm_questions_answers_section .mlw_qmn_question .question-type-polar-s,
33
- .qsm-quiz-container .mlw_qmn_question .question-type-polar-s{
34
- display: inline-flex;
35
- flex-wrap: wrap;
36
- width: 100%;
37
- align-content: space-between;
38
- align-items: center;
39
  }
40
 
41
  .question-type-polar-s img {
42
- max-width: 100%;
43
- object-fit: cover;
44
  }
45
 
46
- .question-type-polar-s br{
47
- display: none;
48
  }
49
- .question-type-polar-s .left-polar-title{
50
- width: auto;
51
- max-width: 25%;
52
  }
53
- .question-type-polar-s .slider-main-wrapper{
54
- width: calc(50% - 20px);
55
- padding-left: 10px;
56
- padding-right: 10px;
57
  }
58
- .question-type-polar-s .right-polar-title{
59
- width: auto;
60
- max-width: 25%;
61
  }
62
- .question-type-polar-s .qsm_image_caption{
63
- display: block;
64
  }
65
  .qsm_image_result_caption,
66
- .qsm_image_result_caption_default{
67
- background-color: white;
68
- display: block;
69
- width: 100%;
70
- box-sizing: border-box;
71
- padding: 5px 5px 5px 27px;
72
- }
73
- .question-type-polar-s .ui-widget-content{
74
- background: #A5A5A5;
75
- border-color: #A5A5A5;
76
- border-radius: 0;
77
- height: 20px;
78
- }
79
- .question-type-polar-s .ui-widget-content .ui-slider-handle{
80
- background: rgb(119, 113, 113);
81
- height: 32px;
82
- border-color: rgb(119, 113, 113);
83
- top: -7px;
84
- border-radius: 0px;
85
- text-decoration: none;
86
- color: #fff !important;
87
- display: flex;
88
- justify-content: center;
89
- }
90
- .site .question-type-polar-s a.ui-state-focus:focus{
91
- background: rgba(119, 113, 113, 1);
92
- border-color: rgb(119, 113, 113, 1);
93
- text-decoration: none;
94
- }
95
- .qsm-deselect-answer{
96
- float: right;
97
  }
98
  .qsm-popup__close {
99
- text-decoration: none !important;
100
  }
101
- .qsm-popup__btn-primary{
102
- margin-right: 30px;
103
  }
104
  .submit-the-form {
105
- margin-left: 15px !important;
106
  }
107
- body .qsm-popup__container{
108
- padding-top: 40px;
109
- padding-bottom: 50px;
110
  }
111
- body .qsm-popup__header{
112
- text-align: left;
113
  }
114
  body .qsm-popup .qsm-popup__btn {
115
- font-size: 16px;
116
- padding-left: 15px;
117
- padding-right: 15px;
118
- padding-top: 10px;
119
- padding-bottom: 10px;
120
  }
121
- body .qsm-popup__content{
122
- text-align: center;
123
  }
124
- body .qsm-popup__content > img{
125
- display: inline-block;
126
- width: 70px;
127
  }
128
- body .qsm-popup__content > p.qsm-time-up-text{
129
- font-weight: bold;
130
- font-size: 24px;
131
- margin-top: 10px;
132
- font-family: inherit;
133
  }
134
- footer.qsm-popup__footer{
135
- text-align: center;
136
  }
137
- footer.qsm-popup__footer button.qsm-popup-secondary-button{
138
- background-color: #808080 !important;
139
  }
140
- footer.qsm-popup__footer button.qsm-popup-secondary-button:hover{
141
- background-color: #808080 !important;
142
- opacity: 0.9;
143
  }
144
  .qsm-quiz-container select,
145
  .qsm-quiz-container input[type=checkbox],
146
- .qsm-quiz-container input[type=radio]{
147
  cursor: pointer;
148
  }
149
  .qmn_accept_answers input[type=checkbox] {
150
- vertical-align: top;
151
- position: relative;
152
- bottom: -5px;
153
- }
154
- .qsm-quiz-container .qsm-contact-type-checkbox{
155
- display: flex;
156
- align-items: center;
157
- flex-wrap: nowrap;
158
- align-content: center;
159
- }
160
- .qsm-quiz-container .qsm-contact-type-checkbox input{margin: 0 5px 0 3px;}
161
- .mlw_qmn_question_number{
162
- font-weight: bold;
163
- }
164
- .quiz_section .mlw_qmn_new_question{
165
- font-weight: bold;
166
- display: inline;
167
- width: auto;
168
- margin-bottom: 10px;
169
- }
170
- .quiz_section .mlw_qmn_question.qsm_remove_bold{
171
- font-weight: normal;
172
- display: block;
173
- margin-bottom: 10px;
174
- }
175
- .quiz_section iframe{
176
- width: 100% !important;
177
- min-height: 315px !important;
178
- }
179
- .qsm-progress-bar .progressbar-text{
180
- position: absolute;
181
- padding: 0px;
182
- margin: 0px;
183
- top: 10px !important;
184
- right: 10px;
185
- font-size: 13px;
186
- font-weight: bold;
187
- color: rgb(52, 152, 219);
188
- }
189
- .quiz_section .mlw-file-upload-error-msg{
190
- color: red;
191
- display: block;
 
 
192
  }
193
 
194
- .quiz_section .remove-uploaded-file{
195
- color: red;
196
- border: 1px solid red;
197
- width: 31px;
198
- padding: 5px 5px 0px 5px;
199
- display: inline-block;
200
- cursor: pointer;
201
  }
202
 
203
 
@@ -205,171 +208,164 @@ footer.qsm-popup__footer button.qsm-popup-secondary-button:hover{
205
  * Design for new template variable QUESTION_WITH_ANSWER
206
  */
207
 
208
- .mlw_qmn_question .qmn_user_incorrect_answer{
209
- display: block;
210
- color: #dc3232;
211
- margin-bottom: 5px;
212
- padding-left: 10px;
213
  }
214
  .mlw_qmn_question span.qmn_user_incorrect_answer::before {
215
- position: relative;
216
- top: 3px;
217
- content: "\f335";
218
- font-family: dashicons;
219
-
220
- left: -10px;
221
  }
222
 
223
- .mlw_qmn_question .qmn_user_correct_answer{
224
- display: block;
225
- color: green;
226
- margin-bottom: 5px;
227
- padding-left: 10px;
228
- }
229
- .mlw_qmn_question .qmn_user_correct_answer:before{
230
- content: "\f159";
231
- font-family: dashicons;
232
- position: relative;
233
- top: 3px;
234
- left: -10px;
235
  }
236
 
237
- .mlw_qmn_question .qsm-text-wrong-option{
238
- display: block;
239
- color: #dc3232;
240
- margin-bottom: 5px;
241
- padding-left: 10px;
242
  }
243
  .mlw_qmn_question span.qsm-text-wrong-option::before {
244
- content: "\f335";
245
- font-family: dashicons;
246
- position: relative;
247
- top: 3px;
248
- left: -10px;
249
- }
250
- .mlw_qmn_question .qsm-text-correct-option{
251
- display: block;
252
- color: green;
253
- margin-bottom: 5px;
254
- padding-left: 10px;
255
- }
256
- .mlw_qmn_question .qsm-text-correct-option:before{
257
- content: "\f159";
258
- font-family: dashicons;
259
- position: relative;
260
- top: 3px;
261
- left: -10px;
262
- }
263
- body .qsm-results-page .mlw_qmn_question .qmn_image_option:before{
264
- position: absolute;
265
- top: calc(100% - 40px);
266
- left: 15px;
267
- background: #fff;
268
- border-radius: 50%;
269
- line-height: 1;
270
- }
271
- .qsm-results-page .mlw_qmn_question .qmn_image_option{
272
- flex-direction: column;
273
- flex-wrap: nowrap;
274
- height: auto;
275
- }
276
- .mlw_qmn_question .qsm-text-correct-option.qsm-text-user-correct-answer:before{
277
- content: "\f12a";
278
- top: 4px;
279
- }
280
- .mlw_qmn_question .qsm-text-simple-option{
281
- display: block;
282
- margin-bottom: 5px;
283
- color: #808080;
284
- padding-left: 10px;
285
- }
286
- .mlw_qmn_question .qsm-text-simple-option:before{
287
- content: "\f159";
288
- font-family: dashicons;
289
- position: relative;
290
- top: 3px;
291
- left: -10px;
292
  }
293
  .qsm-results-page .qmn_question_answer.qsm-add-border-bottom {
294
- border-bottom: 1px solid #808080;
295
- padding-bottom: 25px;
296
  }
297
  .qmn_quiz_container.qsm_auto_pagination_enabled {
298
- position: relative;
299
- }
300
- .qmn_quiz_container.qsm_auto_pagination_enabled .quiz_section.quiz_end .qsm-btn{
301
- bottom: 0;
302
- right: 0;
303
- width: auto;
304
- text-align: right;
305
- height: auto;
306
- padding: 0;
307
- position: absolute;
308
- z-index: 1;
309
- margin-bottom: 15px;
310
- }
311
- .quiz_section input[type="text"].qmn_fill_blank{
312
- display: inline-block;
313
- }
314
- .qmn_quiz_container .mlw_previous{
315
- margin-bottom: 15px;
316
- }
317
- .multi-checkbox-limit-reach{
318
- color: red;
319
- margin-top: 5px;
320
- display: inline-block;
321
  width: 100%;
322
  }
323
- .quiz_section .qsm-inline-correct-info{
324
- margin-bottom: 0;
325
- margin-top: 10px;
326
- }
327
- .quiz_section.qmn_error .mlw_answer_date{
328
- border: 1px solid #da4f49;
329
- background: #F2DEDE;
330
- padding: 5px;
331
- -webkit-border-radius: 3px;
332
- -moz-border-radius: 3px;
333
- border-radius: 3px;
334
- }
335
- .qsm_social_share_link{display: inline-block;cursor: pointer;}
336
- @media screen and (max-width: 767px){
337
- .question-type-polar-s .left-polar-title,
338
- .question-type-polar-s .slider-main-wrapper,
339
- .question-type-polar-s .right-polar-title{
340
- width: 100%;
341
- margin-bottom: 30px;
342
- }
343
- .question-type-polar-s{
344
- height: auto !important;
345
- }
346
- body .quiz_section .qmn_radio_answers label,
347
- body .quiz_section .qmn_check_answers label,
348
- body .quiz_section .qmn_accept_answers label{
349
- font-size: 14px !important;
350
- }
351
- .question-type-polar-s .left-polar-title {
352
- order: 1;
353
- max-width: calc(50% - 10px);
354
- padding-right: 10px;
355
- }
356
- .question-type-polar-s .right-polar-title {
357
- order: 2;
358
- max-width: calc(50% - 10px);
359
- text-align: right;
360
- padding-left: 10px;
361
- }
362
- .question-type-polar-s .slider-main-wrapper{
363
- order: 3;
364
- }
 
 
 
365
  }
366
  .qsm_tooltip {
367
  position: relative;
368
  display: inline-block;
369
  cursor: pointer;
370
  }
371
-
372
- .qsm_tooltip .qsm_tooltiptext{
373
  visibility: hidden;
374
  width: 120px;
375
  background-color: black;
@@ -385,14 +381,15 @@ body .qsm-results-page .mlw_qmn_question .qmn_image_option:before{
385
  left: 50%;
386
  margin-left: -60px;
387
  }
388
- .qsm_tooltip .qsm_tooltiptext a{
389
  background-color: black !important;
390
  color: #fff!important;
391
  }
392
  .qsm_tooltip:hover .qsm_tooltiptext {
393
  visibility: visible;
394
  }
395
- body .ui-tooltip, body .ui-tooltip.ui-widget-content{
 
396
  box-shadow: none;
397
  background: #222;
398
  color: #fff;
@@ -404,52 +401,78 @@ body .ui-tooltip, body .ui-tooltip.ui-widget-content{
404
  text-align: justify;
405
  }
406
  .qsm_quiz_processing_box {
407
- display: inline-block;
408
- width: 100%;
409
- box-sizing: border-box;
410
- padding: 20px;
411
- text-align: center;
412
  }
413
- .qsm_quiz_processing_box .qsm_quiz_processing_message{
414
- margin: 10px 0;
415
  }
416
  .qsm-text-correct-option.not-opted {
417
  color: #6f7479;
418
  }
419
  .admin_page_qsm_quiz_result_details .qmn_image_option img,
420
  .quiz_section .qmn_image_option img {
421
- width: 100%;
422
- height: 100%;
423
- object-fit: cover;
424
  }
425
  .admin_page_qsm_quiz_result_details .qmn_image_option img {
426
- overflow: hidden;
427
- }
428
- .admin_page_qsm_quiz_result_details .qmn_image_option{
429
- width: 48%;
430
- height: 250px;
431
- display: inline-flex !important;
432
- position: relative;
433
- flex-wrap: nowrap;
434
- overflow: hidden;
435
- padding: 1%;
436
- box-sizing: border-box;
437
- align-items: flex-end;
438
- }
439
- .admin_page_qsm_quiz_result_details
440
- .qsm_image_result_caption_default{
441
- display: block;
442
- width: calc(100% - 45px);
443
- box-sizing: content-box;
444
- position: absolute;
445
- left: 27px;
446
- right: 50px;
447
- padding: 5px;
448
- bottom:10px;
449
- z-index:99;
450
- color: black;
451
  }
452
  .admin_page_qsm_quiz_result_details .qmn_question_answer.qsm-add-border-bottom {
453
- border-bottom: 1px solid #808080;
454
- padding-bottom: 25px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
455
  }
3
  */
4
  .pages_count,
5
  .qsm-page .pages_count,
6
+ .quiz_section .pages_count {
7
+ display: block;
8
+ text-align: center;
9
  }
10
+ .mlw_qmn_question p:empty,
11
+ .qsm-d-none {
12
+ display: none;
13
  }
14
+ .MJXc-display {
15
+ display: inline-block !important;
16
  }
17
 
18
+ body .quiz_section .qsm_contact_div .mlw_qmn_question {
19
+ display: block;
20
  }
21
 
22
  .mlw_qmn_question.polar-question-title {
23
  margin-bottom: 10px;
24
  }
25
 
26
+ .polar-question-title {
27
+ margin-bottom: 50px;
28
+ font-size: 16px;
29
+ line-height: 20px;
30
  }
31
 
32
  div .quiz_section .question-type-polar-s,
33
  .qsm_questions_answers_section .mlw_qmn_question .question-type-polar-s,
34
+ .qsm-quiz-container .mlw_qmn_question .question-type-polar-s {
35
+ display: inline-flex;
36
+ flex-wrap: wrap;
37
+ width: 100%;
38
+ align-content: space-between;
39
+ align-items: center;
40
  }
41
 
42
  .question-type-polar-s img {
43
+ max-width: 100%;
44
+ object-fit: cover;
45
  }
46
 
47
+ .question-type-polar-s br {
48
+ display: none;
49
  }
50
+ .question-type-polar-s .left-polar-title {
51
+ width: auto;
52
+ max-width: 25%;
53
  }
54
+ .question-type-polar-s .slider-main-wrapper {
55
+ width: calc(50% - 20px);
56
+ padding-left: 10px;
57
+ padding-right: 10px;
58
  }
59
+ .question-type-polar-s .right-polar-title {
60
+ width: auto;
61
+ max-width: 25%;
62
  }
63
+ .question-type-polar-s .qsm_image_caption {
64
+ display: block;
65
  }
66
  .qsm_image_result_caption,
67
+ .qsm_image_result_caption_default {
68
+ background-color: white;
69
+ display: block;
70
+ width: 100%;
71
+ box-sizing: border-box;
72
+ padding: 5px 5px 5px 27px;
73
+ }
74
+ .question-type-polar-s .ui-widget-content {
75
+ background: #a5a5a5;
76
+ border-color: #a5a5a5;
77
+ border-radius: 0;
78
+ height: 20px;
79
+ }
80
+ .question-type-polar-s .ui-widget-content .ui-slider-handle {
81
+ background: rgb(119, 113, 113);
82
+ height: 32px;
83
+ border-color: rgb(119, 113, 113);
84
+ top: -7px;
85
+ border-radius: 0px;
86
+ text-decoration: none;
87
+ color: #fff !important;
88
+ display: flex;
89
+ justify-content: center;
90
+ }
91
+ .site .question-type-polar-s a.ui-state-focus:focus {
92
+ background: rgba(119, 113, 113, 1);
93
+ border-color: rgb(119, 113, 113, 1);
94
+ text-decoration: none;
95
+ }
96
+ .qsm-deselect-answer {
97
+ float: right;
98
  }
99
  .qsm-popup__close {
100
+ text-decoration: none !important;
101
  }
102
+ .qsm-popup__btn-primary {
103
+ margin-right: 30px;
104
  }
105
  .submit-the-form {
106
+ margin-left: 15px !important;
107
  }
108
+ body .qsm-popup__container {
109
+ padding-top: 40px;
110
+ padding-bottom: 50px;
111
  }
112
+ body .qsm-popup__header {
113
+ text-align: left;
114
  }
115
  body .qsm-popup .qsm-popup__btn {
116
+ font-size: 16px;
117
+ padding-left: 15px;
118
+ padding-right: 15px;
119
+ padding-top: 10px;
120
+ padding-bottom: 10px;
121
  }
122
+ body .qsm-popup__content {
123
+ text-align: center;
124
  }
125
+ body .qsm-popup__content > img {
126
+ display: inline-block;
127
+ width: 70px;
128
  }
129
+ body .qsm-popup__content > p.qsm-time-up-text {
130
+ font-weight: bold;
131
+ font-size: 24px;
132
+ margin-top: 10px;
133
+ font-family: inherit;
134
  }
135
+ footer.qsm-popup__footer {
136
+ text-align: center;
137
  }
138
+ footer.qsm-popup__footer button.qsm-popup-secondary-button {
139
+ background-color: #808080 !important;
140
  }
141
+ footer.qsm-popup__footer button.qsm-popup-secondary-button:hover {
142
+ background-color: #808080 !important;
143
+ opacity: 0.9;
144
  }
145
  .qsm-quiz-container select,
146
  .qsm-quiz-container input[type=checkbox],
147
+ .qsm-quiz-container input[type=radio] {
148
  cursor: pointer;
149
  }
150
  .qmn_accept_answers input[type=checkbox] {
151
+ vertical-align: top;
152
+ position: relative;
153
+ bottom: -5px;
154
+ }
155
+ .qsm-quiz-container .qsm-contact-type-checkbox {
156
+ display: flex;
157
+ align-items: center;
158
+ flex-wrap: nowrap;
159
+ align-content: center;
160
+ }
161
+ .qsm-quiz-container .qsm-contact-type-checkbox input {
162
+ margin: 0 5px 0 3px;
163
+ }
164
+ .mlw_qmn_question_number {
165
+ font-weight: bold;
166
+ }
167
+ .quiz_section .mlw_qmn_new_question {
168
+ font-weight: bold;
169
+ display: inline;
170
+ width: auto;
171
+ margin-bottom: 10px;
172
+ }
173
+ .quiz_section .mlw_qmn_question.qsm_remove_bold {
174
+ font-weight: normal;
175
+ display: block;
176
+ margin-bottom: 10px;
177
+ }
178
+ .quiz_section iframe {
179
+ width: 100% !important;
180
+ min-height: 315px !important;
181
+ }
182
+ .qsm-progress-bar .progressbar-text {
183
+ position: absolute;
184
+ padding: 0px;
185
+ margin: 0px;
186
+ top: 10px !important;
187
+ right: 10px;
188
+ font-size: 13px;
189
+ font-weight: bold;
190
+ color: rgb(52, 152, 219);
191
+ }
192
+ .quiz_section .mlw-file-upload-error-msg {
193
+ color: red;
194
+ display: block;
195
  }
196
 
197
+ .quiz_section .remove-uploaded-file {
198
+ color: red;
199
+ border: 1px solid red;
200
+ width: 31px;
201
+ padding: 5px 5px 0px 5px;
202
+ display: inline-block;
203
+ cursor: pointer;
204
  }
205
 
206
 
208
  * Design for new template variable QUESTION_WITH_ANSWER
209
  */
210
 
211
+ .mlw_qmn_question .qmn_user_incorrect_answer {
212
+ display: block;
213
+ color: #dc3232;
214
+ margin-bottom: 5px;
215
+ padding-left: 10px;
216
  }
217
  .mlw_qmn_question span.qmn_user_incorrect_answer::before {
218
+ position: relative;
219
+ top: 3px;
220
+ content: "\f335";
221
+ font-family: dashicons;
222
+ left: -10px;
 
223
  }
224
 
225
+ .mlw_qmn_question .qmn_user_correct_answer {
226
+ display: block;
227
+ color: green;
228
+ margin-bottom: 5px;
229
+ padding-left: 10px;
230
+ }
231
+ .mlw_qmn_question .qmn_user_correct_answer:before {
232
+ content: "\f159";
233
+ font-family: dashicons;
234
+ position: relative;
235
+ top: 3px;
236
+ left: -10px;
237
  }
238
 
239
+ .mlw_qmn_question .qsm-text-wrong-option {
240
+ display: block;
241
+ color: #dc3232;
242
+ margin-bottom: 5px;
243
+ padding-left: 10px;
244
  }
245
  .mlw_qmn_question span.qsm-text-wrong-option::before {
246
+ content: "\f335";
247
+ font-family: dashicons;
248
+ position: relative;
249
+ top: 3px;
250
+ left: -10px;
251
+ }
252
+ .mlw_qmn_question .qsm-text-correct-option {
253
+ display: block;
254
+ color: green;
255
+ margin-bottom: 5px;
256
+ padding-left: 10px;
257
+ }
258
+ .mlw_qmn_question .qsm-text-correct-option:before {
259
+ content: "\f159";
260
+ font-family: dashicons;
261
+ position: relative;
262
+ top: 3px;
263
+ left: -10px;
264
+ }
265
+ body .qsm-results-page .mlw_qmn_question .qmn_image_option:before {
266
+ position: absolute;
267
+ top: calc(100% - 40px);
268
+ left: 15px;
269
+ background: #fff;
270
+ border-radius: 50%;
271
+ line-height: 1;
272
+ }
273
+ .qsm-results-page .mlw_qmn_question .qmn_image_option {
274
+ flex-direction: column;
275
+ flex-wrap: nowrap;
276
+ height: auto;
277
+ }
278
+ .mlw_qmn_question .qsm-text-correct-option.qsm-text-user-correct-answer:before {
279
+ content: "\f12a";
280
+ top: 4px;
281
+ }
282
+ .mlw_qmn_question .qsm-text-simple-option {
283
+ display: block;
284
+ margin-bottom: 5px;
285
+ color: #808080;
286
+ padding-left: 10px;
287
+ }
288
+ .mlw_qmn_question .qsm-text-simple-option:before {
289
+ content: "\f159";
290
+ font-family: dashicons;
291
+ position: relative;
292
+ top: 3px;
293
+ left: -10px;
294
  }
295
  .qsm-results-page .qmn_question_answer.qsm-add-border-bottom {
296
+ border-bottom: 1px solid #808080;
297
+ padding-bottom: 25px;
298
  }
299
  .qmn_quiz_container.qsm_auto_pagination_enabled {
300
+ position: relative;
301
+ }
302
+ .qmn_quiz_container.qsm_auto_pagination_enabled .quiz_section.quiz_end .qsm-btn {
303
+ position: absolute;
304
+ bottom: 15px;
305
+ right: 0;
306
+ z-index: 1;
307
+ }
308
+ .quiz_section input[type="text"].qmn_fill_blank {
309
+ display: inline-block;
310
+ }
311
+ .multi-checkbox-limit-reach {
312
+ color: red;
313
+ margin-top: 5px;
314
+ display: inline-block;
 
 
 
 
 
 
 
 
315
  width: 100%;
316
  }
317
+ .quiz_section .qsm-inline-correct-info {
318
+ margin-bottom: 0;
319
+ margin-top: 10px;
320
+ }
321
+ .quiz_section.qmn_error .mlw_answer_date {
322
+ border: 1px solid #da4f49;
323
+ background: #f2dede;
324
+ padding: 5px;
325
+ -webkit-border-radius: 3px;
326
+ -moz-border-radius: 3px;
327
+ border-radius: 3px;
328
+ }
329
+ .qsm_social_share_link {
330
+ display: inline-block;
331
+ cursor: pointer;
332
+ }
333
+ @media screen and (max-width: 767px) {
334
+ .question-type-polar-s .left-polar-title,
335
+ .question-type-polar-s .slider-main-wrapper,
336
+ .question-type-polar-s .right-polar-title {
337
+ width: 100%;
338
+ margin-bottom: 30px;
339
+ }
340
+ .question-type-polar-s {
341
+ height: auto !important;
342
+ }
343
+ body .quiz_section .qmn_radio_answers label,
344
+ body .quiz_section .qmn_check_answers label,
345
+ body .quiz_section .qmn_accept_answers label {
346
+ font-size: 14px !important;
347
+ }
348
+ .question-type-polar-s .left-polar-title {
349
+ order: 1;
350
+ max-width: calc(50% - 10px);
351
+ padding-right: 10px;
352
+ }
353
+ .question-type-polar-s .right-polar-title {
354
+ order: 2;
355
+ max-width: calc(50% - 10px);
356
+ text-align: right;
357
+ padding-left: 10px;
358
+ }
359
+ .question-type-polar-s .slider-main-wrapper {
360
+ order: 3;
361
+ }
362
  }
363
  .qsm_tooltip {
364
  position: relative;
365
  display: inline-block;
366
  cursor: pointer;
367
  }
368
+ .qsm_tooltip .qsm_tooltiptext {
 
369
  visibility: hidden;
370
  width: 120px;
371
  background-color: black;
381
  left: 50%;
382
  margin-left: -60px;
383
  }
384
+ .qsm_tooltip .qsm_tooltiptext a {
385
  background-color: black !important;
386
  color: #fff!important;
387
  }
388
  .qsm_tooltip:hover .qsm_tooltiptext {
389
  visibility: visible;
390
  }
391
+ body .ui-tooltip,
392
+ body .ui-tooltip.ui-widget-content {
393
  box-shadow: none;
394
  background: #222;
395
  color: #fff;
401
  text-align: justify;
402
  }
403
  .qsm_quiz_processing_box {
404
+ display: inline-block;
405
+ width: 100%;
406
+ box-sizing: border-box;
407
+ padding: 20px;
408
+ text-align: center;
409
  }
410
+ .qsm_quiz_processing_box .qsm_quiz_processing_message {
411
+ margin: 10px 0;
412
  }
413
  .qsm-text-correct-option.not-opted {
414
  color: #6f7479;
415
  }
416
  .admin_page_qsm_quiz_result_details .qmn_image_option img,
417
  .quiz_section .qmn_image_option img {
418
+ width: 100%;
419
+ height: 100%;
420
+ object-fit: cover;
421
  }
422
  .admin_page_qsm_quiz_result_details .qmn_image_option img {
423
+ overflow: hidden;
424
+ }
425
+ .admin_page_qsm_quiz_result_details .qmn_image_option {
426
+ width: 48%;
427
+ height: 250px;
428
+ display: inline-flex !important;
429
+ position: relative;
430
+ flex-wrap: nowrap;
431
+ overflow: hidden;
432
+ padding: 1%;
433
+ box-sizing: border-box;
434
+ align-items: flex-end;
435
+ }
436
+ .admin_page_qsm_quiz_result_details .qsm_image_result_caption_default {
437
+ display: block;
438
+ width: calc(100% - 45px);
439
+ box-sizing: content-box;
440
+ position: absolute;
441
+ left: 27px;
442
+ right: 50px;
443
+ padding: 5px;
444
+ bottom: 10px;
445
+ z-index: 99;
446
+ color: black;
 
447
  }
448
  .admin_page_qsm_quiz_result_details .qmn_question_answer.qsm-add-border-bottom {
449
+ border-bottom: 1px solid #808080;
450
+ padding-bottom: 25px;
451
+ }
452
+ .qmn_btn,
453
+ .qmn_quiz_container .qmn_btn,
454
+ .qmn_quiz_container .btn {
455
+ position: relative;
456
+ display: inline-block;
457
+ box-sizing: border-box;
458
+ color: #666 !important;
459
+ background: #ccc !important;
460
+ border: 1px solid #ccc !important;
461
+ font-family: inherit;
462
+ font-size: 16px !important;
463
+ line-height: 22px;
464
+ text-align: center;
465
+ min-width: 100px;
466
+ padding: 10px 20px !important;
467
+ cursor: pointer;
468
+ text-decoration: none !important;
469
+ -webkit-border-radius: 3px;
470
+ -moz-border-radius: 3px;
471
+ border-radius: 3px;
472
+ -webkit-box-shadow: 0px 0px 6px rgba(0, 0, 0, .05);
473
+ -moz-box-shadow: 0px 0px 6px rgba(0, 0, 0, .05);
474
+ box-shadow: 0px 0px 6px rgba(0, 0, 0, .05);
475
+ -webkit-transition: background .25s ease-out;
476
+ -moz-transition: background .25s ease-out;
477
+ transition: background .25s ease-out;
478
  }
css/qsm-admin-question.css CHANGED
@@ -5,7 +5,7 @@
5
  align-items: center;
6
  flex-wrap: nowrap;
7
  }
8
- .qsm_tab_content a.button-gray{
9
  border: transparent;
10
  }
11
  #delete-question-button {
@@ -17,10 +17,11 @@
17
  align-items: center;
18
  flex-wrap: nowrap;
19
  }
20
- #delete-question-button .dashicons, #unlink-question-button .dashicons{
21
- margin-right: 5px;
 
22
  }
23
- #modal-7 .qsm-popup__container{
24
  max-width: 560px;
25
  }
26
  #modal-8 {
@@ -36,11 +37,11 @@
36
  margin: -10px -10px 0 0;
37
  font-size: 20px;
38
  }
39
- #modal-8-title{
40
  color: #00449e;
41
  opacity: 70%;
42
  }
43
- #modal-8 footer .dashicons{
44
  font-size: 20px;
45
  margin-right: 3px;
46
  vertical-align: middle;
@@ -82,10 +83,10 @@
82
  background-color: #fafafa;
83
  padding: 15px 20px;
84
  margin: 0 0 20px;
85
- box-shadow: 0 2px 6px 0 #DADADB;
86
  }
87
  .page-header .dashicons {
88
- color: #A6ABAF;
89
  font-size: 25px;
90
  }
91
  .page-header .dashicons.dashicons-trash {
@@ -95,11 +96,11 @@
95
  margin: 0 10px;
96
  }
97
  .page-header .edit-page-button span {
98
- color: #1F8CBE;
99
  }
100
  .page-header span.page-number {
101
  font-size: 18px;
102
- color: #A6ABAF;
103
  display: inline-block;
104
  font-style: italic;
105
  margin: 3px 10px 0;
@@ -114,11 +115,12 @@
114
  background-color: #fafafa;
115
  box-shadow: 0 -2px 6px 0 #dadadb;
116
  }
117
- .page-footer a.qsm-dashed-btn{
118
  min-width: 45%;
119
  padding: 8px 15px;
120
  }
121
- .page-footer a.button .dashicons, .new-answer-button a#new-answer-button .dashicons {
 
122
  line-height: 32px;
123
  }
124
  .question-create-page {
@@ -161,27 +163,27 @@
161
  align-content: center;
162
  position: relative;
163
  }
164
- .question-content-title-box{
165
  max-width: calc(100% - 200px);
166
  line-height: 20px;
167
  }
168
- .question-content .qsm-actions-link-box{
169
  display: none;
170
  }
171
- .question.opened .qsm-actions-link-box, .question-content:hover .qsm-actions-link-box{
172
  display: inline-flex;
173
  }
174
  .question-content .dashicons.dashicons-move {
175
- color: #A6ABAF;
176
  font-size: 22px;
177
  }
178
  .question-content .question-content-text {
179
- color: #1F8CBE;
180
  font-size: 16px;
181
  font-weight: 500;
182
  margin: 2px 0;
183
  }
184
- .question-content .form-actions{
185
  display: inline-flex;
186
  flex-wrap: wrap;
187
  flex-direction: row;
@@ -218,22 +220,22 @@
218
  top: 5px;
219
  vertical-align: top;
220
  }
221
- .qsm-question-bank-filters{
222
  display: flex;
223
  justify-content: space-between;
224
  flex-wrap: nowrap;
225
  padding: 0 20px;
226
  }
227
- .qsm-question-bank-search{
228
  display: inline-flex;
229
  }
230
- #modal-2 .qsm-popup__footer.qsm-question-bank-footer{
231
  display: none;
232
  }
233
- #modal-2 .qsm-popup__footer.qsm-question-bank-footer.opened{
234
  display: flex;
235
  }
236
- .postbox-container .postbox{
237
  background: #fefefe;
238
  border: 1px solid #f0f0f0;
239
  }
@@ -265,7 +267,10 @@
265
  position: relative;
266
  flex-direction: row;
267
  }
268
- .answers-single select, .answers-single textarea, .answers-single input[type=text], .answers-single input[type=number]{
 
 
 
269
  padding: 4px 10px;
270
  margin: 0;
271
  }
@@ -276,7 +281,7 @@
276
  margin-bottom: 5px;
277
  text-align: center;
278
  }
279
- .answers-single>div:nth-child(4){
280
  min-width: auto;
281
  width: 70px;
282
  padding: 5px 0;
@@ -286,18 +291,19 @@
286
  max-width: 60%;
287
  position: relative;
288
  }
289
- .answers-single>div.remove-answer-icon{
290
  width: 20px;
291
  min-width: 25px;
292
- padding: 4px 0;
293
  }
294
- .qsm-question-misc-options{
295
- display: inline-block;
296
- width: 100%;
297
- box-sizing: border-box;
298
- margin: 20px 0 0;
299
  }
300
- .qsm-feature-image-upl, .qsm-feature-image-rmv{
 
301
  display: block;
302
  width: 100%;
303
  font-size: 14px;
@@ -305,7 +311,7 @@
305
  text-decoration: none;
306
  }
307
  input#image_size-width {
308
- margin-left: 6px;
309
  }
310
  .questionElements .qsm-row>label {
311
  position: relative;
@@ -314,26 +320,26 @@ input#image_size-width {
314
  position: relative;
315
  top: 2px;
316
  }
317
- .qsm-editor-wrap #wp-question-text-wrap{
318
  margin-bottom: 20px;
319
  }
320
- .qsm-editor-wrap .wp-media-buttons{
321
  float: right;
322
  margin: 6px 0 -3px 5px;
323
  }
324
- .qsm-editor-wrap .wp-media-buttons button{
325
  font-size: 11px;
326
  padding: 0 5px;
327
  min-height: 26px;
328
  margin: 0;
329
  border-radius: 1px;
330
  }
331
- .qsm-editor-wrap .wp-media-buttons button .wp-media-buttons-icon{
332
- width:18px;
333
- height: 18px;
334
  }
335
- .qsm-editor-wrap .wp-media-buttons button .wp-media-buttons-icon:before{
336
- font-size: 16px;
337
  }
338
  .questionElements .qsm-question-doc {
339
  text-decoration: none;
@@ -360,15 +366,17 @@ input#image_size-width {
360
  .questionElements .qsm-tooltips-icon {
361
  cursor: help;
362
  }
363
- #modal-2 .qsm-popup__content{
364
  padding: 20px 0 0;
365
  }
366
- #modal-page-1 .qsm-popup__footer, #modal-2 .qsm-popup__footer, #modal-7 .qsm-popup__footer{
 
 
367
  display: flex;
368
  justify-content: space-between;
369
  align-items: center;
370
  }
371
- #modal-2 #question-bank{
372
  display: inline-block;
373
  width: 100%;
374
  box-sizing: border-box;
@@ -377,26 +385,27 @@ input#image_size-width {
377
  flex-wrap: nowrap;
378
  flex-direction: column;
379
  padding: 0 20px 20px;
 
380
  }
381
  @-moz-keyframes qsm-spinner-loader {
382
  0% {
383
  -moz-transform: rotate(0deg);
384
  transform: rotate(0deg);
385
- }
386
  100% {
387
  -moz-transform: rotate(360deg);
388
  transform: rotate(360deg);
389
- }
390
  }
391
  @-webkit-keyframes qsm-spinner-loader {
392
  0% {
393
  -webkit-transform: rotate(0deg);
394
  transform: rotate(0deg);
395
- }
396
  100% {
397
  -webkit-transform: rotate(360deg);
398
  transform: rotate(360deg);
399
- }
400
  }
401
  @keyframes qsm-spinner-loader {
402
  0% {
@@ -404,13 +413,13 @@ input#image_size-width {
404
  -ms-transform: rotate(0deg);
405
  -webkit-transform: rotate(0deg);
406
  transform: rotate(0deg);
407
- }
408
  100% {
409
  -moz-transform: rotate(360deg);
410
  -ms-transform: rotate(360deg);
411
  -webkit-transform: rotate(360deg);
412
  transform: rotate(360deg);
413
- }
414
  }
415
  /* :not(:required) hides this rule from IE9 and below */
416
  .qsm-spinner-loader:not(:required) {
@@ -452,7 +461,7 @@ a.import-button.button.disable_import::before {
452
  z-index: 5;
453
  }
454
  .ui-state-highlight {
455
- background: #F3F3F3;
456
  border: 1px dashed #cbcbcb;
457
  height: 50px;
458
  margin: 15px 10px 0;
@@ -537,7 +546,7 @@ a.import-button.button.disable_import::before {
537
  font-size: 14px;
538
  text-decoration: none;
539
  }
540
- .qsm-hide-question-desc-box{
541
  display: inline-block;
542
  font-size: 14px;
543
  text-decoration: none;
@@ -557,14 +566,14 @@ a#qsm-category-add-toggle {
557
  text-decoration: underline;
558
  cursor: pointer;
559
  }
560
- #categorydiv .inside{
561
  margin: 0;
562
  padding: 0;
563
  }
564
- .multi_category_area{
565
  margin: 0;
566
  }
567
- .multi_category_area .qsm-category-filter{
568
  margin: 0;
569
  border-width: 0 !important;
570
  border-bottom: 1px solid #eee !important;
@@ -580,7 +589,7 @@ a#qsm-category-add-toggle {
580
  overflow-y: auto;
581
  font-size: 14px;
582
  }
583
- .multi_category_area ul{
584
  margin: 0;
585
  }
586
  .multi_category_area a.add-multiple-category {
@@ -621,36 +630,36 @@ a#qsm-category-add-toggle {
621
  #poststuff #post-body.columns-2 #side-sortables {
622
  min-width: unset;
623
  width: 100%;
624
- }
625
  .questionElements .postbox {
626
  min-width: unset;
627
  width: 100%;
628
- }
629
  #post-body.columns-2 #postbox-container-1 {
630
  width: 250px;
631
  float: left;
632
  margin-left: 10px;
633
- }
634
  .questionElements {
635
  overflow: hidden;
636
- }
637
  }
638
  @media screen and (max-width: 782px) {
639
- /*List of questions*/
640
  .question-content .question-content-text {
641
  font-size: 14px;
642
- }
643
  body .question-content>div {
644
  margin: 0 5px;
645
- }
646
  .page-footer a.button {
647
  font-size: 10px;
648
  min-height: 25px;
649
  padding: 0 5px;
650
- }
651
  .page-footer a.button .dashicons {
652
  display: none;
653
- }
654
  .question-controls .search-box {
655
  height: auto;
656
  width: auto;
@@ -661,23 +670,30 @@ a#qsm-category-add-toggle {
661
  right: 0;
662
  left: 0;
663
  }
664
- .question-controls .search-box input{padding: 0 8px;min-height: auto;}
 
 
 
665
  .questionElements .postbox {
666
  max-width: 100%;
667
  width: 100%;
668
  min-width: unset;
669
- }
670
  .questionElements .category {
671
  margin-bottom: 10px;
672
- }
673
  .answer-text-div {
674
  width: 135%;
675
- }
676
- .page{padding-bottom: 100px;}
677
- .page-footer .page-header-buttons{flex-wrap: nowrap;}
678
- .page-footer a.qsm-dashed-btn{
679
- font-size: 12px;
680
- padding: 5px 5px;
681
- margin: 5px;
 
 
 
 
682
  }
683
  }
5
  align-items: center;
6
  flex-wrap: nowrap;
7
  }
8
+ .qsm_tab_content a.button-gray {
9
  border: transparent;
10
  }
11
  #delete-question-button {
17
  align-items: center;
18
  flex-wrap: nowrap;
19
  }
20
+ #delete-question-button .dashicons,
21
+ #unlink-question-button .dashicons {
22
+ margin-right: 5px;
23
  }
24
+ #modal-7 .qsm-popup__container {
25
  max-width: 560px;
26
  }
27
  #modal-8 {
37
  margin: -10px -10px 0 0;
38
  font-size: 20px;
39
  }
40
+ #modal-8-title {
41
  color: #00449e;
42
  opacity: 70%;
43
  }
44
+ #modal-8 footer .dashicons {
45
  font-size: 20px;
46
  margin-right: 3px;
47
  vertical-align: middle;
83
  background-color: #fafafa;
84
  padding: 15px 20px;
85
  margin: 0 0 20px;
86
+ box-shadow: 0 2px 6px 0 #dadadb;
87
  }
88
  .page-header .dashicons {
89
+ color: #a6abaf;
90
  font-size: 25px;
91
  }
92
  .page-header .dashicons.dashicons-trash {
96
  margin: 0 10px;
97
  }
98
  .page-header .edit-page-button span {
99
+ color: #1f8cbe;
100
  }
101
  .page-header span.page-number {
102
  font-size: 18px;
103
+ color: #a6abaf;
104
  display: inline-block;
105
  font-style: italic;
106
  margin: 3px 10px 0;
115
  background-color: #fafafa;
116
  box-shadow: 0 -2px 6px 0 #dadadb;
117
  }
118
+ .page-footer a.qsm-dashed-btn {
119
  min-width: 45%;
120
  padding: 8px 15px;
121
  }
122
+ .page-footer a.button .dashicons,
123
+ .new-answer-button a#new-answer-button .dashicons {
124
  line-height: 32px;
125
  }
126
  .question-create-page {
163
  align-content: center;
164
  position: relative;
165
  }
166
+ .question-content-title-box {
167
  max-width: calc(100% - 200px);
168
  line-height: 20px;
169
  }
170
+ .question-content .qsm-actions-link-box {
171
  display: none;
172
  }
173
+ .question.opened .qsm-actions-link-box, .question-content:hover .qsm-actions-link-box {
174
  display: inline-flex;
175
  }
176
  .question-content .dashicons.dashicons-move {
177
+ color: #a6abaf;
178
  font-size: 22px;
179
  }
180
  .question-content .question-content-text {
181
+ color: #1f8cbe;
182
  font-size: 16px;
183
  font-weight: 500;
184
  margin: 2px 0;
185
  }
186
+ .question-content .form-actions {
187
  display: inline-flex;
188
  flex-wrap: wrap;
189
  flex-direction: row;
220
  top: 5px;
221
  vertical-align: top;
222
  }
223
+ .qsm-question-bank-filters {
224
  display: flex;
225
  justify-content: space-between;
226
  flex-wrap: nowrap;
227
  padding: 0 20px;
228
  }
229
+ .qsm-question-bank-search {
230
  display: inline-flex;
231
  }
232
+ #modal-2 .qsm-popup__footer.qsm-question-bank-footer {
233
  display: none;
234
  }
235
+ #modal-2 .qsm-popup__footer.qsm-question-bank-footer.opened {
236
  display: flex;
237
  }
238
+ .postbox-container .postbox {
239
  background: #fefefe;
240
  border: 1px solid #f0f0f0;
241
  }
267
  position: relative;
268
  flex-direction: row;
269
  }
270
+ .answers-single select,
271
+ .answers-single textarea,
272
+ .answers-single input[type=text],
273
+ .answers-single input[type=number] {
274
  padding: 4px 10px;
275
  margin: 0;
276
  }
281
  margin-bottom: 5px;
282
  text-align: center;
283
  }
284
+ .answers-single>div.answer-correct-div {
285
  min-width: auto;
286
  width: 70px;
287
  padding: 5px 0;
291
  max-width: 60%;
292
  position: relative;
293
  }
294
+ .answers-single>div.remove-answer-icon {
295
  width: 20px;
296
  min-width: 25px;
297
+ padding: 5px 0;
298
  }
299
+ .qsm-question-misc-options {
300
+ display: inline-block;
301
+ width: 100%;
302
+ box-sizing: border-box;
303
+ margin: 20px 0 0;
304
  }
305
+ .qsm-feature-image-upl,
306
+ .qsm-feature-image-rmv {
307
  display: block;
308
  width: 100%;
309
  font-size: 14px;
311
  text-decoration: none;
312
  }
313
  input#image_size-width {
314
+ margin-left: 6px;
315
  }
316
  .questionElements .qsm-row>label {
317
  position: relative;
320
  position: relative;
321
  top: 2px;
322
  }
323
+ .qsm-editor-wrap #wp-question-text-wrap {
324
  margin-bottom: 20px;
325
  }
326
+ .qsm-editor-wrap .wp-media-buttons {
327
  float: right;
328
  margin: 6px 0 -3px 5px;
329
  }
330
+ .qsm-editor-wrap .wp-media-buttons button {
331
  font-size: 11px;
332
  padding: 0 5px;
333
  min-height: 26px;
334
  margin: 0;
335
  border-radius: 1px;
336
  }
337
+ .qsm-editor-wrap .wp-media-buttons button .wp-media-buttons-icon {
338
+ width:18px;
339
+ height: 18px;
340
  }
341
+ .qsm-editor-wrap .wp-media-buttons button .wp-media-buttons-icon:before {
342
+ font-size: 16px;
343
  }
344
  .questionElements .qsm-question-doc {
345
  text-decoration: none;
366
  .questionElements .qsm-tooltips-icon {
367
  cursor: help;
368
  }
369
+ #modal-2 .qsm-popup__content {
370
  padding: 20px 0 0;
371
  }
372
+ #modal-page-1 .qsm-popup__footer,
373
+ #modal-2 .qsm-popup__footer,
374
+ #modal-7 .qsm-popup__footer {
375
  display: flex;
376
  justify-content: space-between;
377
  align-items: center;
378
  }
379
+ #modal-2 #question-bank {
380
  display: inline-block;
381
  width: 100%;
382
  box-sizing: border-box;
385
  flex-wrap: nowrap;
386
  flex-direction: column;
387
  padding: 0 20px 20px;
388
+ min-height: 200px;
389
  }
390
  @-moz-keyframes qsm-spinner-loader {
391
  0% {
392
  -moz-transform: rotate(0deg);
393
  transform: rotate(0deg);
394
+ }
395
  100% {
396
  -moz-transform: rotate(360deg);
397
  transform: rotate(360deg);
398
+ }
399
  }
400
  @-webkit-keyframes qsm-spinner-loader {
401
  0% {
402
  -webkit-transform: rotate(0deg);
403
  transform: rotate(0deg);
404
+ }
405
  100% {
406
  -webkit-transform: rotate(360deg);
407
  transform: rotate(360deg);
408
+ }
409
  }
410
  @keyframes qsm-spinner-loader {
411
  0% {
413
  -ms-transform: rotate(0deg);
414
  -webkit-transform: rotate(0deg);
415
  transform: rotate(0deg);
416
+ }
417
  100% {
418
  -moz-transform: rotate(360deg);
419
  -ms-transform: rotate(360deg);
420
  -webkit-transform: rotate(360deg);
421
  transform: rotate(360deg);
422
+ }
423
  }
424
  /* :not(:required) hides this rule from IE9 and below */
425
  .qsm-spinner-loader:not(:required) {
461
  z-index: 5;
462
  }
463
  .ui-state-highlight {
464
+ background: #f3f3f3;
465
  border: 1px dashed #cbcbcb;
466
  height: 50px;
467
  margin: 15px 10px 0;
546
  font-size: 14px;
547
  text-decoration: none;
548
  }
549
+ .qsm-hide-question-desc-box {
550
  display: inline-block;
551
  font-size: 14px;
552
  text-decoration: none;
566
  text-decoration: underline;
567
  cursor: pointer;
568
  }
569
+ #categorydiv .inside {
570
  margin: 0;
571
  padding: 0;
572
  }
573
+ .multi_category_area {
574
  margin: 0;
575
  }
576
+ .multi_category_area .qsm-category-filter {
577
  margin: 0;
578
  border-width: 0 !important;
579
  border-bottom: 1px solid #eee !important;
589
  overflow-y: auto;
590
  font-size: 14px;
591
  }
592
+ .multi_category_area ul {
593
  margin: 0;
594
  }
595
  .multi_category_area a.add-multiple-category {
630
  #poststuff #post-body.columns-2 #side-sortables {
631
  min-width: unset;
632
  width: 100%;
633
+ }
634
  .questionElements .postbox {
635
  min-width: unset;
636
  width: 100%;
637
+ }
638
  #post-body.columns-2 #postbox-container-1 {
639
  width: 250px;
640
  float: left;
641
  margin-left: 10px;
642
+ }
643
  .questionElements {
644
  overflow: hidden;
645
+ }
646
  }
647
  @media screen and (max-width: 782px) {
648
+ /*List of questions*/
649
  .question-content .question-content-text {
650
  font-size: 14px;
651
+ }
652
  body .question-content>div {
653
  margin: 0 5px;
654
+ }
655
  .page-footer a.button {
656
  font-size: 10px;
657
  min-height: 25px;
658
  padding: 0 5px;
659
+ }
660
  .page-footer a.button .dashicons {
661
  display: none;
662
+ }
663
  .question-controls .search-box {
664
  height: auto;
665
  width: auto;
670
  right: 0;
671
  left: 0;
672
  }
673
+ .question-controls .search-box input {
674
+ padding: 0 8px;
675
+ min-height: auto;
676
+ }
677
  .questionElements .postbox {
678
  max-width: 100%;
679
  width: 100%;
680
  min-width: unset;
681
+ }
682
  .questionElements .category {
683
  margin-bottom: 10px;
684
+ }
685
  .answer-text-div {
686
  width: 135%;
687
+ }
688
+ .page {
689
+ padding-bottom: 100px;
690
+ }
691
+ .page-footer .page-header-buttons {
692
+ flex-wrap: nowrap;
693
+ }
694
+ .page-footer a.qsm-dashed-btn {
695
+ font-size: 12px;
696
+ padding: 5px 5px;
697
+ margin: 5px;
698
  }
699
  }
css/qsm-admin.css CHANGED
@@ -1,27 +1,27 @@
1
  /******************** Quizzes/Surveys Page *********************/
2
  /*.qsm-quizes-page .widefat td {
3
- font-size: 16px !important;
4
  }
5
  */
6
  @-moz-keyframes qsm-spinner-loader {
7
  0% {
8
  -moz-transform: rotate(0deg);
9
  transform: rotate(0deg);
10
- }
11
  100% {
12
  -moz-transform: rotate(360deg);
13
  transform: rotate(360deg);
14
- }
15
  }
16
  @-webkit-keyframes qsm-spinner-loader {
17
  0% {
18
  -webkit-transform: rotate(0deg);
19
  transform: rotate(0deg);
20
- }
21
  100% {
22
  -webkit-transform: rotate(360deg);
23
  transform: rotate(360deg);
24
- }
25
  }
26
  @keyframes qsm-spinner-loader {
27
  0% {
@@ -29,13 +29,13 @@
29
  -ms-transform: rotate(0deg);
30
  -webkit-transform: rotate(0deg);
31
  transform: rotate(0deg);
32
- }
33
  100% {
34
  -moz-transform: rotate(360deg);
35
  -ms-transform: rotate(360deg);
36
  -webkit-transform: rotate(360deg);
37
  transform: rotate(360deg);
38
- }
39
  }
40
  /* :not(:required) hides this rule from IE9 and below */
41
  .qsm-spinner-loader:not(:required) {
@@ -93,7 +93,7 @@ span.qsm-quiz-name {
93
  .qsm-action-links:hover {
94
  background-color: black;
95
  }
96
- .qsm-action-link-delete, .qsm-popup__footer .delete-page-button{
97
  color: red !important;
98
  border: transparent;
99
  background: transparent;
@@ -366,8 +366,6 @@ span.qsm-quiz-name {
366
  }
367
  .qsm-active-addons .installed_addons_wrapper, .qsm-active-addons .no_addons_installed {
368
  border: 1px solid #ccd0d4;
369
- /*border-top: medium none;
370
- */
371
  }
372
  .qsm-active-addons .no_addons_installed {
373
  padding: 30px 25%;
@@ -395,7 +393,9 @@ span.qsm-quiz-name {
395
  font-size: 14px;
396
  font-weight: bold;
397
  }
398
- .qsm-active-addons .installed_addons_wrapper .installed_addon .installed_addon_link a {background: #FFF;}
 
 
399
  .qsm-active-addons .installed_addons_wrapper .installed_addon .installed_addon_link span.dashicons {
400
  margin-top: 4px;
401
  }
@@ -409,34 +409,34 @@ span.qsm-quiz-name {
409
  float: right;
410
  }
411
  .qsm-help-page .handle-order-higher, .qsm-help-page .handle-order-lower,
412
- .qsm-tools-page .handle-order-higher, .qsm-tools-page .handle-order-lower{
413
  display: none;
414
  }
415
  @media screen and (min-width: 1200px) {
416
  .qsm-quiz-page-wrapper-with-ads {
417
  margin-right: 0;
418
  width: 100%;
419
- }
420
  .qsm-news-ads .qsm-info-widget {
421
  float: left;
422
  max-width: unset;
423
  width: 31.3%;
424
- }
425
  .qsm-news-ads .qsm-info-widget:nth-child(3n + 5) {
426
  clear: both;
427
- }
428
  .qsm-news-ads .remove-ads-adv-link {
429
  width: 100%;
430
  float: left;
431
- }
432
  }
433
  @media screen and (max-width: 767px) {
434
  .qsm-quiz-page-addon {
435
  width: 100%;
436
- }
437
  .quizzes-surveys_page_qmn_addons .qsm-news-ads {
438
  width: 100%;
439
- }
440
  }
441
  /******************** Options Page *********************/
442
  .template_list_holder {
@@ -455,8 +455,6 @@ span.qsm-quiz-name {
455
  width: 100%;
456
  background-color: #fff;
457
  margin: 20px 0;
458
- /*padding-bottom: 15px;
459
- */
460
  box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.06);
461
  }
462
  .results-page .results-page-content, #qsm_emails .qsm-email .qsm-email-content {
@@ -539,21 +537,21 @@ span.qsm-quiz-name {
539
  .results-page-content, .qsm-email-content {
540
  flex-direction: row;
541
  justify-content: space-around;
542
- }
543
  .results-page-when, .results-page-show, .email-when, .email-show {
544
  width: calc(50% - 15px);
545
  min-width: unset;
546
- }
547
  .results-page-condition, .email-condition {
548
  align-items: center;
549
  flex-direction: row;
550
- }
551
  .results-page-condition>select, .results-page-condition>input, .email-condition>select, .email-condition>input {
552
  max-width: 23%;
553
- }
554
  .delete-condition-button {
555
  border: none;
556
- }
557
  }
558
  /******************** Quiz Styles Tab *********************/
559
  .qsm-styles {
@@ -576,7 +574,7 @@ span.qsm-quiz-name {
576
  .qsm-styles {
577
  flex-direction: row;
578
  flex-wrap: wrap;
579
- }
580
  }
581
  /******************** About/Credits Page *********************/
582
  div.qsm_icon_wrap {
@@ -678,7 +676,7 @@ ul.changelog li.update div.two:before {
678
  .qsm-addons {
679
  flex-direction: row;
680
  flex-wrap: wrap;
681
- }
682
  }
683
  /******************** Help Page *********************/
684
  .quiz_email_support p#mlw_support_message {
@@ -713,11 +711,7 @@ ul.changelog li.update div.two:before {
713
  text-align: center;
714
  background: #fff;
715
  border: 1px solid #dfd4d4;
716
- /* color: #000;
717
- */
718
  font-weight: bold;
719
- /* font-size: 14px;
720
- */
721
  margin-bottom: 20px;
722
  margin-top: 10px;
723
  }
@@ -740,8 +734,10 @@ ul.changelog li.update div.two:before {
740
  max-width: 330px;
741
  box-sizing: border-box;
742
  }
743
- .admin_page_mlw_quiz_options .update-nag{display: none;}
744
- .admin_page_mlw_quiz_options #wpwrap{
 
 
745
  overflow: hidden;
746
  }
747
  .admin_page_mlw_quiz_options .qsm-info-widget {
@@ -796,15 +792,118 @@ ul.changelog li.update div.two:before {
796
  .qsm_tab_content label {
797
  margin-right: 5px;
798
  }
799
- .qsm_tab_content a{
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
800
  cursor: pointer;
801
  text-decoration: none;
802
  outline: none;
 
 
803
  }
804
- .qsm_tab_content a:hover,.qsm_tab_content a:focus{
805
- outline: none;
806
- text-decoration: none;
807
- box-shadow: none;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
808
  }
809
  /* Popup */
810
  .qsm-popup {
@@ -846,7 +945,7 @@ ul.changelog li.update div.two:before {
846
  color: #2271b1;
847
  box-sizing: border-box;
848
  }
849
- .qsm-theme-color-settings .qsm-popup__content label{
850
  font-weight: 400;
851
  }
852
  .qsm-popup__close {
@@ -889,37 +988,37 @@ body .qsm-popup__btn-primary {
889
  @keyframes mmfadeIn {
890
  from {
891
  opacity: 0;
892
- }
893
  to {
894
  opacity: 1;
895
- }
896
  }
897
  @keyframes mmfadeOut {
898
  from {
899
  opacity: 1;
900
- }
901
  to {
902
  opacity: 0;
903
- }
904
  }
905
  @keyframes mmslideIn {
906
  from {
907
  transform: translateY(15%);
908
- }
909
  to {
910
  transform: translateY(0);
911
- }
912
  }
913
  @keyframes mmslideOut {
914
  from {
915
  transform: translateY(0);
916
- }
917
  to {
918
  transform: translateY(-10%);
919
- }
920
  }
921
  .qsm-popup-slide,
922
- .qsm-d-none{
923
  display: none;
924
  }
925
  .qsm-popup-slide.is-open {
@@ -937,10 +1036,15 @@ body .qsm-popup__btn-primary {
937
  .qsm-popup-slide[aria-hidden="true"] .qsm-popup__container {
938
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
939
  }
940
- .qsm-popup-slide .qsm-popup__container, .qsm-popup-slide .qsm-popup__overlay {
 
941
  will-change: transform;
942
  }
943
- .qsm-popup select, .qsm-popup textarea, .qsm-popup input[type=text], .qsm-popup input[type=search], .qsm-popup input[type=number]{
 
 
 
 
944
  min-width: 200px !important;
945
  max-width: 200px !important;
946
  border: 1px solid #dddddd;
@@ -1042,7 +1146,17 @@ h3.addon_category_name {
1042
  min-width: 20px;
1043
  padding: 0 10px;
1044
  }
1045
- .qsm_tab_content input[type="text"], .qsm_tab_content input[type="number"], .qsm_tab_content input[type="url"], .qsm_global_settings input[type="text"], .qsm_global_settings input[type="number"], .qsm_global_settings input[type="email"], .qsm_global_settings input[type="url"], .qsm-addon-setting-wrap input[type="email"], .qsm-addon-setting-wrap input[type="text"], .qsm-addon-setting-wrap input[type="url"], .qsm-addon-setting-wrap input[type="number"] {
 
 
 
 
 
 
 
 
 
 
1046
  background: #ffffff none repeat scroll 0 0;
1047
  border: 1px solid #dddddd;
1048
  border-radius: 1px;
@@ -1130,6 +1244,15 @@ div#modal-6 label {
1130
  color: #999;
1131
  font-style: italic;
1132
  }
 
 
 
 
 
 
 
 
 
1133
  #modal-6 .button>span.dashicons {
1134
  line-height: 29px;
1135
  }
@@ -1145,7 +1268,7 @@ div#modal-6 label {
1145
  .qsm-no-quiz-wrapper .dashicons.dashicons-format-chat {
1146
  font-size: 200px;
1147
  display: block;
1148
- /* line-height: 200px;
1149
  */
1150
  width: auto;
1151
  height: auto;
@@ -1182,10 +1305,10 @@ tr .qsm-opt-desc {
1182
  display: block;
1183
  }
1184
  .form-table .send_email .qsm-opt-tr, .form-table .send_email td {
1185
- padding-top: 0;
1186
  }
1187
  .form-table .store_responses .qsm-opt-tr, .form-table .store_responses td {
1188
- padding-bottom: 0;
1189
  }
1190
  #quiz_settings_wrapper .qsm-opt-desc {
1191
  display: none !important;
@@ -1195,8 +1318,6 @@ tr .qsm-opt-desc {
1195
  }
1196
  .form-table .qsm-opt-tr {
1197
  position: relative;
1198
- padding-right: 24px;
1199
- padding-top: 15px;
1200
  }
1201
  td.scheduled_time_start {
1202
  padding-bottom: 0 !important;
@@ -1250,8 +1371,9 @@ td.scheduled_time_start {
1250
  opacity: 1;
1251
  z-index: 9999;
1252
  }
1253
- .qsm-tab-btns a{
1254
- margin: 0 10px;
 
1255
  }
1256
  /** * Text Tab design */
1257
  .qsm-text-main-wrap {
@@ -1266,6 +1388,7 @@ td.scheduled_time_start {
1266
  position: relative;
1267
  background: #fff;
1268
  box-sizing: border-box;
 
1269
  }
1270
  .qsm-text-main-wrap #postbox-container-1 .qsm-text-header h5 {
1271
  font-size: 14px;
@@ -1278,15 +1401,15 @@ td.scheduled_time_start {
1278
  font-weight: 400;
1279
  }
1280
  .qsm-text-main-wrap .qsm-text-header {
1281
- padding: 20px;
1282
- border-bottom: 1px solid #f1f1f1;
1283
  display: flex;
1284
  align-items: flex-start;
1285
  justify-content: space-between;
1286
  }
1287
- .qsm-text-main-wrap .qsm-text-header .message-dropdown label {
1288
- font-size: 14px;
1289
- font-weight: bold;
 
 
1290
  }
1291
  .qsm-text-main-wrap .qsm-text-conent {
1292
  padding: 20px;
@@ -1395,7 +1518,7 @@ td.scheduled_time_start {
1395
  right: 0;
1396
  min-width: 300px;
1397
  z-index: 9;
1398
- background: #FFF;
1399
  border: 1px solid #e0e0e0;
1400
  box-shadow: -5px 6px 6px 0 #ddd;
1401
  font-size: 14px;
@@ -1403,25 +1526,25 @@ td.scheduled_time_start {
1403
  transition-duration: .3s;
1404
  transition-timing-function: ease-in-out;
1405
  }
1406
- .qsm-help-tab-dropdown-list.opened{
1407
- transform:none;
1408
  }
1409
- .qsm-help-tab-dropdown-list h3{
1410
  background: #f5f5f5;
1411
  padding: 15px 20px;
1412
  margin: 0;
1413
  line-height: 1.2;
1414
  font-size: calc(16px);
1415
  }
1416
- .qsm-quiz-nav-bar .qsm-help-tab-dropdown-list a.qsm-help-tab-item{
1417
  display: block;
1418
  border-bottom: 1px solid #f0f0f0;
1419
  padding: 15px 20px;
1420
- color: #1F8CBE;
1421
  text-align: left;
1422
  position: relative;
1423
  }
1424
- .qsm-quiz-nav-bar .qsm-help-tab-dropdown-list a.qsm-help-tab-item:after{
1425
  content: '\f344';
1426
  font-family: dashicons;
1427
  display: inline-block;
@@ -1438,17 +1561,18 @@ td.scheduled_time_start {
1438
  position: absolute;
1439
  right: 20px;
1440
  }
1441
- .qsm-quiz-nav-bar .qsm-help-tab-dropdown-list a.qsm-help-tab-item:last-child{
1442
- border-color: transparent;
1443
  }
1444
- .qsm-quiz-nav-bar .qsm-help-tab-dropdown-list a.qsm-help-tab-item:hover, .qsm-quiz-nav-bar .qsm-help-tab-dropdown-list a.qsm-help-tab-item:focus{
 
1445
  border-bottom: 1px solid #eee;
1446
  background-color: #f0f0f0;
1447
  }
1448
- .qsm-help-tab-dropdown-list a.qsm-help-tab-item .dashicons{
1449
  display: inline-block;
1450
  }
1451
- .qsm-help-tab-dropdown-list .qsm-help-tab-icon{
1452
  display: inline-block;
1453
  height: 20px;
1454
  width: auto;
@@ -1457,13 +1581,13 @@ td.scheduled_time_start {
1457
  .mlw_quiz_options .nav-tab-wrapper {
1458
  margin-top: 20px;
1459
  }
1460
- .nav-tab-wrapper .qsm-tab-icon{
1461
  display: inline-block;
1462
  vertical-align: top;
1463
  width: auto;
1464
  height: 25px;
1465
  }
1466
- .qsm-option-tab-dropdown{
1467
  position: relative;
1468
  display: inline-block;
1469
  margin-bottom: -5px;
@@ -1475,20 +1599,20 @@ td.scheduled_time_start {
1475
  top: 35px;
1476
  display: none;
1477
  }
1478
- .qsm-option-tab-dropdown-item{
1479
  border-bottom: 1px solid #c3c4c7;
1480
  min-width: 100px;
1481
  width: 100%;
1482
  margin: 0;
1483
  }
1484
- .qsm-option-tab-dropdown:hover .qsm-option-tab-dropdown-list{
1485
  display: block;
1486
  }
1487
  .mlw_quiz_options .edit-quiz-name {
1488
- text-decoration: none;
1489
- box-shadow: none;
1490
- outline: none;
1491
- margin: 0 5px;
1492
  }
1493
  .qsm_text_customize_label {
1494
  position: fixed;
@@ -1596,13 +1720,15 @@ td.scheduled_time_start {
1596
  .response-inner-wrap .inside .qmn_question_answer.qmn_question_answer_incorrect {
1597
  background-image: url(../assets/wrong.png);
1598
  }
1599
- .response-inner-wrap .inside .qsm-add-border-bottom.qmn_question_answer.qmn_question_answer_incorrect, .response-inner-wrap .inside .qsm-remove-border-bottom.qmn_question_answer.qmn_question_answer_incorrect {
 
1600
  background-image: none;
1601
  }
1602
  .response-inner-wrap .inside .qmn_question_answer.qmn_question_answer_correct {
1603
  background-image: url(../assets/right.png);
1604
  }
1605
- .response-inner-wrap .inside .qsm-add-border-bottom.qmn_question_answer.qmn_question_answer_correct, .response-inner-wrap .inside .qsm-remove-border-bottom.qmn_question_answer.qmn_question_answer_correct {
 
1606
  background-image: none;
1607
  }
1608
  .old_template_result_wrap {
@@ -1645,11 +1771,13 @@ td.scheduled_time_start {
1645
  max-width: 1200px;
1646
  width: 100%;
1647
  }
1648
- .qsm-quiz-email-tab .qsm-show-all-variable-text span.dashicons, .qsm-quiz-result-tab .qsm-show-all-variable-text span.dashicons {
 
1649
  font-size: 16px;
1650
  line-height: 22px;
1651
  }
1652
- .qsm-quiz-email-tab .qsm-show-all-variable-text, .qsm-quiz-result-tab .qsm-show-all-variable-text {
 
1653
  position: fixed;
1654
  bottom: 20px;
1655
  right: 25px;
@@ -1670,7 +1798,7 @@ td.scheduled_time_start {
1670
  line-height: 28px;
1671
  }
1672
  .qsm-theme-color-settings .qsm-popup__container,
1673
- .qsm-standard-popup .qsm-popup__container{
1674
  padding: 0;
1675
  margin: 0;
1676
  position: relative;
@@ -1679,52 +1807,56 @@ td.scheduled_time_start {
1679
  max-height: 90vh;
1680
  }
1681
  .qsm-theme-color-settings .qsm-popup__header .qsm-popup__title,
1682
- .qsm-standard-popup .qsm-popup__header .qsm-popup__title{
1683
  padding: 10px 20px;
1684
  }
1685
  .qsm-standard-popup .qsm-popup__header .qsm-popup__close,
1686
- .qsm-theme-color-settings .qsm-popup__header .qsm-popup__close{
1687
- position: relative;
1688
- font-size: 22px;
1689
- border: 1px solid #ddd;
1690
- padding: 15px;
1691
- cursor: pointer;
1692
  }
1693
  .qsm-standard-popup .qsm-popup__content,
1694
- .qsm-theme-color-settings .qsm-popup__content{
1695
  padding: 20px;
1696
  margin: 0;
1697
  box-shadow: inset 0 0 10px 1px #ddd;
1698
  }
1699
- .qsm-standard-popup .qsm-popup__content a{outline: none;box-shadow: none;text-decoration: none;}
1700
- .qsm-standard-popup .qsm-popup__content table{
1701
- width: 100%;
1702
- border-spacing: 0 5px;
 
 
 
 
1703
  }
1704
  .qsm-theme-color-settings .qsm-popup__footer,
1705
- .qsm-standard-popup .qsm-popup__footer{
1706
  padding: 12px 20px;
1707
  }
1708
- .qsm-standard-popup .qsm-popup__footer_with_btns{
1709
  display: flex;
1710
  justify-content: space-between;
1711
  align-items: center;
1712
  }
1713
- #duplicate-quiz-form, #delete-quiz-form{
1714
- margin: 10px 0;
1715
  }
1716
- #delete-quiz-form h3{margin-top: 0;}
1717
- .qsm-popup-upgrade .qsm-popup__footer{
1718
  display: flex;
1719
  justify-content: space-around;
1720
  align-items: center;
1721
  }
1722
- .qsm-popup-upgrade .qsm-popup__container{
1723
  max-width: 500px;
1724
  max-height: 90vh;
1725
  }
1726
- .qsm-popup-upgrade .qsm-popup__container .qsm-popup__content{
1727
- padding: 20px 20px 10px;
1728
  }
1729
  #qsm-global-default-popup .qsm-popup__footer {
1730
  display: flex;
@@ -1732,8 +1864,8 @@ td.scheduled_time_start {
1732
  align-items: center;
1733
  flex-wrap: nowrap;
1734
  }
1735
- #qsm-global-default-popup .qsm-popup__footer button{
1736
- margin: 0 5px;
1737
  }
1738
  .popup-template-span-wrap .popup-copied-des span.dashicons {
1739
  line-height: 28px;
@@ -1742,49 +1874,49 @@ td.scheduled_time_start {
1742
  display: inline-block;
1743
  margin-right: 5px;
1744
  }
1745
- .qsm-standard-popup .qsm-popup__header .qsm-popup__title .title-tag{
1746
- background: #D0DAFF;
1747
  border-radius:5px;
1748
- padding: 4px 10px;
1749
- display: inline-block;
1750
- font-size: 11px;
1751
- letter-spacing: 1px;
1752
- vertical-align: middle;
1753
- margin: 0 5px;
1754
- }
1755
- .qsm-upgrade-box{
1756
- display: inline-block;
1757
- width: 100%;
1758
- box-sizing: border-box;
1759
- padding: 10px;
1760
- max-width: 800px;
1761
- }
1762
- .qsm-popup-upgrade .qsm-upgrade-box{padding: 0;}
1763
- .qsm-popup-upgrade-close{
1764
  border:none;
1765
  padding:0px;
1766
  }
1767
- .qsm-upgrade-box h2{
1768
- font-size: 22px;
1769
- line-height: normal;
1770
- margin: 15px 0 10px;
1771
- letter-spacing: 1px;
1772
  }
1773
 
1774
- .qsm-upgrade-box .qsm-upgrade-text{
1775
- font-size: 16px;
1776
- line-height: 22px;
1777
- text-align: justify;
1778
- }
1779
- .qsm-upgrade-box .qsm-upgrade-read-icon{
1780
- display: flex;
1781
- flex-direction: row;
1782
- margin: 10px 0;
1783
- flex-wrap: nowrap;
1784
- align-items: center;
1785
- font-size: 14px;
1786
- }
1787
- .qsm-upgrade-box .qsm-upgrade-read-icon a{
1788
  text-decoration: none;
1789
  font-weight: bold;
1790
  display: inline-flex;
@@ -1794,68 +1926,129 @@ td.scheduled_time_start {
1794
  align-items: center;
1795
  margin: 2px 6px 0;
1796
  }
1797
- .qsm-upgrade-box .qsm-upgrade-read-icon img{
1798
  height: 15px;
1799
  }
1800
- .qsm-upgrade-box .qsm-upgrade-right-arrow{
1801
- font-size: 16px;
1802
- color: inherit;
1803
- height: 16px;
1804
- margin: 0 2px;
1805
  }
1806
- .qsm-upgrade-chart img{
1807
  max-width: 100%;
1808
  }
1809
  .qsm-popup-upgrade-warning,
1810
- .qsm-popup-upgrade-info{
1811
  display: flex;
1812
  flex-direction: row;
1813
  flex-wrap: nowrap;
1814
  align-items: flex-start;
1815
- background: #EFF6FF;
1816
- border: 1px solid #D1E5FF;
1817
  border-radius: 4px;
1818
  padding: 10px 8px;
1819
  margin: 5px 0;
1820
- color: #1E40AF;
1821
  font-weight: 500;
1822
  }
1823
- .qsm-popup-upgrade-info img{width: auto;height: 20px;margin-right: 8px;}
1824
- .qsm-popup-upgrade-warning{
1825
- background: #FFFBEB;
1826
- border: 1px solid #FBBF24;
 
 
 
 
1827
  padding: 12px;
1828
- color: #92400E;
1829
  font-size: 15px;
1830
  align-items: center;
1831
  }
1832
- .qsm-upgrade-box .qsm-popup-upgrade-warning img{width: auto;height: 15px;margin-right: 8px;}
1833
- .qsm-upgrade-box .qsm-upgrade-buttons{
 
 
 
 
1834
  display: flex;
1835
  flex-direction: column;
1836
  align-content: space-between;
1837
  flex-wrap: nowrap;
1838
  align-items: center;
1839
  }
1840
- .qsm-upgrade-box .qsm-upgrade-buttons a{
1841
  text-decoration: none;
1842
  text-align: center;
1843
  margin: 5px 0;
1844
  width: 100%;
1845
  box-sizing: border-box;
1846
  }
1847
- .qsm-upgrade-box .qsm-upgrade-buttons a.qsm_bundle{
1848
- padding: 10px 20px;
1849
  }
1850
- .qsm-upgrade-box .qsm-upgrade-buttons.qsm-page-upgrade-buttons{
1851
  display: flex;
1852
  flex-direction: row;
1853
  flex-wrap: wrap;
1854
  align-content: center;
1855
  align-items: center;
1856
  }
1857
- .qsm-upgrade-box .qsm-upgrade-buttons.qsm-page-upgrade-buttons a{
1858
- width: auto;margin-right: 10px;font-weight: 500;font-size: 14px;padding: 10px 20px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1859
  }
1860
  /** * Style tab design */
1861
  .wp-upload-form {
@@ -1872,54 +2065,57 @@ td.scheduled_time_start {
1872
  float: left;
1873
  max-width: unset;
1874
  width: 31.3%;
1875
- }
1876
  .qsm-news-ads .qsm-info-widget:nth-child(3n + 5) {
1877
  clear: both;
1878
- }
1879
  .remove-ads-adv-link {
1880
  width: 100%;
1881
  display: inline-block;
1882
  margin-bottom: 30px;
1883
- }
1884
  }
1885
  @media screen and (max-width: 782px) {
1886
  .form-table td fieldset label {
1887
  margin-top: -1px !important;
1888
  vertical-align: top;
1889
- }
1890
  .qsm-tooltips-icon .qsm-tooltips {
1891
  left: -90px;
1892
- }
1893
  .qsm-opt-tr .qsm-tooltips-icon {
1894
  right: 13px;
1895
- }
1896
  .qsm-tooltips-icon .qsm-tooltips:before {
1897
  left: auto;
1898
  right: -3px;
1899
- }
1900
  }
1901
  @media screen and (max-width: 767px) {
1902
- .qsm-upgrade-box .qsm-upgrade-buttons.qsm-page-upgrade-buttons a{width: 100%;margin-right: 0;}
 
 
 
1903
  .qsm-quiz-row td:nth-of-type(2n) {
1904
  display: none;
1905
- }
1906
  .qsm-quiz-page-wrapper, .qsm-quiz-page-wrapper-with-ads {
1907
  overflow-x: auto;
1908
- }
1909
  .qsm-quiz-page-wrapper thead th:nth-of-type(2n), .qsm-quiz-page-wrapper tfoot th:nth-of-type(2n), .qsm-quiz-page-wrapper-with-ads thead th:nth-of-type(2n), .qsm-quiz-page-wrapper-with-ads tfoot th:nth-of-type(2n) {
1910
  display: none;
1911
- }
1912
  .qsm-quiz-page-wrapper .row-actions {
1913
  display: inline-block !important;
1914
- }
1915
  .qsm-quiz-page-wrapper p.search-box {
1916
  bottom: -30px;
1917
- }
1918
  .qsm-popup__container {
1919
  min-width: auto;
1920
  max-width: 100%;
1921
  }
1922
- .qsm-standard-popup .qsm-popup__container{
1923
  min-width: 98%;
1924
  max-width: 98% !important;
1925
  }
@@ -1927,55 +2123,55 @@ td.scheduled_time_start {
1927
  display: block;
1928
  width: 100%;
1929
  float: left;
1930
- }
1931
  .contact-form-label {
1932
  display: inline-block;
1933
- }
1934
  .template_variable {
1935
  width: 100%;
1936
  max-width: 100%;
1937
  margin-bottom: 10px;
1938
  word-break: break-word;
1939
- }
1940
  .qsm_tab_content .form-table input[type="radio"] {
1941
  top: 6px;
1942
  margin-bottom: 8px;
1943
- }
1944
  .result-page-wrapper form {
1945
  overflow: scroll;
1946
  width: 100%;
1947
- }
1948
  p.search-box {
1949
  bottom: -30px;
1950
- }
1951
  .quizzes-surveys_page_qsm_quiz_help .hndle {
1952
  padding-left: 15px;
1953
  padding-bottom: 15px;
1954
- }
1955
  .qsm-news-ads .qsm-info-widget {
1956
  width: calc(100% - 30px);
1957
  max-width: 100%;
1958
  box-sizing: border-box;
1959
  margin: 15px 15px 0 15px;
1960
- }
1961
  .form-table .qsm-opt-tr {
1962
  padding-bottom: 10px;
1963
- }
1964
  .overview-main-wrapper {
1965
  display: block;
1966
- }
1967
  .overview-main-wrapper .overview-inner-wrap {
1968
  margin-right: 0;
1969
  width: 100%;
1970
- }
1971
  .result-page-title {
1972
  margin-bottom: 10px;
1973
- }
1974
  }
1975
- .qsm-text-template-span{
1976
  min-width: 100px;
1977
  }
1978
- .qsm-text-template-span .button{
1979
  padding: 0px;
1980
  border: none;
1981
  min-height: unset;
@@ -1985,26 +2181,26 @@ td.scheduled_time_start {
1985
  .qsm-text-template-span .template-variable:hover {
1986
  background: unset;
1987
  }
1988
- .qsm-text-template-span .click-to-copy{
1989
  display: none;
1990
  position: absolute;
1991
  width: calc(100% - 25px);
1992
  text-align: center;
1993
  left: 0;
1994
  }
1995
- .qsm-text-template-span:hover .click-to-copy{
1996
  display: inline-block;
1997
  background: #def0ff;
1998
  }
1999
- .qsm-text-template-span .qsm-tooltips-icon:before{
2000
- content:"\003F";
2001
  padding: 0px 3px;
2002
  vertical-align: top;
2003
  }
2004
- .qsm-text-template-span:hover .qsm-tooltips-icon{
2005
  display: inline-block;
2006
  }
2007
- .qsm-text-template-span:hover .temp-var-seperator{
2008
  position: absolute;
2009
  display: flex;
2010
  right: 0;
@@ -2017,18 +2213,18 @@ td.scheduled_time_start {
2017
  border-left: 1px dashed #a1c1d8;
2018
  background: #def0ff;
2019
  }
2020
- #show-all-variable-content .popup-template-span-wrap:hover{
2021
  background: #def0ff;
2022
  border-color: #a1c1d8 ;
2023
  border-style: dashed;
2024
  }
2025
- .popup-template-span-wrap .qsm-text-template-span .popup-copied-des span.dashicons{
2026
  line-height: 1;
2027
  }
2028
  #result_page_fb_image {
2029
  width: 25em;
2030
  }
2031
- .audit_buttons{
2032
  display: flex;
2033
  align-items: center;
2034
  justify-content: space-between;
@@ -2050,36 +2246,36 @@ input#question_search::-webkit-search-cancel-button {
2050
  z-index: 99;
2051
  position: relative;
2052
  }
2053
- .qsm-alerts{
2054
  margin-top: 20px;
2055
  }
2056
- .mlw_quiz_options .notice{
2057
  border-top: 1px solid #dfd4d4;
2058
  border-bottom: 1px solid #dfd4d4;
2059
  border-right: 1px solid #dfd4d4;
2060
  }
2061
- .qsm-quiz-nav-bar .qsm-quiz-heading{
2062
  padding: 0 20px;
2063
  display: inline-flex;
2064
  align-items: center;
2065
  flex-wrap: nowrap;
2066
  flex-direction: row;
2067
  }
2068
- .qsm-quiz-nav-bar .qsm-quiz-heading .qsm_quiz_title{
2069
  padding: 0;
2070
  margin: 0;
2071
  font-size: 23px;
2072
  font-weight: 400;
2073
  line-height: 1.3;
2074
  }
2075
- .qsm-quiz-nav-bar .qsm-quiz-top-nav-links{
2076
  position: relative;
2077
  display: inline-flex;
2078
  flex-direction: row;
2079
  flex-wrap: wrap;
2080
  align-items: center;
2081
  }
2082
- .qsm-quiz-nav-bar .qsm-quiz-top-nav-links a{
2083
  text-decoration: none;
2084
  box-shadow: none;
2085
  outline: none;
@@ -2090,11 +2286,12 @@ input#question_search::-webkit-search-cancel-button {
2090
  min-width: 50px;
2091
  text-align: center;
2092
  }
2093
- .qsm-quiz-nav-bar .qsm-quiz-top-nav-links a:hover, .qsm-quiz-nav-bar .qsm-quiz-top-nav-links a:focus{
2094
- color: #1F8CBE;
2095
- border-bottom: 3px solid #1F8CBE;
 
2096
  }
2097
- .qsm-quiz-nav-bar .qsm-quiz-top-nav-links .dashicons{
2098
  display: block;
2099
  margin: 0 auto;
2100
  color: inherit;
@@ -2110,13 +2307,13 @@ input#question_search::-webkit-search-cancel-button {
2110
  input#duplicate_questions {
2111
  margin-left: 10px;
2112
  }
2113
- .text-right{
2114
  text-align: right !important;
2115
  }
2116
- .text-left{
2117
  text-align: left !important;
2118
  }
2119
- .qsm-dashed-btn, a.qsm-dashed-btn, button.qsm-dashed-btn, input.qsm-dashed-btn{
2120
  display: inline-block;
2121
  text-align: center;
2122
  border: 2px dashed #ccc;
@@ -2131,7 +2328,7 @@ input#duplicate_questions {
2131
  box-sizing: border-box;
2132
  color: #2196f3;
2133
  }
2134
- .qsm-block-btn, .qsm-dashed-btn.qsm-block-btn{
2135
  width: 100%;
2136
  padding: 10px 15px;
2137
  font-size: 16px;
@@ -2205,7 +2402,7 @@ input#duplicate_questions {
2205
  border: 1px solid #ddd;
2206
  cursor: pointer;
2207
  }
2208
- .qsm-actions-link-box a.disabled{
2209
  cursor: not-allowed;
2210
  }
2211
  .qsm-actions-link-box a:hover, .qsm-actions-link-box a:focus {
@@ -2217,7 +2414,7 @@ input#duplicate_questions {
2217
  font-size: 16px;
2218
  height: auto;
2219
  }
2220
- .qsm-toggle-box{
2221
  display: inline-block;
2222
  width: 100%;
2223
  box-sizing: border-box;
@@ -2226,7 +2423,7 @@ input#duplicate_questions {
2226
  background: #fefefe;
2227
  border: 1px solid #f0f0f0;
2228
  }
2229
- .qsm-toggle-box .qsm-toggle-box-handle{
2230
  display: inline-block;
2231
  width: 100%;
2232
  box-sizing: border-box;
@@ -2234,16 +2431,17 @@ input#duplicate_questions {
2234
  text-decoration: none;
2235
  padding: 15px 20px;
2236
  margin: 0;
2237
- background: #FFF;
2238
  color: #666666;
2239
  cursor: pointer;
2240
  }
2241
- .qsm-toggle-box .qsm-toggle-box-handle:hover, .qsm-toggle-box .qsm-toggle-box-handle:focus{
2242
- outline:none;
2243
- text-decoration: none;
2244
- box-shadow: none;
 
2245
  }
2246
- .qsm-toggle-box .toggle-indicator{
2247
  display: inline-block;
2248
  vertical-align: middle;
2249
  width: 20px;
@@ -2251,7 +2449,7 @@ input#duplicate_questions {
2251
  float: right;
2252
  color: inherit;
2253
  }
2254
- .qsm-toggle-box .toggle-indicator:before{
2255
  content: "\f347";
2256
  display: inline-block;
2257
  font: normal 20px/1 dashicons;
@@ -2259,20 +2457,25 @@ input#duplicate_questions {
2259
  -moz-osx-font-smoothing: grayscale;
2260
  text-decoration: none;
2261
  }
2262
- .qsm-toggle-box.opened .toggle-indicator:before{
2263
  content: "\f343";
2264
  }
2265
- .qsm-toggle-box .qsm-toggle-box-content{
2266
  display: none;
2267
  padding: 15px 20px;
2268
  border-top: 1px solid #eee;
2269
  }
2270
- .qsm-toggle-box .qsm-toggle-box-content label{
2271
  display: inline-block;
2272
  margin: 0 5px 5px;
2273
  min-width: 80px;
2274
  }
2275
- .qsm-toggle-box .qsm-toggle-box-content select, .qsm-toggle-box .qsm-toggle-box-content textarea, .qsm-toggle-box .qsm-toggle-box-content input[type=text], .qsm-toggle-box .qsm-toggle-box-content input[type=date], .qsm-toggle-box .qsm-toggle-box-content input[type=number], .qsm-toggle-box .qsm-toggle-box-content input[type=url]{
 
 
 
 
 
2276
  display: inline-block;
2277
  max-width: 100%;
2278
  width: 200px;
@@ -2281,30 +2484,30 @@ input#duplicate_questions {
2281
  border-radius: 1px;
2282
  }
2283
  .qsm-badge {
2284
- background: linear-gradient(225deg, #344ad6, #42d96b);
2285
- z-index: 9;
2286
- position: absolute;
2287
- color: #fff;
2288
- right: 5px;
2289
- top: 5px;
2290
- border-radius: 10px;
2291
- padding: 0 10px;
2292
- text-transform: uppercase;
2293
  }
2294
  .themes-container .market-theme:hover .market-theme-url {
2295
- opacity: 1;
2296
  }
2297
  .themes-container .market-theme .market-theme-url {
2298
- position: absolute;
2299
- left: 50%;
2300
- top: 50%;
2301
- transform: translate(-50%, -50%);
2302
- opacity: 0;
2303
- transition: all 200ms ease-in-out;
2304
- text-align: center;
2305
  }
2306
  /** Quiz Contact Tab Style **/
2307
- .contact-form-builder-wrap{
2308
  display: flex;
2309
  width: 100%;
2310
  flex-direction: row;
@@ -2313,7 +2516,7 @@ input#duplicate_questions {
2313
  align-content: flex-start;
2314
  margin-bottom: 150px;
2315
  }
2316
- .contact-form-builder-wrap a{
2317
  display: inline-block;
2318
  box-sizing: border-box;
2319
  text-decoration: none;
@@ -2323,35 +2526,35 @@ input#duplicate_questions {
2323
  max-width: 65%;
2324
  margin-right: 40px;
2325
  }
2326
- .contact-tab-sidebar{
2327
  max-width: 25%;
2328
  }
2329
- .contact-tab-sidebar .postbox{
2330
  min-width: 300px;
2331
  background: #fafafa;
2332
  border: none;
2333
  }
2334
- .contact-tab-sidebar .postbox-header{
2335
  padding: 4px;
2336
  border-bottom: 1px solid #dadada;
2337
  }
2338
- .contact-tab-sidebar .inside{
2339
  padding: 0px 15px 10px;
2340
  margin: 0 !important;
2341
  }
2342
- .contact-tab-sidebar .inside .inside-row{
2343
  display: block;
2344
  width: 100%;
2345
  margin: 15px 0;
2346
  }
2347
- .contact-tab-sidebar .inside .inside-row label{
2348
  margin: 0;
2349
  font-size: 14px;
2350
  }
2351
- .contact-tab-sidebar .inside .inside-row input[type=checkbox]{
2352
- margin: -.25rem 8px 0 0;
2353
  }
2354
- .contact-tab-content .hide-control{
2355
  display: inline-block;
2356
  float: right;
2357
  margin: -30px 0 0;
@@ -2373,41 +2576,42 @@ input#duplicate_questions {
2373
  .contact-form-field.deleting {
2374
  background: #ff6666;
2375
  }
2376
- .contact-form-field.disabled-field{
2377
  background: #f5f5f5;
2378
  }
2379
- .contact-form-field.hidden-field{
2380
- display: none;
2381
  }
2382
  .contact-form-field .contact-form-group {
2383
  padding: 0 15px;
2384
  vertical-align: middle;
2385
  }
2386
- .contact-form-field .contact-form-inputs, .contact-form-field .contact-form-actions {
 
2387
  min-width: 150px;
2388
  }
2389
  .contact-form-field .sortable-handle {
2390
  width: 25px;
2391
  padding: 0 0 0 15px;
2392
  }
2393
- .contact-form-field .field-required-flag{
2394
- display: none;
2395
- position: absolute;
2396
- top: 5px;
2397
- right: 6px;
2398
- font-size: 20px;
2399
- font-weight: bold;
2400
- color: red;
2401
  }
2402
- .contact-form-field .sortable-handle a.move-field{
2403
  display: inline-block;
2404
  box-sizing: border-box;
2405
  text-decoration: none;
2406
  color: #3c434a;
2407
  cursor: move;
2408
  }
2409
- .contact-form-field .sortable-handle a.move-field span{
2410
- color: #A6ABAF;
2411
  font-size: 22px;
2412
  }
2413
  .contact-form-field .contact-form-group .contact-form-label {
@@ -2415,7 +2619,9 @@ input#duplicate_questions {
2415
  font-weight: bold;
2416
  margin: 0 0 5px;
2417
  }
2418
- .contact-form-field .contact-form-group .contact-form-control, .contact-form-field .contact-form-group select.contact-form-control, .contact-form-field .contact-form-group input[type="text"].contact-form-control {
 
 
2419
  display: block;
2420
  font-size: 14px;
2421
  line-height: 1.4;
@@ -2426,20 +2632,21 @@ input#duplicate_questions {
2426
  padding: 5px 8px;
2427
  }
2428
  /* Settings style */
2429
- .contact-form-field-settings{
2430
- position: absolute;
2431
- right: 0;
2432
- top: 100%;
2433
- z-index: 999;
2434
- width: 350px;
2435
- padding: 20px;
2436
- box-sizing: border-box;
2437
- border-radius: 4px;
2438
- background: #ffffff;
2439
- border: 1px solid #dfd4d4;
2440
- box-shadow: 0 0 6px 2px #ddd;
2441
- }
2442
- .contact-form-field-settings:after, .contact-form-field-settings:before {
 
2443
  border: solid transparent;
2444
  content: " ";
2445
  display: block;
@@ -2452,19 +2659,19 @@ input#duplicate_questions {
2452
  border-color: rgba(255, 255, 255, 0);
2453
  }
2454
  .contact-form-field-settings:after {
2455
- border-bottom-color: #FFF;
2456
  top: -28px;
2457
  }
2458
  .contact-form-field-settings:before {
2459
  border-bottom-color: #dfd4d4;
2460
  top: -30px;
2461
  }
2462
- .contact-form-field-settings h3{
2463
  margin-top: 0;
2464
  padding: 0 0 10px;
2465
  border-bottom: 1px solid #ccc;
2466
  }
2467
- .contact-form-field-settings .contact-form-group{
2468
  display: inline-block;
2469
  width: 100%;
2470
  box-sizing: border-box;
@@ -2493,85 +2700,92 @@ input#duplicate_questions {
2493
  margin-bottom: 10px;
2494
  }
2495
  .qsm-row > label {
2496
- font-weight: normal;
2497
  display: block;
2498
  margin-bottom: 5px;
2499
  color: #7b7575;
 
2500
  }
2501
- .qsm-row select, .qsm-row input[type=text], .qsm-row textarea {
 
 
2502
  width: 100%;
2503
  max-width: 100%;
2504
  min-width: auto;
2505
  }
 
 
 
 
 
2506
  /*QSM quiz theme setting tabs start*/
2507
  .qsm-quiz-theme-option-subheading {
2508
- margin-bottom: 0;
2509
- color: #2f87cc;
2510
- font-size: 15px;
2511
  }
2512
  .qsm-theme-color-settings .quiz-theme-option-image-button {
2513
  padding: 3px 9px;
2514
- font-size: 11px;
2515
  }
2516
- .qsm-theme-color-settings .quiz-theme-option-image-button .dashicons{
2517
  line-height: 24px;
2518
  }
2519
  .qsm-theme-color-settings .wp-picker-container .wp-color-result.button,
2520
- .qsm-theme-color-settings footer.qsm-popup__footer .button{
2521
  margin: 0 0 0 10px;
2522
  }
2523
  .qsm-theme-option-image,
2524
  .qsm-theme-color-settings .wp-picker-container {
2525
- position: relative;
2526
  }
2527
  .qsm-theme-color-settings .wp-picker-holder {
2528
- position: absolute;
2529
  z-index: 9999;
2530
  top: 61px;
2531
- left: -136px;
2532
  }
2533
- .qsm-theme-color-settings .wp-picker-container label{
2534
  width: 195px;
2535
  }
2536
  .qsm-theme-color-settings .wp-picker-input-wrap {
2537
- position: absolute;
2538
- width: 258px;
2539
- top: 37px;
2540
- left: -136px;
2541
  z-index: 9999;
2542
  }
2543
- .qsm-theme-color-settings .qsm-popup__content{
2544
  max-height: 70vh;
2545
- overflow-x: auto;
2546
  }
2547
  .qsm-theme-color-settings span.wp-color-result-text {
2548
- min-width: 64px;
2549
  }
2550
- .qsm-theme-option-image{
2551
  width: 112px;
2552
  }
2553
  .qsm-theme-color-settings .quiz-theme-option-image-thumbnail {
2554
- max-width: 100%;
2555
- margin-top: 10px;
2556
- border: 1px solid #868686bd;
2557
- border-radius: 2px;
2558
  }
2559
  .qsm-theme-option-image-remove {
2560
- position: absolute;
2561
- right: 25px;
2562
- top: calc(50% - 10px);
2563
  opacity: 0;
2564
  }
2565
- .qsm-theme-color-settings .qsm-theme-option-image:hover .qsm-theme-option-image-remove{
2566
  opacity: 1;
2567
  }
2568
  .qsm-theme-color-settings hr {
2569
- margin: 25px 0;
2570
  }
2571
  .qsm-theme-color-settings footer.qsm-popup__footer {
2572
- text-align: right;
2573
  }
2574
  /*QSM quiz theme setting tabs end*/
2575
- .qsm-row input[type=text]{
2576
  border-radius: 4px;
2577
  }
1
  /******************** Quizzes/Surveys Page *********************/
2
  /*.qsm-quizes-page .widefat td {
3
+ font-size: 16px !important;
4
  }
5
  */
6
  @-moz-keyframes qsm-spinner-loader {
7
  0% {
8
  -moz-transform: rotate(0deg);
9
  transform: rotate(0deg);
10
+ }
11
  100% {
12
  -moz-transform: rotate(360deg);
13
  transform: rotate(360deg);
14
+ }
15
  }
16
  @-webkit-keyframes qsm-spinner-loader {
17
  0% {
18
  -webkit-transform: rotate(0deg);
19
  transform: rotate(0deg);
20
+ }
21
  100% {
22
  -webkit-transform: rotate(360deg);
23
  transform: rotate(360deg);
24
+ }
25
  }
26
  @keyframes qsm-spinner-loader {
27
  0% {
29
  -ms-transform: rotate(0deg);
30
  -webkit-transform: rotate(0deg);
31
  transform: rotate(0deg);
32
+ }
33
  100% {
34
  -moz-transform: rotate(360deg);
35
  -ms-transform: rotate(360deg);
36
  -webkit-transform: rotate(360deg);
37
  transform: rotate(360deg);
38
+ }
39
  }
40
  /* :not(:required) hides this rule from IE9 and below */
41
  .qsm-spinner-loader:not(:required) {
93
  .qsm-action-links:hover {
94
  background-color: black;
95
  }
96
+ .qsm-action-link-delete, .qsm-popup__footer .delete-page-button {
97
  color: red !important;
98
  border: transparent;
99
  background: transparent;
366
  }
367
  .qsm-active-addons .installed_addons_wrapper, .qsm-active-addons .no_addons_installed {
368
  border: 1px solid #ccd0d4;
 
 
369
  }
370
  .qsm-active-addons .no_addons_installed {
371
  padding: 30px 25%;
393
  font-size: 14px;
394
  font-weight: bold;
395
  }
396
+ .qsm-active-addons .installed_addons_wrapper .installed_addon .installed_addon_link a {
397
+ background: #fff;
398
+ }
399
  .qsm-active-addons .installed_addons_wrapper .installed_addon .installed_addon_link span.dashicons {
400
  margin-top: 4px;
401
  }
409
  float: right;
410
  }
411
  .qsm-help-page .handle-order-higher, .qsm-help-page .handle-order-lower,
412
+ .qsm-tools-page .handle-order-higher, .qsm-tools-page .handle-order-lower {
413
  display: none;
414
  }
415
  @media screen and (min-width: 1200px) {
416
  .qsm-quiz-page-wrapper-with-ads {
417
  margin-right: 0;
418
  width: 100%;
419
+ }
420
  .qsm-news-ads .qsm-info-widget {
421
  float: left;
422
  max-width: unset;
423
  width: 31.3%;
424
+ }
425
  .qsm-news-ads .qsm-info-widget:nth-child(3n + 5) {
426
  clear: both;
427
+ }
428
  .qsm-news-ads .remove-ads-adv-link {
429
  width: 100%;
430
  float: left;
431
+ }
432
  }
433
  @media screen and (max-width: 767px) {
434
  .qsm-quiz-page-addon {
435
  width: 100%;
436
+ }
437
  .quizzes-surveys_page_qmn_addons .qsm-news-ads {
438
  width: 100%;
439
+ }
440
  }
441
  /******************** Options Page *********************/
442
  .template_list_holder {
455
  width: 100%;
456
  background-color: #fff;
457
  margin: 20px 0;
 
 
458
  box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.06);
459
  }
460
  .results-page .results-page-content, #qsm_emails .qsm-email .qsm-email-content {
537
  .results-page-content, .qsm-email-content {
538
  flex-direction: row;
539
  justify-content: space-around;
540
+ }
541
  .results-page-when, .results-page-show, .email-when, .email-show {
542
  width: calc(50% - 15px);
543
  min-width: unset;
544
+ }
545
  .results-page-condition, .email-condition {
546
  align-items: center;
547
  flex-direction: row;
548
+ }
549
  .results-page-condition>select, .results-page-condition>input, .email-condition>select, .email-condition>input {
550
  max-width: 23%;
551
+ }
552
  .delete-condition-button {
553
  border: none;
554
+ }
555
  }
556
  /******************** Quiz Styles Tab *********************/
557
  .qsm-styles {
574
  .qsm-styles {
575
  flex-direction: row;
576
  flex-wrap: wrap;
577
+ }
578
  }
579
  /******************** About/Credits Page *********************/
580
  div.qsm_icon_wrap {
676
  .qsm-addons {
677
  flex-direction: row;
678
  flex-wrap: wrap;
679
+ }
680
  }
681
  /******************** Help Page *********************/
682
  .quiz_email_support p#mlw_support_message {
711
  text-align: center;
712
  background: #fff;
713
  border: 1px solid #dfd4d4;
 
 
714
  font-weight: bold;
 
 
715
  margin-bottom: 20px;
716
  margin-top: 10px;
717
  }
734
  max-width: 330px;
735
  box-sizing: border-box;
736
  }
737
+ .admin_page_mlw_quiz_options .update-nag {
738
+ display: none;
739
+ }
740
+ .admin_page_mlw_quiz_options #wpwrap {
741
  overflow: hidden;
742
  }
743
  .admin_page_mlw_quiz_options .qsm-info-widget {
792
  .qsm_tab_content label {
793
  margin-right: 5px;
794
  }
795
+ .qsm-sub-tab-menu {
796
+ display: flex;
797
+ flex-direction: row;
798
+ flex-wrap: wrap;
799
+ align-items: stretch;
800
+ }
801
+ .qsm-sub-text-tab-menu {
802
+ display: inline-block;
803
+ width: 100%;
804
+ }
805
+ .save-text-changes {
806
+ display: flex;
807
+ flex-direction: row-reverse;
808
+ flex-wrap: nowrap;
809
+ align-items: flex-end;
810
+ justify-content: flex-start;
811
+ padding: 10px;
812
+ }
813
+ .quiz_text_tab_content {
814
+ display: flex;
815
+ align-items: stretch;
816
+ flex-wrap: wrap;
817
+ flex-direction: row;
818
+ border: 1px solid #dfd4d4;
819
+ }
820
+ .quiz_text_tab_content form {
821
+ display: flex;
822
+ align-items: stretch;
823
+ flex-wrap: wrap;
824
+ flex-direction: row;
825
+ }
826
+ .quiz_text_tab_content form input {
827
+ padding: 10px;
828
+ font-size: 14px;
829
+ line-height: 1.4;
830
+ }
831
+ .quiz_text_tab_content .qsm-tab-btns {
832
+ text-align: right;
833
+ width: calc(100% - 20px);
834
+ margin-bottom: 15px;
835
+ }
836
+ #poststuff .quiz_text_tab_content h2,
837
+ .quiz_text_tab_content h2 {
838
+ font-size: 18px;
839
+ line-height: 1.5;
840
+ padding: 10px 0;
841
+ margin: 0 0 10px;
842
+ }
843
+ .quiz_text_tab_content .left-bar {
844
+ width: 240px;
845
+ padding: 15px;
846
+ }
847
+ .quiz_text_tab_content .right-bar {
848
+ width: calc(100% - 280px);
849
+ padding: 15px;
850
+ box-sizing: border-box;
851
+ border-left: 1px solid #dfd4d4;
852
+ }
853
+ .quiz_text_tab_content .left-bar ul {
854
+ display: flex;
855
+ flex-direction: column;
856
+ flex-wrap: nowrap;
857
+ align-content: flex-start;
858
+ width: 100%;
859
+ margin: 0;
860
+ }
861
+ .quiz_style_tab_content .form-table {
862
+ width: 100%;
863
+ margin: 0;
864
+ }
865
+ .qsm-custom-label-left-menu {
866
+ cursor: pointer;
867
+ border-left: 4px solid transparent;
868
+ border-bottom: 1px solid #f9f9f9;
869
+ margin: 0;
870
+ }
871
+ .currentli,
872
+ .currentli_general,
873
+ .currentli_variable {
874
+ border-left:4px solid #2271b1;
875
+ background-color: #a1cef3;
876
+ }
877
+ .qsm-custom-label-left-menu a {
878
+ color:black;
879
+ padding: 10px 6px;
880
+ width: 100%;
881
+ }
882
+ .qsm_tab_content a {
883
  cursor: pointer;
884
  text-decoration: none;
885
  outline: none;
886
+ display: inline-block;
887
+ box-sizing: border-box;
888
  }
889
+ .qsm_tab_content .subsubsub li {
890
+ border-left: 2px solid #aaa;
891
+ padding: 0 5px;
892
+ }
893
+ .qsm_tab_content .subsubsub li:first-child {
894
+ border-left: 0;
895
+ padding-left: 0;
896
+ }
897
+ .qsm_tab_content .subsubsub li a {
898
+ font-size: 14px;
899
+ line-height: 1.2;
900
+ padding: 0;
901
+ }
902
+ .qsm_tab_content a:hover,
903
+ .qsm_tab_content a:focus {
904
+ outline: none;
905
+ text-decoration: none;
906
+ box-shadow: none;
907
  }
908
  /* Popup */
909
  .qsm-popup {
945
  color: #2271b1;
946
  box-sizing: border-box;
947
  }
948
+ .qsm-theme-color-settings .qsm-popup__content label {
949
  font-weight: 400;
950
  }
951
  .qsm-popup__close {
988
  @keyframes mmfadeIn {
989
  from {
990
  opacity: 0;
991
+ }
992
  to {
993
  opacity: 1;
994
+ }
995
  }
996
  @keyframes mmfadeOut {
997
  from {
998
  opacity: 1;
999
+ }
1000
  to {
1001
  opacity: 0;
1002
+ }
1003
  }
1004
  @keyframes mmslideIn {
1005
  from {
1006
  transform: translateY(15%);
1007
+ }
1008
  to {
1009
  transform: translateY(0);
1010
+ }
1011
  }
1012
  @keyframes mmslideOut {
1013
  from {
1014
  transform: translateY(0);
1015
+ }
1016
  to {
1017
  transform: translateY(-10%);
1018
+ }
1019
  }
1020
  .qsm-popup-slide,
1021
+ .qsm-d-none {
1022
  display: none;
1023
  }
1024
  .qsm-popup-slide.is-open {
1036
  .qsm-popup-slide[aria-hidden="true"] .qsm-popup__container {
1037
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
1038
  }
1039
+ .qsm-popup-slide .qsm-popup__container,
1040
+ .qsm-popup-slide .qsm-popup__overlay {
1041
  will-change: transform;
1042
  }
1043
+ .qsm-popup select,
1044
+ .qsm-popup textarea,
1045
+ .qsm-popup input[type=text],
1046
+ .qsm-popup input[type=search],
1047
+ .qsm-popup input[type=number] {
1048
  min-width: 200px !important;
1049
  max-width: 200px !important;
1050
  border: 1px solid #dddddd;
1146
  min-width: 20px;
1147
  padding: 0 10px;
1148
  }
1149
+ .qsm_tab_content input[type="text"],
1150
+ .qsm_tab_content input[type="number"],
1151
+ .qsm_tab_content input[type="url"],
1152
+ .qsm_global_settings input[type="text"],
1153
+ .qsm_global_settings input[type="number"],
1154
+ .qsm_global_settings input[type="email"],
1155
+ .qsm_global_settings input[type="url"],
1156
+ .qsm-addon-setting-wrap input[type="email"],
1157
+ .qsm-addon-setting-wrap input[type="text"],
1158
+ .qsm-addon-setting-wrap input[type="url"],
1159
+ .qsm-addon-setting-wrap input[type="number"] {
1160
  background: #ffffff none repeat scroll 0 0;
1161
  border: 1px solid #dddddd;
1162
  border-radius: 1px;
1244
  color: #999;
1245
  font-style: italic;
1246
  }
1247
+ #modal-6 .qsm-popup__content {
1248
+ padding: 20px 0 0 20px;
1249
+ box-shadow: inset 0 0 10px 0px #ddd;
1250
+ }
1251
+
1252
+ #modal-6 .qsm-popup__container {
1253
+ max-width: 600px;
1254
+ }
1255
+
1256
  #modal-6 .button>span.dashicons {
1257
  line-height: 29px;
1258
  }
1268
  .qsm-no-quiz-wrapper .dashicons.dashicons-format-chat {
1269
  font-size: 200px;
1270
  display: block;
1271
+ /* line-height: 200px;
1272
  */
1273
  width: auto;
1274
  height: auto;
1305
  display: block;
1306
  }
1307
  .form-table .send_email .qsm-opt-tr, .form-table .send_email td {
1308
+ padding-top: 0;
1309
  }
1310
  .form-table .store_responses .qsm-opt-tr, .form-table .store_responses td {
1311
+ padding-bottom: 0;
1312
  }
1313
  #quiz_settings_wrapper .qsm-opt-desc {
1314
  display: none !important;
1318
  }
1319
  .form-table .qsm-opt-tr {
1320
  position: relative;
 
 
1321
  }
1322
  td.scheduled_time_start {
1323
  padding-bottom: 0 !important;
1371
  opacity: 1;
1372
  z-index: 9999;
1373
  }
1374
+ .qsm-tab-btns a {
1375
+ margin: 0 10px;
1376
+ width: auto;
1377
  }
1378
  /** * Text Tab design */
1379
  .qsm-text-main-wrap {
1388
  position: relative;
1389
  background: #fff;
1390
  box-sizing: border-box;
1391
+ border: 1px solid #dfd4d4;
1392
  }
1393
  .qsm-text-main-wrap #postbox-container-1 .qsm-text-header h5 {
1394
  font-size: 14px;
1401
  font-weight: 400;
1402
  }
1403
  .qsm-text-main-wrap .qsm-text-header {
 
 
1404
  display: flex;
1405
  align-items: flex-start;
1406
  justify-content: space-between;
1407
  }
1408
+ .qsm-text-main-wrap .qsm-text-header .qsm-row {
1409
+ margin:0;
1410
+ }
1411
+ .qsm-text-header h5 {
1412
+ padding: 20px 20px 0;
1413
  }
1414
  .qsm-text-main-wrap .qsm-text-conent {
1415
  padding: 20px;
1518
  right: 0;
1519
  min-width: 300px;
1520
  z-index: 9;
1521
+ background: #fff;
1522
  border: 1px solid #e0e0e0;
1523
  box-shadow: -5px 6px 6px 0 #ddd;
1524
  font-size: 14px;
1526
  transition-duration: .3s;
1527
  transition-timing-function: ease-in-out;
1528
  }
1529
+ .qsm-help-tab-dropdown-list.opened {
1530
+ transform:none;
1531
  }
1532
+ .qsm-help-tab-dropdown-list h3 {
1533
  background: #f5f5f5;
1534
  padding: 15px 20px;
1535
  margin: 0;
1536
  line-height: 1.2;
1537
  font-size: calc(16px);
1538
  }
1539
+ .qsm-quiz-nav-bar .qsm-help-tab-dropdown-list a.qsm-help-tab-item {
1540
  display: block;
1541
  border-bottom: 1px solid #f0f0f0;
1542
  padding: 15px 20px;
1543
+ color: #1f8cbe;
1544
  text-align: left;
1545
  position: relative;
1546
  }
1547
+ .qsm-quiz-nav-bar .qsm-help-tab-dropdown-list a.qsm-help-tab-item:after {
1548
  content: '\f344';
1549
  font-family: dashicons;
1550
  display: inline-block;
1561
  position: absolute;
1562
  right: 20px;
1563
  }
1564
+ .qsm-quiz-nav-bar .qsm-help-tab-dropdown-list a.qsm-help-tab-item:last-child {
1565
+ border-color: transparent;
1566
  }
1567
+ .qsm-quiz-nav-bar .qsm-help-tab-dropdown-list a.qsm-help-tab-item:hover,
1568
+ .qsm-quiz-nav-bar .qsm-help-tab-dropdown-list a.qsm-help-tab-item:focus {
1569
  border-bottom: 1px solid #eee;
1570
  background-color: #f0f0f0;
1571
  }
1572
+ .qsm-help-tab-dropdown-list a.qsm-help-tab-item .dashicons {
1573
  display: inline-block;
1574
  }
1575
+ .qsm-help-tab-dropdown-list .qsm-help-tab-icon {
1576
  display: inline-block;
1577
  height: 20px;
1578
  width: auto;
1581
  .mlw_quiz_options .nav-tab-wrapper {
1582
  margin-top: 20px;
1583
  }
1584
+ .nav-tab-wrapper .qsm-tab-icon {
1585
  display: inline-block;
1586
  vertical-align: top;
1587
  width: auto;
1588
  height: 25px;
1589
  }
1590
+ .qsm-option-tab-dropdown {
1591
  position: relative;
1592
  display: inline-block;
1593
  margin-bottom: -5px;
1599
  top: 35px;
1600
  display: none;
1601
  }
1602
+ .qsm-option-tab-dropdown-item {
1603
  border-bottom: 1px solid #c3c4c7;
1604
  min-width: 100px;
1605
  width: 100%;
1606
  margin: 0;
1607
  }
1608
+ .qsm-option-tab-dropdown:hover .qsm-option-tab-dropdown-list {
1609
  display: block;
1610
  }
1611
  .mlw_quiz_options .edit-quiz-name {
1612
+ text-decoration: none;
1613
+ box-shadow: none;
1614
+ outline: none;
1615
+ margin: 0 5px;
1616
  }
1617
  .qsm_text_customize_label {
1618
  position: fixed;
1720
  .response-inner-wrap .inside .qmn_question_answer.qmn_question_answer_incorrect {
1721
  background-image: url(../assets/wrong.png);
1722
  }
1723
+ .response-inner-wrap .inside .qsm-add-border-bottom.qmn_question_answer.qmn_question_answer_incorrect,
1724
+ .response-inner-wrap .inside .qsm-remove-border-bottom.qmn_question_answer.qmn_question_answer_incorrect {
1725
  background-image: none;
1726
  }
1727
  .response-inner-wrap .inside .qmn_question_answer.qmn_question_answer_correct {
1728
  background-image: url(../assets/right.png);
1729
  }
1730
+ .response-inner-wrap .inside .qsm-add-border-bottom.qmn_question_answer.qmn_question_answer_correct,
1731
+ .response-inner-wrap .inside .qsm-remove-border-bottom.qmn_question_answer.qmn_question_answer_correct {
1732
  background-image: none;
1733
  }
1734
  .old_template_result_wrap {
1771
  max-width: 1200px;
1772
  width: 100%;
1773
  }
1774
+ .qsm-quiz-email-tab .qsm-show-all-variable-text span.dashicons,
1775
+ .qsm-quiz-result-tab .qsm-show-all-variable-text span.dashicons {
1776
  font-size: 16px;
1777
  line-height: 22px;
1778
  }
1779
+ .qsm-quiz-email-tab .qsm-show-all-variable-text,
1780
+ .qsm-quiz-result-tab .qsm-show-all-variable-text {
1781
  position: fixed;
1782
  bottom: 20px;
1783
  right: 25px;
1798
  line-height: 28px;
1799
  }
1800
  .qsm-theme-color-settings .qsm-popup__container,
1801
+ .qsm-standard-popup .qsm-popup__container {
1802
  padding: 0;
1803
  margin: 0;
1804
  position: relative;
1807
  max-height: 90vh;
1808
  }
1809
  .qsm-theme-color-settings .qsm-popup__header .qsm-popup__title,
1810
+ .qsm-standard-popup .qsm-popup__header .qsm-popup__title {
1811
  padding: 10px 20px;
1812
  }
1813
  .qsm-standard-popup .qsm-popup__header .qsm-popup__close,
1814
+ .qsm-theme-color-settings .qsm-popup__header .qsm-popup__close {
1815
+ position: relative;
1816
+ font-size: 22px;
1817
+ border: 1px solid #ddd;
1818
+ padding: 15px;
1819
+ cursor: pointer;
1820
  }
1821
  .qsm-standard-popup .qsm-popup__content,
1822
+ .qsm-theme-color-settings .qsm-popup__content {
1823
  padding: 20px;
1824
  margin: 0;
1825
  box-shadow: inset 0 0 10px 1px #ddd;
1826
  }
1827
+ .qsm-standard-popup .qsm-popup__content a {
1828
+ outline: none;
1829
+ box-shadow: none;
1830
+ text-decoration: none;
1831
+ }
1832
+ .qsm-standard-popup .qsm-popup__content table {
1833
+ width: 100%;
1834
+ border-spacing: 0 5px;
1835
  }
1836
  .qsm-theme-color-settings .qsm-popup__footer,
1837
+ .qsm-standard-popup .qsm-popup__footer {
1838
  padding: 12px 20px;
1839
  }
1840
+ .qsm-standard-popup .qsm-popup__footer_with_btns {
1841
  display: flex;
1842
  justify-content: space-between;
1843
  align-items: center;
1844
  }
1845
+ #duplicate-quiz-form, #delete-quiz-form {
1846
+ margin: 10px 0;
1847
  }
1848
+ #delete-quiz-form h3 {margin-top: 0;}
1849
+ .qsm-popup-upgrade .qsm-popup__footer {
1850
  display: flex;
1851
  justify-content: space-around;
1852
  align-items: center;
1853
  }
1854
+ .qsm-popup-upgrade .qsm-popup__container {
1855
  max-width: 500px;
1856
  max-height: 90vh;
1857
  }
1858
+ .qsm-popup-upgrade .qsm-popup__container .qsm-popup__content {
1859
+ padding: 20px 20px 10px;
1860
  }
1861
  #qsm-global-default-popup .qsm-popup__footer {
1862
  display: flex;
1864
  align-items: center;
1865
  flex-wrap: nowrap;
1866
  }
1867
+ #qsm-global-default-popup .qsm-popup__footer button {
1868
+ margin: 0 5px;
1869
  }
1870
  .popup-template-span-wrap .popup-copied-des span.dashicons {
1871
  line-height: 28px;
1874
  display: inline-block;
1875
  margin-right: 5px;
1876
  }
1877
+ .qsm-standard-popup .qsm-popup__header .qsm-popup__title .title-tag {
1878
+ background: #d0daff;
1879
  border-radius:5px;
1880
+ padding: 4px 10px;
1881
+ display: inline-block;
1882
+ font-size: 11px;
1883
+ letter-spacing: 1px;
1884
+ vertical-align: middle;
1885
+ margin: 0 5px;
1886
+ }
1887
+ .qsm-upgrade-box {
1888
+ display: inline-block;
1889
+ width: 100%;
1890
+ box-sizing: border-box;
1891
+ padding: 10px;
1892
+ max-width: 800px;
1893
+ }
1894
+ .qsm-popup-upgrade .qsm-upgrade-box {padding: 0;}
1895
+ .qsm-popup-upgrade-close {
1896
  border:none;
1897
  padding:0px;
1898
  }
1899
+ .qsm-upgrade-box h2 {
1900
+ font-size: 22px;
1901
+ line-height: normal;
1902
+ margin: 15px 0 10px;
1903
+ letter-spacing: 1px;
1904
  }
1905
 
1906
+ .qsm-upgrade-box .qsm-upgrade-text {
1907
+ font-size: 16px;
1908
+ line-height: 22px;
1909
+ text-align: justify;
1910
+ }
1911
+ .qsm-upgrade-box .qsm-upgrade-read-icon {
1912
+ display: flex;
1913
+ flex-direction: row;
1914
+ margin: 10px 0;
1915
+ flex-wrap: nowrap;
1916
+ align-items: center;
1917
+ font-size: 14px;
1918
+ }
1919
+ .qsm-upgrade-box .qsm-upgrade-read-icon a {
1920
  text-decoration: none;
1921
  font-weight: bold;
1922
  display: inline-flex;
1926
  align-items: center;
1927
  margin: 2px 6px 0;
1928
  }
1929
+ .qsm-upgrade-box .qsm-upgrade-read-icon img {
1930
  height: 15px;
1931
  }
1932
+ .qsm-upgrade-box .qsm-upgrade-right-arrow {
1933
+ font-size: 16px;
1934
+ color: inherit;
1935
+ height: 16px;
1936
+ margin: 0 2px;
1937
  }
1938
+ .qsm-upgrade-chart img {
1939
  max-width: 100%;
1940
  }
1941
  .qsm-popup-upgrade-warning,
1942
+ .qsm-popup-upgrade-info {
1943
  display: flex;
1944
  flex-direction: row;
1945
  flex-wrap: nowrap;
1946
  align-items: flex-start;
1947
+ background: #eff6ff;
1948
+ border: 1px solid #d1e5ff;
1949
  border-radius: 4px;
1950
  padding: 10px 8px;
1951
  margin: 5px 0;
1952
+ color: #1e40af;
1953
  font-weight: 500;
1954
  }
1955
+ .qsm-popup-upgrade-info img {
1956
+ width: auto;
1957
+ height: 20px;
1958
+ margin-right: 8px;
1959
+ }
1960
+ .qsm-popup-upgrade-warning {
1961
+ background: #fffbeb;
1962
+ border: 1px solid #fbbf24;
1963
  padding: 12px;
1964
+ color: #92400e;
1965
  font-size: 15px;
1966
  align-items: center;
1967
  }
1968
+ .qsm-upgrade-box .qsm-popup-upgrade-warning img {
1969
+ width: auto;
1970
+ height: 15px;
1971
+ margin-right: 8px;
1972
+ }
1973
+ .qsm-upgrade-box .qsm-upgrade-buttons {
1974
  display: flex;
1975
  flex-direction: column;
1976
  align-content: space-between;
1977
  flex-wrap: nowrap;
1978
  align-items: center;
1979
  }
1980
+ .qsm-upgrade-box .qsm-upgrade-buttons a {
1981
  text-decoration: none;
1982
  text-align: center;
1983
  margin: 5px 0;
1984
  width: 100%;
1985
  box-sizing: border-box;
1986
  }
1987
+ .qsm-upgrade-box .qsm-upgrade-buttons a.qsm_bundle {
1988
+ padding: 10px 20px;
1989
  }
1990
+ .qsm-upgrade-box .qsm-upgrade-buttons.qsm-page-upgrade-buttons {
1991
  display: flex;
1992
  flex-direction: row;
1993
  flex-wrap: wrap;
1994
  align-content: center;
1995
  align-items: center;
1996
  }
1997
+ .qsm-upgrade-box .qsm-upgrade-buttons.qsm-page-upgrade-buttons a {
1998
+ width: auto;
1999
+ margin-right: 10px;
2000
+ font-weight: 500;
2001
+ font-size: 14px;
2002
+ padding: 10px 20px;
2003
+ }
2004
+ #modal-6 .sc-shortcode-input {
2005
+ padding: 5px;
2006
+ width: 400px;
2007
+ max-width: 400px!important;
2008
+ }
2009
+ .qsm-popup-nonce-validation {
2010
+ padding: 12px;
2011
+ width: 90%;
2012
+ }
2013
+ .qsm-popup-nonce-validation .qsm-popup-upgrade-warning {
2014
+ font-size: 12px;
2015
+ padding: 5px;
2016
+ }
2017
+ .qsm-popup-nonce-validation .qsm-popup-upgrade-warning img {
2018
+ width: auto;
2019
+ height: 15px;
2020
+ margin-right: 8px;
2021
+ }
2022
+ .qsm-popup-nonce-validation .qsm-popup-upgrade-warning a {
2023
+ font-weight: bold;
2024
+ }
2025
+
2026
+ .qsm-nonce-validation {
2027
+ border: 1px solid #fbbf24;
2028
+ background: #fff;
2029
+ overflow: auto;
2030
+ border-left-color: #fbbf24;
2031
+ box-shadow: 0 1px 1px rgb(0 0 0 / 4%);
2032
+ border-left-width: 4px;
2033
+ }
2034
+ .qsm-nonce-validation img {
2035
+ float: left;
2036
+ width: auto;
2037
+ height: 30px;
2038
+ margin: 25px 20px;
2039
+ margin-left: 20px;
2040
+ }
2041
+ .qsm-nonce-text {
2042
+ float: left;
2043
+ margin-top: 20px;
2044
+ }
2045
+ .qsm-nonce-validation .button-secondary {
2046
+ margin: 20px 20px;
2047
+ float: right;
2048
+ }
2049
+ .qsm-nonce-validation span {
2050
+ display: inline-block;
2051
+ margin-top: 2px;
2052
  }
2053
  /** * Style tab design */
2054
  .wp-upload-form {
2065
  float: left;
2066
  max-width: unset;
2067
  width: 31.3%;
2068
+ }
2069
  .qsm-news-ads .qsm-info-widget:nth-child(3n + 5) {
2070
  clear: both;
2071
+ }
2072
  .remove-ads-adv-link {
2073
  width: 100%;
2074
  display: inline-block;
2075
  margin-bottom: 30px;
2076
+ }
2077
  }
2078
  @media screen and (max-width: 782px) {
2079
  .form-table td fieldset label {
2080
  margin-top: -1px !important;
2081
  vertical-align: top;
2082
+ }
2083
  .qsm-tooltips-icon .qsm-tooltips {
2084
  left: -90px;
2085
+ }
2086
  .qsm-opt-tr .qsm-tooltips-icon {
2087
  right: 13px;
2088
+ }
2089
  .qsm-tooltips-icon .qsm-tooltips:before {
2090
  left: auto;
2091
  right: -3px;
2092
+ }
2093
  }
2094
  @media screen and (max-width: 767px) {
2095
+ .qsm-upgrade-box .qsm-upgrade-buttons.qsm-page-upgrade-buttons a {
2096
+ width: 100%;
2097
+ margin-right: 0;
2098
+ }
2099
  .qsm-quiz-row td:nth-of-type(2n) {
2100
  display: none;
2101
+ }
2102
  .qsm-quiz-page-wrapper, .qsm-quiz-page-wrapper-with-ads {
2103
  overflow-x: auto;
2104
+ }
2105
  .qsm-quiz-page-wrapper thead th:nth-of-type(2n), .qsm-quiz-page-wrapper tfoot th:nth-of-type(2n), .qsm-quiz-page-wrapper-with-ads thead th:nth-of-type(2n), .qsm-quiz-page-wrapper-with-ads tfoot th:nth-of-type(2n) {
2106
  display: none;
2107
+ }
2108
  .qsm-quiz-page-wrapper .row-actions {
2109
  display: inline-block !important;
2110
+ }
2111
  .qsm-quiz-page-wrapper p.search-box {
2112
  bottom: -30px;
2113
+ }
2114
  .qsm-popup__container {
2115
  min-width: auto;
2116
  max-width: 100%;
2117
  }
2118
+ .qsm-standard-popup .qsm-popup__container {
2119
  min-width: 98%;
2120
  max-width: 98% !important;
2121
  }
2123
  display: block;
2124
  width: 100%;
2125
  float: left;
2126
+ }
2127
  .contact-form-label {
2128
  display: inline-block;
2129
+ }
2130
  .template_variable {
2131
  width: 100%;
2132
  max-width: 100%;
2133
  margin-bottom: 10px;
2134
  word-break: break-word;
2135
+ }
2136
  .qsm_tab_content .form-table input[type="radio"] {
2137
  top: 6px;
2138
  margin-bottom: 8px;
2139
+ }
2140
  .result-page-wrapper form {
2141
  overflow: scroll;
2142
  width: 100%;
2143
+ }
2144
  p.search-box {
2145
  bottom: -30px;
2146
+ }
2147
  .quizzes-surveys_page_qsm_quiz_help .hndle {
2148
  padding-left: 15px;
2149
  padding-bottom: 15px;
2150
+ }
2151
  .qsm-news-ads .qsm-info-widget {
2152
  width: calc(100% - 30px);
2153
  max-width: 100%;
2154
  box-sizing: border-box;
2155
  margin: 15px 15px 0 15px;
2156
+ }
2157
  .form-table .qsm-opt-tr {
2158
  padding-bottom: 10px;
2159
+ }
2160
  .overview-main-wrapper {
2161
  display: block;
2162
+ }
2163
  .overview-main-wrapper .overview-inner-wrap {
2164
  margin-right: 0;
2165
  width: 100%;
2166
+ }
2167
  .result-page-title {
2168
  margin-bottom: 10px;
2169
+ }
2170
  }
2171
+ .qsm-text-template-span {
2172
  min-width: 100px;
2173
  }
2174
+ .qsm-text-template-span .button {
2175
  padding: 0px;
2176
  border: none;
2177
  min-height: unset;
2181
  .qsm-text-template-span .template-variable:hover {
2182
  background: unset;
2183
  }
2184
+ .qsm-text-template-span .click-to-copy {
2185
  display: none;
2186
  position: absolute;
2187
  width: calc(100% - 25px);
2188
  text-align: center;
2189
  left: 0;
2190
  }
2191
+ .qsm-text-template-span:hover .click-to-copy {
2192
  display: inline-block;
2193
  background: #def0ff;
2194
  }
2195
+ .qsm-text-template-span .qsm-tooltips-icon:before {
2196
+ content: "\003F";
2197
  padding: 0px 3px;
2198
  vertical-align: top;
2199
  }
2200
+ .qsm-text-template-span:hover .qsm-tooltips-icon {
2201
  display: inline-block;
2202
  }
2203
+ .qsm-text-template-span:hover .temp-var-seperator {
2204
  position: absolute;
2205
  display: flex;
2206
  right: 0;
2213
  border-left: 1px dashed #a1c1d8;
2214
  background: #def0ff;
2215
  }
2216
+ #show-all-variable-content .popup-template-span-wrap:hover {
2217
  background: #def0ff;
2218
  border-color: #a1c1d8 ;
2219
  border-style: dashed;
2220
  }
2221
+ .popup-template-span-wrap .qsm-text-template-span .popup-copied-des span.dashicons {
2222
  line-height: 1;
2223
  }
2224
  #result_page_fb_image {
2225
  width: 25em;
2226
  }
2227
+ .audit_buttons {
2228
  display: flex;
2229
  align-items: center;
2230
  justify-content: space-between;
2246
  z-index: 99;
2247
  position: relative;
2248
  }
2249
+ .qsm-alerts {
2250
  margin-top: 20px;
2251
  }
2252
+ .mlw_quiz_options .notice {
2253
  border-top: 1px solid #dfd4d4;
2254
  border-bottom: 1px solid #dfd4d4;
2255
  border-right: 1px solid #dfd4d4;
2256
  }
2257
+ .qsm-quiz-nav-bar .qsm-quiz-heading {
2258
  padding: 0 20px;
2259
  display: inline-flex;
2260
  align-items: center;
2261
  flex-wrap: nowrap;
2262
  flex-direction: row;
2263
  }
2264
+ .qsm-quiz-nav-bar .qsm-quiz-heading .qsm_quiz_title {
2265
  padding: 0;
2266
  margin: 0;
2267
  font-size: 23px;
2268
  font-weight: 400;
2269
  line-height: 1.3;
2270
  }
2271
+ .qsm-quiz-nav-bar .qsm-quiz-top-nav-links {
2272
  position: relative;
2273
  display: inline-flex;
2274
  flex-direction: row;
2275
  flex-wrap: wrap;
2276
  align-items: center;
2277
  }
2278
+ .qsm-quiz-nav-bar .qsm-quiz-top-nav-links a {
2279
  text-decoration: none;
2280
  box-shadow: none;
2281
  outline: none;
2286
  min-width: 50px;
2287
  text-align: center;
2288
  }
2289
+ .qsm-quiz-nav-bar .qsm-quiz-top-nav-links a:hover,
2290
+ .qsm-quiz-nav-bar .qsm-quiz-top-nav-links a:focus {
2291
+ color: #1f8cbe;
2292
+ border-bottom: 3px solid #1f8cbe;
2293
  }
2294
+ .qsm-quiz-nav-bar .qsm-quiz-top-nav-links .dashicons {
2295
  display: block;
2296
  margin: 0 auto;
2297
  color: inherit;
2307
  input#duplicate_questions {
2308
  margin-left: 10px;
2309
  }
2310
+ .text-right {
2311
  text-align: right !important;
2312
  }
2313
+ .text-left {
2314
  text-align: left !important;
2315
  }
2316
+ .qsm-dashed-btn, a.qsm-dashed-btn, button.qsm-dashed-btn, input.qsm-dashed-btn {
2317
  display: inline-block;
2318
  text-align: center;
2319
  border: 2px dashed #ccc;
2328
  box-sizing: border-box;
2329
  color: #2196f3;
2330
  }
2331
+ .qsm-block-btn, .qsm-dashed-btn.qsm-block-btn {
2332
  width: 100%;
2333
  padding: 10px 15px;
2334
  font-size: 16px;
2402
  border: 1px solid #ddd;
2403
  cursor: pointer;
2404
  }
2405
+ .qsm-actions-link-box a.disabled {
2406
  cursor: not-allowed;
2407
  }
2408
  .qsm-actions-link-box a:hover, .qsm-actions-link-box a:focus {
2414
  font-size: 16px;
2415
  height: auto;
2416
  }
2417
+ .qsm-toggle-box {
2418
  display: inline-block;
2419
  width: 100%;
2420
  box-sizing: border-box;
2423
  background: #fefefe;
2424
  border: 1px solid #f0f0f0;
2425
  }
2426
+ .qsm-toggle-box .qsm-toggle-box-handle {
2427
  display: inline-block;
2428
  width: 100%;
2429
  box-sizing: border-box;
2431
  text-decoration: none;
2432
  padding: 15px 20px;
2433
  margin: 0;
2434
+ background: #fff;
2435
  color: #666666;
2436
  cursor: pointer;
2437
  }
2438
+ .qsm-toggle-box .qsm-toggle-box-handle:hover,
2439
+ .qsm-toggle-box .qsm-toggle-box-handle:focus {
2440
+ outline:none;
2441
+ text-decoration: none;
2442
+ box-shadow: none;
2443
  }
2444
+ .qsm-toggle-box .toggle-indicator {
2445
  display: inline-block;
2446
  vertical-align: middle;
2447
  width: 20px;
2449
  float: right;
2450
  color: inherit;
2451
  }
2452
+ .qsm-toggle-box .toggle-indicator:before {
2453
  content: "\f347";
2454
  display: inline-block;
2455
  font: normal 20px/1 dashicons;
2457
  -moz-osx-font-smoothing: grayscale;
2458
  text-decoration: none;
2459
  }
2460
+ .qsm-toggle-box.opened .toggle-indicator:before {
2461
  content: "\f343";
2462
  }
2463
+ .qsm-toggle-box .qsm-toggle-box-content {
2464
  display: none;
2465
  padding: 15px 20px;
2466
  border-top: 1px solid #eee;
2467
  }
2468
+ .qsm-toggle-box .qsm-toggle-box-content label {
2469
  display: inline-block;
2470
  margin: 0 5px 5px;
2471
  min-width: 80px;
2472
  }
2473
+ .qsm-toggle-box .qsm-toggle-box-content select,
2474
+ .qsm-toggle-box .qsm-toggle-box-content textarea,
2475
+ .qsm-toggle-box .qsm-toggle-box-content input[type="text"],
2476
+ .qsm-toggle-box .qsm-toggle-box-content input[type="date"],
2477
+ .qsm-toggle-box .qsm-toggle-box-content input[type="number"],
2478
+ .qsm-toggle-box .qsm-toggle-box-content input[type="url"] {
2479
  display: inline-block;
2480
  max-width: 100%;
2481
  width: 200px;
2484
  border-radius: 1px;
2485
  }
2486
  .qsm-badge {
2487
+ background: linear-gradient(225deg, #344ad6, #42d96b);
2488
+ z-index: 9;
2489
+ position: absolute;
2490
+ color: #fff;
2491
+ right: 5px;
2492
+ top: 5px;
2493
+ border-radius: 10px;
2494
+ padding: 0 10px;
2495
+ text-transform: uppercase;
2496
  }
2497
  .themes-container .market-theme:hover .market-theme-url {
2498
+ opacity: 1;
2499
  }
2500
  .themes-container .market-theme .market-theme-url {
2501
+ position: absolute;
2502
+ left: 50%;
2503
+ top: 50%;
2504
+ transform: translate(-50%, -50%);
2505
+ opacity: 0;
2506
+ transition: all 200ms ease-in-out;
2507
+ text-align: center;
2508
  }
2509
  /** Quiz Contact Tab Style **/
2510
+ .contact-form-builder-wrap {
2511
  display: flex;
2512
  width: 100%;
2513
  flex-direction: row;
2516
  align-content: flex-start;
2517
  margin-bottom: 150px;
2518
  }
2519
+ .contact-form-builder-wrap a {
2520
  display: inline-block;
2521
  box-sizing: border-box;
2522
  text-decoration: none;
2526
  max-width: 65%;
2527
  margin-right: 40px;
2528
  }
2529
+ .contact-tab-sidebar {
2530
  max-width: 25%;
2531
  }
2532
+ .contact-tab-sidebar .postbox {
2533
  min-width: 300px;
2534
  background: #fafafa;
2535
  border: none;
2536
  }
2537
+ .contact-tab-sidebar .postbox-header {
2538
  padding: 4px;
2539
  border-bottom: 1px solid #dadada;
2540
  }
2541
+ .contact-tab-sidebar .inside {
2542
  padding: 0px 15px 10px;
2543
  margin: 0 !important;
2544
  }
2545
+ .contact-tab-sidebar .inside .inside-row {
2546
  display: block;
2547
  width: 100%;
2548
  margin: 15px 0;
2549
  }
2550
+ .contact-tab-sidebar .inside .inside-row label {
2551
  margin: 0;
2552
  font-size: 14px;
2553
  }
2554
+ .contact-tab-sidebar .inside .inside-row input[type=checkbox] {
2555
+ margin: -.25rem 8px 0 0;
2556
  }
2557
+ .contact-tab-content .hide-control {
2558
  display: inline-block;
2559
  float: right;
2560
  margin: -30px 0 0;
2576
  .contact-form-field.deleting {
2577
  background: #ff6666;
2578
  }
2579
+ .contact-form-field.disabled-field {
2580
  background: #f5f5f5;
2581
  }
2582
+ .contact-form-field.hidden-field {
2583
+ display: none;
2584
  }
2585
  .contact-form-field .contact-form-group {
2586
  padding: 0 15px;
2587
  vertical-align: middle;
2588
  }
2589
+ .contact-form-field .contact-form-inputs,
2590
+ .contact-form-field .contact-form-actions {
2591
  min-width: 150px;
2592
  }
2593
  .contact-form-field .sortable-handle {
2594
  width: 25px;
2595
  padding: 0 0 0 15px;
2596
  }
2597
+ .contact-form-field .field-required-flag {
2598
+ display: none;
2599
+ position: absolute;
2600
+ top: 5px;
2601
+ right: 6px;
2602
+ font-size: 20px;
2603
+ font-weight: bold;
2604
+ color: red;
2605
  }
2606
+ .contact-form-field .sortable-handle a.move-field {
2607
  display: inline-block;
2608
  box-sizing: border-box;
2609
  text-decoration: none;
2610
  color: #3c434a;
2611
  cursor: move;
2612
  }
2613
+ .contact-form-field .sortable-handle a.move-field span {
2614
+ color: #a6abaf;
2615
  font-size: 22px;
2616
  }
2617
  .contact-form-field .contact-form-group .contact-form-label {
2619
  font-weight: bold;
2620
  margin: 0 0 5px;
2621
  }
2622
+ .contact-form-field .contact-form-group .contact-form-control,
2623
+ .contact-form-field .contact-form-group select.contact-form-control,
2624
+ .contact-form-field .contact-form-group input[type="text"].contact-form-control {
2625
  display: block;
2626
  font-size: 14px;
2627
  line-height: 1.4;
2632
  padding: 5px 8px;
2633
  }
2634
  /* Settings style */
2635
+ .contact-form-field-settings {
2636
+ position: absolute;
2637
+ right: 0;
2638
+ top: 100%;
2639
+ z-index: 999;
2640
+ width: 350px;
2641
+ padding: 20px;
2642
+ box-sizing: border-box;
2643
+ border-radius: 4px;
2644
+ background: #ffffff;
2645
+ border: 1px solid #dfd4d4;
2646
+ box-shadow: 0 0 6px 2px #ddd;
2647
+ }
2648
+ .contact-form-field-settings:after,
2649
+ .contact-form-field-settings:before {
2650
  border: solid transparent;
2651
  content: " ";
2652
  display: block;
2659
  border-color: rgba(255, 255, 255, 0);
2660
  }
2661
  .contact-form-field-settings:after {
2662
+ border-bottom-color: #fff;
2663
  top: -28px;
2664
  }
2665
  .contact-form-field-settings:before {
2666
  border-bottom-color: #dfd4d4;
2667
  top: -30px;
2668
  }
2669
+ .contact-form-field-settings h3 {
2670
  margin-top: 0;
2671
  padding: 0 0 10px;
2672
  border-bottom: 1px solid #ccc;
2673
  }
2674
+ .contact-form-field-settings .contact-form-group {
2675
  display: inline-block;
2676
  width: 100%;
2677
  box-sizing: border-box;
2700
  margin-bottom: 10px;
2701
  }
2702
  .qsm-row > label {
 
2703
  display: block;
2704
  margin-bottom: 5px;
2705
  color: #7b7575;
2706
+ font-weight: normal;
2707
  }
2708
+ .qsm-row select,
2709
+ .qsm-row input[type="text"],
2710
+ .qsm-row textarea {
2711
  width: 100%;
2712
  max-width: 100%;
2713
  min-width: auto;
2714
  }
2715
+ .qsm-quiz-warning-icon {
2716
+ color: #b32d2e;
2717
+ margin: 0 5px;
2718
+ cursor: pointer;
2719
+ }
2720
  /*QSM quiz theme setting tabs start*/
2721
  .qsm-quiz-theme-option-subheading {
2722
+ margin-bottom: 0;
2723
+ color: #2f87cc;
2724
+ font-size: 15px;
2725
  }
2726
  .qsm-theme-color-settings .quiz-theme-option-image-button {
2727
  padding: 3px 9px;
2728
+ font-size: 11px;
2729
  }
2730
+ .qsm-theme-color-settings .quiz-theme-option-image-button .dashicons {
2731
  line-height: 24px;
2732
  }
2733
  .qsm-theme-color-settings .wp-picker-container .wp-color-result.button,
2734
+ .qsm-theme-color-settings footer.qsm-popup__footer .button {
2735
  margin: 0 0 0 10px;
2736
  }
2737
  .qsm-theme-option-image,
2738
  .qsm-theme-color-settings .wp-picker-container {
2739
+ position: relative;
2740
  }
2741
  .qsm-theme-color-settings .wp-picker-holder {
2742
+ position: absolute;
2743
  z-index: 9999;
2744
  top: 61px;
2745
+ left: -136px;
2746
  }
2747
+ .qsm-theme-color-settings .wp-picker-container label {
2748
  width: 195px;
2749
  }
2750
  .qsm-theme-color-settings .wp-picker-input-wrap {
2751
+ position: absolute;
2752
+ width: 258px;
2753
+ top: 37px;
2754
+ left: -136px;
2755
  z-index: 9999;
2756
  }
2757
+ .qsm-theme-color-settings .qsm-popup__content {
2758
  max-height: 70vh;
2759
+ overflow-x: auto;
2760
  }
2761
  .qsm-theme-color-settings span.wp-color-result-text {
2762
+ min-width: 64px;
2763
  }
2764
+ .qsm-theme-option-image {
2765
  width: 112px;
2766
  }
2767
  .qsm-theme-color-settings .quiz-theme-option-image-thumbnail {
2768
+ max-width: 100%;
2769
+ margin-top: 10px;
2770
+ border: 1px solid #868686bd;
2771
+ border-radius: 2px;
2772
  }
2773
  .qsm-theme-option-image-remove {
2774
+ position: absolute;
2775
+ right: 25px;
2776
+ top: calc(50% - 10px);
2777
  opacity: 0;
2778
  }
2779
+ .qsm-theme-color-settings .qsm-theme-option-image:hover .qsm-theme-option-image-remove {
2780
  opacity: 1;
2781
  }
2782
  .qsm-theme-color-settings hr {
2783
+ margin: 25px 0;
2784
  }
2785
  .qsm-theme-color-settings footer.qsm-popup__footer {
2786
+ text-align: right;
2787
  }
2788
  /*QSM quiz theme setting tabs end*/
2789
+ .qsm-row input[type="text"] {
2790
  border-radius: 4px;
2791
  }
data/parsing_script.json CHANGED
@@ -1 +1 @@
1
- {"change_log":[""," Feature: Added option to enable\/disable case sensitive answer for fill-in blank question\n"," Feature: Added option to enable\/disable MathJax\n"," Feature: Added option to enable\/disable emails notifications\n"," Feature: Added option to set images size for image type answers\n"," Feature: Added %ANSWER_X% variables to show user's answer to a specific question\n"," Feature: Added translation support for all Javascript string messages\n"," Feature: Added image answer support for polar question type\n"," Bug: Fixed display issue with leaderboard customization block\n"," Bug: Fixed issue with questions count in quiz list page\n"," Bug: Fixed issue with %QUESTION_ANSWER_X% variables\n"," Bug: Fixed issue while deleting\/duplicating old quizzes\n"," Bug: Fixed issue with timer while using pagination\n"," Enhancement: Improved UI for image type answers options"],"products":[{"name":"Companion","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2022\/06\/companion_banner.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=505248"},{"name":"Serene","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2022\/06\/serene_banner.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=503010"},{"name":"Care Pack","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2022\/03\/3.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=452861"},{"name":"Speed Improvement","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2022\/03\/2.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=452858"}],"new_addons":[{"name":"Companion","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2022\/06\/companion_banner.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=505248","price":{"amount":"0.00"},"description":""},{"name":"Serene","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2022\/06\/serene_banner.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=503010","price":{"amount":"0.00"},"description":""},{"name":"Care Pack","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2022\/03\/3.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=452861","price":{"amount":"99.00"},"description":""},{"name":"Speed Improvement","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2022\/03\/2.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=452858","price":{"amount":"199.00"},"description":""},{"name":"Plugin Configuration","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2022\/03\/1.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=452658","price":{"amount":"49.00"},"description":""},{"name":"Advanced Question Types","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2022\/01\/x-2.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=429053","price":{"personal1site":"39.00","business2-5sites":"59.00","developerunlimitedsites":"79.00"},"description":""},{"name":"Pro Bundle","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/Pro.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=306210","price":{"yearly":"199.00","lifetime":"597.00"},"description":"All QSM Addons in one single and affordable package. Over 34 addons are included in this package and new addons are added automatically. Save over $1600 by buying our bundle."},{"name":"Plus Bundle","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/PLUS.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=306190","price":{"yearly":"179.00","lifetime":"537.00"},"description":"14+ addons to add useful features to your quiz and surveys. "},{"name":"Basic Bundle","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/Basic-1.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=305426","price":{"yearly":"129.00","lifetime":"387.00"},"description":"All the right addons to get you started with QSM premium features. "},{"name":"Pool","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/Poolv2-1.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=302299","price":{"1site":"19.00","2-5sites":"24.00","unlimited":"49.00"},"description":""}],"blog_post":[{"link":"https:\/\/quizandsurveymaster.com\/create-an-interior-design-style-quiz-qsm\/","title":"How to Create an Interior Design Style Quiz with the best Quiz Plugin! (8 minutes read)","excerpt":"<p>Wanting to learn how to create an interior design style quiz for your audience could be a hassle in a competitive world like ours. But we have got your back mate! Today, in this blog, you can learn the A-Z of how to create any kind of interior design quiz, design style quiz, decoration style [&hellip;]<\/p>\n"},{"link":"https:\/\/quizandsurveymaster.com\/relationship-quiz\/","title":"How to Create a Relationship Quiz in WordPress? (6 Simple Steps)","excerpt":"<p>A relationship is a kind of bond or connection between two people. A relationship quiz will help your users to find out in which type of relationship they are or what they should be expecting from a relationship. <\/p>\n"}],"popular_products":[{"name":"Google Sheet Connector","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2020\/03\/first-1.jpg","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=83375","price":{"personal1site":"29.00","business2-5sites":"39.00","developerunlimited":"59.00"},"description":"Sync your surveys with Google Sheets. "},{"name":"Paypal and Stripe Payment Integration","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2020\/04\/Paypal-and-Stripe-Payment-Integration.jpg","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=63522","price":{"personal1site":"29.00","business2-5sites":"39.00","developerunlimitedsites":"59.00"},"description":"Add payment wall for quiz and surveys using this addon. Integrate Paypal or Stripe and start receiving payments. "},{"name":"Save & Resume","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2020\/04\/Save-and-Resume.jpg","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=63518","price":{"personal1site":"19.00","business2-5sites":"29.00","developerunlimitedsites":"49.00"},"description":"Enable save and resume functionality in your quiz. Users can now close and come back to a quiz anytime! "},{"name":"Simple Popups","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2020\/04\/Simple-Popups.jpg","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=38572","price":{"personal1site":"35.00","business2-5sites":"56.00","developerunlimitedsites":"87.00"},"description":"Have you ever wanted to have your quiz or survey inside of a popup? With this easy to use addon, now you can!"},{"name":"Google Analytics Tracking","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2020\/04\/Google-Analytics-Tracking.jpg","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=34421","price":{"personal1site":"35.00","business2-5sites":"56.00","developerunlimited":"87.00"},"description":"Track your quiz and survey submissions in Google Analytics."},{"name":"Logic","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2020\/04\/Logic.jpg","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=8071","price":{"personal1site":"49.00","business2-5sites":"59.00","developerunlimitedsites":"99.00"},"description":"Create Advanced Quizzes by adding Logic and Conditional Branching to your Quizzes and Surveys. Adds Unlimited Additional Conditons."},{"name":"Reporting & Analysis","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2020\/04\/Reporting-And-Analysis.jpg","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=3437","price":{"personal1site":"39.00","business2-5sites":"59.00","developerunlimitedsites":"99.00"},"description":"Analyze your results by visualizing the data in a variety of different graphs, filter the data, and export the data."},{"name":"Zapier Integration","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2020\/04\/Zapier-Integration.jpg","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=2809","price":{"personal1site":"35.00","business2-5sites":"56.00","developerunlimitedsites":"87.00"},"description":"With Zapier Integration, Quiz And Survey Master can sends results to over 700 different websites and services using Zapier."},{"name":"Export Results","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2020\/04\/Export-Results.jpg","link":"https:\/\/quizandsurveymaster.com\/downloads\/export-results\/","price":{"personal1site":"29.00","business2-5sites":"39.00","developerunlimitedsites":"59.00"},"description":"This add-on gives you the ability to export your quiz results as a CSV file which can be imported into spreadsheet programs such as Excel and Google Sheets."},{"name":"User Dashboard","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2020\/04\/User-Dashboard.jpg","link":"https:\/\/quizandsurveymaster.com\/downloads\/user-dashboard\/","price":{"personal1site":"29.00","business2-5sites":"39.00","developerunlimitedsites":"59.00"},"description":"This add-on gives you the ability to set up a page where users can review their results from all the quizzes they have taken."}],"on_sale_products":[{"name":"Google Sheet Connector","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2020\/03\/first-1.jpg","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=83375","price":{"personal1site":"29.00","business2-5sites":"39.00","developerunlimited":"59.00"},"description":"Sync your surveys with Google Sheets. "}],"bundles":[{"name":"Pro Bundle","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/Pro.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=306210","price":{"yearly":"199.00","lifetime":"597.00"},"desc":"All QSM Addons in one single and affordable package. Over 34 addons are included in this package and new addons are added automatically. Save over $1600 by buying our bundle.","icon":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/PRO.png"},{"name":"Plus Bundle","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/PLUS.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=306190","price":{"yearly":"179.00","lifetime":"537.00"},"desc":"14+ addons to add useful features to your quiz and surveys. ","icon":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/Plus.png"},{"name":"Basic Bundle","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/Basic-1.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=305426","price":{"yearly":"129.00","lifetime":"387.00"},"desc":"All the right addons to get you started with QSM premium features. ","icon":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/Basic.png"}],"themes":[{"name":"Pool","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/theme-pool.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=302299","price":{"1site":"19.00","2-5sites":"24.00","unlimited":"49.00"},"description":"","demo":"https:\/\/themes.quizandsurveymaster.com\/ivory-qsm-theme-demo"},{"name":"Ivory","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/theme-ivory.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=302297","price":{"1site":"14.00","2-5sites":"24.00","unlimited":"49.00"},"description":"","demo":"https:\/\/themes.quizandsurveymaster.com\/ivory-qsm-theme-demo"},{"name":"Fragrance","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/theme-fragrance.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=300658","price":{"1site":"14.00","2-5sites":"24.00","unlimited":"49.00"},"description":"","demo":"https:\/\/themes.quizandsurveymaster.com\/fragrance-qsm-theme-demo"},{"name":"Breeze","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/theme-breeze.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=300513","price":{"1site":"24.00","2-5sites":"39.00","unlimited":"44.00"},"description":"","demo":"https:\/\/themes.quizandsurveymaster.com\/breeze-qsm-theme-demo"}]}
1
+ {"change_log":[""," Bug: Fixed issue with random question and answers\n"," Bug: Fixed issue with quiz timer\n"," Bug: Fixed issue with file size limit\n"," Bug: Fixed security and Vulnerability issues.\n"," Enhancement: Improved UI for required fields validation message\n"," Enhancement: Improved UI in polar question\n"," Enhancement: Improved UI in Opt-in question"],"products":[{"name":"Companion","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2022\/06\/companion_banner.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=505248"},{"name":"Serene","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2022\/06\/serene_banner.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=503010"},{"name":"Care Pack","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2022\/03\/3.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=452861"},{"name":"Speed Improvement","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2022\/03\/2.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=452858"}],"new_addons":[{"name":"Companion","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2022\/06\/companion_banner.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=505248","price":{"amount":"0.00"},"description":""},{"name":"Serene","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2022\/06\/serene_banner.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=503010","price":{"amount":"0.00"},"description":""},{"name":"Care Pack","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2022\/03\/3.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=452861","price":{"amount":"99.00"},"description":""},{"name":"Speed Improvement","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2022\/03\/2.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=452858","price":{"amount":"199.00"},"description":""},{"name":"Plugin Configuration","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2022\/03\/1.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=452658","price":{"amount":"49.00"},"description":""},{"name":"Advanced Question Types","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2022\/01\/x-2.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=429053","price":{"personal1site":"39.00","business2-5sites":"59.00","developerunlimitedsites":"79.00"},"description":""},{"name":"Pro Bundle","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/Pro.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=306210","price":{"yearly":"199.00","lifetime":"597.00"},"description":"All QSM Addons in one single and affordable package. Over 34 addons are included in this package and new addons are added automatically. Save over $1600 by buying our bundle."},{"name":"Plus Bundle","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/PLUS.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=306190","price":{"yearly":"179.00","lifetime":"537.00"},"description":"14+ addons to add useful features to your quiz and surveys. "},{"name":"Basic Bundle","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/Basic-1.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=305426","price":{"yearly":"129.00","lifetime":"387.00"},"description":"All the right addons to get you started with QSM premium features. "},{"name":"Pool","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/Poolv2-1.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=302299","price":{"1site":"19.00","2-5sites":"24.00","unlimited":"49.00"},"description":""}],"blog_post":[{"link":"https:\/\/quizandsurveymaster.com\/why-qsm-is-best-survey-maker-plugin\/","title":"Why Quiz and Survey Master is the Best Survey Maker Plugin? (5 Benefits!)","excerpt":"<p>The number of online quiz creators grows by the minute, and to be honest, we&#8217;re all here for it! Nonetheless, there are a few form builders who are leading the way, with only one remaining the best. Today&#8217;s blog will discuss Quiz and Survey Master, the Best Survey Maker Plugin. If you have heard of [&hellip;]<\/p>\n"},{"link":"https:\/\/quizandsurveymaster.com\/importance-of-mathematics-quiz-competition\/","title":"Importance of Fun Mathematics Quiz Competition in School? (5 minutes read)","excerpt":"<p>The importance of Mathematics Quiz Competition in school is being uncovered only recently as education switched to online mode during the Pandemic. Since it became difficult to carry out conventional pen-and-paper tests, the MCQ-type tests became a good switch for teachers as well the students. Earlier people used to dread the thought of maths quizzes [&hellip;]<\/p>\n"}],"popular_products":[{"name":"Google Sheet Connector","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2020\/03\/first-1.jpg","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=83375","price":{"personal1site":"29.00","business2-5sites":"39.00","developerunlimited":"59.00"},"description":"Sync your surveys with Google Sheets. "},{"name":"Paypal and Stripe Payment Integration","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2020\/04\/Paypal-and-Stripe-Payment-Integration.jpg","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=63522","price":{"personal1site":"29.00","business2-5sites":"39.00","developerunlimitedsites":"59.00"},"description":"Add payment wall for quiz and surveys using this addon. Integrate Paypal or Stripe and start receiving payments. "},{"name":"Save & Resume","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2020\/04\/Save-and-Resume.jpg","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=63518","price":{"personal1site":"19.00","business2-5sites":"29.00","developerunlimitedsites":"49.00"},"description":"Enable save and resume functionality in your quiz. Users can now close and come back to a quiz anytime! "},{"name":"Simple Popups","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2020\/04\/Simple-Popups.jpg","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=38572","price":{"personal1site":"35.00","business2-5sites":"56.00","developerunlimitedsites":"87.00"},"description":"Have you ever wanted to have your quiz or survey inside of a popup? With this easy to use addon, now you can!"},{"name":"Google Analytics Tracking","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2020\/04\/Google-Analytics-Tracking.jpg","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=34421","price":{"personal1site":"35.00","business2-5sites":"56.00","developerunlimited":"87.00"},"description":"Track your quiz and survey submissions in Google Analytics."},{"name":"Logic","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2020\/04\/Logic.jpg","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=8071","price":{"personal1site":"49.00","business2-5sites":"59.00","developerunlimitedsites":"99.00"},"description":"Create Advanced Quizzes by adding Logic and Conditional Branching to your Quizzes and Surveys. Adds Unlimited Additional Conditons."},{"name":"Reporting & Analysis","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2020\/04\/Reporting-And-Analysis.jpg","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=3437","price":{"personal1site":"39.00","business2-5sites":"59.00","developerunlimitedsites":"99.00"},"description":"Analyze your results by visualizing the data in a variety of different graphs, filter the data, and export the data."},{"name":"Zapier Integration","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2020\/04\/Zapier-Integration.jpg","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=2809","price":{"personal1site":"35.00","business2-5sites":"56.00","developerunlimitedsites":"87.00"},"description":"With Zapier Integration, Quiz And Survey Master can sends results to over 700 different websites and services using Zapier."},{"name":"Export Results","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2020\/04\/Export-Results.jpg","link":"https:\/\/quizandsurveymaster.com\/downloads\/export-results\/","price":{"personal1site":"29.00","business2-5sites":"39.00","developerunlimitedsites":"59.00"},"description":"This add-on gives you the ability to export your quiz results as a CSV file which can be imported into spreadsheet programs such as Excel and Google Sheets."},{"name":"User Dashboard","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2020\/04\/User-Dashboard.jpg","link":"https:\/\/quizandsurveymaster.com\/downloads\/user-dashboard\/","price":{"personal1site":"29.00","business2-5sites":"39.00","developerunlimitedsites":"59.00"},"description":"This add-on gives you the ability to set up a page where users can review their results from all the quizzes they have taken."}],"on_sale_products":[{"name":"Google Sheet Connector","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2020\/03\/first-1.jpg","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=83375","price":{"personal1site":"29.00","business2-5sites":"39.00","developerunlimited":"59.00"},"description":"Sync your surveys with Google Sheets. "}],"bundles":[{"name":"Pro Bundle","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/Pro.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=306210","price":{"yearly":"199.00","lifetime":"597.00"},"desc":"All QSM Addons in one single and affordable package. Over 34 addons are included in this package and new addons are added automatically. Save over $1600 by buying our bundle.","icon":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/PRO.png"},{"name":"Plus Bundle","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/PLUS.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=306190","price":{"yearly":"179.00","lifetime":"537.00"},"desc":"14+ addons to add useful features to your quiz and surveys. ","icon":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/Plus.png"},{"name":"Basic Bundle","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/Basic-1.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=305426","price":{"yearly":"129.00","lifetime":"387.00"},"desc":"All the right addons to get you started with QSM premium features. ","icon":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/Basic.png"}],"themes":[{"name":"Pool","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/theme-pool.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=302299","price":{"1site":"19.00","2-5sites":"24.00","unlimited":"49.00"},"description":"","demo":"https:\/\/themes.quizandsurveymaster.com\/ivory-qsm-theme-demo"},{"name":"Ivory","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/theme-ivory.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=302297","price":{"1site":"14.00","2-5sites":"24.00","unlimited":"49.00"},"description":"","demo":"https:\/\/themes.quizandsurveymaster.com\/ivory-qsm-theme-demo"},{"name":"Fragrance","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/theme-fragrance.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=300658","price":{"1site":"14.00","2-5sites":"24.00","unlimited":"49.00"},"description":"","demo":"https:\/\/themes.quizandsurveymaster.com\/fragrance-qsm-theme-demo"},{"name":"Breeze","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2021\/06\/theme-breeze.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=300513","price":{"1site":"24.00","2-5sites":"39.00","unlimited":"44.00"},"description":"","demo":"https:\/\/themes.quizandsurveymaster.com\/breeze-qsm-theme-demo"}]}
js/qsm-admin.js CHANGED
@@ -178,9 +178,16 @@ var QSMAdmin;
178
  jQuery('#screen-options-wrap').find('#welcome_panel-hide').prop('checked', false);
179
  postboxes.save_state('toplevel_page_qsm_dashboard');
180
  });
181
- //Get the message in text tab
182
- jQuery(document).on('change', '#qsm_question_text_message_id', function () {
183
- var text_id = jQuery(this).val();
 
 
 
 
 
 
 
184
  jQuery('.qsm-text-main-wrap .qsm-text-tab-message-loader').show();
185
  jQuery.post(ajaxurl, { text_id: text_id, 'quiz_id': qsmTextTabObject.quiz_id, action: 'qsm_get_question_text_message' }, function (response) {
186
  var data = jQuery.parseJSON(response);
@@ -194,27 +201,63 @@ var QSMAdmin;
194
  }
195
  jQuery('.qsm-text-allowed-variables > .qsm-text-variable-wrap').html('').html(data.allowed_variable_text);
196
  jQuery('.qsm-text-main-wrap .qsm-text-tab-message-loader').hide();
197
- } else {
198
- console.log(data.message);
199
  }
200
  });
201
  });
202
- //Save the message in text tab
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
203
  jQuery(document).on('click', '#qsm_save_text_message', function () {
204
  var $this = jQuery(this);
205
  $this.siblings('.spinner').addClass('is-active');
206
- var text_id = jQuery('#qsm_question_text_message_id').val();
207
- var message = wp.editor.getContent('qsm_question_text_message');
208
  jQuery.post(ajaxurl, { text_id: text_id, 'message': message, 'quiz_id': qsmTextTabObject.quiz_id, action: 'qsm_update_text_message' }, function (response) {
209
  var data = jQuery.parseJSON(response);
210
  if (data.success === true) {
211
  //Do nothing
212
- } else {
213
- console.log(data.message);
214
  }
215
  $this.siblings('.spinner').removeClass('is-active');
216
  });
217
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
218
  //On click append on tiny mce
219
  jQuery(document).on('click', '.qsm-text-allowed-variables button.button', function () {
220
  var content = jQuery(this).text();
@@ -351,7 +394,6 @@ var QSMAdmin;
351
  $('.qsm-addon-setting-wrap .qsm_popular_addons').hide();
352
  $(href).show();
353
  });
354
-
355
  // opens media library o set featured image for quiz
356
  $(document).on('click', '#set_featured_image', function (e) {
357
  var button = $(this);
@@ -586,18 +628,42 @@ function deleteResults(id, quizName) {
586
  idHidden.value = id;
587
  idHiddenName.value = quizName;
588
  }
589
-
590
  //quiz options style tab
591
  jQuery('.quiz_style_tab').click(function (e) {
592
  e.preventDefault();
593
  var current_id = jQuery(this).attr('data-id');
594
  jQuery('.quiz_style_tab').removeClass('current');
 
595
  jQuery(this).addClass('current');
596
  jQuery('.quiz_style_tab_content').hide();
597
  jQuery('#' + current_id).show();
598
  });
599
-
600
- if (jQuery('body').hasClass('admin_page_mlw_quiz_options')) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
601
  if (window.location.href.indexOf('tab=style') > 0) {
602
  function mlw_qmn_theme(theme) {
603
  document.getElementById('save_quiz_theme').value = theme;
@@ -1493,13 +1559,13 @@ var import_button;
1493
  if (action == 'change') {
1494
  $('.qb-load-more-wrapper').remove();
1495
  $('#question-bank').find('.question-bank-question').remove();
1496
- $('#question-bank').append('<div style="top: 45px;position: relative;" class="qsm-spinner-loader"></div>');
1497
  } else if ($('.qb-load-more-wrapper').length > 0) {
1498
  $('.qb-load-more-question').hide();
1499
- $('.qb-load-more-wrapper').append('<div class="qsm-spinner-loader"></div>');
1500
  } else {
1501
  $('#question-bank').empty();
1502
- $('#question-bank').append('<div class="qsm-spinner-loader"></div>');
1503
  }
1504
  $.ajax({
1505
  url: wpApiSettings.root + 'quiz-survey-master/v1/bank_questions/0/',
@@ -1508,7 +1574,7 @@ var import_button;
1508
  xhr.setRequestHeader('X-WP-Nonce', qsmQuestionSettings.nonce);
1509
  },
1510
  data: {
1511
- 'quizID': 0,
1512
  'page': $('#question_back_page_number').length > 0 ? parseInt($('#question_back_page_number').val()) + 1 : 1,
1513
  'category': $('#question-bank-cat').val(),
1514
  'search': $('#question-bank-search-input').val()
@@ -1559,6 +1625,7 @@ var import_button;
1559
  }
1560
  $('#question-bank').append(template({
1561
  id: question.id,
 
1562
  question: questionText,
1563
  category: question.category,
1564
  quiz_name: question.quiz_name
@@ -1793,6 +1860,7 @@ var import_button;
1793
  }
1794
  $('.page:nth-child(' + page + ')').append(template({
1795
  id: model.id,
 
1796
  category: model.get('category'),
1797
  question: questionName
1798
  }));
@@ -1897,9 +1965,10 @@ var import_button;
1897
  var answerType = $('#change-answer-editor').val();
1898
  var matchAnswer = $('#match-answer').val();
1899
 
1900
- var answers = [];
1901
- var $answers = jQuery('.answers-single');
1902
- _.each($answers, function (answer) {
 
1903
  var $answer = jQuery(answer);
1904
  var answer = '';
1905
  var caption = '';
@@ -1921,14 +1990,17 @@ var import_button;
1921
  if ($answer.find('.answer-correct').prop('checked')) {
1922
  correct = 1;
1923
  }
1924
-
 
1925
  if (answerType == 'image') {
1926
- answers.push([answer, points, correct, caption]);
1927
- } else {
1928
- answers.push([answer, points, correct]);
1929
  }
1930
-
 
 
1931
  });
 
 
1932
  $('.questionElements .advanced-content > .qsm-row:not(.core-option)').each(function () {
1933
  if ($(this).find('input[type="text"]').length > 0) {
1934
  $($(this).find('input[type="text"]')).each(function () {
@@ -1950,6 +2022,7 @@ var import_button;
1950
  advanced_option[element_id] = multi_value;
1951
  }
1952
  });
 
1953
  model.save({
1954
  quizID: quizID,
1955
  type: type,
@@ -1977,6 +2050,9 @@ var import_button;
1977
  });
1978
  jQuery(document).trigger('qsm_save_question', [questionID, CurrentElement]);
1979
  },
 
 
 
1980
  saveSuccess: function (model) {
1981
  QSMAdmin.displayAlert(qsm_admin_messages.question_saved, 'success');
1982
  var template = wp.template('question');
@@ -2012,30 +2088,31 @@ var import_button;
2012
  questionType = $('#question_type').val();
2013
  }
2014
  var answerTemplate = wp.template('single-answer');
2015
- if (answer.length >= 7 && answer[6] == 'image') {
2016
- $('#answers').append(answerTemplate({
 
 
 
 
 
 
 
 
 
 
2017
  answer: decodeEntities(answer[0]),
2018
  points: answer[1],
2019
  correct: answer[2],
2020
  caption: answer[3],
2021
- count: answer[4],
2022
- question_id: answer[5],
2023
- answerType: answer[6],
2024
  form_type: qsmQuestionSettings.form_type,
2025
  quiz_system: qsmQuestionSettings.quiz_system
2026
- }));
2027
- } else {
2028
- $('#answers').append(answerTemplate({
2029
- answer: decodeEntities(answer[0]),
2030
- points: answer[1],
2031
- correct: answer[2],
2032
- count: answer[3],
2033
- question_id: answer[4],
2034
- answerType: answer[5],
2035
- form_type: qsmQuestionSettings.form_type,
2036
- quiz_system: qsmQuestionSettings.quiz_system
2037
- }));
2038
  }
 
 
2039
 
2040
  // show points field only for polar in survey and simple form
2041
  if (qsmQuestionSettings.form_type != 0) {
@@ -2053,8 +2130,8 @@ var import_button;
2053
  }
2054
  }
2055
 
2056
- if (answer[5] == 'rich' && qsmQuestionSettings.qsm_user_ve === 'true') {
2057
- var textarea_id = 'answer-' + answer[4] + '-' + answer[3];
2058
  wp.editor.remove(textarea_id);
2059
  var settings = {
2060
  mediaButtons: true,
@@ -2184,11 +2261,11 @@ var import_button;
2184
  $("input[name='file_upload_type[]']:checkbox[value='" + fut_arr[i] + "']").attr("checked", "true");
2185
  });
2186
  }
2187
- var al = 0;
2188
- _.each(answers, function (answer) {
2189
- answer.push(al + 1);
2190
- answer.push(questionID);
2191
- answer.push(answerEditor);
2192
  QSMQuestion.addNewAnswer(answer, question.get('type'));
2193
  al++;
2194
  });
@@ -2404,7 +2481,7 @@ var import_button;
2404
  });
2405
 
2406
  //Show category related question
2407
- $(document).on('change', '#question-bank-cat', function (event) {
2408
  event.preventDefault();
2409
  QSMQuestion.loadQuestionBank('change');
2410
  });
@@ -2528,15 +2605,19 @@ var import_button;
2528
  });
2529
  $(document).on('click', '#new-answer-button', function (event) {
2530
  event.preventDefault();
 
 
2531
  var answer_length = $('#answers').find('.answers-single').length;
 
2532
  if (answer_length > 1 && $('#question_type').val() == 13) {
2533
  alert(qsm_admin_messages.polar_options_validation);
2534
  return;
2535
  }
2536
- var question_id = $('#edit_question_id').val();
2537
- var answerType = $('#change-answer-editor').val();
2538
- var answer = ['', '', 0, answer_length + 1, question_id, answerType];
2539
- QSMQuestion.addNewAnswer(answer, 0);
 
2540
  });
2541
 
2542
  $(document).on('click', '.qsm-popup-bank .import-button', function (event) {
178
  jQuery('#screen-options-wrap').find('#welcome_panel-hide').prop('checked', false);
179
  postboxes.save_state('toplevel_page_qsm_dashboard');
180
  });
181
+ //Get the message in text tab general
182
+ jQuery(document).on('click', '.quiz_text_tab_message', function () {
183
+ var text_id = jQuery(this).attr('data-id');
184
+ var text_label = jQuery(this).attr('data-label');
185
+ jQuery(".select_message").html(text_label);
186
+ jQuery('.quiz_text_tab').removeClass('current_general');
187
+ jQuery('.qsm-custom-label-left-menu').removeClass('currentli_general');
188
+ jQuery(this).addClass('current_general');
189
+ jQuery(this).parent().addClass('currentli_general');
190
+ jQuery('#' + text_id).show();
191
  jQuery('.qsm-text-main-wrap .qsm-text-tab-message-loader').show();
192
  jQuery.post(ajaxurl, { text_id: text_id, 'quiz_id': qsmTextTabObject.quiz_id, action: 'qsm_get_question_text_message' }, function (response) {
193
  var data = jQuery.parseJSON(response);
201
  }
202
  jQuery('.qsm-text-allowed-variables > .qsm-text-variable-wrap').html('').html(data.allowed_variable_text);
203
  jQuery('.qsm-text-main-wrap .qsm-text-tab-message-loader').hide();
 
 
204
  }
205
  });
206
  });
207
+ //Get the message in text tab variable
208
+ jQuery(document).on('click', '.quiz_text_tab_message_variable', function () {
209
+ var text_id = jQuery(this).attr('data-id');
210
+ var text_label = jQuery(this).attr('data-label');
211
+ jQuery(".select_message_variable").html(text_label);
212
+ jQuery('.quiz_style_tab').removeClass('current_variable');
213
+ jQuery('.qsm-custom-label-left-menu').removeClass('currentli_variable');
214
+ jQuery(this).addClass('current_variable');
215
+ jQuery(this).parent().addClass('currentli_variable');
216
+ jQuery('#' + text_id).show();
217
+ jQuery('.qsm-text-main-wrap .qsm-text-tab-message-loader').show();
218
+ jQuery.post(ajaxurl, { text_id: text_id, 'quiz_id': qsmTextTabObject.quiz_id, action: 'qsm_get_question_text_message' }, function (response) {
219
+ var data = jQuery.parseJSON(response);
220
+ if (data.success === true) {
221
+ var text_msg = data.text_message;
222
+ if ($('#wp-qsm_question_text_message-wrap').hasClass('html-active')) {
223
+ jQuery("#qsm_question_text_message_variable").val(text_msg);
224
+ } else {
225
+ text_msg = text_msg.replace(/\n/g, "<br>");
226
+ tinyMCE.get('qsm_question_text_message_variable').setContent(text_msg);
227
+ }
228
+ jQuery('.qsm-text-allowed-variables > .qsm-text-variable-wrap').html('').html(data.allowed_variable_text);
229
+ jQuery('.qsm-text-main-wrap .qsm-text-tab-message-loader').hide();
230
+ }
231
+ });
232
+ });
233
+ //Save the message in text tab general text
234
  jQuery(document).on('click', '#qsm_save_text_message', function () {
235
  var $this = jQuery(this);
236
  $this.siblings('.spinner').addClass('is-active');
237
+ var text_id = jQuery(".currentli_general .current_general").data('id');
238
+ var message = wp.editor.getContent('qsm_question_text_message');
239
  jQuery.post(ajaxurl, { text_id: text_id, 'message': message, 'quiz_id': qsmTextTabObject.quiz_id, action: 'qsm_update_text_message' }, function (response) {
240
  var data = jQuery.parseJSON(response);
241
  if (data.success === true) {
242
  //Do nothing
 
 
243
  }
244
  $this.siblings('.spinner').removeClass('is-active');
245
  });
246
  });
247
+ //Save the message in text tab variable text
248
+ jQuery(document).on('click', '#qsm_save_text_message_variable', function () {
249
+ var $this = jQuery(this);
250
+ $this.siblings('.spinner').addClass('is-active');
251
+ var text_id = jQuery(".currentli_variable .current_variable").data('id');
252
+ var message = wp.editor.getContent('qsm_question_text_message_variable');
253
+ jQuery.post(ajaxurl, { text_id: text_id, 'message': message, 'quiz_id': qsmTextTabObject.quiz_id, action: 'qsm_update_text_message' }, function (response) {
254
+ var data = jQuery.parseJSON(response);
255
+ if (data.success === true) {
256
+ //Do nothing
257
+ }
258
+ $this.siblings('.spinner').removeClass('is-active');
259
+ });
260
+ });
261
  //On click append on tiny mce
262
  jQuery(document).on('click', '.qsm-text-allowed-variables button.button', function () {
263
  var content = jQuery(this).text();
394
  $('.qsm-addon-setting-wrap .qsm_popular_addons').hide();
395
  $(href).show();
396
  });
 
397
  // opens media library o set featured image for quiz
398
  $(document).on('click', '#set_featured_image', function (e) {
399
  var button = $(this);
628
  idHidden.value = id;
629
  idHiddenName.value = quizName;
630
  }
 
631
  //quiz options style tab
632
  jQuery('.quiz_style_tab').click(function (e) {
633
  e.preventDefault();
634
  var current_id = jQuery(this).attr('data-id');
635
  jQuery('.quiz_style_tab').removeClass('current');
636
+ jQuery('.qsm-custom-label-left-menu').removeClass('currentli');
637
  jQuery(this).addClass('current');
638
  jQuery('.quiz_style_tab_content').hide();
639
  jQuery('#' + current_id).show();
640
  });
641
+ //quiz options text tab custom label
642
+ jQuery('.quiz_text_tab_custom').click(function (e) {
643
+ e.preventDefault();
644
+ var current_id = jQuery(this).attr('data-id');
645
+ jQuery('.quiz_text_tab_custom').removeClass('current');
646
+ jQuery('.qsm-custom-label-left-menu').removeClass('currentli');
647
+ jQuery(this).addClass('current');
648
+ jQuery(this).parent().addClass('currentli');
649
+ jQuery('.quiz_style_tab_content').hide();
650
+ jQuery('#' + current_id).show();
651
+ });
652
+ //quiz text tab
653
+ jQuery('.quiz_text_tab').click(function (e) {
654
+ e.preventDefault();
655
+ var current_id = jQuery(this).attr('data-id');
656
+ jQuery('.quiz_text_tab').removeClass('current');
657
+ jQuery(this).addClass('current');
658
+ jQuery('.quiz_text_tab_content').hide();
659
+ jQuery("#postbox-container-1").show();
660
+ if(current_id == 'qsm_general_text'){ jQuery(".current_general")[0].click();}
661
+ if(current_id == 'qsm_variable_text'){ jQuery(".current_variable")[0].click();}
662
+ if(current_id == 'qsm_custom_label'){ jQuery("#postbox-container-1").css("display", "none");}
663
+ jQuery('#' + current_id).show();
664
+ });
665
+ if (jQuery('body').hasClass('admin_page_mlw_quiz_options')) { var current_id = jQuery(this).attr('data-id'); if(current_id == 'qsm_general_text'){ jQuery(".current_general")[0].click();}
666
+ if(current_id == 'qsm_variable_text'){ jQuery(".current_variable")[0].click();}
667
  if (window.location.href.indexOf('tab=style') > 0) {
668
  function mlw_qmn_theme(theme) {
669
  document.getElementById('save_quiz_theme').value = theme;
1559
  if (action == 'change') {
1560
  $('.qb-load-more-wrapper').remove();
1561
  $('#question-bank').find('.question-bank-question').remove();
1562
+ $('#question-bank').append('<div style="top: 70px;position: relative;left: calc(50% - 20px);" class="qsm-spinner-loader"></div>');
1563
  } else if ($('.qb-load-more-wrapper').length > 0) {
1564
  $('.qb-load-more-question').hide();
1565
+ $('.qb-load-more-wrapper').append('<div style="top: 70px;position: relative;left: calc(50% - 20px); class="qsm-spinner-loader"></div>');
1566
  } else {
1567
  $('#question-bank').empty();
1568
+ $('#question-bank').append('<div style="top: 70px;position: relative;left: calc(50% - 20px); class="qsm-spinner-loader"></div>');
1569
  }
1570
  $.ajax({
1571
  url: wpApiSettings.root + 'quiz-survey-master/v1/bank_questions/0/',
1574
  xhr.setRequestHeader('X-WP-Nonce', qsmQuestionSettings.nonce);
1575
  },
1576
  data: {
1577
+ 'quizID': $('#question-bank-quiz').val(),
1578
  'page': $('#question_back_page_number').length > 0 ? parseInt($('#question_back_page_number').val()) + 1 : 1,
1579
  'category': $('#question-bank-cat').val(),
1580
  'search': $('#question-bank-search-input').val()
1625
  }
1626
  $('#question-bank').append(template({
1627
  id: question.id,
1628
+ type: question.type,
1629
  question: questionText,
1630
  category: question.category,
1631
  quiz_name: question.quiz_name
1860
  }
1861
  $('.page:nth-child(' + page + ')').append(template({
1862
  id: model.id,
1863
+ type: model.get('type'),
1864
  category: model.get('category'),
1865
  question: questionName
1866
  }));
1965
  var answerType = $('#change-answer-editor').val();
1966
  var matchAnswer = $('#match-answer').val();
1967
 
1968
+ var intcnt = 1;
1969
+ var answers = [];
1970
+ var $answersElement = jQuery('.answers-single');
1971
+ _.each($answersElement, function (answer) {
1972
  var $answer = jQuery(answer);
1973
  var answer = '';
1974
  var caption = '';
1990
  if ($answer.find('.answer-correct').prop('checked')) {
1991
  correct = 1;
1992
  }
1993
+
1994
+ var ansData = [answer, points, correct];
1995
  if (answerType == 'image') {
1996
+ ansData.push(caption);
 
 
1997
  }
1998
+ ansData = QSMQuestion.answerFilter(ansData, $answer, answerType);
1999
+ answers.push(ansData);
2000
+ intcnt++
2001
  });
2002
+ model.set('answers', answers);
2003
+
2004
  $('.questionElements .advanced-content > .qsm-row:not(.core-option)').each(function () {
2005
  if ($(this).find('input[type="text"]').length > 0) {
2006
  $($(this).find('input[type="text"]')).each(function () {
2022
  advanced_option[element_id] = multi_value;
2023
  }
2024
  });
2025
+
2026
  model.save({
2027
  quizID: quizID,
2028
  type: type,
2050
  });
2051
  jQuery(document).trigger('qsm_save_question', [questionID, CurrentElement]);
2052
  },
2053
+ answerFilter: function (ansData, $answer, answerType) {
2054
+ return ansData;
2055
+ },
2056
  saveSuccess: function (model) {
2057
  QSMAdmin.displayAlert(qsm_admin_messages.question_saved, 'success');
2058
  var template = wp.template('question');
2088
  questionType = $('#question_type').val();
2089
  }
2090
  var answerTemplate = wp.template('single-answer');
2091
+ var ansTemp = {
2092
+ answer: decodeEntities(answer[0]),
2093
+ points: answer[1],
2094
+ correct: answer[2],
2095
+ count: answer['index'],
2096
+ question_id: answer['question_id'],
2097
+ answerType: answer['answerType'],
2098
+ form_type: qsmQuestionSettings.form_type,
2099
+ quiz_system: qsmQuestionSettings.quiz_system
2100
+ };
2101
+ if (answer['answerType'] == 'image') {
2102
+ ansTemp = {
2103
  answer: decodeEntities(answer[0]),
2104
  points: answer[1],
2105
  correct: answer[2],
2106
  caption: answer[3],
2107
+ count: answer['index'],
2108
+ question_id: answer['question_id'],
2109
+ answerType: answer['answerType'],
2110
  form_type: qsmQuestionSettings.form_type,
2111
  quiz_system: qsmQuestionSettings.quiz_system
2112
+ };
 
 
 
 
 
 
 
 
 
 
 
2113
  }
2114
+ jQuery(document).trigger('qsm_new_answer_template', [ansTemp, answer, questionType]);
2115
+ $('#answers').append(answerTemplate(ansTemp));
2116
 
2117
  // show points field only for polar in survey and simple form
2118
  if (qsmQuestionSettings.form_type != 0) {
2130
  }
2131
  }
2132
 
2133
+ if (answer['answerType'] == 'rich' && qsmQuestionSettings.qsm_user_ve === 'true') {
2134
+ var textarea_id = 'answer-' + answer['question_id'] + '-' + answer['index'];
2135
  wp.editor.remove(textarea_id);
2136
  var settings = {
2137
  mediaButtons: true,
2261
  $("input[name='file_upload_type[]']:checkbox[value='" + fut_arr[i] + "']").attr("checked", "true");
2262
  });
2263
  }
2264
+ var al = 1;
2265
+ _.each(answers, function (answer) {
2266
+ answer['index'] = al;
2267
+ answer['question_id'] = questionID;
2268
+ answer['answerType'] = answerEditor;
2269
  QSMQuestion.addNewAnswer(answer, question.get('type'));
2270
  al++;
2271
  });
2481
  });
2482
 
2483
  //Show category related question
2484
+ $(document).on('change', '#question-bank-cat, #question-bank-quiz', function (event) {
2485
  event.preventDefault();
2486
  QSMQuestion.loadQuestionBank('change');
2487
  });
2605
  });
2606
  $(document).on('click', '#new-answer-button', function (event) {
2607
  event.preventDefault();
2608
+ var question_id = $('#edit_question_id').val();
2609
+ var questionType = $('#question_type').val();
2610
  var answer_length = $('#answers').find('.answers-single').length;
2611
+ var answerType = $('#change-answer-editor').val();
2612
  if (answer_length > 1 && $('#question_type').val() == 13) {
2613
  alert(qsm_admin_messages.polar_options_validation);
2614
  return;
2615
  }
2616
+ var answer = ['', '', 0];
2617
+ answer['index'] = answer_length + 1;
2618
+ answer['question_id'] = question_id;
2619
+ answer['answerType'] = answerType;
2620
+ QSMQuestion.addNewAnswer(answer, questionType);
2621
  });
2622
 
2623
  $(document).on('click', '.qsm-popup-bank .import-button', function (event) {
js/qsm-quiz.js CHANGED
@@ -22,7 +22,7 @@ var qsmTimerInterval = [];
22
  $('.g-recaptcha').hide();
23
  // Cycle through all quizzes
24
  _.each(qmn_quiz_data, function (quiz) {
25
- quizID = parseInt(quiz.quiz_id);
26
  QSM.initPagination(quizID);
27
  qsmTimerInterval[quizID] = setInterval(function () { qmnTimeTakenTimer(quizID) }, 1000);
28
  if ( ( quiz.hasOwnProperty('pagination') || ( _.keys(quiz.qpages).length > 1 && !jQuery('.qsm-quiz-container-'+quizID+' .qsm-auto-page-row').length ) ) ) {
@@ -419,7 +419,7 @@ var qsmTimerInterval = [];
419
  }).animate({
420
  Counter: new_text
421
  }, {
422
- duration: 1000,
423
  easing: 'swing',
424
  step: function () {
425
  jQuery('#quizForm' + quizID).find('.progressbar-text').text(Math.round(this.Counter) + ' %');
@@ -828,7 +828,7 @@ function qmnValidation(element, quiz_form_id) {
828
  }
829
  }
830
  var by_pass = true;
831
- if (qmn_quiz_data[quizID].timer_limit_val > 0 && qmn_quiz_data[quiz_id].hasOwnProperty('skip_validation_time_expire') && qmn_quiz_data[quiz_id].skip_validation_time_expire == 0) {
832
  by_pass = false;
833
  }
834
 
@@ -937,8 +937,8 @@ function qmnFormSubmit(quiz_form_id) {
937
  fd.append("currentuserTimeZone", Intl.DateTimeFormat().resolvedOptions().timeZone);
938
 
939
 
940
- qsmEndTimeTakenTimer(quizID);
941
- if (qmn_quiz_data[quizID].hasOwnProperty('advanced_timer') && qmn_quiz_data[quizID].advanced_timer.hasOwnProperty('show_stop_timer') ) {
942
  QSMPageTimer.endPageTimer(quiz_id);
943
  }
944
  if (qmn_quiz_data[quiz_id].hasOwnProperty('timer_limit')) {
@@ -958,7 +958,7 @@ function qmnFormSubmit(quiz_form_id) {
958
  if (window.qsm_results_data === undefined) {
959
  window.qsm_results_data = new Object();
960
  }
961
- window.qsm_results_data[quizID] = {
962
  'save_response': response.result_status['save_response'],
963
  'id': response.result_status['id']
964
  };
@@ -1249,7 +1249,7 @@ function qmnInitProgressbarOnClick(quiz_id, page_number, total_page_number) {
1249
  }).animate({
1250
  Counter: new_text
1251
  }, {
1252
- duration: 1000,
1253
  easing: 'swing',
1254
  step: function () {
1255
  jQuery('#qsm_progress_bar_' + quiz_id).find('.progressbar-text').text(Math.round(this.Counter) + ' %');
22
  $('.g-recaptcha').hide();
23
  // Cycle through all quizzes
24
  _.each(qmn_quiz_data, function (quiz) {
25
+ let quizID = parseInt(quiz.quiz_id);
26
  QSM.initPagination(quizID);
27
  qsmTimerInterval[quizID] = setInterval(function () { qmnTimeTakenTimer(quizID) }, 1000);
28
  if ( ( quiz.hasOwnProperty('pagination') || ( _.keys(quiz.qpages).length > 1 && !jQuery('.qsm-quiz-container-'+quizID+' .qsm-auto-page-row').length ) ) ) {
419
  }).animate({
420
  Counter: new_text
421
  }, {
422
+ duration: 500,
423
  easing: 'swing',
424
  step: function () {
425
  jQuery('#quizForm' + quizID).find('.progressbar-text').text(Math.round(this.Counter) + ' %');
828
  }
829
  }
830
  var by_pass = true;
831
+ if (qmn_quiz_data[quiz_id].timer_limit_val > 0 && qmn_quiz_data[quiz_id].hasOwnProperty('skip_validation_time_expire') && qmn_quiz_data[quiz_id].skip_validation_time_expire == 0) {
832
  by_pass = false;
833
  }
834
 
937
  fd.append("currentuserTimeZone", Intl.DateTimeFormat().resolvedOptions().timeZone);
938
 
939
 
940
+ qsmEndTimeTakenTimer(quiz_id);
941
+ if (qmn_quiz_data[quiz_id].hasOwnProperty('advanced_timer') && qmn_quiz_data[quiz_id].advanced_timer.hasOwnProperty('show_stop_timer') ) {
942
  QSMPageTimer.endPageTimer(quiz_id);
943
  }
944
  if (qmn_quiz_data[quiz_id].hasOwnProperty('timer_limit')) {
958
  if (window.qsm_results_data === undefined) {
959
  window.qsm_results_data = new Object();
960
  }
961
+ window.qsm_results_data[quiz_id] = {
962
  'save_response': response.result_status['save_response'],
963
  'id': response.result_status['id']
964
  };
1249
  }).animate({
1250
  Counter: new_text
1251
  }, {
1252
+ duration: 500,
1253
  easing: 'swing',
1254
  step: function () {
1255
  jQuery('#qsm_progress_bar_' + quiz_id).find('.progressbar-text').text(Math.round(this.Counter) + ' %');
mlw_quizmaster2.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Plugin Name: Quiz And Survey Master
4
  * Description: Easily and quickly add quizzes and surveys to your website.
5
- * Version: 8.0.5
6
  * Author: ExpressTech
7
  * Author URI: https://quizandsurveymaster.com/
8
  * Plugin URI: https://expresstech.io/
@@ -21,7 +21,7 @@ define( 'QSM_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
21
  define( 'QSM_SUBMENU', __FILE__ );
22
  define( 'QSM_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
23
  define( 'hide_qsm_adv', true );
24
- define( 'QSM_THEME_PATH', plugin_dir_path( __DIR__ ) );
25
  define( 'QSM_THEME_SLUG', plugins_url( '/' ) );
26
  define( 'QSM_PLUGIN_CSS_URL', QSM_PLUGIN_URL . 'css' );
27
  define( 'QSM_PLUGIN_JS_URL', QSM_PLUGIN_URL . 'js' );
@@ -43,7 +43,7 @@ class MLWQuizMasterNext {
43
  * @var string
44
  * @since 4.0.0
45
  */
46
- public $version = '8.0.5';
47
 
48
  /**
49
  * QSM Alert Manager Object
2
  /**
3
  * Plugin Name: Quiz And Survey Master
4
  * Description: Easily and quickly add quizzes and surveys to your website.
5
+ * Version: 8.0.6
6
  * Author: ExpressTech
7
  * Author URI: https://quizandsurveymaster.com/
8
  * Plugin URI: https://expresstech.io/
21
  define( 'QSM_SUBMENU', __FILE__ );
22
  define( 'QSM_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
23
  define( 'hide_qsm_adv', true );
24
+ define( 'QSM_THEME_PATH', WP_PLUGIN_DIR . '/' );
25
  define( 'QSM_THEME_SLUG', plugins_url( '/' ) );
26
  define( 'QSM_PLUGIN_CSS_URL', QSM_PLUGIN_URL . 'css' );
27
  define( 'QSM_PLUGIN_JS_URL', QSM_PLUGIN_URL . 'js' );
43
  * @var string
44
  * @since 4.0.0
45
  */
46
+ public $version = '8.0.6';
47
 
48
  /**
49
  * QSM Alert Manager Object
php/admin/admin-results-details-page.php CHANGED
@@ -83,7 +83,7 @@ function qsm_generate_results_details_tab() {
83
  wp_add_inline_script( 'math_jax', $mlwQuizMasterNext::$default_MathJax_script, 'before' );
84
  }
85
  echo '<div style="text-align:right; margin-top: 20px; margin-bottom: 20px;">';
86
- echo '<h3 class="result-page-title">Quiz Result - '. esc_html( $results_data->quiz_name ) .'</h3>';
87
  echo '<a style="margin-right: 15px;" href="?page=mlw_quiz_results" class="button button-primary" title="Return to results">'. esc_html__( 'Back to Results', 'quiz-master-next' ) .'</a>';
88
  if ( ! is_null( $previous_results ) && $previous_results ) {
89
  echo "<a class='button button-primary' title='View Previous Result' href=\"?page=qsm_quiz_result_details&&result_id=" . intval( $previous_results ) . "\" ><span class='dashicons dashicons-arrow-left-alt2'></span></a> ";
@@ -157,7 +157,7 @@ function qsm_generate_results_details_tab() {
157
  $template .= '<div class="overview-main-wrapper">';
158
  //User detail
159
  $template .= '<div class="candidate-detail-wrap overview-inner-wrap">';
160
- $template .= '<div id="submitdiv" class="postbox "><h2 class="hndle ui-sortable-handle"><span>User Detail</span></h2>';
161
  $template .= '<div class="inside">';
162
  if ( isset( $results_array['contact'] ) && is_array( $results_array['contact'] ) && ! empty( $results_array['contact'] ) ) {
163
  for ( $i = 0; $i < count( $results_array["contact"] ); $i++ ) {
@@ -176,9 +176,9 @@ function qsm_generate_results_details_tab() {
176
  if ( isset( $results_data->form_type ) && 0 === intval( $results_data->form_type ) ) {
177
  //Scoreboard design
178
  $template .= '<div class="candidate-detail-wrap overview-inner-wrap">';
179
- $template .= '<div id="submitdiv" class="postbox qsm-scorecard-box"><h2 class="hndle ui-sortable-handle"><span>Scorecard</span></h2>';
180
  $template .= '<div class="inside">';
181
- $template .= $span_start. __( 'Correct Answers:', 'quiz-master-next' ) .'</label><span>%AMOUNT_CORRECT% Out of %TOTAL_QUESTIONS%</span></span>';
182
  $template .= $span_start. __( 'Points:', 'quiz-master-next' ) .'</label><span class="qsm-total-point">%POINT_SCORE% </span></span>';
183
  $template .= $span_start. __( 'Percentage:', 'quiz-master-next' ) .'</label><span class="qsm-total-percentage">%CORRECT_SCORE%%</span></span>';
184
  $template .= '</div>';
@@ -188,7 +188,7 @@ function qsm_generate_results_details_tab() {
188
 
189
  //Timer design
190
  $template .= '<div class="overview-inner-wrap">';
191
- $template .= '<div id="submitdiv" class="postbox "><h2 class="hndle ui-sortable-handle"><span>Time Taken</span></h2>';
192
  $template .= '<div class="inside">';
193
  $template .= '<div class="timer-div-wrapper">';
194
 
@@ -202,7 +202,7 @@ function qsm_generate_results_details_tab() {
202
  } else {
203
  $template .= '<div>';
204
  $template .= '<span class="hours timer-span">00</span>';
205
- $template .= '<span class="timer-text">hours</span>';
206
  $template .= '</div>';
207
  }
208
  $mlw_complete_minutes = floor(($mlw_qmn_results_array[0] % 3600) / 60);
@@ -215,7 +215,7 @@ function qsm_generate_results_details_tab() {
215
  } else {
216
  $template .= '<div>';
217
  $template .= '<span class="minutes timer-span">00</span>';
218
- $template .= '<span class="timer-text">minutes</span>';
219
  $template .= '</div>';
220
  }
221
 
@@ -235,7 +235,7 @@ function qsm_generate_results_details_tab() {
235
 
236
  if ( 0 === intval( $comments_enabled ) ) {
237
  $template .= '<div class="comment-inner-wrap" style="">';
238
- $template .= '<div id="submitdiv" class="postbox" ><h2 class="hndle ui-sortable-handle"><span>User Comments</span></h2>';
239
  $template .= '<div class="inside">';
240
  $template .= '%COMMENT_SECTION%';
241
  $template .= '</div>';
@@ -244,7 +244,7 @@ function qsm_generate_results_details_tab() {
244
  }
245
  //Response div
246
  $template .= '<div class="response-inner-wrap">';
247
- $template .= '<div id="submitdiv" class="postbox "><h2 class="hndle ui-sortable-handle"><span>Responses</span></h2>';
248
  $template .= '<div class="inside check">';
249
  $template .= '%QUESTIONS_ANSWERS%';
250
  $template .= '</div>';
@@ -258,7 +258,7 @@ function qsm_generate_results_details_tab() {
258
  if ( isset( $settings['results_details_template'] ) ) {
259
  $template = htmlspecialchars_decode( $settings['results_details_template'], ENT_QUOTES );
260
  } else {
261
- $template = "<h2>Quiz Results for %QUIZ_NAME%</h2>
262
  <p>%CONTACT_ALL%</p>
263
  <p>Name Provided: %USER_NAME%</p>
264
  <p>Business Provided: %USER_BUSINESS%</p>
83
  wp_add_inline_script( 'math_jax', $mlwQuizMasterNext::$default_MathJax_script, 'before' );
84
  }
85
  echo '<div style="text-align:right; margin-top: 20px; margin-bottom: 20px;">';
86
+ echo '<h3 class="result-page-title">'.esc_html__('Quiz Result','quiz-master-next').' - '. esc_html( $results_data->quiz_name ) .'</h3>';
87
  echo '<a style="margin-right: 15px;" href="?page=mlw_quiz_results" class="button button-primary" title="Return to results">'. esc_html__( 'Back to Results', 'quiz-master-next' ) .'</a>';
88
  if ( ! is_null( $previous_results ) && $previous_results ) {
89
  echo "<a class='button button-primary' title='View Previous Result' href=\"?page=qsm_quiz_result_details&&result_id=" . intval( $previous_results ) . "\" ><span class='dashicons dashicons-arrow-left-alt2'></span></a> ";
157
  $template .= '<div class="overview-main-wrapper">';
158
  //User detail
159
  $template .= '<div class="candidate-detail-wrap overview-inner-wrap">';
160
+ $template .= '<div id="submitdiv" class="postbox "><h2 class="hndle ui-sortable-handle"><span>'.__('User Detail','quiz-master-next').'</span></h2>';
161
  $template .= '<div class="inside">';
162
  if ( isset( $results_array['contact'] ) && is_array( $results_array['contact'] ) && ! empty( $results_array['contact'] ) ) {
163
  for ( $i = 0; $i < count( $results_array["contact"] ); $i++ ) {
176
  if ( isset( $results_data->form_type ) && 0 === intval( $results_data->form_type ) ) {
177
  //Scoreboard design
178
  $template .= '<div class="candidate-detail-wrap overview-inner-wrap">';
179
+ $template .= '<div id="submitdiv" class="postbox qsm-scorecard-box"><h2 class="hndle ui-sortable-handle"><span>'.__('Scorecard','quiz-master-next').'</span></h2>';
180
  $template .= '<div class="inside">';
181
+ $template .= $span_start. __( 'Correct Answers:', 'quiz-master-next' ) .'</label><span class="qsm-correct-span"> <span class="amount-correct">%AMOUNT_CORRECT%</span> '.__('Out of','quiz-master-next').' %TOTAL_QUESTIONS%</span></span>';
182
  $template .= $span_start. __( 'Points:', 'quiz-master-next' ) .'</label><span class="qsm-total-point">%POINT_SCORE% </span></span>';
183
  $template .= $span_start. __( 'Percentage:', 'quiz-master-next' ) .'</label><span class="qsm-total-percentage">%CORRECT_SCORE%%</span></span>';
184
  $template .= '</div>';
188
 
189
  //Timer design
190
  $template .= '<div class="overview-inner-wrap">';
191
+ $template .= '<div id="submitdiv" class="postbox "><h2 class="hndle ui-sortable-handle"><span>'.__('Time Taken','quiz-master-next').'</span></h2>';
192
  $template .= '<div class="inside">';
193
  $template .= '<div class="timer-div-wrapper">';
194
 
202
  } else {
203
  $template .= '<div>';
204
  $template .= '<span class="hours timer-span">00</span>';
205
+ $template .= '<span class="timer-text">'.__('hours','quiz-master-next').'</span>';
206
  $template .= '</div>';
207
  }
208
  $mlw_complete_minutes = floor(($mlw_qmn_results_array[0] % 3600) / 60);
215
  } else {
216
  $template .= '<div>';
217
  $template .= '<span class="minutes timer-span">00</span>';
218
+ $template .= '<span class="timer-text">'.__('minutes','quiz-master-next').'</span>';
219
  $template .= '</div>';
220
  }
221
 
235
 
236
  if ( 0 === intval( $comments_enabled ) ) {
237
  $template .= '<div class="comment-inner-wrap" style="">';
238
+ $template .= '<div id="submitdiv" class="postbox" ><h2 class="hndle ui-sortable-handle"><span>'.__('User Comments','quiz-master-next').'</span></h2>';
239
  $template .= '<div class="inside">';
240
  $template .= '%COMMENT_SECTION%';
241
  $template .= '</div>';
244
  }
245
  //Response div
246
  $template .= '<div class="response-inner-wrap">';
247
+ $template .= '<div id="submitdiv" class="postbox "><h2 class="hndle ui-sortable-handle"><span>'.__('Responses','quiz-master-next').'</span></h2>';
248
  $template .= '<div class="inside check">';
249
  $template .= '%QUESTIONS_ANSWERS%';
250
  $template .= '</div>';
258
  if ( isset( $settings['results_details_template'] ) ) {
259
  $template = htmlspecialchars_decode( $settings['results_details_template'], ENT_QUOTES );
260
  } else {
261
+ $template = "<h2>".__('Quiz Results for','quiz-master-next')." %QUIZ_NAME%</h2>
262
  <p>%CONTACT_ALL%</p>
263
  <p>Name Provided: %USER_NAME%</p>
264
  <p>Business Provided: %USER_BUSINESS%</p>
php/admin/options-page-questions-tab.php CHANGED
@@ -29,9 +29,8 @@ add_action( 'plugins_loaded', 'qsm_settings_questions_tab', 5 );
29
  * @since 4.4.0
30
  */
31
  function qsm_options_questions_tab_content() {
32
- global $wpdb;
33
- global $mlwQuizMasterNext;
34
-
35
  $question_categories = $wpdb->get_results( "SELECT DISTINCT category FROM {$wpdb->prefix}mlw_questions", 'ARRAY_A' );
36
  $enabled = get_option( 'qsm_multiple_category_enabled' );
37
 
@@ -67,26 +66,26 @@ function qsm_options_questions_tab_content() {
67
  'questions' => array(),
68
  );
69
  foreach ( $pages as $k => $val ) {
70
- $qpage = isset( $db_qpages[ $k ] ) ? $db_qpages[ $k ] : $defaultQPage;
71
- $qpage['id'] = $k + 1;
72
- $qpage['pagekey'] = ( isset( $qpage['pagekey'] ) && ! empty( $qpage['pagekey'] ) ) ? $qpage['pagekey'] : uniqid();
73
- $qpage['hide_prevbtn'] = ( isset( $qpage['hide_prevbtn'] ) && ! empty( $qpage['hide_prevbtn'] ) ) ? $qpage['hide_prevbtn'] : 0;
74
- $pages[ $k ] = array_values( $val );
75
- $qpage['questions'] = array_values( $val );
76
- $qpages[] = $qpage;
77
  }
78
  } else {
79
- $defaultQPage = array(
80
  'id' => 1,
81
  'quizID' => $quiz_id,
82
  'pagekey' => uniqid(),
83
  'hide_prevbtn' => 0,
84
  'questions' => array(),
85
  );
86
- $qpages[] = $defaultQPage;
87
  }
88
- $qpages = apply_filters( 'qsm_filter_quiz_page_attributes', $qpages, $pages );
89
- $json_data = array(
90
  'quizID' => $quiz_id,
91
  'answerText' => __( 'Answer', 'quiz-master-next' ),
92
  'nonce' => wp_create_nonce( 'wp_rest' ),
@@ -100,667 +99,701 @@ function qsm_options_questions_tab_content() {
100
  'question_bank_nonce' => wp_create_nonce( 'delete_question_question_bank_nonce' ),
101
  'single_question_nonce' => wp_create_nonce( 'delete_question_from_database' ),
102
  'rest_user_nonce' => wp_create_nonce( 'wp_rest_nonce_' . $quiz_id . '_' . get_current_user_id() ),
103
- 'default_answers' => $default_answers,
104
  );
105
  wp_localize_script( 'qsm_admin_js', 'qsmQuestionSettings', $json_data );
106
 
107
  // Load Question Types.
108
- $question_types = $mlwQuizMasterNext->pluginHelper->get_question_type_options();
109
- $question_types_categorized = $mlwQuizMasterNext->pluginHelper->categorize_question_types();
110
 
111
  // Display warning if using competing options.
112
  $pagination = $mlwQuizMasterNext->pluginHelper->get_section_setting( 'quiz_options', 'pagination' );
113
  if ( 0 != $pagination ) {
114
  ?>
115
- <div class="notice notice-warning">
116
- <p><?php esc_html_e( 'This quiz has the "How many questions per page would you like?" option enabled. The pages below will not be used while that option is enabled. To turn off, go to the "Options" tab and set that option to 0.', 'quiz-master-next' ); ?></p>
117
- </div>
118
  <?php
119
  }
120
  $from_total = $mlwQuizMasterNext->pluginHelper->get_section_setting( 'quiz_options', 'question_from_total' );
121
  if ( 0 != $from_total ) {
122
  ?>
123
- <div class="notice notice-warning">
124
- <p><?php esc_html_e( 'This quiz has the "How many questions should be loaded for quiz?" option enabled. The pages below will not be used while that option is enabled. To turn off, go to the "Options" tab and set that option to 0.', 'quiz-master-next' ); ?></p>
125
- </div>
126
  <?php
127
  }
128
  $randomness = $mlwQuizMasterNext->pluginHelper->get_section_setting( 'quiz_options', 'randomness_order' );
129
  if ( 0 != $randomness ) {
130
  ?>
131
- <div class="notice notice-warning">
132
- <p><?php esc_html_e( 'This quiz has the "Are the questions random?" option enabled. The pages below will not be used while that option is enabled. To turn off, go to the "Options" tab and set that option to "No".', 'quiz-master-next' ); ?></p>
133
- </div>
134
  <?php
135
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
136
  ?>
137
- <div class="question-controls">
138
- <span><b><?php esc_html_e( 'Total Questions:', 'quiz-master-next' ); ?></b> <span id="total-questions"></span></span>
139
- <p class="search-box">
140
- <label class="screen-reader-text" for="question_search">Search Questions:</label>
141
- <input type="search" id="question_search" name="question_search" value="" placeholder="<?php esc_html_e( 'Search Questions', 'quiz-master-next' ); ?>">
142
- </p>
143
- </div>
144
- <div class="questions quiz_form_type_<?php echo esc_attr( $form_type ); ?> quiz_quiz_systen_<?php echo esc_attr( $quiz_system ); ?>">
145
- <div class="qsm-showing-loader" style="text-align: center;margin-bottom: 20px;">
146
- <div class="qsm-spinner-loader"></div>
147
  </div>
148
- </div>
149
- <div class="question-create-page">
150
- <div>
151
- <button class="new-page-button button button-primary"><span class="dashicons dashicons-plus-alt2"></span>
152
- <?php esc_html_e( 'Create New Page', 'quiz-master-next' ); ?></button>
153
- <button style="display: none;"
154
- class="save-page-button button button-primary"><?php esc_html_e( 'Save Questions and Pages', 'quiz-master-next' ); ?></button>
155
- <span class="spinner" id="save-edit-quiz-pages" style="float: none;"></span>
156
  </div>
157
- </div>
158
- <!-- Popup for question bank -->
159
- <div class="qsm-popup qsm-popup-slide qsm-standard-popup qsm-popup-bank" id="modal-2" aria-hidden="true">
160
- <div class="qsm-popup__overlay" tabindex="-1" data-micromodal-close>
161
- <div class="qsm-popup__container" role="dialog" aria-modal="true" aria-labelledby="modal-1-title">
162
- <header class="qsm-popup__header qsm-question-bank-header">
163
- <h2 class="qsm-popup__title" id="modal-2-title"><?php esc_html_e( 'Question Bank', 'quiz-master-next' ); ?></h2>
164
- <a class="qsm-popup__close" aria-label="Close modal" data-micromodal-close></a>
165
- </header>
166
- <main class="qsm-popup__content" id="modal-2-content">
167
- <input type="hidden" name="add-question-bank-page" id="add-question-bank-page" value="">
168
- <div class="qsm-question-bank-filters">
169
- <div class="qsm-question-bank-select">
170
- <label class="qsm-select-all-label"><input type="checkbox" id="qsm_select_all_question" /> <?php esc_html_e( 'Select All Question', 'quiz-master-next' ); ?></label>
171
- </div>
172
- <div class="qsm-question-bank-search">
173
- <form action="" method="post" id="question-bank-search-form"><input type="search" name="search" value="" id="question-bank-search-input" placeholder="<?php esc_html_e( 'Search questions', 'quiz-master-next' ); ?>"></form>
174
- <select name="question-bank-cat" id="question-bank-cat">
175
- <option value=""><?php esc_html_e( 'All Categories', 'quiz-master-next' ); ?></option>
176
- </select>
177
- </div>
178
- </div>
179
- <div id="question-bank"></div>
180
- </main>
181
- <footer class="qsm-popup__footer qsm-question-bank-footer">
182
- <a href="javascript:void(0)" class="qsm-action-link-delete" id="qsm-delete-selected-question"><?php esc_html_e( 'Delete from Question Bank', 'quiz-master-next' ); ?></a>
183
- <button class="button button-primary" id="qsm-import-selected-question"><?php esc_html_e( 'Add Questions', 'quiz-master-next' ); ?></button>
184
- </footer>
185
  </div>
186
  </div>
187
- </div>
188
-
189
-
190
- <!-- Popup for editing question -->
191
- <div class="qsm-popup qsm-popup-slide" id="modal-1" aria-hidden="true">
192
- <div class="qsm-popup__overlay" tabindex="-1" data-micromodal-close>
193
- <div class="qsm-popup__container" role="dialog" aria-modal="true" aria-labelledby="modal-1-title">
194
- <header class="qsm-popup__header">
195
- <h2 class="qsm-popup__title" id="modal-1-title"><?php esc_html_e( 'Edit Question', 'quiz-master-next' ); ?> [
196
- ID:
197
- <span id="edit-question-id"></span> ]
198
- </h2>
199
- <a class="qsm-popup__close" aria-label="Close modal" data-micromodal-close></a>
200
- </header>
201
- <main class="qsm-popup__content" id="modal-1-content">
202
- <input type="hidden" name="edit_question_id" id="edit_question_id" value="">
203
- <div id="poststuff">
204
- <div id="post-body" class="metabox-holder columns-2">
205
- <div id="post-body-content" style="position: relative;">
206
- <div class="qsm-row">
207
- <input type="text" id="question_title" class="question-title" name="question-title"
208
- value=""
209
- placeholder="<?php esc_attr_e( 'Type your question here', 'quiz-master-next' ); ?>">
210
- </div>
211
- <a href="javascript:void(0)" class="qsm-show-question-desc-box">+ <?php esc_html_e( 'Edit description', 'quiz-master-next' ); ?></a>
212
- <div class="qsm-row qsm-editor-wrap" style="display: none;">
213
- <a href="javascript:void(0)" class="qsm-hide-question-desc-box">- <?php esc_html_e( 'Hide description', 'quiz-master-next' ); ?></a>
214
- <textarea placeholder="<?php esc_attr_e( 'Add your description here', 'quiz-master-next' ); ?>" id="question-text"></textarea>
215
- </div>
216
- <div class="qsm-row" style="margin-bottom: 0;">
217
  <?php
218
- $description_arr = array(
219
- array(
220
- 'question_type_id' => 11,
221
- 'description' => __( 'For this question type, users will see a file upload field on front end.', 'quiz-master-next' ),
222
- ),
223
- array(
224
- 'question_type_id' => '14',
225
- 'description' => __( 'Use %BLANK% variable in the description field to display input boxes.', 'quiz-master-next' ),
226
- ),
227
- array(
228
- 'question_type_id' => '12',
229
- 'description' => __( 'For this question type, users will see a date input field on front end.', 'quiz-master-next' ),
230
- ),
231
- array(
232
- 'question_type_id' => '3',
233
- 'description' => __( 'For this question type, users will see a standard input box on front end.', 'quiz-master-next' ),
234
- ),
235
- array(
236
- 'question_type_id' => '5',
237
- 'description' => __( 'For this question type, users will see a standard textarea input box on front end.', 'quiz-master-next' ),
238
- ),
239
- array(
240
- 'question_type_id' => '6',
241
- 'description' => __( 'Displays a simple section on front end. Description is mandatory. ', 'quiz-master-next' ),
242
- ),
243
- array(
244
- 'question_type_id' => '7',
245
- 'description' => __( 'For this question type, users will see an input box which accepts only number values on front end.', 'quiz-master-next' ),
246
- ),
247
- array(
248
- 'question_type_id' => '8',
249
- 'description' => __( "For this question type, users will see a checkbox on front end. The text in description field will act like it's label.", 'quiz-master-next' ),
250
- ),
251
- array(
252
- 'question_type_id' => '9',
253
- 'description' => __( 'For this question type, users will see a Captcha field on front end.', 'quiz-master-next' ),
254
- ),
255
- // array(
256
- // 'question_type_id' => '13',
257
- // 'description' => __( 'Use points based grading system for Polar questions.', 'quiz-master-next' ),
258
- // ),
259
- );
260
- foreach ( $question_types as $type ) {
261
- if ( isset( $type['options']['description'] ) && null !== $type['options']['description'] ) {
262
- $description = array(
263
- 'question_type_id' => $type['slug'],
264
- 'description' => $type['options']['description'],
265
- );
266
- array_push( $description_arr, $description );
267
- }
268
- }
269
- // disabling polar for form type quiz and system correct/incorrect
270
- if ( 0 === intval( $form_type ) && 0 === intval( $quiz_system ) ) {
271
- $polar_class = $polar_question_use = '';
272
- $description_arr[] = array(
273
- 'question_type_id' => '13',
274
- 'description' => __( 'Use points based grading system for Polar questions.', 'quiz-master-next' ),
275
- );
276
- } else {
277
- $polar_class = 'qsm_show_question_type_13';
278
- $polar_question_use = ',13';
279
- }
280
-
281
- $show_answer_option = '';
282
- foreach ( $question_types as $type ) {
283
- if ( isset( $type['options']['show_answer_option'] ) && $type['options']['show_answer_option'] ) {
284
- $show_answer_option .= ' qsm_show_question_type_' . $type['slug'];
285
- }
286
- }
287
-
288
- $description_arr = apply_filters( 'qsm_question_type_description', $description_arr );
289
- if ( $description_arr ) {
290
- foreach ( $description_arr as $value ) {
291
- $question_type_id = $value['question_type_id'];
292
- ?><p id="question_type_<?php echo esc_attr( $question_type_id ); ?>_description" class="question-type-description"><?php echo esc_attr( $value['description'] ); ?></p><?php
293
- }
294
  }
295
  ?>
296
- </div>
297
- <div id="qsm_optoins_wrapper" class="qsm-row qsm_hide_for_other qsm_show_question_type_0 qsm_show_question_type_1 qsm_show_question_type_2 qsm_show_question_type_3 qsm_show_question_type_4 qsm_show_question_type_5 qsm_show_question_type_7 qsm_show_question_type_10 qsm_show_question_type_12 qsm_show_question_type_14 <?php echo apply_filters('qsm_polar_class',esc_attr( $polar_class . $show_answer_option )); ?>">
298
- <div class="correct-header"><?php esc_html_e( 'Correct', 'quiz-master-next' ); ?></div>
299
- <div class="answers" id="answers">
 
 
 
 
 
 
 
 
300
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
301
  </div>
302
- <div class="new-answer-button">
303
- <a href="javascript:void(0)" class="qsm-dashed-btn qsm-block-btn" id="new-answer-button">+ <?php esc_html_e( 'Add New Answer!', 'quiz-master-next' ); ?></a>
 
 
304
  </div>
305
- <?php do_action('qsm_after_options'); ?>
306
- </div>
307
- <div class="qsm-question-misc-options advanced-content">
308
- <?php
309
- $show_correct_answer_info = '';
310
- $show_autofill = '';
311
- $show_case_sensitive = '';
312
- $show_limit_text = '';
313
- $show_limit_multiple_response = '';
314
- $show_file_upload_type = '';
315
- $show_file_upload_limit = '';
316
- foreach ( $question_types as $type ) {
317
- if ( isset( $type['options']['show_correct_answer_info'] ) && $type['options']['show_correct_answer_info'] ) {
318
- $show_correct_answer_info .= ',' . $type['slug'];
319
- }
320
- if ( isset( $type['options']['show_autofill'] ) && $type['options']['show_autofill'] ) {
321
- $show_autofill .= ',' . $type['slug'];
322
- }
323
- if ( isset( $type['options']['show_case_sensitive'] ) && $type['options']['show_case_sensitive'] ) {
324
- $show_case_sensitive .= ',' . $type['slug'];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
325
  }
326
- if ( isset( $type['options']['show_limit_text'] ) && $type['options']['show_limit_text'] ) {
327
- $show_limit_text .= ',' . $type['slug'];
 
 
 
 
 
 
 
 
328
  }
329
- if ( isset( $type['options']['show_limit_multiple_response'] ) && $type['options']['show_limit_multiple_response'] ) {
330
- $show_limit_multiple_response .= ',' . $type['slug'];
 
 
 
 
331
  }
332
- if ( isset( $type['options']['show_file_upload_type'] ) && $type['options']['show_file_upload_type'] ) {
333
- $show_file_upload_type .= ',' . $type['slug'];
 
 
 
 
 
334
  }
335
- if ( isset( $type['options']['show_file_upload_limit'] ) && $type['options']['show_file_upload_limit'] ) {
336
- $show_file_upload_limit .= ',' . $type['slug'];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
337
  }
338
- }
339
- $advanced_question_option = array(
340
- 'correct_answer_info' => array(
341
- 'heading' => __( 'Correct Answer Info', 'quiz-master-next' ),
342
- 'type' => 'textarea',
343
- 'default' => '',
344
- 'priority' => '2',
345
- 'show' => '0,1,2,3,4,5,7,10,12,14' . $polar_question_use . $show_correct_answer_info,
346
- 'documentation_link' => qsm_get_plugin_link('docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'correct_answer_info', 'quizsurvey-correct_answer_info_doc'),
347
- ),
348
- 'image_size' => array(
349
- 'heading' => __( 'Set custom image size', 'quiz-master-next' ),
350
- 'type' => 'multi_text',
351
- 'priority' => '2',
352
- 'options' => array(
353
- 'width' => __( 'Width ', 'quiz-master-next' ),
354
- 'height' => __( 'Height', 'quiz-master-next' ),
355
  ),
356
- 'default' => '',
357
- 'show' => '',
358
- 'documentation_link' => 'https://quizandsurveymaster.com/docs/creating-quizzes-and-surveys/adding-and-editing-questions/#7-set-custom-image-size',
359
- ),
360
- 'comments' => array(
361
- 'heading' => __( 'Comment Box', 'quiz-master-next' ),
362
- 'label' => __( 'Field Type', 'quiz-master-next' ),
363
- 'type' => 'select',
364
- 'priority' => '3',
365
- 'options' => array(
366
- '0' => __( 'Small Text Field', 'quiz-master-next' ),
367
- '2' => __( 'Large Text Field', 'quiz-master-next' ),
368
- '1' => __( 'None', 'quiz-master-next' ),
369
  ),
370
- 'default' => '1',
371
- 'documentation_link' => qsm_get_plugin_link('docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'comment-box', 'quizsurvey-comment-box_doc'),
372
- ),
373
- 'hint' => array(
374
- 'heading' => __( 'Hint', 'quiz-master-next' ),
375
- 'label' => __( 'Hint Text', 'quiz-master-next' ),
376
- 'type' => 'text',
377
- 'default' => '',
378
- 'priority' => '4',
379
- 'documentation_link' => qsm_get_plugin_link('docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'hints', 'quizsurvey-hints_doc'),
380
- ),
381
- 'autofill' => array(
382
- 'heading' => __( 'Autofill', 'quiz-master-next' ),
383
- 'label' => __( 'Hide Autofill?', 'quiz-master-next' ),
384
- 'type' => 'single_checkbox',
385
- 'priority' => '6',
386
- 'options' => array(
387
- '1' => __( 'Yes', 'quiz-master-next' ),
388
  ),
389
- 'default' => '0',
390
- 'show' => '3, 14' . $show_autofill,
391
- 'documentation_link' => qsm_get_plugin_link('docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'autofill', 'quizsurvey-autofill_doc'),
392
- ),
393
- 'case_sensitive' => array(
394
- 'heading' => __( 'Case Sensitivity', 'quiz-master-next' ),
395
- 'label' => __( 'Require correct input of uppercase and lowercase letters', 'quiz-master-next' ),
396
- 'type' => 'single_checkbox',
397
- 'priority' => '1',
398
- 'options' => array(
399
- '1' => __( 'Yes', 'quiz-master-next' ),
400
  ),
401
- 'default' => '0',
402
- 'show' => '14' .$show_case_sensitive,
403
-
404
- ),
405
- 'limit_text' => array(
406
- 'heading' => __( 'Limit Text', 'quiz-master-next' ),
407
- 'label' => __( 'Maximum number of characters allowed', 'quiz-master-next' ),
408
- 'type' => 'text',
409
- 'priority' => '7',
410
- 'default' => '',
411
- 'show' => '3, 5, 7, 14' . $show_limit_text,
412
- 'documentation_link' => qsm_get_plugin_link('docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'limit_text', 'quizsurvey-limit_text_doc'),
413
- ),
414
- 'limit_multiple_response' => array(
415
- 'heading' => __( 'Limit Multiple choice', 'quiz-master-next' ),
416
- 'label' => __( 'Maximum number of choice selection allowed', 'quiz-master-next' ),
417
- 'type' => 'text',
418
- 'priority' => '8',
419
- 'default' => '',
420
- 'show' => '4,10' . $show_limit_multiple_response,
421
- 'documentation_link' => qsm_get_plugin_link('docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'limit_multiple_response', 'quizsurvey-limit_multiple_response_doc'),
422
- ),
423
- 'file_upload_limit' => array(
424
- 'heading' => __( 'File upload limit ( in MB )', 'quiz-master-next' ),
425
- 'type' => 'number',
426
- 'priority' => '9',
427
- 'default' => '',
428
- 'show' => '11' . $show_file_upload_limit,
429
- 'documentation_link' => qsm_get_plugin_link('docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'file_upload_limit', 'quizsurvey-file_upload_limit_doc'),
430
- ),
431
- 'file_upload_type' => array(
432
- 'heading' => __( 'Allow File type', 'quiz-master-next' ),
433
- 'type' => 'multi_checkbox',
434
- 'priority' => '10',
435
- 'options' => array(
436
- 'text/plain' => __( 'Text File', 'quiz-master-next' ),
437
- 'image' => __( 'Image', 'quiz-master-next' ),
438
- 'application/pdf' => __( 'PDF File', 'quiz-master-next' ),
439
- 'doc' => __( 'Doc File', 'quiz-master-next' ),
440
- 'excel' => __( 'Excel File', 'quiz-master-next' ),
441
- 'video/mp4' => __( 'Video', 'quiz-master-next' ),
442
  ),
443
- 'default' => 'image',
444
- 'show' => '11' . $show_file_upload_type,
445
- 'documentation_link' => qsm_get_plugin_link('docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'file_upload_type', 'quizsurvey-file_upload_type_doc'),
446
- ),
447
- );
448
- $advanced_question_option = apply_filters( 'qsm_question_advanced_option', $advanced_question_option );
449
- $keys = array_column( $advanced_question_option, 'priority' );
450
- array_multisort( $keys, SORT_ASC, $advanced_question_option );
451
- foreach ( $advanced_question_option as $qo_key => $single_option ) {
452
- qsm_generate_question_option( $qo_key, $single_option );
453
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
454
 
455
- do_action( 'qsm_question_form_fields', $quiz_id );
456
- ?>
 
457
  </div>
458
- </div>
459
- <div id="postbox-container-1" class="postbox-container">
460
- <div id="side-sortables" class="meta-box-sortables ui-sortable" style="">
461
- <div id="submitdiv" class="postbox ">
462
- <h2 class="hndle ui-sortable-handle">
463
- <span><?php esc_html_e( 'Publish', 'quiz-master-next' ); ?></span>
464
- <span id="qsm-question-id"></span>
465
- </h2>
466
- <div class="inside">
467
- <div class="submitbox" id="submitpost">
468
- <div id="minor-publishing">
469
- <div class="qsm-row">
470
- <label>
471
- <?php esc_html_e( 'Question Type', 'quiz-master-next' ); ?>
472
- <?php
473
- echo '<a class="qsm-question-doc" href="' . esc_url( qsm_get_plugin_link( 'docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'question_type', 'quizsurvey-question-type_doc' ) ) . '" target="_blank" title="' . esc_html__( 'View Documentation', 'quiz-master-next' ) . '">';
474
- echo '<span class="dashicons dashicons-editor-help"></span>';
475
- echo '</a>';
476
- ?>
477
- </label>
478
- <select name="question_type" id="question_type">
479
- <?php
480
- foreach ( $question_types_categorized as $category_name => $category_items ) {
481
  ?>
482
- <optgroup label="<?php echo esc_attr( $category_name ) ?>">
483
- <?php
484
- foreach ( $category_items as $type ) {
485
- if ( isset( $type['disabled'] ) && true === $type['disabled'] ) {
486
- echo '<option disabled value="' . esc_attr( $type['slug'] ) . '">' . esc_html( $type['name'] ) . '</option>';
487
- } else {
488
- echo '<option value="' . esc_attr( $type['slug'] ) . '">' . esc_html( $type['name'] ) . '</option>';
489
- }
490
- }
491
- ?>
492
- </optgroup>
493
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
494
  }
495
- ?>
496
- </select>
497
- <a class="question_info_tag hidden" target="_blank" rel="noopener"
498
- href="<?php echo esc_url( qsm_get_plugin_link( 'docs/about-quiz-survey-master/question-types/', 'quiz_editor', 'question_type', 'quizsurvey-question-type_doc' ) );?>"><?php esc_html_e( 'How to use this option?', 'quiz-master-next' ); ?></a>
499
- <p class="hidden" id="question_type_info"></p>
500
- </div>
501
- <?php
502
- $show_change_answer_editor = '';
503
- foreach ( $question_types as $type ) {
504
- if ( isset( $type['options']['show_change_answer_editor'] ) && $type['options']['show_change_answer_editor'] ) {
505
- $show_change_answer_editor .= ',' . $type['slug'];
506
  }
507
- }
508
- $show_match_answer = '';
509
- foreach ( $question_types as $type ) {
510
- if ( isset( $type['options']['show_match_answer'] ) && $type['options']['show_match_answer'] ) {
511
- $show_match_answer .= ',' . $type['slug'];
512
  }
513
- }
514
- $simple_question_option = array(
515
- 'change-answer-editor' => array(
516
- 'label' => __( 'Answers Type', 'quiz-master-next' ),
517
- 'type' => 'select',
518
- 'priority' => '1',
519
- 'options' => array(
520
- 'text' => __( 'Text Answers', 'quiz-master-next' ),
521
- 'rich' => __( 'Rich Answers', 'quiz-master-next' ),
522
- 'image' => __( 'Image Answers', 'quiz-master-next' ),
 
 
 
 
523
  ),
524
- 'default' => 'text',
525
- 'show' => '0,1,4,13' . $show_change_answer_editor,
526
- // 'tooltip' => __('You can use text and rich answer for question answers.', 'quiz-master-next'),.
527
- 'documentation_link' => qsm_get_plugin_link( 'docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'answer_type', 'quizsurvey-answer-type_doc' ),
528
- ),
529
- 'match-answer' => array(
530
- 'label' => __( 'Match Answer', 'quiz-master-next' ),
531
- 'type' => 'select',
532
- 'priority' => '3',
533
- 'options' => array(
534
- 'random' => __( 'Randomly', 'quiz-master-next' ),
535
- 'sequence' => __( 'Sequentially', 'quiz-master-next' ),
536
  ),
537
- 'default' => 'random',
538
- 'show' => '14' . $show_match_answer,
539
- ),
540
- 'required' => array(
541
- 'label' => __( 'Required?', 'quiz-master-next' ),
542
- 'type' => 'single_checkbox',
543
- 'priority' => '2',
544
- 'options' => array(
545
- '0' => __( 'Yes', 'quiz-master-next' ),
546
  ),
547
- 'default' => '0',
548
- ),
549
- );
550
- $simple_question_option = apply_filters( 'qsm_question_format_option', $simple_question_option );
551
- $keys = array_column( $simple_question_option, 'priority' );
552
- array_multisort( $keys, SORT_ASC, $simple_question_option );
553
- foreach ( $simple_question_option as $qo_key => $single_option ) {
554
- qsm_display_question_option( $qo_key, $single_option );
555
- }
556
- ?>
557
- <div class="clear clearfix"></div>
558
- <div id="publishing-action">
559
- <span class="spinner" id="save-edit-question-spinner" style="float: none;"></span>
560
- <button id="save-popup-button" class="button button-primary">Save Question</button>
561
- </div>
562
- <div id="delete-action" style="float: none;">
563
- <a class="submitdelete deletion" data-micromodal-close aria-label="Close this">Cancel</a>
564
  </div>
565
  </div>
566
  </div>
567
  </div>
568
- </div>
569
- <div id="categorydiv" class="postbox">
570
- <h2 class="hndle ui-sortable-handle">
571
- <span><?php esc_html_e( 'Select Category', 'quiz-master-next' ); ?></span>
572
- <a class="qsm-question-doc" rel="noopener" href="<?php echo esc_url( qsm_get_plugin_link('docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'category', 'quizsurvey-category_doc') );?>" target="_blank" title="View Documentation"><span class="dashicons dashicons-editor-help"></span></a>
573
- </h2>
574
- <div class="inside">
575
- <?php
576
- $enabled_multiple_category = get_option( 'qsm_multiple_category_enabled' );
577
- if ( $enabled_multiple_category && 'cancelled' !== $enabled_multiple_category ) {
578
- $category_question_option = array(
579
- 'categories' => array(
580
- 'label' => '',
581
- 'type' => 'multi_category',
582
- 'priority' => '5',
583
- 'default' => '',
584
- ),
585
- );
586
- } else {
587
- $category_question_option = array(
588
- 'categories' => array(
589
- 'label' => '',
590
- 'type' => 'category',
591
- 'priority' => '5',
592
- 'default' => '',
593
- 'documentation_link' => qsm_get_plugin_link('docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'category', 'quizsurvey-category_doc'),
594
- ),
595
- );
596
- }
597
- $category_question_option = apply_filters( 'qsm_question_category_option', $category_question_option );
598
- $keys = array_column( $category_question_option, 'priority' );
599
- array_multisort( $keys, SORT_ASC, $category_question_option );
600
- foreach ( $category_question_option as $qo_key => $single_cat_option ) {
601
- qsm_display_question_option( $qo_key, $single_cat_option );
602
- }
603
- ?>
604
  </div>
605
- </div>
606
- <div id="featureImagediv" class="postbox">
607
- <h2 class="hndle ui-sortable-handle">
608
- <span><?php esc_html_e( 'Featured image', 'quiz-master-next' ); ?></span>
609
- </h2>
610
- <div class="inside">
611
- <?php
612
- echo '<a href="javascript:void(0)" class="qsm-feature-image-upl">' . esc_html__( 'Upload Image', 'quiz-master-next' ) . '</a>
613
  <a href="javascript:void(0)" class="qsm-feature-image-rmv" style="display:none">' . esc_html__( 'Remove Image', 'quiz-master-next' ) . '</a>'
614
- . '<input type="hidden" name="qsm-feature-image-id" class="qsm-feature-image-id" value="">'
615
- . '<input type="hidden" name="qsm-feature-image-src" class="qsm-feature-image-src" value="">';
616
- ?>
 
617
  </div>
 
618
  </div>
619
- <?php do_action( 'qsm_question_form_fields_side', $quiz_id ); ?>
620
  </div>
621
  </div>
622
  </div>
623
- </div>
624
- </main>
625
  </div>
626
  </div>
627
- </div>
628
 
629
- <!--Views-->
630
-
631
- <!-- Popup for page settings -->
632
- <div class="qsm-popup qsm-popup-slide qsm-standard-popup" id="modal-page-1" aria-hidden="true">
633
- <div class="qsm-popup__overlay" tabindex="-1" data-micromodal-close>
634
- <div class="qsm-popup__container" role="dialog" aria-modal="true" aria-labelledby="modal-1-title">
635
- <header class="qsm-popup__header">
636
- <h2 class="qsm-popup__title" id="modal-1-title"><?php esc_html_e( 'Edit Page', 'quiz-master-next' ); ?> <span
637
- style="display: none;">[ ID: <span id="edit-page-id"></span> ]</span></h2>
638
- <a class="qsm-popup__close" aria-label="Close modal" data-micromodal-close></a>
639
- </header>
640
- <main class="qsm-popup__content" id="modal-page-1-content">
641
- <input type="hidden" name="edit_page_id" id="edit_page_id" value="">
642
- <div id="page-options">
643
- <div class="qsm-row">
644
- <label><?php esc_html_e( 'Page Name', 'quiz-master-next' ); ?></label>
645
- <input type="text" id="pagekey" name="pagekey" value="">
646
- </div>
647
- <div class="qsm-row">
648
- <label><?php esc_html_e( 'Hide Previous Button?', 'quiz-master-next' ); ?></label>
649
- <select name="hide_prevbtn" id="hide_prevbtn">
650
- <option value="0" selected="selected"><?php esc_html_e( 'No', 'quiz-master-next' ); ?></option>
651
- <option value="1"><?php esc_html_e( 'Yes', 'quiz-master-next' ); ?></option>
652
- </select>
653
  </div>
654
- <?php do_action( 'qsm_action_quiz_page_attributes_fields' ); ?>
655
- </div>
656
- </main>
657
- <footer class="qsm-popup__footer">
658
- <button id="delete-page-popup-button" class="delete-page-button"><?php esc_html_e( 'Delete Page', 'quiz-master-next' ); ?></button>
659
- <button id="save-page-popup-button" class="button button-primary"><?php esc_html_e( 'Save Page', 'quiz-master-next' ); ?></button>
660
- </footer>
661
  </div>
662
  </div>
663
- </div>
664
 
665
  <?php add_action( 'admin_footer', 'qsm_options_questions_tab_template' ); ?>
666
 
667
- <div class="qsm-popup qsm-popup-slide qsm-standard-popup" id="modal-7" aria-hidden="false">
668
- <div class="qsm-popup__overlay" tabindex="-1" data-micromodal-close="">
669
- <div class="qsm-popup__container" role="dialog" aria-modal="true" aria-labelledby="modal-7-title">
670
- <header class="qsm-popup__header">
671
- <h2 class="qsm-popup__title" id="modal-7-title"><?php esc_html_e( 'Delete Options', 'quiz-master-next' ); ?></h2>
672
- <a class="qsm-popup__close" aria-label="Close modal" data-micromodal-close=""></a>
673
- </header>
674
- <main class="qsm-popup__content" id="modal-7-content">
675
- <form action='' method='post' id="delete-question-form">
676
- <table class="modal-7-table">
677
- <tr>
678
- <td><strong style="color:#00449e"><?php esc_html_e( 'Unlink', 'quiz-master-next' ); ?></strong></td>
679
- <td><?php esc_html_e( 'Removes the question only from this quiz.', 'quiz-master-next' ); ?></td>
680
- <tr>
681
- <tr>
682
- <td><strong style="color:#dc3232"><?php esc_html_e( 'Delete', 'quiz-master-next' ); ?></Strong></td>
683
- <td><?php esc_html_e( 'Removes this question from database and everywhere. This action cannot be reversed.', 'quiz-master-next' ); ?>
684
- </td>
685
- <tr>
686
- </table>
687
- </form>
688
- </main>
689
- <footer class="qsm-popup__footer">
690
- <button id="unlink-question-button" class="qsm-popup__btn qsm-popup__btn-primary"><span class="dashicons dashicons-trash"></span><?php esc_html_e( 'Unlink', 'quiz-master-next' ); ?></button>
691
- <button id="delete-question-button" class="qsm-popup__btn qsm-popup__btn-primary"><span class="dashicons dashicons-warning"></span><?php esc_html_e( 'Delete', 'quiz-master-next' ); ?></button>
692
- </footer>
 
693
  </div>
694
  </div>
695
- </div>
696
 
697
- <div class="qsm-popup qsm-popup-slide" id="modal-8" aria-hidden="false">
698
- <div class="qsm-popup__overlay" tabindex="-1" data-micromodal-close="">
699
- <div class="qsm-popup__container" role="dialog" aria-modal="true" aria-labelledby="modal-8-title">
700
- <header class="qsm-popup__header">
701
- <h3 class="qsm-popup__title" id="modal-8-title"><?php esc_html_e( 'Alert', 'quiz-master-next' ); ?>
702
- </h3>
703
- <a class="qsm-popup__close" aria-label="Close modal" data-micromodal-close=""></a>
704
- </header>
705
- <hr />
706
- <main class="qsm-popup__content" id="modal-8-content">
707
- <div class="modal-8-table">
708
- </div>
709
- </main>
710
- <hr />
711
- <footer class="qsm-popup__footer">
712
- <button id="cancel-button" class="qsm-popup__btn" data-micromodal-close=""
713
- aria-label="Close this dialog window"><?php esc_html_e( 'Cancel', 'quiz-master-next' ); ?></button>
714
- </footer>
 
715
  </div>
716
  </div>
717
- </div>
718
 
719
- <div class="qsm-popup qsm-popup-slide qsm-standard-popup" id="modal-9" aria-hidden="false">
720
- <div class="qsm-popup__overlay" tabindex="-1" data-micromodal-close="">
721
- <div class="qsm-popup__container" role="dialog" aria-modal="true" aria-labelledby="modal-9-title">
722
- <header class="qsm-popup__header">
723
- <h2 class="qsm-popup__title" id="modal-9-title"><?php esc_html_e( 'Add New Category', 'quiz-master-next' ); ?></h2>
724
- <a class="qsm-popup__close" aria-label="Close modal" data-micromodal-close=""></a>
725
- </header>
726
- <main class="qsm-popup__content" id="modal-9-content">
727
- <table class="modal-9-table">
728
- <tr>
729
- <td><?php esc_html_e( 'Category Name', 'quiz-master-next' ); ?>
730
- </td>
731
- <td><input type="text" id="new-category-name" /></td>
732
- </tr>
733
- <tr>
734
- <td><?php esc_html_e( 'Parent Category', 'quiz-master-next' ); ?></td>
735
- <td>
736
- <?php
737
- wp_dropdown_categories(
738
- array(
739
- 'taxonomy' => 'qsm_category',
740
- 'descendants_and_self' => 0,
741
- 'selected_cats' => true,
742
- 'echo' => true,
743
- 'id' => 'qsm-parent-category',
744
- 'hide_empty' => false,
745
- 'hirerichal' => 1,
746
- 'show_option_none' => 'None',
747
- 'option_none_value' => -1,
748
- 'orderby' => 'name',
749
- )
750
- );
751
- ?>
752
- </td>
753
- <tr>
754
- </table>
755
- <div class="info"></div>
756
- </main>
757
- <footer class="qsm-popup__footer">
758
- <button id="save-multi-category-button" class="qsm-popup__btn qsm-popup__btn-primary"></span><?php esc_html_e( 'Save', 'quiz-master-next' ); ?></button>
759
- </footer>
 
760
  </div>
761
  </div>
762
- </div>
763
-
764
  <?php
765
  }
766
 
@@ -1049,7 +1082,7 @@ function qsm_options_questions_tab_template() {
1049
 
1050
  <!-- View for Question -->
1051
  <script type="text/template" id="tmpl-question">
1052
- <div class="question question-new" data-question-id="{{data.id }}">
1053
  <div class="question-content">
1054
  <div><span class="dashicons dashicons-move"></span></div>
1055
  <div class="question-content-title-box">
@@ -1069,7 +1102,7 @@ function qsm_options_questions_tab_template() {
1069
 
1070
  <!-- View for question in question bank -->
1071
  <script type="text/template" id="tmpl-single-question-bank-question">
1072
- <div class="question-bank-question" data-question-id="{{data.id}}" data-category-name="{{data.category}}">
1073
  <div class="question-bank-selection">
1074
  <input type="checkbox" name="qsm-question-checkbox[]" class="qsm-question-checkbox" />
1075
  </div>
@@ -1089,6 +1122,7 @@ function qsm_options_questions_tab_template() {
1089
  <script type="text/template" id="tmpl-single-answer">
1090
  <div class="answers-single">
1091
  <div class="remove-answer-icon"><a href="javascript:void(0)" class="delete-answer-button"><span class="dashicons dashicons-remove"></span></a></div>
 
1092
  <div class="answer-text-div qsm-editor-wrap">
1093
  <# if ( 'rich' == data.answerType ) { #>
1094
  <textarea id="answer-{{data.question_id}}-{{data.count}}"></textarea>
@@ -1102,13 +1136,13 @@ function qsm_options_questions_tab_template() {
1102
  </div>
1103
  <# if ( 0 == data.form_type ) { #>
1104
  <# if ( 1 == data.quiz_system || 3 == data.quiz_system ) { #>
1105
- <div><input type="text" class="answer-points" value="{{data.points}}" placeholder="Points"/></div>
1106
  <# } #>
1107
  <# if ( 0 == data.quiz_system || 3 == data.quiz_system ) { #>
1108
- <div><label class="correct-answer"><input type="checkbox" class="answer-correct" value="1" <# if ( 1 == data.correct ) { #> checked="checked" <# } #>/><?php esc_html_e( 'Correct', 'quiz-master-next' ); ?></label></div>
1109
  <# } #>
1110
  <# } else { #>
1111
- <div><input type="text" class="answer-points" value="{{data.points}}" placeholder="Points"/></div>
1112
  <# } #>
1113
  <?php do_action( 'qsm_admin_single_answer_option_fields' ); ?>
1114
  </div>
29
  * @since 4.4.0
30
  */
31
  function qsm_options_questions_tab_content() {
32
+ global $wpdb, $mlwQuizMasterNext;
33
+ $quiz_data = $wpdb->get_results( "SELECT quiz_id, quiz_name FROM " . $wpdb->prefix . "mlw_quizzes WHERE deleted=0 ORDER BY quiz_id DESC" );
 
34
  $question_categories = $wpdb->get_results( "SELECT DISTINCT category FROM {$wpdb->prefix}mlw_questions", 'ARRAY_A' );
35
  $enabled = get_option( 'qsm_multiple_category_enabled' );
36
 
66
  'questions' => array(),
67
  );
68
  foreach ( $pages as $k => $val ) {
69
+ $qpage = isset( $db_qpages[ $k ] ) ? $db_qpages[ $k ] : $defaultQPage;
70
+ $qpage['id'] = $k + 1;
71
+ $qpage['pagekey'] = ( isset( $qpage['pagekey'] ) && ! empty( $qpage['pagekey'] ) ) ? $qpage['pagekey'] : uniqid();
72
+ $qpage['hide_prevbtn'] = ( isset( $qpage['hide_prevbtn'] ) && ! empty( $qpage['hide_prevbtn'] ) ) ? $qpage['hide_prevbtn'] : 0;
73
+ $pages[ $k ] = array_values( $val );
74
+ $qpage['questions'] = array_values( $val );
75
+ $qpages[] = $qpage;
76
  }
77
  } else {
78
+ $defaultQPage = array(
79
  'id' => 1,
80
  'quizID' => $quiz_id,
81
  'pagekey' => uniqid(),
82
  'hide_prevbtn' => 0,
83
  'questions' => array(),
84
  );
85
+ $qpages[] = $defaultQPage;
86
  }
87
+ $qpages = apply_filters( 'qsm_filter_quiz_page_attributes', $qpages, $pages );
88
+ $json_data = array(
89
  'quizID' => $quiz_id,
90
  'answerText' => __( 'Answer', 'quiz-master-next' ),
91
  'nonce' => wp_create_nonce( 'wp_rest' ),
99
  'question_bank_nonce' => wp_create_nonce( 'delete_question_question_bank_nonce' ),
100
  'single_question_nonce' => wp_create_nonce( 'delete_question_from_database' ),
101
  'rest_user_nonce' => wp_create_nonce( 'wp_rest_nonce_' . $quiz_id . '_' . get_current_user_id() ),
102
+ 'default_answers' => $default_answers,
103
  );
104
  wp_localize_script( 'qsm_admin_js', 'qsmQuestionSettings', $json_data );
105
 
106
  // Load Question Types.
107
+ $question_types = $mlwQuizMasterNext->pluginHelper->get_question_type_options();
108
+ $question_types_categorized = $mlwQuizMasterNext->pluginHelper->categorize_question_types();
109
 
110
  // Display warning if using competing options.
111
  $pagination = $mlwQuizMasterNext->pluginHelper->get_section_setting( 'quiz_options', 'pagination' );
112
  if ( 0 != $pagination ) {
113
  ?>
114
+ <div class="notice notice-warning">
115
+ <p><?php esc_html_e( 'This quiz has the "How many questions per page would you like?" option enabled. The pages below will not be used while that option is enabled. To turn off, go to the "Options" tab and set that option to 0.', 'quiz-master-next' ); ?></p>
116
+ </div>
117
  <?php
118
  }
119
  $from_total = $mlwQuizMasterNext->pluginHelper->get_section_setting( 'quiz_options', 'question_from_total' );
120
  if ( 0 != $from_total ) {
121
  ?>
122
+ <div class="notice notice-warning">
123
+ <p><?php esc_html_e( 'This quiz has the "How many questions should be loaded for quiz?" option enabled. The pages below will not be used while that option is enabled. To turn off, go to the "Options" tab and set that option to 0.', 'quiz-master-next' ); ?></p>
124
+ </div>
125
  <?php
126
  }
127
  $randomness = $mlwQuizMasterNext->pluginHelper->get_section_setting( 'quiz_options', 'randomness_order' );
128
  if ( 0 != $randomness ) {
129
  ?>
130
+ <div class="notice notice-warning">
131
+ <p><?php esc_html_e( 'This quiz has the "Are the questions random?" option enabled. The pages below will not be used while that option is enabled. To turn off, go to the "Options" tab and set that option to "No".', 'quiz-master-next' ); ?></p>
132
+ </div>
133
  <?php
134
  }
135
+
136
+ $question_ids = $mlwQuizMasterNext->pluginHelper->get_questions_ids( $quiz_id );
137
+ if ( ! empty( $question_ids ) ) {
138
+ /**
139
+ * Check for invalid Questions.
140
+ */
141
+ $q_types = array();
142
+ $invalid_types = array();
143
+ $question_types_new = $wpdb->get_results( "SELECT `question_type_new` as type FROM `{$wpdb->prefix}mlw_questions` WHERE `question_id` IN (" . implode( ',', $question_ids ) . ")" );
144
+ if ( ! empty( $question_types_new ) ) {
145
+ foreach ( $question_types_new as $data ) {
146
+ $q_types[] = $data->type;
147
+ }
148
+ }
149
+ if ( ! class_exists( 'QSM_Advance_Question' ) ) {
150
+ $invalid_types[] = 15;
151
+ $invalid_types[] = 16;
152
+ $invalid_types[] = 17;
153
+ }
154
+ if ( ! class_exists( 'QSM_Flashcards' ) ) {
155
+ $invalid_types[] = 18;
156
+ }
157
+ if ( ! empty( array_intersect( $invalid_types, $q_types ) ) ) {
158
+ ?>
159
+ <div class="notice notice-error notice-invalid-question-type">
160
+ <p><?php esc_html_e( 'This quiz contains advance question types which will be skipped on quiz page as there are no active add-ons to support these questions.', 'quiz-master-next' ); ?></p>
161
+ <p><?php esc_html_e( 'Please reactivate the related add-ons to make sure the quiz works as expected.', 'quiz-master-next' ); ?></p>
162
+ </div>
163
+ <?php
164
+ }
165
+ }
166
  ?>
167
+ <div class="question-controls">
168
+ <span><b><?php esc_html_e( 'Total Questions:', 'quiz-master-next' ); ?></b> <span id="total-questions"></span></span>
169
+ <p class="search-box">
170
+ <label class="screen-reader-text" for="question_search">Search Questions:</label>
171
+ <input type="search" id="question_search" name="question_search" value="" placeholder="<?php esc_html_e( 'Search Questions', 'quiz-master-next' ); ?>">
172
+ </p>
 
 
 
 
173
  </div>
174
+ <div class="questions quiz_form_type_<?php echo esc_attr( $form_type ); ?> quiz_quiz_systen_<?php echo esc_attr( $quiz_system ); ?>">
175
+ <div class="qsm-showing-loader" style="text-align: center;margin-bottom: 20px;">
176
+ <div class="qsm-spinner-loader"></div>
177
+ </div>
 
 
 
 
178
  </div>
179
+ <div class="question-create-page">
180
+ <div>
181
+ <button class="new-page-button button button-primary"><span class="dashicons dashicons-plus-alt2"></span>
182
+ <?php esc_html_e( 'Create New Page', 'quiz-master-next' ); ?></button>
183
+ <button style="display: none;"
184
+ class="save-page-button button button-primary"><?php esc_html_e( 'Save Questions and Pages', 'quiz-master-next' ); ?></button>
185
+ <span class="spinner" id="save-edit-quiz-pages" style="float: none;"></span>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
186
  </div>
187
  </div>
188
+ <!-- Popup for question bank -->
189
+ <div class="qsm-popup qsm-popup-slide qsm-standard-popup qsm-popup-bank" id="modal-2" aria-hidden="true">
190
+ <div class="qsm-popup__overlay" tabindex="-1" data-micromodal-close>
191
+ <div class="qsm-popup__container" role="dialog" aria-modal="true" aria-labelledby="modal-1-title">
192
+ <header class="qsm-popup__header qsm-question-bank-header">
193
+ <h2 class="qsm-popup__title" id="modal-2-title"><?php esc_html_e( 'Question Bank', 'quiz-master-next' ); ?></h2>
194
+ <a class="qsm-popup__close" aria-label="Close modal" data-micromodal-close></a>
195
+ </header>
196
+ <main class="qsm-popup__content" id="modal-2-content">
197
+ <input type="hidden" name="add-question-bank-page" id="add-question-bank-page" value="">
198
+ <div class="qsm-question-bank-filters">
199
+ <div class="qsm-question-bank-select">
200
+ <label class="qsm-select-all-label"><input type="checkbox" id="qsm_select_all_question" /> <?php esc_html_e( 'Select All Question', 'quiz-master-next' ); ?></label>
201
+ </div>
202
+ <div class="qsm-question-bank-search">
203
+ <form action="" method="post" id="question-bank-search-form">
204
+ <input type="search" name="search" value="" id="question-bank-search-input" placeholder="<?php esc_html_e( 'Search questions', 'quiz-master-next' ); ?>">
205
+ </form>
206
+ <select name="question-bank-cat" id="question-bank-cat">
207
+ <option value=""><?php esc_html_e( 'All Categories', 'quiz-master-next' ); ?></option>
208
+ </select>
209
+ <select name="question-bank-quiz" id="question-bank-quiz">
210
+ <option value=""><?php esc_html_e( 'All Quiz', 'quiz-master-next' ); ?></option>
 
 
 
 
 
 
 
211
  <?php
212
+ foreach ( $quiz_data as $quiz ) {
213
+ echo '<option value="' . esc_attr( $quiz->quiz_id ) . '">' . esc_html( $quiz->quiz_name ) . '</option>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
214
  }
215
  ?>
216
+ </select>
217
+ </div>
218
+ </div>
219
+ <div id="question-bank"></div>
220
+ </main>
221
+ <footer class="qsm-popup__footer qsm-question-bank-footer">
222
+ <a href="javascript:void(0)" class="qsm-action-link-delete" id="qsm-delete-selected-question"><?php esc_html_e( 'Delete from Question Bank', 'quiz-master-next' ); ?></a>
223
+ <button class="button button-primary" id="qsm-import-selected-question"><?php esc_html_e( 'Add Questions', 'quiz-master-next' ); ?></button>
224
+ </footer>
225
+ </div>
226
+ </div>
227
+ </div>
228
 
229
+ <!-- Popup for editing question -->
230
+ <div class="qsm-popup qsm-popup-slide" id="modal-1" aria-hidden="true">
231
+ <div class="qsm-popup__overlay" tabindex="-1" data-micromodal-close>
232
+ <div class="qsm-popup__container" role="dialog" aria-modal="true" aria-labelledby="modal-1-title">
233
+ <header class="qsm-popup__header">
234
+ <h2 class="qsm-popup__title" id="modal-1-title"><?php esc_html_e( 'Edit Question', 'quiz-master-next' ); ?> [
235
+ ID:
236
+ <span id="edit-question-id"></span> ]
237
+ </h2>
238
+ <a class="qsm-popup__close" aria-label="Close modal" data-micromodal-close></a>
239
+ </header>
240
+ <main class="qsm-popup__content" id="modal-1-content">
241
+ <input type="hidden" name="edit_question_id" id="edit_question_id" value="">
242
+ <div id="poststuff">
243
+ <div id="post-body" class="metabox-holder columns-2">
244
+ <div id="post-body-content" style="position: relative;">
245
+ <div class="qsm-row">
246
+ <input type="text" id="question_title" class="question-title" name="question-title" value="" placeholder="<?php esc_attr_e( 'Type your question here', 'quiz-master-next' ); ?>">
247
  </div>
248
+ <a href="javascript:void(0)" class="qsm-show-question-desc-box">+ <?php esc_html_e( 'Edit description', 'quiz-master-next' ); ?></a>
249
+ <div class="qsm-row qsm-editor-wrap" style="display: none;">
250
+ <a href="javascript:void(0)" class="qsm-hide-question-desc-box">- <?php esc_html_e( 'Hide description', 'quiz-master-next' ); ?></a>
251
+ <textarea placeholder="<?php esc_attr_e( 'Add your description here', 'quiz-master-next' ); ?>" id="question-text"></textarea>
252
  </div>
253
+ <div class="qsm-row" style="margin-bottom: 0;">
254
+ <?php
255
+ $description_arr = array(
256
+ array(
257
+ 'question_type_id' => 11,
258
+ 'description' => __( 'For this question type, users will see a file upload field on front end.', 'quiz-master-next' ),
259
+ ),
260
+ array(
261
+ 'question_type_id' => '14',
262
+ 'description' => __( 'Use %BLANK% variable in the description field to display input boxes.', 'quiz-master-next' ),
263
+ ),
264
+ array(
265
+ 'question_type_id' => '12',
266
+ 'description' => __( 'For this question type, users will see a date input field on front end.', 'quiz-master-next' ),
267
+ ),
268
+ array(
269
+ 'question_type_id' => '3',
270
+ 'description' => __( 'For this question type, users will see a standard input box on front end.', 'quiz-master-next' ),
271
+ ),
272
+ array(
273
+ 'question_type_id' => '5',
274
+ 'description' => __( 'For this question type, users will see a standard textarea input box on front end.', 'quiz-master-next' ),
275
+ ),
276
+ array(
277
+ 'question_type_id' => '6',
278
+ 'description' => __( 'Displays a simple section on front end. Description is mandatory. ', 'quiz-master-next' ),
279
+ ),
280
+ array(
281
+ 'question_type_id' => '7',
282
+ 'description' => __( 'For this question type, users will see an input box which accepts only number values on front end.', 'quiz-master-next' ),
283
+ ),
284
+ array(
285
+ 'question_type_id' => '8',
286
+ 'description' => __( "For this question type, users will see a checkbox on front end. The text in description field will act like it's label.", 'quiz-master-next' ),
287
+ ),
288
+ array(
289
+ 'question_type_id' => '9',
290
+ 'description' => __( 'For this question type, users will see a Captcha field on front end.', 'quiz-master-next' ),
291
+ ),
292
+ // array(
293
+ // 'question_type_id' => '13',
294
+ // 'description' => __( 'Use points based grading system for Polar questions.', 'quiz-master-next' ),
295
+ // ),
296
+ );
297
+ foreach ( $question_types as $type ) {
298
+ if ( isset( $type['options']['description'] ) && null !== $type['options']['description'] ) {
299
+ $description = array(
300
+ 'question_type_id' => $type['slug'],
301
+ 'description' => $type['options']['description'],
302
+ );
303
+ array_push( $description_arr, $description );
304
+ }
305
  }
306
+ // disabling polar for form type quiz and system correct/incorrect
307
+ if ( 0 === intval( $form_type ) && 0 === intval( $quiz_system ) ) {
308
+ $polar_class = $polar_question_use = '';
309
+ $description_arr[] = array(
310
+ 'question_type_id' => '13',
311
+ 'description' => __( 'Use points based grading system for Polar questions.', 'quiz-master-next' ),
312
+ );
313
+ } else {
314
+ $polar_class = 'qsm_show_question_type_13';
315
+ $polar_question_use = ',13';
316
  }
317
+
318
+ $show_answer_option = '';
319
+ foreach ( $question_types as $type ) {
320
+ if ( isset( $type['options']['show_answer_option'] ) && $type['options']['show_answer_option'] ) {
321
+ $show_answer_option .= ' qsm_show_question_type_' . $type['slug'];
322
+ }
323
  }
324
+
325
+ $description_arr = apply_filters( 'qsm_question_type_description', $description_arr );
326
+ if ( $description_arr ) {
327
+ foreach ( $description_arr as $value ) {
328
+ $question_type_id = $value['question_type_id'];
329
+ ?><p id="question_type_<?php echo esc_attr( $question_type_id ); ?>_description" class="question-type-description"><?php echo esc_attr( $value['description'] ); ?></p><?php
330
+ }
331
  }
332
+ ?>
333
+ </div>
334
+ <div id="qsm_optoins_wrapper" class="qsm-row qsm_hide_for_other qsm_show_question_type_0 qsm_show_question_type_1 qsm_show_question_type_2 qsm_show_question_type_3 qsm_show_question_type_4 qsm_show_question_type_5 qsm_show_question_type_7 qsm_show_question_type_10 qsm_show_question_type_12 qsm_show_question_type_14 <?php echo apply_filters( 'qsm_polar_class', esc_attr( $polar_class . $show_answer_option ) ); ?>">
335
+ <div class="correct-header"><?php esc_html_e( 'Correct', 'quiz-master-next' ); ?></div>
336
+ <div class="answers" id="answers">
337
+
338
+ </div>
339
+ <div class="new-answer-button">
340
+ <a href="javascript:void(0)" class="qsm-dashed-btn qsm-block-btn" id="new-answer-button">+ <?php esc_html_e( 'Add New Answer!', 'quiz-master-next' ); ?></a>
341
+ </div>
342
+ <?php do_action( 'qsm_after_options' ); ?>
343
+ </div>
344
+ <div class="qsm-question-misc-options advanced-content">
345
+ <?php
346
+ $show_correct_answer_info = '';
347
+ $show_autofill = '';
348
+ $show_case_sensitive = '';
349
+ $show_limit_text = '';
350
+ $show_limit_multiple_response = '';
351
+ $show_file_upload_type = '';
352
+ $show_file_upload_limit = '';
353
+ foreach ( $question_types as $type ) {
354
+ if ( isset( $type['options']['show_correct_answer_info'] ) && $type['options']['show_correct_answer_info'] ) {
355
+ $show_correct_answer_info .= ',' . $type['slug'];
356
+ }
357
+ if ( isset( $type['options']['show_autofill'] ) && $type['options']['show_autofill'] ) {
358
+ $show_autofill .= ',' . $type['slug'];
359
+ }
360
+ if ( isset( $type['options']['show_case_sensitive'] ) && $type['options']['show_case_sensitive'] ) {
361
+ $show_case_sensitive .= ',' . $type['slug'];
362
+ }
363
+ if ( isset( $type['options']['show_limit_text'] ) && $type['options']['show_limit_text'] ) {
364
+ $show_limit_text .= ',' . $type['slug'];
365
+ }
366
+ if ( isset( $type['options']['show_limit_multiple_response'] ) && $type['options']['show_limit_multiple_response'] ) {
367
+ $show_limit_multiple_response .= ',' . $type['slug'];
368
+ }
369
+ if ( isset( $type['options']['show_file_upload_type'] ) && $type['options']['show_file_upload_type'] ) {
370
+ $show_file_upload_type .= ',' . $type['slug'];
371
+ }
372
+ if ( isset( $type['options']['show_file_upload_limit'] ) && $type['options']['show_file_upload_limit'] ) {
373
+ $show_file_upload_limit .= ',' . $type['slug'];
374
+ }
375
  }
376
+ $advanced_question_option = array(
377
+ 'correct_answer_info' => array(
378
+ 'heading' => __( 'Correct Answer Info', 'quiz-master-next' ),
379
+ 'type' => 'textarea',
380
+ 'default' => '',
381
+ 'priority' => '2',
382
+ 'show' => '0,1,2,3,4,5,7,10,12,14' . $polar_question_use . $show_correct_answer_info,
383
+ 'documentation_link' => qsm_get_plugin_link( 'docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'correct_answer_info', 'quizsurvey-correct_answer_info_doc' ),
 
 
 
 
 
 
 
 
 
384
  ),
385
+ 'image_size' => array(
386
+ 'heading' => __( 'Set custom image size', 'quiz-master-next' ),
387
+ 'type' => 'multi_text',
388
+ 'priority' => '2',
389
+ 'options' => array(
390
+ 'width' => __( 'Width ', 'quiz-master-next' ),
391
+ 'height' => __( 'Height', 'quiz-master-next' ),
392
+ ),
393
+ 'default' => '',
394
+ 'show' => '',
395
+ 'documentation_link' => 'https://quizandsurveymaster.com/docs/creating-quizzes-and-surveys/adding-and-editing-questions/#7-set-custom-image-size',
 
 
396
  ),
397
+ 'comments' => array(
398
+ 'heading' => __( 'Comment Box', 'quiz-master-next' ),
399
+ 'label' => __( 'Field Type', 'quiz-master-next' ),
400
+ 'type' => 'select',
401
+ 'priority' => '3',
402
+ 'options' => array(
403
+ '0' => __( 'Small Text Field', 'quiz-master-next' ),
404
+ '2' => __( 'Large Text Field', 'quiz-master-next' ),
405
+ '1' => __( 'None', 'quiz-master-next' ),
406
+ ),
407
+ 'default' => '1',
408
+ 'documentation_link' => qsm_get_plugin_link( 'docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'comment-box', 'quizsurvey-comment-box_doc' ),
 
 
 
 
 
 
409
  ),
410
+ 'hint' => array(
411
+ 'heading' => __( 'Hint', 'quiz-master-next' ),
412
+ 'label' => __( 'Hint Text', 'quiz-master-next' ),
413
+ 'type' => 'text',
414
+ 'default' => '',
415
+ 'priority' => '4',
416
+ 'documentation_link' => qsm_get_plugin_link( 'docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'hints', 'quizsurvey-hints_doc' ),
 
 
 
 
417
  ),
418
+ 'autofill' => array(
419
+ 'heading' => __( 'Autofill', 'quiz-master-next' ),
420
+ 'label' => __( 'Hide Autofill?', 'quiz-master-next' ),
421
+ 'type' => 'single_checkbox',
422
+ 'priority' => '6',
423
+ 'options' => array(
424
+ '1' => __( 'Yes', 'quiz-master-next' ),
425
+ ),
426
+ 'default' => '0',
427
+ 'show' => '3, 14' . $show_autofill,
428
+ 'documentation_link' => qsm_get_plugin_link( 'docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'autofill', 'quizsurvey-autofill_doc' ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
429
  ),
430
+ 'case_sensitive' => array(
431
+ 'heading' => __( 'Case Sensitivity', 'quiz-master-next' ),
432
+ 'label' => __( 'Require correct input of uppercase and lowercase letters', 'quiz-master-next' ),
433
+ 'type' => 'single_checkbox',
434
+ 'priority' => '1',
435
+ 'options' => array(
436
+ '1' => __( 'Yes', 'quiz-master-next' ),
437
+ ),
438
+ 'default' => '0',
439
+ 'show' => '14' . $show_case_sensitive,
440
+ ),
441
+ 'limit_text' => array(
442
+ 'heading' => __( 'Limit Text', 'quiz-master-next' ),
443
+ 'label' => __( 'Maximum number of characters allowed', 'quiz-master-next' ),
444
+ 'type' => 'text',
445
+ 'priority' => '7',
446
+ 'default' => '',
447
+ 'show' => '3, 5, 7, 14' . $show_limit_text,
448
+ 'documentation_link' => qsm_get_plugin_link( 'docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'limit_text', 'quizsurvey-limit_text_doc' ),
449
+ ),
450
+ 'limit_multiple_response' => array(
451
+ 'heading' => __( 'Limit Multiple choice', 'quiz-master-next' ),
452
+ 'label' => __( 'Maximum number of choice selection allowed', 'quiz-master-next' ),
453
+ 'type' => 'text',
454
+ 'priority' => '8',
455
+ 'default' => '',
456
+ 'show' => '4,10' . $show_limit_multiple_response,
457
+ 'documentation_link' => qsm_get_plugin_link( 'docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'limit_multiple_response', 'quizsurvey-limit_multiple_response_doc' ),
458
+ ),
459
+ 'file_upload_limit' => array(
460
+ 'heading' => __( 'File upload limit ( in MB )', 'quiz-master-next' ),
461
+ 'type' => 'number',
462
+ 'priority' => '9',
463
+ 'default' => '',
464
+ 'show' => '11' . $show_file_upload_limit,
465
+ 'documentation_link' => qsm_get_plugin_link( 'docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'file_upload_limit', 'quizsurvey-file_upload_limit_doc' ),
466
+ ),
467
+ 'file_upload_type' => array(
468
+ 'heading' => __( 'Allow File type', 'quiz-master-next' ),
469
+ 'type' => 'multi_checkbox',
470
+ 'priority' => '10',
471
+ 'options' => array(
472
+ 'text/plain' => __( 'Text File', 'quiz-master-next' ),
473
+ 'image' => __( 'Image', 'quiz-master-next' ),
474
+ 'application/pdf' => __( 'PDF File', 'quiz-master-next' ),
475
+ 'doc' => __( 'Doc File', 'quiz-master-next' ),
476
+ 'excel' => __( 'Excel File', 'quiz-master-next' ),
477
+ 'video/mp4' => __( 'Video', 'quiz-master-next' ),
478
+ ),
479
+ 'default' => 'image',
480
+ 'show' => '11' . $show_file_upload_type,
481
+ 'documentation_link' => qsm_get_plugin_link( 'docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'file_upload_type', 'quizsurvey-file_upload_type_doc' ),
482
+ ),
483
+ );
484
+ $advanced_question_option = apply_filters( 'qsm_question_advanced_option', $advanced_question_option );
485
+ $keys = array_column( $advanced_question_option, 'priority' );
486
+ array_multisort( $keys, SORT_ASC, $advanced_question_option );
487
+ foreach ( $advanced_question_option as $qo_key => $single_option ) {
488
+ qsm_generate_question_option( $qo_key, $single_option );
489
+ }
490
 
491
+ do_action( 'qsm_question_form_fields', $quiz_id );
492
+ ?>
493
+ </div>
494
  </div>
495
+ <div id="postbox-container-1" class="postbox-container">
496
+ <div id="side-sortables" class="meta-box-sortables ui-sortable" style="">
497
+ <div id="submitdiv" class="postbox ">
498
+ <h2 class="hndle ui-sortable-handle">
499
+ <span><?php esc_html_e( 'Publish', 'quiz-master-next' ); ?></span>
500
+ <span id="qsm-question-id"></span>
501
+ </h2>
502
+ <div class="inside">
503
+ <div class="submitbox" id="submitpost">
504
+ <div id="minor-publishing">
505
+ <div class="qsm-row">
506
+ <label>
507
+ <?php esc_html_e( 'Question Type', 'quiz-master-next' ); ?>
508
+ <?php
509
+ echo '<a class="qsm-question-doc" href="' . esc_url( qsm_get_plugin_link( 'docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'question_type', 'quizsurvey-question-type_doc' ) ) . '" target="_blank" title="' . esc_html__( 'View Documentation', 'quiz-master-next' ) . '">';
510
+ echo '<span class="dashicons dashicons-editor-help"></span>';
511
+ echo '</a>';
 
 
 
 
 
 
512
  ?>
513
+ </label>
514
+ <select name="question_type" id="question_type">
 
 
 
 
 
 
 
 
 
515
  <?php
516
+ foreach ( $question_types_categorized as $category_name => $category_items ) {
517
+ ?>
518
+ <optgroup label="<?php echo esc_attr( $category_name ) ?>">
519
+ <?php
520
+ foreach ( $category_items as $type ) {
521
+ if ( isset( $type['disabled'] ) && true === $type['disabled'] ) {
522
+ echo '<option disabled value="' . esc_attr( $type['slug'] ) . '">' . esc_html( $type['name'] ) . '</option>';
523
+ } else {
524
+ echo '<option value="' . esc_attr( $type['slug'] ) . '">' . esc_html( $type['name'] ) . '</option>';
525
+ }
526
+ }
527
+ ?>
528
+ </optgroup>
529
+ <?php
530
+ }
531
+ ?>
532
+ </select>
533
+ <a class="question_info_tag hidden" target="_blank" rel="noopener"
534
+ href="<?php echo esc_url( qsm_get_plugin_link( 'docs/about-quiz-survey-master/question-types/', 'quiz_editor', 'question_type', 'quizsurvey-question-type_doc' ) ); ?>"><?php esc_html_e( 'How to use this option?', 'quiz-master-next' ); ?></a>
535
+ <p class="hidden" id="question_type_info"></p>
536
+ </div>
537
+ <?php
538
+ $show_change_answer_editor = '';
539
+ foreach ( $question_types as $type ) {
540
+ if ( isset( $type['options']['show_change_answer_editor'] ) && $type['options']['show_change_answer_editor'] ) {
541
+ $show_change_answer_editor .= ',' . $type['slug'];
542
  }
 
 
 
 
 
 
 
 
 
 
 
543
  }
544
+ $show_match_answer = '';
545
+ foreach ( $question_types as $type ) {
546
+ if ( isset( $type['options']['show_match_answer'] ) && $type['options']['show_match_answer'] ) {
547
+ $show_match_answer .= ',' . $type['slug'];
548
+ }
549
  }
550
+ $simple_question_option = array(
551
+ 'change-answer-editor' => array(
552
+ 'label' => __( 'Answers Type', 'quiz-master-next' ),
553
+ 'type' => 'select',
554
+ 'priority' => '1',
555
+ 'options' => array(
556
+ 'text' => __( 'Text Answers', 'quiz-master-next' ),
557
+ 'rich' => __( 'Rich Answers', 'quiz-master-next' ),
558
+ 'image' => __( 'Image Answers', 'quiz-master-next' ),
559
+ ),
560
+ 'default' => 'text',
561
+ 'show' => '0,1,4,13' . $show_change_answer_editor,
562
+ // 'tooltip' => __('You can use text and rich answer for question answers.', 'quiz-master-next'),.
563
+ 'documentation_link' => qsm_get_plugin_link( 'docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'answer_type', 'quizsurvey-answer-type_doc' ),
564
  ),
565
+ 'match-answer' => array(
566
+ 'label' => __( 'Match Answer', 'quiz-master-next' ),
567
+ 'type' => 'select',
568
+ 'priority' => '3',
569
+ 'options' => array(
570
+ 'random' => __( 'Randomly', 'quiz-master-next' ),
571
+ 'sequence' => __( 'Sequentially', 'quiz-master-next' ),
572
+ ),
573
+ 'default' => 'random',
574
+ 'show' => '14' . $show_match_answer,
 
 
575
  ),
576
+ 'required' => array(
577
+ 'label' => __( 'Required?', 'quiz-master-next' ),
578
+ 'type' => 'single_checkbox',
579
+ 'priority' => '2',
580
+ 'options' => array(
581
+ '0' => __( 'Yes', 'quiz-master-next' ),
582
+ ),
583
+ 'default' => '0',
 
584
  ),
585
+ );
586
+ $simple_question_option = apply_filters( 'qsm_question_format_option', $simple_question_option );
587
+ $keys = array_column( $simple_question_option, 'priority' );
588
+ array_multisort( $keys, SORT_ASC, $simple_question_option );
589
+ foreach ( $simple_question_option as $qo_key => $single_option ) {
590
+ qsm_display_question_option( $qo_key, $single_option );
591
+ }
592
+ ?>
593
+ <div class="clear clearfix"></div>
594
+ <div id="publishing-action">
595
+ <span class="spinner" id="save-edit-question-spinner" style="float: none;"></span>
596
+ <button id="save-popup-button" class="button button-primary">Save Question</button>
597
+ </div>
598
+ <div id="delete-action" style="float: none;">
599
+ <a class="submitdelete deletion" data-micromodal-close aria-label="Close this">Cancel</a>
600
+ </div>
 
601
  </div>
602
  </div>
603
  </div>
604
  </div>
605
+ <div id="categorydiv" class="postbox">
606
+ <h2 class="hndle ui-sortable-handle">
607
+ <span><?php esc_html_e( 'Select Category', 'quiz-master-next' ); ?></span>
608
+ <a class="qsm-question-doc" rel="noopener" href="<?php echo esc_url( qsm_get_plugin_link( 'docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'category', 'quizsurvey-category_doc' ) ); ?>" target="_blank" title="View Documentation"><span class="dashicons dashicons-editor-help"></span></a>
609
+ </h2>
610
+ <div class="inside">
611
+ <?php
612
+ $enabled_multiple_category = get_option( 'qsm_multiple_category_enabled' );
613
+ if ( $enabled_multiple_category && 'cancelled' !== $enabled_multiple_category ) {
614
+ $category_question_option = array(
615
+ 'categories' => array(
616
+ 'label' => '',
617
+ 'type' => 'multi_category',
618
+ 'priority' => '5',
619
+ 'default' => '',
620
+ ),
621
+ );
622
+ } else {
623
+ $category_question_option = array(
624
+ 'categories' => array(
625
+ 'label' => '',
626
+ 'type' => 'category',
627
+ 'priority' => '5',
628
+ 'default' => '',
629
+ 'documentation_link' => qsm_get_plugin_link( 'docs/creating-quizzes-and-surveys/adding-and-editing-questions/', 'quiz_editor', 'category', 'quizsurvey-category_doc' ),
630
+ ),
631
+ );
632
+ }
633
+ $category_question_option = apply_filters( 'qsm_question_category_option', $category_question_option );
634
+ $keys = array_column( $category_question_option, 'priority' );
635
+ array_multisort( $keys, SORT_ASC, $category_question_option );
636
+ foreach ( $category_question_option as $qo_key => $single_cat_option ) {
637
+ qsm_display_question_option( $qo_key, $single_cat_option );
638
+ }
639
+ ?>
640
+ </div>
641
  </div>
642
+ <div id="featureImagediv" class="postbox">
643
+ <h2 class="hndle ui-sortable-handle">
644
+ <span><?php esc_html_e( 'Featured image', 'quiz-master-next' ); ?></span>
645
+ </h2>
646
+ <div class="inside">
647
+ <?php
648
+ echo '<a href="javascript:void(0)" class="qsm-feature-image-upl">' . esc_html__( 'Upload Image', 'quiz-master-next' ) . '</a>
 
649
  <a href="javascript:void(0)" class="qsm-feature-image-rmv" style="display:none">' . esc_html__( 'Remove Image', 'quiz-master-next' ) . '</a>'
650
+ . '<input type="hidden" name="qsm-feature-image-id" class="qsm-feature-image-id" value="">'
651
+ . '<input type="hidden" name="qsm-feature-image-src" class="qsm-feature-image-src" value="">';
652
+ ?>
653
+ </div>
654
  </div>
655
+ <?php do_action( 'qsm_question_form_fields_side', $quiz_id ); ?>
656
  </div>
 
657
  </div>
658
  </div>
659
  </div>
660
+ </main>
661
+ </div>
662
  </div>
663
  </div>
 
664
 
665
+ <!-- Popup for page settings -->
666
+ <div class="qsm-popup qsm-popup-slide qsm-standard-popup" id="modal-page-1" aria-hidden="true">
667
+ <div class="qsm-popup__overlay" tabindex="-1" data-micromodal-close>
668
+ <div class="qsm-popup__container" role="dialog" aria-modal="true" aria-labelledby="modal-1-title">
669
+ <header class="qsm-popup__header">
670
+ <h2 class="qsm-popup__title" id="modal-1-title"><?php esc_html_e( 'Edit Page', 'quiz-master-next' ); ?> <span
671
+ style="display: none;">[ ID: <span id="edit-page-id"></span> ]</span></h2>
672
+ <a class="qsm-popup__close" aria-label="Close modal" data-micromodal-close></a>
673
+ </header>
674
+ <main class="qsm-popup__content" id="modal-page-1-content">
675
+ <input type="hidden" name="edit_page_id" id="edit_page_id" value="">
676
+ <div id="page-options">
677
+ <div class="qsm-row">
678
+ <label><?php esc_html_e( 'Page Name', 'quiz-master-next' ); ?></label>
679
+ <input type="text" id="pagekey" name="pagekey" value="">
680
+ </div>
681
+ <div class="qsm-row">
682
+ <label><?php esc_html_e( 'Hide Previous Button?', 'quiz-master-next' ); ?></label>
683
+ <select name="hide_prevbtn" id="hide_prevbtn">
684
+ <option value="0" selected="selected"><?php esc_html_e( 'No', 'quiz-master-next' ); ?></option>
685
+ <option value="1"><?php esc_html_e( 'Yes', 'quiz-master-next' ); ?></option>
686
+ </select>
687
+ </div>
688
+ <?php do_action( 'qsm_action_quiz_page_attributes_fields' ); ?>
689
  </div>
690
+ </main>
691
+ <footer class="qsm-popup__footer">
692
+ <button id="delete-page-popup-button" class="delete-page-button"><?php esc_html_e( 'Delete Page', 'quiz-master-next' ); ?></button>
693
+ <button id="save-page-popup-button" class="button button-primary"><?php esc_html_e( 'Save Page', 'quiz-master-next' ); ?></button>
694
+ </footer>
695
+ </div>
 
696
  </div>
697
  </div>
 
698
 
699
  <?php add_action( 'admin_footer', 'qsm_options_questions_tab_template' ); ?>
700
 
701
+ <div class="qsm-popup qsm-popup-slide qsm-standard-popup" id="modal-7" aria-hidden="false">
702
+ <div class="qsm-popup__overlay" tabindex="-1" data-micromodal-close="">
703
+ <div class="qsm-popup__container" role="dialog" aria-modal="true" aria-labelledby="modal-7-title">
704
+ <header class="qsm-popup__header">
705
+ <h2 class="qsm-popup__title" id="modal-7-title"><?php esc_html_e( 'Delete Options', 'quiz-master-next' ); ?></h2>
706
+ <a class="qsm-popup__close" aria-label="Close modal" data-micromodal-close=""></a>
707
+ </header>
708
+ <main class="qsm-popup__content" id="modal-7-content">
709
+ <form action='' method='post' id="delete-question-form">
710
+ <table class="modal-7-table">
711
+ <tr>
712
+ <td><strong style="color:#00449e"><?php esc_html_e( 'Unlink', 'quiz-master-next' ); ?></strong></td>
713
+ <td><?php esc_html_e( 'Removes the question only from this quiz.', 'quiz-master-next' ); ?></td>
714
+ <tr>
715
+ <tr>
716
+ <td><strong style="color:#dc3232"><?php esc_html_e( 'Delete', 'quiz-master-next' ); ?></Strong></td>
717
+ <td><?php esc_html_e( 'Removes this question from database and everywhere. This action cannot be reversed.', 'quiz-master-next' ); ?>
718
+ </td>
719
+ <tr>
720
+ </table>
721
+ </form>
722
+ </main>
723
+ <footer class="qsm-popup__footer">
724
+ <button id="unlink-question-button" class="qsm-popup__btn qsm-popup__btn-primary"><span class="dashicons dashicons-trash"></span><?php esc_html_e( 'Unlink', 'quiz-master-next' ); ?></button>
725
+ <button id="delete-question-button" class="qsm-popup__btn qsm-popup__btn-primary"><span class="dashicons dashicons-warning"></span><?php esc_html_e( 'Delete', 'quiz-master-next' ); ?></button>
726
+ </footer>
727
+ </div>
728
  </div>
729
  </div>
 
730
 
731
+ <div class="qsm-popup qsm-popup-slide" id="modal-8" aria-hidden="false">
732
+ <div class="qsm-popup__overlay" tabindex="-1" data-micromodal-close="">
733
+ <div class="qsm-popup__container" role="dialog" aria-modal="true" aria-labelledby="modal-8-title">
734
+ <header class="qsm-popup__header">
735
+ <h3 class="qsm-popup__title" id="modal-8-title"><?php esc_html_e( 'Alert', 'quiz-master-next' ); ?>
736
+ </h3>
737
+ <a class="qsm-popup__close" aria-label="Close modal" data-micromodal-close=""></a>
738
+ </header>
739
+ <hr />
740
+ <main class="qsm-popup__content" id="modal-8-content">
741
+ <div class="modal-8-table">
742
+ </div>
743
+ </main>
744
+ <hr />
745
+ <footer class="qsm-popup__footer">
746
+ <button id="cancel-button" class="qsm-popup__btn" data-micromodal-close=""
747
+ aria-label="Close this dialog window"><?php esc_html_e( 'Cancel', 'quiz-master-next' ); ?></button>
748
+ </footer>
749
+ </div>
750
  </div>
751
  </div>
 
752
 
753
+ <div class="qsm-popup qsm-popup-slide qsm-standard-popup" id="modal-9" aria-hidden="false">
754
+ <div class="qsm-popup__overlay" tabindex="-1" data-micromodal-close="">
755
+ <div class="qsm-popup__container" role="dialog" aria-modal="true" aria-labelledby="modal-9-title">
756
+ <header class="qsm-popup__header">
757
+ <h2 class="qsm-popup__title" id="modal-9-title"><?php esc_html_e( 'Add New Category', 'quiz-master-next' ); ?></h2>
758
+ <a class="qsm-popup__close" aria-label="Close modal" data-micromodal-close=""></a>
759
+ </header>
760
+ <main class="qsm-popup__content" id="modal-9-content">
761
+ <table class="modal-9-table">
762
+ <tr>
763
+ <td><?php esc_html_e( 'Category Name', 'quiz-master-next' ); ?>
764
+ </td>
765
+ <td><input type="text" id="new-category-name" /></td>
766
+ </tr>
767
+ <tr>
768
+ <td><?php esc_html_e( 'Parent Category', 'quiz-master-next' ); ?></td>
769
+ <td>
770
+ <?php
771
+ wp_dropdown_categories(
772
+ array(
773
+ 'taxonomy' => 'qsm_category',
774
+ 'descendants_and_self' => 0,
775
+ 'selected_cats' => true,
776
+ 'echo' => true,
777
+ 'id' => 'qsm-parent-category',
778
+ 'hide_empty' => false,
779
+ 'hirerichal' => 1,
780
+ 'show_option_none' => 'None',
781
+ 'option_none_value' => -1,
782
+ 'orderby' => 'name',
783
+ )
784
+ );
785
+ ?>
786
+ </td>
787
+ <tr>
788
+ </table>
789
+ <div class="info"></div>
790
+ </main>
791
+ <footer class="qsm-popup__footer">
792
+ <button id="save-multi-category-button" class="qsm-popup__btn qsm-popup__btn-primary"></span><?php esc_html_e( 'Save', 'quiz-master-next' ); ?></button>
793
+ </footer>
794
+ </div>
795
  </div>
796
  </div>
 
 
797
  <?php
798
  }
799
 
1082
 
1083
  <!-- View for Question -->
1084
  <script type="text/template" id="tmpl-question">
1085
+ <div class="question question-new" data-question-id="{{data.id}}" data-question-type="{{data.type}}">
1086
  <div class="question-content">
1087
  <div><span class="dashicons dashicons-move"></span></div>
1088
  <div class="question-content-title-box">
1102
 
1103
  <!-- View for question in question bank -->
1104
  <script type="text/template" id="tmpl-single-question-bank-question">
1105
+ <div class="question-bank-question" data-question-id="{{data.id}}" data-category-name="{{data.category}}" data-question-type="{{data.type}}">
1106
  <div class="question-bank-selection">
1107
  <input type="checkbox" name="qsm-question-checkbox[]" class="qsm-question-checkbox" />
1108
  </div>
1122
  <script type="text/template" id="tmpl-single-answer">
1123
  <div class="answers-single">
1124
  <div class="remove-answer-icon"><a href="javascript:void(0)" class="delete-answer-button"><span class="dashicons dashicons-remove"></span></a></div>
1125
+ <?php do_action( 'qsm_admin_single_answer_option_fields_before' ); ?>
1126
  <div class="answer-text-div qsm-editor-wrap">
1127
  <# if ( 'rich' == data.answerType ) { #>
1128
  <textarea id="answer-{{data.question_id}}-{{data.count}}"></textarea>
1136
  </div>
1137
  <# if ( 0 == data.form_type ) { #>
1138
  <# if ( 1 == data.quiz_system || 3 == data.quiz_system ) { #>
1139
+ <div class="answer-point-div"><input type="text" class="answer-points" value="{{data.points}}" placeholder="Points"/></div>
1140
  <# } #>
1141
  <# if ( 0 == data.quiz_system || 3 == data.quiz_system ) { #>
1142
+ <div class="answer-correct-div"><label class="correct-answer"><input type="checkbox" class="answer-correct" value="1" <# if ( 1 == data.correct ) { #> checked="checked" <# } #>/><?php esc_html_e( 'Correct', 'quiz-master-next' ); ?></label></div>
1143
  <# } #>
1144
  <# } else { #>
1145
+ <div class="answer-point-div"><input type="text" class="answer-points" value="{{data.points}}" placeholder="Points"/></div>
1146
  <# } #>
1147
  <?php do_action( 'qsm_admin_single_answer_option_fields' ); ?>
1148
  </div>
php/admin/options-page-style-tab.php CHANGED
@@ -62,18 +62,13 @@ function qsm_options_styling_tab_content() {
62
  <div class="qsm-sub-tab-menu" style="display: inline-block;width: 100%;">
63
  <ul class="subsubsub">
64
  <li>
65
- <a href="javascript:void(0)" data-id="qsm_themes" class="current quiz_style_tab">
66
- <?php esc_html_e( 'Themes', 'quiz-master-next' ); ?></a> |
67
  </li>
68
  <li>
69
- <a href="javascript:void(0)" data-id="custom_css" class="quiz_style_tab">
70
- <?php esc_html_e( 'Custom CSS', 'quiz-master-next' ); ?>
71
- </a> |
72
  </li>
73
  <li>
74
- <a href="javascript:void(0)" data-id="legacy" class="quiz_style_tab">
75
- <?php esc_html_e( 'Legacy', 'quiz-master-next' ); ?>
76
- </a>
77
  </li>
78
  </ul>
79
  </div>
62
  <div class="qsm-sub-tab-menu" style="display: inline-block;width: 100%;">
63
  <ul class="subsubsub">
64
  <li>
65
+ <a href="javascript:void(0)" data-id="qsm_themes" class="current quiz_style_tab"><?php esc_html_e( 'Themes', 'quiz-master-next' ); ?></a>
 
66
  </li>
67
  <li>
68
+ <a href="javascript:void(0)" data-id="custom_css" class="quiz_style_tab"><?php esc_html_e( 'Custom CSS', 'quiz-master-next' ); ?></a>
 
 
69
  </li>
70
  <li>
71
+ <a href="javascript:void(0)" data-id="legacy" class="quiz_style_tab"><?php esc_html_e( 'Legacy', 'quiz-master-next' ); ?></a>
 
 
72
  </li>
73
  </ul>
74
  </div>
php/admin/options-page-text-tab.php CHANGED
@@ -1,118 +1,202 @@
1
  <?php
2
- if ( ! defined( 'ABSPATH' ) ) exit;
 
 
3
 
4
  /**
5
- * Adds the Text tab to the Quiz Settings page.
6
- *
7
- * @return void
8
- * @since 4.4.0
9
- */
10
  function qmn_settings_text_tab() {
11
  global $mlwQuizMasterNext;
12
  $mlwQuizMasterNext->pluginHelper->register_quiz_settings_tabs( __( 'Text', 'quiz-master-next' ), 'mlw_options_text_tab_content', 'text' );
13
  }
 
14
  add_action( "plugins_loaded", 'qmn_settings_text_tab', 5 );
15
 
16
  /**
17
- * Adds the Text tab content to the tab.
18
- *
19
- * @return void
20
- * @since 4.4.0
21
- * @since 7.0 changed the design
22
- */
23
  function mlw_options_text_tab_content() {
24
  global $wpdb;
25
  global $mlwQuizMasterNext;
26
  //wp_enqueue_style( 'qmn_admin_style', QSM_PLUGIN_CSS_URL.'/qsm-admin.css' );
27
- $variable_list = qsm_text_template_variable_list();
28
  ?>
29
- <div class="qsm-text-main-wrap">
30
- <div id="poststuff">
31
- <div id="post-body" class="metabox-holder columns-2">
32
- <div class="qsm-question-text-tab" id="post-body-content" style="position: relative;">
33
- <?php
34
- $quiz_text_arr = $mlwQuizMasterNext->quiz_settings->load_setting_fields( 'quiz_text' );
35
- $editor_text_arr = $text_text_arr = array();
36
- if ( $quiz_text_arr ) {
37
- foreach ( $quiz_text_arr as $key => $single_text_arr ) {
38
- if ( 'editor' === $single_text_arr['type'] ) {
39
- $editor_text_arr[] = $single_text_arr;
40
- }else {
41
- $text_text_arr[] = $single_text_arr;
42
- }
43
- }
44
- }
45
- ?>
46
- <div class="qsm-text-header">
47
- <div class="message-dropdown">
48
- <div class="qsm-row">
49
- <label><?php esc_html_e('Select Message', 'quiz-master-next'); ?></label>
50
- <select id="qsm_question_text_message_id">
51
- <?php if ( $editor_text_arr ) {
52
- foreach ( $editor_text_arr as $key => $single_editor_arr ) {
53
- ?>
54
- <option value="<?php echo esc_attr( $single_editor_arr['id'] ); ?>"><?php echo esc_attr( $single_editor_arr['label'] ); ?></option>
55
- <?php
56
- }
57
- } ?>
58
- </select>
59
- </div>
60
- </div>
61
- <div class="save-text-changes">
62
- <span class="spinner" style="float: none;"></span>
63
- <button id="qsm_save_text_message" class="button button-primary"><?php esc_html_e('Save Text Message', 'quiz-master-next'); ?></button>
64
- </div>
65
- </div>
66
- <div class="qsm-text-conent">
67
- <div class="qsm-text-tab-message-loader" style="display: none;"><div class="qsm-spinner-loader"></div></div>
68
- <?php
69
- $value_answer = $mlwQuizMasterNext->pluginHelper->get_section_setting( 'quiz_text', $editor_text_arr[0]['id'] );
70
- wp_editor( htmlspecialchars_decode( $value_answer, ENT_QUOTES ), 'qsm_question_text_message', array( 'textarea_rows' => 10 ) );
71
- ?>
72
- </div>
73
- </div>
74
- <div id="postbox-container-1" class="postbox-container">
75
- <div class="qsm-text-header">
76
- <h5>
77
- <?php esc_html_e('Allowed Variables', 'quiz-master-next'); ?>
78
- <span class="description"><?php esc_html_e('click to insert the variable', 'quiz-master-next'); ?></span>
79
- </h5>
80
- </div>
81
- <div class="qsm-text-conent qsm-text-allowed-variables">
82
- <div class="qsm-text-tab-message-loader" style="display: none;"><div class="qsm-spinner-loader"></div></div>
83
- <div class="qsm-text-variable-wrap">
84
- <?php
85
- $allowed_variables = isset( $editor_text_arr[0]['variables'] ) ? $editor_text_arr[0]['variables'] : array();
86
- if ( $allowed_variables ) {
87
- foreach ( $allowed_variables as $variable ) { ?>
88
- <span class="qsm-text-template-span">
89
- <button class="button button-default"><?php echo wp_kses_post( $variable ); ?></button>
90
- <?php if ( isset( $variable_list[ $variable ] ) ) {
91
- ?>
92
- <span class="dashicons dashicons-editor-help qsm-tooltips-icon">
93
- <span class="qsm-tooltips"><?php echo wp_kses_post( $variable_list[ $variable ] ); ?></span>
94
- </span>
95
- <?php } ?>
96
- </span>
97
- <?php
98
- }
99
- }
100
- ?>
101
- </div>
102
- </div>
103
- </div>
104
- </div>
105
- </div>
106
- <div class="qsm_text_customize_label"><?php esc_html_e('Customize Labels', 'quiz-master-next'); ?> <span class="dashicons dashicons-arrow-down-alt"></span></div>
107
- </div>
108
- <div class="qsm-text-label-wrapper">
109
- <h2><?php esc_html_e("Customize Labels", 'quiz-master-next'); ?></h2>
110
- <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
111
 
112
- $mlwQuizMasterNext->pluginHelper->generate_settings_section( 'quiz_text', $text_text_arr );
113
- ?>
114
- </div>
115
- <?php
116
  }
117
 
118
  /**
@@ -120,46 +204,47 @@ function mlw_options_text_tab_content() {
120
  * @global object $mlwQuizMasterNext
121
  * @since 7.0
122
  */
123
- function qsm_get_question_text_message(){
124
- global $mlwQuizMasterNext;
125
- $text_id = isset( $_POST['text_id'] ) ? sanitize_text_field( wp_unslash( $_POST['text_id'] ) ) : '';
126
- if ( '' === $text_id ) {
127
- echo wp_json_encode( array(
128
  'success' => false,
129
- 'message' => __('Text id is missing.', 'quiz-master-next'),
130
  ) );
131
- exit;
132
- } else {
133
- $settings = $mlwQuizMasterNext->pluginHelper->get_section_setting( 'quiz_text', $text_id );
134
- $quiz_text_arr = $mlwQuizMasterNext->quiz_settings->load_setting_fields( 'quiz_text' );
135
- $key = array_search( $text_id, array_column( $quiz_text_arr, 'id' ), true );
136
- $allowed_text = '';
137
- if ( isset( $quiz_text_arr[ $key ] ) ) {
138
- $variable_list = qsm_text_template_variable_list();
139
  /**
140
  * Filter allowed variables for Text Tab options.
141
  */
142
- $quiz_text_allowed_variables = apply_filters('qsm_text_allowed_variables', $quiz_text_arr[ $key ]['variables'], $key);
143
- foreach ( $quiz_text_allowed_variables as $variable ) {
144
- $allowed_text .= '<span class="qsm-text-template-span">';
145
- $allowed_text .= '<button class="button button-default">'. $variable .'</button>';
146
- if ( isset( $variable_list[ $variable ] ) ) {
147
- $allowed_text .= '<span class="dashicons dashicons-editor-help qsm-tooltips-icon">';
148
- $allowed_text .= '<span class="qsm-tooltips">'. $variable_list[ $variable ] . '</span>';
149
- $allowed_text .= '</span>';
150
- }
151
- $allowed_text .= '</span>';
152
- }
153
- }
154
- $return = array(
155
- 'text_message' => $settings,
156
- 'allowed_variable_text' => $allowed_text,
157
- 'success' => true,
158
- );
159
- echo wp_json_encode($return);
160
- exit;
161
- }
162
  }
 
163
  add_action( 'wp_ajax_qsm_get_question_text_message', 'qsm_get_question_text_message' );
164
 
165
  /**
@@ -167,26 +252,27 @@ add_action( 'wp_ajax_qsm_get_question_text_message', 'qsm_get_question_text_mess
167
  *
168
  * @since 7.0
169
  */
170
- function qsm_update_text_message(){
171
- global $mlwQuizMasterNext;
172
- $quiz_id = isset( $_POST['quiz_id'] ) ? intval( $_POST['quiz_id'] ) : 0;
173
- $text_id = isset( $_POST['text_id'] ) ? sanitize_text_field( wp_unslash( $_POST['text_id'] ) ) : '';
174
- $message = isset( $_POST['message'] ) ? wp_kses_post( wp_unslash( $_POST['message'] ) ) : '';
175
- $settings = $mlwQuizMasterNext->pluginHelper->get_quiz_setting( 'quiz_text' );
176
- $settings[ $text_id ] = $message;
177
- $results = $mlwQuizMasterNext->pluginHelper->update_quiz_setting( 'quiz_text', $settings );
178
- if ( false !== $results ) {
179
  do_action( 'qsm_saved_text_message', $quiz_id, $text_id, $message );
180
- $results = array(
181
- 'success' => true,
182
- );
183
- }else {
184
- $results = array(
185
- 'success' => false,
186
- 'message' => __( 'There has been an error in this action. Please share this with the developer', 'quiz-master-next' ),
187
- );
188
- }
189
- echo wp_json_encode($results);
190
- exit;
191
  }
 
192
  add_action( 'wp_ajax_qsm_update_text_message', 'qsm_update_text_message' );
1
  <?php
2
+ if ( ! defined( 'ABSPATH' ) ) {
3
+ exit;
4
+ }
5
 
6
  /**
7
+ * Adds the Text tab to the Quiz Settings page.
8
+ *
9
+ * @return void
10
+ * @since 4.4.0
11
+ */
12
  function qmn_settings_text_tab() {
13
  global $mlwQuizMasterNext;
14
  $mlwQuizMasterNext->pluginHelper->register_quiz_settings_tabs( __( 'Text', 'quiz-master-next' ), 'mlw_options_text_tab_content', 'text' );
15
  }
16
+
17
  add_action( "plugins_loaded", 'qmn_settings_text_tab', 5 );
18
 
19
  /**
20
+ * Adds the Text tab content to the tab.
21
+ *
22
+ * @return void
23
+ * @since 4.4.0
24
+ * @since 7.0 changed the design
25
+ */
26
  function mlw_options_text_tab_content() {
27
  global $wpdb;
28
  global $mlwQuizMasterNext;
29
  //wp_enqueue_style( 'qmn_admin_style', QSM_PLUGIN_CSS_URL.'/qsm-admin.css' );
30
+ $variable_list = qsm_text_template_variable_list();
31
  ?>
32
+ <div class="qsm-sub-text-tab-menu">
33
+ <ul class="subsubsub">
34
+ <li>
35
+ <a href="javascript:void(0)" data-id="qsm_general_text" class="current quiz_text_tab"><?php esc_html_e( 'General', 'quiz-master-next' ); ?></a>
36
+ </li>
37
+ <li>
38
+ <a href="javascript:void(0)" data-id="qsm_variable_text" class="quiz_text_tab"><?php esc_html_e( 'QSM Variables', 'quiz-master-next' ); ?></a>
39
+ </li>
40
+ <li>
41
+ <a href="javascript:void(0)" data-id="qsm_custom_label" class="quiz_text_tab"><?php esc_html_e( 'Labels', 'quiz-master-next' ); ?></a>
42
+ </li>
43
+ </ul>
44
+ </div>
45
+ <div class="qsm-text-main-wrap">
46
+ <div id="poststuff">
47
+ <div id="post-body" class="metabox-holder columns-2">
48
+ <div class="qsm-question-text-tab" id="post-body-content" style="position: relative;">
49
+ <?php
50
+ $quiz_text_arr = $mlwQuizMasterNext->quiz_settings->load_setting_fields( 'quiz_text' );
51
+ $editor_text_arr = $text_text_arr = array();
52
+ if ( $quiz_text_arr ) {
53
+ foreach ( $quiz_text_arr as $key => $single_text_arr ) {
54
+ if ( 'editor' === $single_text_arr['type'] ) {
55
+ $editor_text_arr[] = $single_text_arr;
56
+ } else {
57
+ $text_text_arr[] = $single_text_arr;
58
+ }
59
+ }
60
+ }
61
+ ?>
62
+ <div class="qsm-text-header">
63
+ <div class="message-dropdown" style="width:100%">
64
+ <div class="qsm-row">
65
+ <!-- General text tab -->
66
+ <div id="qsm_general_text" class="current quiz_text_tab_content qsm_general_text">
67
+ <div class="left-bar">
68
+ <h2><?php esc_html_e( 'Select Message', 'quiz-master-next' ); ?></h2>
69
+ <ul>
70
+ <?php
71
+ if ( $editor_text_arr ) {
72
+ foreach ( $editor_text_arr as $key => $single_editor_arr ) {
73
+ if ( ! str_contains( $single_editor_arr['label'], '%' ) ) {
74
+ $class_current_li = "";
75
+ $class = "";
76
+ if ( 0 == $key ) {
77
+ $class_current_li = "currentli_general";
78
+ $class = "current_general";
79
+ }
80
+ ?>
81
+ <li class="qsm-custom-label-left-menu <?php echo esc_attr( $class_current_li ); ?>">
82
+ <a data-id="<?php echo esc_attr( $single_editor_arr['id'] ); ?>" data-label= "<?php echo esc_attr( $single_editor_arr['label'] ); ?>" class="quiz_text_tab_message <?php echo esc_attr( $class ); ?>" ><?php echo esc_attr( $single_editor_arr['label'] ); ?></a>
83
+ </li>
84
+ <?php
85
+ }
86
+ }
87
+ }
88
+ ?>
89
+ </ul>
90
+ </div>
91
+ <div class="right-bar qsm_general_text_editor">
92
+ <h2 class ="select_message"><?php esc_html_e( 'Text Before Quiz', 'quiz-master-next' ); ?></h2>
93
+ <div class="qsm-text-content">
94
+ <?php
95
+ $value_answer = $mlwQuizMasterNext->pluginHelper->get_section_setting( 'quiz_text', $editor_text_arr[0]['id'] );
96
+ wp_editor( htmlspecialchars_decode( $value_answer, ENT_QUOTES ), 'qsm_question_text_message', array(
97
+ 'editor_height' => 250,
98
+ 'textarea_rows' => 10,
99
+ ) );
100
+ ?>
101
+ </div>
102
+ <div class="save-text-changes">
103
+ <button id="qsm_save_text_message" class="button button-primary"><?php esc_html_e( 'Save Text Message', 'quiz-master-next' ); ?></button>
104
+ <span class="spinner" ></span>
105
+ </div>
106
+ </div>
107
+ </div>
108
+ <!-- Custom lable -->
109
+ <div class="quiz_text_tab_content qsm_custom_label" style="display:none;" id="qsm_custom_label" >
110
+ <div class="qsm-text-label-wrapper">
111
+ <?php
112
+ $mlwQuizMasterNext->pluginHelper->generate_settings_section( 'quiz_text', $text_text_arr );
113
+ ?>
114
+ </div>
115
+ </div>
116
+ <!-- Variable text -->
117
+ <div class="quiz_text_tab_content qsm_variable_text" style="display:none;" id="qsm_variable_text" >
118
+ <div class="left-bar">
119
+ <h2><?php esc_html_e( 'Select Variable Text', 'quiz-master-next' ); ?></h2>
120
+ <ul>
121
+ <?php
122
+ if ( $editor_text_arr ) {
123
+ foreach ( $editor_text_arr as $key => $single_editor_arr ) {
124
+ if ( str_contains( $single_editor_arr['label'], '%' ) ) {
125
+ $class_current_li = "";
126
+ $class = "";
127
+ if ( 7 == $key ) {
128
+ $class_current_li = "currentli_variable";
129
+ $class = "current_variable";
130
+ }
131
+ ?>
132
+ <li class="qsm-custom-label-left-menu <?php echo esc_attr( $class_current_li ); ?>">
133
+ <a data-id="<?php echo esc_attr( $single_editor_arr['id'] ); ?>" data-label= "<?php echo esc_attr( $single_editor_arr['label'] ); ?>" class="quiz_text_tab_message_variable <?php echo esc_attr( $class ); ?>" ><?php echo esc_attr( $single_editor_arr['label'] ); ?></a>
134
+ </li>
135
+ <?php
136
+ }
137
+ }
138
+ }
139
+ ?>
140
+ </ul>
141
+ </div>
142
+ <div class="right-bar qsm_variable_text_editor">
143
+ <h2 class ="select_message_variable"><?php esc_html_e( '%QUESTIONS_ANSWERS% Text', 'quiz-master-next' ); ?></h2>
144
+ <div class="qsm-text-content">
145
+ <?php
146
+ $value_answer = $mlwQuizMasterNext->pluginHelper->get_section_setting( 'quiz_text', $editor_text_arr[7]['id'] );
147
+ wp_editor( htmlspecialchars_decode( $value_answer, ENT_QUOTES ), 'qsm_question_text_message_variable', array(
148
+ 'editor_height' => 250,
149
+ 'textarea_rows' => 10,
150
+ ) );
151
+ ?>
152
+ </div>
153
+ <div class="save-text-changes">
154
+ <button id="qsm_save_text_message_variable" class="button button-primary">
155
+ <?php esc_html_e( 'Save Text Message', 'quiz-master-next' ); ?></button>
156
+ <span class="spinner" ></span>
157
+ </div>
158
+ </div>
159
+ </div>
160
+ </div>
161
+ </div>
162
+ </div>
163
+ </div>
164
+ <div id="postbox-container-1" class="postbox-container">
165
+ <div class="qsm-text-header">
166
+ <h5>
167
+ <?php esc_html_e( 'Allowed Variables', 'quiz-master-next' ); ?>
168
+ <span class="description"><?php esc_html_e( 'click to insert the variable', 'quiz-master-next' ); ?></span>
169
+ </h5>
170
+ </div>
171
+ <div class="qsm-text-conent qsm-text-allowed-variables">
172
+ <div class="qsm-text-tab-message-loader" style="display: none;"><div class="qsm-spinner-loader"></div></div>
173
+ <div class="qsm-text-variable-wrap">
174
+ <?php
175
+ $allowed_variables = isset( $editor_text_arr[0]['variables'] ) ? $editor_text_arr[0]['variables'] : array();
176
+ if ( $allowed_variables ) {
177
+ foreach ( $allowed_variables as $variable ) {
178
+ ?>
179
+ <span class="qsm-text-template-span">
180
+ <button class="button button-default"><?php echo wp_kses_post( $variable ); ?></button>
181
+ <?php if ( isset( $variable_list[ $variable ] ) ) {
182
+ ?>
183
+ <span class="dashicons dashicons-editor-help qsm-tooltips-icon">
184
+ <span class="qsm-tooltips"><?php echo wp_kses_post( $variable_list[ $variable ] ); ?></span>
185
+ </span>
186
+ <?php } ?>
187
+ </span>
188
+ <?php
189
+ }
190
+ }
191
+ ?>
192
+ </div>
193
+ </div>
194
+ </div>
195
+ </div>
196
+ </div>
197
+ </div>
198
 
199
+ <?php
 
 
 
200
  }
201
 
202
  /**
204
  * @global object $mlwQuizMasterNext
205
  * @since 7.0
206
  */
207
+ function qsm_get_question_text_message() {
208
+ global $mlwQuizMasterNext;
209
+ $text_id = isset( $_POST['text_id'] ) ? sanitize_text_field( wp_unslash( $_POST['text_id'] ) ) : '';
210
+ if ( '' === $text_id ) {
211
+ echo wp_json_encode( array(
212
  'success' => false,
213
+ 'message' => __( 'Text id is missing.', 'quiz-master-next' ),
214
  ) );
215
+ exit;
216
+ } else {
217
+ $settings = $mlwQuizMasterNext->pluginHelper->get_section_setting( 'quiz_text', $text_id );
218
+ $quiz_text_arr = $mlwQuizMasterNext->quiz_settings->load_setting_fields( 'quiz_text' );
219
+ $key = array_search( $text_id, array_column( $quiz_text_arr, 'id' ), true );
220
+ $allowed_text = '';
221
+ if ( isset( $quiz_text_arr[ $key ] ) ) {
222
+ $variable_list = qsm_text_template_variable_list();
223
  /**
224
  * Filter allowed variables for Text Tab options.
225
  */
226
+ $quiz_text_allowed_variables = apply_filters( 'qsm_text_allowed_variables', $quiz_text_arr[ $key ]['variables'], $key );
227
+ foreach ( $quiz_text_allowed_variables as $variable ) {
228
+ $allowed_text .= '<span class="qsm-text-template-span">';
229
+ $allowed_text .= '<button class="button button-default">' . $variable . '</button>';
230
+ if ( isset( $variable_list[ $variable ] ) ) {
231
+ $allowed_text .= '<span class="dashicons dashicons-editor-help qsm-tooltips-icon">';
232
+ $allowed_text .= '<span class="qsm-tooltips">' . $variable_list[ $variable ] . '</span>';
233
+ $allowed_text .= '</span>';
234
+ }
235
+ $allowed_text .= '</span>';
236
+ }
237
+ }
238
+ $return = array(
239
+ 'text_message' => $settings,
240
+ 'allowed_variable_text' => $allowed_text,
241
+ 'success' => true,
242
+ );
243
+ echo wp_json_encode( $return );
244
+ exit;
245
+ }
246
  }
247
+
248
  add_action( 'wp_ajax_qsm_get_question_text_message', 'qsm_get_question_text_message' );
249
 
250
  /**
252
  *
253
  * @since 7.0
254
  */
255
+ function qsm_update_text_message() {
256
+ global $mlwQuizMasterNext;
257
+ $quiz_id = isset( $_POST['quiz_id'] ) ? intval( $_POST['quiz_id'] ) : 0;
258
+ $text_id = isset( $_POST['text_id'] ) ? sanitize_text_field( wp_unslash( $_POST['text_id'] ) ) : '';
259
+ $message = isset( $_POST['message'] ) ? wp_kses_post( wp_unslash( $_POST['message'] ) ) : '';
260
+ $settings = $mlwQuizMasterNext->pluginHelper->get_quiz_setting( 'quiz_text' );
261
+ $settings[ $text_id ] = $message;
262
+ $results = $mlwQuizMasterNext->pluginHelper->update_quiz_setting( 'quiz_text', $settings );
263
+ if ( false !== $results ) {
264
  do_action( 'qsm_saved_text_message', $quiz_id, $text_id, $message );
265
+ $results = array(
266
+ 'success' => true,
267
+ );
268
+ } else {
269
+ $results = array(
270
+ 'success' => false,
271
+ 'message' => __( 'There has been an error in this action. Please share this with the developer', 'quiz-master-next' ),
272
+ );
273
+ }
274
+ echo wp_json_encode( $results );
275
+ exit;
276
  }
277
+
278
  add_action( 'wp_ajax_qsm_update_text_message', 'qsm_update_text_message' );
php/admin/quiz-options-page.php CHANGED
@@ -147,6 +147,23 @@ function qsm_generate_quiz_options() {
147
  <div class="qsm-alerts">
148
  <?php $mlwQuizMasterNext->alertManager->showAlerts(); ?>
149
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
150
  <?php if ( $quiz_id ) {
151
  $active_class_aadon = true;
152
  ?>
@@ -274,6 +291,7 @@ function qsm_generate_quiz_options() {
274
  add_action('admin_footer', 'qsm_quiz_options_notice_template');?>
275
  <!--Div for the upgrade popup of advanced question type -->
276
  <?php
 
277
  if ( ! class_exists('QSM_Advance_Question') ) {
278
  $qsm_pop_up_arguments = array(
279
  "id" => 'modal-advanced-question-type',
@@ -287,6 +305,20 @@ function qsm_generate_quiz_options() {
287
  "addon_link" => qsm_get_plugin_link( 'downloads/advanced-question-types', 'qsm_list', 'advance-question_type', 'advance-question-upsell_buy_addon', 'qsm_plugin_upsell' ),
288
  );
289
  qsm_admin_upgrade_popup($qsm_pop_up_arguments);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
290
  }
291
  ?>
292
  <?php
147
  <div class="qsm-alerts">
148
  <?php $mlwQuizMasterNext->alertManager->showAlerts(); ?>
149
  </div>
150
+ <?php $user_id = get_current_user_id();
151
+ if ( isset( $_POST['nonce_validation_notification'] ) && wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['nonce_validation_notification'] ) ), 'nonce_validation_notification' ) ) {
152
+ update_user_meta( $user_id, 'nonce_validation_notification' ,true);
153
+ }
154
+ if ( ! get_user_meta( $user_id, 'nonce_validation_notification' ) ) { ?>
155
+ <div class="qsm-nonce-validation">
156
+ <img src="<?php echo esc_url( QSM_PLUGIN_URL . 'php/images/info-yellow.png' ); ?>" alt="information">
157
+ <div class="qsm-nonce-text">
158
+ <span> <strong><?php echo esc_html__( "Your quiz has been created, you can now start adding questions.", 'quiz-master-next' ) ?></strong></span>
159
+ <br><span> <?php echo esc_html__( "Please note: If you are using any cache plugins, please remember to exclude your quiz pages from cache to prevent", 'quiz-master-next' ) ?><a><?php echo esc_html__( " Nonce validation issue.", 'quiz-master-next' ) ?></a></span>
160
+ </div>
161
+ <form method="POST" action="">
162
+ <?php wp_nonce_field( 'nonce_validation_notification', 'nonce_validation_notification' ); ?>
163
+ <button type="submit" style="float:right;" id="nonce_validation_notification" class="button-secondary"><?php echo esc_html__( 'Thanks I undertsand!', 'quiz-master-next' ) ?></a>
164
+ </form>
165
+ </div>
166
+ <?php } ?>
167
  <?php if ( $quiz_id ) {
168
  $active_class_aadon = true;
169
  ?>
291
  add_action('admin_footer', 'qsm_quiz_options_notice_template');?>
292
  <!--Div for the upgrade popup of advanced question type -->
293
  <?php
294
+ $style_tags = array();
295
  if ( ! class_exists('QSM_Advance_Question') ) {
296
  $qsm_pop_up_arguments = array(
297
  "id" => 'modal-advanced-question-type',
305
  "addon_link" => qsm_get_plugin_link( 'downloads/advanced-question-types', 'qsm_list', 'advance-question_type', 'advance-question-upsell_buy_addon', 'qsm_plugin_upsell' ),
306
  );
307
  qsm_admin_upgrade_popup($qsm_pop_up_arguments);
308
+ $style_tags[] = '.question[data-question-type="15"]';
309
+ $style_tags[] = '.question[data-question-type="16"]';
310
+ $style_tags[] = '.question[data-question-type="17"]';
311
+ }
312
+ if ( ! class_exists('QSM_Flashcards') ) {
313
+ $style_tags[] = '.question[data-question-type="18"]';
314
+ }
315
+ if ( ! empty($style_tags) ) {
316
+ ?>
317
+ <style type="text/css">
318
+ <?php echo implode( ', ', $style_tags ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped?>
319
+ {border-color: red;}
320
+ </style>
321
+ <?php
322
  }
323
  ?>
324
  <?php
php/admin/quizzes-page.php CHANGED
@@ -100,8 +100,32 @@ if ( ! class_exists( 'QSMQuizList' ) ) {
100
  break;
101
 
102
  case 'total_questions':
103
- $total_questions = $mlwQuizMasterNext->pluginHelper->get_questions_count( $quiz_id );
104
- echo esc_attr( $total_questions );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
  break;
106
 
107
  case 'views':
@@ -445,28 +469,34 @@ if ( ! class_exists( 'QSMQuizList' ) ) {
445
  qsm_admin_upgrade_popup($qsm_pop_up_arguments);
446
  }
447
  ?>
448
- <!-- Popup for delete quiz -->
449
- <div class="qsm-popup qsm-popup-slide" id="modal-6" aria-hidden="true">
450
  <div class="qsm-popup__overlay" tabindex="-1" data-micromodal-close>
451
- <div class="qsm-popup__container" role="dialog" aria-modal="true" aria-labelledby="modal-5-title">
452
- <header class="qsm-popup__header">
453
- <h2 class="qsm-popup__title" id="modal-5-title"><?php esc_html_e( 'Shortcode', 'quiz-master-next' ); ?></h2>
454
  <a class="qsm-popup__close" aria-label="Close modal" data-micromodal-close></a>
455
  </header>
456
  <main class="qsm-popup__content" id="modal-5-content">
457
- <div class="qsm-row" style="margin-bottom: 30px;">
458
- <lable><?php esc_html_e( 'Embed Shortcode', 'quiz-master-next' ); ?></lable>
459
- <input type="text" value="" id="sc-shortcode-model-text" style="width: 72%;padding: 5px;">
460
- <button class="button button-primary" id="sc-copy-shortcode"><span
461
- class="dashicons dashicons-admin-page"></span></button>
462
- </div>
463
- <div class="qsm-row">
464
- <lable><?php esc_html_e( 'Link Shortcode', 'quiz-master-next' ); ?></lable>
465
- <input type="text" value="" id="sc-shortcode-model-text-link" style="width: 72%;padding: 5px;">
466
- <button class="button button-primary" id="sc-copy-shortcode-link"><span
467
- class="dashicons dashicons-admin-page"></span></button>
468
- </div>
469
- </main>
 
 
 
 
 
 
 
470
  </div>
471
  </div>
472
  </div>
100
  break;
101
 
102
  case 'total_questions':
103
+ $question_ids = $mlwQuizMasterNext->pluginHelper->get_questions_ids( $quiz_id );
104
+ echo esc_attr( count( $question_ids ) );
105
+ if ( ! empty( $question_ids ) ) {
106
+ /**
107
+ * Check for invalid Questions.
108
+ */
109
+ $q_types = array();
110
+ $invalid_types = array();
111
+ $question_types = $wpdb->get_results( "SELECT `question_type_new` as type FROM `{$wpdb->prefix}mlw_questions` WHERE `question_id` IN (" . implode( ',', $question_ids ) . ")" );
112
+ if ( ! empty( $question_types ) ) {
113
+ foreach ( $question_types as $data ) {
114
+ $q_types[] = $data->type;
115
+ }
116
+ }
117
+ if ( ! class_exists( 'QSM_Advance_Question' ) ) {
118
+ $invalid_types[] = 15;
119
+ $invalid_types[] = 16;
120
+ $invalid_types[] = 17;
121
+ }
122
+ if ( ! class_exists( 'QSM_Flashcards' ) ) {
123
+ $invalid_types[] = 18;
124
+ }
125
+ if ( ! empty( array_intersect( $invalid_types, $q_types ) ) ) {
126
+ echo '<span class="dashicons dashicons-warning qsm-quiz-warning-icon"></span>';
127
+ }
128
+ }
129
  break;
130
 
131
  case 'views':
469
  qsm_admin_upgrade_popup($qsm_pop_up_arguments);
470
  }
471
  ?>
472
+ <div class="qsm-popup qsm-popup-slide qsm-standard-popup qsm-popup-nonce-alert" id="modal-6" aria-hidden="true">
 
473
  <div class="qsm-popup__overlay" tabindex="-1" data-micromodal-close>
474
+ <div class="qsm-popup__container" role="dialog" aria-modal="true" aria-labelledby="modal-1-title">
475
+ <header class="qsm-popup__header qsm-question-bank-header">
476
+ <h2 class="qsm-popup__title" id="modal-2-title"><?php esc_html_e( 'Shortcode', 'quiz-master-next' ); ?></h2>
477
  <a class="qsm-popup__close" aria-label="Close modal" data-micromodal-close></a>
478
  </header>
479
  <main class="qsm-popup__content" id="modal-5-content">
480
+ <div class="qsm-row" style="margin-bottom: 30px;">
481
+ <lable><?php esc_html_e( 'Embed Shortcode', 'quiz-master-next' ); ?></lable>
482
+ <input type="text" value="" id="sc-shortcode-model-text" class="sc-shortcode-input">
483
+ <button class="button button-primary" id="sc-copy-shortcode"><span
484
+ class="dashicons dashicons-admin-page"></span></button>
485
+ </div>
486
+ <div class="qsm-row">
487
+ <lable style="padding-right:15px;"><?php esc_html_e( 'Link Shortcode', 'quiz-master-next' ); ?></lable>
488
+ <input type="text" value="" id="sc-shortcode-model-text-link" class="sc-shortcode-input">
489
+ <button class="button button-primary" id="sc-copy-shortcode-link"><span
490
+ class="dashicons dashicons-admin-page"></span></button>
491
+ <div class="qsm-popup-nonce-validation">
492
+ <div class="qsm-popup-upgrade-warning">
493
+ <img src="<?php echo esc_url( QSM_PLUGIN_URL . 'php/images/warning.png' ); ?>" alt="warning">
494
+ <span><?php esc_html_e( "If you're using a cache plugin, please exclude the page from your cache where you're about to use the quiz's shortcode to avoid", 'quiz-master-next' ); ?>
495
+ <a><?php esc_html_e("Nonce Validation Issue." , 'quiz-master-next') ;?></a></span>
496
+ </div>
497
+ </div>
498
+ </div>
499
+ </main>
500
  </div>
501
  </div>
502
  </div>
php/admin/settings-page.php CHANGED
@@ -551,23 +551,16 @@ class QMNGlobalSettingsPage {
551
  <div class="qsm-sub-tab-menu" style="display: inline-block;width: 100%;">
552
  <ul class="subsubsub">
553
  <li>
554
- <a href="javascript:void(0)" data-id="qsm_general" class="current quiz_style_tab">
555
- <?php esc_html_e( 'General', 'quiz-master-next' ); ?></a> |
556
  </li>
557
  <li>
558
- <a href="javascript:void(0)" data-id="quiz_submission" class="quiz_style_tab">
559
- <?php esc_html_e( 'Quiz submission', 'quiz-master-next' ); ?>
560
- </a> |
561
  </li>
562
  <li>
563
- <a href="javascript:void(0)" data-id="display" class="quiz_style_tab">
564
- <?php esc_html_e( 'Display', 'quiz-master-next' ); ?>
565
- </a> |
566
  </li>
567
  <li>
568
- <a href="javascript:void(0)" data-id="contact_form" class="quiz_style_tab">
569
- <?php esc_html_e( 'Contact form', 'quiz-master-next' ); ?>
570
- </a>
571
  </li>
572
  </ul>
573
  </div>
551
  <div class="qsm-sub-tab-menu" style="display: inline-block;width: 100%;">
552
  <ul class="subsubsub">
553
  <li>
554
+ <a href="javascript:void(0)" data-id="qsm_general" class="current quiz_style_tab"><?php esc_html_e( 'General', 'quiz-master-next' ); ?></a>
 
555
  </li>
556
  <li>
557
+ <a href="javascript:void(0)" data-id="quiz_submission" class="quiz_style_tab"><?php esc_html_e( 'Quiz submission', 'quiz-master-next' ); ?></a>
 
 
558
  </li>
559
  <li>
560
+ <a href="javascript:void(0)" data-id="display" class="quiz_style_tab"><?php esc_html_e( 'Display', 'quiz-master-next' ); ?></a>
 
 
561
  </li>
562
  <li>
563
+ <a href="javascript:void(0)" data-id="contact_form" class="quiz_style_tab"><?php esc_html_e( 'Contact form', 'quiz-master-next' ); ?></a>
 
 
564
  </li>
565
  </ul>
566
  </div>
php/backward-compatibility/qsm-backward-compatibility-template-variables.php CHANGED
@@ -17,7 +17,14 @@ function qsm_bckcmp_tempvar_qa_text_qt_multi_choice_correct( $answers_from_db, $
17
  }
18
  $image_class = '';
19
  if ( isset($question_settings['answerEditor']) && 'image' == $question_settings['answerEditor'] ) {
20
- $show_user_answer = '<img src="' . htmlspecialchars_decode($single_answer[0], ENT_QUOTES) . '"/>';
 
 
 
 
 
 
 
21
  $image_class = 'qmn_image_option';
22
  } else {
23
  $show_user_answer = htmlspecialchars_decode($single_answer[0], ENT_QUOTES);
@@ -60,7 +67,14 @@ function qsm_bckcmp_tempvar_qa_text_qt_single_choice_correct( $answers_from_db,
60
  }
61
  $image_class = '';
62
  if ( isset($question_settings['answerEditor']) && 'image' == $question_settings['answerEditor'] ) {
63
- $show_user_answer = '<img src="' . htmlspecialchars_decode($single_answer[0], ENT_QUOTES) . '"/>';
 
 
 
 
 
 
 
64
  $image_class = 'qmn_image_option';
65
  } else {
66
  $show_user_answer = htmlspecialchars_decode($single_answer[0], ENT_QUOTES);
@@ -85,7 +99,14 @@ function qsm_bckcmp_tempvar_qa_text_qt_multi_choice_points( $answers_from_db, $a
85
  foreach ( $answers_from_db as $single_answer ) {
86
  $image_class = '';
87
  if ( isset($question_settings['answerEditor']) && 'image' == $question_settings['answerEditor'] ) {
88
- $show_user_answer = '<img src="' . htmlspecialchars_decode($single_answer[0], ENT_QUOTES) . '"/>';
 
 
 
 
 
 
 
89
  $image_class = 'qmn_image_option';
90
  } else {
91
  $show_user_answer = htmlspecialchars_decode($single_answer[0], ENT_QUOTES);
@@ -105,7 +126,14 @@ function qsm_bckcmp_tempvar_qa_text_qt_single_choice_points( $answers_from_db, $
105
  foreach ( $answers_from_db as $single_answer ) {
106
  $image_class = '';
107
  if ( isset($question_settings['answerEditor']) && 'image' == $question_settings['answerEditor'] ) {
108
- $show_user_answer = '<img src="' . htmlspecialchars_decode($single_answer[0], ENT_QUOTES) . '"/>';
 
 
 
 
 
 
 
109
  $image_class = 'qmn_image_option';
110
  } else {
111
  $show_user_answer = htmlspecialchars_decode($single_answer[0], ENT_QUOTES);
17
  }
18
  $image_class = '';
19
  if ( isset($question_settings['answerEditor']) && 'image' == $question_settings['answerEditor'] ) {
20
+ $size_style = '';
21
+ if ( ! empty($question_settings['image_size-width']) ) {
22
+ $size_style .= 'width:'.$question_settings['image_size-width'].'px !important;';
23
+ }
24
+ if ( ! empty($question_settings['image_size-height']) ) {
25
+ $size_style .= ' height:'.$question_settings['image_size-height'].'px !important;';
26
+ }
27
+ $show_user_answer = '<img src="' . htmlspecialchars_decode($single_answer[0], ENT_QUOTES) . '" style="' . esc_attr( $size_style ) . '"/>';
28
  $image_class = 'qmn_image_option';
29
  } else {
30
  $show_user_answer = htmlspecialchars_decode($single_answer[0], ENT_QUOTES);
67
  }
68
  $image_class = '';
69
  if ( isset($question_settings['answerEditor']) && 'image' == $question_settings['answerEditor'] ) {
70
+ $size_style = '';
71
+ if ( ! empty($question_settings['image_size-width']) ) {
72
+ $size_style .= 'width:'.$question_settings['image_size-width'].'px !important;';
73
+ }
74
+ if ( ! empty($question_settings['image_size-height']) ) {
75
+ $size_style .= ' height:'.$question_settings['image_size-height'].'px !important;';
76
+ }
77
+ $show_user_answer = '<img src="' . htmlspecialchars_decode($single_answer[0], ENT_QUOTES) . '" style="' . esc_attr( $size_style ) . '"/>';
78
  $image_class = 'qmn_image_option';
79
  } else {
80
  $show_user_answer = htmlspecialchars_decode($single_answer[0], ENT_QUOTES);
99
  foreach ( $answers_from_db as $single_answer ) {
100
  $image_class = '';
101
  if ( isset($question_settings['answerEditor']) && 'image' == $question_settings['answerEditor'] ) {
102
+ $size_style = '';
103
+ if ( ! empty($question_settings['image_size-width']) ) {
104
+ $size_style .= 'width:'.$question_settings['image_size-width'].'px !important;';
105
+ }
106
+ if ( ! empty($question_settings['image_size-height']) ) {
107
+ $size_style .= ' height:'.$question_settings['image_size-height'].'px !important;';
108
+ }
109
+ $show_user_answer = '<img src="' . htmlspecialchars_decode($single_answer[0], ENT_QUOTES) . '" style="' . esc_attr( $size_style ) . '"/>';
110
  $image_class = 'qmn_image_option';
111
  } else {
112
  $show_user_answer = htmlspecialchars_decode($single_answer[0], ENT_QUOTES);
126
  foreach ( $answers_from_db as $single_answer ) {
127
  $image_class = '';
128
  if ( isset($question_settings['answerEditor']) && 'image' == $question_settings['answerEditor'] ) {
129
+ $size_style = '';
130
+ if ( ! empty($question_settings['image_size-width']) ) {
131
+ $size_style .= 'width:'.$question_settings['image_size-width'].'px !important;';
132
+ }
133
+ if ( ! empty($question_settings['image_size-height']) ) {
134
+ $size_style .= ' height:'.$question_settings['image_size-height'].'px !important;';
135
+ }
136
+ $show_user_answer = '<img src="' . htmlspecialchars_decode($single_answer[0], ENT_QUOTES) . '" style="' . esc_attr( $size_style ) . '"/>';
137
  $image_class = 'qmn_image_option';
138
  } else {
139
  $show_user_answer = htmlspecialchars_decode($single_answer[0], ENT_QUOTES);
php/classes/class-qmn-plugin-helper.php CHANGED
@@ -447,7 +447,7 @@ class QMNPluginHelper {
447
  */
448
  $answers = apply_filters( 'qsm_single_question_answers', $answers, $question, $quiz_options );
449
  foreach ( $this->question_types as $type ) {
450
- if ( strtolower( str_replace( ' ', '-', $slug ) ) === $type['slug'] ) {
451
  $qmn_all_questions_count += 1;
452
  if ( $type['graded'] ) {
453
  $qmn_total_questions += 1;
@@ -465,6 +465,7 @@ class QMNPluginHelper {
465
  <?php
466
  }
467
  }
 
468
  call_user_func( $type['display'], intval( $question_id ), $question->question_name, $answers );
469
  do_action( 'qsm_after_question', $question );
470
  }
@@ -492,6 +493,27 @@ class QMNPluginHelper {
492
  return $count;
493
  }
494
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
495
  /**
496
  * Shuffle assoc array
497
  *
447
  */
448
  $answers = apply_filters( 'qsm_single_question_answers', $answers, $question, $quiz_options );
449
  foreach ( $this->question_types as $type ) {
450
+ if ( strtolower( str_replace( ' ', '-', $slug ) ) === $type['slug'] && ! empty( $type['display'] ) && function_exists( $type['display'] ) ) {
451
  $qmn_all_questions_count += 1;
452
  if ( $type['graded'] ) {
453
  $qmn_total_questions += 1;
465
  <?php
466
  }
467
  }
468
+
469
  call_user_func( $type['display'], intval( $question_id ), $question->question_name, $answers );
470
  do_action( 'qsm_after_question', $question );
471
  }
493
  return $count;
494
  }
495
 
496
+ public function get_questions_ids( $quiz_id = 0 ) {
497
+ global $wpdb;
498
+ $quiz_id = intval( $quiz_id );
499
+ $ids = array();
500
+ if ( empty( $quiz_id ) || 0 == $quiz_id ) {
501
+ return $ids;
502
+ }
503
+
504
+ $quiz_settings = $wpdb->get_var( $wpdb->prepare( "SELECT `quiz_settings` FROM `{$wpdb->prefix}mlw_quizzes` WHERE `quiz_id`=%d", $quiz_id ) );
505
+ if ( ! empty( $quiz_settings ) ) {
506
+ $settings = maybe_unserialize( $quiz_settings );
507
+ $pages = isset( $settings['pages'] ) ? maybe_unserialize( $settings['pages'] ) : array();
508
+ if ( ! empty( $pages ) ) {
509
+ foreach ( $pages as $page ) {
510
+ $ids = array_merge($ids, $page );
511
+ }
512
+ }
513
+ }
514
+ return $ids;
515
+ }
516
+
517
  /**
518
  * Shuffle assoc array
519
  *
php/classes/class-qmn-quiz-creator.php CHANGED
@@ -600,7 +600,7 @@ class QMNQuizCreator {
600
  );
601
  foreach ( $update_pages as $pages_key => $pages_value ) {
602
  foreach ( $pages_value as $pages_k_q => $page_q_id ) {
603
- if ( $page_q_id === $mlw_question->question_id ) {
604
  $update_pages[ $pages_key ][ $pages_k_q ] = $wpdb->insert_id;
605
  }
606
  }
600
  );
601
  foreach ( $update_pages as $pages_key => $pages_value ) {
602
  foreach ( $pages_value as $pages_k_q => $page_q_id ) {
603
+ if ( intval($page_q_id) === intval($mlw_question->question_id) ) {
604
  $update_pages[ $pages_key ][ $pages_k_q ] = $wpdb->insert_id;
605
  }
606
  }
php/classes/class-qmn-quiz-manager.php CHANGED
@@ -390,6 +390,10 @@ class QMNQuizManager {
390
  }
391
 
392
  // Loads Quiz Template.
 
 
 
 
393
  // The quiz_stye is misspelled because it has always been misspelled and fixing it would break many sites :(.
394
  if ( 'default' == $qmn_quiz_options->theme_selected ) {
395
  $return_display .= '<style type="text/css">' . preg_replace( '#<script(.*?)>(.*?)</script>#is', '', htmlspecialchars_decode( $qmn_quiz_options->quiz_stye ) ) . '</style>';
@@ -409,10 +413,6 @@ class QMNQuizManager {
409
  echo "<style type='text/css' id='qmn_quiz_template-css'>" . wp_kses_post( htmlspecialchars_decode( $qmn_quiz_options->quiz_stye ) ) . '</style>';
410
  }
411
  }
412
- wp_enqueue_style( 'qmn_quiz_animation_style', QSM_PLUGIN_CSS_URL . '/animate.css', array(), $mlwQuizMasterNext->version );
413
- wp_enqueue_style( 'qmn_quiz_common_style', $this->common_css, array(), $mlwQuizMasterNext->version );
414
- wp_style_add_data( 'qmn_quiz_common_style', 'rtl', 'replace' );
415
- wp_enqueue_style( 'dashicons' );
416
  $saved_quiz_theme = $mlwQuizMasterNext->theme_settings->get_active_quiz_theme_path( $quiz );
417
  $folder_name = QSM_THEME_PATH . $saved_quiz_theme . '/';
418
  if ( file_exists( $folder_name . 'functions.php' ) ) {
@@ -1675,7 +1675,7 @@ class QMNQuizManager {
1675
  if ( 1 == $qmn_quiz_options->enable_retake_quiz_button ) {
1676
  $result_display .= '<form method="POST">';
1677
  $result_display .= '<input type="hidden" value="' . $qmn_array_for_variables['quiz_id'] . '" name="qsm_retake_quiz_id" />';
1678
- $result_display .= '<input type="submit" value="' . apply_filters( 'qsm_retake_quiz_text', $qmn_quiz_options->retake_quiz_button_text ) . '" name="qsm_retake_button" />';
1679
  $result_display .= '</form>';
1680
  }
1681
 
390
  }
391
 
392
  // Loads Quiz Template.
393
+ wp_enqueue_style( 'qmn_quiz_animation_style', QSM_PLUGIN_CSS_URL . '/animate.css', array(), $mlwQuizMasterNext->version );
394
+ wp_enqueue_style( 'qmn_quiz_common_style', $this->common_css, array(), $mlwQuizMasterNext->version );
395
+ wp_style_add_data( 'qmn_quiz_common_style', 'rtl', 'replace' );
396
+ wp_enqueue_style( 'dashicons' );
397
  // The quiz_stye is misspelled because it has always been misspelled and fixing it would break many sites :(.
398
  if ( 'default' == $qmn_quiz_options->theme_selected ) {
399
  $return_display .= '<style type="text/css">' . preg_replace( '#<script(.*?)>(.*?)</script>#is', '', htmlspecialchars_decode( $qmn_quiz_options->quiz_stye ) ) . '</style>';
413
  echo "<style type='text/css' id='qmn_quiz_template-css'>" . wp_kses_post( htmlspecialchars_decode( $qmn_quiz_options->quiz_stye ) ) . '</style>';
414
  }
415
  }
 
 
 
 
416
  $saved_quiz_theme = $mlwQuizMasterNext->theme_settings->get_active_quiz_theme_path( $quiz );
417
  $folder_name = QSM_THEME_PATH . $saved_quiz_theme . '/';
418
  if ( file_exists( $folder_name . 'functions.php' ) ) {
1675
  if ( 1 == $qmn_quiz_options->enable_retake_quiz_button ) {
1676
  $result_display .= '<form method="POST">';
1677
  $result_display .= '<input type="hidden" value="' . $qmn_array_for_variables['quiz_id'] . '" name="qsm_retake_quiz_id" />';
1678
+ $result_display .= '<input type="submit" value="' . apply_filters( 'qsm_retake_quiz_text', $qmn_quiz_options->retake_quiz_button_text ) . '" name="qsm_retake_button" class="qsm-btn qsm_retake_button qmn_btn" id="qsm_retake_button" />';
1679
  $result_display .= '</form>';
1680
  }
1681
 
php/classes/class-qmn-review-message.php CHANGED
@@ -123,6 +123,4 @@ class QMN_Review_Message {
123
  }
124
  }
125
  }
126
-
127
  $qmn_review_message = new QMN_Review_Message();
128
-
123
  }
124
  }
125
  }
 
126
  $qmn_review_message = new QMN_Review_Message();
 
php/classes/class-qsm-fields.php CHANGED
@@ -99,28 +99,19 @@ class QSM_Fields {
99
  <div class="qsm-sub-tab-menu" style="display: inline-block;width: 100%;">
100
  <ul class="subsubsub">
101
  <li>
102
- <a href="javascript:void(0)" data-id="qsm_general" class="current quiz_style_tab">
103
- <?php esc_html_e( 'General', 'quiz-master-next' ); ?></a> |
104
  </li>
105
  <li>
106
- <a href="javascript:void(0)" data-id="quiz_submission" class="quiz_style_tab">
107
- <?php esc_html_e( 'Quiz submission', 'quiz-master-next' ); ?>
108
- </a> |
109
  </li>
110
  <li>
111
- <a href="javascript:void(0)" data-id="display" class="quiz_style_tab">
112
- <?php esc_html_e( 'Display', 'quiz-master-next' ); ?>
113
- </a> |
114
  </li>
115
  <li>
116
- <a href="javascript:void(0)" data-id="contact_form" class="quiz_style_tab">
117
- <?php esc_html_e( 'Contact form', 'quiz-master-next' ); ?>
118
- </a> |
119
  </li>
120
  <li>
121
- <a href="javascript:void(0)" data-id="legacy" class="quiz_style_tab">
122
- <?php esc_html_e( 'Legacy', 'quiz-master-next' ); ?>
123
- </a>
124
  </li>
125
  </ul>
126
  </div>
@@ -192,31 +183,34 @@ class QSM_Fields {
192
  </div>
193
  <?php
194
  elseif ( 'text' === $current_tab ) : ?>
195
- <div class="qsm-sub-tab-menu" style="display: inline-block;width: 100%;">
196
- <ul class="subsubsub">
197
- <li>
198
- <a href="javascript:void(0)" data-id="text-button" class="current quiz_style_tab">
199
- <?php esc_html_e( 'Buttons', 'quiz-master-next' ); ?></a> |
 
200
  </li>
201
- <li>
202
- <a href="javascript:void(0)" data-id="text-validation-messages" class="quiz_style_tab">
203
  <?php esc_html_e( 'Validation Messages', 'quiz-master-next' ); ?>
204
- </a> |
205
  </li>
206
- <li>
207
- <a href="javascript:void(0)" data-id="text-other" class="quiz_style_tab">
208
  <?php esc_html_e( 'Other', 'quiz-master-next' ); ?>
209
- </a> |
210
  </li>
211
- <li>
212
- <a href="javascript:void(0)" data-id="text-legacy" class="quiz_style_tab">
213
  <?php esc_html_e( 'Legacy', 'quiz-master-next' ); ?>
214
  </a>
215
  </li>
216
  </ul>
217
  </div>
218
- <div id="text-button" class="quiz_style_tab_content">
219
- <table class="form-table" style="width: 100%;">
 
 
220
  <?php
221
  // Cycles through each field
222
  foreach ( $fields as $field ) {
@@ -226,10 +220,11 @@ class QSM_Fields {
226
  }
227
  }
228
  ?>
229
- </table>
230
- </div>
231
- <div id="text-validation-messages" class="quiz_style_tab_content" style="display:none">
232
- <table class="form-table" style="width: 100%;">
 
233
  <?php
234
  // Cycles through each field
235
  foreach ( $fields as $field ) {
@@ -239,10 +234,11 @@ class QSM_Fields {
239
  }
240
  }
241
  ?>
242
- </table>
243
- </div>
244
- <div id="text-other" class="quiz_style_tab_content" style="display:none">
245
- <table class="form-table" style="width: 100%;">
 
246
  <?php
247
  // Cycles through each field
248
  foreach ( $fields as $field ) {
@@ -252,11 +248,12 @@ class QSM_Fields {
252
  }
253
  }
254
  ?>
255
- </table>
256
- </div>
257
- <div id="text-legacy" class="quiz_style_tab_content" style="display:none">
258
- <p><?php esc_html_e( 'All the legacy options are deprecated and will be removed in upcoming version', 'quiz-master-next' ); ?></p>
259
- <table class="form-table" style="width: 100%;">
 
260
  <?php
261
  // Cycles through each field
262
  foreach ( $fields as $field ) {
@@ -266,7 +263,8 @@ class QSM_Fields {
266
  }
267
  }
268
  ?>
269
- </table>
 
270
  </div>
271
  <?php else :
272
  foreach ( $fields as $field ) {
99
  <div class="qsm-sub-tab-menu" style="display: inline-block;width: 100%;">
100
  <ul class="subsubsub">
101
  <li>
102
+ <a href="javascript:void(0)" data-id="qsm_general" class="current quiz_style_tab"><?php esc_html_e( 'General', 'quiz-master-next' ); ?></a>
 
103
  </li>
104
  <li>
105
+ <a href="javascript:void(0)" data-id="quiz_submission" class="quiz_style_tab"><?php esc_html_e( 'Quiz submission', 'quiz-master-next' ); ?></a>
 
 
106
  </li>
107
  <li>
108
+ <a href="javascript:void(0)" data-id="display" class="quiz_style_tab"><?php esc_html_e( 'Display', 'quiz-master-next' ); ?></a>
 
 
109
  </li>
110
  <li>
111
+ <a href="javascript:void(0)" data-id="contact_form" class="quiz_style_tab"><?php esc_html_e( 'Contact form', 'quiz-master-next' ); ?></a>
 
 
112
  </li>
113
  <li>
114
+ <a href="javascript:void(0)" data-id="legacy" class="quiz_style_tab"><?php esc_html_e( 'Legacy', 'quiz-master-next' ); ?></a>
 
 
115
  </li>
116
  </ul>
117
  </div>
183
  </div>
184
  <?php
185
  elseif ( 'text' === $current_tab ) : ?>
186
+ <div class="left-bar">
187
+ <h2><?php esc_html_e( 'Select Labels', 'quiz-master-next' ); ?></h2>
188
+ <ul class="qsm-custom-label-left-menu-ul">
189
+ <li class="qsm-custom-label-left-menu currentli">
190
+ <a href="javascript:void(0)" data-id="text-button" class="current quiz_text_tab_custom">
191
+ <?php esc_html_e( 'Buttons', 'quiz-master-next' ); ?></a>
192
  </li>
193
+ <li class="qsm-custom-label-left-menu">
194
+ <a href="javascript:void(0)" data-id="text-validation-messages" class="quiz_text_tab_custom">
195
  <?php esc_html_e( 'Validation Messages', 'quiz-master-next' ); ?>
196
+ </a>
197
  </li>
198
+ <li class="qsm-custom-label-left-menu">
199
+ <a href="javascript:void(0)" data-id="text-other" class="quiz_text_tab_custom">
200
  <?php esc_html_e( 'Other', 'quiz-master-next' ); ?>
201
+ </a>
202
  </li>
203
+ <li class="qsm-custom-label-left-menu">
204
+ <a href="javascript:void(0)" data-id="text-legacy" class="quiz_text_tab_custom">
205
  <?php esc_html_e( 'Legacy', 'quiz-master-next' ); ?>
206
  </a>
207
  </li>
208
  </ul>
209
  </div>
210
+ <div class="right-bar">
211
+ <div id="text-button" class="quiz_style_tab_content qsm-text-content">
212
+ <h2><?php esc_html_e( 'Buttons', 'quiz-master-next' ); ?></h2>
213
+ <table class="form-table">
214
  <?php
215
  // Cycles through each field
216
  foreach ( $fields as $field ) {
220
  }
221
  }
222
  ?>
223
+ </table>
224
+ </div>
225
+ <div id="text-validation-messages" class="quiz_style_tab_content" style="display:none">
226
+ <h2><?php esc_html_e( 'Validation Messages', 'quiz-master-next' ); ?></h2>
227
+ <table class="form-table">
228
  <?php
229
  // Cycles through each field
230
  foreach ( $fields as $field ) {
234
  }
235
  }
236
  ?>
237
+ </table>
238
+ </div>
239
+ <div id="text-other" class="quiz_style_tab_content" style="display:none">
240
+ <h2><?php esc_html_e( 'Other', 'quiz-master-next' ); ?></h2>
241
+ <table class="form-table">
242
  <?php
243
  // Cycles through each field
244
  foreach ( $fields as $field ) {
248
  }
249
  }
250
  ?>
251
+ </table>
252
+ </div>
253
+ <div id="text-legacy" class="quiz_style_tab_content" style="display:none">
254
+ <h2><?php esc_html_e( 'Legacy', 'quiz-master-next' ); ?></h2>
255
+ <p><?php esc_html_e( 'All the legacy options are deprecated and will be removed in upcoming version', 'quiz-master-next' ); ?></p>
256
+ <table class="form-table">
257
  <?php
258
  // Cycles through each field
259
  foreach ( $fields as $field ) {
263
  }
264
  }
265
  ?>
266
+ </table>
267
+ </div>
268
  </div>
269
  <?php else :
270
  foreach ( $fields as $field ) {
php/classes/class-qsm-install.php CHANGED
@@ -990,7 +990,7 @@ class QSM_Install {
990
  // Registers message_before setting
991
  $field_array = array(
992
  'id' => 'message_before',
993
- 'label' => __( 'Message Displayed Before Quiz', 'quiz-master-next' ),
994
  'type' => 'editor',
995
  'default' => 0,
996
  'variables' => array(
@@ -1004,7 +1004,7 @@ class QSM_Install {
1004
  // Registers message_comment setting
1005
  $field_array = array(
1006
  'id' => 'message_comment',
1007
- 'label' => __( 'Message Displayed Before Comments Box If Enabled', 'quiz-master-next' ),
1008
  'type' => 'editor',
1009
  'default' => 0,
1010
  'variables' => array(
@@ -1018,7 +1018,7 @@ class QSM_Install {
1018
  // Registers message_end_template setting
1019
  $field_array = array(
1020
  'id' => 'message_end_template',
1021
- 'label' => __( 'Message Displayed At End Of Quiz (Leave Blank To Omit Text Section)', 'quiz-master-next' ),
1022
  'type' => 'editor',
1023
  'default' => 0,
1024
  'variables' => array(
@@ -1032,7 +1032,7 @@ class QSM_Install {
1032
  // Registers total_user_tries_text setting
1033
  $field_array = array(
1034
  'id' => 'total_user_tries_text',
1035
- 'label' => __( 'Message Displayed If User Has Tried Quiz Too Many Times', 'quiz-master-next' ),
1036
  'type' => 'editor',
1037
  'default' => 0,
1038
  'variables' => array(
@@ -1046,7 +1046,7 @@ class QSM_Install {
1046
  // Registers require_log_in_text setting
1047
  $field_array = array(
1048
  'id' => 'require_log_in_text',
1049
- 'label' => __( 'Message Displayed If User Is Not Logged In And Quiz Requires Users To Be Logged In', 'quiz-master-next' ),
1050
  'type' => 'editor',
1051
  'default' => 0,
1052
  'variables' => array(
@@ -1060,7 +1060,7 @@ class QSM_Install {
1060
  // Registers scheduled_timeframe_text setting
1061
  $field_array = array(
1062
  'id' => 'scheduled_timeframe_text',
1063
- 'label' => __( 'Message Displayed If Date Is Outside Scheduled Timeframe', 'quiz-master-next' ),
1064
  'type' => 'editor',
1065
  'default' => 0,
1066
  'variables' => array(
@@ -1074,7 +1074,7 @@ class QSM_Install {
1074
  // Registers limit_total_entries_text setting
1075
  $field_array = array(
1076
  'id' => 'limit_total_entries_text',
1077
- 'label' => __( 'Message Displayed If The Limit Of Total Entries Has Been Reached', 'quiz-master-next' ),
1078
  'type' => 'editor',
1079
  'default' => 0,
1080
  'variables' => array(
@@ -1088,7 +1088,7 @@ class QSM_Install {
1088
  // Registers question_answer_template setting
1089
  $field_array = array(
1090
  'id' => 'question_answer_template',
1091
- 'label' => __( 'Results Page %QUESTIONS_ANSWERS% Text', 'quiz-master-next' ),
1092
  'type' => 'editor',
1093
  'default' => 0,
1094
  'variables' => array(
990
  // Registers message_before setting
991
  $field_array = array(
992
  'id' => 'message_before',
993
+ 'label' => __( 'Text Before Quiz', 'quiz-master-next' ),
994
  'type' => 'editor',
995
  'default' => 0,
996
  'variables' => array(
1004
  // Registers message_comment setting
1005
  $field_array = array(
1006
  'id' => 'message_comment',
1007
+ 'label' => __( 'Text for Comment Box', 'quiz-master-next' ),
1008
  'type' => 'editor',
1009
  'default' => 0,
1010
  'variables' => array(
1018
  // Registers message_end_template setting
1019
  $field_array = array(
1020
  'id' => 'message_end_template',
1021
+ 'label' => __( 'Text After Quiz', 'quiz-master-next' ),
1022
  'type' => 'editor',
1023
  'default' => 0,
1024
  'variables' => array(
1032
  // Registers total_user_tries_text setting
1033
  $field_array = array(
1034
  'id' => 'total_user_tries_text',
1035
+ 'label' => __( 'Text For Limited Attempts', 'quiz-master-next' ),
1036
  'type' => 'editor',
1037
  'default' => 0,
1038
  'variables' => array(
1046
  // Registers require_log_in_text setting
1047
  $field_array = array(
1048
  'id' => 'require_log_in_text',
1049
+ 'label' => __( 'Text for Registered User', 'quiz-master-next' ),
1050
  'type' => 'editor',
1051
  'default' => 0,
1052
  'variables' => array(
1060
  // Registers scheduled_timeframe_text setting
1061
  $field_array = array(
1062
  'id' => 'scheduled_timeframe_text',
1063
+ 'label' => __( 'Text for Expired Quiz', 'quiz-master-next' ),
1064
  'type' => 'editor',
1065
  'default' => 0,
1066
  'variables' => array(
1074
  // Registers limit_total_entries_text setting
1075
  $field_array = array(
1076
  'id' => 'limit_total_entries_text',
1077
+ 'label' => __( 'Text for Limited Entries', 'quiz-master-next' ),
1078
  'type' => 'editor',
1079
  'default' => 0,
1080
  'variables' => array(
1088
  // Registers question_answer_template setting
1089
  $field_array = array(
1090
  'id' => 'question_answer_template',
1091
+ 'label' => __( '%QUESTIONS_ANSWERS% Text', 'quiz-master-next' ),
1092
  'type' => 'editor',
1093
  'default' => 0,
1094
  'variables' => array(
php/classes/class-qsm-questions.php CHANGED
@@ -292,7 +292,7 @@ class QSM_Questions {
292
  }
293
  $sanitize_answers[ $key ] = $answers_array;
294
  }
295
- $answers = apply_filters( 'qsm_answers_before_save', $sanitize_answers, $answers, $data );
296
 
297
  $question_name = htmlspecialchars( wp_kses_post( $data['name'] ), ENT_QUOTES );
298
  $trim_question_description = apply_filters( 'qsm_trim_question_description', true );
292
  }
293
  $sanitize_answers[ $key ] = $answers_array;
294
  }
295
+ $answers = apply_filters( 'qsm_answers_before_save', $sanitize_answers, $answers, $data, $settings );
296
 
297
  $question_name = htmlspecialchars( wp_kses_post( $data['name'] ), ENT_QUOTES );
298
  $trim_question_description = apply_filters( 'qsm_trim_question_description', true );
php/classes/question-types/class-question-review-fill-in-blanks.php CHANGED
@@ -21,7 +21,6 @@ class QSM_Question_Review_Fill_In_Blanks extends QSM_Question_Review {
21
  $user_response = wp_unslash( $_POST[ 'question' . $this->question_id ] ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
22
  foreach ( $user_response as $user_answer_key => $user_answer_value ) {
23
  $user_answer_value = $this->sanitize_answer_from_post( $user_answer_value );
24
- $user_answer_value = $this->decode_response_from_text_field( $user_answer_value );
25
  $this->user_answer[ $user_answer_key ] = $user_answer_value;
26
  }
27
  }
21
  $user_response = wp_unslash( $_POST[ 'question' . $this->question_id ] ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
22
  foreach ( $user_response as $user_answer_key => $user_answer_value ) {
23
  $user_answer_value = $this->sanitize_answer_from_post( $user_answer_value );
 
24
  $this->user_answer[ $user_answer_key ] = $user_answer_value;
25
  }
26
  }
php/classes/question-types/class-question-review-text.php CHANGED
@@ -13,7 +13,6 @@ class QSM_Question_Review_Text extends QSM_Question_Review {
13
  if ( isset( $_POST[ 'question' . $this->question_id ] ) ) {
14
  $user_answer_key = 'input';
15
  $user_answer_value = $this->sanitize_answer_from_post( wp_unslash( $_POST[ 'question' . $this->question_id ] ) ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
16
- $user_answer_value = $this->decode_response_from_text_field( $user_answer_value );
17
  $this->user_answer[ $user_answer_key ] = $user_answer_value;
18
  }
19
  }
13
  if ( isset( $_POST[ 'question' . $this->question_id ] ) ) {
14
  $user_answer_key = 'input';
15
  $user_answer_value = $this->sanitize_answer_from_post( wp_unslash( $_POST[ 'question' . $this->question_id ] ) ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
 
16
  $this->user_answer[ $user_answer_key ] = $user_answer_value;
17
  }
18
  }
php/images/info-yellow.png ADDED
Binary file
php/question-types.php CHANGED
@@ -283,11 +283,11 @@ add_action( 'plugins_loaded', 'qmn_extra_question_types' );
283
  function qmn_extra_question_types() {
284
  global $mlwQuizMasterNext;
285
  if ( ! class_exists( 'QSM_Advance_Question' ) ) {
286
- $mlwQuizMasterNext->pluginHelper->register_question_type( __( 'Matching Pairs', 'quiz-master-next' ), 'qmn_matching_pair_display', false, null, null, null, 15 );
287
- $mlwQuizMasterNext->pluginHelper->set_question_type_meta( 15, 'category', 'Advanced' );
288
- $mlwQuizMasterNext->pluginHelper->register_question_type(__('Radio Grid', 'quiz-master-next'), 'qmn_radio_grid_display', false, null, null, null, 16);
289
- $mlwQuizMasterNext->pluginHelper->set_question_type_meta( 16, 'category', 'Advanced' );
290
- $mlwQuizMasterNext->pluginHelper->register_question_type(__('Checkbox Grid', 'quiz-master-next'), 'qmn_checkbox_grid_display', false, null, null, null, 17);
291
- $mlwQuizMasterNext->pluginHelper->set_question_type_meta(17, 'category', 'Advanced');
292
  }
293
  }
283
  function qmn_extra_question_types() {
284
  global $mlwQuizMasterNext;
285
  if ( ! class_exists( 'QSM_Advance_Question' ) ) {
286
+ $mlwQuizMasterNext->pluginHelper->register_question_type( __( 'Matching Pairs', 'quiz-master-next' ), '-', false, null, null, null, 15 );
287
+ $mlwQuizMasterNext->pluginHelper->set_question_type_meta( 15, 'category', 'Advanced (PRO)' );
288
+ $mlwQuizMasterNext->pluginHelper->register_question_type(__('Radio Grid', 'quiz-master-next'), '-', false, null, null, null, 16);
289
+ $mlwQuizMasterNext->pluginHelper->set_question_type_meta( 16, 'category', 'Advanced (PRO)' );
290
+ $mlwQuizMasterNext->pluginHelper->register_question_type(__('Checkbox Grid', 'quiz-master-next'), '-', false, null, null, null, 17);
291
+ $mlwQuizMasterNext->pluginHelper->set_question_type_meta(17, 'category', 'Advanced (PRO)');
292
  }
293
  }
php/rest-api.php CHANGED
@@ -154,6 +154,10 @@ function qsm_register_rest_routes() {
154
  function qsm_rest_get_bank_questions( WP_REST_Request $request ) {
155
  if ( is_user_logged_in() ) {
156
  global $wpdb;
 
 
 
 
157
  $category = isset( $_REQUEST['category'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['category'] ) ) : '';
158
  $search = isset( $_REQUEST['search'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['search'] ) ) : '';
159
  $enabled = get_option( 'qsm_multiple_category_enabled' );
@@ -170,12 +174,12 @@ function qsm_rest_get_bank_questions( WP_REST_Request $request ) {
170
  $question_ids[] = esc_sql( intval( $term_id['question_id'] ) );
171
  }
172
  $question_ids = array_unique( $question_ids );
173
- $query = $wpdb->prepare( "SELECT COUNT(question_id) as total_question FROM {$wpdb->prefix}mlw_questions WHERE deleted = 0 AND deleted_question_bank = 0 AND question_id IN (%s) AND question_settings LIKE %s", implode( ',', $question_ids ), $search );
174
  } else {
175
- $query = $wpdb->prepare( "SELECT COUNT(question_id) as total_question FROM {$wpdb->prefix}mlw_questions WHERE deleted = 0 AND deleted_question_bank = 0 AND category = %s AND question_settings LIKE %s", $category, '%' . $search . '%' );
176
  }
177
  } else {
178
- $query = $wpdb->prepare( "SELECT COUNT(question_id) as total_question FROM {$wpdb->prefix}mlw_questions WHERE deleted = 0 AND deleted_question_bank=0 AND question_settings LIKE %s", '%' . $search . '%' );
179
  }
180
  $total_count_query = $wpdb->get_row( $query, 'ARRAY_A' );
181
  $total_count = isset( $total_count_query['total_question'] ) ? $total_count_query['total_question'] : 0;
@@ -201,7 +205,7 @@ function qsm_rest_get_bank_questions( WP_REST_Request $request ) {
201
  $question_ids = array_unique( $question_ids );
202
  $query_result = array();
203
  foreach ( $question_ids as $question_id ) {
204
- $query = $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}mlw_questions WHERE deleted = 0 AND deleted_question_bank = 0 AND question_id = %d AND question_settings LIKE %s ORDER BY question_order ASC LIMIT %d, %d", $question_id, '%' . $search . '%', $offset, $limit );
205
  $question_data = $wpdb->get_row( $query, 'ARRAY_A' );
206
  if ( ! is_null( $question_data ) ) {
207
  $query_result[] = $question_data;
@@ -209,11 +213,11 @@ function qsm_rest_get_bank_questions( WP_REST_Request $request ) {
209
  }
210
  $questions = $query_result;
211
  } else {
212
- $query = $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}mlw_questions WHERE deleted = 0 AND deleted_question_bank = 0 AND category = %s AND question_settings LIKE %s ORDER BY question_order ASC LIMIT %d, %d", $category, '%' . $search . '%', $offset, $limit );
213
  $questions = $wpdb->get_results( $query, 'ARRAY_A' );
214
  }
215
  } else {
216
- $query = $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}mlw_questions WHERE deleted = 0 AND deleted_question_bank = 0 AND question_settings LIKE %s ORDER BY question_order ASC LIMIT %d, %d", '%' . $search . '%', $offset, $limit );
217
  $questions = $wpdb->get_results( $query, 'ARRAY_A' );
218
  }
219
 
154
  function qsm_rest_get_bank_questions( WP_REST_Request $request ) {
155
  if ( is_user_logged_in() ) {
156
  global $wpdb;
157
+ $quiz_filter = '%%';
158
+ if ( ! empty( $_REQUEST['quizID'] ) ) {
159
+ $quiz_filter = sanitize_text_field( wp_unslash( $_REQUEST['quizID'] ) );
160
+ }
161
  $category = isset( $_REQUEST['category'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['category'] ) ) : '';
162
  $search = isset( $_REQUEST['search'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['search'] ) ) : '';
163
  $enabled = get_option( 'qsm_multiple_category_enabled' );
174
  $question_ids[] = esc_sql( intval( $term_id['question_id'] ) );
175
  }
176
  $question_ids = array_unique( $question_ids );
177
+ $query = $wpdb->prepare( "SELECT COUNT(question_id) as total_question FROM {$wpdb->prefix}mlw_questions WHERE deleted = 0 AND deleted_question_bank = 0 AND question_id IN (%s) AND quiz_id LIKE %s AND question_settings LIKE %s", implode( ',', $question_ids ), $quiz_filter, $search );
178
  } else {
179
+ $query = $wpdb->prepare( "SELECT COUNT(question_id) as total_question FROM {$wpdb->prefix}mlw_questions WHERE deleted = 0 AND deleted_question_bank = 0 AND category = %s AND quiz_id LIKE %s AND question_settings LIKE %s", $category, $quiz_filter, '%' . $search . '%' );
180
  }
181
  } else {
182
+ $query = $wpdb->prepare( "SELECT COUNT(question_id) as total_question FROM {$wpdb->prefix}mlw_questions WHERE deleted = 0 AND deleted_question_bank=0 AND quiz_id LIKE %s AND question_settings LIKE %s", $quiz_filter, '%' . $search . '%' );
183
  }
184
  $total_count_query = $wpdb->get_row( $query, 'ARRAY_A' );
185
  $total_count = isset( $total_count_query['total_question'] ) ? $total_count_query['total_question'] : 0;
205
  $question_ids = array_unique( $question_ids );
206
  $query_result = array();
207
  foreach ( $question_ids as $question_id ) {
208
+ $query = $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}mlw_questions WHERE deleted = 0 AND deleted_question_bank = 0 AND question_id = %d AND quiz_id LIKE %s AND question_settings LIKE %s ORDER BY question_order ASC LIMIT %d, %d", $question_id, $quiz_filter, '%' . $search . '%', $offset, $limit );
209
  $question_data = $wpdb->get_row( $query, 'ARRAY_A' );
210
  if ( ! is_null( $question_data ) ) {
211
  $query_result[] = $question_data;
213
  }
214
  $questions = $query_result;
215
  } else {
216
+ $query = $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}mlw_questions WHERE deleted = 0 AND deleted_question_bank = 0 AND category = %s AND quiz_id LIKE %s AND question_settings LIKE %s ORDER BY question_order ASC LIMIT %d, %d", $category, $quiz_filter, '%' . $search . '%', $offset, $limit );
217
  $questions = $wpdb->get_results( $query, 'ARRAY_A' );
218
  }
219
  } else {
220
+ $query = $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}mlw_questions WHERE deleted = 0 AND deleted_question_bank = 0 AND quiz_id LIKE %s AND question_settings LIKE %s ORDER BY question_order ASC LIMIT %d, %d", $quiz_filter, '%' . $search . '%', $offset, $limit );
221
  $questions = $wpdb->get_results( $query, 'ARRAY_A' );
222
  }
223
 
php/template-variables.php CHANGED
@@ -1051,13 +1051,13 @@ function qsm_questions_answers_shortcode_to_text( $mlw_quiz_array, $qmn_question
1051
  $current_answer_zero = trim( str_replace( ' ', '', preg_replace( '/\s\s+/', '', $current_answer_zero ) ) );
1052
  }
1053
 
1054
- if ( 0 == strcasecmp( $user_given_answer, $current_answer_zero ) ) {
1055
  $question_with_answer_text .= '<span class="qsm-text-correct-option qsm-text-user-correct-answer">' . $user_given_answer . '</span>';
1056
  $do_show_wrong = false;
1057
  }
1058
  }
1059
  } else {
1060
- if ( isset( $single_answer[2] ) && strcasecmp( $user_given_answer, $current_answer_zero ) == 0 ) {
1061
  $question_with_answer_text .= '<span class="qsm-text-correct-option">' . $mlwQuizMasterNext->pluginHelper->qsm_language_support( $single_answer[0], 'answer-' . $single_answer[0], 'QSM Answers' ) . '</span>';
1062
  $do_show_wrong = false;
1063
  }
@@ -1250,14 +1250,20 @@ function qsm_questions_answers_shortcode_to_text( $mlw_quiz_array, $qmn_question
1250
  $user_answer_new = __( 'No Answer Provided', 'quiz-master-next' );
1251
  }
1252
  if ( isset( $question_settings['answerEditor'] ) && 'image' === $question_settings['answerEditor'] && '' !== $user_answer_new ) {
 
 
 
 
 
 
 
1253
  $image_url = htmlspecialchars_decode( $user_answer_new, ENT_QUOTES );
1254
  $caption = "";
1255
  if ( ! empty($single_answer[3]) ) {
1256
  $caption_name = array_search($image_url, $image_list, true);
1257
  $caption = '<span class="qsm_image_result_caption">'.$caption_name.'</span>';
1258
-
1259
  }
1260
- $mlw_question_answer_display = str_replace( '%USER_ANSWER%', "$open_span_tag<img src='$image_url'/>$close_span_with_br$caption ", $mlw_question_answer_display );
1261
 
1262
 
1263
  } elseif ( 5 == $answer['question_type'] || 3 == $answer['question_type'] ) {
1051
  $current_answer_zero = trim( str_replace( ' ', '', preg_replace( '/\s\s+/', '', $current_answer_zero ) ) );
1052
  }
1053
 
1054
+ if ( 'correct' === $answer['correct'] ) {
1055
  $question_with_answer_text .= '<span class="qsm-text-correct-option qsm-text-user-correct-answer">' . $user_given_answer . '</span>';
1056
  $do_show_wrong = false;
1057
  }
1058
  }
1059
  } else {
1060
+ if ( isset( $single_answer[2] ) && 'correct' === $answer['correct'] ) {
1061
  $question_with_answer_text .= '<span class="qsm-text-correct-option">' . $mlwQuizMasterNext->pluginHelper->qsm_language_support( $single_answer[0], 'answer-' . $single_answer[0], 'QSM Answers' ) . '</span>';
1062
  $do_show_wrong = false;
1063
  }
1250
  $user_answer_new = __( 'No Answer Provided', 'quiz-master-next' );
1251
  }
1252
  if ( isset( $question_settings['answerEditor'] ) && 'image' === $question_settings['answerEditor'] && '' !== $user_answer_new ) {
1253
+ $size_style = '';
1254
+ if ( ! empty($question_settings['image_size-width']) ) {
1255
+ $size_style .= 'width:'.$question_settings['image_size-width'].'px !important;';
1256
+ }
1257
+ if ( ! empty($question_settings['image_size-height']) ) {
1258
+ $size_style .= ' height:'.$question_settings['image_size-height'].'px !important;';
1259
+ }
1260
  $image_url = htmlspecialchars_decode( $user_answer_new, ENT_QUOTES );
1261
  $caption = "";
1262
  if ( ! empty($single_answer[3]) ) {
1263
  $caption_name = array_search($image_url, $image_list, true);
1264
  $caption = '<span class="qsm_image_result_caption">'.$caption_name.'</span>';
 
1265
  }
1266
+ $mlw_question_answer_display = str_replace( '%USER_ANSWER%', "$open_span_tag<img src='$image_url' style='" . esc_attr( $size_style ) . "'/>$close_span_with_br$caption ", $mlw_question_answer_display );
1267
 
1268
 
1269
  } elseif ( 5 == $answer['question_type'] || 3 == $answer['question_type'] ) {
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: quiz, survey, lead, test, score, exam, questionnaire, question,wordpress q
4
  Requires at least: 4.9
5
  Tested up to: 6.0
6
  Requires PHP: 5.4
7
- Stable tag: 8.0.5
8
  License: GPLv2
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -163,6 +163,14 @@ This is usually a theme conflict. You can [checkout out our common conflict solu
163
  18. Database
164
 
165
  == Changelog ==
 
 
 
 
 
 
 
 
166
  = 8.0.5 (Oct 20, 2022) =
167
  * Bug: Fixed issue with random question and answers
168
  * Bug: Fixed issue with quiz timer
4
  Requires at least: 4.9
5
  Tested up to: 6.0
6
  Requires PHP: 5.4
7
+ Stable tag: 8.0.6
8
  License: GPLv2
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
163
  18. Database
164
 
165
  == Changelog ==
166
+ = 8.0.6 (Nov 22, 2022) =
167
+ * Feature: Added option to search by quiz in question bank
168
+ * Feature: Added option to set image size in email template
169
+ * Bug: Fixed timer issue with multiple quiz shortcodes
170
+ * Bug: Fixed issue with german and french language questions
171
+ * Enhancement: Added alert for non active question types
172
+ * Enhancement: Improved UI in text tabs
173
+
174
  = 8.0.5 (Oct 20, 2022) =
175
  * Bug: Fixed issue with random question and answers
176
  * Bug: Fixed issue with quiz timer
templates/qmn_primary.css CHANGED
@@ -95,7 +95,6 @@
95
  border: 0;
96
  margin: 0;
97
  padding: 15px 0 15px 0;
98
- font-size: 16px;
99
  }
100
 
101
  .quiz_section.border {
@@ -112,11 +111,6 @@
112
  box-sizing: border-box;
113
  }
114
 
115
- /*.quiz_section > .mlw_qmn_question,
116
- .quiz_section > .quiz-cat{
117
- display: inline-block;
118
- }*/
119
-
120
  .quiz_section>.quiz-cat {
121
  margin-left: 15px;
122
  font-size: 14px;
@@ -352,26 +346,6 @@ label.inline .mlw_qmn_question,
352
  border-radius: 3px;
353
  }
354
 
355
- .qmn_btn,
356
- .qmn_quiz_container .btn {
357
- display: relative;
358
- display: inline-block;
359
- color: #666 !important;
360
- background: #ccc !important;
361
- font-size: 16px !important;
362
- padding: 10px 20px 10px 20px !important;
363
- text-decoration: none !important;
364
- -webkit-border-radius: 3px;
365
- -moz-border-radius: 3px;
366
- border-radius: 3px;
367
- -webkit-box-shadow: 0px 0px 6px rgba(0, 0, 0, .05);
368
- -moz-box-shadow: 0px 0px 6px rgba(0, 0, 0, .05);
369
- box-shadow: 0px 0px 6px rgba(0, 0, 0, .05);
370
- -webkit-transition: background .25s ease-out;
371
- -moz-transition: background .25s ease-out;
372
- transition: background .25s ease-out;
373
- }
374
-
375
  .qmn_btn:hover,
376
  .qmn_quiz_container .btn:hover {
377
  color: #fff;
@@ -394,15 +368,6 @@ label.inline .mlw_qmn_question,
394
  }
395
  }
396
 
397
- /* .qmn_page_counter_message {
398
- font-size: 14px;
399
- color: #999;
400
- width: 100px;
401
- padding: 10px 20px 10px 20px;
402
- margin: 0 auto;
403
- text-align: center;
404
- } */
405
-
406
  .mlw_qmn_timer {
407
  z-index: 999;
408
  display: inline-block;
@@ -463,11 +428,6 @@ label.inline .mlw_qmn_question,
463
  background: #2980b9 !important;
464
  }
465
 
466
- .quiz_section.quiz_end .qsm-submit-btn {
467
- display: block;
468
- margin: 10px 0;
469
- }
470
-
471
  /* Helper classes */
472
 
473
  .border-none {
95
  border: 0;
96
  margin: 0;
97
  padding: 15px 0 15px 0;
 
98
  }
99
 
100
  .quiz_section.border {
111
  box-sizing: border-box;
112
  }
113
 
 
 
 
 
 
114
  .quiz_section>.quiz-cat {
115
  margin-left: 15px;
116
  font-size: 14px;
346
  border-radius: 3px;
347
  }
348
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
349
  .qmn_btn:hover,
350
  .qmn_quiz_container .btn:hover {
351
  color: #fff;
368
  }
369
  }
370
 
 
 
 
 
 
 
 
 
 
371
  .mlw_qmn_timer {
372
  z-index: 999;
373
  display: inline-block;
428
  background: #2980b9 !important;
429
  }
430
 
 
 
 
 
 
431
  /* Helper classes */
432
 
433
  .border-none {