Genesis eNews Extended - Version 2.1.0

Version Description

  • Provide option to link to the site's Privacy Policy.
  • Allow "a" HTML tags in the hidden fields settings field.
  • Various improvements to match coding standards.
Download this release

Release Info

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

Code changes from version 2.0.2 to 2.1.0

class-bjgk-genesis-enews-extended.php CHANGED
@@ -3,10 +3,10 @@
3
  * Genesis eNews Extended
4
  *
5
  * @package BJGK\Genesis_enews_extended
6
- * @version 2.0.2
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
 
@@ -16,7 +16,7 @@
16
  * @package BJGK\Genesis_enews_extended
17
  * @author Brandon Kraft <public@brandonkraft.com>
18
  */
19
- class BJGK_Genesis_eNews_Extended extends WP_Widget {
20
 
21
  /**
22
  * Holds widget settings defaults, populated in constructor.
@@ -30,24 +30,25 @@ class BJGK_Genesis_eNews_Extended extends WP_Widget {
30
  *
31
  * @since 0.1.0
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(
@@ -61,90 +62,137 @@ class BJGK_Genesis_eNews_Extended extends WP_Widget {
61
  /**
62
  * Echo the widget content.
63
  *
 
 
64
  * @since 0.1.0
65
  *
66
  * @param array $args Display arguments including before_title, after_title, before_widget, and after_widget.
67
  * @param array $instance The settings for the particular instance of the widget.
68
  */
69
- function widget( $args, $instance ) {
70
- extract( $args );
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'] ) ) {
78
  $subscriber_data = array(
79
- 'user' => array(
80
- 'firstname' => isset( $_POST['mailpoet-firstname'] ) ? $_POST['mailpoet-firstname'] : '',
81
- 'lastname' => isset( $_POST['mailpoet-lastname'] ) ? $_POST['mailpoet-lastname'] : '',
82
- 'email' => isset( $_POST['mailpoet-email'] ) ? $_POST['mailpoet-email'] : '',
83
  ),
84
  'user_list' => array(
85
- 'list_ids' => array_values( $instance['mailpoet-list'] )
86
  ),
87
  );
88
 
89
- $mailpoet_subscriber_id = WYSIJA::get( 'user', 'helper' )->addSubscriber( $subscriber_data );
90
  }
91
 
92
- // Set default fname_text, lname_text for backwards compat for installs upgraded from 0.1.6+ to 0.3.0+
93
- if (empty($instance['fname_text'])) {
94
- $instance['fname_text'] = "First Name";
95
  }
96
- if (empty($instance['lname_text'])) {
97
- $instance['lname_text'] = "Last Name";
98
  }
99
 
100
  // Establishes current URL for MailPoet action fields.
101
- $current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
102
 
103
- echo $before_widget . '<div class="enews">';
 
104
 
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_text'] ); ?>" 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
 
 
148
  }
149
 
150
  /**
@@ -155,24 +203,27 @@ class BJGK_Genesis_eNews_Extended extends WP_Widget {
155
  * If false is returned, the instance won't be saved / updated.
156
  *
157
  * @since 0.1.0
 
158
  *
159
  * @param array $new_instance New settings for this instance as input by the user via form().
160
  * @param array $old_instance Old settings for this instance.
161
  *
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
  if ( isset( $new_instance['mailpoet_check'] ) ) {
171
- $new_instance['mailpoet_check'] = wp_kses_post( $new_instance['mailpoet_check'] );
172
  }
173
 
174
  if ( isset( $new_instance['mailpoet_subbed'] ) ) {
175
- $new_instance['mailpoet_subbed'] = wp_kses_post( $new_instance['mailpoet_subbed'] );
176
  }
177
 
178
  return $new_instance;
@@ -185,39 +236,47 @@ class BJGK_Genesis_eNews_Extended extends WP_Widget {
185
  *
186
  * @param array $instance Current settings.
187
  */
188
- function form( $instance ) {
189
- // Merge with defaults
190
  $instance = wp_parse_args( (array) $instance, $this->defaults );
191
  ?>
192
  <p>
193
- <label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php _e( 'Title', 'genesis-enews-extended' ); ?>:</label><br />
194
  <input type="text" id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" value="<?php echo esc_attr( $instance['title'] ); ?>" class="widefat" />
195
  </p>
196
 
197
  <p>
198
- <label for="<?php echo esc_attr( $this->get_field_id( 'text' ) ); ?>"><?php _e( 'Text To Show Before Form', 'genesis-enews-extended' ); ?>:</label><br />
199
- <textarea id="<?php echo esc_attr( $this->get_field_id( 'text' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'text' ) ); ?>" class="widefat" rows="6" cols="4"><?php echo htmlspecialchars( $instance['text'] ); ?></textarea>
200
  </p>
201
  <p>
202
- <label for="<?php echo esc_attr( $this->get_field_id( 'after_text' ) ); ?>"><?php _e( 'Text To Show After Form', 'genesis-enews-extended' ); ?>:</label><br />
203
- <textarea id="<?php echo esc_attr( $this->get_field_id( 'after_text' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'after_text' ) ); ?>" class="widefat" rows="6" cols="4"><?php echo htmlspecialchars( $instance['after_text'] ); ?></textarea>
204
  </p>
205
 
206
  <hr style="background-color: #ccc; border: 0; height: 1px; margin: 20px 0;">
207
- <?php if ( class_exists( 'WYSIJA' ) ) :
208
- $mp_model_list = WYSIJA::get( 'list','model' );
209
- $mp_lists = $mp_model_list->get( array( 'name','list_id' ), array(
210
- 'is_enabled' => 1,
211
- ) );
 
 
 
212
  ?>
213
  <p>
214
- <label for="<?php echo esc_attr( $this->get_field_id( 'mailpoet-list' ) ); ?>"><?php _e( 'MailPoet List', 'genesis-enews-extended' ); ?>:</label>
215
  <fieldset>
216
  <ul>
217
  <?php foreach ( $mp_lists as $mp_list ) : ?>
218
  <li>
219
  <label>
220
- <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'] ) ); } ?> />
 
 
 
 
 
221
  <?php echo esc_html( $mp_list['name'] ); ?>
222
  </label>
223
  </li>
@@ -225,88 +284,92 @@ class BJGK_Genesis_eNews_Extended extends WP_Widget {
225
  </ul>
226
 
227
  <small>
228
- <?php _e( 'Show Fields:', 'genesis-enews-extended' ); ?><br/>
229
  <label>
230
  <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'mailpoet-show-fname' ) ); ?>" value="1" <?php checked( isset( $instance['mailpoet-show-fname'] ) ); ?> />
231
- <?php _e( 'First Name', 'genesis-enews-extended' ); ?>
232
  </label>
233
  <label>
234
  <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'mailpoet-show-lname' ) ); ?>" value="1" <?php checked( isset( $instance['mailpoet-show-lname'] ) ); ?> />
235
- <?php _e( 'Last Name', 'genesis-enews-extended' ); ?>
236
  </label>
237
 
238
  </small>
239
 
240
  <p>
241
- <label for="<?php echo esc_attr( $this->get_field_id( 'mailpoet_check' ) ); ?>"><?php _e( 'Text Displayed If Confirmation Needed', 'genesis-enews-extended' ); ?>:</label><br />
242
- <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>
243
  </p>
244
  <p>
245
- <label for="<?php echo esc_attr( $this->get_field_id( 'mailpoet_subbed' ) ); ?>"><?php _e( 'Text Displayed If Subscribed', 'genesis-enews-extended' ); ?>:</label><br />
246
- <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>
247
  </p>
248
  </fieldset>
249
  </p>
250
  <hr style="background: #ccc; border: 0; height: 1px; margin: 20px 0;">
251
  <?php endif; ?>
252
  <p>
253
- <label for="<?php echo esc_attr( $this->get_field_id( 'id' ) ); ?>"><?php _e( 'Google/Feedburner ID', 'genesis-enews-extended' ); ?>:</label>
254
  <input type="text" id="<?php echo esc_attr( $this->get_field_id( 'id' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'id' ) ); ?>" value="<?php echo esc_attr( $instance['id'] ); ?>" class="widefat" /><br />
255
- <small><?php _e( 'Entering your Feedburner ID here will deactivate the custom options below.', 'genesis-enews-extended' ); ?></small>
256
  </p>
257
  <hr style="background-color: #ccc; border: 0; height: 1px; margin: 20px 0;">
258
  <p>
259
- <label for="<?php echo esc_attr( $this->get_field_id( 'action' ) ); ?>"><?php _e( 'Form Action', 'genesis-enews-extended' ); ?>:</label>
260
  <input type="text" id="<?php echo esc_attr( $this->get_field_id( 'action' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'action' ) ); ?>" value="<?php echo esc_attr( $instance['action'] ); ?>" class="widefat" />
261
  </p>
262
 
263
  <p>
264
- <label for="<?php echo esc_attr( $this->get_field_id( 'email-field' ) ); ?>"><?php _e( 'E-Mail Field', 'genesis-enews-extended' ); ?>:</label>
265
  <input type="text" id="<?php echo esc_attr( $this->get_field_id( 'email-field' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'email-field' ) ); ?>" value="<?php echo esc_attr( $instance['email-field'] ); ?>" class="widefat" />
266
  </p>
267
 
268
  <p>
269
- <label for="<?php echo esc_attr( $this->get_field_id( 'fname-field' ) ); ?>"><?php _e( 'First Name Field', 'genesis-enews-extended' ); ?>:</label>
270
  <input type="text" id="<?php echo esc_attr( $this->get_field_id( 'fname-field' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'fname-field' ) ); ?>" value="<?php echo esc_attr( $instance['fname-field'] ); ?>" class="widefat" />
271
  </p>
272
 
273
  <p>
274
- <label for="<?php echo esc_attr( $this->get_field_id( 'lname-field' ) ); ?>"><?php _e( 'Last Name Field', 'genesis-enews-extended' ); ?>:</label>
275
  <input type="text" id="<?php echo esc_attr( $this->get_field_id( 'lname-field' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'lname-field' ) ); ?>" value="<?php echo esc_attr( $instance['lname-field'] ); ?>" class="widefat" />
276
  </p>
277
 
278
  <p>
279
- <label for="<?php echo esc_attr( $this->get_field_id( 'hidden_fields' ) ); ?>"><?php _e( 'Hidden Fields', 'genesis-enews-extended' ); ?>:</label>
280
  <textarea id="<?php echo esc_attr( $this->get_field_id( 'hidden_fields' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'hidden_fields' ) ); ?>" class="widefat"><?php echo esc_attr( $instance['hidden_fields'] ); ?></textarea>
281
- <br><small><?php _e( 'Not all services use hidden fields.', 'genesis-enews-extended'); ?></small>
282
  </p>
283
 
284
  <p>
285
  <input id="<?php echo esc_attr( $this->get_field_id( 'open_same_window' ) ); ?>" type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'open_same_window' ) ); ?>" value="1" <?php checked( $instance['open_same_window'] ); ?>/>
286
- <label for="<?php echo esc_attr( $this->get_field_id( 'open_same_window' ) ); ?>"><?php _e( 'Open confirmation page in same window?', 'genesis-enews-extended' ); ?></label>
287
  </p>
288
  <hr style="background-color: #ccc; border: 0; height: 1px; margin: 20px 0;">
289
  <p>
290
  <?php $fname_text = empty( $instance['fname_text'] ) ? __( 'First Name', 'genesis-enews-extended' ) : $instance['fname_text']; ?>
