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

Version Description

(Dec 05, 2022) = * Feature: Added option to show and hide Text/HTML question type on result page * Bug: Fixed block.js warnings * Bug: Fixed issue with required questions validations

Download this release

Release Info

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

Code changes from version 8.0.6 to 8.0.7

blocks/block.js CHANGED
@@ -1,19 +1,21 @@
1
- var quizListEndPoint = wpApiSettings.root+'quiz-survey-master/v2/quizzlist/';
2
- var quizList;
3
- jQuery.ajax( quizListEndPoint , {
 
4
  data: null ,
5
  method: 'GET',
6
- success : function(response){
7
- quizList = response;
8
  }
9
- });
10
 
11
  var el = wp.element.createElement,
12
  registerBlockType = wp.blocks.registerBlockType,
13
- ServerSideRender = wp.components.ServerSideRender,
14
  TextControl = wp.components.TextControl,
15
  SelectControl = wp.components.SelectControl,
16
- InspectorControls = wp.editor.InspectorControls;
 
17
 
18
  /*
19
  * Registers the main QSM block
@@ -24,7 +26,7 @@ registerBlockType( 'qsm/main-block', {
24
  category: 'widgets',
25
 
26
  edit: function( props ) {
27
- const quiz_arr = quizList;
28
  return [
29
  /*
30
  * The ServerSideRender element uses the REST API to automatically call
@@ -36,7 +38,7 @@ registerBlockType( 'qsm/main-block', {
36
  attributes: props.attributes,
37
  } ),
38
  el( InspectorControls, {},
39
- el( 'p', { style: { padding: '0 16px' } },
40
  el( SelectControl, {
41
  label: 'Quiz/Survey ID',
42
  value: props.attributes.quiz,
@@ -44,7 +46,7 @@ registerBlockType( 'qsm/main-block', {
44
  onChange: ( value ) => { props.setAttributes( { quiz: value } ); },
45
  } )
46
  )
47
- )
48
  ];
49
  },
50
 
1
+ var QSMQuizList,
2
+ QSMQuizListEndPoint = wpApiSettings.root + 'quiz-survey-master/v2/quizzlist/';
3
+
4
+ jQuery.ajax( QSMQuizListEndPoint, {
5
  data: null ,
6
  method: 'GET',
7
+ success : function( response ) {
8
+ QSMQuizList = response;
9
  }
10
+ } );
11
 
12
  var el = wp.element.createElement,
13
  registerBlockType = wp.blocks.registerBlockType,
14
+ ServerSideRender = ! wp.serverSideRender ? wp.components.ServerSideRender : wp.serverSideRender,
15
  TextControl = wp.components.TextControl,
16
  SelectControl = wp.components.SelectControl,
17
+ PanelBody = wp.components.PanelBody,
18
+ InspectorControls = ! wp.blockEditor ? wp.editor.InspectorControls : wp.blockEditor.InspectorControls;
19
 
20
  /*
21
  * Registers the main QSM block
26
  category: 'widgets',
27
 
28
  edit: function( props ) {
29
+ const quiz_arr = QSMQuizList;
30
  return [
31
  /*
32
  * The ServerSideRender element uses the REST API to automatically call
38
  attributes: props.attributes,
39
  } ),
40
  el( InspectorControls, {},
41
+ el( PanelBody, {},
42
  el( SelectControl, {
43
  label: 'Quiz/Survey ID',
44
  value: props.attributes.quiz,
46
  onChange: ( value ) => { props.setAttributes( { quiz: value } ); },
47
  } )
48
  )
49
+ )
50
  ];
51
  },
52
 
blocks/block.php CHANGED
@@ -12,12 +12,16 @@
12
  * Register our block.
13
  */
