Easy Forms for MailChimp - Version 5.3

Version Description

  • January 11th, 2014 =

  • Enhancement: Added ability to move the success + error messages above or below the form based on a defined constant ( display_yikes_mc_form_messages [options: before/after] )

  • Enhancement: Added new settings and the ability to show/hide *

Download this release

Release Info

Developer eherman24
Plugin Icon 128x128 Easy Forms for MailChimp
Version 5.3
Comparing to
See all releases

Code changes from version 5.2 to 5.3

classes/class.yksemeBase.php CHANGED
@@ -80,6 +80,16 @@ if(!class_exists("yksemeBase")) {
80
  update_option( YKSEME_OPTION , $options );
81
  }
82
 
 
 
 
 
 
 
 
 
 
 
83
  }
84
 
85
  // register and add our shortcodes
@@ -113,6 +123,7 @@ if(!class_exists("yksemeBase")) {
113
  'yks-mailchimp-optIn-default-list' => 'select_list',
114
  'yks-mailchimp-optin-checkbox-text' => 'Add me to the ' . $blog_title . ' mailing list',
115
  'recaptcha-setting' => '0',
 
116
  'recaptcha-api-key' => '',
117
  'recaptcha-private-api-key' => '',
118
  'ssl_verify_peer' => 'true',
@@ -323,6 +334,7 @@ if(!class_exists("yksemeBase")) {
323
  $this->optionVal['yks-mailchimp-optIn-default-list'] = isset($fd['yks-mailchimp-optIn-default-list']) ? $fd['yks-mailchimp-optIn-default-list'] : null; // if its set, else set to null <- fixes save form settings bug
324
  $this->optionVal['yks-mailchimp-optin-checkbox-text'] = stripslashes($fd['yks-mailchimp-optin-checkbox-text']);
325
  $this->optionVal['yks-mailchimp-jquery-datepicker'] = isset( $fd['yks-mailchimp-jquery-datepicker'] ) ? '1' : '';
 
326
  update_option('api_validation', 'valid_api_key');
327
  return update_option( YKSEME_OPTION , $this->optionVal );
328
  } else {
@@ -335,6 +347,7 @@ if(!class_exists("yksemeBase")) {
335
  $this->optionVal['yks-mailchimp-optIn-default-list'] = isset($fd['yks-mailchimp-optIn-default-list']) ? $fd['yks-mailchimp-optIn-default-list'] : null; // if its set, else set to null <- fixes save form settings bug
336
  $this->optionVal['yks-mailchimp-optin-checkbox-text'] = stripslashes($fd['yks-mailchimp-optin-checkbox-text']);
337
  $this->optionVal['yks-mailchimp-jquery-datepicker'] = isset( $fd['yks-mailchimp-jquery-datepicker'] ) ? '1' : '';
 
338
  update_option('api_validation', 'valid_api_key');
339
  // if the new API key differs from the old one
340
  // we need to unset the previously set up widgets
@@ -1357,6 +1370,7 @@ if(!class_exists("yksemeBase")) {
1357
  $this->optionVal['recaptcha-api-key'] = '';
1358
  $this->optionVal['recaptcha-private-api-key'] = '';
1359
  $this->optionVal['yks-mailchimp-jquery-datepicker'] = '';
 
1360
  $this->optionVal['version'] = YKSEME_VERSION_CURRENT;
1361
  $this->optionVal['ssl_verify_peer'] = 'true';
1362
  update_option('api_validation' , 'invalid_api_key');
@@ -2744,6 +2758,7 @@ if(!class_exists("yksemeBase")) {
2744
  endforeach; endif;
2745
  $o .= '</select>';
2746
  break;
 
2747
  case 'address':
2748
  $o .= '<input type="text" placeholder="'.$placeholder.'" name="'.$field['name'].'" class="'.$field['name'].($field['require'] == 1 ? ' yks-require' : ''). ' ' . $custom_class . $class_title .'" id="'.$field['id'].'" value="" /><span class="yks-mailchimp-form-tooltip">Street Address</span>';
2749
  $o .= '<input type="text" name="'.$field['name'].'-add2" class="'.$field['name'].'-add2'.($field['require'] == 1 ? ' yks-require' : ''). ' ' . $custom_class . $class_title .'" id="'.$field['id'].'-add2" value="" /><span class="yks-mailchimp-form-tooltip">Apt/Suite</span>';
@@ -2751,14 +2766,17 @@ if(!class_exists("yksemeBase")) {
2751
  $o .= '<input type="text" name="'.$field['name'].'-state" class="'.$field['name'].'-state'.($field['require'] == 1 ? ' yks-require' : ''). ' ' . $custom_class . $class_title .'" id="'.$field['id'].'-state" value="" /><span class="yks-mailchimp-form-tooltip">State</span>';
2752
  $o .= '<input type="text" name="'.$field['name'].'-zip" class="'.$field['name'].'-zip'.($field['require'] == 1 ? ' yks-require' : ''). ' ' . $custom_class . $class_title .'" id="'.$field['id'].'-zip" value="" /><span class="yks-mailchimp-form-tooltip">Zip</span>';
2753
  break;
 
2754
  case 'radio':
2755
  if(count($field['choices']) > 0) : $ct=0; foreach($field['choices'] as $ok => $ov) :
2756
  $ct++;
2757
- $o .= '<label for="'.$field['id'].'-'.$ok.'"><input type="radio" name="'.$field['name'].'" class="'.$field['name'].($field['require'] == 1 ? ' yks-require' : ''). ' ' . $custom_class . $class_title .'" id="'.$field['id'].'-'.$ok.'" value="'.htmlentities($ov, ENT_QUOTES).'" />'.$ov.'</label>';
2758
- if($ct < count($field['choices']))
2759
- $o .= '<br />';
 
2760
  endforeach; endif;
2761
  break;
 
2762
  case 'date':
2763
  case 'birthday':
2764
  $o .= '<input placeholder="'.$placeholder.'" type="text" name="'.$field['name'].'" class="'.$field['name'].' yks-field-type-date'.($field['require'] == 1 ? ' yks-require' : ''). ' ' . $custom_class . $class_title .'" id="'.$field['id'].'" value="" />';
80
  update_option( YKSEME_OPTION , $options );
81
  }
82
 
83
+ /*
84
+ * add our new hide 'required text' option, if it doesn't already exist
85
+ * @since v5.3
86
+ */
87
+ if ( !isset( $this->optionVal['yks-mailchimp-required-text'] ) ) {
88
+ $options = get_option( YKSEME_OPTION );
89
+ $options['yks-mailchimp-required-text'] = '0';
90
+ update_option( YKSEME_OPTION , $options );
91
+ }
92
+
93
  }
94
 
95
  // register and add our shortcodes
123
  'yks-mailchimp-optIn-default-list' => 'select_list',
124
  'yks-mailchimp-optin-checkbox-text' => 'Add me to the ' . $blog_title . ' mailing list',
125
  'recaptcha-setting' => '0',
126
+ 'yks-mailchimp-required-text' => '0',
127
  'recaptcha-api-key' => '',
128
  'recaptcha-private-api-key' => '',
129
  'ssl_verify_peer' => 'true',
334
  $this->optionVal['yks-mailchimp-optIn-default-list'] = isset($fd['yks-mailchimp-optIn-default-list']) ? $fd['yks-mailchimp-optIn-default-list'] : null; // if its set, else set to null <- fixes save form settings bug
335
  $this->optionVal['yks-mailchimp-optin-checkbox-text'] = stripslashes($fd['yks-mailchimp-optin-checkbox-text']);
336
  $this->optionVal['yks-mailchimp-jquery-datepicker'] = isset( $fd['yks-mailchimp-jquery-datepicker'] ) ? '1' : '';
337
+ $this->optionVal['yks-mailchimp-required-text'] = $fd['yks-mailchimp-required-text'];
338
  update_option('api_validation', 'valid_api_key');
339
  return update_option( YKSEME_OPTION , $this->optionVal );
340
  } else {
347
  $this->optionVal['yks-mailchimp-optIn-default-list'] = isset($fd['yks-mailchimp-optIn-default-list']) ? $fd['yks-mailchimp-optIn-default-list'] : null; // if its set, else set to null <- fixes save form settings bug
348
  $this->optionVal['yks-mailchimp-optin-checkbox-text'] = stripslashes($fd['yks-mailchimp-optin-checkbox-text']);
349
  $this->optionVal['yks-mailchimp-jquery-datepicker'] = isset( $fd['yks-mailchimp-jquery-datepicker'] ) ? '1' : '';
350
+ $this->optionVal['yks-mailchimp-required-text'] = $fd['yks-mailchimp-required-text'];
351
  update_option('api_validation', 'valid_api_key');
352
  // if the new API key differs from the old one
353
  // we need to unset the previously set up widgets
1370
  $this->optionVal['recaptcha-api-key'] = '';
1371
  $this->optionVal['recaptcha-private-api-key'] = '';
1372
  $this->optionVal['yks-mailchimp-jquery-datepicker'] = '';
1373
+ $this->optionVal['yks-mailchimp-required-text'] = '';
1374
  $this->optionVal['version'] = YKSEME_VERSION_CURRENT;
1375
  $this->optionVal['ssl_verify_peer'] = 'true';
1376
  update_option('api_validation' , 'invalid_api_key');
2758
  endforeach; endif;
2759
  $o .= '</select>';
2760
  break;
2761
+
2762
  case 'address':
2763
  $o .= '<input type="text" placeholder="'.$placeholder.'" name="'.$field['name'].'" class="'.$field['name'].($field['require'] == 1 ? ' yks-require' : ''). ' ' . $custom_class . $class_title .'" id="'.$field['id'].'" value="" /><span class="yks-mailchimp-form-tooltip">Street Address</span>';
2764
  $o .= '<input type="text" name="'.$field['name'].'-add2" class="'.$field['name'].'-add2'.($field['require'] == 1 ? ' yks-require' : ''). ' ' . $custom_class . $class_title .'" id="'.$field['id'].'-add2" value="" /><span class="yks-mailchimp-form-tooltip">Apt/Suite</span>';
2766
  $o .= '<input type="text" name="'.$field['name'].'-state" class="'.$field['name'].'-state'.($field['require'] == 1 ? ' yks-require' : ''). ' ' . $custom_class . $class_title .'" id="'.$field['id'].'-state" value="" /><span class="yks-mailchimp-form-tooltip">State</span>';
2767
  $o .= '<input type="text" name="'.$field['name'].'-zip" class="'.$field['name'].'-zip'.($field['require'] == 1 ? ' yks-require' : ''). ' ' . $custom_class . $class_title .'" id="'.$field['id'].'-zip" value="" /><span class="yks-mailchimp-form-tooltip">Zip</span>';
2768
  break;
2769
+
2770
  case 'radio':
2771
  if(count($field['choices']) > 0) : $ct=0; foreach($field['choices'] as $ok => $ov) :
2772
  $ct++;
2773
+ $o .= '<label class="yks_mc_interest_group_label" for="'.$field['id'].'-'.$ok.'">
2774
+ <input type="radio" name="'.$field['name'].'" class="'.$field['name'].($field['require'] == 1 ? ' yks-require' : ''). ' ' . $custom_class . $class_title .' yikes_mc_interest_group_checkbox" id="'.$field['id'].'-'.$ok.'" value="'.htmlentities($ov, ENT_QUOTES).'" />
2775
+ <span>'.$ov.'</span>
2776
+ </label>';;
2777
  endforeach; endif;
2778
  break;
2779
+
2780
  case 'date':
2781
  case 'birthday':
2782
  $o .= '<input placeholder="'.$placeholder.'" type="text" name="'.$field['name'].'" class="'.$field['name'].' yks-field-type-date'.($field['require'] == 1 ? ' yks-require' : ''). ' ' . $custom_class . $class_title .'" id="'.$field['id'].'" value="" />';
css/style.ykseme.css CHANGED
@@ -283,7 +283,6 @@
283
  -moz-box-sizing: border-box;
284
  -webkit-box-sizing: border-box;
285
  box-sizing: border-box;
286
- height: 30px;
287
  padding-left: 10px;
288
  }
289
  /* Make radio buttons and checkboxes not 100% as it throws off layouts */
@@ -765,8 +764,8 @@ body.mailchimp-forms_page_yks-mailchimp-about-yikes #ykseme-page-header {
765
  vertical-align: top !important;
766
  }
767
  .yks-mailchimpFormDivRowLabel {
768
- display: inline-block;
769
- width: 50%;
770
  }
771
  .yks-mailchimpFormDivSubmit {
772
  display: inline-block;
@@ -815,7 +814,7 @@ body.mailchimp-forms_page_yks-mailchimp-about-yikes #ykseme-page-header {
815
  /****** Interest Group Stypes ******/
816
  .yks_mc_interest_group_text {
817
  display:block;
818
- margin-top:1em;
819
  }
820
 
821
  .yks_mc_interest_group_holder {
@@ -850,6 +849,7 @@ td.yks_mc_table_dropdown_interest_group_holder, td.yks-mailchimpFormTableSubmit
850
  .yikes_mc_interest_group_checkbox, .yks_mc_interest_group_label {
851
  display:inline-block;
852
  margin: 0 5px;
 
853
  }
854
 
855
  .widget .yks_mc_table_td:last-child {
@@ -1712,7 +1712,7 @@ body.mailchimp-forms_page_yks-mailchimp-form-lists .panel-default {
1712
  background-color: #f5f5f5;
1713
  border-color: #ddd;
1714
  position: relative;
1715
- z-index: 9998;
1716
  display: inline-block;
1717
  }
1718
 
283
  -moz-box-sizing: border-box;
284
  -webkit-box-sizing: border-box;
285
  box-sizing: border-box;
 
286
  padding-left: 10px;
287
  }
288
  /* Make radio buttons and checkboxes not 100% as it throws off layouts */
764
  vertical-align: top !important;
765
  }
766
  .yks-mailchimpFormDivRowLabel {
767
+ display: block;
768
+ margin: .5em 0;
769
  }
770
  .yks-mailchimpFormDivSubmit {
771
  display: inline-block;
814
  /****** Interest Group Stypes ******/
815
  .yks_mc_interest_group_text {
816
  display:block;
817
+ margin: .5em 0;
818
  }
819
 
820
  .yks_mc_interest_group_holder {
849
  .yikes_mc_interest_group_checkbox, .yks_mc_interest_group_label {
850
  display:inline-block;
851
  margin: 0 5px;
852
+ line-height: .7;
853
  }
854
 
855
  .widget .yks_mc_table_td:last-child {
1712
  background-color: #f5f5f5;
1713
  border-color: #ddd;
1714
  position: relative;
1715
+ z-index: 999;
1716
  display: inline-block;
1717
  }
1718
 
css/style.ykseme.min.css ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ /*
2
+ * Main CSS File - Minified
3
+ * for YIKES Inc. Easy MailChimp Extender
4
+ * Compiled by YIKES Inc.
5
+ */
6
+ .yks-hidden{display:none}.yks-text-right{text-align:right}.yks-text-left{text-align:left}.yks-text-center{text-align:center}.yks-right{float:right}.yks-left{float:left}.yks-margin-left{margin-left:2em}@font-face{font-family:yks-mc-font;src:url(fonts/yks-mc-font.eot?-e5ggdf);src:url(fonts/yks-mc-font.eot?#iefix-e5ggdf) format('embedded-opentype'),url(fonts/yks-mc-font.woff?-e5ggdf) format('woff'),url(fonts/yks-mc-font.ttf?-e5ggdf) format('truetype'),url(fonts/yks-mc-font.svg?-e5ggdf#yks-mc-font) format('svg');font-weight:400;font-style:normal}.yks_mc_error_x{color:#DD3D36}.ui-widget-overlay:nth-child(2){background:0 0!important}.mce-i-yks-mc-icon-yikes-button-image:before{content:"\e600"!important;font-family:yks-mc-font!important}.toplevel_page_yks-mailchimp-form .update-nag{padding-top:0;margin-top:0;width:95%;margin-right:0}.yks-mc-icon-notice{display:block}.update-nag .yks-mc-icon-notice:before{content:"\e601"!important;font-family:yks-mc-font!important;float:left;font-size:1.5em;color:#FFBA00;display:block;margin-right:.25em}.yks-mc-icon-yks-mc-warning:before{content:"\e602";font-family:yks-mc-font!important}.yks-mc-reset-warning-icon{font-size:3.25em;color:#ff4c4c;text-align:center;float:left;margin-right:.25em;margin-top:.75em}.yks_mc_about_icon{display:block;float:left;margin-top:2em}.yks-mc-delete-form-warning-icon{font-size:3.25em;color:#ff4c4c;text-align:center;float:left;margin-right:.25em}.yks-mc-success-icon{font-size:3.25em;color:#7ecf6e;text-align:center;margin-top:.25em;margin-right:.75em;float:left}.yks-mc-reset-plugin-settings-preloader{width:15px;text-align:center;display:block;margin:0 auto}.yks-mc-reset-plugin-settings-preloader-container{width:100%;text-align:center}#yks_mc_reset_plugin_settings p{float:left;width:75%;margin-top:1em}[id*="_yikes_mc_widget"]>div.widget-top>div.widget-title>h4:before{content:url(../images/yikes_logo_widget_icon.png);width:33px;float:left;height:8px;margin:-5px 8px 0 -5px}.wp-core-ui .yikes-mc-button-red{background-color:#9B2124;background-image:-webkit-gradient(linear,left top,left bottom,from(#C5292E),to(#9B2124));background-image:-webkit-linear-gradient(top,#C5292E,#9B2124);background-image:-moz-linear-gradient(top,#C5292E,#9B2124);background-image:-ms-linear-gradient(top,#C5292E,#9B2124);background-image:-o-linear-gradient(top,#C5292E,#9B2124);background-image:linear-gradient(to bottom,#C5292E,#9B2124);border-color:#9B2124 #9B2124 #8D1F21;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5);box-shadow:inset 0 1px 0 rgba(120,200,230,.5);color:#fff;text-decoration:none;text-shadow:0 1px 0 rgba(0,0,0,.1);margin-left:2em;width:150px;text-align:center}.wp-core-ui .yikes-mc-button-red.focus,.wp-core-ui .yikes-mc-button-red.hover,.wp-core-ui .yikes-mc-button-red:focus,.wp-core-ui .yikes-mc-button-red:hover{background-color:#B72629;background-image:-webkit-gradient(linear,left top,left bottom,from(#D22E30),to(#9B2124));background-image:-webkit-linear-gradient(top,#D22E30,#9B2124);background-image:-moz-linear-gradient(top,#D22E30,#9B2124);background-image:-ms-linear-gradient(top,#D22E30,#9B2124);background-image:-o-linear-gradient(top,#D22E30,#9B2124);background-image:linear-gradient(to bottom,#D22E30,#9B2124);border-color:#7F1C1F;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.3)}.wp-core-ui .yikes-mc-button-red.focus,.wp-core-ui .yikes-mc-button-red:focus{border-color:#500F0E;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6),1px 1px 2px rgba(0,0,0,.4);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),1px 1px 2px rgba(0,0,0,.4)}.wp-core-ui .yikes-mc-button-red.active,.wp-core-ui .yikes-mc-button-red.active:focus,.wp-core-ui .yikes-mc-button-red.active:hover,.wp-core-ui .yikes-mc-button-red:active{background:#7F1C1F;background-image:-webkit-gradient(linear,left top,left bottom,from(#9B2124),to(#B72629));background-image:-webkit-linear-gradient(top,#9B2124,#B72629);background-image:-moz-linear-gradient(top,#9B2124,#B72629);background-image:-ms-linear-gradient(top,#9B2124,#B72629);background-image:-o-linear-gradient(top,#9B2124,#B72629);background-image:linear-gradient(to bottom,#9B2124,#B72629);border-color:#601312 #AE2426 #AE2426;color:rgba(255,255,255,.95);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);text-shadow:0 1px 0 rgba(0,0,0,.1)}.wp-core-ui .yikes-mc-button-red-disabled,.wp-core-ui .yikes-mc-button-red:disabled,.wp-core-ui .yikes-mc-button-red[disabled]{color:#E79496!important;background:#BA292B!important;border-color:#7F1C1F!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important;cursor:default}#userInformation{width:400px;height:125px;position:absolute;right:0;top:0;margin-top:2em;margin-right:2em;padding:10px;font-size:1.8em}#userInformation p,#userInformation span{margin:0}#userInformation span{text-decoration:underline}#yikes-mailchimp-avatar{position:absolute;top:0;left:0;margin-left:10px;margin-top:1.8em;width:100px}.userProfileInformation{margin-left:110px;margin-top:5px}.userProfileInformation p{margin:5px 0!important;font-size:16px}.yikes_mc_widget_selected_form_dropdown,.yikes_widget_form_description{width:100%;height:200px;resize:none}.widget_yikes_mc_widget p{margin-bottom:10px}.widget .yks_mc_interest_group_label{text-align:center;width:33%;float:left;word-break:break-word;margin:5px 0}.yks-mailchimpFormDivRowField select{display:block;width:100%}.widget_yikes_mc_widget .yks-mailchimpFormDivRowField,.widget_yikes_mc_widget input{width:100%;display:block;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.yks-mailchimpFormDivRowField input{width:100%;display:block;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:10px}.yks-mailchimpFormDivRowField input[type=checbox],.yks-mailchimpFormDivRowField input[type=radio]{width:auto;float:left}.widget_yikes_mc_widget .yks-require-description{padding-top:0}#ykseme-icon{background:url(../images/ykseme_32px_color.png) 0 0/contain no-repeat;display:block;float:left;padding:0 0 0 .5em;height:35px;width:35px}body.mailchimp-forms_page_yks-mailchimp-form-lists #ykseme-icon{margin-right:.5em}.wrap #ykseme-page-header{padding-top:0;margin:1em 0 1.5em}.wrap #yks_mc_review_this_plugin_container{padding:.5em;float:right}.wrap .nav-tab-wrapper{padding-top:2.5em}.wrap .account-nav-tab{padding-top:0}#yks_mc_review_this_plugin_container{display:inline-block}#yks_mc_review_this_plugin_container .yks_review_this_divider{border-right:1px solid #333}#yks_mc_review_this_plugin_container a,#yks_mc_review_this_plugin_container a:hover{color:#333}#yks_mc_review_this_plugin_container .yks_header_logo,#yks_mc_review_this_plugin_container div,#yks_mc_review_this_plugin_container span{float:left;margin:0 .5em;text-align:center}#yks_mc_review_this_plugin_container div.dashicons{margin:0 5px}#yks_mc_review_this_plugin_container div.dashicons-plus-alt{display:block;width:100%;margin:0 auto}body.mailchimp-forms_page_yks-mailchimp-about-yikes #ykseme-page-header{margin-top:1em}#yks-lists-dropdown{margin-bottom:2em}.yks-status{display:none;width:100%;clear:both}.wp-admin .yks-error p{margin:.5em 0}.yks-status .yks-success{width:98%;margin:2em auto 0;padding:5px 15px 5px 0;background-color:transparent;min-height:25px;line-height:1.2;color:#333}.yks-status .yks-success a{color:auto!important}.yks-status-error .yks-error{width:98%;margin:2em auto 0;background-color:#fff;padding:1px 12px 1px 0;min-height:25px;line-height:3.2}.yks-status .yks-error p,.yks-status .yks-success p{margin:.4em 0}.yks-status .yks-notice{color:#000;width:80%;height:auto;border:2px solid #03A;background:#CDF;clear:both;margin:15px auto;padding:5px;position:relative;text-align:left}.yks-status .yks-notice a.yks-notice-close,.yks-status .yks-notice a.yks-notice-close:active,.yks-status .yks-notice a.yks-notice-close:link,.yks-status .yks-notice a.yks-notice-close:visited{background:#03A;color:#FFF;position:absolute;padding:0 5px!important;margin:0!important;top:0;right:0;font-size:10px;text-decoration:none}.yks-status .yks-notice a.yks-notice-close:hover{text-decoration:underline}.yks-status .yks-notice p{padding:5px}body.wp-admin .yks-status{display:none;width:100%;clear:both}body.wp-admin .yks-status .yks-success{border-left:4px solid #7ad03a;padding:5px 15px;background-color:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);min-height:25px;line-height:1.2;margin-top:1em;color:#333}body.wp-admin .yks-status .yks-success a{color:auto!important}body.wp-admin .yks-status-error .yks-error{border-left:4px solid #dd3d36;background-color:#fff;padding:1px 12px;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);min-height:25px;line-height:3.2;margin-top:1em}.yks-status .yks-success p,body.wp-admin .yks-status .yks-error p{margin:.4em 0}body.wp-admin .yks-status .yks-notice{color:#000;width:80%;height:auto;border:2px solid #03A;background:#CDF;clear:both;margin:15px auto;padding:5px;position:relative;text-align:left}body.wp-admin .yks-status .yks-notice a.yks-notice-close,body.wp-admin .yks-status .yks-notice a.yks-notice-close:active,body.wp-admin .yks-status .yks-notice a.yks-notice-close:link,body.wp-admin .yks-status .yks-notice a.yks-notice-close:visited{background:#03A;color:#FFF;position:absolute;padding:0 5px!important;margin:0!important;top:0;right:0;font-size:10px;text-decoration:none}body.wp-admin .yks-status .yks-notice a.yks-notice-close:hover{text-decoration:underline}body.wp-admin .yks-status .yks-notice p{padding:5px}.yks-admin-form{margin-bottom:3em}.yks-admin-form th{font-weight:700}.yks-settings-description{padding-bottom:2em!important;color:#666}#double-optin-message,#single-optin-message{height:150px;width:600px;resize:none}.yks-mailchimp-interest-group-label{width:350px}.merge_field_input{max-width:85px}.yks-notice-toggle{background:#c9cced!important;border-color:#9ea0ba!important;color:#3c3a44!important}.yks-mailchimp-delete{background:#890B0B!important;border-color:#890B0B!important}.yks-mailchimp-import{background:#ffc000!important;border-color:#ffc000!important;float:right;margin:0 10px 0 0}.yks-mailchimp-fields-placeholder{background:#DEDEDE;display:block;height:40px}.yks-mailchimp-sorthandle{background:url(../images/16px_sortable_color.png) no-repeat;margin:0 7px -4px 4px!important;padding:0;overflow:hidden;height:16px!important;width:16px!important;text-indent:-9000px;display:inline-block}.yks-mailchimp-sorthandle-img{background:url(../images/16px_sortable_color.png) no-repeat;height:16px!important;width:16px!important;display:inline-block}.yks-mailchimp-fields-container label input[type=checkbox]{margin-top:-1px}.yks-mailchimp-field-name{display:inline-block;width:175px}.yks-mailchimp-field-merge{display:inline-block}.yks-mailchimp-field-merge .yks-mailchimp-field-merge{width:100px}.yks-mailchimp-fields-list,.yks-mailchimp-interest-groups-container{background-color:#F9F9F9;border:1px solid #EEE}.yks-mailchimp-fields-list .yks-mailchimp-fields-list-row:nth-child(even),.yks-mailchimp-interest-groups-container .yks-mailchimp-fields-list-row:nth-child(even){background-color:#EEE}.yks-mailchimp-fields-list .yks-mailchimp-fields-list-row,.yks-mailchimp-interest-groups-container .yks-mailchimp-fields-list-row{height:40px;padding-top:3px}.yks-mailchimp-fields-list .yks-mailchimp-fields-list-row label,.yks-mailchimp-interest-groups-container .yks-mailchimp-fields-list-row label{display:inline-block}.yks-mailchimp-listname{font-size:1.4em!important;font-weight:600;padding-left:0!important}.yks-mailchimp-redirect-checkbox-holder{display:block;margin-top:.5em}.yks-mailchimp-subscribers-list-row{height:30px;padding-top:3px;font-size:1.2em}.yikes-mailchimp-subscribers-table-head{border-bottom:1px solid grey;font-size:1.3em}.yks-mailchimp-subscribers-list-row:nth-child(even){background-color:#EEE}.yks-mailchimp-subscribers-list-row:hover{cursor:pointer;background:rgba(208,235,241,.58)}.subscriber-mail-link{text-decoration:none}.displayListSubscribers{font-size:9px!important;margin-top:-5px!important;margin-left:5px!important}.yks-view-subscriber-profile{float:right;margin-right:.35em;margin-top:-.2em;opacity:.5;color:#188a38!important;line-height:1.35}.yks-view-subscriber-profile:hover{opacity:1}.yks-remove-subscriber{float:right;margin-right:.5em;margin-top:-.2em;opacity:.5;color:#df6f6f;line-height:1.35}.yks-remove-subscriber:hover{opacity:1}.yks-email-subscriber{float:right;margin-right:.25em;margin-top:-.2em;opacity:.5;color:#3c8faf!important;line-height:1.35}.yks-email-subscriber:hover{opacity:1}.yksme-page-about{width:98%}#yksme-yikes-logo-container{float:right;margin:0 20px 20px;width:300px}#yksme-yikes-logo-container .b-sbn{float:right;margin:0 2.4em 0 0}#yksme-yikes-logo{border:0;padding:0;margin:0 0 20px;display:block}.yks-mailchimp-fields-td{display:block;padding:15px 0;width:100%}.yks-mailchimp-fields-td .yks-mailchimp-fields-container .yks-mailchimp-fields-list-row{height:auto;padding:3px 0}.yks-mailchimp-fields-container label{clear:both;display:block;padding:2px 0}.yks-require-description{font-size:.9em;padding:1em 0 0}.yks-required-label{font-weight:700;color:red}.yks-mailchimpFormTable{border-bottom:0!important}.yks-mailchimpFormTableSubmit{text-align:center}.yks-mailchimpFormDivRow,.yks-mailchimpFormTableRow{width:100%}.yks-mailchimpFormDivRow{margin:.5em 0}.yks-mailchimpFormDivRowField,.yks-mailchimpFormDivRowLabel,.yks-mailchimpFormTableRowField,.yks-mailchimpFormTableRowLabel{vertical-align:top!important}.yks-mailchimpFormDivRowLabel{display:block;margin:.5em 0;}.yks-mailchimpFormDivSubmit{display:inline-block;width:100%;margin-top:.4em}.yks-mailchimp-form-tooltip{color:#333!important;font-size:12px;display:block;margin:0 0 15px}#yks-mailchimp-debug-info,#yks-mailchimp-debug-info table,#yks-mailchimp-debug-info table label,#yks-mailchimp-debug-info table td,#yks-mailchimp-debug-info table th{color:#CCC!important;font-size:10px;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0}.mailChimp_api_key_preloader{margin-left:.5em;display:none}.mailChimp_api_key_validation_message{margin-left:.5em;display:none;font-size:10px}.yikes-api-key-error{display:none;color:red}.yks_mc_interest_group_text{display:block;margin: .5em 0;}.yks_mc_interest_group_holder{display:inline-block;width:100%;margin-bottom:.5em}td.yks-mailchimpFormTableSubmit,td.yks_mc_table_dropdown_interest_group_holder{border-top:0}.yks_table_label{display:block;margin:.75em 0}.yks_mc_table_interest_group_holder{width:100%;margin-bottom:0;display:block}.yks_mc_table_dropdown_interest_group_holder{display:block}.yks_mc_interest_group_holder select{width:100%}.yikes_mc_interest_group_checkbox,.yks_mc_interest_group_label{display:inline-block;margin:0 5px;line-height: .7;}.widget .yks_mc_table_td:last-child{border-top:0;border-bottom:0;display:block}.yikes_mc_interest_group_radio{margin-right:.5em}#content .yks_mc_interest_radio_button_holder,#content .yks_mc_table_td{display:inline-block;width:100%}.yks-mc-subscriber-go-back{font-size:12px;font-weight:700;color:#333;opacity:.5;display:block;text-align:left;margin-top:1em!important;width:auto}.yks-mc-subscriber-go-back:hover{opacity:1;cursor:pointer}.yks-mc-subscriber-overview{display:block;float:left;width:100%}.dashicons-arrow-left-alt2:before{display:inline-block;margin-top:.15em}.dashicons-star-filled{color:#FEBE12}.yks-mc-subscriber-star-rating{margin-top:0}#yks-subscriber-info-email-address{margin-bottom:.5em!important}.yks-mc-overview-title{font-size:16px;color:#666;opacity:.8;margin-bottom:0!important}.yks-mc-overview-info-value{font-size:14px;color:#222;margin-top:0!important}.yks-mc-subscriber-firstName,.yks-mc-subscriber-lastName{text-transform:capitalize}.yks-subscriber-info-optin-data{display:block;margin-top:.5em}.yks-mc-subscriber-bottom{display:block;float:left;width:100%}.yks-mc-subscriber-top{margin-bottom:1.5em}.yks-mc-subscriber-header{border-bottom:1px dashed grey;padding-bottom:.5em}.yks-mc-subscriber-left-container,.yks-mc-subscriber-right-container{float:left;width:50%}label[for=yikes_mailchimp_comment_subscribe]{display:block;margin:.5em 0}label[for=yikes_mailchimp_comment_subscribe]:hover{cursor:pointer}label[for=double-optin-message],label[for=single-optin-message]{display:block;max-width:598px;min-width:55%!important}#wp-double_optin_message-wrap,#wp-single_optin_message-wrap{display:block;margin-top:1.5em}.yikes_widget_logo{display:block;margin:0 auto;width:80px}.yikes_cURL_instructions_hidden,.yikes_phpinfo_container{display:none}.yikes_cURL_help_button{margin-bottom:1em!important}.yks_mc_php_ini_file_location{margin:.5em 0;font-style:italic}.yks_mc_no_phpini_alert{color:#C93232;font-weight:700}.yks_mc_no_phpini_success{color:#29CA01;font-weight:700}.yks-mailchimpFormDatepickerContainer .ui-datepicker-next:hover,.yks-mailchimpFormDatepickerContainer .ui-datepicker-prev:hover{cursor:pointer}.yks_error_field_required{border:1px solid #fcb6b6!important;background:#ffd5d5!important}#yks_form_error_message{padding:.75em .75em .75em 0;font-size:12px;float:left;display:none;width:100%}#yks_form_error_message ul{list-style-type:square;width:100%;float:left;margin:.75em 0 1.25em 1.25em}#yks_form_error_message ul li{width:33%;float:left}.preloader-confirmation-box>.success{color:rgba(87,182,66,.65)}.preloader-confirmation-box>.error{color:rgba(224,47,47,.65)}.preloader-confirmation-box>.error:before{display:block;float:left}.preloader-confirmation-box>.success:before{font-family:dashicons;content:"\f147"}.preloader-confirmation-box>.error:before{font-family:dashicons;content:"\f335"}#recaptcha_area{margin-bottom:1.5em}.widget #recaptcha_area .recaptcha_input_area,.widget #recaptcha_table td,.widget-area #recaptcha_area .recaptcha_input_area,.widget-area #recaptcha_table td{margin-left:0!important;padding-left:0!important}.widget .recaptchatable #recaptcha_image,.widget-area .recaptchatable #recaptcha_image{margin:0!important;float:left!important}.widget-area .recaptchatable #recaptcha_image img{max-width:100%}.widget #recaptcha_area,.widget #recaptcha_table,.widget .recaptchatable #recaptcha_image,.widget-area #recaptcha_area,.widget-area #recaptcha_table,.widget-area .recaptchatable #recaptcha_image{width:100%!important;max-width:300px}.widget-area input#recaptcha_response_field{margin-left:3px!important}input[name=yks-mailchimp-recaptcha-api-key],input[name=yks-mailchimp-recaptcha-private-api-key]{width:40%;min-width:357px}#debug_loaded_apache_modules{width:75%;height:124px;resize:none}.reCAPTCHA_preview_div{float:left;border:1px dashed lightgrey;text-align:center}.reCAPTCHA_preview_div strong{display:block;font-size:15px}textarea#debug_loaded_apache_modules{color:#333!important}#double_optin_message_ifr,#single_optin_message_ifr{max-height:200px!important}@media only screen and (max-width :782px){label[for=double-optin-message],label[for=single-optin-message]{width:100%!important}}.yks_mc_recaptcha_api_key_error{width:100%;text-align:center;color:red;margin:1em 0;text-style:italic;font-style:italic}.chimp-chatter-message-title{border-bottom:1px solid #C7C6C6;width:100%;display:block}#yks-admin-chimp-chatter{width:100%}#yks-admin-chimp-chatter .chatter-table-row{margin-top:1em}#yks-admin-chimp-chatter .chatter-table-row td:first-child,#yks-admin-chimp-chatter .chatter-table-row td:nth-child(2),#yks-admin-chimp-chatter .chatter-table-row td:nth-child(3){width:10%;text-align:center}#yks-admin-chimp-chatter .chatter-table-row td:nth-child(2){color:#b7b7b7;font-weight:700}.chimp-chatter-message{vertical-align:middle;border:2px solid #e0e0e0;padding:18px;border-radius:6px;background-color:#fff;width:66.66666666666667%}@media screen and (max-width:60em){.chimp-chatter-message{width:83%;vertical-align:top}}@media screen and (max-width:40em){.chimp-chatter-message{width:100%}}@media screen and (max-width:60em){.chimp-chatter-message:after,.chimp-chatter-message:before{top:77px}}@media screen and (max-width:40em){.chimp-chatter-message:after,.chimp-chatter-message:before{border-right-color:transparent;border-bottom-color:#fff;left:9px;top:-17px}}.green-flat-button{position:relative;vertical-align:top;width:70%;height:45px;padding:0;font-size:16px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.25);background:#27ae60;border:0;border-bottom:2px solid #219d55;cursor:pointer;-webkit-box-shadow:inset 0 -2px #219d55;box-shadow:inset 0 -2px #219d55;min-width:125px;max-width:125px}.green-flat-button:active{top:1px;outline:0;-webkit-box-shadow:none;box-shadow:none}.orange-flat-button{position:relative;vertical-align:top;width:70%;height:45px;padding:0;font-size:16px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.25);background:#f39c12;border:0;border-bottom:2px solid #e8930c;cursor:pointer;-webkit-box-shadow:inset 0 -2px #e8930c;box-shadow:inset 0 -2px #e8930c;min-width:125px;max-width:125px}.orange-flat-button:active{top:1px;outline:0;-webkit-box-shadow:none;box-shadow:none}#yks-admin-chimp-chatter .no_data_found,.mailChimpStatisticsDiv .no_data_found{padding-top:6em;font-size:1.25em;color:#d45d5d;text-align:center}.wp-admin .active-parent-button,.wp-admin .active-parent-button:hover{color:red}.list_container_for_stats .active_button{color:#38E7FF}.mailChimp_get_subscribers_preloader{display:block;margin:2em auto 0}#yks-admin-campaign-stats-table{width:100%}#yks-admin-campaign-stats-table td:nth-child(2){width:42%;max-width:42%}#yks-admin-campaign-stats-table td:last-child{text-align:right!important}#yks-admin-campaign-stats-table .single_report_row{border-bottom:1px solid lightgrey}#yks-admin-campaign-stats-table .single_report_row:last-child{border-bottom:none}#yks-admin-campaign-stats-table .yks_campaign_report_link,.yks_campaign_report_disabled_link{font-size:1.5em;text-decoration:none}.yks_campaign_report_click_data{height:35px;font-size:1.25em}.yks_campaign_report_click_data:hover{cursor:pointer}.yks_campaign_report_click_data .hover_view{display:none;font-size:15px}.yks_campaign_report_click_data .campaign_summary_data{width:15%;margin:0 .5em;float:left;text-align:center}.yks_campaign_report_click_data .campaign_summary_data:first-child{margin-left:5em}.overview_information_section{width:100%;margin:1em 0;display:block;float:left}.overview-info-container{font-size:18px;line-height:1.8;width:100%}.overview-info-container .overview_information{float:left;width:47%;margin:1.5% 0 0}.overview_information_right{float:right!important}.overview_information a{display:block;float:right}.overview_information .info_overview_avg_tag{width:100%;float:left}.overview_information .info_overview_percentage{float:right!important}.yks_mc_child_report,.yks_mc_child_report+tr{display:none}.progress-bar{background-color:#1a1a1a;height:25px;padding:1px;width:100%;border-radius:5px;box-shadow:0 1px 5px #000 inset,0 1px 0 #444;float:left;margin-bottom:1em}.progress-bar span{display:inline-block;height:100%;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5) inset;transition:width .4s ease-in-out}.blue span{background-color:#34c2e3}.orange span{background-color:#fecf23;background-image:linear-gradient(top,#fecf23,#fd9215)}.green span{background-color:#a5df41;background-image:linear-gradient(top,#a5df41,#4ca916)}.stripes span{background-size:30px 30px;background-image:linear-gradient(135deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);animation:animate-stripes 3s linear infinite}@keyframes animate-stripes{0%{background-position:0 0}100%{background-position:60px 0}}.yks-campaign-report-recipients{font-size:25px}#opened_clicked_bounced_unsubscribed{display:inline-block;width:100%;margin:3.5em 0;text-align:center}#opened_clicked_bounced_unsubscribed .yks_mc_ocbu{width:25%;float:left;padding:2.5em;border:1px solid lightgrey;-webkit-transition:background .25s linear;-moz-transition:background .25s linear;-ms-transition:background .25s linear;-o-transition:background .25s linear;transition:background .25s linear}.yks_mc_ocbu:hover{cursor:pointer;background-color:#333;color:#fff}#opened_clicked_bounced_unsubscribed a{color:#333}#opened_clicked_bounced_unsubscribed a:first-child .yks_mc_ocbu{-webkit-border-top-left-radius:10px;-webkit-border-bottom-left-radius:10px;-moz-border-radius-topleft:10px;-moz-border-radius-bottomleft:10px;border-top-left-radius:10px;border-bottom-left-radius:10px}#opened_clicked_bounced_unsubscribed a:last-child .yks_mc_ocbu{-webkit-border-top-right-radius:10px;-webkit-border-bottom-right-radius:10px;-moz-border-radius-topright:10px;-moz-border-radius-bottomright:10px;border-top-right-radius:10px;border-bottom-right-radius:10px}#opened_clicked_bounced_unsubscribed .centered_container{display:block;margin:0 auto}#opened_clicked_bounced_unsubscribed .yks_mc_ocbu_number{font-size:25px;font-weight:700;margin:0}#yks-admin-link-data-table{width:100%;font-size:18px}#yks-admin-link-data-table .link_data_table_head{background:#333;color:#fff;padding:.5em 0}#yks-admin-link-data-table .single_click_item{text-align:center}#yks-admin-link-data-table .single_click_item.first{text-align:left;width:66%}#click-data h2:first-child{float:left}.view_clicks_as_piechart{float:right;margin-bottom:2em}.yks-mc-view-recipients{text-decoration:none}#open_tracking_disabled_warning{display:none;background:#FFD8D8;border-radius:5px;padding:.5em;margin:2em 0}#open_tracking_disabled_warning p:first-child{font-size:1.2em}#open_tracking_disabled_warning p:first-child:before{content:"\f348"}#open_tracking_disabled_warning .dashicons-info{float:left;margin:.5em 1em .5em .5em;font-size:3em}.yks-mc-report-error{width:100%;text-align:center;display:block;color:red;margin:1.5em 0}#geo_map_no_data img{display:block;margin:0 auto;opacity:.25;max-width:100%}#geo_map_no_data_overlay{background:#333;opacity:.25}.geo_map_no_data_error{position:absolute;top:87%;left:40%;padding:0 1em;margin-top:-25px;margin-left:-50px}.profile_section{display:inline-block;margin:0 0 1em;width:100%}.profile_section .profile_information{display:inline-block;width:100%;float:left}.profile_section .profile_information .profile_info_span{float:left;margin:0 1em;width:15%}.profile_section .profile_information .profile_info_span:first-child{margin-left:0!important}#yks-mc-account-activated{display:block;margin:0 auto;height:35px;width:35px;border-radius:50%;background:rgba(52,233,52,.63)}#yks-mc-account-not-activated{display:block;margin:0 auto;height:35px;width:35px;border-radius:50%;background:rgba(233,59,52,.63)}@media only screen and (max-width:1175px){#opened_clicked_bounced_unsubscribed .yks_mc_ocbu{width:50%!important}#opened_clicked_bounced_unsubscribed a:first-child .yks_mc_ocbu{border-bottom-left-radius:0!important}#opened_clicked_bounced_unsubscribed .yks_mc_ocbu:nth-child(2){border-top-right-radius:10px}#opened_clicked_bounced_unsubscribed a .yks_mc_bounced_data{border-bottom-left-radius:10px!important}#opened_clicked_bounced_unsubscribed a:last-child .yks_mc_ocbu{border-bottom-right-radius:10px;border-top-right-radius:0!important}}#yks-list-select{vertical-align:top!important;margin-right:1em}body.mailchimp-forms_page_yks-mailchimp-form-lists{background:0 0}.yks-mc-list-title-toggle{display:block;width:100%;font-size:19px}body.mailchimp-forms_page_yks-mailchimp-form-lists .panel{margin-bottom:0;padding:.35em}body.mailchimp-forms_page_yks-mailchimp-form-lists .panel-body{padding:0;margin-top:-.75em;position:relative;background:#fefefe}body.mailchimp-forms_page_yks-mailchimp-form-lists .yks-admin-form{margin-bottom:0}body.mailchimp-forms_page_yks-mailchimp-form-lists .panel-heading{margin:.25em 0;padding:.5em 1em}body.mailchimp-forms_page_yks-mailchimp-form-lists .panel-default{color:#333;background-color:#f5f5f5;border-color:#ddd;position:relative;z-index:999;display:inline-block}body.mailchimp-forms_page_yks-mailchimp-form-lists .yks-list-container{padding-left:.5em;border:1px solid #ddd;border-radius:3px;background:#fefefe}body.mailchimp-forms_page_yks-mailchimp-form-lists form[name=yks-mailchimp-form]{padding:0 1.5em}body.mailchimp-forms_page_yks-mailchimp-form-lists .panel-heading .yks_mc_list_title{float:left}body.mailchimp-forms_page_yks-mailchimp-form-lists .panel-heading .yks_mc_subscriber_count{float:right}body.mailchimp-forms_page_yks-mailchimp-form-lists .yks-list-container h4{line-height:1.5}.selected_template_preview_header{display:inline-block;width:100%}.preview_template_screenshot{display:block;margin:0 auto}.selected_template_preview_header .template_name{float:left;text-decoration:underline}.selected_template_preview_header .template_author{float:right;margin-top:20px}.selected_template_preview_header .template_preview{display:block;margin:0 auto}.user_template_how_to_title{margin-top:1em;padding-left:30%;text-decoration:underline}.whats-this-help{font-size:12px;line-height:1.5;margin-left:.5em}.yks-mc-file-path{color:red}.wp-picker-holder{position:absolute;z-index:99999999}.custom_style_table{width:50%}.custom_style_table .yks-mailchimp-fields-list-row td,.custom_style_table .yks-mailchimp-interest-groups-container td{width:50%;text-align:center}.custom_style_table .yks-mailchimp-fields-list-row td:first-child,.custom_style_table .yks-mailchimp-interest-groups-container td:first-child{text-align:left}.custom_style_table .yks-mailchimp-fields-list .yks-mailchimp-fields-list-row,.custom_style_table .yks-mailchimp-interest-groups-container .yks-mailchimp-fields-list-row{display:inline-block}td.custom-styles-input-td{height:58px!important}.custom-styles-input-td{text-align:right}.style_table_left,.style_table_right{float:left}.populatePreviewFormContainer{display:block;margin-top:2em}input[name=yks-mc-form-padding],input[name=yks-mc-form-width],select[name=yks-mc-form-alignment]{width:111px;text-align:center}.new-chatter-item td:first-child:before{content:"\f155";font-family:dashicons;left:0;font-size:2em;color:#f8e23a}@media print{body.mailchimp-forms_page_yks-mailchimp-my-mailchimp #wpbody-content,body.mailchimp-forms_page_yks-mailchimp-my-mailchimp #wpwrap,html{background:#fff}#wpcontent,.centered_container{margin-left:0!important;width:100%!important}.yks-mc-no-print{display:none!important}.overview-info-container .overview_information{width:45%;margin:1% 1% 0 0}#opened_clicked_bounced_unsubscribed,#opened_clicked_bounced_unsubscribed .centered_container{width:100%!important;display:block;margin:0 auto}}.radio-dropdown-option.first{margin-left:25px}.remove-radio-dropdown-option{line-height:1.1;float:left;margin-right:.25em}.remove-radio-dropdown-option:hover,.yks-mc-delete-merge-var>.dashicons-no-alt,.yks_mc_interest_group_label:hover{cursor:pointer}.yks-mc-add-field-dateformat{display:none}input.radio-dropdown-option{width:65%;display:block;margin:.75em 0}input.radio-dropdown-option:before{font-family:dashicons;content:'\f460'}#merge-variable-settings,.yks-mc-add-field-radio-dropdown{display:none}a.create-this-field{color:red!important}.dashicons-no-alt{color:rgba(51,51,51,.5);padding:2px;-webkit-transition:all .25s ease-out;-moz-transition:all .25s ease-out;-ms-transition:all .25s ease-out;-o-transition:all .25s ease-out;transition:all .25s ease-out}.dashicons-no-alt:hover{color:#ff8989}.dashicons-edit{color:rgba(51,51,51,.5);padding:2px;-webkit-transition:all .25s ease-out;-moz-transition:all .25s ease-out;-ms-transition:all .25s ease-out;-o-transition:all .25s ease-out;transition:all .25s ease-out}.dashicons-edit:hover{color:rgba(111,195,75,.49)}#yks_mc_review_this_plugin_container{position:absolute;right:0;margin-right:1.5em}.yks-mc-interest-group-delete:hover,.yks-mc-interest-group-edit:hover,.yks-mc-interest-group-option-delete:hover,.yks-mc-interest-group-option-edit:hover,.yks-mc-interest-group-title-edit:hover{cursor:pointer}.yks-mc-interest-group-edit{display:block;float:left;margin:.25em}.yks-mc-interest-group-delete{display:block;float:left;margin:.25em 0 .25em .25em}.yks-mc-interest-group-name{display:block;float:left;margin:.5em;font-style:italic;font-weight:600}.yks-mc-interest-group-type{margin-top:.5em;margin-right:2em;float:right}.yks-mc-merge-var-change>.dashicons{line-height:.85}.yks-mailchimp-interest-groups-container .yks-mc-interest-group-edit>.dashicons{line-height:.9}.yks-mc-empty-interest-group-table{background-color:transparent!important;border:none!important}.yks-mc-preloader-update-interest-groups{position:absolute;margin-left:45%;margin-top:10%}.yks-mc-update-interest-group-header{display:inline-block!important;width:100%}a.button-secondary.add-new-field{margin:.35em 0}#yks-mc-interest-group-toggle-type:disabled:hover,#yks-mc-interest-group-toggle-type:hover{cursor:pointer}.yks-mc-update-interest-group-header>h3{float:left;margin-bottom:0}.yks-mc-update-interest-group-header #yks-mc-interest-group-type{float:right}#option-ul{margin-bottom:3em}#option-ul li.option-ul-title{display:block;margin:2em 0}.option-ul-title>h4:empty{height:19px}#yks-mc-interest-group-title{float:left}#option-ul li.option-ul-title:hover,#yks-mc-interest-group-title:hover,.yks-mc-update-interest-group-header:hover{cursor:pointer}body.mailchimp-forms_page_yks-mailchimp-form-lists .ui-dialog{z-index:9999999!important}.g-recaptcha{margin-bottom:1em}.recaptcha-checkbox-checkmark:hover{cursor:pointer!important}.reCaptcha-demo-gif{min-width:300px;max-width:800px;width:20%}
images/welcome_page/Custom_Templates.jpg ADDED
Binary file
images/welcome_page/Form_Customizer.jpg ADDED
Binary file
images/welcome_page/custom_class_names.jpg ADDED
Binary file
images/welcome_page/slide_images/header_optin_template_city_skyline.jpg ADDED
Binary file
images/welcome_page/slide_images/header_optin_template_sub-head-bar.jpg ADDED
Binary file
images/welcome_page/slide_images/header_optin_template_vacation.jpg ADDED
Binary file
lib/inc/yks-mc-dashboard-styles.php CHANGED
@@ -12,7 +12,7 @@ if ( $screen_base == __( 'toplevel_page_yks-mailchimp-form' , 'yikes-inc-easy-m
12
  || $screen_base == __( 'mailchimp-forms_page_yks-mailchimp-form-lists', 'yikes-inc-easy-mailchimp-extender' ) || $screen_base == 'widgets' || $screen_base == 'post' || $screen_base == __( 'mailchimp-forms_page_yks-mailchimp-about-yikes' , 'yikes-inc-easy-mailchimp-extender' ) ) {
13
 
14
  // Register Styles
15
- wp_register_style( 'ykseme-css-base' , YKSEME_URL . 'css/style.ykseme.css' , array() , '1.0.0' , 'all' );
16
  wp_register_style( 'jquery-datatables-pagination' , YKSEME_URL . 'css/jquery.dataTables.css' , array() , '1.0.0' , 'all' );
17
 
18
  // Enqueue Styles
12
  || $screen_base == __( 'mailchimp-forms_page_yks-mailchimp-form-lists', 'yikes-inc-easy-mailchimp-extender' ) || $screen_base == 'widgets' || $screen_base == 'post' || $screen_base == __( 'mailchimp-forms_page_yks-mailchimp-about-yikes' , 'yikes-inc-easy-mailchimp-extender' ) ) {
13
 
14
  // Register Styles
15
+ wp_register_style( 'ykseme-css-base' , YKSEME_URL . 'css/style.ykseme.min.css' , array() , '1.0.0' , 'all' );
16
  wp_register_style( 'jquery-datatables-pagination' , YKSEME_URL . 'css/jquery.dataTables.css' , array() , '1.0.0' , 'all' );
17
 
18
  // Enqueue Styles
lib/inc/yks-mc-frontend-styles.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
 
3
  // Register Styles for the frontend of all sites
4
- wp_register_style( 'ykseme-css-base' , YKSEME_URL . 'css/style.ykseme.css' , array() , '1.0.0' , 'all' );
5
  // enqueue our jQuery UI styles only when
6
  // the datepicker enqueue is enabled in the settings field
7
  if( isset( $this->optionVal['yks-mailchimp-jquery-datepicker'] ) && $this->optionVal['yks-mailchimp-jquery-datepicker'] == '1' ) {
1
  <?php
2
 
3
  // Register Styles for the frontend of all sites
4
+ wp_register_style( 'ykseme-css-base' , YKSEME_URL . 'css/style.ykseme.min.css' , array() , '1.0.0' , 'all' );
5
  // enqueue our jQuery UI styles only when
6
  // the datepicker enqueue is enabled in the settings field
7
  if( isset( $this->optionVal['yks-mailchimp-jquery-datepicker'] ) && $this->optionVal['yks-mailchimp-jquery-datepicker'] == '1' ) {
pages/options.php CHANGED
@@ -462,7 +462,7 @@ jQuery(document).ready(function() {
462
  </tr>
463
  <tr valign="top">
464
  <!-- Custom Opt-In Message -->
465
- <th scope="row"><label for="yks-mailchimp-custom-optIn-message"><?php _e('Custom Opt-In Message','yikes-inc-easy-mailchimp-extender'); ?></label></th>
466
  <td>
467
  <label for="double-optin-message" <?php if ($this->optionVal['optin'] == 'false') { echo 'style="display:none;"'; } ?>><b><?php _e('Double Opt-In Message','yikes-inc-easy-mailchimp-extender'); ?></b>
468
  <?php wp_editor( $this->optionVal['double-optin-message'] , 'double_optin_message', $double_optin_message_parameters); ?>
@@ -478,7 +478,7 @@ jQuery(document).ready(function() {
478
  <td></td>
479
  <!-- Advanced Debug Description -->
480
  <td class="yks-settings-description">
481
- <em><?php _e('Note: You can include html markup in your confirmation message.','yikes-inc-easy-mailchimp-extender'); ?></em>
482
  </td>
483
  </tr>
484
  <tr valign="top">
@@ -495,6 +495,23 @@ jQuery(document).ready(function() {
495
  <?php _e('Enable this setting to use the jQuery UI datepicker for all date fields on the front end of your site. Disable if you have no date fields (will help prevent conflicts).','yikes-inc-easy-mailchimp-extender'); ?>
496
  </td>
497
  </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
498
  <tr valign="top">
499
  <!-- Display OPTIN CHECKBOX SETTING -->
500
  <th scope="row"><label for="yks-mailchimp-optIn-checkbox"><?php _e('Display opt-in checkbox on comment forms?','yikes-inc-easy-mailchimp-extender'); ?></label></th>
462
  </tr>
463
  <tr valign="top">
464
  <!-- Custom Opt-In Message -->
465
+ <th scope="row"><label for="yks-mailchimp-custom-optIn-message"><?php _e('Success Message','yikes-inc-easy-mailchimp-extender'); ?></label></th>
466
  <td>
467
  <label for="double-optin-message" <?php if ($this->optionVal['optin'] == 'false') { echo 'style="display:none;"'; } ?>><b><?php _e('Double Opt-In Message','yikes-inc-easy-mailchimp-extender'); ?></b>
468
  <?php wp_editor( $this->optionVal['double-optin-message'] , 'double_optin_message', $double_optin_message_parameters); ?>
478
  <td></td>
479
  <!-- Advanced Debug Description -->
480
  <td class="yks-settings-description">
481
+ <em><?php _e('Note: This is the message that gets displayed back to the user upon successful submission of this form.','yikes-inc-easy-mailchimp-extender'); ?></em>
482
  </td>
483
  </tr>
484
  <tr valign="top">
495
  <?php _e('Enable this setting to use the jQuery UI datepicker for all date fields on the front end of your site. Disable if you have no date fields (will help prevent conflicts).','yikes-inc-easy-mailchimp-extender'); ?>
496
  </td>
497
  </tr>
498
+ <tr valign="top">
499
+ <!-- *= required field visibility -->
500
+ <th scope="row"><label for="yks-mailchimp-required-text"><?php _e('Required Field Text','yikes-inc-easy-mailchimp-extender'); ?></label></th>
501
+ <td>
502
+ <select name="yks-mailchimp-required-text" id="yks-mailchimp-required-text" class="regular-text" />
503
+ <option value="0"<?php echo ($this->optionVal['yks-mailchimp-required-text'] === '0' ? ' selected' : ''); ?>><?php _e('Hide','yikes-inc-easy-mailchimp-extender'); ?></option>
504
+ <option value="1"<?php echo ($this->optionVal['yks-mailchimp-required-text'] === '1' ? ' selected' : ''); ?>><?php _e('Show','yikes-inc-easy-mailchimp-extender'); ?></option>
505
+ </select>
506
+ </td>
507
+ </tr>
508
+ <tr>
509
+ <td></td>
510
+ <!-- *= required field visibility Description -->
511
+ <td class="yks-settings-description">
512
+ <?php _e('Hide the "required field" text at the top of the opt-in forms. example:','yikes-inc-easy-mailchimp-extender'); ?> <em>* = <?php _e('required field','yikes-inc-easy-mailchimp-extender'); ?></em>
513
+ </td>
514
+ </tr>
515
  <tr valign="top">
516
  <!-- Display OPTIN CHECKBOX SETTING -->
517
  <th scope="row"><label for="yks-mailchimp-optIn-checkbox"><?php _e('Display opt-in checkbox on comment forms?','yikes-inc-easy-mailchimp-extender'); ?></label></th>
readme.md DELETED
@@ -1,795 +0,0 @@
1
- Easy MailChimp Forms
2
- ===========
3
- Easy MailChimp Forms allows you to painlessly add MailChimp signup forms to your WordPress site. You can add forms to posts, pages or sidebars with shortcodes, widgets or template tags. Simply copy and paste your MailChimp API Key into the plugin admin settings and it will pull in all your MailChimp lists. From there you can choose the lists you want to make forms for. For a single list you can check off the fields you want to include on your form and order them via an easy drag-and-drop interface. This plugin adds plenty of CSS selectors to the form code allowing you to completely customize the look of your forms.
4
-
5
- **Note:** You will need a MailChimp API key to allow this plugin to communicate with your MailChimp account. For help on retrieving your API key, check out #4 of the [FAQ?](http://wordpress.org/plugins/yikes-inc-easy-mailchimp-extender/faq/ "FAQ") section. You can also read the MailChimp knowledge base article [Where can I find my API Key?](http://kb.mailchimp.com/article/where-can-i-find-my-api-key "Where can I find my API Key?").
6
-
7
- Instructions on how to use the plugin can be [found on the FAQ](http://wordpress.org/plugins/yikes-inc-easy-mailchimp-extender/faq/ "found on the FAQ"). If you experience any problems, please submit a New Issue on our [Github Issue Tracker](https://github.com/yikesinc/yikes-inc-easy-mailchimp-extender/issues "Github Issue Tracker") and we'll look in to it as soon as possible.
8
-
9
- Features
10
- ===========
11
-
12
- 1. Add interest groups and new fields to forms directly from the dashboard without ever leaving your site (*new*)
13
- 1. Error log for diagnosing user issues (*new*)
14
- 1. All new No-Captcha Re-Captcha in place (*new*)
15
- 1. Complete Integration of MailChimp into WordPress
16
- 1. Easily import MailChimp forms from an active MailChimp account
17
- 1. View/Print Interactive Account Growth Reports and Campaign Reports (Statistics Tracking)
18
- 1. Monitor MailChimp account activity
19
- 1. Use MailChimp Interest Group/Segments
20
- 1. Add MailChimp forms sidebars/widgetized areas with widgets
21
- 1. Set forms to single or double opt-in
22
- 1. Customize the success message
23
- 1. Customize the submit button text
24
- 1. Redirect users to a page on submission
25
- 1. Un-subscribe users from MailChimp lists
26
- 1. View subscriber MailChimp profiles
27
- 1. View individual form subscriber count
28
- 1. Display multiple forms on a single page
29
- 1. Add commenter's to your MailChimp lists with a comment form opt-in check box
30
- 1. Easily add forms to pages and posts with a button in the page/post editor
31
- 1. Use cURL error detection to troubleshoot MailChimp connection issues
32
-
33
- Installation
34
- ===========
35
-
36
- 1. Download the plugin .zip file
37
- 1. Log in to yourdomain.com/wp-admin
38
- 1. Click Plugins -> Add New -> Upload
39
- 1. Activate the plugin
40
- 1. Go over to [MailChimp.com](http://www.mailchimp.com) and login.
41
- 1. On the right hand menu, click your profile picture and select 'Account Settings' and then go to 'Extras > API Keys'.
42
- 1. Enter your API key into the text field inside 'MailChimp Forms > MailChimp Settings'
43
- 1. Start importing forms from MailChimp and adding them to posts, pages and widgets!
44
-
45
- Frequently Asked Questions
46
- ===========
47
-
48
- #### Do I need to have a MailChimp Account?
49
- Yes, you can register for one for free at [MailChimp](https://mailchimp.com/signup/ "MailChimp Signup").
50
-
51
- #### Do I need to have lists already set up in MailChimp?
52
- Yes, you have to have at least 1 list set up in MailChimp.
53
-
54
- For more help, visit the MailChimp Support article [How do I create a new list?](http://kb.mailchimp.com/article/where-can-i-find-my-api-key "How do I create a new list?")
55
-
56
- #### What do I do first?
57
- The first step is to add your MailChimp API key. This will allow your site to communicate with your MailChimp account. This is done on the plugin "MailChimp Settings" page.
58
-
59
- #### Where do I find my API Key?
60
- From your MailChimp Dashboard, click on your account name in the upper left hand corner of the screen under the MailChimp logo to expose the "Account Settings" menu. Click on "Account Settings" to go to the Account Settings screen and the click on the "Extras" menu. Under "Extras" choose "API keys." From there you can create a new key if you do not already have one.
61
-
62
- For more help, visit the MailChimp Support article [Where can I find my API Key?](http://kb.mailchimp.com/article/where-can-i-find-my-api-key "Where can I find my API Key?")
63
-
64
- #### How to I add my MailChimp lists?
65
- After you add your API key, the plugin will fetch all of your MailChimp list information and load it into the plugin admin. Go to the plugin "Manage List Forms" page to choose the lists you want to make forms for.
66
-
67
- #### How do I add the MailChimp signup forms to my site?
68
- You can use a shortcode to add a form to a page or post, use the MailChimp form button in the visual editor or use a widget to add it to a sidebar. Each list on the plugin "Manage List Forms" displays a shortcode at the top. Copy the shortcode and paste it into any post or page where you want a form to appear. For example, if my form had the shortcode [yks-mailchimp-list id="1234567891"] I would copy and paste that into the page or post I wanted to add that form to.
69
-
70
- #### I input a valid MailChimp API key, but it returns invalid every time. I've already tried a new API key, but no dice. What's up?
71
-
72
- **Step 1:** Ensure that cURL is enabled at the server level. You will see an error at the top of the settings page if cURL is disabled. If you see no error, continue to step 2.
73
-
74
- **Step 2:** If you have entered your MailChimp API key and are still getting the error "*Error: Please enter a valid Mail Chimp API Key*," please check the developer console inside your browser for further information.
75
-
76
- - Right-click in the API Key input field, and select 'Inpsect Element'
77
- - Once the developer console is open, select the Console tab to see a more specific error.
78
-
79
- For information on how to use your browser's developer console, read the WordPress Codex article, [Using Your Browser to Diagnose JavaScript Errors](http://codex.wordpress.org/Using_Your_Browser_to_Diagnose_JavaScript_Errors).
80
-
81
- **Possible Errors And Resolutions**
82
-
83
- * Could not resolve host: xxxx.api.mailchimp.com - the host you have provided is incorrect. The host is the string after the last dash ( aka the data-center ) (example: us2)
84
- * Invalid Mailchimp API Key: xxxxxxxxxxxxxxxxxx-xxx - Your API key is invalid. You can confirm a valid key by logging into [MailChimp](http://mailchimp.com) and checking the active API key registered to your account.
85
-
86
- * If all else fails, there's a good possibility that it is a server related issue. As a final attempt at a fix, open up `/classes/MCAPI_2.0.class.php` and scroll down to line #298. You should see `curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, $this->ssl_verifypeer );`, and you'll want to change it to `curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );`. Save the file and re-try your API key.
87
-
88
- #### I don't want the form to be the 100% width. How can I adjust the width myself?
89
- You can adjust the width of the forms on your site by changing the width of the element with the class .yks-mailchimpFormContainer. This is the parent container for the form. Adjusting this width will control the width of the input fields inside of it.
90
-
91
- #### How can I translate this plugin?
92
- Easy MailChimp Forms is now translated into multiple languages:
93
-
94
- + Arabic
95
- + Chinese
96
- + English
97
- + French
98
- + German
99
- + Greek
100
- + Hebrew
101
- + Hindi
102
- + Hong Kong
103
- + Italian
104
- + Japanese
105
- + Korean
106
- + Persian
107
- + Portuguese (Brazilian)
108
- + Portuguese (European)
109
- + Romanian
110
- + Russian
111
- + Spanish
112
- + Swedish
113
- + Taiwanese
114
- + Tamil
115
- + Urdu
116
- + Vietnamese
117
- + Welsh
118
-
119
- Read the Codex article [Installing WordPress in Your Language](http://codex.wordpress.org/Installing_WordPress_in_Your_Language) for more information. Also, please refer to our [Developer Docs](http://wordpress.org/plugins/yikes-inc-easy-mailchimp-extender/other_notes/).
120
-
121
- #### Do you provide any hooks, or filters for me to take advantage of?
122
- Yes! With the 4.0 version of our plugin we have added a few hooks that allow you to add or manipulate existing data. Check out the [Other Notes](http://wordpress.org/plugins/yikes-inc-easy-mailchimp-extender/other_notes/) tab for more information.
123
-
124
- #### When I input my API key and hit save, it immediately reverts to a much shorter string of text and returns invalid. What's going on?
125
- You most likely have a password manager installed and active (LastPass, OnePass, TeamPassword etc.). The API key input field is set to type="password" for security reasons. Most password managers auto-fill password fields based on the URL of the current page. So, what happens when you click save is that the password manager auto fills in the field with the password that you have saved for your site, and thus returning 'invalid API key'. To resolve the issue you'll need to temporarily disable any active password manager and re-enter and save your API key. Once the key has been successfully saved, you can re-enable your password manager.
126
-
127
- = How do I create my own custom MailChimp template? =
128
- **Step 1:**
129
- First you'll want to import the boilerplate template files bundled with the plugin. These are files that were created for easy customization. You can import the boilerplate files by going to the manage list forms page and clicking 'import boilerplate templates'.
130
-
131
- <em>Note :</em> Alternatively, you can manually import the template files by copying the 'yikes-mailchimp-user-templates' directory inside of the plugin root ( 'yikes-inc-easy-mailchimp-extender/templates/' ) over to your theme root. ( ie: /wp-content/themes/twentyfourteen/ ).
132
-
133
- **Step 2:**
134
- Once imported you'll find the boilerplate files in your theme root. Each boilerplate template file comes with an associated .css file located inside of the styles directory. To get started on your first template, we recommend that you duplicate one of the existing boilerplate tempalate files and its associated .css file, and changing the name.
135
-
136
- **Step 3:**
137
- Finally, change the MailChimp template, author and description headers at the top of each template file. The 'MailChimp Template' header dictates the name of your template, and what will appear in the drop down field. You'll also want to make sure that the correct .css file is properly being enqueued at the top of the template file.
138
-
139
- **Step 4:**
140
- Once setup, you can assign the template to your form from the 'Manage List' page. Make sure to select the checkbox 'use custom form' and then in the drop down select your newly created template.
141
-
142
- = How do I create my own custom MailChimp template? =
143
- **Step 1:**
144
- First you'll want to import the boilerplate template files bundled with the plugin. These are files that were created for easy customization. You can import the boilerplate files by going to the manage list forms page and clicking 'import boilerplate templates'.
145
-
146
- <em>Note :</em> Alternatively, you can manually import the template files by copying the 'yikes-mailchimp-user-templates' directory inside of the plugin root ( 'yikes-inc-easy-mailchimp-extender/templates/' ) over to your theme root. ( ie: /wp-content/themes/twentyfourteen/ ).
147
-
148
- **Step 2:**
149
- Once imported you'll find the boilerplate files in your theme root. Each boilerplate template file comes with an associated .css file located inside of the styles directory. To get started on your first template, we recommend that you duplicate one of the existing boilerplate tempalate files and its associated .css file, and changing the name.
150
-
151
- **Step 3:**
152
- Finally, change the MailChimp template, author and description headers at the top of each template file. The 'MailChimp Template' header dictates the name of your template, and what will appear in the drop down field. You'll also want to make sure that the correct .css file is properly being enqueued at the top of the template file.
153
-
154
- **Step 4:**
155
- Once setup, you can assign the template to your form from the 'Manage List' page. Make sure to select the checkbox 'use custom form' and then in the drop down select your newly created template.
156
-
157
- = I'm trying to set up the opt-in commenting checkbox. When users opt-in and leave a comment, an error is thrown and I can't figure out why. What could be wrong? =
158
- For the optin comment check box, you'll want to make sure that the form you have set to assign users to only has the email field set to required.
159
-
160
- = I'd like to define my own default value tags. For example, I want to populate a field with the current page URL dynamically. Is this possible? =
161
- Yes! In the release of YIKES Inc. Easy MailChimp Extender version 5.2 we enabled all sorts of new features. One of these features is the ability to pre-populate text fields with a string of text, or with one fo the provided default value tags.
162
- The default value tags available to you out of the box are :
163
- * {post_title} - populates the field with the current <strong>page or post title</strong> that the user was on when they subscribed to the form.
164
- * {post_id} - populates the field with the current <strong>page or post ID</strong> that the user was on when they subscribed to the form.
165
- * {page_url} - populates the field with the current <strong>page URL</strong> that the user was on when they subscribed to the form.
166
- * {blog_name} - populates the field with the current <strong>blog name</strong>. Very useful for multi-site installations, when tracking which blog the user has signed up from is crucial to your marketing efforts.
167
- * {user_logged_in} - populates the field with with a dynamic value based on weather the user is logged in or not. When the user is logged in when signing up, the field populates with "User Logged In". If the user is not logged in, "Guest".
168
-
169
- Simply click the link below the default value input field to add that tag as the default value. Easy as that!
170
-
171
- We've also provided a way for you to define your own default value tags, and return any data you choose. This is done through the use of two separate filters ( `yikes_mailchimp_default_value_tag` and `yikes_mailchimp_process_default_value_tag` ). Check out the developer documentation for how to use the filters. The examples provided are extremely helpful.
172
-
173
- Developer Documentation
174
- ===========
175
- <br />
176
- ## Text Domain
177
-
178
- ##### Name:
179
- `yikes-inc-easy-mailchimp-extender`
180
-
181
- ##### Description :
182
- 90% of the plug-in is localized and ready for translation. This means that you can manipulate text using the provided text domain, using a gettext filter.
183
-
184
- ##### Accepted Parameters:
185
- _N/A_
186
-
187
- ##### _Example_:
188
- _This example will alter text on the admin dashboard on the manage lists page._
189
-
190
- ```<php>
191
- /**
192
- * Change Specific Test on the 'Manage List Forms' page.
193
- *
194
- */
195
- function theme_change_comment_field_names( $translated_text, $text, $domain ) {
196
-
197
- switch ( $translated_text ) {
198
-
199
- case 'Your Lists' :
200
-
201
- $translated_text = __( 'MailChimp Lists', 'yikes-inc-easy-mailchimp-extender' );
202
- break;
203
-
204
- case 'Save Form Settings' :
205
-
206
- $translated_text = __( 'Save Form', 'yikes-inc-easy-mailchimp-extender' );
207
- break;
208
-
209
- case 'Create a Form For This List' :
210
-
211
- $translated_text = __( '<== Import This List', 'yikes-inc-easy-mailchimp-extender' );
212
- break;
213
-
214
- }
215
-
216
- return $translated_text;
217
- }
218
- add_filter( 'gettext', 'theme_change_comment_field_names', 20, 3 );
219
- ```
220
- <br />
221
-
222
- ## Hooks
223
-
224
-
225
- ##### Hook Name :
226
- `yks_mc_before_form_$formID`
227
-
228
- ##### Description :
229
- Used to place content before a specific MailChimp form. Use the form id to specify which form to place text before.
230
-
231
- ##### Accepted Parameters:
232
- _N/A_
233
-
234
- ##### _Example_:
235
- This example will print out a thank you message before a specific form.
236
-
237
- ```<php>
238
- /**
239
- * Function to add text before the form with ID '0b071c0bd1'
240
- * You can get form ID's from the 'MailChimp List' page
241
- */
242
- function custom_before_form_action() {
243
- echo '<p>Thanks for checking out our mailing list. Fill out the form below to get started!</p>';
244
- }
245
- add_action( 'yks_mc_before_form_0b071c0bd1' , 'custom_before_form_action' );
246
- ```
247
-
248
- **Note**: in our add_action call we add the specific form ID to target a single form.
249
-
250
- <br />
251
-
252
- ##### Hook Name :
253
- `yks_mc_after_form_$formID`
254
-
255
- ##### Description :
256
- Used to place content after a specific MailChimp form. Use the form id to specify which form to place text after.
257
-
258
- ##### Accepted Parameters:
259
- _N/A_
260
-
261
- ##### Example:
262
- This example will print out a disclaimer message after a specific form.
263
-
264
-
265
- ```<php>
266
- /**
267
- * Function to add text after the form with ID '0b071c0bd1'
268
- * You can get form ID's from the 'MailChimp List' page
269
- */
270
- function custom_after_form_action() {
271
- echo '<p><em>Your information is for internal use only, and will never be shared with or sold to anyone.</em></p>';
272
- }
273
- add_action( 'yks_mc_after_form_0b071c0bd1' , 'custom_after_form_action' );
274
- ```
275
-
276
- **Note**: in our add_action call we add the specific form ID to target a single form.
277
-
278
- <br />
279
-
280
- ##### Hook Name :
281
- `yks_mc_before_form`
282
-
283
- ##### Description :
284
- Used to place content before **all** MailChimp Forms.
285
-
286
- ##### Accepted Parameters:
287
- _N/A_
288
-
289
- ##### _Example_:
290
-
291
- ```<php>
292
- /**
293
- * This example will print out a disclaimer to the user,
294
- * above all MailChimp forms.
295
- */
296
- function custom_before_all_forms_action() {
297
- echo '<p><em>Your information is for internal use only, and will never be shared with or sold to anyone.</em></p>';
298
- }
299
- add_action( 'yks_mc_before_form' , 'custom_before_all_forms_action' );
300
- ```
301
-
302
- <br />
303
-
304
- ##### Hook Name :
305
- `yks_mc_after_form`
306
-
307
- ##### Description :
308
- Used to place content after **all** MailChimp Forms.
309
-
310
- ##### Accepted Parameters:
311
- _N/A_
312
-
313
- ##### _Example_:
314
-
315
- ```<php>
316
- /**
317
- * This example will print out a disclaimer to the user,
318
- * below all MailChimp forms.
319
- */
320
- function custom_after_all_forms_action() {
321
- echo '<p><em>Your information is for internal use only, and will never be shared with or sold to anyone.</em></p>';
322
- }
323
- add_action( 'yks_mc_after_form' , 'custom_after_all_forms_action' );
324
- ```
325
-
326
- <br />
327
-
328
- ## Filters
329
-
330
- ##### Filter Name :
331
- `yikes_mc_get_form_data`
332
-
333
- ##### Accepted Parameters:
334
- `$Form_ID` and `$merge_variables`
335
-
336
- ##### Parameter Info:
337
-
338
- `$Form_ID` = the ID of the specific MailChimp Form ( can be retrieved from the 'MailChimp Forms > Manage List Forms' menu ).
339
-
340
- `$merge_variables` = a multi-dimensional array containing all user entered data being sent to the MailChimp API (The email, first name, last name etc. will be contained here).
341
-
342
- ##### Description :
343
- Used to catch user data, **from all forms**, before it gets sent to the mailchimp API. Useful when you want to manipulate data before being sent to the MailChimp API or if you'd like to use the entered data locally.
344
-
345
- ##### _Example_:
346
- _This example will catch the user submitted data, **of all forms**, store the users firstname in a variable and then update the current logged in user firstname profile field with the value in the First Name MailChimp field._
347
-
348
- ```<php>
349
- /**
350
- * This example will catch the user submitted data, of all forms, store the users firstname in a variable and then update
351
- * the current logged in user firstname profile field with the value in the First Name MailChimp field.
352
- */
353
- function catch_user_data( $form_ID, $merge_variables ) {
354
- // if the user is logged in
355
- if ( is_user_logged_in() ) {
356
-
357
- // get the logged in user id
358
- $user_id = get_current_user_id();
359
-
360
- // if the first name field is set
361
- if ( isset( $merge_variables['FNAME'] ) ) {
362
-
363
- // update logged in users first name with the provided name in MC form
364
- wp_update_user( array( 'ID' => $user_id, 'first_name' => $merge_variables['FNAME'] ) );
365
-
366
- // can be used for any of the fields in the form + any fields in the user profile
367
- }
368
-
369
- }
370
- }
371
- add_filter( 'yikes_mc_get_form_data' , 'catch_user_data', 10, 2 );
372
- ```
373
-
374
- <br />
375
-
376
- ##### _Example_:
377
- _This example will catch the user submitted data and change the FNAME merge variable to a specified string before sending it off to MailChimp.
378
-
379
- **Note**: You can alter any of the merge variables being sent to MailChimp (email, firstname, lastname, dates etc.) - useful if you'd like to capture the page the user subscribed from for analytics
380
-
381
- ```<php>
382
- /**
383
- * This example will catch the user submitted data (of all forms) and change
384
- * the users first name to 'Johnny Apple Seed'. ( useful for hidden+required fields )
385
- */
386
- function custom_subscriber_count_message( $mv ) {
387
- $mv['FNAME'] = 'Johnny Apple Seed';
388
- return $mv;
389
- }
390
- add_action( 'yikes_mc_get_form_data' , 'custom_subscriber_count_message' , 10 );
391
- ```
392
-
393
- <br />
394
-
395
- ##### Filter Name :
396
- `yikes_mc_user_already_subscribed`
397
-
398
- ##### Accepted Parameters:
399
- `$errorMessage` , `$update_user_link` and `$email`
400
-
401
- ##### Parameter Info:
402
- `$errorMessage` = the error message returned by the MailChimp API. By Default : "email@domain.com is already subscribed to the list."
403
-
404
- `$update_user_link` = the link that will re-submit the form to update the current users info. Default link text : "Update My Info"
405
-
406
- `$email` = the email address provided in the Email field
407
-
408
- ##### Description :
409
- Used to display a custom error message back to the user, when a user attempts to subscribe to a list they already exist on.
410
-
411
- ##### _Example_:
412
- _The following example will alter the error returned from the MailChimp API. Useful when you would like to provide a more custom error message. The 'Update' link will re-submit the form using the 'update_existing' parameter to update the current users profile.
413
-
414
- ```<php>
415
- <?php
416
- /**
417
- * This example will return a custom error message to the user when they attempt to subscribe to
418
- * a list they already exist on. The following will show something similar "Sorry, John@johnsmith.com is already subscribed to this list. Please Update My Information."
419
- */
420
- function custom_user_already_subscribed_error( $errorMessage , $update_user_link , $email ) {
421
- $errorMessage = 'Sorry, ' . $email . ' is already subscribed to this list.';
422
- $errorMessage .= str_replace( 'Update My Info.' , 'Please Update My Information' , $update_user_link );
423
- return $errorMessage;
424
- }
425
- add_filter( 'yikes_mc_user_already_subscribed' , 'custom_user_already_subscribed_error' , 10 , 3 );
426
- ?>
427
- ```
428
-
429
- <br />
430
-
431
- ##### Filter Name :
432
- `yikes_mc_subscriber_update_message`
433
-
434
- ##### Accepted Parameters:
435
- `$success_message`
436
-
437
- ##### Parameter Info:
438
- `$success_message` = the success message to be displayed to the user, defaults to "Thanks, your information has been successfuly updated."
439
-
440
- ##### Description :
441
- Used to alter the success message returned when a user updates their account information for a given list
442
-
443
- ##### _Example_:
444
- The following example will alter success message displayed back to the user after they have updated their account information for a given list. Defualts to : "Thanks, your information has been successfuly updated."
445
-
446
- ```<php>
447
- <?php
448
- /**
449
- * The following example will alter the success message when a user re-submits
450
- * the form data to update their information for a given form
451
- */
452
- function custom_resubmit_info_message( $success_message ) {
453
- $success_message = "Thanks for updating your info! You're so awesome!";
454
- return $success_message;
455
- }
456
- add_filter( 'yikes_mc_subscriber_update_message' , 'custom_resubmit_info_message' , 10 );
457
- ?>
458
- ```
459
-
460
- <br />
461
-
462
- ##### Filter Name :
463
- `yks_redirect_add_post_types`
464
-
465
- ##### Accepted Parameters:
466
- `$post_array `
467
-
468
- ##### Parameter Info:
469
- `$post_array` = an array of post type names that you would like to be included into the drop down as a redirect option on the manage list page
470
-
471
- ##### Description :
472
- Use this filter to add any number of custom post types to the redirect dropdown
473
-
474
- ##### _Example_:
475
- The following example will add any and all posts with the custom post type 'portfolio' to the redirect dropdown
476
-
477
- ```<php>
478
- <?php
479
- /**
480
- * This example will add the custom post type 'portfolio' to the
481
- * redirect dropdown on the manage list forms page
482
- */
483
- function add_portfolio_post_type_to_yikes_redirect_dropdown( $post_array ) {
484
- $post_array[] = 'portfolio';
485
- return $post_array;
486
- }
487
- add_filter( 'yks_redirect_add_post_types' , 'add_portfolio_post_type_to_yikes_redirect_dropdown' );
488
- ?>
489
- ```
490
-
491
- <br />
492
-
493
- ##### Filter Name :
494
- `yikes_mc_get_form_data_$formID`
495
-
496
- ##### Accepted Parameters:
497
- `$Form_ID` and `$merge_variables`
498
-
499
- ##### Parameter Info:
500
-
501
- `$Form_ID` = the ID of the specific MailChimp Form ( can be retrieved from the 'MailChimp Forms > Manage List Forms' menu ).
502
-
503
- `$merge_variables` = a multi-dimensional array containing all user entered data being sent to the MailChimp API (The email, first name, last name etc. will be contained here).
504
-
505
- ##### Description :
506
- Used to catch user data, of a specific form, before it gets sent to the mailchimp API. Useful when you want to manipulate data before being sent to the MailChimp API or if you'd like to use the entered data locally.
507
-
508
- ##### _Example_:
509
- _This example will catch the user submitted data **from a specific form**, store the users firstname in a variable and then update the current logged in user firstname profile field with the value in the First Name MailChimp field._
510
-
511
- ```<php>
512
- /**
513
- * This example will catch the user submitted data, store the users firstname in a variable and then update
514
- * the current logged in user firstname profile field with the value in the First Name MailChimp field.
515
- * This catches data from ALL forms being submitted.
516
- */
517
- function catch_user_data_from_specific_form( $form_ID, $merge_variables ) {
518
- // if the user is logged in
519
- if ( is_user_logged_in() ) {
520
-
521
- // get the logged in user id
522
- $user_id = get_current_user_id();
523
-
524
- // if the first name field is set
525
- if ( isset( $merge_variables['FNAME'] ) ) {
526
-
527
- // update logged in users first name with the provided name in MC form
528
- wp_update_user( array( 'ID' => $user_id, 'first_name' => $merge_variables['FNAME'] ) );
529
-
530
- // can be used for any of the fields in the form + any fields in the user profile
531
- }
532
-
533
- }
534
- }
535
- add_filter( 'yikes_mc_get_form_data_3d13f0f784' , 'catch_user_data_from_specific_form', 10, 2 );
536
- ```
537
-
538
- ## Helper Functions
539
-
540
- ##### Description :
541
- These functions are defined inside of the Easy MailChimp plugin and they exist to help test and view the user data that is being submitted by the user through the MailChimp form. These functions will prevent the default form functionality, so no user data will be sent to MailChimp while testing.
542
-
543
- These functions should be used in conjunction with the `yikes_mc_get_form_data` or the `yikes_mc_get_form_data_$formID` filters. Whatever data the user has provided will be returned for viewing.
544
-
545
- ##### Provided Functions :
546
- `yks_mc_print_user_data( $form_ID, $merge_variables );` and `yks_mc_dump_user_data( $form_ID, $merge_variables );`
547
- *Defined In: class.yksemeBase.php on line 2441 and 2510 respectively.*
548
-
549
- ##### _Example Useage_:
550
- *Print User Data*
551
-
552
- ```<php>
553
- /**
554
- * This example will return all of the submitted
555
- * user data In a nice readable format
556
- */
557
- function print_user_data_from_form( $form_ID, $merge_variables ) {
558
- if( class_exists( 'yksemeBase' ) ) {
559
- $yikes_easy_mailchimp = new yksemeBase();
560
- }
561
- $yikes_easy_mailchimp->yks_mc_print_user_data( $form_ID, $merge_variables );
562
- }
563
- add_filter( 'yikes_mc_get_form_data' , 'print_user_data_from_form', 10, 2 );
564
- ```
565
-
566
-
567
- *Dump User Data*
568
-
569
- ```<php>
570
- /**
571
- * This example will dump all of the submitted
572
- * user data, so you can see the full array of data
573
- * being returned
574
- */
575
- function dump_user_data_from_form( $form_ID, $merge_variables ) {
576
- if( class_exists( 'yksemeBase' ) ) {
577
- $yikes_easy_mailchimp = new yksemeBase();
578
- }
579
- $yikes_easy_mailchimp->yks_mc_dump_user_data( $form_ID, $merge_variables );
580
- }
581
- add_filter( 'yikes_mc_get_form_data' , 'dump_user_data_from_form', 10, 2 );
582
- ```
583
-
584
- Changes
585
- ===========
586
- ### 5.2 - December 10th, 2014
587
- * New Feature: Added ability to add, edit or delete form fields directly from the WordPress dashboard
588
- * New Feature: Added ability to add, edit or delete interest groups directly from the WordPress dashboard
589
- * New Feature: Add "Update" link to forms when a user has previously subscribed
590
- * New Feature: Added 'default' option to text fields ( with custom pre-defined tags : {post_id} , {post_title} , {page_url} , {blog_name} , {user_logged_in} with the ability to define your own! )
591
- * New Feature: Added the ability to adjust required state, visibility state, merge tag and more
592
- * New Feature: Added the ability to toggle between ssl_verifypeer true/false
593
- * New Feature: Added an error log to help users diagnose errors happening within the plugin (and updated advanced debugging)
594
- * Enhancement: Remove JavaScript dependency to populate place holder values
595
- * Enhancement: Replaced Captcha with the all new No-Captcha-Re-Captcha API from Google
596
- * Enhancement: Introduced all new filters ( check documentation for examples )
597
- * Enhancement: Un-checking 'visibility' now hides the input field (instead of not generating it at all)
598
- * Enhancement: Re-defined YKSEME_PATH for users who have the plugins folder outside of wp-content
599
- * Enhancement: Added new classes to labels and input fields on the front end forms ( new classes yks-mc-label-field-label , yks-mc-form-row-field-label , yks-mc-input-field-row-field-label , yks-mc-input-field-label )
600
- * Bug Fix: Re-sorting fields that had a stored custom class name didn't store properly
601
- * Bug Fix: Wrapped bundled template text in filters
602
- * Bug Fix: Repaired some broken filters (get_form_data_before_send)
603
- * Bug Fix: Fixed labels on 'Manage List Forms' page and added field names to titles
604
- * Bug Fix: Fixed path to check box images on 'Clean Blue' bundled templates
605
- * Bug Fix: Fixed empty API key from outputting any string (confused some users)
606
- * Other: Split main class file into multiple included files (help organize the main class file (sub-files located in /lib/inc/)
607
- * Other: Began to build up a [Wiki](https://github.com/yikesinc/yikes-inc-easy-mailchimp-extender/wiki) on Github , for plug in installation/usage instructions
608
- * Other: Altered single/double opt-in strings inside shortcode_form.php
609
-
610
- ### 5.1.2 - November 5, 2014
611
- * Fix: Removed type="password" from API key field to prevent password manager auto fill issue
612
-
613
- ### 5.1.1 - November 5, 2014
614
- * Fix: repair 'Opt In' default list drop down on options page
615
- * Fix: repair errors being thrown when a commenter is added to a list
616
-
617
- ### 5.1.0.1 - November 4, 2014
618
- * Remove update profile info link, replaced with user already subscribed error
619
- * Fix missing argument in getFrontendFormDisplay_field when using the table view
620
-
621
- ### 5.1 - November 3, 2014
622
- * Release v5.1
623
- * Added brand new templating framework, to allow users to create custom form templates for use with any MailChimp List
624
- * Re-style Manage List page
625
- * Added missing label to radio buttons inside the form
626
- * Added missing closing parentheses on subscriber count inside view subscribers page
627
- * Added custom color picker to easily stylize forms without writing a single line of code
628
- * Added ability to specify a custom class names for each field of the form ( easily add custom class names to MailChimp form fields for further customization )
629
- * Only run API Key check when a new key is entered ( not on each page load )
630
- * Added new Welcome page with features+update notifications for users
631
- * Security vulnerability re-patched - props @g0blinResearch for privately disclosing the potential vulnerability
632
- * Added `yks_redirect_add_post_types` filter, to allow custom post types to be added to the redirect drop down (view [docs](https://wordpress.org/plugins/yikes-inc-easy-mailchimp-extender/other_notes/) for example)
633
- * Added `yikes_mc_user_already_subscribed` filter to allow users to alter the message displayed to the user when they are already subscribed to a given list (view [docs](https://wordpress.org/plugins/yikes-inc-easy-mailchimp-extender/other_notes/) for example)
634
- * Added `yikes_mc_subscriber_update_message` filter, to alter the success message when a user updates their account information for a given list (view [docs](https://wordpress.org/plugins/yikes-inc-easy-mailchimp-extender/other_notes/) for example)
635
- * Added a new link to allow users to update profile information if previously subscribed to a given list
636
- * Added 5 bundled templates, and 2 boilerplate files for users to use as a starting point for new templates
637
-
638
- ### 5.0.6 - August 22, 2014
639
- * fix bug with nonce security check when using table 'Preferred Form Layout' setting
640
-
641
- ### 5.0.5 - August 21, 2014
642
- * added `stripslashes()` to the following settings fields :
643
- - Single Opt-in Confirmation Message
644
- - Double Opt-in Confirmation Message
645
- - Interest Group Label
646
- - Opt-in Checkbox Text
647
- * Updated Readme FAQ
648
-
649
- ### 5.0.4 - August 6, 2014
650
- * Update SSL conditional in main plugin file
651
- * Added mcrypt module check, for API encryption
652
- * Conditionally loaded scripts and styles in admin ( prevent conflicts )
653
- * Included NONCE security checks on form submissions ( helps prevent CSRF and other attacks )
654
- * Added proper update task function to add missing settings to the options page ( prevents undefined variables for new settings )
655
- * Added missing styles to post page ( added missing icon to tinyMCE button )
656
- * Added missing styles to widget page
657
- * Adjusted Chimp Chatter activity time formatting to return correct time based on user time zone
658
- * New Feature : Real time updates to Account Activity ( utilizing the heartbeat API )
659
- * New Feature : Added account activity widget to dashboard ( with live updates using heartbeat API )
660
- * Added screenshot of admin dashboard account activity widget
661
-
662
- ### 5.0.3
663
- * Re-Apply missing styles to new 'My MailChimp' Section
664
-
665
- ### 5.0.2
666
- * Remove extra spacing in provided short code, which caused parsing issues
667
-
668
- ### 5.0.1
669
- * Remove global box-sizing CSS declaration
670
-
671
- ### 5.0
672
- * Custom content filter to prevent other plugins from accidentally hooking in
673
- * Updated translation files with new text and translations
674
- * Added new screen shots
675
- * Updated plugin activation hooks
676
- * base64_encoded MailChimp API Key for privacy on multi-admin sites
677
- * Added an entirely new "My MailChimp" section
678
- * "My MailChimp" section now includes account overview details
679
- * Added much needed campaign statistic tracking page
680
- * Added ability to track Campaign Click/Opens with geo-data and interactive charts including world map
681
- * Added account /listgrowth section with interactive bar chart
682
- * Added "Chimp Chatter" feed to track account activity
683
- * Ability to export interactive charts to png, jpg, svg
684
- * Printable Campaign Reports
685
- * View campaign
686
- * Re-Branded entire Plugin
687
-
688
- ### 4.3
689
- * Updated radio button fields
690
- * Re-worked related JS and PHP functions
691
-
692
- ### 4.2.2
693
- * Added open_basedir conditional check to toggle CURLOPT_FOLLOWLOCATION based on users server settings
694
- * Prevents warning being thrown for users on shared hosts with an open_basedir set
695
-
696
- ### 4.2.1
697
- * Removed all unnecessary Google tracking codes and functions
698
-
699
- ### 4.2
700
- * Updated FAQ
701
- * Re-worked the redirect for a better user experience
702
- * Unified error messages into a single container on the front end
703
- * Converted custom opt-in messages to utilize the WYSIWYG editors ( now allowing for html and images to be used in your success messages )
704
- * Re-styled front end interest group containers
705
-
706
- ### 4.1
707
- * Fixed JavaScript errors on when Address field is set to required
708
- * Added user feedback on successful re-import of form
709
- * Fixed some style issues
710
- * Added animate.css
711
- * Added class to required fields that were left empty
712
- * Remove outdated jQuery
713
- * Now error is appended to the form, instead of alerted through JavaScript
714
- * Fixed date picker field, and images associated to it
715
- * Added ability to include html mark-up to confirmation fields
716
-
717
- ### 4.0
718
- * Added Interest Group/Segment Support
719
- * Ability To See Number of Subscriber Per List
720
- * View Subscribers MailChimp Profile
721
- * Customize Segment Group Label
722
- * Customize Submit Button Text
723
- * Redirect User to Specified Page On Submission
724
- * Customize Success Message
725
- * Added cURL Server Error Checking
726
- * Added further error checking to pages
727
- * Added new hooks and filters ( see developer docs for examples )
728
- * Translations added
729
-
730
- ### 3.0
731
- * Update MailChimp API to v2.0
732
- * Added API Validation Check on settings page
733
-
734
- ### 2.2.1
735
- * Bugfix make sure label matches ID
736
-
737
- ### 2.2.0
738
- * Change plugin name
739
- * Add better MailChimp error messaging
740
- * Add Advanced Error Messaging option
741
- * Add required fields indication
742
- * Improve admin UI
743
- * Update FAQ and screenshots
744
- * Add list name to forms on Manage List Forms page
745
- * Implement fetching list fields via MailChimp API key
746
- * Fix incorrect use of register_uninstall_hook()
747
-
748
- ### 2.1.0
749
- * Fix more jquery conflict issues
750
- * Clarification on how to add and manage list forms
751
-
752
- ### 2.0.3:
753
- * Add labels to table option for form
754
-
755
- ### 2.0.2:
756
- * Fix class MCAPI conflict issue
757
- * Automatically check for jquery if not use version 1.7.1
758
- * fix jquery conflict issue (specifically when multiple instance of "jQuery(document).ready..."
759
- * fix jquery conflict with ".cycle" jquery command commonly used in slideshows.
760
- * add jquery libraries 1.7.1 and prototype
761
- * use "noConflict" in each jquery instance to avoid future conflicts.
762
- * update Yikes about us info.
763
-
764
- ### 2.0.1:
765
- * Now supports multiples of the same list
766
- * Fixed the date format issue
767
- * Removed prompt class from the field wrapper
768
- * Updated plugin description
769
- * Disallowed adding the same list twice on the admin side
770
- * About page now links to the YIKES, Inc. page
771
-
772
- ### 2.0.0:
773
- * Added import function to pull in existing custom fields
774
- * Added new field handling to work with any list configuration
775
- * Required fields in MailChimp are now reflected properly in the list view
776
- * Added ability to choose Divs or Tables
777
-
778
- ### 1.3.1:
779
- * Added nopriv ajax action for anonymous users
780
-
781
- ### 1.3.0:
782
- * Added custom merge_vars field
783
-
784
- ### 1.2.0:
785
- * Removed required from First Name and Last Name fields
786
- * Added update routines for future versions
787
-
788
- ### 1.1.0:
789
- * Changed the list logic and added a notice for the MERGE VAR naming schema
790
-
791
- ### 1.0.1:
792
- * Changed CSS paths from Absolute to Relative
793
-
794
- ### 1.0.0:
795
- * Initial Release
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: http://yikesinc.com
4
  Tags: mailchimp, marketing, email, mailing lists, newsletter, sign up, forms, sign up form
5
  Requires at least: 3.0
6
  Tested up to: 4.1
7
- Stable tag: 5.2
8
  License: GPLv2 or later
9
 
10
  Easy MailChimp Forms allows you to painlessly add MailChimp sign up forms to your WordPress site and track user activity with interactive reports.
@@ -171,6 +171,15 @@ Simply click the link below the default value input field to add that tag as the
171
 
172
  We've also provided a way for you to define your own default value tags, and return any data you choose. This is done through the use of two separate filters ( `yikes_mailchimp_default_value_tag` and `yikes_mailchimp_process_default_value_tag` ). Check out the developer documentation for how to use the filters. The examples provided are extremely helpful.
173
 
 
 
 
 
 
 
 
 
 
174
  == Developer Docs. ==
175
 
176
  **Text Domain**
@@ -754,6 +763,12 @@ These functions should be used in conjunction with the `yikes_mc_get_form_data`
754
 
755
  == Changelog ==
756
 
 
 
 
 
 
 
757
  = 5.2 - December 10th, 2014 =
758
 
759
  * New Feature: Added ability to add, edit or delete form fields directly from the WordPress dashboard
@@ -1014,8 +1029,12 @@ These functions should be used in conjunction with the `yikes_mc_get_form_data`
1014
 
1015
  == Upgrade Notice ==
1016
 
1017
- = 5.2 - December 10th, 2014 =
 
 
 
1018
 
 
1019
  * New Feature: Added ability to add, edit or delete form fields directly from the WordPress dashboard
1020
  * New Feature: Added ability to add, edit or delete interest groups directly from the WordPress dashboard
1021
  * New Feature: Add "Update" link to forms when a user has previously subscribed
4
  Tags: mailchimp, marketing, email, mailing lists, newsletter, sign up, forms, sign up form
5
  Requires at least: 3.0
6
  Tested up to: 4.1
7
+ Stable tag: 5.3
8
  License: GPLv2 or later
9
 
10
  Easy MailChimp Forms allows you to painlessly add MailChimp sign up forms to your WordPress site and track user activity with interactive reports.
171
 
172
  We've also provided a way for you to define your own default value tags, and return any data you choose. This is done through the use of two separate filters ( `yikes_mailchimp_default_value_tag` and `yikes_mailchimp_process_default_value_tag` ). Check out the developer documentation for how to use the filters. The examples provided are extremely helpful.
173
 
174
+ = Can I move the success/error message to below the form instead of displaying them above? =
175
+ Yes! In version 5.3, we've allowed users to declare a constant which dictate where the error and success messages will appear in relation to the forms.
176
+
177
+ By default , the error and success messages appear above the form. If you'd like them to appear below the form, simply add the following definition to your active themes function.php file.
178
+
179
+ `
180
+ define( "display_yikes_mc_form_messages", "after" );
181
+ `
182
+
183
  == Developer Docs. ==
184
 
185
  **Text Domain**
763
 
764
  == Changelog ==
765
 
766
+ = 5.3 - January 11th, 2014 =
767
+
768
+ * Enhancement: Added ability to move the success + error messages above or below the form based on a defined constant ( `display_yikes_mc_form_messages` [options: before/after] )
769
+ * Enhancement: Added new settings and the ability to show/hide * = required field , from the top of the forms, via the settings page
770
+ * Enhancement: Fixed incorrect error 'click here to update your profile' shown on front end on all errors
771
+
772
  = 5.2 - December 10th, 2014 =
773
 
774
  * New Feature: Added ability to add, edit or delete form fields directly from the WordPress dashboard
1029
 
1030
  == Upgrade Notice ==
1031
 
1032
+ = 5.3 - January 11th, 2014 =
1033
+ * Enhancement: Added ability to move the success + error messages above or below the form based on a defined constant ( `display_yikes_mc_form_messages` [options: before/after] )
1034
+ * Enhancement: Added new settings and the ability to show/hide * = required field , from the top of the forms, via the settings page
1035
+ * Enhancement: Fixed incorrect error 'click here to update your profile' shown on front end on all errors
1036
 
1037
+ = 5.2 - December 10th, 2014 =
1038
  * New Feature: Added ability to add, edit or delete form fields directly from the WordPress dashboard
1039
  * New Feature: Added ability to add, edit or delete interest groups directly from the WordPress dashboard
1040
  * New Feature: Add "Update" link to forms when a user has previously subscribed
templates/form_template.php CHANGED
@@ -1,7 +1,10 @@
1
  <div class="yks-mailchimpFormContainerInner" id="yks-mailchimpFormContainerInner_<?php echo $list['id']; ?>">
2
- <div class="yks-require-description">
3
- <span class='yks-required-label'>*</span> = <?php _e('required field','yikes-inc-easy-mailchimp-extender'); ?>
4
- </div>
 
 
 
5
  <form method="post" name="yks-mailchimp-form" id="yks-mailchimp-form_<?php echo $list['id']; ?>" rel="<?php echo $list['id']; ?>">
6
  <input type="hidden" name="yks-mailchimp-list-ct" id="yks-mailchimp-list-ct_<?php echo $list['id']; ?>" value="<?php echo $listCt; ?>" />
7
  <input type="hidden" name="yks-mailchimp-list-id" id="yks-mailchimp-list-id_<?php echo $list['id']; ?>" value="<?php echo $list['list-id']; ?>" />
1
  <div class="yks-mailchimpFormContainerInner" id="yks-mailchimpFormContainerInner_<?php echo $list['id']; ?>">
2
+ <?php if( isset( $this->optionVal['yks-mailchimp-required-text'] ) ) {
3
+ if ( $this->optionVal['yks-mailchimp-required-text'] == '1' ) { ?>
4
+ <div class="yks-require-description">
5
+ <span class='yks-required-label'>*</span> = <?php _e('required field','yikes-inc-easy-mailchimp-extender'); ?>
6
+ </div>
7
+ <?php } } ?>
8
  <form method="post" name="yks-mailchimp-form" id="yks-mailchimp-form_<?php echo $list['id']; ?>" rel="<?php echo $list['id']; ?>">
9
  <input type="hidden" name="yks-mailchimp-list-ct" id="yks-mailchimp-list-ct_<?php echo $list['id']; ?>" value="<?php echo $listCt; ?>" />
10
  <input type="hidden" name="yks-mailchimp-list-id" id="yks-mailchimp-list-id_<?php echo $list['id']; ?>" value="<?php echo $list['list-id']; ?>" />
templates/shortcode_form.php CHANGED
@@ -1,10 +1,26 @@
1
- <?php if ( !is_admin() ) {
 
 
2
  // custom action hooks to enqueue
3
  // styles and scripts, only on
4
  // pages where are forms are being display
5
  // ( performance enhancement :} )
6
  do_action( 'yks_mc_enqueue_styles' );
7
  do_action( 'yks_mc_enqueue_scripts' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  ?>
9
 
10
  <script type="text/javascript">
@@ -24,7 +40,7 @@ $ymce = jQuery.noConflict();
24
  // prepend the notification to the user instead of alerting it
25
  // fade it in
26
  // and slide the user back up the the message so they don't miss it.
27
- jQuery('#yks-mailchimp-form_'+formID).prepend('<span id="yks_form_error_message">'+ msg+'</span>').delay(550).queue(function(next){
28
  jQuery('#yks_form_error_message').fadeIn();
29
  var offset_top = jQuery('#yks-mailchimpFormContainerInner_'+formID).offset().top;
30
  jQuery("html, body").animate({ scrollTop: offset_top - 50 }, 500 );
@@ -152,10 +168,10 @@ $ymce = jQuery.noConflict();
152
  });
153
 
154
  $ymce('#ykfmc-submit_<?php echo $list['id']; ?>').removeAttr('disabled');
 
 
155
 
156
- if ( MAILCHIMP.errorCode == '214' ) {
157
-
158
- $ymce('#yks-mailchimp-form_<?php echo $list['id']; ?>').prepend('<span id="yks_form_error_message">'+MAILCHIMP.errorResponse+' <a href="#" class="update-email-profile-link" alt="'+extractEmails(MAILCHIMP.errorResponse)+'">Click Here</a> to send an email to update your profile.</span>').delay(1000).queue(function(next){
159
  // remove the preloader
160
  jQuery( '.yks-mc-submit-preloader' ).remove();
161
 
@@ -176,7 +192,7 @@ $ymce = jQuery.noConflict();
176
 
177
  } else {
178
 
179
- $ymce('#yks-mailchimp-form_<?php echo $list['id']; ?>').prepend('<span id="yks_form_error_message">'+MAILCHIMP.errorResponse+'</span>').delay(1000).queue(function(next){
180
  // remove the preloader
181
  jQuery( '.yks-mc-submit-preloader' ).remove();
182
 
@@ -206,7 +222,7 @@ $ymce = jQuery.noConflict();
206
  jQuery( '.yks-mc-submit-preloader' ).remove();
207
  jQuery( '.ykfmc-submit' ).removeAttr( 'disabled' );
208
  jQuery('#yks_form_error_message').fadeIn();
209
- jQuery('#yks-mailchimp-form_<?php echo $list['id']; ?>').prepend('<span id="yks_form_error_message">'+error.responseText+'</span>').delay(1000).queue(function(next){
210
  // remove the preloader
211
  jQuery( '.yks-mc-submit-preloader' ).remove();
212
 
@@ -335,7 +351,9 @@ jQuery(document).ready(function() {
335
  ?>
336
  <div class="yks-mailchimpFormContainer yks-mailchimpFormContainer-<?php echo $list['id']; ?>">
337
 
338
- <div class="yks-status" id="yks-status-<?php echo $list['id']; ?>"></div>
 
 
339
 
340
  <?php
341
 
@@ -365,6 +383,8 @@ jQuery(document).ready(function() {
365
  // using the form ID set above
366
  do_action( 'yks_mc_after_form_'.$form_id[1] );
367
 
368
- ?>
369
-
 
 
370
  </div>
1
+ <?php
2
+ if ( !is_admin() ) {
3
+
4
  // custom action hooks to enqueue
5
  // styles and scripts, only on
6
  // pages where are forms are being display
7
  // ( performance enhancement :} )
8
  do_action( 'yks_mc_enqueue_styles' );
9
  do_action( 'yks_mc_enqueue_scripts' );
10
+
11
+ // append vs prepend the error message
12
+ // check if the user has defined a constant
13
+ if ( !defined( 'display_yikes_mc_form_messages' ) ) {
14
+ $display = 'prepend';
15
+ } else {
16
+ if( display_yikes_mc_form_messages == 'before' ) {
17
+ $display = 'prepend';
18
+ } else if ( display_yikes_mc_form_messages == 'after' ) {
19
+ $display = 'append';
20
+ } else {
21
+ $display = display_yikes_mc_form_messages;
22
+ }
23
+ }
24
  ?>
25
 
26
  <script type="text/javascript">
40
  // prepend the notification to the user instead of alerting it
41
  // fade it in
42
  // and slide the user back up the the message so they don't miss it.
43
+ jQuery('#yks-mailchimp-form_'+formID).<?php echo $display; ?>('<span id="yks_form_error_message">'+ msg+'</span>').delay(550).queue(function(next){
44
  jQuery('#yks_form_error_message').fadeIn();
45
  var offset_top = jQuery('#yks-mailchimpFormContainerInner_'+formID).offset().top;
46
  jQuery("html, body").animate({ scrollTop: offset_top - 50 }, 500 );
168
  });
169
 
170
  $ymce('#ykfmc-submit_<?php echo $list['id']; ?>').removeAttr('disabled');
171
+
172
+ if( MAILCHIMP.errorResponse.toLowerCase().indexOf( "is already subscribed to the list." ) >= 0 ) {
173
 
174
+ $ymce('#yks-mailchimp-form_<?php echo $list['id']; ?>').<?php echo $display; ?>('<span id="yks_form_error_message">'+MAILCHIMP.errorResponse+' <a href="#" class="update-email-profile-link" alt="'+extractEmails(MAILCHIMP.errorResponse)+'">Click Here</a> to send an email to update your profile.</span>').delay(1000).queue(function(next){
 
 
175
  // remove the preloader
176
  jQuery( '.yks-mc-submit-preloader' ).remove();
177
 
192
 
193
  } else {
194
 
195
+ $ymce('#yks-mailchimp-form_<?php echo $list['id']; ?>').<?php echo $display; ?>('<span id="yks_form_error_message">'+MAILCHIMP.errorResponse+'</span>').delay(1000).queue(function(next){
196
  // remove the preloader
197
  jQuery( '.yks-mc-submit-preloader' ).remove();
198
 
222
  jQuery( '.yks-mc-submit-preloader' ).remove();
223
  jQuery( '.ykfmc-submit' ).removeAttr( 'disabled' );
224
  jQuery('#yks_form_error_message').fadeIn();
225
+ jQuery('#yks-mailchimp-form_<?php echo $list['id']; ?>').<?php echo $display; ?>('<span id="yks_form_error_message">'+error.responseText+'</span>').delay(1000).queue(function(next){
226
  // remove the preloader
227
  jQuery( '.yks-mc-submit-preloader' ).remove();
228
 
351
  ?>
352
  <div class="yks-mailchimpFormContainer yks-mailchimpFormContainer-<?php echo $list['id']; ?>">
353
 
354
+ <?php if ( !defined( 'display_yikes_mc_form_messages' ) ) { ?>
355
+ <div class="yks-status" id="yks-status-<?php echo $list['id']; ?>"></div>
356
+ <?php } ?>
357
 
358
  <?php
359
 
383
  // using the form ID set above
384
  do_action( 'yks_mc_after_form_'.$form_id[1] );
385
 
386
+ if ( defined( 'display_yikes_mc_form_messages' ) && display_yikes_mc_form_messages == 'after' || display_yikes_mc_form_messages == 'append' ) { ?>
387
+ <div class="yks-status" id="yks-status-<?php echo $list['id']; ?>" style="margin-top:0;"></div>
388
+ <?php } ?>
389
+
390
  </div>
yikes-inc-easy-mailchimp-extender.php CHANGED
@@ -4,7 +4,7 @@
4
  Plugin Name: Easy MailChimp Forms
5
  Plugin URI: http://www.yikesinc.com/services/yikes-inc-easy-mailchimp-extender/
6
  Description: Mailchimp integration in the form of a shortcode, php snippet or widget. Now track account status, campaign stats, view subscribers and so much more!
7
- Version: 5.2
8
  Author: YIKES Inc
9
  Author URI: http://yikesinc.com
10
  License: GPL2
@@ -30,7 +30,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
30
 
31
  /** Configuration **/
32
  if(!defined('YKSEME_DEBUG')) define('YKSEME_DEBUG', false);
33
- if(!defined('YKSEME_VERSION_CURRENT')) define('YKSEME_VERSION_CURRENT', '5.2');
34
  if(!defined('YKSEME_REQ_PHP')) define('YKSEME_REQ_PHP', '5.0');
35
  if(!defined('YKSEME_AUTHOR')) define('YKSEME_AUTHOR', 'YIKES Inc');
36
  if(!defined('YKSEME_SITE')) define('YKSEME_SITE', site_url().'/');
4
  Plugin Name: Easy MailChimp Forms
5
  Plugin URI: http://www.yikesinc.com/services/yikes-inc-easy-mailchimp-extender/
6
  Description: Mailchimp integration in the form of a shortcode, php snippet or widget. Now track account status, campaign stats, view subscribers and so much more!
7
+ Version: 5.3
8
  Author: YIKES Inc
9
  Author URI: http://yikesinc.com
10
  License: GPL2
30
 
31
  /** Configuration **/
32
  if(!defined('YKSEME_DEBUG')) define('YKSEME_DEBUG', false);
33
+ if(!defined('YKSEME_VERSION_CURRENT')) define('YKSEME_VERSION_CURRENT', '5.3');
34
  if(!defined('YKSEME_REQ_PHP')) define('YKSEME_REQ_PHP', '5.0');
35
  if(!defined('YKSEME_AUTHOR')) define('YKSEME_AUTHOR', 'YIKES Inc');
36
  if(!defined('YKSEME_SITE')) define('YKSEME_SITE', site_url().'/');