291
- <label for="<?php echo esc_attr( $this->get_field_id( 'fname_text' ) ); ?>"><?php _e( 'First Name Input Text', 'genesis-enews-extended' ); ?>:</label>
292
  <input type="text" id="<?php echo esc_attr( $this->get_field_id( 'fname_text' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'fname_text' ) ); ?>" value="<?php echo esc_attr( $fname_text ); ?>" class="widefat" />
293
  </p>
294
  <p>
295
  <?php $lname_text = empty( $instance['lname_text'] ) ? __( 'Last Name', 'genesis-enews-extended' ) : $instance['lname_text']; ?>
296
- <label for="<?php echo esc_attr( $this->get_field_id( 'lname_text' ) ); ?>"><?php _e( 'Last Name Input Text', 'genesis-enews-extended' ); ?>:</label>
297
  <input type="text" id="<?php echo esc_attr( $this->get_field_id( 'lname_text' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'lname_text' ) ); ?>" value="<?php echo esc_attr( $lname_text ); ?>" class="widefat" />
298
  </p>
299
  <p>
300
  <?php $input_text = empty( $instance['input_text'] ) ? __( 'E-Mail Address', 'genesis-enews-extended' ) : $instance['input_text']; ?>
301
- <label for="<?php echo esc_attr( $this->get_field_id( 'input_text' ) ); ?>"><?php _e( 'E-Mail Input Text', 'genesis-enews-extended' ); ?>:</label>
302
  <input type="text" id="<?php echo esc_attr( $this->get_field_id( 'input_text' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'input_text' ) ); ?>" value="<?php echo esc_attr( $input_text ); ?>" class="widefat" />
303
  </p>
304
 
305
  <p>
306
  <?php $button_text = empty( $instance['button_text'] ) ? __( 'Go', 'genesis-enews-extended' ) : $instance['button_text']; ?>
307
- <label for="<?php echo esc_attr( $this->get_field_id( 'button_text' ) ); ?>"><?php _e( 'Button Text', 'genesis-enews-extended' ); ?>:</label>
308
  <input type="text" id="<?php echo esc_attr( $this->get_field_id( 'button_text' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'button_text' ) ); ?>" value="<?php echo esc_attr( $button_text ); ?>" class="widefat" />
309
  </p>
 
 
 
 
310
 
311
  <?php
312
  }
3
  * Genesis eNews Extended
4
  *
5
  * @package BJGK\Genesis_enews_extended
6
+ * @version 2.1.0
7
  * @author Brandon Kraft <public@brandonkraft.com>
8
+ * @link https://kraft.blog/genesis-enews-extended/
9
+ * @copyright Copyright (c) 2012-2018, Brandon Kraft
10
  * @license GPL-2.0+
11
  */
12
 
16
  * @package BJGK\Genesis_enews_extended
17
  * @author Brandon Kraft <public@brandonkraft.com>
18
  */
19
+ class BJGK_Genesis_ENews_Extended extends WP_Widget {
20
 
21
  /**
22
  * Holds widget settings defaults, populated in constructor.
30
  *
31
  * @since 0.1.0
32
  */
33
+ public 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
+ 'display_privacy' => 0,
50
+ 'mailpoet_check' => __( 'Check your inbox or spam folder now to confirm your subscription.', 'wysija-newsletters' ),
51
+ 'mailpoet_subbed' => __( "You've successfully subscribed.", 'wysija-newsletters' ),
52
  );
53
 
54
  $widget_ops = array(
62
  /**
63
  * Echo the widget content.
64
  *
65
+ * The WordPress.CSRF.NonceVerification sniff is disabled since we are dealing with intentionally logged-out submissions.
66
+ *
67
  * @since 0.1.0
68
  *
69
  * @param array $args Display arguments including before_title, after_title, before_widget, and after_widget.
70
  * @param array $instance The settings for the particular instance of the widget.
71
  */
72
+ public function widget( $args, $instance ) {
73
+ // phpcs:disable WordPress.CSRF.NonceVerification
74
+ $before_widget = $args['before_widget'];
75
+ $before_title = $args['before_title'];
76
+ $after_title = $args['after_title'];
77
+ $after_widget = $args['after_widget'];
78
+
79
+ // Merge with defaults.
80
  $instance = wp_parse_args( (array) $instance, $this->defaults );
81
+ $instance = apply_filters( 'genesis-enews-extended-args', $instance ); //phpcs:ignore WordPress.NamingConventions.ValidHookName
82
 
83
+ // Checks if MailPoet exists. If so, a check for form submission will take place.
84
+ if ( class_exists( 'WYSIJA' ) && isset( $_POST['submission-type'] ) && 'mailpoet' === $_POST['submission-type'] && ! empty( $instance['mailpoet-list'] ) ) { // Input var okay.
85
  $subscriber_data = array(
86
+ 'user' => array(
87
+ 'firstname' => isset( $_POST['mailpoet-firstname'] ) ? sanitize_title( wp_unslash( $_POST['mailpoet-firstname'] ) ) : '', // Input var okay.
88
+ 'lastname' => isset( $_POST['mailpoet-lastname'] ) ? sanitize_title( wp_unslash( $_POST['mailpoet-lastname'] ) ) : '', // Input var okay.
89
+ 'email' => isset( $_POST['mailpoet-email'] ) ? sanitize_email( wp_unslash( $_POST['mailpoet-email'] ) ) : '', // Input var okay.
90
  ),
91
  'user_list' => array(
92
+ 'list_ids' => array_values( $instance['mailpoet-list'] ),
93
  ),
94
  );
95
 
96
+ $mailpoet_subscriber_id = WYSIJA::get( 'user', 'helper' )->addSubscriber( $subscriber_data );
97
  }
98
 
99
+ // Set default fname_text, lname_text for backwards compat for installs upgraded from 0.1.6+ to 0.3.0+.
100
+ if ( empty( $instance['fname_text'] ) ) {
101
+ $instance['fname_text'] = 'First Name';
102
  }
103
+ if ( empty( $instance['lname_text'] ) ) {
104
+ $instance['lname_text'] = 'Last Name';
105
  }
106
 
107
  // Establishes current URL for MailPoet action fields.
108
+ $current_url = ( is_ssl() ? 'https://' : 'http://' ) . wp_unslash( $_SERVER['HTTP_HOST'] ) . wp_unslash( $_SERVER['REQUEST_URI'] ); // Input var okay; sanitization okay.
109
 
110
+ // We run KSES on update since we want to allow some HTML, so ignoring the ouput escape check.
111
+ echo $before_widget . '<div class="enews">'; // phpcs:ignore WordPress.XSS.EscapeOutput.OutputNotEscaped
112
 
113
+ if ( ! empty( $instance['title'] ) ) {
114
+ // We run KSES on update since we want to allow some HTML, so ignoring the ouput escape check.
115
+ echo $before_title . apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ) . $after_title; // phpcs:ignore WordPress.XSS.EscapeOutput.OutputNotEscaped
116
+ }
117
 
118
+ // We run KSES on update since we want to allow some HTML, so ignoring the ouput escape check.
119
+ echo wpautop( apply_filters( 'gee_text', $instance['text'] ) ); // phpcs:ignore WordPress.XSS.EscapeOutput.OutputNotEscaped
120
 
121
  if ( ! empty( $instance['id'] ) ) : ?>
122
+ <form id="subscribe-<?php echo esc_attr( $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 ); ?>">
123
+ <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"
124
+ <?php
125
+ if ( current_theme_supports( 'html5' ) ) :
126
+ ?>
127
+ required="required"<?php endif; ?> />
128
  <input type="hidden" name="uri" value="<?php echo esc_attr( $instance['id'] ); ?>" />
129
  <input type="hidden" name="loc" value="<?php echo esc_attr( get_locale() ); ?>" />
130
  <input type="submit" value="<?php echo esc_attr( $instance['button_text'] ); ?>" id="subbutton" />
131
  </form>
132
  <?php elseif ( ! empty( $instance['action'] ) ) : ?>
133
+ <form id="subscribe<?php echo esc_attr( $this->id ); ?>" action="<?php echo esc_attr( $instance['action'] ); ?>" method="post"
134
+ <?php
135
+ if ( 0 === $instance['open_same_window'] ) :
136
+ ?>
137
+ 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 ); ?>">
138
+ <?php
139
+ if ( ! empty( $instance['fname-field'] ) ) :
140
+ ?>
141
+ <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 ?>
142
+ <?php
143
+ if ( ! empty( $instance['lname-field'] ) ) :
144
+ ?>
145
+ <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="<?php echo esc_attr( $instance['lname-field'] ); ?>" /><?php endif ?>
146
+ <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'] ); ?>"
147
+ <?php
148
+ if ( current_theme_supports( 'html5' ) ) :
149
+ ?>
150
+ required="required"<?php endif; ?> />
151
+ <?php echo $instance['hidden_fields']; // phpcs:ignore ?>
152
  <input type="submit" value="<?php echo esc_attr( $instance['button_text'] ); ?>" id="subbutton" />
153
  </form>
154
+ <?php elseif ( ! empty( $instance['mailpoet-list'] ) && 'disabled' !== $instance['mailpoet-list'] ) : ?>
155
+ <form id="subscribe<?php echo esc_attr( $this->id ); ?>" action="<?php echo esc_attr( $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 ); ?>">
156
+ <?php
157
+ if ( ! empty( $mailpoet_subscriber_id ) && is_int( $mailpoet_subscriber_id ) ) :
158
+ // confirmation message phrasing depends on whether the user has to verify his subscription or not.
159
+ $mailpoet_needs_confirmation = WYSIJA::get( 'config', 'model' )->getValue( 'confirm_dbleoptin' ); // bool.
160
+ $success_message = $mailpoet_needs_confirmation ? $instance['mailpoet_check'] : $instance['mailpoet_subbed'];
161
  ?>
162
  <div class="mailpoet-message mailpoet-success <?php echo $mailpoet_needs_confirmation ? 'mailpoet-needs-confirmation' : 'mailpoet-confirmed'; ?>">
163
  <?php echo esc_html( $success_message ); ?>
164
  </div>
165
  <?php endif; ?>
166
+ <?php
167
+ if ( isset( $instance['mailpoet-show-fname'] ) ) :
168
+ ?>
169
+ <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 ?>
170
+ <?php
171
+ if ( isset( $instance['mailpoet-show-lname'] ) ) :
172
+ ?>
173
+ <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 ?>
174
+ <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"
175
+ <?php
176
+ if ( current_theme_supports( 'html5' ) ) :
177
+ ?>
178
+ required="required"<?php endif; ?> />
179
+ // We run KSES on update since we want to allow some HTML, so ignoring the ouput escape check.
180
+ <?php echo $instance['hidden_fields']; // phpcs:ignore ?>
181
  <input type="hidden" name="submission-type" value="mailpoet" />
182
  <input type="submit" value="<?php echo esc_attr( $instance['button_text'] ); ?>" id="subbutton" />
183
  </form>
184
+ <?php
185
+ endif;
186
+ if ( $instance['display_privacy'] && function_exists( 'the_privacy_policy_link' ) ) {
187
+ the_privacy_policy_link( '<small class="enews-privacy">', '</small>');
188
+
189
+ }
190
+ // We run KSES on update since we want to allow some HTML, so ignoring the ouput escape check.
191
+ echo wpautop( apply_filters( 'gee_after_text', $instance['after_text'] ) ); // phpcs:ignore WordPress.XSS.EscapeOutput.OutputNotEscaped
192
 
