Version Description
Download this release
Release Info
Developer | MattyRob |
Plugin | Subscribe2 |
Version | 8.3 |
Comparing to | |
See all releases |
Code changes from version 8.2 to 8.3
- ReadMe.txt +28 -15
- admin/send_email.php +4 -2
- admin/settings.php +10 -10
- admin/subscribers.php +13 -13
- admin/your_subscriptions.php +11 -9
- classes/class-s2-admin.php +12 -8
- classes/class-s2-core.php +17 -8
- classes/class-s2-frontend.php +8 -4
- subscribe2.php +2 -2
- subscribe2.pot +70 -67
ReadMe.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_butt
|
|
4 |
Tags: posts, subscription, email, subscribe, notify, notification
|
5 |
Requires at least: 3.1
|
6 |
Tested up to: 3.3.1
|
7 |
-
Stable tag: 8.
|
8 |
|
9 |
Sends a list of subscribers an email notification when new posts are published to your blog
|
10 |
|
@@ -29,25 +29,25 @@ If you want to send full content HTML emails to Public Subscribers too then upgr
|
|
29 |
|
30 |
AUTOMATIC INSTALLATION
|
31 |
1. Log in to your WordPress blog and visit Plugins->Add New.
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
This token will automatically be replaced by dynamic subscription information and will display all forms and messages as necessary.
|
39 |
-
|
40 |
|
41 |
MANUAL INSTALLATION
|
42 |
1. Copy the entire /subscribe2/ directory into your /wp-content/plugins/ directory.
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
This token will automatically be replaced by dynamic subscription information and will display all forms and messages as necessary.
|
50 |
-
|
51 |
|
52 |
== Frequently Asked Questions ==
|
53 |
|
@@ -303,6 +303,19 @@ Secondly, make sure that the token ([subscribe2] or <!--subscribe2-->) is correc
|
|
303 |
|
304 |
== Changelog ==
|
305 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
306 |
= Version 8.2 by Matthew Robinson =
|
307 |
|
308 |
* Implemented use of Farbtastic as colour chooser in the Counter Widget because ColorPicker has been deprecated in WordPress
|
4 |
Tags: posts, subscription, email, subscribe, notify, notification
|
5 |
Requires at least: 3.1
|
6 |
Tested up to: 3.3.1
|
7 |
+
Stable tag: 8.3
|
8 |
|
9 |
Sends a list of subscribers an email notification when new posts are published to your blog
|
10 |
|
29 |
|
30 |
AUTOMATIC INSTALLATION
|
31 |
1. Log in to your WordPress blog and visit Plugins->Add New.
|
32 |
+
1. Search for Subscribe2, click "Install Now" and then Activate the Plugin
|
33 |
+
1. Click the "Settings" admin menu link, and select "Subscribe2".
|
34 |
+
1. Configure the options to taste, including the email template and any categories which should be excluded from notification
|
35 |
+
1. Click the "Tools" admin menu link, and select "Subscribers".
|
36 |
+
1. Manually subscribe people as you see fit.
|
37 |
+
1. Create a [WordPress Page](http://codex.wordpress.org/Pages) to display the subscription form. When creating the page, you may click the "S2" button on the QuickBar to automatically insert the subscribe2 token. Or, if you prefer, you may manually insert the subscribe2 shortcode or token: [subscribe2] or the HTML invisible `<!--subscribe2-->` ***Ensure the token is on a line by itself and that it has a blank line above and below.***
|
38 |
This token will automatically be replaced by dynamic subscription information and will display all forms and messages as necessary.
|
39 |
+
1. In the WordPress "Settings" area for Subscribe2 select the page name in the "Appearance" section that of the WordPress page created in step 7.
|
40 |
|
41 |
MANUAL INSTALLATION
|
42 |
1. Copy the entire /subscribe2/ directory into your /wp-content/plugins/ directory.
|
43 |
+
1. Activate the plugin.
|
44 |
+
1. Click the "Settings" admin menu link, and select "Subscribe2".
|
45 |
+
1. Configure the options to taste, including the email template and any categories which should be excluded from notification
|
46 |
+
1. Click the "Tools" admin menu link, and select "Subscribers".
|
47 |
+
1. Manually subscribe people as you see fit.
|
48 |
+
1. Create a [WordPress Page](http://codex.wordpress.org/Pages) to display the subscription form. When creating the page, you may click the "S2" button on the QuickBar to automatically insert the subscribe2 token. Or, if you prefer, you may manually insert the subscribe2 shortcode or token: [subscribe2] or the HTML invisible `<!--subscribe2-->` ***Ensure the token is on a line by itself and that it has a blank line above and below.***
|
49 |
This token will automatically be replaced by dynamic subscription information and will display all forms and messages as necessary.
|
50 |
+
1. In the WordPress "Settings" area for Subscribe2 select the page name in the "Appearance" section that of the WordPress page created in step 7.
|
51 |
|
52 |
== Frequently Asked Questions ==
|
53 |
|
303 |
|
304 |
== Changelog ==
|
305 |
|
306 |
+
= Version 8.3 by Matthew Robinson =
|
307 |
+
|
308 |
+
* Fixed a bunch of PHP messages - should not show anyway unless WP_DEBUG is true or PHP error reporting is on a high setting
|
309 |
+
* Fixed bulk category management so it applies to all users and not just the first record
|
310 |
+
* Update 'autosub' to no on one-click unsubscribe instead of erasing the value
|
311 |
+
* Return empty string is get_tracking_link() is passed and empty variable
|
312 |
+
* Fixed some typographical errors
|
313 |
+
* Fixed profile page to obey 'one click' display setting
|
314 |
+
* Fixed implode error seen when sending preview emails on some configurations
|
315 |
+
* Fixed a error in the admin user dropdown on installs (particularly Multisite) where there may be no administrator level users
|
316 |
+
* Added a button text filter for the Subscribe and Unsubscribe buttons - proposed by casben79
|
317 |
+
* Use wp_hash in place of MD5 to further obfuscate confirmation links - thanks to Otto and Ipstenu
|
318 |
+
|
319 |
= Version 8.2 by Matthew Robinson =
|
320 |
|
321 |
* Implemented use of Farbtastic as colour chooser in the Counter Widget because ColorPicker has been deprecated in WordPress
|
admin/send_email.php
CHANGED
@@ -7,7 +7,7 @@ global $wpdb, $s2nonce, $current_user;
|
|
7 |
|
8 |
// was anything POSTed?
|
9 |
if ( isset($_POST['s2_admin']) && 'mail' == $_POST['s2_admin'] ) {
|
10 |
-
check_admin_referer('subscribe2-write_subscribers'
|
11 |
$subject = html_entity_decode($this->substitute(stripslashes(strip_tags($_POST['subject']))), ENT_QUOTES);
|
12 |
$body = $this->substitute(stripslashes($_POST['content']));
|
13 |
if ( '' != $current_user->display_name || '' != $current_user->user_email ) {
|
@@ -38,6 +38,8 @@ if ( isset($_POST['s2_admin']) && 'mail' == $_POST['s2_admin'] ) {
|
|
38 |
$status = $this->mail($recipients, $subject, $body, 'text');
|
39 |
if ( $status ) {
|
40 |
$message = $this->mail_sent;
|
|
|
|
|
41 |
} else {
|
42 |
global $phpmailer;
|
43 |
$message = $this->mail_failed . $phpmailer->ErrorInfo;
|
@@ -51,7 +53,7 @@ echo "<div id=\"icon-edit\" class=\"icon32\"></div>";
|
|
51 |
echo "<h2>" . __('Send an email to subscribers', 'subscribe2') . "</h2>\r\n";
|
52 |
echo "<form method=\"post\" action=\"\">\r\n";
|
53 |
if ( function_exists('wp_nonce_field') ) {
|
54 |
-
wp_nonce_field('subscribe2-write_subscribers'
|
55 |
}
|
56 |
if ( isset($_POST['subject']) ) {
|
57 |
$subject = stripslashes(esc_html($_POST['subject']));
|
7 |
|
8 |
// was anything POSTed?
|
9 |
if ( isset($_POST['s2_admin']) && 'mail' == $_POST['s2_admin'] ) {
|
10 |
+
check_admin_referer('subscribe2-write_subscribers', $s2nonce);
|
11 |
$subject = html_entity_decode($this->substitute(stripslashes(strip_tags($_POST['subject']))), ENT_QUOTES);
|
12 |
$body = $this->substitute(stripslashes($_POST['content']));
|
13 |
if ( '' != $current_user->display_name || '' != $current_user->user_email ) {
|
38 |
$status = $this->mail($recipients, $subject, $body, 'text');
|
39 |
if ( $status ) {
|
40 |
$message = $this->mail_sent;
|
41 |
+
} elseif ( empty($body) ) {
|
42 |
+
$message = __('Your email was empty', 'subscribe2');
|
43 |
} else {
|
44 |
global $phpmailer;
|
45 |
$message = $this->mail_failed . $phpmailer->ErrorInfo;
|
53 |
echo "<h2>" . __('Send an email to subscribers', 'subscribe2') . "</h2>\r\n";
|
54 |
echo "<form method=\"post\" action=\"\">\r\n";
|
55 |
if ( function_exists('wp_nonce_field') ) {
|
56 |
+
wp_nonce_field('subscribe2-write_subscribers', $s2nonce);
|
57 |
}
|
58 |
if ( isset($_POST['subject']) ) {
|
59 |
$subject = stripslashes(esc_html($_POST['subject']));
|
admin/settings.php
CHANGED
@@ -15,10 +15,10 @@ if ( empty($id) ) {
|
|
15 |
// was anything POSTed?
|
16 |
if ( isset( $_POST['s2_admin']) ) {
|
17 |
check_admin_referer('subscribe2-options_subscribers' . $s2nonce);
|
18 |
-
if ( $_POST['reset'] ) {
|
19 |
$this->reset();
|
20 |
echo "<div id=\"message\" class=\"updated fade\"><p><strong>$this->options_reset</strong></p></div>";
|
21 |
-
} elseif ( $_POST['preview'] ) {
|
22 |
global $user_email;
|
23 |
$this->preview_email = true;
|
24 |
if ( 'never' == $this->subscribe2_options['email_freq'] ) {
|
@@ -28,14 +28,14 @@ if ( isset( $_POST['s2_admin']) ) {
|
|
28 |
$this->subscribe2_cron($user_email);
|
29 |
}
|
30 |
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Preview message(s) sent to logged in user', 'subscribe2') . "</strong></p></div>";
|
31 |
-
} elseif ( $_POST['resend'] ) {
|
32 |
$status = $this->subscribe2_cron('', 'resend');
|
33 |
if ( $status === false ) {
|
34 |
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('The Digest Notification email contained no post information. No email was sent', 'subscribe2') . "</strong></p></div>";
|
35 |
} else {
|
36 |
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Attempt made to resend the Digest Notification email', 'subscribe2') . "</strong></p></div>";
|
37 |
}
|
38 |
-
} elseif ( $_POST['submit'] ) {
|
39 |
// BCClimit
|
40 |
if ( is_numeric($_POST['bcc']) && $_POST['bcc'] >= 0 ) {
|
41 |
$this->subscribe2_options['bcclimit'] = $_POST['bcc'];
|
@@ -159,27 +159,27 @@ if ( isset( $_POST['s2_admin']) ) {
|
|
159 |
}
|
160 |
|
161 |
// show meta link?
|
162 |
-
( $_POST['show_meta'] == '1' ) ? $showmeta = '1' : $showmeta = '0';
|
163 |
$this->subscribe2_options['show_meta'] = $showmeta;
|
164 |
|
165 |
// show button?
|
166 |
-
( $_POST['show_button'] == '1' ) ? $showbutton = '1' : $showbutton = '0';
|
167 |
$this->subscribe2_options['show_button'] = $showbutton;
|
168 |
|
169 |
// enable AJAX style form
|
170 |
-
( $_POST['ajax'] == '1' ) ? $ajax = '1' : $ajax = '0';
|
171 |
$this->subscribe2_options['ajax'] = $ajax;
|
172 |
|
173 |
// show widget in Presentation->Widgets
|
174 |
-
( $_POST['widget'] == '1' ) ? $showwidget = '1' : $showwidget = '0';
|
175 |
$this->subscribe2_options['widget'] = $showwidget;
|
176 |
|
177 |
// show counterwidget in Presentation->Widgets
|
178 |
-
( $_POST['counterwidget'] == '1' ) ? $showcounterwidget = '1' : $showcounterwidget = '0';
|
179 |
$this->subscribe2_options['counterwidget'] = $showcounterwidget;
|
180 |
|
181 |
// Subscribe2 over ride postmeta checked by default
|
182 |
-
( $_POST['s2meta_default'] == '1' ) ? $s2meta_default = '1' : $s2meta_default = '0';
|
183 |
$this->subscribe2_options['s2meta_default'] = $s2meta_default;
|
184 |
|
185 |
//automatic subscription
|
15 |
// was anything POSTed?
|
16 |
if ( isset( $_POST['s2_admin']) ) {
|
17 |
check_admin_referer('subscribe2-options_subscribers' . $s2nonce);
|
18 |
+
if ( isset($_POST['reset']) ) {
|
19 |
$this->reset();
|
20 |
echo "<div id=\"message\" class=\"updated fade\"><p><strong>$this->options_reset</strong></p></div>";
|
21 |
+
} elseif ( isset($_POST['preview']) ) {
|
22 |
global $user_email;
|
23 |
$this->preview_email = true;
|
24 |
if ( 'never' == $this->subscribe2_options['email_freq'] ) {
|
28 |
$this->subscribe2_cron($user_email);
|
29 |
}
|
30 |
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Preview message(s) sent to logged in user', 'subscribe2') . "</strong></p></div>";
|
31 |
+
} elseif ( isset($_POST['resend']) ) {
|
32 |
$status = $this->subscribe2_cron('', 'resend');
|
33 |
if ( $status === false ) {
|
34 |
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('The Digest Notification email contained no post information. No email was sent', 'subscribe2') . "</strong></p></div>";
|
35 |
} else {
|
36 |
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Attempt made to resend the Digest Notification email', 'subscribe2') . "</strong></p></div>";
|
37 |
}
|
38 |
+
} elseif ( isset($_POST['submit']) ) {
|
39 |
// BCClimit
|
40 |
if ( is_numeric($_POST['bcc']) && $_POST['bcc'] >= 0 ) {
|
41 |
$this->subscribe2_options['bcclimit'] = $_POST['bcc'];
|
159 |
}
|
160 |
|
161 |
// show meta link?
|
162 |
+
( isset($_POST['show_meta']) && $_POST['show_meta'] == '1' ) ? $showmeta = '1' : $showmeta = '0';
|
163 |
$this->subscribe2_options['show_meta'] = $showmeta;
|
164 |
|
165 |
// show button?
|
166 |
+
( isset($_POST['show_button']) && $_POST['show_button'] == '1' ) ? $showbutton = '1' : $showbutton = '0';
|
167 |
$this->subscribe2_options['show_button'] = $showbutton;
|
168 |
|
169 |
// enable AJAX style form
|
170 |
+
( isset($_POST['ajax']) && $_POST['ajax'] == '1' ) ? $ajax = '1' : $ajax = '0';
|
171 |
$this->subscribe2_options['ajax'] = $ajax;
|
172 |
|
173 |
// show widget in Presentation->Widgets
|
174 |
+
( isset($_POST['widget']) && $_POST['widget'] == '1' ) ? $showwidget = '1' : $showwidget = '0';
|
175 |
$this->subscribe2_options['widget'] = $showwidget;
|
176 |
|
177 |
// show counterwidget in Presentation->Widgets
|
178 |
+
( isset($_POST['counterwidget']) && $_POST['counterwidget'] == '1' ) ? $showcounterwidget = '1' : $showcounterwidget = '0';
|
179 |
$this->subscribe2_options['counterwidget'] = $showcounterwidget;
|
180 |
|
181 |
// Subscribe2 over ride postmeta checked by default
|
182 |
+
( isset($_POST['s2meta_default']) && $_POST['s2meta_default'] == '1' ) ? $s2meta_default = '1' : $s2meta_default = '0';
|
183 |
$this->subscribe2_options['s2meta_default'] = $s2meta_default;
|
184 |
|
185 |
//automatic subscription
|
admin/subscribers.php
CHANGED
@@ -12,7 +12,7 @@ $all_users = $this->get_all_registered();
|
|
12 |
// was anything POSTed ?
|
13 |
if ( isset($_POST['s2_admin']) ) {
|
14 |
check_admin_referer('subscribe2-manage_subscribers' . $s2nonce);
|
15 |
-
if ( $_POST['addresses'] ) {
|
16 |
$sub_error = '';
|
17 |
$unsub_error = '';
|
18 |
foreach ( preg_split ("|[\s,]+|", $_POST['addresses']) as $email ) {
|
@@ -41,27 +41,27 @@ if ( isset($_POST['s2_admin']) ) {
|
|
41 |
}
|
42 |
echo $message;
|
43 |
$_POST['what'] = 'confirmed';
|
44 |
-
} elseif ( $_POST['process'] ) {
|
45 |
-
if ( $_POST['delete'] ) {
|
46 |
foreach ( $_POST['delete'] as $address ) {
|
47 |
$this->delete($address);
|
48 |
}
|
49 |
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Address(es) deleted!', 'subscribe2') . "</strong></p></div>";
|
50 |
}
|
51 |
-
if ( $_POST['confirm'] ) {
|
52 |
foreach ( $_POST['confirm'] as $address ) {
|
53 |
$this->toggle($this->sanitize_email($address));
|
54 |
}
|
55 |
$message = "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Status changed!', 'subscribe2') . "</strong></p></div>";
|
56 |
}
|
57 |
-
if ( $_POST['unconfirm'] ) {
|
58 |
foreach ( $_POST['unconfirm'] as $address ) {
|
59 |
$this->toggle($this->sanitize_email($address));
|
60 |
}
|
61 |
$message = "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Status changed!', 'subscribe2') . "</strong></p></div>";
|
62 |
}
|
63 |
echo $message;
|
64 |
-
} elseif ( $_POST['searchterm'] ) {
|
65 |
$confirmed = $this->get_public();
|
66 |
$unconfirmed = $this->get_public(0);
|
67 |
$subscribers = array_merge((array)$confirmed, (array)$unconfirmed, (array)$all_users);
|
@@ -70,19 +70,19 @@ if ( isset($_POST['s2_admin']) ) {
|
|
70 |
$result[] = $subscriber;
|
71 |
}
|
72 |
}
|
73 |
-
} elseif ( $_POST['remind'] ) {
|
74 |
$this->remind($_POST['reminderemails']);
|
75 |
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Reminder Email(s) Sent!', 'subscribe2') . "</strong></p></div>";
|
76 |
-
} elseif ( $_POST['sub_categories'] && 'subscribe' == $_POST['manage'] ) {
|
77 |
$this->subscribe_registered_users($_POST['exportcsv'], $_POST['category']);
|
78 |
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Registered Users Subscribed!', 'subscribe2') . "</strong></p></div>";
|
79 |
-
} elseif ( $_POST['sub_categories'] && 'unsubscribe' == $_POST['manage'] ) {
|
80 |
$this->unsubscribe_registered_users($_POST['exportcsv'], $_POST['category']);
|
81 |
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Registered Users Unsubscribed!', 'subscribe2') . "</strong></p></div>";
|
82 |
-
} elseif ( $_POST['sub_format'] ) {
|
83 |
$this->format_change( $_POST['format'], $_POST['exportcsv'] );
|
84 |
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Format updated for Selected Registered Users!', 'subscribe2') . "</strong></p></div>";
|
85 |
-
} elseif ( $_POST['sub_digest'] ) {
|
86 |
$this->digest_change( $_POST['sub_category'], $_POST['exportcsv'] );
|
87 |
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Digest Subscription updated for Selected Registered Users!', 'subscribe2') . "</strong></p></div>";
|
88 |
}
|
@@ -165,7 +165,7 @@ if ( isset($_POST['what']) ) {
|
|
165 |
$what = 'all';
|
166 |
$subscribers = array_merge((array)$confirmed, (array)$unconfirmed, (array)$all_users);
|
167 |
}
|
168 |
-
if ( $_POST['searchterm'] ) {
|
169 |
$subscribers = &$result;
|
170 |
$what = 'public';
|
171 |
}
|
@@ -229,7 +229,7 @@ echo "<br /><br />";
|
|
229 |
// show the selected subscribers
|
230 |
$alternate = 'alternate';
|
231 |
echo "<table class=\"widefat\" cellpadding=\"2\" cellspacing=\"2\" width=\"100%\">";
|
232 |
-
$searchterm = ( $_POST['searchterm'] ) ? stripslashes(esc_html($_POST['searchterm'])) : '';
|
233 |
echo "<tr class=\"alternate\"><td colspan=\"3\"><input type=\"text\" name=\"searchterm\" value=\"" . $searchterm . "\" /></td>\r\n";
|
234 |
echo "<td><input type=\"submit\" class=\"button-secondary\" name=\"search\" value=\"" . __('Search Subscribers', 'subscribe2') . "\" /></td>\r\n";
|
235 |
if ( $reminderform ) {
|
12 |
// was anything POSTed ?
|
13 |
if ( isset($_POST['s2_admin']) ) {
|
14 |
check_admin_referer('subscribe2-manage_subscribers' . $s2nonce);
|
15 |
+
if ( !empty($_POST['addresses']) ) {
|
16 |
$sub_error = '';
|
17 |
$unsub_error = '';
|
18 |
foreach ( preg_split ("|[\s,]+|", $_POST['addresses']) as $email ) {
|
41 |
}
|
42 |
echo $message;
|
43 |
$_POST['what'] = 'confirmed';
|
44 |
+
} elseif ( isset($_POST['process']) ) {
|
45 |
+
if ( isset($_POST['delete']) ) {
|
46 |
foreach ( $_POST['delete'] as $address ) {
|
47 |
$this->delete($address);
|
48 |
}
|
49 |
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Address(es) deleted!', 'subscribe2') . "</strong></p></div>";
|
50 |
}
|
51 |
+
if ( isset($_POST['confirm']) ) {
|
52 |
foreach ( $_POST['confirm'] as $address ) {
|
53 |
$this->toggle($this->sanitize_email($address));
|
54 |
}
|
55 |
$message = "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Status changed!', 'subscribe2') . "</strong></p></div>";
|
56 |
}
|
57 |
+
if ( isset($_POST['unconfirm']) ) {
|
58 |
foreach ( $_POST['unconfirm'] as $address ) {
|
59 |
$this->toggle($this->sanitize_email($address));
|
60 |
}
|
61 |
$message = "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Status changed!', 'subscribe2') . "</strong></p></div>";
|
62 |
}
|
63 |
echo $message;
|
64 |
+
} elseif ( !empty($_POST['searchterm']) ) {
|
65 |
$confirmed = $this->get_public();
|
66 |
$unconfirmed = $this->get_public(0);
|
67 |
$subscribers = array_merge((array)$confirmed, (array)$unconfirmed, (array)$all_users);
|
70 |
$result[] = $subscriber;
|
71 |
}
|
72 |
}
|
73 |
+
} elseif ( isset($_POST['remind']) ) {
|
74 |
$this->remind($_POST['reminderemails']);
|
75 |
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Reminder Email(s) Sent!', 'subscribe2') . "</strong></p></div>";
|
76 |
+
} elseif ( isset($_POST['sub_categories']) && 'subscribe' == $_POST['manage'] ) {
|
77 |
$this->subscribe_registered_users($_POST['exportcsv'], $_POST['category']);
|
78 |
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Registered Users Subscribed!', 'subscribe2') . "</strong></p></div>";
|
79 |
+
} elseif ( isset($_POST['sub_categories']) && 'unsubscribe' == $_POST['manage'] ) {
|
80 |
$this->unsubscribe_registered_users($_POST['exportcsv'], $_POST['category']);
|
81 |
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Registered Users Unsubscribed!', 'subscribe2') . "</strong></p></div>";
|
82 |
+
} elseif ( isset($_POST['sub_format']) ) {
|
83 |
$this->format_change( $_POST['format'], $_POST['exportcsv'] );
|
84 |
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Format updated for Selected Registered Users!', 'subscribe2') . "</strong></p></div>";
|
85 |
+
} elseif ( isset($_POST['sub_digest']) ) {
|
86 |
$this->digest_change( $_POST['sub_category'], $_POST['exportcsv'] );
|
87 |
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Digest Subscription updated for Selected Registered Users!', 'subscribe2') . "</strong></p></div>";
|
88 |
}
|
165 |
$what = 'all';
|
166 |
$subscribers = array_merge((array)$confirmed, (array)$unconfirmed, (array)$all_users);
|
167 |
}
|
168 |
+
if ( !empty($_POST['searchterm']) ) {
|
169 |
$subscribers = &$result;
|
170 |
$what = 'public';
|
171 |
}
|
229 |
// show the selected subscribers
|
230 |
$alternate = 'alternate';
|
231 |
echo "<table class=\"widefat\" cellpadding=\"2\" cellspacing=\"2\" width=\"100%\">";
|
232 |
+
$searchterm = ( isset($_POST['searchterm']) ) ? stripslashes(esc_html($_POST['searchterm'])) : '';
|
233 |
echo "<tr class=\"alternate\"><td colspan=\"3\"><input type=\"text\" name=\"searchterm\" value=\"" . $searchterm . "\" /></td>\r\n";
|
234 |
echo "<td><input type=\"submit\" class=\"button-secondary\" name=\"search\" value=\"" . __('Search Subscribers', 'subscribe2') . "\" /></td>\r\n";
|
235 |
if ( $reminderform ) {
|
admin/your_subscriptions.php
CHANGED
@@ -16,7 +16,7 @@ if ( isset($_GET['email']) ) {
|
|
16 |
if ( isset($_POST['s2_admin']) && 'user' == $_POST['s2_admin'] ) {
|
17 |
check_admin_referer('subscribe2-user_subscribers' . $s2nonce);
|
18 |
|
19 |
-
if ( $_POST['submit'] ) {
|
20 |
if ( isset($_POST['s2_format']) ) {
|
21 |
update_user_meta($user_ID, $this->get_usermeta_keyname('s2_format'), $_POST['s2_format']);
|
22 |
} else {
|
@@ -34,7 +34,7 @@ if ( isset($_POST['s2_admin']) && 'user' == $_POST['s2_admin'] ) {
|
|
34 |
}
|
35 |
}
|
36 |
|
37 |
-
$cats = $_POST['category'];
|
38 |
|
39 |
if ( empty($cats) || $cats == '-1' ) {
|
40 |
$oldcats = explode(',', get_user_meta($user_ID, $this->get_usermeta_keyname('s2_subscribed'), true));
|
@@ -74,16 +74,16 @@ if ( isset($_POST['s2_admin']) && 'user' == $_POST['s2_admin'] ) {
|
|
74 |
update_user_meta($user_ID, $this->get_usermeta_keyname('s2_subscribed'), implode(',', $cats));
|
75 |
}
|
76 |
|
77 |
-
$authors = $_POST['author'];
|
78 |
if ( is_array($authors) ) {
|
79 |
$authors = implode(',', $authors);
|
80 |
update_user_meta($user_ID, $this->get_usermeta_keyname('s2_authors'), $authors);
|
81 |
} elseif ( empty($authors) ) {
|
82 |
update_user_meta($user_ID, $this->get_usermeta_keyname('s2_authors'), '');
|
83 |
}
|
84 |
-
} elseif ( $_POST['subscribe'] ) {
|
85 |
$this->one_click_handler($user_ID, 'subscribe');
|
86 |
-
} elseif ( $_POST['unsubscribe'] ) {
|
87 |
$this->one_click_handler($user_ID, 'unsubscribe');
|
88 |
}
|
89 |
|
@@ -124,10 +124,12 @@ if ( $this->subscribe2_options['email_freq'] == 'never' ) {
|
|
124 |
echo "</p>";
|
125 |
}
|
126 |
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
|
|
|
|
131 |
|
132 |
// subscribed categories
|
133 |
if ( $this->s2_mu ) {
|
16 |
if ( isset($_POST['s2_admin']) && 'user' == $_POST['s2_admin'] ) {
|
17 |
check_admin_referer('subscribe2-user_subscribers' . $s2nonce);
|
18 |
|
19 |
+
if ( isset($_POST['submit']) ) {
|
20 |
if ( isset($_POST['s2_format']) ) {
|
21 |
update_user_meta($user_ID, $this->get_usermeta_keyname('s2_format'), $_POST['s2_format']);
|
22 |
} else {
|
34 |
}
|
35 |
}
|
36 |
|
37 |
+
$cats = ( isset($_POST['category']) ) ? $_POST['category'] : '';
|
38 |
|
39 |
if ( empty($cats) || $cats == '-1' ) {
|
40 |
$oldcats = explode(',', get_user_meta($user_ID, $this->get_usermeta_keyname('s2_subscribed'), true));
|
74 |
update_user_meta($user_ID, $this->get_usermeta_keyname('s2_subscribed'), implode(',', $cats));
|
75 |
}
|
76 |
|
77 |
+
$authors = ( isset($_POST['author']) ) ? $_POST['author'] : '';
|
78 |
if ( is_array($authors) ) {
|
79 |
$authors = implode(',', $authors);
|
80 |
update_user_meta($user_ID, $this->get_usermeta_keyname('s2_authors'), $authors);
|
81 |
} elseif ( empty($authors) ) {
|
82 |
update_user_meta($user_ID, $this->get_usermeta_keyname('s2_authors'), '');
|
83 |
}
|
84 |
+
} elseif ( isset($_POST['subscribe']) ) {
|
85 |
$this->one_click_handler($user_ID, 'subscribe');
|
86 |
+
} elseif ( isset($_POST['unsubscribe']) ) {
|
87 |
$this->one_click_handler($user_ID, 'unsubscribe');
|
88 |
}
|
89 |
|
124 |
echo "</p>";
|
125 |
}
|
126 |
|
127 |
+
if ( $this->subscribe2_options['one_click_profile'] == 'yes' ) {
|
128 |
+
// One-click subscribe and unsubscribe buttons
|
129 |
+
echo "<h2>" . __('One Click Subscription / Unsubscription', 'subscribe2') . "</h2>\r\n";
|
130 |
+
echo "<p class=\"submit\"><input type=\"submit\" class=\"button-primary\" name=\"subscribe\" value=\"" . __("Subscribe to All", 'subscribe2') . "\" /> ";
|
131 |
+
echo "<input type=\"submit\" class=\"button-primary\" name=\"unsubscribe\" value=\"" . __("Unsubscribe from All", 'subscribe2') . "\" /></p>";
|
132 |
+
}
|
133 |
|
134 |
// subscribed categories
|
135 |
if ( $this->s2_mu ) {
|
classes/class-s2-admin.php
CHANGED
@@ -21,7 +21,7 @@ class s2_admin extends s2class {
|
|
21 |
|
22 |
add_submenu_page('s2', __('Send Email', 'subscribe2'), __('Send Email', 'subscribe2'), apply_filters('s2_capability', "publish_posts", 'send'), 's2_posts', array(&$this, 'write_menu'));
|
23 |
|
24 |
-
$s2nonce =
|
25 |
} // end admin_menu()
|
26 |
|
27 |
/**
|
@@ -154,7 +154,7 @@ class s2_admin extends s2class {
|
|
154 |
function s2_meta_box() {
|
155 |
global $post_ID;
|
156 |
$s2mail = get_post_meta($post_ID, 's2mail', true);
|
157 |
-
echo "<input type=\"hidden\" name=\"s2meta_nonce\" id=\"s2meta_nonce\" value=\"" . wp_create_nonce(
|
158 |
echo __("Check here to disable sending of an email notification for this post/page", 'subscribe2');
|
159 |
echo " <input type=\"checkbox\" name=\"s2_meta_field\" value=\"no\"";
|
160 |
if ( $s2mail == 'no' || ($this->subscribe2_options['s2meta_default'] == "1" && $s2mail == "") ) {
|
@@ -167,7 +167,7 @@ class s2_admin extends s2class {
|
|
167 |
Meta box form handler
|
168 |
*/
|
169 |
function s2_meta_handler($post_id) {
|
170 |
-
if ( !isset($_POST['s2meta_nonce']) || !wp_verify_nonce($_POST['s2meta_nonce'],
|
171 |
|
172 |
if ( 'page' == $_POST['post_type'] ) {
|
173 |
if ( !current_user_can('edit_page', $post_id) ) { return $post_id; }
|
@@ -421,8 +421,12 @@ class s2_admin extends s2class {
|
|
421 |
|
422 |
$args = array('fields' => array('ID', 'display_name'), 'role' => 'administrator');
|
423 |
$wp_user_query = get_users( $args );
|
424 |
-
|
425 |
-
$
|
|
|
|
|
|
|
|
|
426 |
}
|
427 |
|
428 |
if ( $inc_author ) {
|
@@ -527,7 +531,7 @@ class s2_admin extends s2class {
|
|
527 |
if ( '' == $emails || '' == $cats ) { return false; }
|
528 |
global $wpdb;
|
529 |
|
530 |
-
$useremails = explode("
|
531 |
$useremails = implode("', '", $useremails);
|
532 |
|
533 |
$sql = "SELECT ID FROM $wpdb->users WHERE user_email IN ('$useremails')";
|
@@ -559,7 +563,7 @@ class s2_admin extends s2class {
|
|
559 |
if ( '' == $emails || '' == $cats ) { return false; }
|
560 |
global $wpdb;
|
561 |
|
562 |
-
$useremails = explode("
|
563 |
$useremails = "'" . implode("', '", $useremails) . "'";
|
564 |
|
565 |
$sql = "SELECT ID FROM $wpdb->users WHERE user_email IN ($useremails)";
|
@@ -597,7 +601,7 @@ class s2_admin extends s2class {
|
|
597 |
$ids = $wpdb->get_col("SELECT ID FROM $wpdb->users WHERE user_email IN ($emails)");
|
598 |
$ids = implode(',', $ids);
|
599 |
$sql = "UPDATE $wpdb->usermeta SET meta_value='{$format}' WHERE meta_key='" . $this->get_usermeta_keyname('s2_format') . "' AND user_id IN ($ids)";
|
600 |
-
$wpdb->get_results(
|
601 |
} // end format_change()
|
602 |
|
603 |
/**
|
21 |
|
22 |
add_submenu_page('s2', __('Send Email', 'subscribe2'), __('Send Email', 'subscribe2'), apply_filters('s2_capability', "publish_posts", 'send'), 's2_posts', array(&$this, 'write_menu'));
|
23 |
|
24 |
+
$s2nonce = wp_hash('subscribe2');
|
25 |
} // end admin_menu()
|
26 |
|
27 |
/**
|
154 |
function s2_meta_box() {
|
155 |
global $post_ID;
|
156 |
$s2mail = get_post_meta($post_ID, 's2mail', true);
|
157 |
+
echo "<input type=\"hidden\" name=\"s2meta_nonce\" id=\"s2meta_nonce\" value=\"" . wp_create_nonce(wp_hash(plugin_basename(__FILE__))) . "\" />";
|
158 |
echo __("Check here to disable sending of an email notification for this post/page", 'subscribe2');
|
159 |
echo " <input type=\"checkbox\" name=\"s2_meta_field\" value=\"no\"";
|
160 |
if ( $s2mail == 'no' || ($this->subscribe2_options['s2meta_default'] == "1" && $s2mail == "") ) {
|
167 |
Meta box form handler
|
168 |
*/
|
169 |
function s2_meta_handler($post_id) {
|
170 |
+
if ( !isset($_POST['s2meta_nonce']) || !wp_verify_nonce($_POST['s2meta_nonce'], wp_hash(plugin_basename(__FILE__))) ) { return $post_id; }
|
171 |
|
172 |
if ( 'page' == $_POST['post_type'] ) {
|
173 |
if ( !current_user_can('edit_page', $post_id) ) { return $post_id; }
|
421 |
|
422 |
$args = array('fields' => array('ID', 'display_name'), 'role' => 'administrator');
|
423 |
$wp_user_query = get_users( $args );
|
424 |
+
if ( !empty($wp_user_query) ) {
|
425 |
+
foreach ($wp_user_query as $user) {
|
426 |
+
$admins[] = $user;
|
427 |
+
}
|
428 |
+
} else {
|
429 |
+
$admins = array();
|
430 |
}
|
431 |
|
432 |
if ( $inc_author ) {
|
531 |
if ( '' == $emails || '' == $cats ) { return false; }
|
532 |
global $wpdb;
|
533 |
|
534 |
+
$useremails = explode(",\r\n", $emails);
|
535 |
$useremails = implode("', '", $useremails);
|
536 |
|
537 |
$sql = "SELECT ID FROM $wpdb->users WHERE user_email IN ('$useremails')";
|
563 |
if ( '' == $emails || '' == $cats ) { return false; }
|
564 |
global $wpdb;
|
565 |
|
566 |
+
$useremails = explode(",\r\n", $emails);
|
567 |
$useremails = "'" . implode("', '", $useremails) . "'";
|
568 |
|
569 |
$sql = "SELECT ID FROM $wpdb->users WHERE user_email IN ($useremails)";
|
601 |
$ids = $wpdb->get_col("SELECT ID FROM $wpdb->users WHERE user_email IN ($emails)");
|
602 |
$ids = implode(',', $ids);
|
603 |
$sql = "UPDATE $wpdb->usermeta SET meta_value='{$format}' WHERE meta_key='" . $this->get_usermeta_keyname('s2_format') . "' AND user_id IN ($ids)";
|
604 |
+
$wpdb->get_results($sql);
|
605 |
} // end format_change()
|
606 |
|
607 |
/**
|
classes/class-s2-core.php
CHANGED
@@ -413,6 +413,7 @@ class s2class {
|
|
413 |
Function to add UTM tracking details to links
|
414 |
*/
|
415 |
function get_tracking_link($link) {
|
|
|
416 |
if ( !empty($this->subscribe2_options['tracking']) ) {
|
417 |
$delimiter = '?';
|
418 |
if ( strpos($link, $delimiter) > 0 ) { $delimiter = '&'; }
|
@@ -512,6 +513,10 @@ class s2class {
|
|
512 |
// if not, no sense doing anything else
|
513 |
return $post;
|
514 |
}
|
|
|
|
|
|
|
|
|
515 |
}
|
516 |
|
517 |
// we set these class variables so that we can avoid
|
@@ -668,7 +673,7 @@ class s2class {
|
|
668 |
|
669 |
// generate the URL "?s2=ACTION+HASH+ID"
|
670 |
// ACTION = 1 to subscribe, 0 to unsubscribe
|
671 |
-
// HASH =
|
672 |
// ID = user's ID in the subscribe2 table
|
673 |
// use home instead of siteurl incase index.php is not in core wordpress directory
|
674 |
$link = get_option('home') . "/?s2=";
|
@@ -678,7 +683,7 @@ class s2class {
|
|
678 |
} elseif ( 'del' == $what ) {
|
679 |
$link .= '0';
|
680 |
}
|
681 |
-
$link .=
|
682 |
$link .= $id;
|
683 |
|
684 |
// sort the headers now so we have all substitute information
|
@@ -769,14 +774,14 @@ class s2class {
|
|
769 |
if ( $confirm ) {
|
770 |
$wpdb->get_results("UPDATE $this->public SET active='1', ip='$this->ip' WHERE CAST(email as binary)='$email'");
|
771 |
} else {
|
772 |
-
$wpdb->get_results("UPDATE $this->public SET date=
|
773 |
}
|
774 |
} else {
|
775 |
if ( $confirm ) {
|
776 |
global $current_user;
|
777 |
-
$wpdb->get_results($wpdb->prepare("INSERT INTO $this->public (email, active, date, ip) VALUES (%s, %d,
|
778 |
} else {
|
779 |
-
$wpdb->get_results($wpdb->prepare("INSERT INTO $this->public (email, active, date, ip) VALUES (%s, %d,
|
780 |
}
|
781 |
}
|
782 |
} // end add()
|
@@ -1134,7 +1139,7 @@ class s2class {
|
|
1134 |
}
|
1135 |
|
1136 |
delete_user_meta($user_ID, $this->get_usermeta_keyname('s2_subscribed'));
|
1137 |
-
|
1138 |
}
|
1139 |
} //end one_click_handler()
|
1140 |
|
@@ -1617,7 +1622,6 @@ class s2class {
|
|
1617 |
$this->load_strings();
|
1618 |
|
1619 |
// Is this WordPressMU or not?
|
1620 |
-
$this->s2_mu = false;
|
1621 |
if ( isset($wpmu_version) || strpos($wp_version, 'wordpress-mu') ) {
|
1622 |
$this->s2_mu = true;
|
1623 |
}
|
@@ -1724,7 +1728,7 @@ class s2class {
|
|
1724 |
}
|
1725 |
|
1726 |
// capture CSV export
|
1727 |
-
if ( isset($_POST['s2_admin']) && $_POST['csv'] ) {
|
1728 |
$date = date('Y-m-d');
|
1729 |
header("Content-Description: File Transfer");
|
1730 |
header("Content-type: application/octet-stream");
|
@@ -1774,11 +1778,16 @@ class s2class {
|
|
1774 |
var $post_time = '';
|
1775 |
var $myname = '';
|
1776 |
var $myemail = '';
|
|
|
|
|
|
|
|
|
1777 |
var $signup_dates = array();
|
1778 |
var $filtered = 0;
|
1779 |
var $preview_email = false;
|
1780 |
|
1781 |
// state variables used to affect processing
|
|
|
1782 |
var $action = '';
|
1783 |
var $email = '';
|
1784 |
var $message = '';
|
413 |
Function to add UTM tracking details to links
|
414 |
*/
|
415 |
function get_tracking_link($link) {
|
416 |
+
if ( empty($link) ) { return; }
|
417 |
if ( !empty($this->subscribe2_options['tracking']) ) {
|
418 |
$delimiter = '?';
|
419 |
if ( strpos($link, $delimiter) > 0 ) { $delimiter = '&'; }
|
513 |
// if not, no sense doing anything else
|
514 |
return $post;
|
515 |
}
|
516 |
+
} else {
|
517 |
+
// make sure we prime the taxonomy variable for preview posts
|
518 |
+
$s2_taxonomies = array('category');
|
519 |
+
$s2_taxonomies = apply_filters('s2_taxonomies', $s2_taxonomies);
|
520 |
}
|
521 |
|
522 |
// we set these class variables so that we can avoid
|
673 |
|
674 |
// generate the URL "?s2=ACTION+HASH+ID"
|
675 |
// ACTION = 1 to subscribe, 0 to unsubscribe
|
676 |
+
// HASH = wp_hash of email address
|
677 |
// ID = user's ID in the subscribe2 table
|
678 |
// use home instead of siteurl incase index.php is not in core wordpress directory
|
679 |
$link = get_option('home') . "/?s2=";
|
683 |
} elseif ( 'del' == $what ) {
|
684 |
$link .= '0';
|
685 |
}
|
686 |
+
$link .= wp_hash($this->email);
|
687 |
$link .= $id;
|
688 |
|
689 |
// sort the headers now so we have all substitute information
|
774 |
if ( $confirm ) {
|
775 |
$wpdb->get_results("UPDATE $this->public SET active='1', ip='$this->ip' WHERE CAST(email as binary)='$email'");
|
776 |
} else {
|
777 |
+
$wpdb->get_results("UPDATE $this->public SET date=CURDATE() WHERE CAST(email as binary)='$email'");
|
778 |
}
|
779 |
} else {
|
780 |
if ( $confirm ) {
|
781 |
global $current_user;
|
782 |
+
$wpdb->get_results($wpdb->prepare("INSERT INTO $this->public (email, active, date, ip) VALUES (%s, %d, CURDATE(), %s)", $email, 1, $current_user->user_login));
|
783 |
} else {
|
784 |
+
$wpdb->get_results($wpdb->prepare("INSERT INTO $this->public (email, active, date, ip) VALUES (%s, %d, CURDATE(), %s)", $email, 0, $this->ip));
|
785 |
}
|
786 |
}
|
787 |
} // end add()
|
1139 |
}
|
1140 |
|
1141 |
delete_user_meta($user_ID, $this->get_usermeta_keyname('s2_subscribed'));
|
1142 |
+
update_user_meta($user_ID, $this->get_usermeta_keyname('s2_autosub'), 'no');
|
1143 |
}
|
1144 |
} //end one_click_handler()
|
1145 |
|
1622 |
$this->load_strings();
|
1623 |
|
1624 |
// Is this WordPressMU or not?
|
|
|
1625 |
if ( isset($wpmu_version) || strpos($wp_version, 'wordpress-mu') ) {
|
1626 |
$this->s2_mu = true;
|
1627 |
}
|
1728 |
}
|
1729 |
|
1730 |
// capture CSV export
|
1731 |
+
if ( isset($_POST['s2_admin']) && isset($_POST['csv']) ) {
|
1732 |
$date = date('Y-m-d');
|
1733 |
header("Content-Description: File Transfer");
|
1734 |
header("Content-type: application/octet-stream");
|
1778 |
var $post_time = '';
|
1779 |
var $myname = '';
|
1780 |
var $myemail = '';
|
1781 |
+
var $authorname = '';
|
1782 |
+
var $post_cat_names = '';
|
1783 |
+
var $post_tag_names = '';
|
1784 |
+
var $post_count = '';
|
1785 |
var $signup_dates = array();
|
1786 |
var $filtered = 0;
|
1787 |
var $preview_email = false;
|
1788 |
|
1789 |
// state variables used to affect processing
|
1790 |
+
var $s2_mu = false;
|
1791 |
var $action = '';
|
1792 |
var $email = '';
|
1793 |
var $message = '';
|
classes/class-s2-frontend.php
CHANGED
@@ -20,14 +20,18 @@ class s2_frontend extends s2class {
|
|
20 |
return $this->s2form;
|
21 |
}
|
22 |
|
|
|
|
|
|
|
|
|
23 |
// if a button is hidden, show only other
|
24 |
if ( $hide == 'subscribe' ) {
|
25 |
-
$this->input_form_action = "<input type=\"submit\" name=\"unsubscribe\" value=\"" .
|
26 |
} elseif ( $hide == 'unsubscribe' ) {
|
27 |
-
$this->input_form_action = "<input type=\"submit\" name=\"subscribe\" value=\"" .
|
28 |
} else {
|
29 |
// both form input actions
|
30 |
-
$this->input_form_action = "<input type=\"submit\" name=\"subscribe\" value=\"" .
|
31 |
}
|
32 |
// if ID is provided, get permalink
|
33 |
if ( $id ) {
|
@@ -166,7 +170,7 @@ class s2_frontend extends s2class {
|
|
166 |
$id = intval(substr($code, 33));
|
167 |
if ( $id ) {
|
168 |
$this->email = $this->sanitize_email($this->get_email($id));
|
169 |
-
if ( !$this->email || $hash !==
|
170 |
return $this->no_such_email;
|
171 |
}
|
172 |
} else {
|
20 |
return $this->s2form;
|
21 |
}
|
22 |
|
23 |
+
// Apply filters to button text
|
24 |
+
$unsubscribe_button_value = apply_filters('s2_unsubscribe_button', __('Unsubscribe', 'subscribe2'));
|
25 |
+
$subscribe_button_value = apply_filters('s2_subscribe_button', __('Subscribe', 'subscribe2'));
|
26 |
+
|
27 |
// if a button is hidden, show only other
|
28 |
if ( $hide == 'subscribe' ) {
|
29 |
+
$this->input_form_action = "<input type=\"submit\" name=\"unsubscribe\" value=\"" . esc_attr($unsubscribe_button_value) . "\" />";
|
30 |
} elseif ( $hide == 'unsubscribe' ) {
|
31 |
+
$this->input_form_action = "<input type=\"submit\" name=\"subscribe\" value=\"" . esc_attr($subscribe_button_value) . "\" />";
|
32 |
} else {
|
33 |
// both form input actions
|
34 |
+
$this->input_form_action = "<input type=\"submit\" name=\"subscribe\" value=\"" . esc_attr($subscribe_button_value) . "\" /> <input type=\"submit\" name=\"unsubscribe\" value=\"" . esc_attr($unsubscribe_button_value) . "\" />";
|
35 |
}
|
36 |
// if ID is provided, get permalink
|
37 |
if ( $id ) {
|
170 |
$id = intval(substr($code, 33));
|
171 |
if ( $id ) {
|
172 |
$this->email = $this->sanitize_email($this->get_email($id));
|
173 |
+
if ( !$this->email || $hash !== wp_hash($this->email) ) {
|
174 |
return $this->no_such_email;
|
175 |
}
|
176 |
} else {
|
subscribe2.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Subscribe2
|
4 |
Plugin URI: http://subscribe2.wordpress.com
|
5 |
Description: Notifies an email list when new entries are posted.
|
6 |
-
Version: 8.
|
7 |
Author: Matthew Robinson
|
8 |
Author URI: http://subscribe2.wordpress.com
|
9 |
Licence: GPL3
|
@@ -43,7 +43,7 @@ if ( version_compare($GLOBALS['wp_version'], '3.1', '<') || !function_exists( 'a
|
|
43 |
|
44 |
// our version number. Don't touch this or any line below
|
45 |
// unless you know exactly what you are doing
|
46 |
-
define( 'S2VERSION', '8.
|
47 |
define( 'S2PATH', trailingslashit(dirname(__FILE__)) );
|
48 |
define( 'S2DIR', trailingslashit(dirname(plugin_basename(__FILE__))) );
|
49 |
define( 'S2URL', plugin_dir_url(dirname(__FILE__)) . S2DIR );
|
3 |
Plugin Name: Subscribe2
|
4 |
Plugin URI: http://subscribe2.wordpress.com
|
5 |
Description: Notifies an email list when new entries are posted.
|
6 |
+
Version: 8.3
|
7 |
Author: Matthew Robinson
|
8 |
Author URI: http://subscribe2.wordpress.com
|
9 |
Licence: GPL3
|
43 |
|
44 |
// our version number. Don't touch this or any line below
|
45 |
// unless you know exactly what you are doing
|
46 |
+
define( 'S2VERSION', '8.3' );
|
47 |
define( 'S2PATH', trailingslashit(dirname(__FILE__)) );
|
48 |
define( 'S2DIR', trailingslashit(dirname(plugin_basename(__FILE__))) );
|
49 |
define( 'S2URL', plugin_dir_url(dirname(__FILE__)) . S2DIR );
|
subscribe2.pot
CHANGED
@@ -8,7 +8,7 @@ msgid ""
|
|
8 |
msgstr ""
|
9 |
"Project-Id-Version: PACKAGE VERSION\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
-
"POT-Creation-Date: 2012-
|
12 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
13 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
14 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
@@ -17,27 +17,31 @@ msgstr ""
|
|
17 |
"Content-Type: text/plain; charset=CHARSET\n"
|
18 |
"Content-Transfer-Encoding: 8bit\n"
|
19 |
|
20 |
-
#: admin/send_email.php:
|
|
|
|
|
|
|
|
|
21 |
msgid "Send an email to subscribers"
|
22 |
msgstr ""
|
23 |
|
24 |
-
#: admin/send_email.php:
|
25 |
msgid "A message from"
|
26 |
msgstr ""
|
27 |
|
28 |
-
#: admin/send_email.php:
|
29 |
msgid "Subject"
|
30 |
msgstr ""
|
31 |
|
32 |
-
#: admin/send_email.php:
|
33 |
msgid "Recipients:"
|
34 |
msgstr ""
|
35 |
|
36 |
-
#: admin/send_email.php:
|
37 |
msgid "Preview"
|
38 |
msgstr ""
|
39 |
|
40 |
-
#: admin/send_email.php:
|
41 |
msgid "Send"
|
42 |
msgstr ""
|
43 |
|
@@ -115,7 +119,7 @@ msgstr ""
|
|
115 |
#: admin/settings.php:265 admin/settings.php:415 admin/settings.php:420
|
116 |
#: admin/settings.php:434 admin/settings.php:441 admin/settings.php:453
|
117 |
#: admin/subscribers.php:339 admin/your_subscriptions.php:121
|
118 |
-
#: admin/your_subscriptions.php:
|
119 |
msgid "Yes"
|
120 |
msgstr ""
|
121 |
|
@@ -123,7 +127,7 @@ msgstr ""
|
|
123 |
#: admin/settings.php:267 admin/settings.php:412 admin/settings.php:417
|
124 |
#: admin/settings.php:422 admin/settings.php:436 admin/settings.php:443
|
125 |
#: admin/settings.php:450 admin/settings.php:455 admin/subscribers.php:341
|
126 |
-
#: admin/your_subscriptions.php:123 admin/your_subscriptions.php:
|
127 |
msgid "No"
|
128 |
msgstr ""
|
129 |
|
@@ -518,14 +522,13 @@ msgid "Enter addresses, one per line or comma-separated"
|
|
518 |
msgstr ""
|
519 |
|
520 |
#: admin/subscribers.php:219 admin/subscribers.php:324
|
521 |
-
#: admin/your_subscriptions.php:
|
522 |
-
#: classes/class-s2-frontend.php:
|
523 |
msgid "Subscribe"
|
524 |
msgstr ""
|
525 |
|
526 |
#: admin/subscribers.php:220 admin/subscribers.php:325
|
527 |
-
#: admin/your_subscriptions.php:
|
528 |
-
#: classes/class-s2-frontend.php:30
|
529 |
msgid "Unsubscribe"
|
530 |
msgstr ""
|
531 |
|
@@ -637,59 +640,59 @@ msgstr ""
|
|
637 |
msgid "Automatically subscribe me to newly created categories"
|
638 |
msgstr ""
|
639 |
|
640 |
-
#: admin/your_subscriptions.php:
|
641 |
msgid "One Click Subscription / Unsubscription"
|
642 |
msgstr ""
|
643 |
|
644 |
-
#: admin/your_subscriptions.php:
|
645 |
msgid "Subscribe to All"
|
646 |
msgstr ""
|
647 |
|
648 |
-
#: admin/your_subscriptions.php:
|
649 |
msgid "Unsubscribe from All"
|
650 |
msgstr ""
|
651 |
|
652 |
-
#: admin/your_subscriptions.php:
|
653 |
msgid "Unsubscribe me from this blog"
|
654 |
msgstr ""
|
655 |
|
656 |
-
#: admin/your_subscriptions.php:
|
657 |
msgid "Subscribe to all categories"
|
658 |
msgstr ""
|
659 |
|
660 |
-
#: admin/your_subscriptions.php:
|
661 |
msgid "Subscribed Categories on"
|
662 |
msgstr ""
|
663 |
|
664 |
-
#: admin/your_subscriptions.php:
|
665 |
msgid "Subscribed Categories"
|
666 |
msgstr ""
|
667 |
|
668 |
-
#: admin/your_subscriptions.php:
|
669 |
msgid "Receive periodic summaries of new posts?"
|
670 |
msgstr ""
|
671 |
|
672 |
-
#: admin/your_subscriptions.php:
|
673 |
msgid "Do not send notifications for post made by these authors"
|
674 |
msgstr ""
|
675 |
|
676 |
-
#: admin/your_subscriptions.php:
|
677 |
msgid "Update Preferences"
|
678 |
msgstr ""
|
679 |
|
680 |
-
#: admin/your_subscriptions.php:
|
681 |
msgid "Subscribed Blogs"
|
682 |
msgstr ""
|
683 |
|
684 |
-
#: admin/your_subscriptions.php:
|
685 |
msgid "Viewing Settings Now"
|
686 |
msgstr ""
|
687 |
|
688 |
-
#: admin/your_subscriptions.php:
|
689 |
msgid "View Settings"
|
690 |
msgstr ""
|
691 |
|
692 |
-
#: admin/your_subscriptions.php:
|
693 |
msgid "Subscribe to new blogs"
|
694 |
msgstr ""
|
695 |
|
@@ -750,63 +753,63 @@ msgstr ""
|
|
750 |
msgid "Registered Subscribers"
|
751 |
msgstr ""
|
752 |
|
753 |
-
#: classes/class-s2-admin.php:
|
754 |
msgid "Post Author"
|
755 |
msgstr ""
|
756 |
|
757 |
-
#: classes/class-s2-admin.php:
|
758 |
msgid ""
|
759 |
"The WordPress cron functions may be disabled on this server. Digest "
|
760 |
"notifications may not work."
|
761 |
msgstr ""
|
762 |
|
763 |
-
#: classes/class-s2-admin.php:
|
764 |
msgid "For each Post"
|
765 |
msgstr ""
|
766 |
|
767 |
-
#: classes/class-s2-admin.php:
|
768 |
msgid "Send Digest Notification at"
|
769 |
msgstr ""
|
770 |
|
771 |
-
#: classes/class-s2-admin.php:
|
772 |
msgid ""
|
773 |
"This option will be ignored if the time selected is not in the future in "
|
774 |
"relation to the current time"
|
775 |
msgstr ""
|
776 |
|
777 |
-
#: classes/class-s2-admin.php:
|
778 |
msgid "Current UTC time is"
|
779 |
msgstr ""
|
780 |
|
781 |
-
#: classes/class-s2-admin.php:
|
782 |
msgid "Current blog time is"
|
783 |
msgstr ""
|
784 |
|
785 |
-
#: classes/class-s2-admin.php:
|
786 |
msgid "Next email notification will be sent when your blog time is after"
|
787 |
msgstr ""
|
788 |
|
789 |
-
#: classes/class-s2-admin.php:
|
790 |
msgid "Attempt to resend the last Digest Notification email"
|
791 |
msgstr ""
|
792 |
|
793 |
-
#: classes/class-s2-admin.php:
|
794 |
msgid "Resend Digest"
|
795 |
msgstr ""
|
796 |
|
797 |
-
#: classes/class-s2-admin.php:
|
798 |
msgid "Email subscription"
|
799 |
msgstr ""
|
800 |
|
801 |
-
#: classes/class-s2-admin.php:
|
802 |
msgid "Subscribe / Unsubscribe"
|
803 |
msgstr ""
|
804 |
|
805 |
-
#: classes/class-s2-admin.php:
|
806 |
msgid "Receive notifications"
|
807 |
msgstr ""
|
808 |
|
809 |
-
#: classes/class-s2-admin.php:
|
810 |
msgid ""
|
811 |
"Check if you want to receive email notification when new posts are published"
|
812 |
msgstr ""
|
@@ -899,109 +902,109 @@ msgstr ""
|
|
899 |
msgid "Options reset!"
|
900 |
msgstr ""
|
901 |
|
902 |
-
#: classes/class-s2-core.php:
|
903 |
msgid "Plain Text Excerpt Preview"
|
904 |
msgstr ""
|
905 |
|
906 |
-
#: classes/class-s2-core.php:
|
907 |
msgid "Plain Text Full Preview"
|
908 |
msgstr ""
|
909 |
|
910 |
-
#: classes/class-s2-core.php:
|
911 |
msgid "HTML Excerpt Preview"
|
912 |
msgstr ""
|
913 |
|
914 |
-
#: classes/class-s2-core.php:
|
915 |
msgid "HTML Full Preview"
|
916 |
msgstr ""
|
917 |
|
918 |
-
#: classes/class-s2-core.php:
|
919 |
msgid "Registered User"
|
920 |
msgstr ""
|
921 |
|
922 |
-
#: classes/class-s2-core.php:
|
923 |
msgid "Confirmed Public Subscriber"
|
924 |
msgstr ""
|
925 |
|
926 |
-
#: classes/class-s2-core.php:
|
927 |
msgid "Unconfirmed Public Subscriber"
|
928 |
msgstr ""
|
929 |
|
930 |
-
#: classes/class-s2-core.php:
|
931 |
msgid "Check here to Subscribe to email notifications for new posts"
|
932 |
msgstr ""
|
933 |
|
934 |
-
#: classes/class-s2-core.php:
|
935 |
msgid ""
|
936 |
"By registering with this blog you are also agreeing to receive email "
|
937 |
"notifications for new posts but you can unsubscribe at anytime"
|
938 |
msgstr ""
|
939 |
|
940 |
-
#: classes/class-s2-core.php:
|
941 |
msgid "Check here to Subscribe to notifications for new posts"
|
942 |
msgstr ""
|
943 |
|
944 |
-
#: classes/class-s2-core.php:
|
945 |
msgid "Weekly"
|
946 |
msgstr ""
|
947 |
|
948 |
-
#: classes/class-s2-core.php:
|
949 |
msgid "Author"
|
950 |
msgstr ""
|
951 |
|
952 |
-
#: classes/class-s2-core.php:
|
953 |
msgid "Posted on"
|
954 |
msgstr ""
|
955 |
|
956 |
-
#: classes/class-s2-core.php:
|
957 |
msgid "Posted in"
|
958 |
msgstr ""
|
959 |
|
960 |
-
#: classes/class-s2-core.php:
|
961 |
msgid "Tagged as"
|
962 |
msgstr ""
|
963 |
|
964 |
-
#: classes/class-s2-core.php:
|
965 |
msgid "Digest Email"
|
966 |
msgstr ""
|
967 |
|
968 |
-
#: classes/class-s2-core.php:
|
969 |
msgid "Digest Preview"
|
970 |
msgstr ""
|
971 |
|
972 |
-
#: classes/class-s2-frontend.php:
|
973 |
msgid "Your email:"
|
974 |
msgstr ""
|
975 |
|
976 |
-
#: classes/class-s2-frontend.php:
|
977 |
msgid "Enter email address..."
|
978 |
msgstr ""
|
979 |
|
980 |
-
#: classes/class-s2-frontend.php:
|
981 |
msgid "Subscription Confirmation"
|
982 |
msgstr ""
|
983 |
|
984 |
-
#: classes/class-s2-frontend.php:
|
985 |
msgid "New Subscription"
|
986 |
msgstr ""
|
987 |
|
988 |
-
#: classes/class-s2-frontend.php:
|
989 |
msgid "subscribed to email notifications!"
|
990 |
msgstr ""
|
991 |
|
992 |
-
#: classes/class-s2-frontend.php:
|
993 |
msgid "New Unsubscription"
|
994 |
msgstr ""
|
995 |
|
996 |
-
#: classes/class-s2-frontend.php:
|
997 |
msgid "unsubscribed from email notifications!"
|
998 |
msgstr ""
|
999 |
|
1000 |
-
#: classes/class-s2-frontend.php:
|
1001 |
msgid "[Un]Subscribe to Posts"
|
1002 |
msgstr ""
|
1003 |
|
1004 |
-
#: classes/class-s2-frontend.php:
|
1005 |
msgid "Subscribe to this blog"
|
1006 |
msgstr ""
|
1007 |
|
8 |
msgstr ""
|
9 |
"Project-Id-Version: PACKAGE VERSION\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
+
"POT-Creation-Date: 2012-06-15 08:28+0100\n"
|
12 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
13 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
14 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
17 |
"Content-Type: text/plain; charset=CHARSET\n"
|
18 |
"Content-Transfer-Encoding: 8bit\n"
|
19 |
|
20 |
+
#: admin/send_email.php:42
|
21 |
+
msgid "Your email was empty"
|
22 |
+
msgstr ""
|
23 |
+
|
24 |
+
#: admin/send_email.php:53
|
25 |
msgid "Send an email to subscribers"
|
26 |
msgstr ""
|
27 |
|
28 |
+
#: admin/send_email.php:61
|
29 |
msgid "A message from"
|
30 |
msgstr ""
|
31 |
|
32 |
+
#: admin/send_email.php:66
|
33 |
msgid "Subject"
|
34 |
msgstr ""
|
35 |
|
36 |
+
#: admin/send_email.php:69
|
37 |
msgid "Recipients:"
|
38 |
msgstr ""
|
39 |
|
40 |
+
#: admin/send_email.php:73
|
41 |
msgid "Preview"
|
42 |
msgstr ""
|
43 |
|
44 |
+
#: admin/send_email.php:73
|
45 |
msgid "Send"
|
46 |
msgstr ""
|
47 |
|
119 |
#: admin/settings.php:265 admin/settings.php:415 admin/settings.php:420
|
120 |
#: admin/settings.php:434 admin/settings.php:441 admin/settings.php:453
|
121 |
#: admin/subscribers.php:339 admin/your_subscriptions.php:121
|
122 |
+
#: admin/your_subscriptions.php:161
|
123 |
msgid "Yes"
|
124 |
msgstr ""
|
125 |
|
127 |
#: admin/settings.php:267 admin/settings.php:412 admin/settings.php:417
|
128 |
#: admin/settings.php:422 admin/settings.php:436 admin/settings.php:443
|
129 |
#: admin/settings.php:450 admin/settings.php:455 admin/subscribers.php:341
|
130 |
+
#: admin/your_subscriptions.php:123 admin/your_subscriptions.php:165
|
131 |
msgid "No"
|
132 |
msgstr ""
|
133 |
|
522 |
msgstr ""
|
523 |
|
524 |
#: admin/subscribers.php:219 admin/subscribers.php:324
|
525 |
+
#: admin/your_subscriptions.php:259 classes/class-s2-core.php:17
|
526 |
+
#: classes/class-s2-frontend.php:25
|
527 |
msgid "Subscribe"
|
528 |
msgstr ""
|
529 |
|
530 |
#: admin/subscribers.php:220 admin/subscribers.php:325
|
531 |
+
#: admin/your_subscriptions.php:238 classes/class-s2-frontend.php:24
|
|
|
532 |
msgid "Unsubscribe"
|
533 |
msgstr ""
|
534 |
|
640 |
msgid "Automatically subscribe me to newly created categories"
|
641 |
msgstr ""
|
642 |
|
643 |
+
#: admin/your_subscriptions.php:129
|
644 |
msgid "One Click Subscription / Unsubscription"
|
645 |
msgstr ""
|
646 |
|
647 |
+
#: admin/your_subscriptions.php:130
|
648 |
msgid "Subscribe to All"
|
649 |
msgstr ""
|
650 |
|
651 |
+
#: admin/your_subscriptions.php:131
|
652 |
msgid "Unsubscribe from All"
|
653 |
msgstr ""
|
654 |
|
655 |
+
#: admin/your_subscriptions.php:141
|
656 |
msgid "Unsubscribe me from this blog"
|
657 |
msgstr ""
|
658 |
|
659 |
+
#: admin/your_subscriptions.php:145
|
660 |
msgid "Subscribe to all categories"
|
661 |
msgstr ""
|
662 |
|
663 |
+
#: admin/your_subscriptions.php:147
|
664 |
msgid "Subscribed Categories on"
|
665 |
msgstr ""
|
666 |
|
667 |
+
#: admin/your_subscriptions.php:149
|
668 |
msgid "Subscribed Categories"
|
669 |
msgstr ""
|
670 |
|
671 |
+
#: admin/your_subscriptions.php:155
|
672 |
msgid "Receive periodic summaries of new posts?"
|
673 |
msgstr ""
|
674 |
|
675 |
+
#: admin/your_subscriptions.php:171
|
676 |
msgid "Do not send notifications for post made by these authors"
|
677 |
msgstr ""
|
678 |
|
679 |
+
#: admin/your_subscriptions.php:177
|
680 |
msgid "Update Preferences"
|
681 |
msgstr ""
|
682 |
|
683 |
+
#: admin/your_subscriptions.php:227
|
684 |
msgid "Subscribed Blogs"
|
685 |
msgstr ""
|
686 |
|
687 |
+
#: admin/your_subscriptions.php:232 admin/your_subscriptions.php:253
|
688 |
msgid "Viewing Settings Now"
|
689 |
msgstr ""
|
690 |
|
691 |
+
#: admin/your_subscriptions.php:236 admin/your_subscriptions.php:257
|
692 |
msgid "View Settings"
|
693 |
msgstr ""
|
694 |
|
695 |
+
#: admin/your_subscriptions.php:248
|
696 |
msgid "Subscribe to new blogs"
|
697 |
msgstr ""
|
698 |
|
753 |
msgid "Registered Subscribers"
|
754 |
msgstr ""
|
755 |
|
756 |
+
#: classes/class-s2-admin.php:433
|
757 |
msgid "Post Author"
|
758 |
msgstr ""
|
759 |
|
760 |
+
#: classes/class-s2-admin.php:457
|
761 |
msgid ""
|
762 |
"The WordPress cron functions may be disabled on this server. Digest "
|
763 |
"notifications may not work."
|
764 |
msgstr ""
|
765 |
|
766 |
+
#: classes/class-s2-admin.php:461
|
767 |
msgid "For each Post"
|
768 |
msgstr ""
|
769 |
|
770 |
+
#: classes/class-s2-admin.php:475
|
771 |
msgid "Send Digest Notification at"
|
772 |
msgstr ""
|
773 |
|
774 |
+
#: classes/class-s2-admin.php:487
|
775 |
msgid ""
|
776 |
"This option will be ignored if the time selected is not in the future in "
|
777 |
"relation to the current time"
|
778 |
msgstr ""
|
779 |
|
780 |
+
#: classes/class-s2-admin.php:490
|
781 |
msgid "Current UTC time is"
|
782 |
msgstr ""
|
783 |
|
784 |
+
#: classes/class-s2-admin.php:492
|
785 |
msgid "Current blog time is"
|
786 |
msgstr ""
|
787 |
|
788 |
+
#: classes/class-s2-admin.php:494
|
789 |
msgid "Next email notification will be sent when your blog time is after"
|
790 |
msgstr ""
|
791 |
|
792 |
+
#: classes/class-s2-admin.php:497
|
793 |
msgid "Attempt to resend the last Digest Notification email"
|
794 |
msgstr ""
|
795 |
|
796 |
+
#: classes/class-s2-admin.php:498
|
797 |
msgid "Resend Digest"
|
798 |
msgstr ""
|
799 |
|
800 |
+
#: classes/class-s2-admin.php:721
|
801 |
msgid "Email subscription"
|
802 |
msgstr ""
|
803 |
|
804 |
+
#: classes/class-s2-admin.php:723
|
805 |
msgid "Subscribe / Unsubscribe"
|
806 |
msgstr ""
|
807 |
|
808 |
+
#: classes/class-s2-admin.php:724
|
809 |
msgid "Receive notifications"
|
810 |
msgstr ""
|
811 |
|
812 |
+
#: classes/class-s2-admin.php:725
|
813 |
msgid ""
|
814 |
"Check if you want to receive email notification when new posts are published"
|
815 |
msgstr ""
|
902 |
msgid "Options reset!"
|
903 |
msgstr ""
|
904 |
|
905 |
+
#: classes/class-s2-core.php:625
|
906 |
msgid "Plain Text Excerpt Preview"
|
907 |
msgstr ""
|
908 |
|
909 |
+
#: classes/class-s2-core.php:627
|
910 |
msgid "Plain Text Full Preview"
|
911 |
msgstr ""
|
912 |
|
913 |
+
#: classes/class-s2-core.php:629
|
914 |
msgid "HTML Excerpt Preview"
|
915 |
msgstr ""
|
916 |
|
917 |
+
#: classes/class-s2-core.php:631
|
918 |
msgid "HTML Full Preview"
|
919 |
msgstr ""
|
920 |
|
921 |
+
#: classes/class-s2-core.php:1210
|
922 |
msgid "Registered User"
|
923 |
msgstr ""
|
924 |
|
925 |
+
#: classes/class-s2-core.php:1215
|
926 |
msgid "Confirmed Public Subscriber"
|
927 |
msgstr ""
|
928 |
|
929 |
+
#: classes/class-s2-core.php:1217
|
930 |
msgid "Unconfirmed Public Subscriber"
|
931 |
msgstr ""
|
932 |
|
933 |
+
#: classes/class-s2-core.php:1254
|
934 |
msgid "Check here to Subscribe to email notifications for new posts"
|
935 |
msgstr ""
|
936 |
|
937 |
+
#: classes/class-s2-core.php:1260
|
938 |
msgid ""
|
939 |
"By registering with this blog you are also agreeing to receive email "
|
940 |
"notifications for new posts but you can unsubscribe at anytime"
|
941 |
msgstr ""
|
942 |
|
943 |
+
#: classes/class-s2-core.php:1286
|
944 |
msgid "Check here to Subscribe to notifications for new posts"
|
945 |
msgstr ""
|
946 |
|
947 |
+
#: classes/class-s2-core.php:1376
|
948 |
msgid "Weekly"
|
949 |
msgstr ""
|
950 |
|
951 |
+
#: classes/class-s2-core.php:1499 classes/class-s2-core.php:1500
|
952 |
msgid "Author"
|
953 |
msgstr ""
|
954 |
|
955 |
+
#: classes/class-s2-core.php:1508
|
956 |
msgid "Posted on"
|
957 |
msgstr ""
|
958 |
|
959 |
+
#: classes/class-s2-core.php:1512 classes/class-s2-core.php:1513
|
960 |
msgid "Posted in"
|
961 |
msgstr ""
|
962 |
|
963 |
+
#: classes/class-s2-core.php:1518 classes/class-s2-core.php:1519
|
964 |
msgid "Tagged as"
|
965 |
msgstr ""
|
966 |
|
967 |
+
#: classes/class-s2-core.php:1583
|
968 |
msgid "Digest Email"
|
969 |
msgstr ""
|
970 |
|
971 |
+
#: classes/class-s2-core.php:1593
|
972 |
msgid "Digest Preview"
|
973 |
msgstr ""
|
974 |
|
975 |
+
#: classes/class-s2-frontend.php:46 classes/class-s2-frontend.php:48
|
976 |
msgid "Your email:"
|
977 |
msgstr ""
|
978 |
|
979 |
+
#: classes/class-s2-frontend.php:48
|
980 |
msgid "Enter email address..."
|
981 |
msgstr ""
|
982 |
|
983 |
+
#: classes/class-s2-frontend.php:153
|
984 |
msgid "Subscription Confirmation"
|
985 |
msgstr ""
|
986 |
|
987 |
+
#: classes/class-s2-frontend.php:191
|
988 |
msgid "New Subscription"
|
989 |
msgstr ""
|
990 |
|
991 |
+
#: classes/class-s2-frontend.php:193
|
992 |
msgid "subscribed to email notifications!"
|
993 |
msgstr ""
|
994 |
|
995 |
+
#: classes/class-s2-frontend.php:214
|
996 |
msgid "New Unsubscription"
|
997 |
msgstr ""
|
998 |
|
999 |
+
#: classes/class-s2-frontend.php:216
|
1000 |
msgid "unsubscribed from email notifications!"
|
1001 |
msgstr ""
|
1002 |
|
1003 |
+
#: classes/class-s2-frontend.php:242
|
1004 |
msgid "[Un]Subscribe to Posts"
|
1005 |
msgstr ""
|
1006 |
|
1007 |
+
#: classes/class-s2-frontend.php:266 classes/class-s2-frontend.php:268
|
1008 |
msgid "Subscribe to this blog"
|
1009 |
msgstr ""
|
1010 |
|