Version Description
(July 11, 2016) = * Closed: Add language and error logs to usage tracking - Issue #457
Download this release
Release Info
Developer | fpcorso |
Plugin | Quiz And Survey Master (Formerly Quiz Master Next) |
Version | 4.7.6 |
Comparing to | |
See all releases |
Code changes from version 4.7.5 to 4.7.6
- CHANGELOG.md +37 -1
- mlw_quizmaster2.php +3 -3
- php/about-page.php +1 -1
- php/class-qmn-tracking.php +41 -46
- php/class-qsm-install.php +10 -18
- php/settings-page.php +2 -2
- readme.txt +14 -42
- uninstall.php +6 -5
CHANGELOG.md
CHANGED
@@ -1,3 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
= 4.6.7 (January 22, 2016) =
|
2 |
* Fixes bug causing multiple response to be on a single line for some users
|
3 |
* Fixes bug causing the incorrect/correct CSS class from being not added on results page correctly
|
@@ -5,7 +41,7 @@
|
|
5 |
* Changes comment section to default to off in newer quizzes
|
6 |
* Adds link to online academy to help page
|
7 |
* Cleans up installation function code
|
8 |
-
|
9 |
= 4.6.6 (January 11, 2016) =
|
10 |
* Fixes bug preventing some users to not be able to submit quiz
|
11 |
* Fixes bug causing undefined titles for some users
|
1 |
+
= 4.7.4 (June 3, 2016) =
|
2 |
+
* Closed Bug: Results page will not load on some sites - Issue #445
|
3 |
+
|
4 |
+
= 4.7.3 (May 31, 2016) =
|
5 |
+
* Closed Enhancement: Create new question section id CSS class for each question - Issue #440
|
6 |
+
* Closed Bug: Creating/Editing questions throw PHP notice of undefined index - Issue #436
|
7 |
+
|
8 |
+
= 4.7.2 (May 23, 2016) =
|
9 |
+
* Closed Bug: Multiple quizzes on page causes plugin to scroll to top quiz when submitting - Issue #428
|
10 |
+
|
11 |
+
= 4.7.1 (May 10, 2016) =
|
12 |
+
* Closed Enhancement: Create new audit trail class - Issue #425
|
13 |
+
* Closed Enhancement: Raise minimum WordPress version to 4.1 - Issue #423
|
14 |
+
* Closed Enhancement: WordPress Compatibility with 4.5.2 - Issue #422
|
15 |
+
* Closed Enhancement: Move installation process into new QSM_Install class - Issue #416
|
16 |
+
* Closed Enhancement: Update links for plugin on Plugins page - Issue #415
|
17 |
+
* Closed Bug: Activating plugin on fresh install causes unexpected output warning - Issue #414
|
18 |
+
* Closed User Request: Shortcode parameter to override amount of questions - Issue #345
|
19 |
+
* Closed Enhancement: Limit per user - upgrade to include non-logged in users - Issue #301
|
20 |
+
|
21 |
+
= 4.7.0 (April 4, 2016) =
|
22 |
+
* Closed Bug: Slash Added Before Quotation Mark When Editing Quiz/Survey Name - Issue #401
|
23 |
+
* Closed User Request: Add CSS Class To Container When Timer Runs Out - Issue #400
|
24 |
+
* Closed Bug: Validation breaks on second time through quiz - Issue #398
|
25 |
+
* Closed Bug: Validation not working when more than one question per page - Issue #395
|
26 |
+
* Closed Enhancement: Add Spinner/De-activate Submit Button Once Submitted - Issue #387
|
27 |
+
* Closed Enhancement: Pull changelog from GitHub API - Issue #377
|
28 |
+
* Closed Bug: Theme Conflict With Button Class (btn) - Issue #370
|
29 |
+
* Closed User Request: Add Average Points Per Category Variable - Issue #369
|
30 |
+
* Closed Bug: Mixed content SSL error - Issue #367
|
31 |
+
* Closed Enhancement: Default Option For Drop Down - Issue #334
|
32 |
+
* Closed Bug: Disable Answer On Change Not Working - Issue #331
|
33 |
+
* Closed User Request: Randomize Answers But Not Questions - Issue #330
|
34 |
+
* Closed User Request: Add Date Taken Variable - Issue #310
|
35 |
+
* Closed User Request: Copy Questions Between Quizzes - Issue #166
|
36 |
+
|
37 |
= 4.6.7 (January 22, 2016) =
|
38 |
* Fixes bug causing multiple response to be on a single line for some users
|
39 |
* Fixes bug causing the incorrect/correct CSS class from being not added on results page correctly
|
41 |
* Changes comment section to default to off in newer quizzes
|
42 |
* Adds link to online academy to help page
|
43 |
* Cleans up installation function code
|
44 |
+
|
45 |
= 4.6.6 (January 11, 2016) =
|
46 |
* Fixes bug preventing some users to not be able to submit quiz
|
47 |
* Fixes bug causing undefined titles for some users
|
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: 4.7.
|
6 |
* Author: Frank Corso
|
7 |
* Author URI: http://www.quizandsurveymaster.com/
|
8 |
* Plugin URI: http://www.quizandsurveymaster.com/
|
@@ -10,7 +10,7 @@
|
|
10 |
* Domain Path: /languages
|
11 |
*
|
12 |
* @author Frank Corso
|
13 |
-
* @version 4.7.
|
14 |
*/
|
15 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
16 |
|
@@ -30,7 +30,7 @@ class MLWQuizMasterNext
|
|
30 |
* @var string
|
31 |
* @since 4.0.0
|
32 |
*/
|
33 |
-
public $version = '4.7.
|
34 |
|
35 |
/**
|
36 |
* QMN 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: 4.7.6
|
6 |
* Author: Frank Corso
|
7 |
* Author URI: http://www.quizandsurveymaster.com/
|
8 |
* Plugin URI: http://www.quizandsurveymaster.com/
|
10 |
* Domain Path: /languages
|
11 |
*
|
12 |
* @author Frank Corso
|
13 |
+
* @version 4.7.6
|
14 |
*/
|
15 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
16 |
|
30 |
* @var string
|
31 |
* @since 4.0.0
|
32 |
*/
|
33 |
+
public $version = '4.7.6';
|
34 |
|
35 |
/**
|
36 |
* QMN Alert Manager Object
|
php/about-page.php
CHANGED
@@ -48,7 +48,7 @@ function mlw_generate_about_page()
|
|
48 |
</div>
|
49 |
<div id="mlw_quiz_changelog" class="qmn_tab" style="display: none;">
|
50 |
<h2>Changelog</h2>
|
51 |
-
<?php QSM_Changelog_Generator::get_changelog_list( 'fpcorso/quiz_master_next',
|
52 |
</div>
|
53 |
<div id="qmn_contributors" class="qmn_tab" style="display:none;">
|
54 |
<h2>GitHub Contributors</h2>
|
48 |
</div>
|
49 |
<div id="mlw_quiz_changelog" class="qmn_tab" style="display: none;">
|
50 |
<h2>Changelog</h2>
|
51 |
+
<?php QSM_Changelog_Generator::get_changelog_list( 'fpcorso/quiz_master_next', 27 ); ?>
|
52 |
</div>
|
53 |
<div id="qmn_contributors" class="qmn_tab" style="display:none;">
|
54 |
<h2>GitHub Contributors</h2>
|
php/class-qmn-tracking.php
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
// Exit if accessed directly
|
3 |
-
if ( !defined( 'ABSPATH' ) ) exit;
|
4 |
|
5 |
/**
|
6 |
* Class To Send Tracking Information Back To My Website
|
7 |
*
|
8 |
* @since 4.1.0
|
9 |
*/
|
10 |
-
class QMNTracking
|
11 |
-
|
12 |
/**
|
13 |
* Date To Send Home
|
14 |
*
|
@@ -27,11 +27,9 @@ class QMNTracking
|
|
27 |
* @uses QMNTracking::add_hooks() Adds actions to hooks and filters
|
28 |
* @return void
|
29 |
*/
|
30 |
-
function __construct()
|
31 |
-
{
|
32 |
$this->load_dependencies();
|
33 |
$this->add_hooks();
|
34 |
-
$this->track_check();
|
35 |
}
|
36 |
|
37 |
/**
|
@@ -40,8 +38,7 @@ class QMNTracking
|
|
40 |
* @since 4.1.0
|
41 |
* @return void
|
42 |
*/
|
43 |
-
private function load_dependencies()
|
44 |
-
{
|
45 |
|
46 |
}
|
47 |
|
@@ -53,10 +50,10 @@ class QMNTracking
|
|
53 |
* @since 4.1.0
|
54 |
* @return void
|
55 |
*/
|
56 |
-
private function add_hooks()
|
57 |
-
{
|
58 |
add_action( 'admin_notices', array( $this, 'admin_notice' ) );
|
59 |
-
add_action( 'admin_init', array($this, 'admin_notice_check'));
|
|
|
60 |
}
|
61 |
|
62 |
/**
|
@@ -69,18 +66,15 @@ class QMNTracking
|
|
69 |
* @uses QMNTracking::send_data()
|
70 |
* @return void
|
71 |
*/
|
72 |
-
|
73 |
-
{
|
74 |
$settings = (array) get_option( 'qmn-settings' );
|
75 |
$tracking_allowed = '0';
|
76 |
-
if (isset($settings['tracking_allowed']))
|
77 |
-
{
|
78 |
$tracking_allowed = $settings['tracking_allowed'];
|
79 |
}
|
80 |
$last_time = get_option( 'qmn_tracker_last_time' );
|
81 |
-
if ($tracking_allowed == '1' && (($last_time && $last_time < strtotime( '-1 week' )) || !$last_time))
|
82 |
-
|
83 |
-
$this->load_data();
|
84 |
$this->send_data();
|
85 |
update_option( 'qmn_tracker_last_time', time() );
|
86 |
}
|
@@ -92,20 +86,19 @@ class QMNTracking
|
|
92 |
* @since 4.1.0
|
93 |
* @return void
|
94 |
*/
|
95 |
-
private function send_data()
|
96 |
-
|
97 |
-
$response = wp_remote_post( 'http://mylocalwebstop.com/?usage_track=confirmation', array(
|
98 |
'method' => 'POST',
|
99 |
'timeout' => 45,
|
100 |
'redirection' => 5,
|
101 |
'httpversion' => '1.0',
|
102 |
'blocking' => true,
|
103 |
'body' => $this->data,
|
104 |
-
'user-agent' => '
|
105 |
) );
|
106 |
if ( is_wp_error( $response ) ) {
|
107 |
$error_message = $response->get_error_message();
|
108 |
-
|
109 |
}
|
110 |
}
|
111 |
|
@@ -115,11 +108,11 @@ class QMNTracking
|
|
115 |
* @since 4.1.0
|
116 |
* @return void
|
117 |
*/
|
118 |
-
private function load_data()
|
119 |
-
{
|
120 |
global $wpdb;
|
|
|
121 |
$data = array();
|
122 |
-
$data["plugin"] = "
|
123 |
|
124 |
$data['url'] = home_url();
|
125 |
$data["wp_version"] = get_bloginfo( 'version' );
|
@@ -166,6 +159,17 @@ class QMNTracking
|
|
166 |
$data['quiz_options'] = $wpdb->get_results( "SELECT quiz_name, system, randomness_order, loggedin_user_contact, show_score, send_user_email, send_admin_email, contact_info_location, user_name, user_comp,
|
167 |
user_email, user_phone, comment_section, question_from_total, total_user_tries, certificate_template, pagination, timer_limit, question_numbering, theme_selected, last_activity, require_log_in, limit_total_entries, disable_answer_onselect, ajax_show_correct, quiz_views, quiz_taken FROM ".$wpdb->prefix."mlw_quizzes WHERE deleted=0" );
|
168 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
|
170 |
$this->data = $data;
|
171 |
}
|
@@ -178,30 +182,26 @@ class QMNTracking
|
|
178 |
* @since 4.1.0
|
179 |
* @return void
|
180 |
*/
|
181 |
-
public function admin_notice()
|
182 |
-
{
|
183 |
$show_notice = get_option( 'qmn-tracking-notice' );
|
184 |
$settings = (array) get_option( 'qmn-settings' );
|
185 |
|
186 |
if ($show_notice)
|
187 |
return;
|
188 |
|
189 |
-
if (isset($settings['tracking_allowed']) && $settings['tracking_allowed'] == '1')
|
190 |
return;
|
191 |
|
192 |
-
if(!current_user_can('manage_options'))
|
193 |
return;
|
194 |
|
195 |
-
if(stristr(network_site_url('/'), 'dev') !== false || stristr(network_site_url('/'), 'localhost') !== false || stristr(network_site_url('/'), ':8888') !== false)
|
196 |
-
{
|
197 |
update_option( 'qmn-tracking-notice', '1' );
|
198 |
-
}
|
199 |
-
else
|
200 |
-
{
|
201 |
$optin_url = esc_url( add_query_arg( 'qmn_track_check', 'opt_into_tracking' ) );
|
202 |
$optout_url = esc_url( add_query_arg( 'qmn_track_check', 'opt_out_of_tracking' ) );
|
203 |
echo '<div class="updated"><p>';
|
204 |
-
echo __( "Allow Quiz And Survey Master to
|
205 |
echo ' <a href="' . esc_url( $optin_url ) . '" class="button-secondary">' . __( 'Allow', 'quiz-master-next' ) . '</a>';
|
206 |
echo ' <a href="' . esc_url( $optout_url ) . '" class="button-secondary">' . __( 'Do not allow', 'quiz-master-next' ) . '</a>';
|
207 |
echo '</p></div>';
|
@@ -214,18 +214,13 @@ class QMNTracking
|
|
214 |
* @since 4.1.0
|
215 |
* @return void
|
216 |
*/
|
217 |
-
public function admin_notice_check()
|
218 |
-
|
219 |
-
|
220 |
-
{
|
221 |
-
if ($_GET["qmn_track_check"] == 'opt_into_tracking')
|
222 |
-
{
|
223 |
$settings = (array) get_option( 'qmn-settings' );
|
224 |
-
$settings['tracking_allowed'] = '
|
225 |
update_option( 'qmn-settings', $settings );
|
226 |
-
}
|
227 |
-
else
|
228 |
-
{
|
229 |
$settings = (array) get_option( 'qmn-settings' );
|
230 |
$settings['tracking_allowed'] = '0';
|
231 |
update_option( 'qmn-settings', $settings );
|
1 |
<?php
|
2 |
// Exit if accessed directly
|
3 |
+
if ( ! defined( 'ABSPATH' ) ) exit;
|
4 |
|
5 |
/**
|
6 |
* Class To Send Tracking Information Back To My Website
|
7 |
*
|
8 |
* @since 4.1.0
|
9 |
*/
|
10 |
+
class QMNTracking {
|
11 |
+
|
12 |
/**
|
13 |
* Date To Send Home
|
14 |
*
|
27 |
* @uses QMNTracking::add_hooks() Adds actions to hooks and filters
|
28 |
* @return void
|
29 |
*/
|
30 |
+
function __construct() {
|
|
|
31 |
$this->load_dependencies();
|
32 |
$this->add_hooks();
|
|
|
33 |
}
|
34 |
|
35 |
/**
|
38 |
* @since 4.1.0
|
39 |
* @return void
|
40 |
*/
|
41 |
+
private function load_dependencies() {
|
|
|
42 |
|
43 |
}
|
44 |
|
50 |
* @since 4.1.0
|
51 |
* @return void
|
52 |
*/
|
53 |
+
private function add_hooks() {
|
|
|
54 |
add_action( 'admin_notices', array( $this, 'admin_notice' ) );
|
55 |
+
add_action( 'admin_init', array( $this, 'admin_notice_check' ) );
|
56 |
+
add_action( 'plugins_loaded', array( $this, 'track_check' ) );
|
57 |
}
|
58 |
|
59 |
/**
|
66 |
* @uses QMNTracking::send_data()
|
67 |
* @return void
|
68 |
*/
|
69 |
+
public function track_check() {
|
|
|
70 |
$settings = (array) get_option( 'qmn-settings' );
|
71 |
$tracking_allowed = '0';
|
72 |
+
if ( isset( $settings['tracking_allowed'] ) ) {
|
|
|
73 |
$tracking_allowed = $settings['tracking_allowed'];
|
74 |
}
|
75 |
$last_time = get_option( 'qmn_tracker_last_time' );
|
76 |
+
if ( ( $tracking_allowed == '1' || $tracking_allowed == '2' ) && ( ( $last_time && $last_time < strtotime( '-1 week' ) ) || !$last_time ) ) {
|
77 |
+
$this->load_data( $tracking_allowed );
|
|
|
78 |
$this->send_data();
|
79 |
update_option( 'qmn_tracker_last_time', time() );
|
80 |
}
|
86 |
* @since 4.1.0
|
87 |
* @return void
|
88 |
*/
|
89 |
+
private function send_data() {
|
90 |
+
$response = wp_remote_post( 'http://quizandsurveymaster.com/?usage_track=confirmation', array(
|
|
|
91 |
'method' => 'POST',
|
92 |
'timeout' => 45,
|
93 |
'redirection' => 5,
|
94 |
'httpversion' => '1.0',
|
95 |
'blocking' => true,
|
96 |
'body' => $this->data,
|
97 |
+
'user-agent' => 'QSM Usage Tracker'
|
98 |
) );
|
99 |
if ( is_wp_error( $response ) ) {
|
100 |
$error_message = $response->get_error_message();
|
101 |
+
$mlwQuizMasterNext->log_manager->add( "Error 0024", "Usage tracker failed due to following reason: $error_message", 0, 'error' );
|
102 |
}
|
103 |
}
|
104 |
|
108 |
* @since 4.1.0
|
109 |
* @return void
|
110 |
*/
|
111 |
+
private function load_data( $tracking ) {
|
|
|
112 |
global $wpdb;
|
113 |
+
global $mlwQuizMasterNext;
|
114 |
$data = array();
|
115 |
+
$data["plugin"] = "QSM";
|
116 |
|
117 |
$data['url'] = home_url();
|
118 |
$data["wp_version"] = get_bloginfo( 'version' );
|
159 |
$data['quiz_options'] = $wpdb->get_results( "SELECT quiz_name, system, randomness_order, loggedin_user_contact, show_score, send_user_email, send_admin_email, contact_info_location, user_name, user_comp,
|
160 |
user_email, user_phone, comment_section, question_from_total, total_user_tries, certificate_template, pagination, timer_limit, question_numbering, theme_selected, last_activity, require_log_in, limit_total_entries, disable_answer_onselect, ajax_show_correct, quiz_views, quiz_taken FROM ".$wpdb->prefix."mlw_quizzes WHERE deleted=0" );
|
161 |
|
162 |
+
$data['error_logs'] = $mlwQuizMasterNext->log_manager->get_logs();
|
163 |
+
|
164 |
+
$data['site_title'] = get_bloginfo( 'name' );
|
165 |
+
$data['site_desc'] = get_bloginfo( 'description' );
|
166 |
+
$data['site_charset'] = get_bloginfo( 'charset' );
|
167 |
+
$data['lang'] = get_bloginfo( 'language' );
|
168 |
+
|
169 |
+
// Only add email if they opted into the newer optin message that includes joining the mailing list
|
170 |
+
if ( $tracking == "2" ) {
|
171 |
+
$data['email'] = get_bloginfo( 'admin_email' );
|
172 |
+
}
|
173 |
|
174 |
$this->data = $data;
|
175 |
}
|
182 |
* @since 4.1.0
|
183 |
* @return void
|
184 |
*/
|
185 |
+
public function admin_notice() {
|
|
|
186 |
$show_notice = get_option( 'qmn-tracking-notice' );
|
187 |
$settings = (array) get_option( 'qmn-settings' );
|
188 |
|
189 |
if ($show_notice)
|
190 |
return;
|
191 |
|
192 |
+
if ( isset( $settings['tracking_allowed'] ) && $settings['tracking_allowed'] == '1' )
|
193 |
return;
|
194 |
|
195 |
+
if( ! current_user_can( 'manage_options' ) )
|
196 |
return;
|
197 |
|
198 |
+
if( stristr( network_site_url( '/' ), 'dev' ) !== false || stristr( network_site_url( '/' ), 'localhost' ) !== false || stristr( network_site_url( '/' ), ':8888' ) !== false ) {
|
|
|
199 |
update_option( 'qmn-tracking-notice', '1' );
|
200 |
+
} else {
|
|
|
|
|
201 |
$optin_url = esc_url( add_query_arg( 'qmn_track_check', 'opt_into_tracking' ) );
|
202 |
$optout_url = esc_url( add_query_arg( 'qmn_track_check', 'opt_out_of_tracking' ) );
|
203 |
echo '<div class="updated"><p>';
|
204 |
+
echo __( "Allow Quiz And Survey Master to track this plugin's usage and help us make this plugin better? Opt-in to tracking and our newsletter and immediately be emailed a 20%% discount to the QSM store, valid towards the purchase of addons. No sensitive data is tracked.", 'quiz-master-next' );
|
205 |
echo ' <a href="' . esc_url( $optin_url ) . '" class="button-secondary">' . __( 'Allow', 'quiz-master-next' ) . '</a>';
|
206 |
echo ' <a href="' . esc_url( $optout_url ) . '" class="button-secondary">' . __( 'Do not allow', 'quiz-master-next' ) . '</a>';
|
207 |
echo '</p></div>';
|
214 |
* @since 4.1.0
|
215 |
* @return void
|
216 |
*/
|
217 |
+
public function admin_notice_check() {
|
218 |
+
if ( isset( $_GET["qmn_track_check"] ) ) {
|
219 |
+
if ( $_GET["qmn_track_check"] == 'opt_into_tracking' ) {
|
|
|
|
|
|
|
220 |
$settings = (array) get_option( 'qmn-settings' );
|
221 |
+
$settings['tracking_allowed'] = '2';
|
222 |
update_option( 'qmn-settings', $settings );
|
223 |
+
} else {
|
|
|
|
|
224 |
$settings = (array) get_option( 'qmn-settings' );
|
225 |
$settings['tracking_allowed'] = '0';
|
226 |
update_option( 'qmn-settings', $settings );
|
php/class-qsm-install.php
CHANGED
@@ -193,16 +193,10 @@ class QSM_Install {
|
|
193 |
public function update() {
|
194 |
global $mlwQuizMasterNext;
|
195 |
$data = $mlwQuizMasterNext->version;
|
196 |
-
if ( ! get_option('qmn_original_version'))
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
if ( ! get_option('mlw_quiz_master_version'))
|
201 |
-
{
|
202 |
-
add_option('mlw_quiz_master_version' , $data);
|
203 |
-
}
|
204 |
-
elseif (get_option('mlw_quiz_master_version') != $data)
|
205 |
-
{
|
206 |
global $wpdb;
|
207 |
$table_name = $wpdb->prefix . "mlw_quizzes";
|
208 |
//Update 0.5
|
@@ -608,15 +602,13 @@ class QSM_Install {
|
|
608 |
|
609 |
|
610 |
update_option('mlw_quiz_master_version' , $data);
|
611 |
-
if(!isset($_GET['activate-multi']))
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
}
|
616 |
}
|
617 |
-
if ( ! get_option('mlw_advert_shows'))
|
618 |
-
|
619 |
-
add_option('mlw_advert_shows' , 'true');
|
620 |
}
|
621 |
}
|
622 |
|
193 |
public function update() {
|
194 |
global $mlwQuizMasterNext;
|
195 |
$data = $mlwQuizMasterNext->version;
|
196 |
+
if ( ! get_option( 'qmn_original_version' ) ) {
|
197 |
+
add_option( 'qmn_original_version', $data );
|
198 |
+
}
|
199 |
+
if ( get_option( 'mlw_quiz_master_version' ) != $data ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
200 |
global $wpdb;
|
201 |
$table_name = $wpdb->prefix . "mlw_quizzes";
|
202 |
//Update 0.5
|
602 |
|
603 |
|
604 |
update_option('mlw_quiz_master_version' , $data);
|
605 |
+
if( ! isset( $_GET['activate-multi'] ) ) {
|
606 |
+
wp_safe_redirect( admin_url( 'index.php?page=mlw_qmn_about' ) );
|
607 |
+
exit;
|
608 |
+
}
|
|
|
609 |
}
|
610 |
+
if ( ! get_option('mlw_advert_shows') ) {
|
611 |
+
add_option( 'mlw_advert_shows' , 'true' );
|
|
|
612 |
}
|
613 |
}
|
614 |
|
php/settings-page.php
CHANGED
@@ -207,11 +207,11 @@ class QMNGlobalSettingsPage
|
|
207 |
$tracking_allowed = esc_attr( $settings['tracking_allowed'] );
|
208 |
}
|
209 |
$checked = '';
|
210 |
-
if ($tracking_allowed == '
|
211 |
{
|
212 |
$checked = " checked='checked'";
|
213 |
}
|
214 |
-
echo "<input type='checkbox' name='qmn-settings[tracking_allowed]' id='qmn-settings[tracking_allowed]' value='
|
215 |
echo "<label for='qmn-settings[tracking_allowed]'>Allow Quiz And Survey Master to anonymously track this plugin's usage and help us make this plugin better.</label>";
|
216 |
}
|
217 |
|
207 |
$tracking_allowed = esc_attr( $settings['tracking_allowed'] );
|
208 |
}
|
209 |
$checked = '';
|
210 |
+
if ($tracking_allowed == '2')
|
211 |
{
|
212 |
$checked = " checked='checked'";
|
213 |
}
|
214 |
+
echo "<input type='checkbox' name='qmn-settings[tracking_allowed]' id='qmn-settings[tracking_allowed]' value='2'$checked />";
|
215 |
echo "<label for='qmn-settings[tracking_allowed]'>Allow Quiz And Survey Master to anonymously track this plugin's usage and help us make this plugin better.</label>";
|
216 |
}
|
217 |
|
readme.txt
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
=== Quiz And Survey Master (Formerly Quiz Master Next) ===
|
2 |
-
Contributors: mylocalwebstop, fpcorso, elrath
|
3 |
Donate link: http://mylocalwebstop.com/downloads/donation-service-payment/
|
4 |
Tags: quiz, survey, test, score, exam, questionnaire, email, answer, question, certificate, points, results
|
5 |
Requires at least: 4.1
|
6 |
-
Tested up to: 4.5.
|
7 |
-
Stable tag: 4.7.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -45,7 +45,6 @@ You can assign categories to your questions. You can then show the user their sc
|
|
45 |
* Schedule when the quiz or survey should be active
|
46 |
* **Require** certain or all questions to be answered
|
47 |
* Limit amount of total entries to quiz or survey
|
48 |
-
* Allows for you to create **certificates** for the user
|
49 |
* Can set amount of tries a user has to take the quiz or survey
|
50 |
* Can enable **comment boxes** for each question and/or comment section at the end of the quiz or survey
|
51 |
* Can enable **hints** for questions
|
@@ -59,9 +58,15 @@ You can assign categories to your questions. You can then show the user their sc
|
|
59 |
= Make Suggestions Or Contribute =
|
60 |
Quiz And Survey Master is now on [GitHub](https://github.com/fpcorso/quiz_master_next/)!
|
61 |
|
62 |
-
=
|
63 |
While Quiz And Survey Master is fully functional and is packed full of features that will meet the needs of most, we do offer various extra features including:
|
64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
* [Landing Page](http://quizandsurveymaster.com/downloads/landing-page/?utm_source=readme&utm_medium=plugin&utm_content=landing-page&utm_campaign=qsm_plugin)
|
66 |
* [Export Results](http://quizandsurveymaster.com/downloads/export-results/?utm_source=readme&utm_medium=plugin&utm_content=export-results&utm_campaign=qsm_plugin)
|
67 |
* [Reporting & Analysis](http://quizandsurveymaster.com/downloads/results-analysis/?utm_source=readme&utm_medium=plugin&utm_content=reporting-analysis&utm_campaign=qsm_plugin)
|
@@ -104,49 +109,16 @@ This is usually a theme conflict. You can [checkout out our common conflict solu
|
|
104 |
|
105 |
== Changelog ==
|
106 |
|
|
|
|
|
|
|
107 |
= 4.7.5 (June 15, 2016) =
|
108 |
* Closed Enhancement: Change Text Block To Text/HTML - Issue #451
|
109 |
* Closed Enhancement: Create alert warning about removal of certificate - Issue #382
|
110 |
|
111 |
-
= 4.7.4 (June 3, 2016) =
|
112 |
-
* Closed Bug: Results page will not load on some sites - Issue #445
|
113 |
-
|
114 |
-
= 4.7.3 (May 31, 2016) =
|
115 |
-
* Closed Enhancement: Create new question section id CSS class for each question - Issue #440
|
116 |
-
* Closed Bug: Creating/Editing questions throw PHP notice of undefined index - Issue #436
|
117 |
-
|
118 |
-
= 4.7.2 (May 23, 2016) =
|
119 |
-
* Closed Bug: Multiple quizzes on page causes plugin to scroll to top quiz when submitting - Issue #428
|
120 |
-
|
121 |
-
= 4.7.1 (May 10, 2016) =
|
122 |
-
* Closed Enhancement: Create new audit trail class - Issue #425
|
123 |
-
* Closed Enhancement: Raise minimum WordPress version to 4.1 - Issue #423
|
124 |
-
* Closed Enhancement: WordPress Compatibility with 4.5.2 - Issue #422
|
125 |
-
* Closed Enhancement: Move installation process into new QSM_Install class - Issue #416
|
126 |
-
* Closed Enhancement: Update links for plugin on Plugins page - Issue #415
|
127 |
-
* Closed Bug: Activating plugin on fresh install causes unexpected output warning - Issue #414
|
128 |
-
* Closed User Request: Shortcode parameter to override amount of questions - Issue #345
|
129 |
-
* Closed Enhancement: Limit per user - upgrade to include non-logged in users - Issue #301
|
130 |
-
|
131 |
-
= 4.7.0 (April 4, 2016) =
|
132 |
-
* Closed Bug: Slash Added Before Quotation Mark When Editing Quiz/Survey Name - Issue #401
|
133 |
-
* Closed User Request: Add CSS Class To Container When Timer Runs Out - Issue #400
|
134 |
-
* Closed Bug: Validation breaks on second time through quiz - Issue #398
|
135 |
-
* Closed Bug: Validation not working when more than one question per page - Issue #395
|
136 |
-
* Closed Enhancement: Add Spinner/De-activate Submit Button Once Submitted - Issue #387
|
137 |
-
* Closed Enhancement: Pull changelog from GitHub API - Issue #377
|
138 |
-
* Closed Bug: Theme Conflict With Button Class (btn) - Issue #370
|
139 |
-
* Closed User Request: Add Average Points Per Category Variable - Issue #369
|
140 |
-
* Closed Bug: Mixed content SSL error - Issue #367
|
141 |
-
* Closed Enhancement: Default Option For Drop Down - Issue #334
|
142 |
-
* Closed Bug: Disable Answer On Change Not Working - Issue #331
|
143 |
-
* Closed User Request: Randomize Answers But Not Questions - Issue #330
|
144 |
-
* Closed User Request: Add Date Taken Variable - Issue #310
|
145 |
-
* Closed User Request: Copy Questions Between Quizzes - Issue #166
|
146 |
-
|
147 |
([Read Full Changelog](https://github.com/fpcorso/quiz_master_next/blob/master/CHANGELOG.md))
|
148 |
|
149 |
== Upgrade Notice ==
|
150 |
|
151 |
-
= 4.7.
|
152 |
Upgrade for minor design changes
|
1 |
=== Quiz And Survey Master (Formerly Quiz Master Next) ===
|
2 |
+
Contributors: mylocalwebstop, fpcorso, elrath, dukeran
|
3 |
Donate link: http://mylocalwebstop.com/downloads/donation-service-payment/
|
4 |
Tags: quiz, survey, test, score, exam, questionnaire, email, answer, question, certificate, points, results
|
5 |
Requires at least: 4.1
|
6 |
+
Tested up to: 4.5.3
|
7 |
+
Stable tag: 4.7.6
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
45 |
* Schedule when the quiz or survey should be active
|
46 |
* **Require** certain or all questions to be answered
|
47 |
* Limit amount of total entries to quiz or survey
|
|
|
48 |
* Can set amount of tries a user has to take the quiz or survey
|
49 |
* Can enable **comment boxes** for each question and/or comment section at the end of the quiz or survey
|
50 |
* Can enable **hints** for questions
|
58 |
= Make Suggestions Or Contribute =
|
59 |
Quiz And Survey Master is now on [GitHub](https://github.com/fpcorso/quiz_master_next/)!
|
60 |
|
61 |
+
= Quiz And Survey Master Add-ons =
|
62 |
While Quiz And Survey Master is fully functional and is packed full of features that will meet the needs of most, we do offer various extra features including:
|
63 |
|
64 |
+
**Free Add-ons**
|
65 |
+
|
66 |
+
* [Certificates](http://quizandsurveymaster.com/downloads/certificate/?utm_source=readme&utm_medium=plugin&utm_campaign=qsm_plugin&utm_content=certificate)
|
67 |
+
|
68 |
+
**Premium Add-ons**
|
69 |
+
|
70 |
* [Landing Page](http://quizandsurveymaster.com/downloads/landing-page/?utm_source=readme&utm_medium=plugin&utm_content=landing-page&utm_campaign=qsm_plugin)
|
71 |
* [Export Results](http://quizandsurveymaster.com/downloads/export-results/?utm_source=readme&utm_medium=plugin&utm_content=export-results&utm_campaign=qsm_plugin)
|
72 |
* [Reporting & Analysis](http://quizandsurveymaster.com/downloads/results-analysis/?utm_source=readme&utm_medium=plugin&utm_content=reporting-analysis&utm_campaign=qsm_plugin)
|
109 |
|
110 |
== Changelog ==
|
111 |
|
112 |
+
= 4.7.6 (July 11, 2016) =
|
113 |
+
* Closed: Add language and error logs to usage tracking - Issue #457
|
114 |
+
|
115 |
= 4.7.5 (June 15, 2016) =
|
116 |
* Closed Enhancement: Change Text Block To Text/HTML - Issue #451
|
117 |
* Closed Enhancement: Create alert warning about removal of certificate - Issue #382
|
118 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
([Read Full Changelog](https://github.com/fpcorso/quiz_master_next/blob/master/CHANGELOG.md))
|
120 |
|
121 |
== Upgrade Notice ==
|
122 |
|
123 |
+
= 4.7.6 =
|
124 |
Upgrade for minor design changes
|
uninstall.php
CHANGED
@@ -1,7 +1,6 @@
|
|
1 |
<?php
|
2 |
//if uninstall not called from WordPress, then exit
|
3 |
-
if ( !defined( 'WP_UNINSTALL_PLUGIN' ) )
|
4 |
-
{
|
5 |
exit();
|
6 |
}
|
7 |
|
@@ -18,7 +17,9 @@ $results = $wpdb->query( "DROP TABLE IF EXISTS $table_name" );
|
|
18 |
$table_name = $wpdb->prefix . "mlw_qm_audit_trail";
|
19 |
$results = $wpdb->query( "DROP TABLE IF EXISTS $table_name" );
|
20 |
|
21 |
-
delete_option('mlw_quiz_master_version');
|
22 |
-
delete_option('mlw_qmn_review_notice');
|
23 |
-
delete_option('mlw_advert_shows');
|
|
|
|
|
24 |
?>
|
1 |
<?php
|
2 |
//if uninstall not called from WordPress, then exit
|
3 |
+
if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
|
|
|
4 |
exit();
|
5 |
}
|
6 |
|
17 |
$table_name = $wpdb->prefix . "mlw_qm_audit_trail";
|
18 |
$results = $wpdb->query( "DROP TABLE IF EXISTS $table_name" );
|
19 |
|
20 |
+
delete_option( 'mlw_quiz_master_version' );
|
21 |
+
delete_option( 'mlw_qmn_review_notice' );
|
22 |
+
delete_option( 'mlw_advert_shows' );
|
23 |
+
delete_option( 'qmn-settings' );
|
24 |
+
delete_option( 'qmn-tracking-notice' );
|
25 |
?>
|