193
+ echo '</div>' . $after_widget; // phpcs:ignore WordPress.XSS.EscapeOutput.OutputNotEscaped
194
 
195
+ // phpcs:enable WordPress.CSRF.NonceVerification
196
  }
197
 
198
  /**
203
  * If false is returned, the instance won't be saved / updated.
204
  *
205
  * @since 0.1.0
206
+ * @since 2.0.3 Allow "a" tags in the Hidden Fields setting.
207
  *
208
  * @param array $new_instance New settings for this instance as input by the user via form().
209
  * @param array $old_instance Old settings for this instance.
210
  *
211
  * @return array Settings to save or bool false to cancel saving
212
  */
213
+ public function update( $new_instance, $old_instance ) {
214
+ $new_instance['title'] = strip_tags( $new_instance['title'], '<i>' );
215
+ $new_instance['text'] = wp_kses_post( $new_instance['text'] );
216
+ $new_instance['hidden_fields'] = strip_tags( $new_instance['hidden_fields'], '<a>, <div>, <fieldset>, <input>, <label>, <legend>, <option>, <optgroup>, <select>, <textarea>' );
217
+ $new_instance['after_text'] = wp_kses_post( $new_instance['after_text'] );
218
+ $new_instance['id'] = str_replace( 'http://feeds.feedburner.com/', '', $new_instance['id'] );
219
+ $new_instance['display_privacy'] = ( isset( $new_instance['display_privacy'] ) ) ? (int) $new_instance['display_privacy'] : 0;
220
+
221
  if ( isset( $new_instance['mailpoet_check'] ) ) {
222
+ $new_instance['mailpoet_check'] = wp_kses_post( $new_instance['mailpoet_check'] );
223
  }
224
 
225
  if ( isset( $new_instance['mailpoet_subbed'] ) ) {
226
+ $new_instance['mailpoet_subbed'] = wp_kses_post( $new_instance['mailpoet_subbed'] );
227
  }
228
 
229
  return $new_instance;
236
  *
237
  * @param array $instance Current settings.
238
  */
239
+ public function form( $instance ) {
240
+ // Merge with defaults.
241
  $instance = wp_parse_args( (array) $instance, $this->defaults );
242
  ?>
243
  <p>
244
+ <label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php esc_html_e( 'Title', 'genesis-enews-extended' ); ?>:</label><br />
245
  <input type="text" id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" value="<?php echo esc_attr( $instance['title'] ); ?>" class="widefat" />
246
  </p>
247
 
248
  <p>
249
+ <label for="<?php echo esc_attr( $this->get_field_id( 'text' ) ); ?>"><?php esc_html_e( 'Text To Show Before Form', 'genesis-enews-extended' ); ?>:</label><br />
250
+ <textarea id="<?php echo esc_attr( $this->get_field_id( 'text' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'text' ) ); ?>" class="widefat" rows="6" cols="4"><?php echo esc_html( $instance['text'] ); ?></textarea>
251
  </p>
252
  <p>
253
+ <label for="<?php echo esc_attr( $this->get_field_id( 'after_text' ) ); ?>"><?php esc_html_e( 'Text To Show After Form', 'genesis-enews-extended' ); ?>:</label><br />
254
+ <textarea id="<?php echo esc_attr( $this->get_field_id( 'after_text' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'after_text' ) ); ?>" class="widefat" rows="6" cols="4"><?php echo esc_html( $instance['after_text'] ); ?></textarea>
255
  </p>
256
 
257
  <hr style="background-color: #ccc; border: 0; height: 1px; margin: 20px 0;">
258
+ <?php
259
+ if ( class_exists( 'WYSIJA' ) ) :
260
+ $mp_model_list = WYSIJA::get( 'list', 'model' );
261
+ $mp_lists = $mp_model_list->get(
262
+ array( 'name', 'list_id' ), array(
263
+ 'is_enabled' => 1,
264
+ )
265
+ );
266
  ?>
267
  <p>
268
+ <label for="<?php echo esc_attr( $this->get_field_id( 'mailpoet-list' ) ); ?>"><?php esc_html_e( 'MailPoet List', 'genesis-enews-extended' ); ?>:</label>
269
  <fieldset>
270
  <ul>
271
  <?php foreach ( $mp_lists as $mp_list ) : ?>
272
  <li>
273
  <label>
274
+ <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'mailpoet-list' ) ); ?>[]" value="<?php echo esc_attr( $mp_list['list_id'] ); ?>"
275
+ <?php
276
+ if ( isset( $instance['mailpoet-list'] ) ) {
277
+ checked( in_array( $mp_list['list_id'], (array) $instance['mailpoet-list'], true ) ); }
278
+ ?>
279
+ />
280
  <?php echo esc_html( $mp_list['name'] ); ?>
281
  </label>
282
  </li>
284
  </ul>
285
 
286
  <small>
287
+ <?php esc_html_e( 'Show Fields:', 'genesis-enews-extended' ); ?><br/>
288
  <label>
289
  <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'mailpoet-show-fname' ) ); ?>" value="1" <?php checked( isset( $instance['mailpoet-show-fname'] ) ); ?> />
290
+ <?php esc_html_e( 'First Name', 'genesis-enews-extended' ); ?>
291
  </label>
292
  <label>
293
  <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'mailpoet-show-lname' ) ); ?>" value="1" <?php checked( isset( $instance['mailpoet-show-lname'] ) ); ?> />
294
+ <?php esc_html_e( 'Last Name', 'genesis-enews-extended' ); ?>
295
  </label>
296
 
297
  </small>
298
 
299
  <p>
300
+ <label for="<?php echo esc_attr( $this->get_field_id( 'mailpoet_check' ) ); ?>"><?php esc_html_e( 'Text Displayed If Confirmation Needed', 'genesis-enews-extended' ); ?>:</label><br />
301
+ <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 esc_html( $instance['mailpoet_check'] ); ?></textarea>
302
  </p>
303
  <p>
304
+ <label for="<?php echo esc_attr( $this->get_field_id( 'mailpoet_subbed' ) ); ?>"><?php esc_html_e( 'Text Displayed If Subscribed', 'genesis-enews-extended' ); ?>:</label><br />
305
+ <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 esc_html( $instance['mailpoet_subbed'] ); ?></textarea>
306
  </p>
307
  </fieldset>
308
  </p>
309
  <hr style="background: #ccc; border: 0; height: 1px; margin: 20px 0;">
310
  <?php endif; ?>
311
  <p>
312
+ <label for="<?php echo esc_attr( $this->get_field_id( 'id' ) ); ?>"><?php esc_html_e( 'Google/Feedburner ID', 'genesis-enews-extended' ); ?>:</label>
313
  <input type="text" id="<?php echo esc_attr( $this->get_field_id( 'id' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'id' ) ); ?>" value="<?php echo esc_attr( $instance['id'] ); ?>" class="widefat" /><br />
314
+ <small><?php esc_html_e( 'Entering your Feedburner ID here will deactivate the custom options below.', 'genesis-enews-extended' ); ?></small>
315
  </p>
316
  <hr style="background-color: #ccc; border: 0; height: 1px; margin: 20px 0;">
317
  <p>
318
+ <label for="<?php echo esc_attr( $this->get_field_id( 'action' ) ); ?>"><?php esc_html_e( 'Form Action', 'genesis-enews-extended' ); ?>:</label>
319
  <input type="text" id="<?php echo esc_attr( $this->get_field_id( 'action' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'action' ) ); ?>" value="<?php echo esc_attr( $instance['action'] ); ?>" class="widefat" />
320
  </p>
321
 
322
  <p>
323
+ <label for="<?php echo esc_attr( $this->get_field_id( 'email-field' ) ); ?>"><?php esc_html_e( 'E-Mail Field', 'genesis-enews-extended' ); ?>:</label>
324
  <input type="text" id="<?php echo esc_attr( $this->get_field_id( 'email-field' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'email-field' ) ); ?>" value="<?php echo esc_attr( $instance['email-field'] ); ?>" class="widefat" />
325
  </p>
326
 
327
  <p>
328
+ <label for="<?php echo esc_attr( $this->get_field_id( 'fname-field' ) ); ?>"><?php esc_html_e( 'First Name Field', 'genesis-enews-extended' ); ?>:</label>
329
  <input type="text" id="<?php echo esc_attr( $this->get_field_id( 'fname-field' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'fname-field' ) ); ?>" value="<?php echo esc_attr( $instance['fname-field'] ); ?>" class="widefat" />
330
  </p>
331
 
332
  <p>
333
+ <label for="<?php echo esc_attr( $this->get_field_id( 'lname-field' ) ); ?>"><?php esc_html_e( 'Last Name Field', 'genesis-enews-extended' ); ?>:</label>
334
  <input type="text" id="<?php echo esc_attr( $this->get_field_id( 'lname-field' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'lname-field' ) ); ?>" value="<?php echo esc_attr( $instance['lname-field'] ); ?>" class="widefat" />
335
  </p>
336
 
337
  <p>
338
+ <label for="<?php echo esc_attr( $this->get_field_id( 'hidden_fields' ) ); ?>"><?php esc_html_e( 'Hidden Fields', 'genesis-enews-extended' ); ?>:</label>
339
  <textarea id="<?php echo esc_attr( $this->get_field_id( 'hidden_fields' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'hidden_fields' ) ); ?>" class="widefat"><?php echo esc_attr( $instance['hidden_fields'] ); ?></textarea>
340
+ <br><small><?php esc_html_e( 'Not all services use hidden fields.', 'genesis-enews-extended' ); ?></small>
341
  </p>
342
 
343
  <p>
344
  <input id="<?php echo esc_attr( $this->get_field_id( 'open_same_window' ) ); ?>" type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'open_same_window' ) ); ?>" value="1" <?php checked( $instance['open_same_window'] ); ?>/>
345
+ <label for="<?php echo esc_attr( $this->get_field_id( 'open_same_window' ) ); ?>"><?php esc_html_e( 'Open confirmation page in same window?', 'genesis-enews-extended' ); ?></label>
346
  </p>
347
  <hr style="background-color: #ccc; border: 0; height: 1px; margin: 20px 0;">
348
  <p>
349
  <?php $fname_text = empty( $instance['fname_text'] ) ? __( 'First Name', 'genesis-enews-extended' ) : $instance['fname_text']; ?>
350
+ <label for="<?php echo esc_attr( $this->get_field_id( 'fname_text' ) ); ?>"><?php esc_html_e( 'First Name Input Text', 'genesis-enews-extended' ); ?>:</label>
351
  <input type="text" id="<?php echo esc_attr( $this->get_field_id( 'fname_text' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'fname_text' ) ); ?>" value="<?php echo esc_attr( $fname_text ); ?>" class="widefat" />
352
  </p>
353
  <p>
354
  <?php $lname_text = empty( $instance['lname_text'] ) ? __( 'Last Name', 'genesis-enews-extended' ) : $instance['lname_text']; ?>
355
+ <label for="<?php echo esc_attr( $this->get_field_id( 'lname_text' ) ); ?>"><?php esc_html_e( 'Last Name Input Text', 'genesis-enews-extended' ); ?>:</label>
356
  <input type="text" id="<?php echo esc_attr( $this->get_field_id( 'lname_text' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'lname_text' ) ); ?>" value="<?php echo esc_attr( $lname_text ); ?>" class="widefat" />
357
  </p>
358
  <p>
