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

Version Description

(April 21, 2020)= * Bug: Fixed popup design issues.

Download this release

Release Info

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

Code changes from version 6.4.8 to 6.4.9

assets/clock.png ADDED
Binary file
css/common.css CHANGED
@@ -74,6 +74,47 @@
74
  .qsm-popup__btn-primary{
75
  margin-right: 30px;
76
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
  @media screen and (max-width: 767px){
78
  .question-type-polar-s .left-polar-title,
79
  .question-type-polar-s .slider-main-wrapper,
74
  .qsm-popup__btn-primary{
75
  margin-right: 30px;
76
  }
77
+ .submit-the-form {
78
+ margin-left: 15px !important;
79
+ }
80
+ body .qsm-popup__container{
81
+ padding-top: 40px;
82
+ padding-bottom: 50px;
83
+ }
84
+ body .qsm-popup__header{
85
+ text-align: left;
86
+ }
87
+ body .qsm-popup .qsm-popup__btn {
88
+ font-size: 16px;
89
+ padding-left: 15px;
90
+ padding-right: 15px;
91
+ padding-top: 10px;
92
+ padding-bottom: 10px;
93
+ }
94
+ body .qsm-popup__content{
95
+ text-align: center;
96
+ }
97
+ body .qsm-popup__content > img{
98
+ display: inline-block;
99
+ width: 70px;
100
+ }
101
+ body .qsm-popup__content > p.qsm-time-up-text{
102
+ font-weight: bold;
103
+ font-size: 24px;
104
+ margin-top: 10px;
105
+ font-family: inherit;
106
+ }
107
+ footer.qsm-popup__footer{
108
+ text-align: center;
109
+ }
110
+ footer.qsm-popup__footer button.qsm-popup-secondary-button{
111
+ background-color: #808080 !important;
112
+ }
113
+ footer.qsm-popup__footer button.qsm-popup-secondary-button:hover{
114
+ background-color: #808080 !important;
115
+ opacity: 0.9;
116
+ }
117
+
118
  @media screen and (max-width: 767px){
119
  .question-type-polar-s .left-polar-title,
120
  .question-type-polar-s .slider-main-wrapper,
css/qsm-admin.css CHANGED
@@ -536,7 +536,7 @@ Misc.
536
  color: rgba(0,0,0,.8);
537
  }
538
 
539
- .qsm-popup__btn {
540
  font-size: .875rem;
541
  padding-left: 1rem;
542
  padding-right: 1rem;
@@ -569,7 +569,7 @@ Misc.
569
  transform: scale(1.05);
570
  }
571
 
572
- .qsm-popup__btn-primary {
573
  background-color: #00449e;
574
  color: #fff;
575
  }
536
  color: rgba(0,0,0,.8);
537
  }
538
 
539
+ body .qsm-popup__btn {
540
  font-size: .875rem;
541
  padding-left: 1rem;
542
  padding-right: 1rem;
569
  transform: scale(1.05);
570
  }
571
 
572
+ body .qsm-popup__btn-primary {
573
  background-color: #00449e;
574
  color: #fff;
575
  }
js/qsm-quiz.js CHANGED
@@ -47,15 +47,25 @@ var QSM;
47
  // ... attach an event handler to the click event to activate the timer.
48
  $( '#quizForm' + quizID ).closest( '.qmn_quiz_container' ).find( '.mlw_next' ).on( 'click', function(event) {
49
  event.preventDefault();
50
- if ( ! qmn_quiz_data[ quizID ].timerStatus && qmnValidatePage( 'quizForm' + quizID ) ) {
 
 
 
 
 
 
 
 
51
  QSM.activateTimer( quizID );
52
- }
 
 
53
  });
54
  // ...else, activate the timer on page load.
55
- } else {
56
  QSM.activateTimer( quizID );
57
- }
58
- $( '#quizForm' + quizID ).closest( '.qmn_quiz_container' ).find( '.stoptimer-p').show();
59
  // ...else, we must be using the questions per page option.
