Genesis eNews Extended - Version 2.0.0

Version Description

  • Add filters for text before and after form.
  • Fixed form name to be valid HTML 4.
  • Use https with Feedburner to prevent mixed content warnings on HTTPS sites.
  • Minor code fix when MailPoet is not present.
  • Adds genesis-enews-extended-args filter to allow plugins to manipulate the widget settings prior to output.
  • Uses HTML 5 placeholders instead of JavaScript.
  • Form ID now uses unique value.
Download this release

Release Info

Developer kraftbj
Plugin Icon wp plugin Genesis eNews Extended
Version 2.0.0
Comparing to
See all releases

Code changes from version 1.4.1 to 2.0.0

Files changed (3) hide show
  1. class-bjgk-genesis-enews-extended.php +69 -55
  2. plugin.php +6 -6
  3. readme.txt +17 -14
class-bjgk-genesis-enews-extended.php CHANGED
@@ -3,10 +3,10 @@
3
  * Genesis eNews Extended
4
  *
5
  * @package BJGK\Genesis_enews_extended
6
- * @version 1.4.1
7
  * @author Brandon Kraft <public@brandonkraft.com>
8
- * @link http://www.brandonkraft.com/contrib/plugins/genesis-enews-extended/
9
- * @copyright Copyright (c) 2012, Brandon Kraft
10
  * @license GPL-2.0+
11
  */
12
 