359
  <?php $input_text = empty( $instance['input_text'] ) ? __( 'E-Mail Address', 'genesis-enews-extended' ) : $instance['input_text']; ?>
360
+ <label for="<?php echo esc_attr( $this->get_field_id( 'input_text' ) ); ?>"><?php esc_html_e( 'E-Mail Input Text', 'genesis-enews-extended' ); ?>:</label>
361
  <input type="text" id="<?php echo esc_attr( $this->get_field_id( 'input_text' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'input_text' ) ); ?>" value="<?php echo esc_attr( $input_text ); ?>" class="widefat" />
362
  </p>
363
 
364
  <p>
365
  <?php $button_text = empty( $instance['button_text'] ) ? __( 'Go', 'genesis-enews-extended' ) : $instance['button_text']; ?>
366
+ <label for="<?php echo esc_attr( $this->get_field_id( 'button_text' ) ); ?>"><?php esc_html_e( 'Button Text', 'genesis-enews-extended' ); ?>:</label>
367
  <input type="text" id="<?php echo esc_attr( $this->get_field_id( 'button_text' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'button_text' ) ); ?>" value="<?php echo esc_attr( $button_text ); ?>" class="widefat" />
368
  </p>
369
+ <p>
370
+ <input id="<?php echo esc_attr( $this->get_field_id( 'display_privacy' ) ); ?>" type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'display_privacy' ) ); ?>" value="1" <?php checked( $instance['display_privacy'] ); ?>/>
371
+ <label for="<?php echo esc_attr( $this->get_field_id( 'display_privacy' ) ); ?>"><?php _e( 'Display link to privacy policy?', 'genesis-enews-extended' ); ?></label>
372
+ </p>
373
 
374
  <?php
375
  }
index.php CHANGED
@@ -1,2 +1,13 @@
1
  <?php
2
- /* Shh... I'm sleeping here. */
 
 
 
 
 
 
 
 
 
 
 
1
  <?php
