PluginProbe
Mailchimp List Subscribe Form / trunk
Mailchimp List Subscribe Form vtrunk
1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 All 55 releases
mailchimp / mailchimp_upgrade.php

mailchimp_upgrade.php in Mailchimp List Subscribe Form trunk, at mailchimp_upgrade.php

83 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Upgrade routines.
4 *
5 * @package Mailchimp
6 */
7
8 /**
9 * Check plugin version.
10 *
11 * @since 1.6.0
12 * @return void
13 */
14 function mailchimp_version_check() {
15 $db_option = get_option( 'mc_version' );
16
17 if ( MCSF_VER === $db_option ) {
18 return;
19 }
20
21 if ( false === $db_option || version_compare( '1.6.0', $db_option, '>' ) ) {
22 mailchimp_update_1_6_0();
23 }
24
25 if ( false === $db_option || version_compare( '1.7.0', $db_option, '>' ) ) {
26 mailchimp_update_1_7_0();
27 }
28
29 update_option( 'mc_version', MCSF_VER );
30 }
31
32 add_action( 'plugins_loaded', 'mailchimp_version_check' );
33
34 /**
35 * Ensure the analytics table exists and is at the current schema version.
36 *
37 * Runs independently of mailchimp_version_check().
38 *
39 * @return void
40 */
41 function mailchimp_sf_maybe_create_analytics_table() {
42 if ( ! class_exists( 'Mailchimp_Analytics_Data' ) ) {
43 return;
44 }
45 if ( Mailchimp_Analytics_Data::DB_VERSION === get_option( 'mailchimp_sf_analytics_db_version' ) ) {
46 return;
47 }
48 Mailchimp_Analytics_Data::create_table();
49 }
50
51 add_action( 'plugins_loaded', 'mailchimp_sf_maybe_create_analytics_table', 20 );
52
53 /**
54 * Version 1.6.0 update routine
55 * - Remove MonkeyRewards checkbox option
56 *
57 * @return void
58 */
59 function mailchimp_update_1_6_0() {
60 delete_option( 'mc_rewards' );
61 }
62
63 /**
64 * Version 1.7.0 update routine
65 * - Set "Include?" value to "off" for hidden fields
66 *
67 * @return void
68 */
69 function mailchimp_update_1_7_0() {
70 $form_fields = get_option( 'mc_merge_vars' );
71
72 if ( ! empty( $form_fields ) && is_array( $form_fields ) ) {
73 foreach ( $form_fields as $field ) {
74 if ( ! $field['required'] && ! $field['public'] ) {
75 $option = 'mc_mv_' . $field['tag'];
76 // This is a hidden field, so we don't want to include it.
77 // We need to set the option to 'off' so that it doesn't show up in the form.
78 update_option( $option, 'off' );
79 }
80 }
81 }
82 }
83