60
  } else {
61
  if ( qmn_quiz_data[quizID].hasOwnProperty('pagination') && qmn_quiz_data[quizID].first_page ) {
@@ -66,16 +76,18 @@ var QSM;
66
 
67
  if( $( '#quizForm' + quizID ).closest( '.qmn_quiz_container' ).find( '.qmn_pagination > .current_page_hidden').val() == start_timer){
68
  QSM.activateTimer( quizID );
69
- $( '#quizForm' + quizID ).closest( '.qmn_quiz_container' ).find( '.stoptimer-p').show();
70
  }
71
  }else{
72
  if ( ! qmn_quiz_data[ quizID ].timerStatus && ( 0 == $( '.quiz_begin:visible' ).length || ( 1 == $( '.quiz_begin:visible' ).length && qmnValidatePage( 'quizForm' + quizID ) ) ) ) {
73
  QSM.activateTimer( quizID );
 
74
  }
75
  }
76
  });
77
  } else {
78
  QSM.activateTimer( quizID );
 
79
  }
80
  }
81
  },
@@ -246,10 +258,13 @@ var QSM;
246
  */
247
  initPagination: function( quizID ) {
248
  var $quizForm = QSM.getQuizForm( quizID );
249
- if ( 0 < $quizForm.children( '.qsm-page' ).length ) {
250
  $quizForm.children( '.qsm-page' ).hide();
251
  template = wp.template( 'qsm-pagination' );
252
- $quizForm.append( template() );
 
 
 
253
  if ( '1' == qmn_quiz_data[ quizID ].progress_bar ) {
254
  $( '#qsm-progress-bar' ).show();
255
  qmn_quiz_data[ quizID ].bar = new ProgressBar.Line('#qsm-progress-bar', {
@@ -302,6 +317,7 @@ var QSM;
302
  var $pages = $quizForm.children( '.qsm-page' );
303
  $pages.hide();
304
  $quizForm.children( '.qsm-page:nth-of-type(' + pageNumber + ')' ).show();
 
305
  $quizForm.find( '.qsm-previous' ).hide();
306
  $quizForm.find( '.qsm-next' ).hide();
307
  $quizForm.find( '.qsm-submit-btn' ).hide();
@@ -625,7 +641,7 @@ function qmnInit() {
625
  }
626
 
627
  if ( qmn_quiz_data[key].hasOwnProperty('pagination') ) {
628
- qmnInitPagination( qmn_quiz_data[key].quiz_id );
629
  }
630
  }
631
  }
47
  // ... attach an event handler to the click event to activate the timer.
48
  $( '#quizForm' + quizID ).closest( '.qmn_quiz_container' ).find( '.mlw_next' ).on( 'click', function(event) {
49
  event.preventDefault();
50
+ if(qmn_quiz_data[quizID].hasOwnProperty('advanced_timer')){
51
+ var start_timer = parseInt(qmn_quiz_data[quizID].advanced_timer.start_timer_page);
52
+
53
+ if( $( '#quizForm' + quizID ).closest( '.qmn_quiz_container' ).find( '.qmn_pagination > .current_page_hidden').val() == start_timer){
54
+ QSM.activateTimer( quizID );
55
+ $( '#quizForm' + quizID ).closest( '.qmn_quiz_container' ).find( '.stoptimer-p').show();
56
+ }
57
+ }else{
58
+ if ( ! qmn_quiz_data[ quizID ].timerStatus && qmnValidatePage( 'quizForm' + quizID ) ) {
59
  QSM.activateTimer( quizID );
60
+ $( '#quizForm' + quizID ).closest( '.qmn_quiz_container' ).find( '.stoptimer-p').show();
61
+ }
62
+ }
63
  });
64
  // ...else, activate the timer on page load.
65
+ } else {
66
  QSM.activateTimer( quizID );
67
+ $( '#quizForm' + quizID ).closest( '.qmn_quiz_container' ).find( '.stoptimer-p').show();
68
+ }
69
  // ...else, we must be using the questions per page option.
70
  } else {
71
  if ( qmn_quiz_data[quizID].hasOwnProperty('pagination') && qmn_quiz_data[quizID].first_page ) {
76
 
77
  if( $( '#quizForm' + quizID ).closest( '.qmn_quiz_container' ).find( '.qmn_pagination > .current_page_hidden').val() == start_timer){
78
  QSM.activateTimer( quizID );
79
+ $( '#quizForm' + quizID ).closest( '.qmn_quiz_container' ).find( '.stoptimer-p').show();
80
  }
81
  }else{
82
  if ( ! qmn_quiz_data[ quizID ].timerStatus && ( 0 == $( '.quiz_begin:visible' ).length || ( 1 == $( '.quiz_begin:visible' ).length && qmnValidatePage( 'quizForm' + quizID ) ) ) ) {
83
  QSM.activateTimer( quizID );
84
+ $( '#quizForm' + quizID ).closest( '.qmn_quiz_container' ).find( '.stoptimer-p').show();
85
  }
86
  }
87
  });