2
+ /**
3
+ * Genesis eNews Extended
4
+ *
5
+ * @package BJGK\Genesis_enews_extended
6
+ * @version 2.0.2
7
+ * @author Brandon Kraft <public@brandonkraft.com>
8
+ * @link https://kraft.im/genesis-enews-extended/
9
+ * @copyright Copyright (c) 2012-2016, Brandon Kraft
10
+ * @license GPL-2.0+
11
+ */
12
+
13
+ /* Shh... I'm sleeping here. */
languages/genesis-enews-extended-da_DK.mo DELETED
Binary file
languages/genesis-enews-extended-da_DK.po DELETED
@@ -1,148 +0,0 @@
1
- # Translation of Genesis 1.8 in Danish
2
- # This file is distributed under the same license as the Genesis 1.8 package.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: Genesis eNews Extended\n"
6
- "Report-Msgid-Bugs-To: http://wordpress.org/tag/genesis-enews-extended\n"
7
- "POT-Creation-Date: 2014-01-09 20:12:54+00:00\n"
8
- "PO-Revision-Date: 2014-01-14 08:59-0600\n"
9
- "Last-Translator: Brandon Kraft <public@brandonkraft.com>\n"
10
- "Language-Team: \n"
11
- "Language: da_DK\n"
12
- "MIME-Version: 1.0\n"
13
- "Content-Type: text/plain; charset=UTF-8\n"
14
- "Content-Transfer-Encoding: 8bit\n"
15
- "Plural-Forms: nplurals=2; plural=n != 1;\n"
16
- "X-Generator: Poedit 1.6.3\n"
17
- "X-Poedit-KeywordsList: __;_e\n"
18
- "X-Poedit-Basepath: .\n"
19
- "X-Poedit-SearchPath-0: ..\n"
20
-
21
- #: class-bjgk-genesis-enews-extended.php:53
22
- #, fuzzy
23
- msgid "Displays subscribe form"
24
- msgstr "Vis Feedburners e-mail abonnements formular"
25
-
26
- #: class-bjgk-genesis-enews-extended.php:56
27
- #, fuzzy
28
- msgid "Genesis - eNews Extended"
29
- msgstr "Genesis - eNews og Updates"
30
-
31
- #: class-bjgk-genesis-enews-extended.php:127
32
- msgid "Check your inbox now to confirm your subscription."
33
- msgstr ""
34
-
35
- #: class-bjgk-genesis-enews-extended.php:127
36
- msgid "You've successfully subscribed."
37
- msgstr ""
38
-
39
- #: class-bjgk-genesis-enews-extended.php:182
40
- msgid "Title"
41
- msgstr "Titel"
42
-
43
- #: class-bjgk-genesis-enews-extended.php:187
44
- #, fuzzy
45
- msgid "Text To Show Before Form"
46
- msgstr "Knappens tekst"
47
-
48
- #: class-bjgk-genesis-enews-extended.php:191
49
- #, fuzzy
50
- msgid "Text To Show After Form"
51
- msgstr "Knappens tekst"
52
-
53
- #: class-bjgk-genesis-enews-extended.php:197
54
- msgid "MailPoet List"
55
- msgstr ""
56
-
57
- #: class-bjgk-genesis-enews-extended.php:217
58
- msgid "Show Fields:"
59
- msgstr ""
60
-
61
- #: class-bjgk-genesis-enews-extended.php:220
62
- #: class-bjgk-genesis-enews-extended.php:275
63
- #, fuzzy
64
- msgid "First Name"
65
- msgstr "Input tekst"
66
-
67
- #: class-bjgk-genesis-enews-extended.php:224
68
- #: class-bjgk-genesis-enews-extended.php:280
69
- #, fuzzy
70
- msgid "Last Name"
71
- msgstr "Input tekst"
72
-
73
- #: class-bjgk-genesis-enews-extended.php:232
74
- msgid ""
75
- "MailPoet is not currently activated. Genesis eNews Extended works with "
76
- "MailPoet, a free newsletter plugin. See <a href='%s' "
77
- "target='blank'>MailPoet's plugin page on WordPress.org</a>"
78
- msgstr ""
79
-
80
- #: class-bjgk-genesis-enews-extended.php:238
81
- msgid "Google/Feedburner ID"
82
- msgstr "Google/Feedburner ID"
83
-
84
- #: class-bjgk-genesis-enews-extended.php:240
85
- #, fuzzy
86
- msgid ""
87
- "Entering your Feedburner ID here will deactivate the custom options below."
88
- msgstr "Google/Feedburner ID"
89
-
90
- #: class-bjgk-genesis-enews-extended.php:244
91
- #, fuzzy
92
- msgid "Form Action"
93
- msgstr "Information"
94
-
95
- #: class-bjgk-genesis-enews-extended.php:249
96
- msgid "E-Mail Field"
97
- msgstr ""
98
-
99
- #: class-bjgk-genesis-enews-extended.php:254
100
- msgid "First Name Field"
101
- msgstr ""
102
-
103
- #: class-bjgk-genesis-enews-extended.php:259
104
- msgid "Last Name Field"
105
- msgstr ""
106
-
107
- #: class-bjgk-genesis-enews-extended.php:264
108
- msgid "Hidden Fields"
109
- msgstr ""
110
-
111
- #: class-bjgk-genesis-enews-extended.php:266
112
- msgid "Not all services use hidden fields."
113
- msgstr ""
114
-
115
- #: class-bjgk-genesis-enews-extended.php:271
116
- msgid "Open confirmation page in same window?"
117
- msgstr ""
118
-
119
- #: class-bjgk-genesis-enews-extended.php:276
120
- #, fuzzy
121
- msgid "First Name Input Text"
122
- msgstr "Knappens tekst"
123
-
124
- #: class-bjgk-genesis-enews-extended.php:281
125
- #, fuzzy
126
- msgid "Last Name Input Text"
127
- msgstr "Knappens tekst"
128
-
129
- #: class-bjgk-genesis-enews-extended.php:285
130
- #, fuzzy
131
- msgid "E-Mail Address"
132
- msgstr "Skriv din e-mail-adresse ..."
133
-
134
- #: class-bjgk-genesis-enews-extended.php:286
135
- #, fuzzy
136
- msgid "E-Mail Input Text"
137
- msgstr "Knappens tekst"
138
-
139
- #: class-bjgk-genesis-enews-extended.php:291
140
- msgid "Go"
141
- msgstr "Send"
142
-
143
- #: class-bjgk-genesis-enews-extended.php:292
144
- msgid "Button Text"
145
- msgstr "Knappens tekst"
146
-
147
- #~ msgid "Enter your email address..."
148
- #~ msgstr "Skriv din e-mail-adresse ..."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
languages/genesis-enews-extended-fr_FR.mo DELETED
Binary file
languages/genesis-enews-extended-fr_FR.po DELETED
@@ -1,170 +0,0 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: Genesis eNews Extended v1.1.1\n"
4
- "Report-Msgid-Bugs-To: http://wordpress.org/tag/genesis-enews-extended\n"
5
- "POT-Creation-Date: 2014-01-09 20:12:54+00:00\n"
6
- "PO-Revision-Date: 2014-01-14 08:50-0600\n"
7
- "Last-Translator: Brandon Kraft <public@brandonkraft.com>\n"
8
- "Language-Team: \n"
9
- "Language: fr_FR\n"
10
- "MIME-Version: 1.0\n"
11
- "Content-Type: text/plain; charset=UTF-8\n"
12
- "Content-Transfer-Encoding: 8bit\n"
13
- "Plural-Forms: nplurals=2; plural=n>1;\n"
14
- "X-Generator: Poedit 1.6.3\n"
15
- "X-Poedit-SourceCharset: utf-8\n"
16
- "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;"
17
- "_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2\n"
18
- "X-Poedit-Basepath: .\n"
19
- "X-Textdomain-Support: yes\n"
20
- "X-Poedit-SearchPath-0: ..\n"
21
-
22
- # @ genesis-enews-extended
23
- #: class-bjgk-genesis-enews-extended.php:53
24
- #, fuzzy
25
- msgid "Displays subscribe form"
26
- msgstr "Affiche le formulaire d'abonnement"
27
-
28
- # @ genesis-enews-extended
29
- #: class-bjgk-genesis-enews-extended.php:56
30
- #, fuzzy
31
- msgid "Genesis - eNews Extended"
32
- msgstr "Genesis - eNews Extended"
33
-
34
- #: class-bjgk-genesis-enews-extended.php:127
35
- msgid "Check your inbox now to confirm your subscription."
36
- msgstr ""
37
-
38
- #: class-bjgk-genesis-enews-extended.php:127
39
- msgid "You've successfully subscribed."
40
- msgstr ""
41
-
42
- # @ genesis-enews-extended
43
- #: class-bjgk-genesis-enews-extended.php:182
44
- msgid "Title"
45
- msgstr "Titre"
46
-
47
- # @ genesis-enews-extended
48
- #: class-bjgk-genesis-enews-extended.php:187
49
- #, fuzzy
50
- msgid "Text To Show Before Form"
51
- msgstr "Texte du bouton"
52
-
53
- # @ genesis-enews-extended
54
- #: class-bjgk-genesis-enews-extended.php:191
55
- #, fuzzy
56
- msgid "Text To Show After Form"
57
- msgstr "Texte du bouton"
58
-
59
- #: class-bjgk-genesis-enews-extended.php:197
60
- msgid "MailPoet List"
61
- msgstr ""
62
-
63
- #: class-bjgk-genesis-enews-extended.php:217
64
- #, fuzzy
65
- msgid "Show Fields:"
66
- msgstr "Champs cachés"
67
-
68
- # @ genesis-enews-extended
69
- #: class-bjgk-genesis-enews-extended.php:220
70
- #: class-bjgk-genesis-enews-extended.php:275
71
- #, fuzzy
72
- msgid "First Name"
73
- msgstr "Prénom..."
74
-
75
- # @ genesis-enews-extended
76
- #: class-bjgk-genesis-enews-extended.php:224
77
- #: class-bjgk-genesis-enews-extended.php:280
78
- #, fuzzy
79
- msgid "Last Name"
80
- msgstr "Nom de famille..."
81
-
82
- #: class-bjgk-genesis-enews-extended.php:232
83
- msgid ""
84
- "MailPoet is not currently activated. Genesis eNews Extended works with "
85
- "MailPoet, a free newsletter plugin. See <a href='%s' "
86
- "target='blank'>MailPoet's plugin page on WordPress.org</a>"
87
- msgstr ""
88
-
89
- # @ genesis-enews-extended
90
- #: class-bjgk-genesis-enews-extended.php:238
91
- msgid "Google/Feedburner ID"
92
- msgstr "Identifiant Google/Feedburner"
93
-
94
- # @ genesis-enews-extended
95
- #: class-bjgk-genesis-enews-extended.php:240
96
- msgid ""
97
- "Entering your Feedburner ID here will deactivate the custom options below."
98
- msgstr ""
99
- "Si vous entrez votre ID Feedburner ici, cela aura pour effet de désactiver "
100
- "les paramètres avancés ci-dessous."
101
-
102
- # @ genesis-enews-extended
103
- #: class-bjgk-genesis-enews-extended.php:244
104
- #, fuzzy
105
- msgid "Form Action"
106
- msgstr "Action du formulaire"
107
-
108
- # @ genesis-enews-extended
109
- #: class-bjgk-genesis-enews-extended.php:249
110
- msgid "E-Mail Field"
111
- msgstr "Champ courriel"
112
-
113
- # @ genesis-enews-extended
114
- #: class-bjgk-genesis-enews-extended.php:254
115
- msgid "First Name Field"
116
- msgstr "Champ Prénom"
117
-
118
- # @ genesis-enews-extended
119
- #: class-bjgk-genesis-enews-extended.php:259
120
- msgid "Last Name Field"
121
- msgstr "Champ Nom de Famille"
122
-
123
- # @ genesis-enews-extended
124
- #: class-bjgk-genesis-enews-extended.php:264
125
- msgid "Hidden Fields"
126
- msgstr "Champs cachés"
127
-
128
- # @ genesis-enews-extended
129
- #: class-bjgk-genesis-enews-extended.php:266
130
- msgid "Not all services use hidden fields."
131
- msgstr "Tous les services ne font pas usage des champs cachés"
132
-
133
- # @ genesis-enews-extended
134
- #: class-bjgk-genesis-enews-extended.php:271
135
- msgid "Open confirmation page in same window?"
136
- msgstr "Afficher la page de confirmation dans la même fenêtre ?"
137
-
138
- # @ genesis-enews-extended
139
- #: class-bjgk-genesis-enews-extended.php:276
140
- #, fuzzy
141
- msgid "First Name Input Text"
142
- msgstr "Prénom..."
143
-
144
- # @ genesis-enews-extended
145
- #: class-bjgk-genesis-enews-extended.php:281
146
- #, fuzzy
147
- msgid "Last Name Input Text"
148
- msgstr "Nom de famille..."
149
-
150
- # @ genesis-enews-extended
151
- #: class-bjgk-genesis-enews-extended.php:285
152
- #, fuzzy
153
- msgid "E-Mail Address"
154
- msgstr "Champ courriel"
155
-
156
- # @ genesis-enews-extended
157
- #: class-bjgk-genesis-enews-extended.php:286
158
- #, fuzzy
159
- msgid "E-Mail Input Text"
160
- msgstr "Champ courriel"
161
-
162
- # @ genesis-enews-extended
163
- #: class-bjgk-genesis-enews-extended.php:291
164
- msgid "Go"
165
- msgstr "Envoyer"
166
-
167
- # @ genesis-enews-extended
168
- #: class-bjgk-genesis-enews-extended.php:292
169
- msgid "Button Text"
170
- msgstr "Texte du bouton"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
languages/genesis-enews-extended-it_IT.mo DELETED
Binary file
languages/genesis-enews-extended-it_IT.po DELETED
@@ -1,147 +0,0 @@
1
- # Copyright (C) 2013
2
- # This file is distributed under the same license as the package.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: Genesis eNews Extended\n"
6
- "Report-Msgid-Bugs-To: http://wordpress.org/tag/genesis-enews-extended\n"
7
- "POT-Creation-Date: 2014-01-09 20:12:54+00:00\n"
8
- "PO-Revision-Date: 2014-01-14 08:49-0600\n"
9
- "Last-Translator: Brandon Kraft <public@brandonkraft.com>\n"
10
- "Language-Team: \n"
11
- "Language: it_IT\n"
12
- "MIME-Version: 1.0\n"
13
- "Content-Type: text/plain; charset=UTF-8\n"
14
- "Content-Transfer-Encoding: 8bit\n"
15
- "X-Generator: Poedit 1.6.3\n"
16
- "X-Poedit-KeywordsList: __;_e\n"
17
- "X-Poedit-Basepath: .\n"
18
- "X-Poedit-SearchPath-0: ..\n"
19
-
20
- #: class-bjgk-genesis-enews-extended.php:53
21
- msgid "Displays subscribe form"
22
- msgstr "Mostra il modulo d'iscrizione"
23
-
24
- #: class-bjgk-genesis-enews-extended.php:56
25
- msgid "Genesis - eNews Extended"
26
- msgstr "Genesis - eNews Extended"
27
-
28
- #: class-bjgk-genesis-enews-extended.php:127
29
- msgid "Check your inbox now to confirm your subscription."
30
- msgstr ""
31
-
32
- #: class-bjgk-genesis-enews-extended.php:127
33
- msgid "You've successfully subscribed."
34
- msgstr ""
35
-
36
- #: class-bjgk-genesis-enews-extended.php:182
37
- msgid "Title"
38
- msgstr "Titolo"
39
-
40
- #: class-bjgk-genesis-enews-extended.php:187
41
- #, fuzzy
42
- msgid "Text To Show Before Form"
43
- msgstr "Azione del modulo"
44
-
45
- #: class-bjgk-genesis-enews-extended.php:191
46
- #, fuzzy
47
- msgid "Text To Show After Form"
48
- msgstr "Azione del modulo"
49
-
50
- #: class-bjgk-genesis-enews-extended.php:197
51
- msgid "MailPoet List"
52
- msgstr ""
53
-
54
- #: class-bjgk-genesis-enews-extended.php:217
55
- #, fuzzy
56
- msgid "Show Fields:"
57
- msgstr "Campi nascosti"
58
-
59
- #: class-bjgk-genesis-enews-extended.php:220
60
- #: class-bjgk-genesis-enews-extended.php:275
61
- #, fuzzy
62
- msgid "First Name"
63
- msgstr "Nome…"
64
-
65
- #: class-bjgk-genesis-enews-extended.php:224
66
- #: class-bjgk-genesis-enews-extended.php:280
67
- #, fuzzy
68
- msgid "Last Name"
69
- msgstr "Cognome…"
70
-
71
- #: class-bjgk-genesis-enews-extended.php:232
72
- msgid ""
73
- "MailPoet is not currently activated. Genesis eNews Extended works with "
74
- "MailPoet, a free newsletter plugin. See <a href='%s' "
75
- "target='blank'>MailPoet's plugin page on WordPress.org</a>"
76
- msgstr ""
77
-
78
- #: class-bjgk-genesis-enews-extended.php:238
79
- msgid "Google/Feedburner ID"
80
- msgstr "Google/Feedburner ID"
81
-
82
- #: class-bjgk-genesis-enews-extended.php:240
83
- msgid ""
84
- "Entering your Feedburner ID here will deactivate the custom options below."
85
- msgstr "Linserimento del Feedburner ID disattiverà le opzioni non necessarie."
86
-
87
- #: class-bjgk-genesis-enews-extended.php:244
88
- msgid "Form Action"
89
- msgstr "Azione del modulo"
90
-
91
- #: class-bjgk-genesis-enews-extended.php:249
92
- msgid "E-Mail Field"
93
- msgstr "Campo E-Mail"
94
-
95
- #: class-bjgk-genesis-enews-extended.php:254
96
- msgid "First Name Field"
97
- msgstr "Campo Nome"
98
-
99
- #: class-bjgk-genesis-enews-extended.php:259
100
- msgid "Last Name Field"
101
- msgstr "Campo Cognome"
102
-
103
- #: class-bjgk-genesis-enews-extended.php:264
104
- msgid "Hidden Fields"
105
- msgstr "Campi nascosti"
106
-
107
- #: class-bjgk-genesis-enews-extended.php:266
108
- msgid "Not all services use hidden fields."
109
- msgstr "Non tutti i servizi utilizzano i campi nascosti."
110
-
111
- #: class-bjgk-genesis-enews-extended.php:271
112
- msgid "Open confirmation page in same window?"
113
- msgstr "Apri la pagina di conferma nella stessa finestra?"
114
-
115
- #: class-bjgk-genesis-enews-extended.php:276
116
- msgid "First Name Input Text"
117
- msgstr "Nome di testo di input"
118
-
119
- #: class-bjgk-genesis-enews-extended.php:281
120
- msgid "Last Name Input Text"
121
- msgstr "Cognome di testo di input"
122
-
123
- #: class-bjgk-genesis-enews-extended.php:285
124
- #, fuzzy
125
- msgid "E-Mail Address"
126
- msgstr "Campo E-Mail"
127
-
128
- #: class-bjgk-genesis-enews-extended.php:286
129
- msgid "E-Mail Input Text"
130
- msgstr "E-Mail di testo di input"
131
-
132
- #: class-bjgk-genesis-enews-extended.php:291
133
- msgid "Go"
134
- msgstr "Vai"
135
-
136
- #: class-bjgk-genesis-enews-extended.php:292
137
- msgid "Button Text"
138
- msgstr "Testo del bottone"
139
-
140
- #~ msgid "First Name..."
141
- #~ msgstr "Nome…"
142
-
143
- #~ msgid "Last Name..."
144
- #~ msgstr "Cognome…"
145
-
146
- #~ msgid "Enter your email address..."
147
- #~ msgstr "Inserisci il tuo indirizzo email…"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
languages/genesis-enews-extended-nl_NL.mo DELETED
Binary file
languages/genesis-enews-extended-nl_NL.po DELETED
@@ -1,141 +0,0 @@
1
- # Translation of Genesis 1.9 in Dutch
2
- # This file is distributed under the same license as the Genesis 1.9 package.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: Genesis eNews Extended\n"
6
- "Report-Msgid-Bugs-To: http://wordpress.org/tag/genesis-enews-extended\n"
7
- "POT-Creation-Date: 2014-01-09 20:12:54+00:00\n"
8
- "PO-Revision-Date: 2014-01-14 08:48-0600\n"
9
- "Last-Translator: Brandon Kraft <public@brandonkraft.com>\n"
10
- "Language-Team: \n"
11
- "Language: nl_NL\n"
12
- "MIME-Version: 1.0\n"
13
- "Content-Type: text/plain; charset=UTF-8\n"
14
- "Content-Transfer-Encoding: 8bit\n"
15
- "Plural-Forms: nplurals=2; plural=n != 1;\n"
16
- "X-Generator: Poedit 1.6.3\n"
17
- "X-Poedit-KeywordsList: __;_e\n"
18
- "X-Poedit-Basepath: .\n"
19
- "X-Poedit-SearchPath-0: ..\n"
20
-
21
- #: class-bjgk-genesis-enews-extended.php:53
22
- #, fuzzy
23
- msgid "Displays subscribe form"
24
- msgstr "Toon Feedburner e-mail inschrijf formulier"
25
-
26
- #: class-bjgk-genesis-enews-extended.php:56
27
- #, fuzzy
28
- msgid "Genesis - eNews Extended"
29
- msgstr "Genesis - ENews en Updates"
30
-
31
- #: class-bjgk-genesis-enews-extended.php:127
32
- msgid "Check your inbox now to confirm your subscription."
33
- msgstr ""
34
-
35
- #: class-bjgk-genesis-enews-extended.php:127
36
- msgid "You've successfully subscribed."
37
- msgstr ""
38
-
39
- #: class-bjgk-genesis-enews-extended.php:182
40
- msgid "Title"
41
- msgstr "Titel"
42
-
43
- #: class-bjgk-genesis-enews-extended.php:187
44
- msgid "Text To Show Before Form"
45
- msgstr ""
46
-
47
- #: class-bjgk-genesis-enews-extended.php:191
48
- msgid "Text To Show After Form"
49
- msgstr ""
50
-
51
- #: class-bjgk-genesis-enews-extended.php:197
52
- msgid "MailPoet List"
53
- msgstr ""
54
-
55
- #: class-bjgk-genesis-enews-extended.php:217
56
- msgid "Show Fields:"
57
- msgstr ""
58
-
59
- #: class-bjgk-genesis-enews-extended.php:220
60
- #: class-bjgk-genesis-enews-extended.php:275
61
- msgid "First Name"
62
- msgstr ""
63
-
64
- #: class-bjgk-genesis-enews-extended.php:224
65
- #: class-bjgk-genesis-enews-extended.php:280
66
- msgid "Last Name"
67
- msgstr ""
68
-
69
- #: class-bjgk-genesis-enews-extended.php:232
70
- msgid ""
71
- "MailPoet is not currently activated. Genesis eNews Extended works with "
72
- "MailPoet, a free newsletter plugin. See <a href='%s' "
73
- "target='blank'>MailPoet's plugin page on WordPress.org</a>"
74
- msgstr ""
75
-
76
- #: class-bjgk-genesis-enews-extended.php:238
77
- msgid "Google/Feedburner ID"
78
- msgstr ""
79
-
80
- #: class-bjgk-genesis-enews-extended.php:240
81
- msgid ""
82
- "Entering your Feedburner ID here will deactivate the custom options below."
83
- msgstr ""
84
-
85
- #: class-bjgk-genesis-enews-extended.php:244
86
- #, fuzzy
87
- msgid "Form Action"
88
- msgstr "Informatie"
89
-
90
- #: class-bjgk-genesis-enews-extended.php:249
91
- msgid "E-Mail Field"
92
- msgstr ""
93
-
94
- #: class-bjgk-genesis-enews-extended.php:254
95
- msgid "First Name Field"
96
- msgstr ""
97
-
98
- #: class-bjgk-genesis-enews-extended.php:259
99
- msgid "Last Name Field"
100
- msgstr ""
101
-
102
- #: class-bjgk-genesis-enews-extended.php:264
103
- msgid "Hidden Fields"
104
- msgstr ""
105
-
106
- #: class-bjgk-genesis-enews-extended.php:266
107
- msgid "Not all services use hidden fields."
108
- msgstr ""
109
-
110
- #: class-bjgk-genesis-enews-extended.php:271
111
- msgid "Open confirmation page in same window?"
112
- msgstr ""
113
-
114
- #: class-bjgk-genesis-enews-extended.php:276
115
- msgid "First Name Input Text"
116
- msgstr ""
117
-
118
- #: class-bjgk-genesis-enews-extended.php:281
119
- msgid "Last Name Input Text"
120
- msgstr ""
121
-
122
- #: class-bjgk-genesis-enews-extended.php:285
123
- msgid "E-Mail Address"
124
- msgstr ""
125
-
126
- #: class-bjgk-genesis-enews-extended.php:286
127
- msgid "E-Mail Input Text"
128
- msgstr ""
129
-
130
- #: class-bjgk-genesis-enews-extended.php:291
131
- msgid "Go"
132
- msgstr "Gaan"
133
-
134
- #: class-bjgk-genesis-enews-extended.php:292
135
- #, fuzzy
136
- msgid "Button Text"
137
- msgstr "Meer Tekst"
138
-
139
- #, fuzzy
140
- #~ msgid "Enter your email address..."
141
- #~ msgstr "Vul je e-mail adres in ..."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
languages/genesis-enews-extended.pot DELETED
@@ -1,127 +0,0 @@
1
- # Copyright (C) 2014
2
- # This file is distributed under the same license as the package.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: \n"
6
- "Report-Msgid-Bugs-To: http://wordpress.org/tag/genesis-enews-extended\n"
7
- "POT-Creation-Date: 2014-01-09 20:12:54+00:00\n"
8
- "MIME-Version: 1.0\n"
9
- "Content-Type: text/plain; charset=UTF-8\n"
10
- "Content-Transfer-Encoding: 8bit\n"
11
- "PO-Revision-Date: 2014-MO-DA HO:MI+ZONE\n"
12
- "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
- "Language-Team: LANGUAGE <LL@li.org>\n"
14
-
15
- #: class-bjgk-genesis-enews-extended.php:53
16
- msgid "Displays subscribe form"
17
- msgstr ""
18
-
19
- #: class-bjgk-genesis-enews-extended.php:56
20
- msgid "Genesis - eNews Extended"
21
- msgstr ""
22
-
23
- #: class-bjgk-genesis-enews-extended.php:127
24
- msgid "Check your inbox now to confirm your subscription."
25
- msgstr ""
26
-
27
- #: class-bjgk-genesis-enews-extended.php:127
28
- msgid "You've successfully subscribed."
29
- msgstr ""
30
-
31
- #: class-bjgk-genesis-enews-extended.php:182
32
- msgid "Title"
33
- msgstr ""
34
-
35
- #: class-bjgk-genesis-enews-extended.php:187
36
- msgid "Text To Show Before Form"
37
- msgstr ""
38
-
39
- #: class-bjgk-genesis-enews-extended.php:191
40
- msgid "Text To Show After Form"
41
- msgstr ""
42
-
43
- #: class-bjgk-genesis-enews-extended.php:197
44
- msgid "MailPoet List"
45
- msgstr ""
46
-
47
- #: class-bjgk-genesis-enews-extended.php:217
48
- msgid "Show Fields:"
49
- msgstr ""
50
-
51
- #: class-bjgk-genesis-enews-extended.php:220
52
- #: class-bjgk-genesis-enews-extended.php:275
53
- msgid "First Name"
54
- msgstr ""
55
-
56
- #: class-bjgk-genesis-enews-extended.php:224
57
- #: class-bjgk-genesis-enews-extended.php:280
58
- msgid "Last Name"
59
- msgstr ""
60
-
61
- #: class-bjgk-genesis-enews-extended.php:232
62
- msgid ""
63
- "MailPoet is not currently activated. Genesis eNews Extended works with "
64
- "MailPoet, a free newsletter plugin. See <a href='%s' "
65
- "target='blank'>MailPoet's plugin page on WordPress.org</a>"
66
- msgstr ""
67
-
68
- #: class-bjgk-genesis-enews-extended.php:238
69
- msgid "Google/Feedburner ID"
70
- msgstr ""
71
-
72
- #: class-bjgk-genesis-enews-extended.php:240
73
- msgid ""
74
- "Entering your Feedburner ID here will deactivate the custom options below."
75
- msgstr ""
76
-
77
- #: class-bjgk-genesis-enews-extended.php:244
78
- msgid "Form Action"
79
- msgstr ""
80
-
81
- #: class-bjgk-genesis-enews-extended.php:249
82
- msgid "E-Mail Field"
83
- msgstr ""
84
-
85
- #: class-bjgk-genesis-enews-extended.php:254
86
- msgid "First Name Field"
87
- msgstr ""
88
-
89
- #: class-bjgk-genesis-enews-extended.php:259
90
- msgid "Last Name Field"
91
- msgstr ""
92
-
93
- #: class-bjgk-genesis-enews-extended.php:264
94
- msgid "Hidden Fields"
95
- msgstr ""
96
-
97
- #: class-bjgk-genesis-enews-extended.php:266
98
- msgid "Not all services use hidden fields."
99
- msgstr ""
100
-
101
- #: class-bjgk-genesis-enews-extended.php:271
102
- msgid "Open confirmation page in same window?"
103
- msgstr ""
104
-
105
- #: class-bjgk-genesis-enews-extended.php:276
106
- msgid "First Name Input Text"
107
- msgstr ""
108
-
109
- #: class-bjgk-genesis-enews-extended.php:281
110
- msgid "Last Name Input Text"
111
- msgstr ""
112
-
113
- #: class-bjgk-genesis-enews-extended.php:285
114
- msgid "E-Mail Address"
115
- msgstr ""
116
-
117
- #: class-bjgk-genesis-enews-extended.php:286
118
- msgid "E-Mail Input Text"
119
- msgstr ""
120
-
121
- #: class-bjgk-genesis-enews-extended.php:291
122
- msgid "Go"
123
- msgstr ""
124
-
125
- #: class-bjgk-genesis-enews-extended.php:292
126
- msgid "Button Text"
127
- msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
license.txt ADDED
@@ -0,0 +1,343 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Genesis eNews Extended is licensed under the GPL version 2 or any later version.
2
+
3
+ Copyright 2012-2016 Brandon Kraft and other contributors.
4
+ --------------------------------------------------------------------------------
5
+ GNU GENERAL PUBLIC LICENSE
6
+ Version 2, June 1991
7
+
8
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc., <http://fsf.org/>
9
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
10
+ Everyone is permitted to copy and distribute verbatim copies
11
+ of this license document, but changing it is not allowed.
12
+
13
+ Preamble
14
+
15
+ The licenses for most software are designed to take away your
16
+ freedom to share and change it. By contrast, the GNU General Public
17
+ License is intended to guarantee your freedom to share and change free
18
+ software--to make sure the software is free for all its users. This
19
+ General Public License applies to most of the Free Software
20
+ Foundation's software and to any other program whose authors commit to
21
+ using it. (Some other Free Software Foundation software is covered by
22
+ the GNU Lesser General Public License instead.) You can apply it to
23
+ your programs, too.
24
+
25
+ When we speak of free software, we are referring to freedom, not
26
+ price. Our General Public Licenses are designed to make sure that you
27
+ have the freedom to distribute copies of free software (and charge for
28
+ this service if you wish), that you receive source code or can get it
29
+ if you want it, that you can change the software or use pieces of it
30
+ in new free programs; and that you know you can do these things.
31
+
32
+ To protect your rights, we need to make restrictions that forbid
33
+ anyone to deny you these rights or to ask you to surrender the rights.
34
+ These restrictions translate to certain responsibilities for you if you
35
+ distribute copies of the software, or if you modify it.
36
+
37
+ For example, if you distribute copies of such a program, whether
38
+ gratis or for a fee, you must give the recipients all the rights that
39
+ you have. You must make sure that they, too, receive or can get the
40
+ source code. And you must show them these terms so they know their
41
+ rights.
42
+
43
+ We protect your rights with two steps: (1) copyright the software, and
44
+ (2) offer you this license which gives you legal permission to copy,
45
+ distribute and/or modify the software.
46
+
47
+ Also, for each author's protection and ours, we want to make certain
48
+ that everyone understands that there is no warranty for this free
49
+ software. If the software is modified by someone else and passed on, we
50
+ want its recipients to know that what they have is not the original, so
51
+ that any problems introduced by others will not reflect on the original
52
+ authors' reputations.
53
+
54
+ Finally, any free program is threatened constantly by software
55
+ patents. We wish to avoid the danger that redistributors of a free
56
+ program will individually obtain patent licenses, in effect making the
57
+ program proprietary. To prevent this, we have made it clear that any
58
+ patent must be licensed for everyone's free use or not licensed at all.
59
+
60
+ The precise terms and conditions for copying, distribution and
61
+ modification follow.
62
+
63
+ GNU GENERAL PUBLIC LICENSE
64
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
65
+
66
+ 0. This License applies to any program or other work which contains
67
+ a notice placed by the copyright holder saying it may be distributed
68
+ under the terms of this General Public License. The "Program", below,
69
+ refers to any such program or work, and a "work based on the Program"
70
+ means either the Program or any derivative work under copyright law:
71
+ that is to say, a work containing the Program or a portion of it,
72
+ either verbatim or with modifications and/or translated into another
73
+ language. (Hereinafter, translation is included without limitation in
74
+ the term "modification".) Each licensee is addressed as "you".
75
+
76
+ Activities other than copying, distribution and modification are not
77
+ covered by this License; they are outside its scope. The act of
78
+ running the Program is not restricted, and the output from the Program
79
+ is covered only if its contents constitute a work based on the
80
+ Program (independent of having been made by running the Program).
81
+ Whether that is true depends on what the Program does.
82
+
83
+ 1. You may copy and distribute verbatim copies of the Program's
84
+ source code as you receive it, in any medium, provided that you
85
+ conspicuously and appropriately publish on each copy an appropriate
86
+ copyright notice and disclaimer of warranty; keep intact all the
87
+ notices that refer to this License and to the absence of any warranty;
88
+ and give any other recipients of the Program a copy of this License
89
+ along with the Program.
90
+
91
+ You may charge a fee for the physical act of transferring a copy, and
92
+ you may at your option offer warranty protection in exchange for a fee.
93
+
94
+ 2. You may modify your copy or copies of the Program or any portion
95
+ of it, thus forming a work based on the Program, and copy and
96
+ distribute such modifications or work under the terms of Section 1
97
+ above, provided that you also meet all of these conditions:
98
+
99
+ a) You must cause the modified files to carry prominent notices
100
+ stating that you changed the files and the date of any change.
101
+
102
+ b) You must cause any work that you distribute or publish, that in
103
+ whole or in part contains or is derived from the Program or any
104
+ part thereof, to be licensed as a whole at no charge to all third
105
+ parties under the terms of this License.
106
+
107
+ c) If the modified program normally reads commands interactively
108
+ when run, you must cause it, when started running for such
109
+ interactive use in the most ordinary way, to print or display an
110
+ announcement including an appropriate copyright notice and a
111
+ notice that there is no warranty (or else, saying that you provide
112
+ a warranty) and that users may redistribute the program under
113
+ these conditions, and telling the user how to view a copy of this
114
+ License. (Exception: if the Program itself is interactive but
115
+ does not normally print such an announcement, your work based on
116
+ the Program is not required to print an announcement.)
117
+
118
+ These requirements apply to the modified work as a whole. If
119
+ identifiable sections of that work are not derived from the Program,
120
+ and can be reasonably considered independent and separate works in
121
+ themselves, then this License, and its terms, do not apply to those
122
+ sections when you distribute them as separate works. But when you
123
+ distribute the same sections as part of a whole which is a work based
124
+ on the Program, the distribution of the whole must be on the terms of
125
+ this License, whose permissions for other licensees extend to the
126
+ entire whole, and thus to each and every part regardless of who wrote it.
127
+
128
+ Thus, it is not the intent of this section to claim rights or contest
129
+ your rights to work written entirely by you; rather, the intent is to
130
+ exercise the right to control the distribution of derivative or
131
+ collective works based on the Program.
132
+
133
+ In addition, mere aggregation of another work not based on the Program
134
+ with the Program (or with a work based on the Program) on a volume of
135
+ a storage or distribution medium does not bring the other work under
136
+ the scope of this License.
137
+
138
+ 3. You may copy and distribute the Program (or a work based on it,
139
+ under Section 2) in object code or executable form under the terms of
140
+ Sections 1 and 2 above provided that you also do one of the following:
141
+
142
+ a) Accompany it with the complete corresponding machine-readable
143
+ source code, which must be distributed under the terms of Sections
144
+ 1 and 2 above on a medium customarily used for software interchange; or,
145
+
146
+ b) Accompany it with a written offer, valid for at least three
147
+ years, to give any third party, for a charge no more than your
148
+ cost of physically performing source distribution, a complete
149
+ machine-readable copy of the corresponding source code, to be
150
+ distributed under the terms of Sections 1 and 2 above on a medium
151
+ customarily used for software interchange; or,
152
+
153
+ c) Accompany it with the information you received as to the offer
154
+ to distribute corresponding source code. (This alternative is
155
+ allowed only for noncommercial distribution and only if you
156
+ received the program in object code or executable form with such
157
+ an offer, in accord with Subsection b above.)
158
+
159
+ The source code for a work means the preferred form of the work for
160
+ making modifications to it. For an executable work, complete source
161
+ code means all the source code for all modules it contains, plus any
162
+ associated interface definition files, plus the scripts used to
163
+ control compilation and installation of the executable. However, as a
164
+ special exception, the source code distributed need not include
165
+ anything that is normally distributed (in either source or binary
166
+ form) with the major components (compiler, kernel, and so on) of the
167
+ operating system on which the executable runs, unless that component
168
+ itself accompanies the executable.
169
+
170
+ If distribution of executable or object code is made by offering
171
+ access to copy from a designated place, then offering equivalent
172
+ access to copy the source code from the same place counts as
173
+ distribution of the source code, even though third parties are not
174
+ compelled to copy the source along with the object code.
175
+
176
+ 4. You may not copy, modify, sublicense, or distribute the Program
177
+ except as expressly provided under this License. Any attempt
178
+ otherwise to copy, modify, sublicense or distribute the Program is
179
+ void, and will automatically terminate your rights under this License.
180
+ However, parties who have received copies, or rights, from you under
181
+ this License will not have their licenses terminated so long as such
182
+ parties remain in full compliance.
183
+
184
+ 5. You are not required to accept this License, since you have not
185
+ signed it. However, nothing else grants you permission to modify or
186
+ distribute the Program or its derivative works. These actions are
187
+ prohibited by law if you do not accept this License. Therefore, by
188
+ modifying or distributing the Program (or any work based on the
189
+ Program), you indicate your acceptance of this License to do so, and
190
+ all its terms and conditions for copying, distributing or modifying
191
+ the Program or works based on it.
192
+
193
+ 6. Each time you redistribute the Program (or any work based on the
194
+ Program), the recipient automatically receives a license from the
195
+ original licensor to copy, distribute or modify the Program subject to
196
+ these terms and conditions. You may not impose any further
197
+ restrictions on the recipients' exercise of the rights granted herein.
198
+ You are not responsible for enforcing compliance by third parties to
199
+ this License.
200
+
201
+ 7. If, as a consequence of a court judgment or allegation of patent
202
+ infringement or for any other reason (not limited to patent issues),
203
+ conditions are imposed on you (whether by court order, agreement or
204
+ otherwise) that contradict the conditions of this License, they do not
205
+ excuse you from the conditions of this License. If you cannot
206
+ distribute so as to satisfy simultaneously your obligations under this
207
+ License and any other pertinent obligations, then as a consequence you
208
+ may not distribute the Program at all. For example, if a patent
209
+ license would not permit royalty-free redistribution of the Program by
210
+ all those who receive copies directly or indirectly through you, then
211
+ the only way you could satisfy both it and this License would be to
212
+ refrain entirely from distribution of the Program.
213
+
214
+ If any portion of this section is held invalid or unenforceable under
215
+ any particular circumstance, the balance of the section is intended to
216
+ apply and the section as a whole is intended to apply in other
217
+ circumstances.
218
+
219
+ It is not the purpose of this section to induce you to infringe any
220
+ patents or other property right claims or to contest validity of any
221
+ such claims; this section has the sole purpose of protecting the
222
+ integrity of the free software distribution system, which is
223
+ implemented by public license practices. Many people have made
224
+ generous contributions to the wide range of software distributed
225
+ through that system in reliance on consistent application of that
226
+ system; it is up to the author/donor to decide if he or she is willing
227
+ to distribute software through any other system and a licensee cannot
228
+ impose that choice.
229
+
230
+ This section is intended to make thoroughly clear what is believed to
231
+ be a consequence of the rest of this License.
232
+
233
+ 8. If the distribution and/or use of the Program is restricted in
234
+ certain countries either by patents or by copyrighted interfaces, the
235
+ original copyright holder who places the Program under this License
236
+ may add an explicit geographical distribution limitation excluding
237
+ those countries, so that distribution is permitted only in or among
238
+ countries not thus excluded. In such case, this License incorporates
239
+ the limitation as if written in the body of this License.
240
+
241
+ 9. The Free Software Foundation may publish revised and/or new versions
242
+ of the General Public License from time to time. Such new versions will
243
+ be similar in spirit to the present version, but may differ in detail to
244
+ address new problems or concerns.
245
+
246
+ Each version is given a distinguishing version number. If the Program
247
+ specifies a version number of this License which applies to it and "any
248
+ later version", you have the option of following the terms and conditions
249
+ either of that version or of any later version published by the Free
250
+ Software Foundation. If the Program does not specify a version number of
251
+ this License, you may choose any version ever published by the Free Software
252
+ Foundation.
253
+
254
+ 10. If you wish to incorporate parts of the Program into other free
255
+ programs whose distribution conditions are different, write to the author
256
+ to ask for permission. For software which is copyrighted by the Free
257
+ Software Foundation, write to the Free Software Foundation; we sometimes
258
+ make exceptions for this. Our decision will be guided by the two goals
259
+ of preserving the free status of all derivatives of our free software and
260
+ of promoting the sharing and reuse of software generally.
261
+
262
+ NO WARRANTY
263
+
264
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
265
+ FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
266
+ OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
267
+ PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
268
+ OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
269
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
270
+ TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
271
+ PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
272
+ REPAIR OR CORRECTION.
273
+
274
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
275
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
276
+ REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
277
+ INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
278
+ OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
279
+ TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
280
+ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
281
+ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
282
+ POSSIBILITY OF SUCH DAMAGES.
283
+
284
+ END OF TERMS AND CONDITIONS
285
+
286
+ How to Apply These Terms to Your New Programs
287
+
288
+ If you develop a new program, and you want it to be of the greatest
289
+ possible use to the public, the best way to achieve this is to make it
290
+ free software which everyone can redistribute and change under these terms.
291
+
292
+ To do so, attach the following notices to the program. It is safest
293
+ to attach them to the start of each source file to most effectively
294
+ convey the exclusion of warranty; and each file should have at least
295
+ the "copyright" line and a pointer to where the full notice is found.
296
+
297
+ {description}
298
+ Copyright (C) {year} {fullname}
299
+
300
+ This program is free software; you can redistribute it and/or modify
301
+ it under the terms of the GNU General Public License as published by
302
+ the Free Software Foundation; either version 2 of the License, or
303
+ (at your option) any later version.
304
+
305
+ This program is distributed in the hope that it will be useful,
306
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
307
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
308
+ GNU General Public License for more details.
309
+
310
+ You should have received a copy of the GNU General Public License along
311
+ with this program; if not, write to the Free Software Foundation, Inc.,
312
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
313
+
314
+ Also add information on how to contact you by electronic and paper mail.
315
+
316
+ If the program is interactive, make it output a short notice like this
317
+ when it starts in an interactive mode:
318
+
319
+ Gnomovision version 69, Copyright (C) year name of author
320
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
321
+ This is free software, and you are welcome to redistribute it
322
+ under certain conditions; type `show c' for details.
323
+
324
+ The hypothetical commands `show w' and `show c' should show the appropriate
325
+ parts of the General Public License. Of course, the commands you use may
326
+ be called something other than `show w' and `show c'; they could even be
327
+ mouse-clicks or menu items--whatever suits your program.
328
+
329
+ You should also get your employer (if you work as a programmer) or your
330
+ school, if any, to sign a "copyright disclaimer" for the program, if
331
+ necessary. Here is a sample; alter the names:
332
+
333
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
334
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
335
+
336
+ {signature of Ty Coon}, 1 April 1989
337
+ Ty Coon, President of Vice
338
+
339
+ This General Public License does not permit incorporating your program into
340
+ proprietary programs. If your program is a subroutine library, you may
341
+ consider it more useful to permit linking proprietary applications with the
342
+ library. If this is what you want to do, use the GNU Lesser General
343
+ Public License instead of this License.
plugin.php CHANGED
@@ -3,25 +3,26 @@
3
  * Genesis eNews Extended
