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

Version Description

(Jan 24, 2020) = * Bug: Solve vulnerability issues reported by wordfence * Bug: PHP notices in Settings page * Bug: Audio files does not show and play in the Question * Bug: Unable to rename quiz * Bug: Thumbnail and Medium size image does not show up in Question * Bug: PHP warnings in get free adon page * Bug: Video Shortcode does not work in Question * Feature: WordPress 5.3 compatability

Download this release

Release Info

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

Code changes from version 6.4 to 6.4.1

Files changed (4) hide show
  1. js/qsm-admin.js +1 -1
  2. mlw_quizmaster2.php +2 -2
  3. php/question-types.php +21 -23
  4. readme.txt +16 -4
js/qsm-admin.js CHANGED
@@ -35,7 +35,7 @@ var QSMQuizzesSurveys;
35
  },
36
  searchQuizzes: function( query ) {
37
  $( ".qsm-quiz-row" ).each(function() {
38
- if ( -1 === $( this ).find( '.qsm-quiz-name' ).text().toLowerCase().indexOf( query.toLowerCase() ) ) {
39
  $( this ).hide();
40
  } else {
41
  $( this ).show();
35
  },
36
  searchQuizzes: function( query ) {
37
  $( ".qsm-quiz-row" ).each(function() {
38
+ if ( -1 === $( this ).find( '.row-title' ).text().toLowerCase().indexOf( query.toLowerCase() ) ) {
39
  $( this ).hide();
40
  } else {
41
  $( this ).show();
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: 6.4
6
  * Author: ExpressTech
7
  * Author URI: https://quizandsurveymaster.com/
8
  * Plugin URI: https://expresstech.io/
@@ -37,7 +37,7 @@ class MLWQuizMasterNext {
37
  * @var string
38
  * @since 4.0.0
39
  */
40
- public $version = '6.3.6';
41
 
42
  /**
43
  * 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: 6.4.1
6
  * Author: ExpressTech
7
  * Author URI: https://quizandsurveymaster.com/
8
  * Plugin URI: https://expresstech.io/
37
  * @var string
38
  * @since 4.0.0
39
  */
40
+ public $version = '6.4.1';
41
 
42
  /**
43
  * QSM Alert Manager Object
php/question-types.php CHANGED
@@ -42,8 +42,7 @@ function qmn_file_upload_display($id, $question, $answers)
42
  $required = $mlwQuizMasterNext->pluginHelper->get_question_setting($id, 'required');
43
  if ($required == 0) {$mlw_requireClass = "mlwRequiredFileUpload";} else {$mlw_requireClass = "";}
44
  //$question_title = apply_filters('the_content', $question);
45
- $question_title = $question;
46
- $question_display .= "<span class='mlw_qmn_question'>".do_shortcode(htmlspecialchars_decode($question_title, ENT_QUOTES))."</span>";
47
  $question_display .= "<input type='file' class='mlw_answer_file_upload $mlw_requireClass'/>";
48
  $question_display .= "<div style='display: none;' class='remove-uploaded-file'><span class='dashicons dashicons-trash'></span></div>";
49
  $question_display .= "<input class='mlw_file_upload_hidden_value' type='hidden' name='question".$id."' value='' />";
@@ -106,8 +105,7 @@ function qmn_multiple_choice_display($id, $question, $answers)
106
  $required = $mlwQuizMasterNext->pluginHelper->get_question_setting($id, 'required');
107
  if ($required == 0) {$mlw_requireClass = "mlwRequiredRadio";} else {$mlw_requireClass = "";}
108
  //$question_title = apply_filters('the_content', $question);
109
- $question_title = $question;
110
- $question_display .= "<span class='mlw_qmn_question'>".do_shortcode(htmlspecialchars_decode($question_title, ENT_QUOTES))."</span>";
111
  $question_display .= "<div class='qmn_radio_answers $mlw_requireClass'>";
112
  if (is_array($answers))
113
  {
@@ -197,8 +195,7 @@ function qmn_date_display($id, $question, $answers)
197
  $required = $mlwQuizMasterNext->pluginHelper->get_question_setting($id, 'required');
198
  if ($required == 0) {$mlw_requireClass = "mlwRequiredDate";} else {$mlw_requireClass = "";}
199
  //$question_title = apply_filters('the_content', $question);
200
- $question_title = $question;
201
- $question_display .= "<span class='mlw_qmn_question'>".do_shortcode(htmlspecialchars_decode($question_title, ENT_QUOTES))."</span>";
202
  $question_display .= "<input type='date' class='mlw_answer_date $mlw_requireClass' name='question".$id."' id='question".$id."' value=''/>";
203
  //$question_display .= "<script>jQuery(document).ready(function () { jQuery('#question".$id."').datepicker(); });</script>";
204
  return apply_filters('qmn_date_display_front',$question_display,$id, $question, $answers);
@@ -269,8 +266,7 @@ function qmn_horizontal_multiple_choice_display($id, $question, $answers)
269
  $required = $mlwQuizMasterNext->pluginHelper->get_question_setting($id, 'required');
270
  if ($required == 0) {$mlw_requireClass = "mlwRequiredRadio";} else {$mlw_requireClass = "";}
271
  //$question_title = apply_filters('the_content', $question);
272
- $question_title = $question;
273
- $question_display .= "<span class='mlw_qmn_question'>".do_shortcode(htmlspecialchars_decode($question_title, ENT_QUOTES))."</span>";
274
  $question_display .= "<div class='qmn_radio_answers $mlw_requireClass'>";
275
  if (is_array($answers))
276
  {
@@ -364,9 +360,8 @@ function qmn_drop_down_display($id, $question, $answers)
364
  } else {
365
  $require_class = "";
366
  }
367
- //$question_title = apply_filters('the_content', $question);
368
- $question_title = $question;
369
- $question_display .= "<span class='mlw_qmn_question'>" . do_shortcode( htmlspecialchars_decode( $question_title, ENT_QUOTES ) ) . "</span>";
370
  $question_display .= "<select class='qsm_select $require_class' name='question".$id."'>";
371
  $question_display .= "<option value='No Answer Provided'>" . __('Please select your answer','quiz-master-next') . "</option>";
372
  if (is_array($answers))
@@ -460,8 +455,7 @@ function qmn_small_open_display($id, $question, $answers)
460
  $limit_text_att = $limit_text ? "maxlength='". $limit_text ."' " : '';
461
  if ($required == 0) {$mlw_requireClass = "mlwRequiredText";} else {$mlw_requireClass = "";}
462
  //$question_title = apply_filters('the_content', $question);
463
- $question_title = $question;
464
- $question_display .= "<span class='mlw_qmn_question'>".do_shortcode(htmlspecialchars_decode($question_title, ENT_QUOTES))."</span>";
465
  $question_display .= "<input ". $autofill_att . $limit_text_att . " type='text' class='mlw_answer_open_text $mlw_requireClass' name='question".$id."' />";
466
  return apply_filters('qmn_small_open_display_front',$question_display,$id, $question, $answers);
467
  }
@@ -537,8 +531,7 @@ function qmn_multiple_response_display($id, $question, $answers)
537
  $limit_mr_text = 'onchange="qsmCheckMR(this,'. $limit_multiple_response .')"';
538
  if ($required == 0) {$mlw_requireClass = "mlwRequiredCheck";} else {$mlw_requireClass = "";}
539
  //$question_title = apply_filters('the_content', $question);
540
- $question_title = $question;
541
- $question_display .= "<span class='mlw_qmn_question'>".do_shortcode(htmlspecialchars_decode($question_title, ENT_QUOTES))."</span>";
542
  $question_display .= "<div class='qmn_check_answers $mlw_requireClass'>";
543
  if (is_array($answers))
544
  {
@@ -639,8 +632,7 @@ function qmn_large_open_display($id, $question, $answers)
639
  $required = $mlwQuizMasterNext->pluginHelper->get_question_setting($id, 'required');
640
  if ($required == 0) {$mlw_requireClass = "mlwRequiredText";} else {$mlw_requireClass = "";}
641
  //$question_title = apply_filters('the_content', $question);
642
- $question_title = $question;
643
- $question_display .= "<span class='mlw_qmn_question'>".do_shortcode(htmlspecialchars_decode($question_title, ENT_QUOTES))."</span>";
644
  $question_display .= "<textarea class='mlw_answer_open_text $mlw_requireClass' cols='70' rows='5' name='question".$id."' /></textarea>";
645
  return apply_filters('qmn_large_open_display_front',$question_display,$id, $question, $answers);
646
  }
@@ -756,8 +748,7 @@ function qmn_number_display($id, $question, $answers)
756
  $required = $mlwQuizMasterNext->pluginHelper->get_question_setting($id, 'required');
757
  if ($required == 0) {$mlw_requireClass = "mlwRequiredNumber";} else {$mlw_requireClass = "";}
758
  //$question_title = apply_filters('the_content', $question);
759
- $question_title = $question;
760
- $question_display .= "<span class='mlw_qmn_question'>".do_shortcode(htmlspecialchars_decode($question_title, ENT_QUOTES))."</span>";
761
  $question_display .= "<input type='number' class='mlw_answer_number $mlw_requireClass' name='question".$id."' />";
762
  return apply_filters('qmn_number_display_front',$question_display,$id, $question, $answers);
763
  }
@@ -941,8 +932,7 @@ function qmn_horizontal_multiple_response_display($id, $question, $answers)
941
  $required = $mlwQuizMasterNext->pluginHelper->get_question_setting($id, 'required');
942
  if ($required == 0) {$mlw_requireClass = "mlwRequiredCheck";} else {$mlw_requireClass = "";}
943
  //$question_title = apply_filters('the_content', $question);
944
- $question_title = $question;
945
- $question_display .= "<span class='mlw_qmn_question'>".do_shortcode(htmlspecialchars_decode($question_title, ENT_QUOTES))."</span>";
946
  $question_display .= "<div class='qmn_check_answers $mlw_requireClass'>";
947
  if (is_array($answers))
948
  {
@@ -1067,8 +1057,7 @@ function qmn_fill_blank_display($id, $question, $answers)
1067
  $question = str_replace( "%BLANK%", $input_text, do_shortcode(htmlspecialchars_decode($question, ENT_QUOTES)));
1068
  }
1069
  //$question_title = apply_filters('the_content', $question);
1070
- $question_title = $question;
1071
- $question_display = "<span class='mlw_qmn_question'>" . do_shortcode(htmlspecialchars_decode($question_title, ENT_QUOTES)) ."</span>";
1072
  return apply_filters('qmn_fill_blank_display_front',$question_display,$id, $question, $answers);
1073
  }
1074
 
@@ -1114,4 +1103,13 @@ function qmn_fill_blank_review($id, $question, $answers)
1114
  }
1115
  return $return_array;
1116
  }
 
 
 
 
 
 
 
 
 
1117
  ?>
42
  $required = $mlwQuizMasterNext->pluginHelper->get_question_setting($id, 'required');
43
  if ($required == 0) {$mlw_requireClass = "mlwRequiredFileUpload";} else {$mlw_requireClass = "";}
44
  //$question_title = apply_filters('the_content', $question);
45
+ $question_display .= qsm_question_title_func($question);
 
46
  $question_display .= "<input type='file' class='mlw_answer_file_upload $mlw_requireClass'/>";
47
  $question_display .= "<div style='display: none;' class='remove-uploaded-file'><span class='dashicons dashicons-trash'></span></div>";
48
  $question_display .= "<input class='mlw_file_upload_hidden_value' type='hidden' name='question".$id."' value='' />";
105
  $required = $mlwQuizMasterNext->pluginHelper->get_question_setting($id, 'required');
106
  if ($required == 0) {$mlw_requireClass = "mlwRequiredRadio";} else {$mlw_requireClass = "";}
107
  //$question_title = apply_filters('the_content', $question);
108
+ $question_display .= qsm_question_title_func($question);
 
109
  $question_display .= "<div class='qmn_radio_answers $mlw_requireClass'>";
110
  if (is_array($answers))
111
  {
195
  $required = $mlwQuizMasterNext->pluginHelper->get_question_setting($id, 'required');
196
  if ($required == 0) {$mlw_requireClass = "mlwRequiredDate";} else {$mlw_requireClass = "";}
197
  //$question_title = apply_filters('the_content', $question);
198
+ $question_display .= qsm_question_title_func($question);
 
199
  $question_display .= "<input type='date' class='mlw_answer_date $mlw_requireClass' name='question".$id."' id='question".$id."' value=''/>";
200
  //$question_display .= "<script>jQuery(document).ready(function () { jQuery('#question".$id."').datepicker(); });</script>";
201
  return apply_filters('qmn_date_display_front',$question_display,$id, $question, $answers);
266
  $required = $mlwQuizMasterNext->pluginHelper->get_question_setting($id, 'required');
267
  if ($required == 0) {$mlw_requireClass = "mlwRequiredRadio";} else {$mlw_requireClass = "";}
268
  //$question_title = apply_filters('the_content', $question);
269
+ $question_display .= qsm_question_title_func($question);
 
270
  $question_display .= "<div class='qmn_radio_answers $mlw_requireClass'>";
271
  if (is_array($answers))
272
  {
360
  } else {
361
  $require_class = "";
362
  }
363
+ //$question_title = apply_filters('the_content', $question);
364
+ $question_display .= qsm_question_title_func($question);
 
365
  $question_display .= "<select class='qsm_select $require_class' name='question".$id."'>";
366
  $question_display .= "<option value='No Answer Provided'>" . __('Please select your answer','quiz-master-next') . "</option>";
367
  if (is_array($answers))
455
  $limit_text_att = $limit_text ? "maxlength='". $limit_text ."' " : '';
456
  if ($required == 0) {$mlw_requireClass = "mlwRequiredText";} else {$mlw_requireClass = "";}
457
  //$question_title = apply_filters('the_content', $question);
458
+ $question_display .= qsm_question_title_func($question);
 
459
  $question_display .= "<input ". $autofill_att . $limit_text_att . " type='text' class='mlw_answer_open_text $mlw_requireClass' name='question".$id."' />";
460
  return apply_filters('qmn_small_open_display_front',$question_display,$id, $question, $answers);
461
  }
531
  $limit_mr_text = 'onchange="qsmCheckMR(this,'. $limit_multiple_response .')"';
532
  if ($required == 0) {$mlw_requireClass = "mlwRequiredCheck";} else {$mlw_requireClass = "";}
533
  //$question_title = apply_filters('the_content', $question);
534
+ $question_display .= qsm_question_title_func($question);
 
535
  $question_display .= "<div class='qmn_check_answers $mlw_requireClass'>";
536
  if (is_array($answers))
537
  {
632
  $required = $mlwQuizMasterNext->pluginHelper->get_question_setting($id, 'required');
633
  if ($required == 0) {$mlw_requireClass = "mlwRequiredText";} else {$mlw_requireClass = "";}
634
  //$question_title = apply_filters('the_content', $question);
635
+ $question_display .= qsm_question_title_func($question);
 
636
  $question_display .= "<textarea class='mlw_answer_open_text $mlw_requireClass' cols='70' rows='5' name='question".$id."' /></textarea>";
637
  return apply_filters('qmn_large_open_display_front',$question_display,$id, $question, $answers);
638
  }
748
  $required = $mlwQuizMasterNext->pluginHelper->get_question_setting($id, 'required');
749
  if ($required == 0) {$mlw_requireClass = "mlwRequiredNumber";} else {$mlw_requireClass = "";}
750
  //$question_title = apply_filters('the_content', $question);
751
+ $question_display .= qsm_question_title_func($question);
 
752
  $question_display .= "<input type='number' class='mlw_answer_number $mlw_requireClass' name='question".$id."' />";
753
  return apply_filters('qmn_number_display_front',$question_display,$id, $question, $answers);
754
  }
932
  $required = $mlwQuizMasterNext->pluginHelper->get_question_setting($id, 'required');
933
  if ($required == 0) {$mlw_requireClass = "mlwRequiredCheck";} else {$mlw_requireClass = "";}
934
  //$question_title = apply_filters('the_content', $question);
935
+ $question_display .= qsm_question_title_func($question);
 
936
  $question_display .= "<div class='qmn_check_answers $mlw_requireClass'>";
937
  if (is_array($answers))
938
  {
1057
  $question = str_replace( "%BLANK%", $input_text, do_shortcode(htmlspecialchars_decode($question, ENT_QUOTES)));
1058
  }
1059
  //$question_title = apply_filters('the_content', $question);
1060
+ $question_display .= qsm_question_title_func($question);
 
1061
  return apply_filters('qmn_fill_blank_display_front',$question_display,$id, $question, $answers);
1062
  }
1063
 
1103
  }
1104
  return $return_array;
1105
  }
1106
+
1107
+ function qsm_question_title_func($question){
1108
+ //$question_title = apply_filters('the_content', $question);
1109
+ $question_title = $question;
1110
+ global $wp_embed;
1111
+ $question_title = $wp_embed->run_shortcode($question_title);
1112
+ $question_display = "<span class='mlw_qmn_question'>" . do_shortcode( htmlspecialchars_decode( $question_title, ENT_QUOTES ) ) . "</span>";
1113
+ return $question_display;
1114
+ }
1115
  ?>
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: 5.3.2
6
  Requires PHP: 5.4
7
- Stable tag: 6.4
8
  License: GPLv2
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -69,16 +69,18 @@ While Quiz And Survey Master is fully functional and is packed full of features
69
 
70
  **Premium Add-ons**
71
 
 
 
 
 
72
  * [URL Parameters](http://bit.ly/2I1ZM6g)
73
  * [Google Analytics Tracking](http://bit.ly/2AAgABs)
74
  * [Landing Page](https://quizandsurveymaster.com/downloads/landing-page/?utm_source=readme&utm_medium=plugin&utm_content=landing-page&utm_campaign=qsm_plugin)
75
- * [Export Results](https://quizandsurveymaster.com/downloads/export-results/?utm_source=readme&utm_medium=plugin&utm_content=export-results&utm_campaign=qsm_plugin)
76
- * [Reporting & Analysis](https://quizandsurveymaster.com/downloads/results-analysis/?utm_source=readme&utm_medium=plugin&utm_content=reporting-analysis&utm_campaign=qsm_plugin)
77
  * [MailChimp Integration](https://quizandsurveymaster.com/downloads/mailchimp-integration/?utm_source=readme&utm_medium=plugin&utm_content=mailchimp-integration&utm_campaign=qsm_plugin)
78
  * And **many** more available in our [Quiz And Survey Master Addon Store](https://quizandsurveymaster.com/addons/?utm_source=readme&utm_medium=plugin&utm_content=all-addons&utm_campaign=qsm_plugin)
79
 
80
  **About Us**
81
- QSM is a WordPress Quiz Plugin which is owned completely by [ExpressTech](expresstech.io)
82
 
83
  == Installation ==
84
 
@@ -116,6 +118,16 @@ This is usually a theme conflict. You can [checkout out our common conflict solu
116
 
117
  == Changelog ==
118
 
 
 
 
 
 
 
 
 
 
 
119
  = 6.4 (Jan 1, 2020) =
120
  * Bug: Result summary page is not displaying Math problems
121
  * Feature: Client wants users to upload images/attachments to the survey
4
  Requires at least: 4.9
5
  Tested up to: 5.3.2
6
  Requires PHP: 5.4
7
+ Stable tag: 6.4.1
8
  License: GPLv2
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
69
 
70
  **Premium Add-ons**
71
 
72
+ * [Reporting & Analysis](https://quizandsurveymaster.com/downloads/results-analysis/?utm_source=readme&utm_medium=plugin&utm_content=reporting-analysis&utm_campaign=qsm_plugin)
73
+ * [Export Results](https://quizandsurveymaster.com/downloads/export-results/?utm_source=readme&utm_medium=plugin&utm_content=export-results&utm_campaign=qsm_plugin)
74
+ * [Logic](https://quizandsurveymaster.com/downloads/logic/?utm_source=readme&utm_medium=plugin&utm_content=logic&utm_campaign=qsm_plugin)
75
+ * [User Dashboard](https://quizandsurveymaster.com/downloads/user-dashboard/?utm_source=readme&utm_medium=plugin&utm_content=user-dashboard&utm_campaign=qsm_plugin)
76
  * [URL Parameters](http://bit.ly/2I1ZM6g)
77
  * [Google Analytics Tracking](http://bit.ly/2AAgABs)
78
  * [Landing Page](https://quizandsurveymaster.com/downloads/landing-page/?utm_source=readme&utm_medium=plugin&utm_content=landing-page&utm_campaign=qsm_plugin)
 
 
79
  * [MailChimp Integration](https://quizandsurveymaster.com/downloads/mailchimp-integration/?utm_source=readme&utm_medium=plugin&utm_content=mailchimp-integration&utm_campaign=qsm_plugin)
80
  * And **many** more available in our [Quiz And Survey Master Addon Store](https://quizandsurveymaster.com/addons/?utm_source=readme&utm_medium=plugin&utm_content=all-addons&utm_campaign=qsm_plugin)
81
 
82
  **About Us**
83
+ QSM is a WordPress Quiz Plugin which is owned completely by [ExpressTech](https://expresstech.io)
84
 
85
  == Installation ==
86
 
118
 
119
  == Changelog ==
120
 
121
+ = 6.4.1 (Jan 24, 2020) =
122
+ * Bug: Solve vulnerability issues reported by wordfence
123
+ * Bug: PHP notices in Settings page
124
+ * Bug: Audio files does not show and play in the Question
125
+ * Bug: Unable to rename quiz
126
+ * Bug: Thumbnail and Medium size image does not show up in Question
127
+ * Bug: PHP warnings in get free adon page
128
+ * Bug: Video Shortcode does not work in Question
129
+ * Feature: WordPress 5.3 compatability
130
+
131
  = 6.4 (Jan 1, 2020) =
132
  * Bug: Result summary page is not displaying Math problems
133
  * Feature: Client wants users to upload images/attachments to the survey