88
  } else {
89
  QSM.activateTimer( quizID );
90
+ $( '#quizForm' + quizID ).closest( '.qmn_quiz_container' ).find( '.stoptimer-p').show();
91
  }
92
  }
93
  },
258
  */
259
  initPagination: function( quizID ) {
260
  var $quizForm = QSM.getQuizForm( quizID );
261
+ if ( 0 < $quizForm.children( '.qsm-page' ).length ) {
262
  $quizForm.children( '.qsm-page' ).hide();
263
  template = wp.template( 'qsm-pagination' );
264
+ $quizForm.append( template() );
265
+ if( $quizForm.find( '.qsm-pagination > .current_page_hidden' ).length == 0){
266
+ $quizForm.find( '.qsm-pagination' ).append( '<input type="hidden" value="0" name="current_page" class="current_page_hidden" />');
267
+ }
268
  if ( '1' == qmn_quiz_data[ quizID ].progress_bar ) {
269
  $( '#qsm-progress-bar' ).show();
270
  qmn_quiz_data[ quizID ].bar = new ProgressBar.Line('#qsm-progress-bar', {
317
  var $pages = $quizForm.children( '.qsm-page' );
318
  $pages.hide();
319
  $quizForm.children( '.qsm-page:nth-of-type(' + pageNumber + ')' ).show();
320
+ $quizForm.find('.current_page_hidden').val( pageNumber - 1 );
321
  $quizForm.find( '.qsm-previous' ).hide();
322
  $quizForm.find( '.qsm-next' ).hide();
323
  $quizForm.find( '.qsm-submit-btn' ).hide();
641
  }
642
 
643
  if ( qmn_quiz_data[key].hasOwnProperty('pagination') ) {
644
+ qmnInitPagination( qmn_quiz_data[key].quiz_id );
645
  }
646
  }
647
  }
mlw_quizmaster2.php CHANGED
@@ -2,14 +2,14 @@
2
  /**
3
  * Plugin Name: Quiz And Survey Master
4
  * Description: Easily and quickly add quizzes and surveys to your website.
5
- * Version: 6.4.8
6
  * Author: ExpressTech
7
  * Author URI: https://quizandsurveymaster.com/
8
  * Plugin URI: https://expresstech.io/
9
  * Text Domain: quiz-master-next
10
  *
11
  * @author QSM Team
12
- * @version 6.4.8
13
  * @package QSM
14
  */
15
 
@@ -37,7 +37,7 @@ class MLWQuizMasterNext {
37
  * @var string
38
  * @since 4.0.0
39
  */
40
- public $version = '6.4.8';
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.9
6
  * Author: ExpressTech
7
  * Author URI: https://quizandsurveymaster.com/
8
  * Plugin URI: https://expresstech.io/
9
  * Text Domain: quiz-master-next
10
  *
11
  * @author QSM Team
12
+ * @version 6.4.9
13
  * @package QSM
14
  */
15
 
37
  * @var string
38
  * @since 4.0.0
39
  */
40
+ public $version = '6.4.9';
41
 
42
  /**
43
  * QSM Alert Manager Object
php/shortcodes.php CHANGED
@@ -250,14 +250,12 @@ function qsm_display_popup_div( $return_display, $qmn_quiz_options, $qmn_array_f
250
  if($qmn_quiz_options->enable_result_after_timer_end == 0){
251
  $return_display .= '<div class="qsm-popup qsm-popup-slide" id="modal-3" aria-hidden="false">';
252
  $return_display .= '<div class="qsm-popup__overlay" tabindex="-1" data-micromodal-close="">';
253
- $return_display .= '<div class="qsm-popup__container" role="dialog" aria-modal="true" aria-labelledby="modal-3-title">';
254
- $return_display .= '<header class="qsm-popup__header">';
255
- $return_display .= '<h2 class="qsm-popup__title" id="modal-3-title">Alert!</h2><a class="qsm-popup__close" aria-label="Close modal" data-micromodal-close=""></a>';
256
- $return_display .= '</header>';
257
- $return_display .= '<main class="qsm-popup__content" id="modal-3-content">';
258
- $return_display .= '<p>You are not able to attemp remaining part of quiz but you can submit the quiz!</p>';
259
  $return_display .= '</main>';
260
- $return_display .= '<footer class="qsm-popup__footer"><button data-quiz_id="'. $qmn_quiz_options->quiz_id .'" class="submit-the-form qsm-popup__btn qsm-popup__btn-primary">Submit</button><button class="qsm-popup__btn" data-micromodal-close="" aria-label="Close this dialog window">Cancel</button></footer>';
261
  $return_display .= '</div>';
262
  $return_display .= '</div>';
263
  $return_display .= '</div>';
250
  if($qmn_quiz_options->enable_result_after_timer_end == 0){
251
  $return_display .= '<div class="qsm-popup qsm-popup-slide" id="modal-3" aria-hidden="false">';
252
  $return_display .= '<div class="qsm-popup__overlay" tabindex="-1" data-micromodal-close="">';
253
+ $return_display .= '<div class="qsm-popup__container qmn_quiz_container" role="dialog" aria-modal="true" aria-labelledby="modal-3-title">';
254
+ $return_display .= '<main class="qsm-popup__content">';
255
+ $return_display .= '<img src="' . QSM_PLUGIN_URL . '/assets/clock.png' .'"/>';
256
+ $return_display .= '<p class="qsm-time-up-text">Time is Up!</p>';
 
 
257
  $return_display .= '</main>';
258
+ $return_display .= '<footer class="qsm-popup__footer"><button class="qsm-popup-secondary-button qmn_btn" data-micromodal-close="" aria-label="Close this dialog window">Cancel</button><button data-quiz_id="'. $qmn_quiz_options->quiz_id .'" class="submit-the-form qmn_btn">Submit Quiz</button></footer>';
259
  $return_display .= '</div>';
260
  $return_display .= '</div>';
261
  $return_display .= '</div>';
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
- === Quiz And Survey Master - Best Quiz Plugin for WordPress ===
2
  Contributors: quizsurvey,expresstech
3
  Tags: quiz, survey, lead, test, score, exam, questionnaire, question,wordpress quiz plugin
4
  Requires at least: 4.9
5
  Tested up to: 5.4
6
  Requires PHP: 5.4
7
- Stable tag: 6.4.8
8
  License: GPLv2
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -121,6 +121,9 @@ This is usually a theme conflict. You can [checkout out our common conflict solu
121
 
122
  == Changelog ==
123
 
 
 
 
124
  = 6.4.8 (April 20, 2020)=
125
  * Bug: Changed the quiz post type slug to solve the conflict with LMS plugin
126
  * Feature: Added the button to remove the result data permanent
1
+ === Quiz And Survey Master - Best Quiz, Exam and Survey Plugin for WordPress ===
2
  Contributors: quizsurvey,expresstech
3
  Tags: quiz, survey, lead, test, score, exam, questionnaire, question,wordpress quiz plugin
4
  Requires at least: 4.9
5
  Tested up to: 5.4
6
  Requires PHP: 5.4
7
+ Stable tag: 6.4.9
8
  License: GPLv2
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
121
 
122
  == Changelog ==
123
 
124
+ = 6.4.9 (April 21, 2020)=
125
+ * Bug: Fixed popup design issues.
126
+
127
  = 6.4.8 (April 20, 2020)=
128
  * Bug: Changed the quiz post type slug to solve the conflict with LMS plugin
129
  * Feature: Added the button to remove the result data permanent