4
  *
5
  * @package BJGK\Genesis_enews_extended
6
- * @version 2.0.2
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.2
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
22
  * Domain Path: /languages
23
  */
24
- /*
 
25
  * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
26
  * General Public License version 2, as published by the Free Software Foundation. You may NOT assume
27
  * that you can use any other version of the GPL.
@@ -45,7 +46,7 @@ function bjgk_genesis_enews_load_translations() {
45
  load_plugin_textdomain( $domain, false, basename( dirname( __FILE__ ) ) . '/languages' );
46
  }
47
 
48
- include 'class-bjgk-genesis-enews-extended.php';
49
 
50
  add_action( 'widgets_init', 'bjgk_genesis_enews_load_widgets' );
51
  /**
@@ -54,9 +55,14 @@ add_action( 'widgets_init', 'bjgk_genesis_enews_load_widgets' );
54
  * @since 0.1.0
55
  */
56
  function bjgk_genesis_enews_load_widgets() {
57
- register_widget( 'BJGK_Genesis_eNews_Extended' );
58
  }
59
 
 
 
 
 
 
60
  function bjgk_genesis_enews_css() {
61
  echo '<style type="text/css"> .enews .screenread {
62
  height: 1px;
@@ -67,4 +73,4 @@ function bjgk_genesis_enews_css() {
67
  width: 1px; } </style>';
68
  }