14
  function qsm_block_init() {
15
- global $mlwQuizMasterNext;
 
 
 
 
 
 
16
  // Register our block editor script.
17
- wp_register_script(
18
- 'qsm-quiz-block',
19
- plugins_url( 'block.js', __FILE__ ),
20
- array( 'wp-blocks', 'wp-element', 'wp-components', 'wp-editor', 'wp-api-request' ), $mlwQuizMasterNext->version, true );
21
  // Register our block, and explicitly define the attributes we accept.
22
  register_block_type( 'qsm/main-block', array(
23
  'attributes' => array(
12
  * Register our block.
13
  */
14
  function qsm_block_init() {
15
+ global $wp_version, $mlwQuizMasterNext;
16
+
17
+ $dependencies = array( 'wp-blocks', 'wp-element', 'wp-components', 'wp-editor', 'wp-api-request' );
18
+ if ( version_compare( $wp_version, '5.3', '>=' ) ) {
19
+ $dependencies = array_merge( $dependencies, array( 'wp-block-editor', 'wp-server-side-render' ) );
20
+ }
21
+
22
  // Register our block editor script.
23
+ wp_register_script( 'qsm-quiz-block', plugins_url( 'block.js', __FILE__ ), $dependencies, $mlwQuizMasterNext->version, true );
24
+
 
 
25
  // Register our block, and explicitly define the attributes we accept.
26
  register_block_type( 'qsm/main-block', array(
27
  'attributes' => array(
css/admin-dashboard-rtl.css CHANGED
@@ -901,6 +901,10 @@ h2.hndle.ui-sortable-handle {
901
  transition: all 0.5s ease !important;
902
  }
903
 
 
 
 
 
904
  #select_themes #qsm-theme-screenshot:after {
905
  content: "";
906
  display: block;
901
  transition: all 0.5s ease !important;
902
  }
903
 
904
+ #select_themes .theme.active .theme-screenshot {
905
+ border: 1px solid #1d2327;
906
+ }
907
+
908
  #select_themes #qsm-theme-screenshot:after {
909
  content: "";
910
  display: block;
css/admin-dashboard.css CHANGED
@@ -74,6 +74,15 @@
74
  align-items: center;
75
  }
76
 
 
 
 
 
 
 
 
 
 
77
  .popover-count {
78
  top: -2px !important;
79
  right: unset!important;
@@ -891,6 +900,10 @@ h2.hndle.ui-sortable-handle {
891
  transition: all 0.5s ease !important;
892
  }
893
 
 
 
 
 
894
  #select_themes #qsm-theme-screenshot:after {
895
  content: "";
896
  display: block;
74
  align-items: center;
75
  }
76
 
77
+ .qsm-create-btn-div{
78
+ cursor:not-allowed;
79
+ }
80
+
81
+ .qsm-add-role{
82
+ opacity:0.6;
83
+ pointer-events: none !important;
84
+ }
85
+
86
  .popover-count {
87
  top: -2px !important;
88
  right: unset!important;
900
  transition: all 0.5s ease !important;
901
  }
902
 
903
+ #select_themes .theme.active .theme-screenshot {
904
+ border: 1px solid #1d2327;
905
+ }
906
+
907
  #select_themes #qsm-theme-screenshot:after {
908
  content: "";
909
  display: block;
data/parsing_script.json CHANGED
@@ -1 +1 @@
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"}]}
1
+ {"change_log":[""," Feature: Added option to search by quiz in question bank\n"," Feature: Added option to set image size in email template\n"," Bug: Fixed timer issue with multiple quiz shortcodes\n"," Bug: Fixed issue with german and french language questions\n"," Enhancement: Added alert for non active question types\n"," Enhancement: Improved UI in text tabs"],"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":"Fortune","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2022\/12\/Fortune-v1v2.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=547794","price":{"1site":"19.00","2-5sites":"24.00","unlimited":"49.00"},"description":""},{"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. "}],"blog_post":[{"link":"https:\/\/quizandsurveymaster.com\/install-wordpress-on-sandbox\/","title":"How To Install WordPress On Sandbox: The Easiest Step-By-Step Guide","excerpt":"<p>Find out how to install WordPress on Sandbox for free and play around with ideas without having to deal with real-world consequences.<\/p>\n"},{"link":"https:\/\/quizandsurveymaster.com\/best-survey-plugins-for-user-feedback\/","title":"17 Best Survey Plugins for User Feedback and Data Collection","excerpt":"<p>When it comes to creating surveys, the idea is to make something fun that actually hits the mark by solving the purpose. Finding out the best survey plugins could be a bump in the road. But we got your back! Today we will be learning about some of the best survey plugins for user feedback [&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":"Fortune","img":"https:\/\/quizandsurveymaster.com\/wp-content\/uploads\/edd\/2022\/12\/forune-thumbnail.png","link":"https:\/\/quizandsurveymaster.com\/?post_type=download&p=547794","price":{"1site":"19.00","2-5sites":"24.00","unlimited":"49.00"},"description":"","demo":"https:\/\/themes.quizandsurveymaster.com\/fortune"},{"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-quiz.js CHANGED
@@ -419,7 +419,7 @@ var qsmTimerInterval = [];
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) + ' %');
@@ -783,7 +783,7 @@ function qmnValidation(element, quiz_form_id) {
783
  var error_messages = qmn_quiz_data[quiz_id].error_messages;
784
  qmnResetError(quiz_form_id);
785
  jQuery(element).each(function () {
786
- if (jQuery(this).attr('class')) {
787
  if (jQuery(this).attr('class').indexOf('mlwEmail') !== -1 && this.value !== "") {
788
  // Remove any trailing and preceeding space.
789
  var x = jQuery.trim(this.value);
@@ -1529,6 +1529,7 @@ jQuery(function () {
1529
  var question_id = $this.parent('.quiz_section').find('.mlw_file_upload_media_id').attr("name").replace('question', '');
1530
  form_data.append('question_id', question_id);
1531
  $this.next('.loading-uploaded-file').show();
 
1532
  jQuery.ajax({
1533
  url: qmn_ajax_object.ajaxurl,
1534
  type: 'POST',
@@ -1539,6 +1540,7 @@ jQuery(function () {
1539
  success: function (response) {
1540
  var obj = jQuery.parseJSON(response);
1541
  $this.next('.loading-uploaded-file').hide();
 
1542
  if (obj.type == 'success') {
1543
  $this.next().next('.remove-uploaded-file').show();
1544
  $this.parent('.quiz_section').find('.mlw_file_upload_hidden_path').val(obj.file_path);
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) + ' %');
783
  var error_messages = qmn_quiz_data[quiz_id].error_messages;
784
  qmnResetError(quiz_form_id);
785
  jQuery(element).each(function () {
786
+ if ( jQuery(this).attr('class') && jQuery(this).is(':visible') ) {
787
  if (jQuery(this).attr('class').indexOf('mlwEmail') !== -1 && this.value !== "") {
788
  // Remove any trailing and preceeding space.
789
  var x = jQuery.trim(this.value);
1529
  var question_id = $this.parent('.quiz_section').find('.mlw_file_upload_media_id').attr("name").replace('question', '');
1530
  form_data.append('question_id', question_id);
1531
  $this.next('.loading-uploaded-file').show();
1532
+ jQuery(".qsm-submit-btn").attr('disabled', true);
1533
  jQuery.ajax({
1534
  url: qmn_ajax_object.ajaxurl,
1535
  type: 'POST',
1540
  success: function (response) {
1541
  var obj = jQuery.parseJSON(response);
1542
  $this.next('.loading-uploaded-file').hide();
1543
+ jQuery(".qsm-submit-btn").attr('disabled', false);
1544
  if (obj.type == 'success') {
1545
  $this.next().next('.remove-uploaded-file').show();
1546
  $this.parent('.quiz_section').find('.mlw_file_upload_hidden_path').val(obj.file_path);
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.6
6
  * Author: ExpressTech
7
  * Author URI: https://quizandsurveymaster.com/
8
  * Plugin URI: https://expresstech.io/
@@ -43,7 +43,7 @@ class MLWQuizMasterNext {
43
  * @var string
44
  * @since 4.0.0
45
  */
46
- public $version = '8.0.6';
47
 
48
  /**
49
  * QSM Alert Manager Object
@@ -573,6 +573,17 @@ class MLWQuizMasterNext {
573
  global $qsm_quiz_list_page;
574
  $enabled = get_option( 'qsm_multiple_category_enabled' );
575
  $menu_position = self::get_free_menu_position(26.1, 0.3);
 
 
 
 
 
 
 
 
 
 
 
576
  $qsm_dashboard_page = add_menu_page( 'Quiz And Survey Master', __( 'QSM', 'quiz-master-next' ), 'edit_posts', 'qsm_dashboard', 'qsm_generate_dashboard_page', 'dashicons-feedback', $menu_position );
577
  add_submenu_page( 'qsm_dashboard', __( 'Dashboard', 'quiz-master-next' ), __( 'Dashboard', 'quiz-master-next' ), 'edit_posts', 'qsm_dashboard', 'qsm_generate_dashboard_page', 0 );
578
  if ( $enabled && 'cancelled' !== $enabled ) {
2
  /**
3
  * Plugin Name: Quiz And Survey Master
4
  * Description: Easily and quickly add quizzes and surveys to your website.
5
+ * Version: 8.0.7
6
  * Author: ExpressTech
7
  * Author URI: https://quizandsurveymaster.com/
8
  * Plugin URI: https://expresstech.io/
43
  * @var string
44
  * @since 4.0.0
45
  */
46
+ public $version = '8.0.7';
47
 
48
  /**
49
  * QSM Alert Manager Object
573
  global $qsm_quiz_list_page;
574
  $enabled = get_option( 'qsm_multiple_category_enabled' );
575
  $menu_position = self::get_free_menu_position(26.1, 0.3);
576
+ if ( ! class_exists('QSM_User_Role') ) {
577
+ $user = wp_get_current_user();
578
+ if ( in_array( 'subscriber', (array) $user->roles, true ) ) {
579
+ $role_capabilities = get_role( 'subscriber' );
580
+ $role_capabilities->remove_cap('edit_posts');
581
+ $role_capabilities->remove_cap('moderate_comments');
582
+ }
583
+ }
584
+ else {
585
+ apply_filters('qsm_user_role_menu_for_subcriber',true);
586
+ }
587
  $qsm_dashboard_page = add_menu_page( 'Quiz And Survey Master', __( 'QSM', 'quiz-master-next' ), 'edit_posts', 'qsm_dashboard', 'qsm_generate_dashboard_page', 'dashicons-feedback', $menu_position );
588
  add_submenu_page( 'qsm_dashboard', __( 'Dashboard', 'quiz-master-next' ), __( 'Dashboard', 'quiz-master-next' ), 'edit_posts', 'qsm_dashboard', 'qsm_generate_dashboard_page', 0 );
589
  if ( $enabled && 'cancelled' !== $enabled ) {
php/admin/admin-dashboard.php CHANGED
@@ -122,10 +122,23 @@ function qsm_generate_dashboard_page() {
122
  <div class="welcome-panel-column-container">
123
  <div class="welcome-panel-column">
124
  <h3><?php esc_html_e( 'Get Started', 'quiz-master-next' ); ?></h3>
125
- <a class="button button-primary button-hero load-quiz-wizard hide-if-no-customize"
126
- href="javascript:void(0)"><?php esc_html_e( 'Create New Quiz/Survey', 'quiz-master-next' ); ?></a>
 
 
 
 
 
 
 
 
 
 
 
 
 
127
  <p class="hide-if-no-customize">
128
- or, <a href="edit.php?post_type=qsm_quiz"><?php esc_html_e( 'Edit previously created quizzes', 'quiz-master-next' ); ?></a>
129
  </p>
130
  </div>
131
  <div class="welcome-panel-column">
@@ -599,15 +612,17 @@ function qsm_create_new_quiz_from_wizard() {
599
  * Prepare Quiz Options.
600
  */
601
  $quiz_options = array(
602
- 'quiz_name' => $quiz_name,
603
- 'quiz_featured_image' => isset( $_POST['quiz_featured_image'] ) ? esc_url_raw( wp_unslash( $_POST['quiz_featured_image'] ) ) : '',
604
- 'form_type' => isset( $_POST['form_type'] ) ? sanitize_text_field( wp_unslash( $_POST['form_type'] ) ) : '',
605
- 'system' => isset( $_POST['system'] ) ? sanitize_text_field( wp_unslash( $_POST['system'] ) ) : '',
606
- 'timer_limit' => isset( $_POST['timer_limit'] ) ? sanitize_text_field( wp_unslash( $_POST['timer_limit'] ) ) : '',
607
- 'pagination' => isset( $_POST['pagination'] ) ? sanitize_text_field( wp_unslash( $_POST['pagination'] ) ) : '',
608
- 'require_log_in' => isset( $_POST['require_log_in'] ) ? sanitize_text_field( wp_unslash( $_POST['require_log_in'] ) ) : '',
609
- 'disable_first_page' => isset( $_POST['disable_first_page'] ) ? sanitize_text_field( wp_unslash( $_POST['disable_first_page'] ) ) : '',
610
- 'comment_section' => isset( $_POST['comment_section'] ) ? sanitize_text_field( wp_unslash( $_POST['comment_section'] ) ) : 1,
 
 
611
  );
612
  $get_saved_value = QMNGlobalSettingsPage::get_global_quiz_settings();
613
  if ( ! empty( $get_saved_value ) && is_array( $get_saved_value ) ) {
122
  <div class="welcome-panel-column-container">
123
  <div class="welcome-panel-column">
124
  <h3><?php esc_html_e( 'Get Started', 'quiz-master-next' ); ?></h3>
125
+ <?php
126
+ $classname = "";
127
+ $classname = apply_filters( 'qsm_create_quiz_after', $classname);
128
+ $classes = explode(",",$classname);
129
+ $classesname1 = "";
130
+ if ( isset($classes[0]) ) {
131
+ $classesname1 = $classes[0];
132
+ }
133
+ $classesname2 = "";
134
+ if ( isset($classes[1]) ) {
135
+ $classesname2 = $classes[1];
136
+ }
137
+ ?>
138
+ <div class="<?php echo esc_attr( $classesname1 );?>"><a class="button button-primary button-hero load-quiz-wizard hide-if-no-customize <?php echo esc_attr( $classesname2 );?>"
139
+ href="javascript:void(0)"><?php esc_html_e( 'Create New Quiz/Survey', 'quiz-master-next' )?></a></div>
140
  <p class="hide-if-no-customize">
141
+ or, <a href="edit.php?post_type=qsm_quiz"><?php esc_html_e( 'View all quizzes', 'quiz-master-next' )?></a>
142
  </p>
143
  </div>
144
  <div class="welcome-panel-column">
612
  * Prepare Quiz Options.
613
  */
614
  $quiz_options = array(
615
+ 'quiz_name' => $quiz_name,
616
+ 'quiz_featured_image' => isset( $_POST['quiz_featured_image'] ) ? esc_url_raw( wp_unslash( $_POST['quiz_featured_image'] ) ) : '',
617
+ 'form_type' => isset( $_POST['form_type'] ) ? sanitize_text_field( wp_unslash( $_POST['form_type'] ) ) : '',
618
+ 'system' => isset( $_POST['system'] ) ? sanitize_text_field( wp_unslash( $_POST['system'] ) ) : '',
619
+ 'timer_limit' => isset( $_POST['timer_limit'] ) ? sanitize_text_field( wp_unslash( $_POST['timer_limit'] ) ) : '',
620
+ 'pagination' => isset( $_POST['pagination'] ) ? sanitize_text_field( wp_unslash( $_POST['pagination'] ) ) : '',
621
+ 'enable_pagination_quiz' => isset( $_POST['enable_pagination_quiz'] ) ? sanitize_text_field( wp_unslash( $_POST['enable_pagination_quiz'] ) ) : 0,
622
+ 'progress_bar' => isset( $_POST['progress_bar'] ) ? sanitize_text_field( wp_unslash( $_POST['progress_bar'] ) ) : 0,
623
+ 'require_log_in' => isset( $_POST['require_log_in'] ) ? sanitize_text_field( wp_unslash( $_POST['require_log_in'] ) ) : '',
624
+ 'disable_first_page' => isset( $_POST['disable_first_page'] ) ? sanitize_text_field( wp_unslash( $_POST['disable_first_page'] ) ) : '',
625
+ 'comment_section' => isset( $_POST['comment_section'] ) ? sanitize_text_field( wp_unslash( $_POST['comment_section'] ) ) : 1,
626
  );
627
  $get_saved_value = QMNGlobalSettingsPage::get_global_quiz_settings();
628
  if ( ! empty( $get_saved_value ) && is_array( $get_saved_value ) ) {
php/admin/admin-results-page.php CHANGED
@@ -197,6 +197,7 @@ function qsm_results_overview_tab_content() {
197
  } else {
198
  $mlw_quiz_data = $wpdb->get_results( stripslashes( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}mlw_results WHERE $delete $search_phrase_sql $order_by_sql LIMIT %d, %d", $result_begin, $table_limit ) ) );
199
  }
 
200
  ?>
201
  <div class="tablenav top">
202
  <div class="alignleft actions bulkactions">
197
  } else {
198
  $mlw_quiz_data = $wpdb->get_results( stripslashes( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}mlw_results WHERE $delete $search_phrase_sql $order_by_sql LIMIT %d, %d", $result_begin, $table_limit ) ) );
199
  }
200
+ apply_filters('qsm_user_role_permission_page_view_results',true);
201
  ?>
202
  <div class="tablenav top">
203
  <div class="alignleft actions bulkactions">
php/admin/functions.php CHANGED
@@ -674,15 +674,15 @@ function qsm_create_new_quiz_wizard() {
674
  $all_settings = $mlwQuizMasterNext->quiz_settings->load_setting_fields( 'quiz_options' );
675
  global $globalQuizsetting;
676
  $quiz_setting_option = array(
677
- 'form_type' => array(
678
  'option_name' => __( 'Form Type', 'quiz-master-next' ),
679
  'value' => $globalQuizsetting['form_type'],
680
  ),
681
- 'system' => array(
682
  'option_name' => __( 'Grading System', 'quiz-master-next' ),
683
  'value' => $globalQuizsetting['system'],
684
  ),
685
- 'enable_contact_form' => array(
686
  'option_name' => __( 'Enable Contact Form', 'quiz-master-next' ),
687
  'value' => 0,
688
  'options' => array(
@@ -696,23 +696,31 @@ function qsm_create_new_quiz_wizard() {
696
  ),
697
  ),
698
  ),
699
- 'timer_limit' => array(
700
  'option_name' => __( 'Time Limit (in Minute)', 'quiz-master-next' ),
701
  'value' => $globalQuizsetting['timer_limit'],
702
  ),
703
- 'pagination' => array(
704
  'option_name' => __( 'Questions Per Page', 'quiz-master-next' ),
705
  'value' => $globalQuizsetting['pagination'],
706
  ),
707
- 'require_log_in' => array(
 
 
 
 
 
 
 
 
708
  'option_name' => __( 'Require User Login', 'quiz-master-next' ),
709
  'value' => $globalQuizsetting['require_log_in'],
710
  ),
711
- 'disable_first_page' => array(
712
  'option_name' => __( 'Disable first page on quiz', 'quiz-master-next' ),
713
  'value' => $globalQuizsetting['disable_first_page'],
714
  ),
715
- 'comment_section' => array(
716
  'option_name' => __( 'Enable Comment box', 'quiz-master-next' ),
717
  'value' => $globalQuizsetting['comment_section'],
718
  ),
@@ -1032,7 +1040,7 @@ function qsm_get_default_wizard_themes() {
1032
  global $themes_data;
1033
  global $pro_themes;
1034
  $installed_themes = $mlwQuizMasterNext->theme_settings->get_installed_themes();
1035
- $default_themes = array( 'Breeze', 'Fragrance', 'Pool', 'Ivory', 'Companion', 'Serene', 'Sigma', 'Fortune', 'Pixel', 'Sapience' );
1036
  $default_themes_data = array();
1037
  $keys_to_unset = array();
1038
  if ( ! empty( $themes_data ) ) {
@@ -1058,7 +1066,6 @@ function qsm_get_default_wizard_themes() {
1058
  }
1059
  }
1060
  }
1061
-
1062
  $keys_to_unset = array_unique( $keys_to_unset );
1063
  rsort( $keys_to_unset );
1064
  foreach ( $keys_to_unset as $key ) {
674
  $all_settings = $mlwQuizMasterNext->quiz_settings->load_setting_fields( 'quiz_options' );
675
  global $globalQuizsetting;
676
  $quiz_setting_option = array(
677
+ 'form_type' => array(
678
  'option_name' => __( 'Form Type', 'quiz-master-next' ),
679
  'value' => $globalQuizsetting['form_type'],
680
  ),
681
+ 'system' => array(
682
  'option_name' => __( 'Grading System', 'quiz-master-next' ),
683
  'value' => $globalQuizsetting['system'],
684
  ),
685
+ 'enable_contact_form' => array(
686
  'option_name' => __( 'Enable Contact Form', 'quiz-master-next' ),
687
  'value' => 0,
688
  'options' => array(
696
  ),
697
  ),
698
  ),
699
+ 'timer_limit' => array(
700
  'option_name' => __( 'Time Limit (in Minute)', 'quiz-master-next' ),
701
  'value' => $globalQuizsetting['timer_limit'],
702
  ),
703
+ 'pagination' => array(
704
  'option_name' => __( 'Questions Per Page', 'quiz-master-next' ),
705
  'value' => $globalQuizsetting['pagination'],
706
  ),
707
+ 'enable_pagination_quiz' => array(
708
+ 'option_name' => __( 'Show current page number', 'quiz-master-next' ),
709
+ 'value' => $globalQuizsetting['enable_pagination_quiz'],
710
+ ),
711
+ 'progress_bar' => array(
712
+ 'option_name' => __( 'Show progress bar', 'quiz-master-next' ),
713
+ 'value' => $globalQuizsetting['enable_pagination_quiz'],
714
+ ),
715
+ 'require_log_in' => array(
716
  'option_name' => __( 'Require User Login', 'quiz-master-next' ),
717
  'value' => $globalQuizsetting['require_log_in'],
718
  ),
719
+ 'disable_first_page' => array(
720
  'option_name' => __( 'Disable first page on quiz', 'quiz-master-next' ),
721
  'value' => $globalQuizsetting['disable_first_page'],
722
  ),
723
+ 'comment_section' => array(
724
  'option_name' => __( 'Enable Comment box', 'quiz-master-next' ),
725
  'value' => $globalQuizsetting['comment_section'],
726
  ),
1040
  global $themes_data;
1041
  global $pro_themes;
1042
  $installed_themes = $mlwQuizMasterNext->theme_settings->get_installed_themes();
1043
+ $default_themes = array( 'Fortune', 'Sigma', 'Pixel', 'Sapience', 'Breeze', 'Fragrance', 'Pool', 'Ivory', 'Companion', 'Serene' );
1044
  $default_themes_data = array();
1045
  $keys_to_unset = array();
1046
  if ( ! empty( $themes_data ) ) {
1066
  }
1067
  }
1068
  }
 
1069
  $keys_to_unset = array_unique( $keys_to_unset );
1070
  rsort( $keys_to_unset );
1071
  foreach ( $keys_to_unset as $key ) {
php/admin/quiz-options-page.php CHANGED
@@ -23,8 +23,10 @@ function qsm_generate_quiz_options() {
23
  }
24
  global $wpdb;
25
  global $mlwQuizMasterNext;
26
-
 
27
  // Check user capability
 
28
  $user = wp_get_current_user();
29
  if ( in_array( 'author', (array) $user->roles, true ) ) {
30
  $user_id = sanitize_text_field( $user->ID );
@@ -34,6 +36,7 @@ function qsm_generate_quiz_options() {
34
  wp_die( 'You are not allow to edit this quiz, You need higher permission!' );
35
  }
36
  }
 
37
 
38
  $quiz_name = '';
39
 
23
  }
24
  global $wpdb;
25
  global $mlwQuizMasterNext;
26
+ //user role addon is active
27
+ apply_filters('qsm_user_role_permission_page',true);
28
  // Check user capability
29
+ if ( ! class_exists('QSM_User_Role') ) {
30
  $user = wp_get_current_user();
31
  if ( in_array( 'author', (array) $user->roles, true ) ) {
32
  $user_id = sanitize_text_field( $user->ID );
36
  wp_die( 'You are not allow to edit this quiz, You need higher permission!' );
37
  }
38
  }
39
+ }
40
 
41
  $quiz_name = '';
42
 
php/admin/quizzes-page.php CHANGED
@@ -185,8 +185,9 @@ if ( ! class_exists( 'QSMQuizList' ) ) {
185
  'view_results' => '<a class="qsm-action-link" href="admin.php?page=mlw_quiz_results&quiz_id=' . esc_attr( $quiz_id ) . '">' . esc_html__( 'View Results', 'quiz-master-next' ) . '</a>',
186
  'view' => '<a class="qsm-action-link" target="_blank" rel="noopener" href="' . esc_url( get_permalink( $post->ID ) ) . '">' . esc_html__( 'Preview', 'quiz-master-next' ) . '</a>',
187
  );
188
- }
189
- }
 
190
  return $actions;
191
  }
192
 
@@ -300,8 +301,9 @@ if ( ! class_exists( 'QSMQuizList' ) ) {
300
  ?>
301
  <div class="wrap qsm-quizes-page">
302
  <h1>
303
- <?php esc_html_e( 'Quizzes & Surveys', 'quiz-master-next' ); ?>
304
- <a id="new_quiz_button" href="#" class="add-new-h2"><?php esc_html_e( 'Add New', 'quiz-master-next' ); ?></a>
 
305
  </h1>
306
  <?php
307
  if ( version_compare( PHP_VERSION, '5.4.0', '<' ) ) {
185
  'view_results' => '<a class="qsm-action-link" href="admin.php?page=mlw_quiz_results&quiz_id=' . esc_attr( $quiz_id ) . '">' . esc_html__( 'View Results', 'quiz-master-next' ) . '</a>',
186
  'view' => '<a class="qsm-action-link" target="_blank" rel="noopener" href="' . esc_url( get_permalink( $post->ID ) ) . '">' . esc_html__( 'Preview', 'quiz-master-next' ) . '</a>',
187
  );
188
+ $actions = apply_filters( 'qsm_quiz_actions_after', $actions, $post );
189
+ }
190
+ }
191
  return $actions;
192
  }
193
 
301
  ?>
302
  <div class="wrap qsm-quizes-page">
303
  <h1>
304
+ <?php esc_html_e( 'Quizzes & Surveys', 'quiz-master-next' );
305
+ $add_button = '<a id="new_quiz_button" href="#" class="add-new-h2">'.esc_html__( 'Add New', 'quiz-master-next' ).'</a>';
306
+ echo apply_filters( 'qsm_add_quiz_after', $add_button ); ?>
307
  </h1>
308
  <?php
309
  if ( version_compare( PHP_VERSION, '5.4.0', '<' ) ) {
php/admin/settings-page.php CHANGED
@@ -113,6 +113,7 @@ class QMNGlobalSettingsPage {
113
  'comment_section' => 1,
114
  'question_numbering' => 0,
115
  'show_optin' => 0,
 
116
  'store_responses' => 1,
117
  'send_email' => 1,
118
  'disable_answer_onselect' => 0,
@@ -177,6 +178,7 @@ class QMNGlobalSettingsPage {
177
  add_settings_field( 'enable-comments', __( 'Enable comments', 'quiz-master-next' ), array( $this, 'qsm_global_enable_comments' ), 'qsm_default_global_option_general', 'qmn-global-section' );
178
  add_settings_field( 'show-question-numbers', __( 'Show question numbers', 'quiz-master-next' ), array( $this, 'qsm_global_show_question_numbers' ), 'qsm_default_global_option_display', 'qmn-global-section' );
179
  add_settings_field( 'show-opt-in-answers-default', __( 'Show Opt-in type Answers to user', 'quiz-master-next' ), array( $this, 'qsm_global_show_optin_answers' ), 'qsm_default_global_option_display', 'qmn-global-section' );
 
180
  add_settings_field( 'save-responses', __( 'Submit Actions', 'quiz-master-next' ), array( $this, 'qsm_global_save_responses' ), 'qsm_default_global_option_quiz_submission', 'qmn-global-section' );
181
  add_settings_field( 'disable-change-of-answers', __( 'Disable change of answers', 'quiz-master-next' ), array( $this, 'qsm_global_disable_change_of_answers' ), 'qsm_default_global_option_quiz_submission', 'qmn-global-section' );
182
  add_settings_field( 'add-class-for-correct-incorrect-answers', __( 'Add class for correct/incorrect answers', 'quiz-master-next' ), array( $this, 'qsm_global_add_class_for_correct_incorrect_answers' ), 'qsm_default_global_option_display', 'qmn-global-section' );
@@ -1329,6 +1331,23 @@ class QMNGlobalSettingsPage {
1329
  </fieldset>';
1330
  }
1331
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1332
  }
1333
 
1334
  $qmnGlobalSettingsPage = new QMNGlobalSettingsPage();
113
  'comment_section' => 1,
114
  'question_numbering' => 0,
115
  'show_optin' => 0,
116
+ 'show_text_html' => 0,
117
  'store_responses' => 1,
118
  'send_email' => 1,
119
  'disable_answer_onselect' => 0,
178
  add_settings_field( 'enable-comments', __( 'Enable comments', 'quiz-master-next' ), array( $this, 'qsm_global_enable_comments' ), 'qsm_default_global_option_general', 'qmn-global-section' );
179
  add_settings_field( 'show-question-numbers', __( 'Show question numbers', 'quiz-master-next' ), array( $this, 'qsm_global_show_question_numbers' ), 'qsm_default_global_option_display', 'qmn-global-section' );
180
  add_settings_field( 'show-opt-in-answers-default', __( 'Show Opt-in type Answers to user', 'quiz-master-next' ), array( $this, 'qsm_global_show_optin_answers' ), 'qsm_default_global_option_display', 'qmn-global-section' );
181
+ add_settings_field( 'show-text-html-in-answers-default', __( 'Show Text/HTML type section in result page', 'quiz-master-next' ), array( $this, 'qsm_global_show_text_html_answers' ), 'qsm_default_global_option_display', 'qmn-global-section' );
182
  add_settings_field( 'save-responses', __( 'Submit Actions', 'quiz-master-next' ), array( $this, 'qsm_global_save_responses' ), 'qsm_default_global_option_quiz_submission', 'qmn-global-section' );
183
  add_settings_field( 'disable-change-of-answers', __( 'Disable change of answers', 'quiz-master-next' ), array( $this, 'qsm_global_disable_change_of_answers' ), 'qsm_default_global_option_quiz_submission', 'qmn-global-section' );
184
  add_settings_field( 'add-class-for-correct-incorrect-answers', __( 'Add class for correct/incorrect answers', 'quiz-master-next' ), array( $this, 'qsm_global_add_class_for_correct_incorrect_answers' ), 'qsm_default_global_option_display', 'qmn-global-section' );
1331
  </fieldset>';
1332
  }
1333
 
1334
+ /**
1335
+ * Generates quiz global field to check if want to show text html type answers to user
1336
+ *
1337
+ * @since 8.0.7
1338
+ * @return void
1339
+ */
1340
+ public function qsm_global_show_text_html_answers() {
1341
+ global $globalQuizsetting;
1342
+ $qsm_question_show_text_html_default = ( isset( $globalQuizsetting['show_text_html'] ) && '' !== $globalQuizsetting['show_text_html'] ? $globalQuizsetting['show_text_html'] : '0' );
1343
+ echo '<fieldset class="buttonset buttonset-hide" >
1344
+ <input type="radio" id="show_text_html-1" name="qsm-quiz-settings[show_text_html]" value="1" ' . checked( $qsm_question_show_text_html_default, '1', false ) . '>
1345
+ <label for="show_text_html-1">Yes</label><br>
1346
+ <input type="radio" id="show_text_html-0" name="qsm-quiz-settings[show_text_html]" value="0" ' . checked( $qsm_question_show_text_html_default, '0', false ) . '>
1347
+ <label for="show_text_html-0">No</label><br>
1348
+ </fieldset>';
1349
+ }
1350
+
1351
  }
1352
 
1353
  $qmnGlobalSettingsPage = new QMNGlobalSettingsPage();
php/classes/class-qsm-install.php CHANGED
@@ -487,6 +487,26 @@ class QSM_Install {
487
  );
488
  $mlwQuizMasterNext->pluginHelper->register_quiz_setting( $field_array, 'quiz_options' );
489
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
490
  // Registers store_responses setting
491
  $field_array = array(
492
  'id' => 'store_responses',
487
  );
488
  $mlwQuizMasterNext->pluginHelper->register_quiz_setting( $field_array, 'quiz_options' );
489
 
490
+ // Registers show-optin setting
491
+ $field_array = array(
492
+ 'id' => 'show_text_html',
493
+ 'label' => __( 'Show Text/HTML type section in result page', 'quiz-master-next' ),
494
+ 'type' => 'radio',
495
+ 'options' => array(
496
+ array(
497
+ 'label' => __( 'Yes', 'quiz-master-next' ),
498
+ 'value' => 1,
499
+ ),
500
+ array(
501
+ 'label' => __( 'No', 'quiz-master-next' ),
502
+ 'value' => 0,
503
+ ),
504
+ ),
505
+ 'default' => 0,
506
+ 'option_tab' => 'display',
507
+ );
508
+ $mlwQuizMasterNext->pluginHelper->register_quiz_setting( $field_array, 'quiz_options' );
509
+
510
  // Registers store_responses setting
511
  $field_array = array(
512
  'id' => 'store_responses',
php/classes/class-qsm-settings.php CHANGED
@@ -200,6 +200,7 @@ class QSM_Quiz_Settings {
200
  $setDefaultvalue['comment_section'] = $globalQuizsetting['comment_section'];
201
  $setDefaultvalue['question_numbering'] = $globalQuizsetting['question_numbering'];
202
  $setDefaultvalue['show_optin'] = $globalQuizsetting['show_optin'];
 
203
  $setDefaultvalue['store_responses'] = $globalQuizsetting['store_responses'];
204
  $setDefaultvalue['send_email'] = $globalQuizsetting['send_email'];
205
  $setDefaultvalue['disable_answer_onselect'] = $globalQuizsetting['disable_answer_onselect'];
200
  $setDefaultvalue['comment_section'] = $globalQuizsetting['comment_section'];
201
  $setDefaultvalue['question_numbering'] = $globalQuizsetting['question_numbering'];
202
  $setDefaultvalue['show_optin'] = $globalQuizsetting['show_optin'];
203
+ $setDefaultvalue['show_text_html'] = $globalQuizsetting['show_text_html'];
204
  $setDefaultvalue['store_responses'] = $globalQuizsetting['store_responses'];
205
  $setDefaultvalue['send_email'] = $globalQuizsetting['send_email'];
206
  $setDefaultvalue['disable_answer_onselect'] = $globalQuizsetting['disable_answer_onselect'];
php/question-types.php CHANGED
@@ -252,7 +252,7 @@ function qmn_question_type_text_block() {
252
  'extra_inputs' => array(),
253
  'function' => '',
254
  );
255
- $mlwQuizMasterNext->pluginHelper->register_question_type( __( 'Text/HTML Section', 'quiz-master-next' ), 'qmn_text_block_display', false, null, $edit_args, null, 6 );
256
  $mlwQuizMasterNext->pluginHelper->set_question_type_meta( 6, 'input_field', 'NA' );
257
  $mlwQuizMasterNext->pluginHelper->set_question_type_meta( 6, 'category', 'Others' );
258
  }
252
  'extra_inputs' => array(),
253
  'function' => '',
254
  );
255
+ $mlwQuizMasterNext->pluginHelper->register_question_type( __( 'Text/HTML Section', 'quiz-master-next' ), 'qmn_text_block_display', false, 'qsm_text_html_review', $edit_args, null, 6 );
256
  $mlwQuizMasterNext->pluginHelper->set_question_type_meta( 6, 'input_field', 'NA' );
257
  $mlwQuizMasterNext->pluginHelper->set_question_type_meta( 6, 'category', 'Others' );
258
  }
php/question-types/qsm-question-type-opt-in.php CHANGED
@@ -57,3 +57,16 @@ function qmn_opt_in_review( $id, $question, $answers ) {
57
  $return_array['user_compare_text'] = $user_compare_text;
58
  return apply_filters( 'qmn_opt_in_review', $return_array, $answers );
59
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
57
  $return_array['user_compare_text'] = $user_compare_text;
58
  return apply_filters( 'qmn_opt_in_review', $return_array, $answers );
59
  }
60
+
61
+ function qsm_text_html_review( $id, $question, $answers ) {
62
+ $return_array = array(
63
+ 'user_answer' => "",
64
+ 'correct_answer' => "",
65
+ 'user_text' => "",
66
+ 'correct_text' => "",
67
+ 'correct' => "correct",
68
+ 'points' => "",
69
+ 'user_compare_text' => "",
70
+ );
71
+ return apply_filters( 'qsm_text_html_review', $return_array, $answers );
72
+ }
php/template-variables.php CHANGED
@@ -937,7 +937,7 @@ function qsm_questions_answers_shortcode_to_text( $mlw_quiz_array, $qmn_question
937
  global $mlwQuizMasterNext;
938
  $question_types = $mlwQuizMasterNext->pluginHelper->get_question_type_options();
939
  $quiz_options = $mlwQuizMasterNext->quiz_settings->get_quiz_options();
940
- if ( 0 == $quiz_options->show_optin && isset($answer['question_type']) && 8 == $answer['question_type'] ) {
941
  return '';
942
  }
943
 
@@ -1011,9 +1011,18 @@ function qsm_questions_answers_shortcode_to_text( $mlw_quiz_array, $qmn_question
1011
  } else {
1012
  $mlw_question_answer_display = str_replace( '%QUESTION%', '<b>' . $question_description . '</b>', $mlw_question_answer_display );
1013
  }
1014
- $mlw_question_answer_display = qsm_varibale_question_title_func( $mlw_question_answer_display );
1015
  $extra_border_bottom_class = '';
1016
  $remove_border = true;
 
 
 
 
 
 
 
 
 
1017
  if ( strpos( $mlw_question_answer_display, '%USER_ANSWERS_DEFAULT%' ) !== false ) {
1018
  $remove_border = false;
1019
  $question_with_answer_text = '';
@@ -1298,6 +1307,7 @@ function qsm_questions_answers_shortcode_to_text( $mlw_quiz_array, $qmn_question
1298
  $answer_3 = ! empty( $answer[3] ) ? $answer[3] : 'NA';
1299
  $mlw_question_answer_display = str_replace( '%USER_COMMENTS%', $answer_3, $mlw_question_answer_display );
1300
  $answer_4 = ! empty( $qmn_questions[ $answer['id'] ] ) ? $qmn_questions[ $answer['id'] ] : 'NA';
 
1301
  $mlw_question_answer_display = str_replace( '%CORRECT_ANSWER_INFO%', htmlspecialchars_decode( $answer_4, ENT_QUOTES ), $mlw_question_answer_display );
1302
  // Point score of the particular question.
1303
  $question_point = isset( $answer['points'] ) ? $answer['points'] : '0';
@@ -1527,18 +1537,12 @@ function qsm_varibale_question_title_func( $question, $question_type = '', $new_
1527
  $question_title = preg_replace( '/\s*[a-zA-Z\/\/:\.]*youtube.com\/watch\?v=([a-zA-Z0-9\-_]+)([a-zA-Z0-9\/\*\-\_\?\&\;\%\=\.]*)/i', '<iframe width="420" height="315" src="//www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>', $question_title );
1528
  $polar_extra_class = '';
1529
  $question_display = '';
1530
- if ( 'polar' == $question_type ) {
1531
- $polar_extra_class = 'question-type-polar-s';
1532
- }
1533
  $qmn_quiz_options = $mlwQuizMasterNext->quiz_settings->get_quiz_options();
1534
- $deselect_answer = '';
1535
- if ( isset( $qmn_quiz_options->enable_deselect_option ) && 1 == $qmn_quiz_options->enable_deselect_option && ( 'multiple_choice' === $question_type || 'horizontal_multiple_choice' === $question_type ) ) {
1536
- $deselect_answer = '<a href="javascript:void(0)" class="qsm-deselect-answer">Deselect Answer</a>';
1537
- }
1538
 
1539
  $question_numbering = '';
1540
- $qmn_total_questions += 1;
1541
- if ( isset( $qmn_quiz_options->question_numbering ) && 1 == $qmn_quiz_options->question_numbering ) {
1542
  $question_numbering = '<span class="mlw_qmn_question_number">' . esc_html( $qmn_total_questions ) . '.&nbsp;</span>';
1543
  }
1544
 
@@ -1553,6 +1557,6 @@ function qsm_varibale_question_title_func( $question, $question_type = '', $new_
1553
  $question_display .= "<div class='mlw_qmn_new_question'>" . $new_question_title . '</div>';
1554
  $polar_extra_class .= ' qsm_remove_bold';
1555
  }
1556
- $question_display .= "<div class='mlw_qmn_question {$polar_extra_class}' >" . $question_numbering . do_shortcode( htmlspecialchars_decode( $question_title, ENT_QUOTES ) ) . $deselect_answer . '</div>';
1557
  return $question_display;
1558
  }
937
  global $mlwQuizMasterNext;
938
  $question_types = $mlwQuizMasterNext->pluginHelper->get_question_type_options();
939
  $quiz_options = $mlwQuizMasterNext->quiz_settings->get_quiz_options();
940
+ if ( isset($answer['question_type']) && ( ( 0 == $quiz_options->show_optin && 8 == $answer['question_type'] ) || ( 0 == $quiz_options->show_text_html && 6 == $answer['question_type'] ) ) ) {
941
  return '';
942
  }
943
 
1011
  } else {
1012
  $mlw_question_answer_display = str_replace( '%QUESTION%', '<b>' . $question_description . '</b>', $mlw_question_answer_display );
1013
  }
1014
+ $mlw_question_answer_display = qsm_varibale_question_title_func( $mlw_question_answer_display, $answer['question_type'] );
1015
  $extra_border_bottom_class = '';
1016
  $remove_border = true;
1017
+ if ( 6 == $answer['question_type'] ) {
1018
+ $mlw_question_answer_display = str_replace( '%USER_ANSWERS_DEFAULT%', '', $mlw_question_answer_display );
1019
+ $mlw_question_answer_display = str_replace( '%USER_ANSWER%', '', $mlw_question_answer_display );
1020
+ $mlw_question_answer_display = str_replace( '%CORRECT_ANSWER%', '', $mlw_question_answer_display );
1021
+ $mlw_question_answer_display = str_replace( '%USER_COMMENTS%', '', $mlw_question_answer_display );
1022
+ $mlw_question_answer_display = str_replace( '%CORRECT_ANSWER_INFO%', '', $mlw_question_answer_display );
1023
+ $mlw_question_answer_display = str_replace( '%QUESTION_POINT_SCORE%', '', $mlw_question_answer_display );
1024
+ $mlw_question_answer_display = str_replace( '%QUESTION_MAX_POINTS%', '', $mlw_question_answer_display );
1025
+ }
1026
  if ( strpos( $mlw_question_answer_display, '%USER_ANSWERS_DEFAULT%' ) !== false ) {
1027
  $remove_border = false;
1028
  $question_with_answer_text = '';
1307
  $answer_3 = ! empty( $answer[3] ) ? $answer[3] : 'NA';
1308
  $mlw_question_answer_display = str_replace( '%USER_COMMENTS%', $answer_3, $mlw_question_answer_display );
1309
  $answer_4 = ! empty( $qmn_questions[ $answer['id'] ] ) ? $qmn_questions[ $answer['id'] ] : 'NA';
1310
+ $answer_4 = 6 == $answer['question_type'] ? "" : $answer_4 ;
1311
  $mlw_question_answer_display = str_replace( '%CORRECT_ANSWER_INFO%', htmlspecialchars_decode( $answer_4, ENT_QUOTES ), $mlw_question_answer_display );
1312
  // Point score of the particular question.
1313
  $question_point = isset( $answer['points'] ) ? $answer['points'] : '0';
1537
  $question_title = preg_replace( '/\s*[a-zA-Z\/\/:\.]*youtube.com\/watch\?v=([a-zA-Z0-9\-_]+)([a-zA-Z0-9\/\*\-\_\?\&\;\%\=\.]*)/i', '<iframe width="420" height="315" src="//www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>', $question_title );
1538
  $polar_extra_class = '';
1539
  $question_display = '';
1540
+
 
 
1541
  $qmn_quiz_options = $mlwQuizMasterNext->quiz_settings->get_quiz_options();
 
 
 
 
1542
 
1543
  $question_numbering = '';
1544
+ if ( isset( $qmn_quiz_options->question_numbering ) && 1 == $qmn_quiz_options->question_numbering && 6 != $question_type ) {
1545
+ $qmn_total_questions += 1;
1546
  $question_numbering = '<span class="mlw_qmn_question_number">' . esc_html( $qmn_total_questions ) . '.&nbsp;</span>';
1547
  }
1548
 
1557
  $question_display .= "<div class='mlw_qmn_new_question'>" . $new_question_title . '</div>';
1558
  $polar_extra_class .= ' qsm_remove_bold';
1559
  }
1560
+ $question_display .= "<div class='mlw_qmn_question' >" . $question_numbering . do_shortcode( htmlspecialchars_decode( $question_title, ENT_QUOTES ) ) . '</div>';
1561
  return $question_display;
1562
  }
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.6
8
  License: GPLv2
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -163,6 +163,11 @@ This is usually a theme conflict. You can [checkout out our common conflict solu
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
4
  Requires at least: 4.9
5
  Tested up to: 6.0
6
  Requires PHP: 5.4
7
+ Stable tag: 8.0.7
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.7 (Dec 05, 2022) =
167
+ * Feature: Added option to show and hide Text/HTML question type on result page
168
+ * Bug: Fixed block.js warnings
169
+ * Bug: Fixed issue with required questions validations
170
+
171
  = 8.0.6 (Nov 22, 2022) =
172
  * Feature: Added option to search by quiz in question bank
173
  * Feature: Added option to set image size in email template