@@ -32,20 +32,22 @@ class BJGK_Genesis_eNews_Extended extends WP_Widget {
32
  */
33
  function __construct() {
34
  $this->defaults = array(
35
- 'title' => '',
36
- 'text' => '',
37
- 'after_text' => '',
38
- 'hidden_fields' => '',
39
- 'open_same_window' => 0,
40
- 'fname-field' => '',
41
- 'lname-field' => '',
42
- 'input_text' => '',
43
- 'fname_text' => '',
44
- 'lname_text' => '',
45
- 'button_text' => '',
46
- 'id' => '',
47
- 'email-field' => '',
48
- 'action' => '',
 
 
49
  );
50
 
51
  $widget_ops = array(
@@ -69,6 +71,7 @@ class BJGK_Genesis_eNews_Extended extends WP_Widget {
69
 
70
  // Merge with defaults
71
  $instance = wp_parse_args( (array) $instance, $this->defaults );
 
72
 
73
  // Checks if MailPoet exists. If so, a check for form submission wil take place.
74
  if ( class_exists( 'WYSIJA' ) && isset( $_POST['submission-type'] ) && 'mailpoet' == $_POST['submission-type'] && ! empty( $instance['mailpoet-list'] ) ) {
@@ -102,43 +105,43 @@ class BJGK_Genesis_eNews_Extended extends WP_Widget {
102
  if ( ! empty( $instance['title'] ) )
103
  echo $before_title . apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ) . $after_title;
104
 
105
- echo wpautop( $instance['text'] ); // We run KSES on update
106
 
107
  if ( ! empty( $instance['id'] ) ) : ?>
108
- <form id="subscribe" action="http://feedburner.google.com/fb/a/mailverify" method="post" target="popupwindow" onsubmit="window.open( 'http://feedburner.google.com/fb/a/mailverify?uri=<?php echo esc_js( $instance['id'] ); ?>', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true" name="<?php echo esc_attr( $instance['title'] ); ?>">
109
- <label for="subbox" class="screenread"><?php echo esc_attr( $instance['input_text'] ); ?></label><input type="<?php echo current_theme_supports( 'html5' ) ? 'email' : 'text'; ?>" value="<?php echo esc_attr( $instance['input_text'] ); ?>" id="subbox" onfocus="if ( this.value == '<?php echo esc_js( $instance['input_text'] ); ?>') { this.value = ''; }" onblur="if ( this.value == '' ) { this.value = '<?php echo esc_js( $instance['input_text'] ); ?>'; }" name="email" <?php if ( current_theme_supports( 'html5' ) ) : ?>required="required"<?php endif; ?> />
110
- <input type="hidden" name="uri" value="<?php echo esc_attr( $instance['id'] ); ?>" />
111
- <input type="hidden" name="loc" value="<?php echo esc_attr( get_locale() ); ?>" />
112
- <input type="submit" value="<?php echo esc_attr( $instance['button_text'] ); ?>" id="subbutton" />
113
- </form>
114
  <?php elseif ( ! empty( $instance['action'] ) ) : ?>
115
- <form id="subscribe" action="<?php echo esc_attr( $instance['action'] ); ?>" method="post" <?php if ($instance['open_same_window'] == 0 ) : ?> target="_blank"<?php endif; ?> onsubmit="if ( subbox1.value == '<?php echo esc_js( $instance['fname_text'] ); ?>') { subbox1.value = ''; } if ( subbox2.value == '<?php echo esc_js( $instance['lname_text'] ); ?>') { subbox2.value = ''; }" name="<?php echo esc_attr( $instance['title'] ); ?>">
116
- <?php if ( ! empty($instance['fname-field'] ) ) : ?><label for="subbox1" class="screenread"><?php echo esc_attr( $instance['fname_text'] ); ?></label><input type="text" id="subbox1" class="enews-subbox" value="<?php echo esc_attr( $instance['fname_text'] ); ?>" onfocus="if ( this.value == '<?php echo esc_js( $instance['fname_text'] ); ?>') { this.value = ''; }" onblur="if ( this.value == '' ) { this.value = '<?php echo esc_js( $instance['fname_text'] ); ?>'; }" name="<?php echo esc_attr( $instance['fname-field'] ); ?>" /><?php endif ?>
117
- <?php if ( ! empty($instance['lname-field'] ) ) : ?><label for="subbox2" class="screenread"><?php echo esc_attr( $instance['lname_text'] ); ?></label><input type="text" id="subbox2" class="enews-subbox" value="<?php echo esc_attr( $instance['lname_text'] ); ?>" onfocus="if ( this.value == '<?php echo esc_js( $instance['lname_text'] ); ?>') { this.value = ''; }" onblur="if ( this.value == '' ) { this.value = '<?php echo esc_js( $instance['lname_text'] ); ?>'; }" name="<?php echo esc_attr( $instance['lname-field'] ); ?>" /><?php endif ?>
118
- <label for="subbox" class="screenread"><?php echo esc_attr( $instance['input_text'] ); ?></label><input type="<?php echo current_theme_supports( 'html5' ) ? 'email' : 'text'; ?>" value="<?php echo esc_attr( $instance['input_text'] ); ?>" id="subbox" onfocus="if ( this.value == '<?php echo esc_js( $instance['input_text'] ); ?>') { this.value = ''; }" onblur="if ( this.value == '' ) { this.value = '<?php echo esc_js( $instance['input_text'] ); ?>'; }" name="<?php echo esc_js( $instance['email-field'] ); ?>" <?php if ( current_theme_supports( 'html5' ) ) : ?>required="required"<?php endif; ?> />
119
- <?php echo $instance['hidden_fields']; ?>
120
- <input type="submit" value="<?php echo esc_attr( $instance['button_text'] ); ?>" id="subbutton" />
121
- </form>
122
  <?php elseif ( ! empty( $instance['mailpoet-list'] ) && 'disabled' != $instance['mailpoet-list'] ) : ?>
123
- <form id="subscribe" action="<?php echo $current_url; ?>" method="post" onsubmit="if ( subbox1.value == '<?php echo esc_js( $instance['fname_text'] ); ?>') { subbox1.value = ''; } if ( subbox2.value == '<?php echo esc_js( $instance['lname_text'] ); ?>') { subbox2.value = ''; }" name="<?php echo esc_attr( $instance['title'] ); ?>">
124
- <?php if ( ! empty( $mailpoet_subscriber_id ) && is_int( $mailpoet_subscriber_id ) ) :
125
- // confirmation message phrasing depends on whether the user has to verify his subscription or not
126
- $mailpoet_needs_confirmation = WYSIJA::get( 'config','model' )->getValue( 'confirm_dbleoptin' ); // bool
127
- $success_message = $mailpoet_needs_confirmation ? __( 'Check your inbox now to confirm your subscription.', 'wysija-newsletters' ) : __( "You've successfully subscribed.", 'wysija-newsletters' );
128
- ?>
129
- <div class="mailpoet-message mailpoet-success <?php echo $mailpoet_needs_confirmation ? 'mailpoet-needs-confirmation' : 'mailpoet-confirmed'; ?>">
130
- <?php echo $success_message; ?>
131
- </div>
132
- <?php endif; ?>
133
- <?php if ( isset( $instance['mailpoet-show-fname'] ) ) : ?><label for="subbox1" class="screenread"><?php echo esc_attr( $instance['fname_text'] ); ?></label><input type="text" id="subbox1" class="enews-subbox" value="<?php echo esc_attr( $instance['fname_text'] ); ?>" onfocus="if ( this.value == '<?php echo esc_js( $instance['fname_text'] ); ?>') { this.value = ''; }" onblur="if ( this.value == '' ) { this.value = '<?php echo esc_js( $instance['fname_text'] ); ?>'; }" name="mailpoet-firstname" /><?php endif ?>
134
- <?php if ( isset( $instance['mailpoet-show-lname'] ) ) : ?><label for="subbox2" class="screenread"><?php echo esc_attr( $instance['lname_text'] ); ?></label><input type="text" id="subbox2" class="enews-subbox" value="<?php echo esc_attr( $instance['lname_text'] ); ?>" onfocus="if ( this.value == '<?php echo esc_js( $instance['lname_text'] ); ?>') { this.value = ''; }" onblur="if ( this.value == '' ) { this.value = '<?php echo esc_js( $instance['lname_text'] ); ?>'; }" name="mailpoet-lastname" /><?php endif ?>
135
- <label for="subbox" class="screenread"><?php echo esc_attr( $instance['input_text'] ); ?></label><input type="<?php echo current_theme_supports( 'html5' ) ? 'email' : 'text'; ?>" value="<?php echo esc_attr( $instance['input_text'] ); ?>" id="subbox" onfocus="if ( this.value == '<?php echo esc_js( $instance['input_text'] ); ?>') { this.value = ''; }" onblur="if ( this.value == '' ) { this.value = '<?php echo esc_js( $instance['input_text'] ); ?>'; }" name="mailpoet-email" <?php if ( current_theme_supports( 'html5' ) ) : ?>required="required"<?php endif; ?> />
136
- <?php echo $instance['hidden_fields']; ?>
137
- <input type="hidden" name="submission-type" value="mailpoet" />
138
- <input type="submit" value="<?php echo esc_attr( $instance['button_text'] ); ?>" id="subbutton" />
139
- </form>
140
  <?php endif;
141
- echo wpautop( $instance['after_text'] ); // We run KSES on update
142
 
143
  echo '</div>' . $after_widget;
144
 
@@ -159,11 +162,13 @@ class BJGK_Genesis_eNews_Extended extends WP_Widget {
159
  * @return array Settings to save or bool false to cancel saving
160
  */
161
  function update( $new_instance, $old_instance ) {
162
- $new_instance['title'] = strip_tags( $new_instance['title'] );
163
- $new_instance['text'] = wp_kses_post( $new_instance['text']);
164
- $new_instance['hidden_fields'] = strip_tags( $new_instance['hidden_fields'], "<div>, <fieldset>, <input>, <label>, <legend>, <option>, <optgroup>, <select>, <textarea>" );
165
- $new_instance['after_text'] = wp_kses_post( $new_instance['after_text']);
166
- $new_instance['id'] = str_replace("http://feeds.feedburner.com/", "", $new_instance['id']);
 
 
167
  return $new_instance;
168
  }
169
 
@@ -206,7 +211,7 @@ class BJGK_Genesis_eNews_Extended extends WP_Widget {
206
  <?php foreach ( $mp_lists as $mp_list ) : ?>
207
  <li>
208
  <label>
209
- <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'mailpoet-list' ) ); ?>[]" value="<?php echo esc_attr( $mp_list['list_id'] ); ?>" <?php checked( in_array( $mp_list['list_id'], (array) $instance['mailpoet-list'] ) ); ?> />
210
  <?php echo esc_html( $mp_list['name'] ); ?>
211
  </label>
212
  </li>
@@ -225,6 +230,15 @@ class BJGK_Genesis_eNews_Extended extends WP_Widget {
225
  </label>
226
 
227
  </small>
 
 
 
 
 
 
 
 
 
228
  </fieldset>
229
 
230
  <?php else : ?>
3
  * Genesis eNews Extended
4
  *
5
  * @package BJGK\Genesis_enews_extended
6
+ * @version 2.0.0
7
  * @author Brandon Kraft <public@brandonkraft.com>
8
+ * @link http://www.brandonkraft.com/genesis-enews-extended/
9
+ * @copyright Copyright (c) 2012-2015, Brandon Kraft
10
  * @license GPL-2.0+
11
  */
12
 
32
  */
33
  function __construct() {
34
  $this->defaults = array(
35
+ 'title' => '',
36
+ 'text' => '',
37
+ 'after_text' => '',
38
+ 'hidden_fields' => '',
39
+ 'open_same_window' => 0,
40
+ 'fname-field' => '',
41
+ 'lname-field' => '',
42
+ 'input_text' => '',
43
+ 'fname_text' => '',
44
+ 'lname_text' => '',
45
+ 'button_text' => '',
46
+ 'id' => '',
47
+ 'email-field' => '',
48
+ 'action' => '',
49
+ 'mailpoet_check' => __( 'Check your inbox or spam folder now to confirm your subscription.', 'wysija-newsletters' ),
50
+ 'mailpoet_subbed' => __( "You've successfully subscribed.", 'wysija-newsletters' ),
51
  );
52
 
53
  $widget_ops = array(
71
 
72
  // Merge with defaults
73
  $instance = wp_parse_args( (array) $instance, $this->defaults );
74
+ $instance = apply_filters( 'genesis-enews-extended-args', $instance );
75
 
76
  // Checks if MailPoet exists. If so, a check for form submission wil take place.
77
  if ( class_exists( 'WYSIJA' ) && isset( $_POST['submission-type'] ) && 'mailpoet' == $_POST['submission-type'] && ! empty( $instance['mailpoet-list'] ) ) {
105
  if ( ! empty( $instance['title'] ) )
106
  echo $before_title . apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ) . $after_title;
107
 
108
+ echo wpautop( apply_filters( 'gee_text', $instance['text'] ) ); // We run KSES on update
109
 
110
  if ( ! empty( $instance['id'] ) ) : ?>
111
+ <form id="subscribe-<?php echo $this->id; ?>" action="https://feedburner.google.com/fb/a/mailverify" method="post" target="popupwindow" onsubmit="window.open( 'http://feedburner.google.com/fb/a/mailverify?uri=<?php echo esc_js( $instance['id'] ); ?>', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true" name="<?php echo esc_attr( $this->id ); ?>">
112
+ <label for="subbox" class="screenread"><?php echo esc_attr( $instance['input_text'] ); ?></label><input type="<?php echo current_theme_supports( 'html5' ) ? 'email' : 'text'; ?>" value="" id="subbox" placeholder="<?php echo esc_attr( $instance['input_text'] ); ?>" name="email" <?php if ( current_theme_supports( 'html5' ) ) : ?>required="required"<?php endif; ?> />
113
+ <input type="hidden" name="uri" value="<?php echo esc_attr( $instance['id'] ); ?>" />
114
+ <input type="hidden" name="loc" value="<?php echo esc_attr( get_locale() ); ?>" />
115
+ <input type="submit" value="<?php echo esc_attr( $instance['button_text'] ); ?>" id="subbutton" />
116
+ </form>
117
  <?php elseif ( ! empty( $instance['action'] ) ) : ?>
118
+ <form id="subscribe<?php echo $this->id; ?>" action="<?php echo esc_attr( $instance['action'] ); ?>" method="post" <?php if ($instance['open_same_window'] == 0 ) : ?> target="_blank"<?php endif; ?> onsubmit="if ( subbox1.value == '<?php echo esc_js( $instance['fname_text'] ); ?>') { subbox1.value = ''; } if ( subbox2.value == '<?php echo esc_js( $instance['lname_text'] ); ?>') { subbox2.value = ''; }" name="<?php echo esc_attr( $this->id ); ?>">
119
+ <?php if ( ! empty($instance['fname-field'] ) ) : ?><label for="subbox1" class="screenread"><?php echo esc_attr( $instance['fname_text'] ); ?></label><input type="text" id="subbox1" class="enews-subbox" value="" placeholder="<?php echo esc_attr( $instance['fname_text'] ); ?>"name="<?php echo esc_attr( $instance['fname-field'] ); ?>" /><?php endif ?>
120
+ <?php if ( ! empty($instance['lname-field'] ) ) : ?><label for="subbox2" class="screenread"><?php echo esc_attr( $instance['lname_text'] ); ?></label><input type="text" id="subbox2" class="enews-subbox" value="" placeholder="<?php echo esc_attr( $instance['lname-field'] ); ?>" name="<?php echo esc_attr( $instance['lname-field'] ); ?>" /><?php endif ?>
121
+ <label for="subbox" class="screenread"><?php echo esc_attr( $instance['input_text'] ); ?></label><input type="<?php echo current_theme_supports( 'html5' ) ? 'email' : 'text'; ?>" value="" id="subbox" placeholder="<?php echo esc_attr( $instance['input_text'] ); ?>" name="<?php echo esc_js( $instance['email-field'] ); ?>" <?php if ( current_theme_supports( 'html5' ) ) : ?>required="required"<?php endif; ?> />
122
+ <?php echo $instance['hidden_fields']; ?>
123
+ <input type="submit" value="<?php echo esc_attr( $instance['button_text'] ); ?>" id="subbutton" />
124
+ </form>
125
  <?php elseif ( ! empty( $instance['mailpoet-list'] ) && 'disabled' != $instance['mailpoet-list'] ) : ?>
126
+ <form id="subscribe<?php echo $this->id; ?>" action="<?php echo $current_url; ?>" method="post" onsubmit="if ( subbox1.value == '<?php echo esc_js( $instance['fname_text'] ); ?>') { subbox1.value = ''; } if ( subbox2.value == '<?php echo esc_js( $instance['lname_text'] ); ?>') { subbox2.value = ''; }" name="<?php echo esc_attr( $this->id ); ?>">
127
+ <?php if ( ! empty( $mailpoet_subscriber_id ) && is_int( $mailpoet_subscriber_id ) ) :
128
+ // confirmation message phrasing depends on whether the user has to verify his subscription or not
129
+ $mailpoet_needs_confirmation = WYSIJA::get( 'config','model' )->getValue( 'confirm_dbleoptin' ); // bool
130
+ $success_message = $mailpoet_needs_confirmation ? $instance['mailpoet_check'] : $instance['mailpoet_subbed'];
131
+ ?>
132
+ <div class="mailpoet-message mailpoet-success <?php echo $mailpoet_needs_confirmation ? 'mailpoet-needs-confirmation' : 'mailpoet-confirmed'; ?>">
133
+ <?php echo esc_html( $success_message ); ?>
134
+ </div>
135
+ <?php endif; ?>
136
+ <?php if ( isset( $instance['mailpoet-show-fname'] ) ) : ?><label for="subbox1" class="screenread"><?php echo esc_attr( $instance['fname_text'] ); ?></label><input type="text" id="subbox1" class="enews-subbox" value="" placeholder="<?php echo esc_attr( $instance['fname_text'] ); ?>"name="mailpoet-firstname" /><?php endif ?>
137
+ <?php if ( isset( $instance['mailpoet-show-lname'] ) ) : ?><label for="subbox2" class="screenread"><?php echo esc_attr( $instance['lname_text'] ); ?></label><input type="text" id="subbox2" class="enews-subbox" value="" placeholder="<?php echo esc_attr( $instance['lname_text'] ); ?>"name="mailpoet-lastname" /><?php endif ?>
138
+ <label for="subbox" class="screenread"><?php echo esc_attr( $instance['input_text'] ); ?></label><input type="<?php echo current_theme_supports( 'html5' ) ? 'email' : 'text'; ?>" value="" id="subbox" placeholder="<?php echo esc_attr( $instance['input_text'] ); ?>" name="mailpoet-email" <?php if ( current_theme_supports( 'html5' ) ) : ?>required="required"<?php endif; ?> />
139
+ <?php echo $instance['hidden_fields']; ?>
140
+ <input type="hidden" name="submission-type" value="mailpoet" />
141
+ <input type="submit" value="<?php echo esc_attr( $instance['button_text'] ); ?>" id="subbutton" />
142
+ </form>
143
  <?php endif;
144
+ echo wpautop( apply_filters( 'gee_after_text', $instance['after_text'] ) ); // We run KSES on update
145
 
146
  echo '</div>' . $after_widget;
147
 
162
  * @return array Settings to save or bool false to cancel saving
163
  */
164
  function update( $new_instance, $old_instance ) {
165
+ $new_instance['title'] = strip_tags( $new_instance['title'], "<i>" );
166
+ $new_instance['text'] = wp_kses_post( $new_instance['text']);
167
+ $new_instance['hidden_fields'] = strip_tags( $new_instance['hidden_fields'], "<div>, <fieldset>, <input>, <label>, <legend>, <option>, <optgroup>, <select>, <textarea>" );
168
+ $new_instance['after_text'] = wp_kses_post( $new_instance['after_text']);
169
+ $new_instance['id'] = str_replace("http://feeds.feedburner.com/", "", $new_instance['id']);
170
+ $new_instance['mailpoet_check'] = wp_kses_post( $new_instance['mailpoet_check'] );
171
+ $new_instance['mailpoet_subbed'] = wp_kses_post( $new_instance['mailpoet_subbed'] );
172
  return $new_instance;
173
  }
174
 
211
  <?php foreach ( $mp_lists as $mp_list ) : ?>
212
  <li>
213
  <label>
214
+ <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'mailpoet-list' ) ); ?>[]" value="<?php echo esc_attr( $mp_list['list_id'] ); ?>" <?php if ( isset( $instance['mailpoet-list'] ) ) { checked( in_array( $mp_list['list_id'], (array) $instance['mailpoet-list'] ) ); } ?> />
215
  <?php echo esc_html( $mp_list['name'] ); ?>
216
  </label>
217
  </li>
230
  </label>
231
 
232
  </small>
233
+
234
+ <p>
235
+ <label for="<?php echo esc_attr( $this->get_field_id( 'mailpoet_check' ) ); ?>"><?php _e( 'Text Displayed If Confirmation Needed', 'genesis-enews-extended' ); ?>:</label><br />
236
+ <textarea id="<?php echo esc_attr( $this->get_field_id( 'mailpoet_check' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'mailpoet_check' ) ); ?>" class="widefat" rows="6" cols="4"><?php echo htmlspecialchars( $instance['mailpoet_check'] ); ?></textarea>
237
+ </p>
238
+ <p>
239
+ <label for="<?php echo esc_attr( $this->get_field_id( 'mailpoet_subbed' ) ); ?>"><?php _e( 'Text Displayed If Subscribed', 'genesis-enews-extended' ); ?>:</label><br />
240
+ <textarea id="<?php echo esc_attr( $this->get_field_id( 'mailpoet_subbed' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'mailpoet_subbed' ) ); ?>" class="widefat" rows="6" cols="4"><?php echo htmlspecialchars( $instance['mailpoet_subbed'] ); ?></textarea>
241
+ </p>
242
  </fieldset>
243
 
244
  <?php else : ?>
plugin.php CHANGED
@@ -3,19 +3,19 @@
3
  * Genesis eNews Extended
4
  *
5
  * @package BJGK\Genesis_enews_extended
6
- * @version 1.4.1
7
  * @author Brandon Kraft <public@brandonkraft.com>
8
- * @copyright Copyright (c) 2012, Brandon Kraft
9
- * @link http://www.brandonkraft.com/contrib/plugins/genesis-enews-extended/
10
  * @license GPL-2.0+
11
  *
12
  * @wordpress-plugin
13
  * Plugin Name: Genesis eNews Extended
14
- * Plugin URI: http://www.brandonkraft.com/contrib/plugins/genesis-enews-extended/
15
  * Description: Replaces the Genesis eNews Widget to allow easier use of additional mailing services.
16
- * Version: 1.4.1
17
  * Author: Brandon Kraft
18
- * Author URI: http://www.brandonkraft.com
19
  * License: GPL-2.0+
20
  * License URI: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
21
  * Text Domain: genesis-enews-extended
3
  * Genesis eNews Extended
4
  *
5
  * @package BJGK\Genesis_enews_extended
6
+ * @version 2.0.0
7
  * @author Brandon Kraft <public@brandonkraft.com>
8
+ * @copyright Copyright (c) 2012-2015, Brandon Kraft
9
+ * @link https://kraft.im/genesis-enews-extended/
10
  * @license GPL-2.0+
11
  *
12
  * @wordpress-plugin
13
  * Plugin Name: Genesis eNews Extended
14
+ * Plugin URI: https://kraft.im/genesis-enews-extended/
15
  * Description: Replaces the Genesis eNews Widget to allow easier use of additional mailing services.
16
+ * Version: 2.0.0
17
  * Author: Brandon Kraft
18
+ * Author URI: https://kraft.im
19
  * License: GPL-2.0+
20
  * License URI: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
21
  * Text Domain: genesis-enews-extended
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
  === Genesis eNews Extended ===
2
  Contributors: kraftbj, coffeaweb
3
- Donate link: http://www.brandonkraft.com/donate/
4
  Tags: genesis, genesiswp, mailchimp, aweber, studiopress, newsletter, subscribe, mailpoet, wysija
5
  Requires at least: 3.0
6
- Tested up to: 4.2
7
- Stable tag: 1.4.1
8
 
9
  Creates a new widget to easily add mailing lists integration to a Genesis website. Works with FeedBurner, MailChimp, AWeber, FeedBlitz and more.
10
 
@@ -17,7 +17,7 @@ Creates a new widget to easily add mailing lists to a Genesis website. Recommend
17
  1. Upload contents of the directory to /wp-content/plugins/ (or use the automatic installer)
18
  1. Activate the plugin through the 'Plugins' menu in WordPress
19
  1. In Appearance->Widgets, add Genesis eNews Extended widget to any sidebar.
20
- 1. Using the mailing list contact form code provided by your vendor, add the form action URL, the form field ID for the e-mail field and any hidden fields (not all services use them) into the widget options. See some tips for this on the [plugin's install page](http://www.brandonkraft.com/contrib/plugins/genesis-enews-extended/install).
21
  1. If using name fields, read the [plugin's tutorial website](http://www.brandonkraft.com/genesis-enews-extended/tutorials).
22
  1. Verify it works!
23
 
@@ -37,11 +37,11 @@ That is a feature of the theme. If you want the button back, remove ".enews #sub
37
 
38
  = The first and last name fields look funky. =
39
 
40
- Read more on the [plugin's tutorial website](http://www.brandonkraft.com/genesis-enews-extended/tutorials).
41
 
42
  = I need help! Where I can get it? =
43
 
44
- "Official" tutorials will be maintained on the [plugin's website](http://www.brandonkraft.com/genesis-enews-extended/).
45
 
46
  Questions can be asked at the [WordPress.org Support Forum](http://wordpress.org/support/plugin/genesis-enews-extended) for this plugin.
47
 
@@ -51,6 +51,15 @@ Questions can be asked at the [WordPress.org Support Forum](http://wordpress.org
51
 
52
  == Changelog ==
53
 
 
 
 
 
 
 
 
 
 
54
  = 1.4.1 =
55
  * Add fieldset, legend, option, optgroup, select to allowed HTML for Hidden Fields area.
56
  * Update CSS for screenreaders. Props jwenerd.
@@ -96,7 +105,7 @@ Questions can be asked at the [WordPress.org Support Forum](http://wordpress.org
96
  = 1.1.0 =
97
  * Allows for more HTML tags to be used in Text to Show field. Dropped genesis_allowed_tags in favor or wp_kses_post. Props to [John Levandowski](http://wpselect.com/).
98
  * eNews Extended now compatible with Catalyst theme (Catalyst not officially supported).
99
- * Fuzzy translations added for a wide number of langauges based on Genesis 1.8.2 translations of the original eNews Widget.
100
 
101
  = 1.0.X =
102
  * Adds ability to edit "First Name" and "Last Name" displayed on front-end.
@@ -144,7 +153,6 @@ A special thanks to all who have contributed to Genesis eNews Extended.
144
  * Jennifer Jinright
145
  * Greg Ferro
146
  * Greg Young
147
- * [Maybe You?](http://www.brandonkraft.com/donate/)
148
 
149
  = Code Contributions =
150
  * Gary Jones (many, many times over)
@@ -169,9 +177,4 @@ A special thanks to all who have contributed to Genesis eNews Extended.
169
  = StudioPress =
170
  * Special thanks to Brian Gardner and the team at StudioPress who wrote the original code that provided the foundation for the plugin.
171
 
172
- If you're not listed and think you should be, please drop me a note. Any omission is, in no way, intentional.
173
-
174
- == Upgrade Notice ==
175
-
176
- = 1.4.0 =
177
- * Added native support for MailPoet and added/improved translations.
1
  === Genesis eNews Extended ===
2
  Contributors: kraftbj, coffeaweb
3
+ Donate link: https://kraft.im/donate/
4
  Tags: genesis, genesiswp, mailchimp, aweber, studiopress, newsletter, subscribe, mailpoet, wysija
5
  Requires at least: 3.0
6
+ Tested up to: 4.3
7
+ Stable tag: 2.0.0
8
 
9
  Creates a new widget to easily add mailing lists integration to a Genesis website. Works with FeedBurner, MailChimp, AWeber, FeedBlitz and more.
10
 
17
  1. Upload contents of the directory to /wp-content/plugins/ (or use the automatic installer)
18
  1. Activate the plugin through the 'Plugins' menu in WordPress
19
  1. In Appearance->Widgets, add Genesis eNews Extended widget to any sidebar.
20
+ 1. Using the mailing list contact form code provided by your vendor, add the form action URL, the form field ID for the e-mail field and any hidden fields (not all services use them) into the widget options. See some tips for this on the [plugin's install page](http://www.brandonkraft.com/genesis-enews-extended/install).
21
  1. If using name fields, read the [plugin's tutorial website](http://www.brandonkraft.com/genesis-enews-extended/tutorials).
22
  1. Verify it works!
23
 
37
 
38
  = The first and last name fields look funky. =
39
 
40
+ Read more on the [plugin's tutorial website](https://kraft.im/genesis-enews-extended/tutorials).
41
 
42
  = I need help! Where I can get it? =
43
 
44
+ "Official" tutorials will be maintained on the [plugin's website](https://kraft.im/genesis-enews-extended/).
45
 
46
  Questions can be asked at the [WordPress.org Support Forum](http://wordpress.org/support/plugin/genesis-enews-extended) for this plugin.
47
 
51
 
52
  == Changelog ==
53
 
54
+ = 2.0.0 =
55
+ * Add filters for text before and after form.
56
+ * Fixed form name to be valid HTML 4.
57
+ * Use https with Feedburner to prevent mixed content warnings on HTTPS sites.
58
+ * Minor code fix when MailPoet is not present.
59
+ * Adds `genesis-enews-extended-args` filter to allow plugins to manipulate the widget settings prior to output.
60
+ * Uses HTML 5 placeholders instead of JavaScript.
61
+ * Form ID now uses unique value.
62
+
63
  = 1.4.1 =
64
  * Add fieldset, legend, option, optgroup, select to allowed HTML for Hidden Fields area.
65
  * Update CSS for screenreaders. Props jwenerd.
105
  = 1.1.0 =
106
  * Allows for more HTML tags to be used in Text to Show field. Dropped genesis_allowed_tags in favor or wp_kses_post. Props to [John Levandowski](http://wpselect.com/).
107
  * eNews Extended now compatible with Catalyst theme (Catalyst not officially supported).
108
+ * Fuzzy translations added for a wide number of languages based on Genesis 1.8.2 translations of the original eNews Widget.
109
 
110
  = 1.0.X =
111
  * Adds ability to edit "First Name" and "Last Name" displayed on front-end.
153
  * Jennifer Jinright
154
  * Greg Ferro
155
  * Greg Young
 
156
 
157
  = Code Contributions =
158
  * Gary Jones (many, many times over)
177
  = StudioPress =
178
  * Special thanks to Brian Gardner and the team at StudioPress who wrote the original code that provided the foundation for the plugin.
179
 
180
+ If you're not listed and think you should be, please drop me a note. Any omission is, in no way, intentional.