69
 
70
- add_action('wp_head', 'bjgk_genesis_enews_css');
3
  * Genesis eNews Extended
4
  *
5
  * @package BJGK\Genesis_enews_extended
6
+ * @version 2.1.0
7
  * @author Brandon Kraft <public@brandonkraft.com>
8
+ * @copyright Copyright (c) 2012-2018, Brandon Kraft
9
+ * @link https://kraft.blog/genesis-enews-extended/
10
  * @license GPL-2.0+
11
  *
12
  * @wordpress-plugin
13
  * Plugin Name: Genesis eNews Extended
14
+ * Plugin URI: https://kraft.blog/genesis-enews-extended/
15
  * Description: Replaces the Genesis eNews Widget to allow easier use of additional mailing services.
16
+ * Version: 2.1.0
17
  * Author: Brandon Kraft
18
+ * Author URI: https://kraft.blog/
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
22
  * Domain Path: /languages
23
  */
24
+
25
+ /**
26
  * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
27
  * General Public License version 2, as published by the Free Software Foundation. You may NOT assume
28
  * that you can use any other version of the GPL.
46
  load_plugin_textdomain( $domain, false, basename( dirname( __FILE__ ) ) . '/languages' );
47
  }
48
 
49
+ require 'class-bjgk-genesis-enews-extended.php';
50
 
51
  add_action( 'widgets_init', 'bjgk_genesis_enews_load_widgets' );
52
  /**
55
  * @since 0.1.0
56
  */
57
  function bjgk_genesis_enews_load_widgets() {
58
+ register_widget( 'BJGK_Genesis_ENews_Extended' );
59
  }
60
 
61
+ /**
62
+ * Adds CSS for screenreaders.
63
+ *
64
+ * @since 0.1.0
65
+ */
66
  function bjgk_genesis_enews_css() {
67
  echo '<style type="text/css"> .enews .screenread {
68
  height: 1px;
73
  width: 1px; } </style>';
74
  }
75
 
76
+ add_action( 'wp_head', 'bjgk_genesis_enews_css' );
readme.txt CHANGED
@@ -1,50 +1,45 @@
1
  === Genesis eNews Extended ===
2
  Contributors: kraftbj
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.7
7
  Text Domain: genesis-enews-extended
8
- Stable tag: 2.0.2
9
 
10
- Creates a new widget to easily add mailing lists integration to a Genesis website. Works with FeedBurner, MailChimp, AWeber, FeedBlitz and more.
11
 
12
  == Description ==
13
 
14
- Creates a new widget to easily add mailing lists to a Genesis website. Recommended plugin to replace the Genesis eNews Widget removed in Genesis 2.0. The widget allows the site administrator to set either the Feedburner ID or choose [MailPoet's](http://wordpress.org/plugins/wysija-newsletters) lists or form action, e-mail form field and hidden fields to mimic the subscribe form of other mailing list services.
15
 
16
  == Installation ==
17
 
18
- 1. Upload contents of the directory to /wp-content/plugins/ (or use the automatic installer)
19
  1. Activate the plugin through the 'Plugins' menu in WordPress
20
  1. In Appearance->Widgets, add Genesis eNews Extended widget to any sidebar.
21
- 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).
22
- 1. If using name fields, read the [plugin's tutorial website](http://www.brandonkraft.com/genesis-enews-extended/tutorials).
23
  1. Verify it works!
24
 
25
  == Frequently Asked Questions ==
26
 
27
  = What services work with this plugin? =
28
 
29
- Feedburner, MailChimp, Aweber, FeedBlitz and Constant Contact are confirmed to work, but it should work with almost all services. If you have tested this with other services, please [contact me](http://brandonkraft.com/contact/)
30
 
31
  = The "Opens in Same Tab" option doesn't work with FeedBurner. What's wrong? =
32
 
33
  That is intentional. You don't want to knock people off your site and leave them on FeedBurner's.
34
 
35
- = I'm using Minimum 2.0. Where's the submit button? =
36
-
37
- That is a feature of the theme. If you want the button back, remove ".enews #subbutton," on line 1236 of style.css.
38
-
39
  = The first and last name fields look funky. =
40
 
41
- Read more on the [plugin's tutorial website](https://kraft.im/genesis-enews-extended/tutorials).
42
 
43
  = I need help! Where I can get it? =
44
 
45
- "Official" tutorials will be maintained on the [plugin's website](https://kraft.im/genesis-enews-extended/).
46
 
47
- Questions can be asked at the [WordPress.org Support Forum](http://wordpress.org/support/plugin/genesis-enews-extended) for this plugin.
48
 
49
  == Screenshots ==
50
  1. Example of the plugin in use on a site running Streamline 2.0.
@@ -52,6 +47,11 @@ Questions can be asked at the [WordPress.org Support Forum](http://wordpress.org
52
 
53
  == Changelog ==
54
 
 
 
 
 
 
55
  = 2.0.2 =
56
  * Fixes minor issue that led to HTML validation issues.
57
  * Fixes PHP notice for checking non-existent variables in some cases.
@@ -190,5 +190,5 @@ If you're not listed and think you should be, please drop me a note. Any omissio
190
 
191
  == Upgrade Notice ==
192
 
193
- = 2.0.2 =
194
- Fixes minor bugs, including one that causes HTML validation errors.
1
  === Genesis eNews Extended ===
2
  Contributors: kraftbj
3
+ Donate link: https://kraft.blog/donate/
4
  Tags: genesis, genesiswp, mailchimp, aweber, studiopress, newsletter, subscribe, mailpoet, wysija
5
+ Requires at least: 4.9.6
6
+ Tested up to: 4.9.6
7
  Text Domain: genesis-enews-extended
8
+ Stable tag: 2.1.0
9
 
10
+ Creates a new widget to easily add mailing lists integration to a Genesis website. Works with FeedBurner, MailChimp, AWeber, FeedBlitz, ConvertKit and more.
11
 
12
  == Description ==
13
 
14
+ Creates a new widget to easily add mailing lists to a Genesis website. Recommended plugin in virtually all Genesis theme tutorials. The widget allows the site administrator to set either the Feedburner ID or form action, e-mail form field and hidden fields to mimic the subscribe form of other mailing list services.
15
 
16
  == Installation ==
17
 
 
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](https://kraft.blog/genesis-enews-extended/install).
21
+ 1. If using name fields, read the [plugin's tutorial website](https://kraft.blog/genesis-enews-extended/tutorials).
22
  1. Verify it works!
23
 
24
  == Frequently Asked Questions ==
25
 
26
  = What services work with this plugin? =
27
 
28
+ Feedburner, MailChimp, Aweber, FeedBlitz, ConvertKit, and Constant Contact are confirmed to work, but it should work with almost all services. If you have tested this with other services, please [contact me](https://kraft.blog/contact/)
29
 
30
  = The "Opens in Same Tab" option doesn't work with FeedBurner. What's wrong? =
31
 
32
  That is intentional. You don't want to knock people off your site and leave them on FeedBurner's.
33
 
 
 
 
 
34
  = The first and last name fields look funky. =
35
 
36
+ Read more on the [plugin's tutorial website](https://kraft.blog/genesis-enews-extended/tutorials).
37
 
38
  = I need help! Where I can get it? =
39
 
40
+ "Official" tutorials will be maintained on the [plugin's website](https://kraft.blog/genesis-enews-extended/).
41
 
42
+ Questions can be asked at the [WordPress.org Support Forum](https://wordpress.org/support/plugin/genesis-enews-extended) for this plugin.
43
 
44
  == Screenshots ==
45
  1. Example of the plugin in use on a site running Streamline 2.0.
47
 
48
  == Changelog ==
49
 
50
+ = 2.1.0 =
51
+ * Provide option to link to the site's Privacy Policy.
52
+ * Allow "a" HTML tags in the hidden fields settings field.
53
+ * Various improvements to match coding standards.
54
+
55
  = 2.0.2 =
56
  * Fixes minor issue that led to HTML validation issues.
57
  * Fixes PHP notice for checking non-existent variables in some cases.
190
 
191
  == Upgrade Notice ==
192
 
193
+ = 2.1.0 =
194
+ Adds ability to link to site's privacy policy.