Subscribe2 - Version 4.8

Version Description

Download this release

Release Info

Developer MattyRob
Plugin Icon 128x128 Subscribe2
Version 4.8
Comparing to
See all releases

Code changes from version 4.7 to 4.8

ReadMe.txt CHANGED
@@ -4,27 +4,25 @@ Donate link: http://subscribe2.wordpress.com/donate/
4
Tags: posts, subscription, email
5
Requires at least: 2.0.x
6
Tested up to: 2.5
7
- Stable tag: 4.7
8
9
Sends a list of subscribers an email notification when new posts are published to your blog
10
11
== Description ==
12
13
- Subscribe2 provides a comprehensive subscription management system for WordPress blogs that sends email notifications to a list of subscribers when you publish new content to your blog. The plugin also handles subscription requests allowing users to publically subscribe by submitting their email address in an easy to use form or to register with your blog which enables greater flexibility for email content for the subscriber. Admins are given control over the presentation of the email notifications, can bulk manage subscriptions for users and manually send email notices to subscribers.
14
15
- Email Notifications can be sent on a per-post basis or periodically in a Digest email. Additionally, certain categories can be excluded from inclusion in the notification and post can be excluded on an individual basis by setting a custom field of 's2mail' to 'no'.
16
-
17
- Subscribe2 supports two classes of subscribers: the general public, and registered users of the blog. The general public may subscribe and unsubscribe. They will receive a limited email notification when new post is made or periodically (unless that post is assigned to one of the excluded categories you defined). The general public will receive a plaintext email with an excerpt of the post: either the excerpt you created when making the post, the portion of text before a <!--more--> tag (if present), or the first 55 words of the post.
18
-
19
- Registered users of the blog can elect to receive email notifications for specific categories (unless Digest email are select, then it is an opt in or out decision). The Users->Subscription menu item will allow them to select the delivery format (plaintext or HTML), amount of message (excerpt or full post), and the categories to which they want to subscribe. You, the blog owner, have the option (Options->Subscribe2) to allow registered users to subscribe to your excluded categories or not.
20
-
21
- When you post a new item, subscribe2 will generate (at least) one email for each of the following combinations of subscribers:
22
23
* plaintext excerpt
24
* plaintext full post
25
* HTML full post
26
27
- So for each new post you make, you may receive up to three emails.
28
29
== Installation ==
30
@@ -38,7 +36,7 @@ So for each new post you make, you may receive up to three emails.
38
<!--subscribe2-->
39
***Ensure the token is on a line by itself and that it has a blank line above and below.***
40
This token will automatically be replaced by the subscription form, and will display all messages as necessary.
41
- 8. In the subscribe2.php file define S2PAGE to point at your WordPress page created in step 8.
42
43
== Frequently Asked Questions ==
44
@@ -53,7 +51,7 @@ Finally, WordPress 2.3 and 2.5 are supported. Again, for the latest information
53
If you are upgrading from any 2.1.x version of subscribe2, please delete both the /subscribe.php and /wp-content/plugins/subscribe2.php files before copying the new files into place. Your subscriber list will remain intact, and your options should be preserved. Now create a WordPress Page as described above.
54
55
= Why doesn't the form appear in my WordPress page? =
56
- This is usually caused by one of two things. Firstly, it is possible that the form is there but as you haven't logged out of WordPress yourself you are seeing a message about managing your profile instead. Try logging out and see if it appears.
57
58
Secondly, make sure that the token (<!--subscribe2-->) is correctly entered in your page with a blank line above and below. The easient way to do this is to deactivate the plugin, visit your WordPress page and view the source. The token should be contained in the source code of the page. If it is not there you either have not correctly entered the token or you have another plguin that is stripping the token from the page code.
59
@@ -70,6 +68,14 @@ Reminder: because subscribe2 places all recipients in BCC fields, and places the
70
71
Batches will occur for each group of message as described above. A site on Dreamhost with many public and registered subscribers could conceivably generate a lot of email for your own inbox.
72
73
== Screenshots ==
74
75
1. The Write->Subscribers admin page generated by the plugin.
@@ -79,6 +85,19 @@ Batches will occur for each group of message as described above. A site on Drea
79
80
== Version History ==
81
82
Version 4.7 by Matthew Robinson
83
84
* Added admin control over default auto subscribe to new category option
4
Tags: posts, subscription, email
5
Requires at least: 2.0.x
6
Tested up to: 2.5
7
+ Stable tag: 4.8
8
9
Sends a list of subscribers an email notification when new posts are published to your blog
10
11
== Description ==
12
13
+ Subscribe2 provides a comprehensive subscription management and email notification system for WordPress blogs that sends email notifications to a list of subscribers when you publish new content to your blog.
14
15
+ Email Notifications can be sent on a per-post basis or periodically in a Digest email. Additionally, certain categories can be excluded from inclusion in the notification and post can be excluded on an individual basis by setting a custom field of 's2mail' to 'no'. The format of the email can also be customised for per-post notifications, subscribe2 can generate emails for each of the following formats:
16
17
* plaintext excerpt
18
* plaintext full post
19
* HTML full post
20
21
+ The plugin also handles subscription requests allowing users to publically subscribe by submitting their email address in an easy to use form or to register with your blog which enables greater flexibility over the email content for per-post notifications for the subscriber. Admins are given control over the presentation of the email notifications, can bulk manage subscriptions for users and manually send email notices to subscribers.
22
+
23
+ Subscribe2 supports two classes of subscribers: the general public, and registered users of the blog. The general public may subscribe and unsubscribe. They will receive a limited email notification when new post is made or periodically (unless that post is assigned to one of the excluded categories you defined). The general public will receive a plaintext email with an excerpt of the post: either the excerpt you created when making the post, the portion of text before a <!--more--> tag (if present), or the first 55 words of the post.
24
+
25
+ Registered users of the blog can elect to receive email notifications for specific categories (unless Digest email are select, then it is an opt in or out decision). The Users->Subscription menu item will allow them to select the delivery format (plaintext or HTML), amount of message (excerpt or full post), and the categories to which they want to subscribe. You, the blog owner, have the option (Options->Subscribe2) to allow registered users to subscribe to your excluded categories or not.
26
27
== Installation ==
28
36
<!--subscribe2-->
37
***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 the subscription form, and will display all messages as necessary.
39
+ 8. In the Subscribe2 "Options" admin link set the default page ID to the ID of the WordPress page created in step 8.
40
41
== Frequently Asked Questions ==
42
51
If you are upgrading from any 2.1.x version of subscribe2, please delete both the /subscribe.php and /wp-content/plugins/subscribe2.php files before copying the new files into place. Your subscriber list will remain intact, and your options should be preserved. Now create a WordPress Page as described above.
52
53
= Why doesn't the form appear in my WordPress page? =
54
+ This is usually caused by one of two things. Firstly, it is possible that the form is there but because you haven't logged out of WordPress yourself you are seeing a message about managing your profile instead. Try logging out and see if it appears.
55
56
Secondly, make sure that the token (<!--subscribe2-->) is correctly entered in your page with a blank line above and below. The easient way to do this is to deactivate the plugin, visit your WordPress page and view the source. The token should be contained in the source code of the page. If it is not there you either have not correctly entered the token or you have another plguin that is stripping the token from the page code.
57
68
69
Batches will occur for each group of message as described above. A site on Dreamhost with many public and registered subscribers could conceivably generate a lot of email for your own inbox.
70
71
+ = Why is my admin address getting emails from Subscribe2? =
72
+
73
+ This plugin sends emails to your subscribers using the BCC (Blind Cardon Copy) header in email messages. Each email is sent TO: the admin address. There may be emails for a plain text excerpt notification, palin text full text and HTML format emails and additionally if the BCCLIMIT has been set due to hosting restrictions duplicate copies of these emails will be sent to the admin address.
74
+
75
+ = I can't find or insert the Subscribe2 token, help! =
76
+
77
+ If, for some reason the Subscribe2 button does not appear in your browser window try refreshing your browser and cache (Shift and Reload in Firefox). If this still fails then insert the token manually. In the Rich Text Editor (TinyMCE) make sure you switch to the "code" view and type in <!--subscribe2-->.
78
+
79
== Screenshots ==
80
81
1. The Write->Subscribers admin page generated by the plugin.
85
86
== Version History ==
87
88
+ Version 4.8 by Matthew Robinson
89
+
90
+ * Removed unnecessary return statement at end of publish() function
91
+ * Ensured posts in digest are listed in date order
92
+ * Improved compatibility with other plugins by only inserting JavaScript code into Subscribe2's own admin pages
93
+ * Added BCCLIMIT and S2PAGE to options page with AJAX editing
94
+ * Improved setting of CRON task base time
95
+ * Improved handling of option values in the options form
96
+ * Full XHTML compliance on all subscribe2 admin pages
97
+ * Decode HTML entity codes in notification email subjects
98
+ * Added Subscribe2 support for blogging via email
99
+ * Work-around fix implemented for WordPress the_title bug
100
+
101
Version 4.7 by Matthew Robinson
102
103
* Added admin control over default auto subscribe to new category option
include/options.php CHANGED
@@ -18,6 +18,18 @@ if (!isset($this->subscribe2_options['autosub_def'])) {
18
$this->subscribe2_options['autosub_def'] = "yes";
19
} // option for user default auto-subscription to new categories
20
21
if (!isset($this->subscribe2_options['pages'])) {
22
$this->subscribe2_options['pages'] = "no";
23
} // option for sending notifications for WordPress pages
18
$this->subscribe2_options['autosub_def'] = "yes";
19
} // option for user default auto-subscription to new categories
20
21
+ if(!isset($this->subscribe2_options['bcclimit'])) {
22
+ $this->subscribe2_options['bcclimit'] = 0;
23
+ } // option for default bcc limit on email notifications
24
+
25
+ if(!isset($this->subscribe2_options['s2page'])) {
26
+ $this->subscribe2_options['s2page'] = 0;
27
+ } // option for default WordPress page for Subscribe2 to use
28
+
29
+ if (!isset($this->subscribe2_options['pages'])) {
30
+ $this->subscribe2_options['bcclimit'] = "0";
31
+ } // option for restricting the number of recipients per email notification
32
+
33
if (!isset($this->subscribe2_options['pages'])) {
34
$this->subscribe2_options['pages'] = "no";
35
} // option for sending notifications for WordPress pages
include/s2_edit.js ADDED
@@ -0,0 +1,33 @@
1
+ jQuery(document).ready(function() {
2
+ // hide our span before page loads
3
+ jQuery('#s2bcc_2').hide();
4
+ jQuery('#s2page_2').hide();
5
+ });
6
+
7
+ //show span on clicking the edit link
8
+ function s2_show(id) {
9
+ jQuery('#s2'+id+'_2').show();
10
+ jQuery('#s2'+id+'_1').hide();
11
+ return false;
12
+ };
13
+
14
+ // hide span on clicking the hide link
15
+ function s2_hide(id) {
16
+ jQuery('#s2'+id+'_1').show();
17
+ jQuery('#s2'+id+'_2').hide();
18
+ return false;
19
+ };
20
+
21
+ function s2_update(id) {
22
+ var input = jQuery('input[@name="'+id+'"]').val();
23
+ jQuery('input[@name="'+id+'"]').val(input);
24
+ jQuery('#s2'+id).html(input);
25
+ s2_hide(id);
26
+ };
27
+
28
+ function s2_revert(id) {
29
+ var option = jQuery('#js'+id).val();
30
+ jQuery('input[@name="'+id+'"]').val(option);
31
+ jQuery('#s2'+id).html(option);
32
+ s2_hide(id);
33
+ };
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: 4.7
7
Author: Matthew Robinson
8
Author URI: http://subscribe2.wordpress.com
9
*/
@@ -29,20 +29,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
29
http://www.gnu.org/licenses/gpl.html
30
*/
31
32
- // If you are on a host that limits the number of recipients
33
- // permitted on each outgoing email message
34
- // change the value on the line below to your hosts limit
35
- define('BCCLIMIT', '0');
36
-
37
- // by default, Subscribe2 grabs the first page from your database for use
38
- // when displaying the confirmation screen to public subscribers.
39
- // You can override this by specifying a page ID on the line below.
40
- define('S2PAGE', '0');
41
-
42
// our version number. Don't touch this or any line below
43
// unless you know exacly what you are doing
44
- define('S2VERSION', '4.7');
45
- define ('S2PATH', trailingslashit(dirname(__FILE__)));
46
47
// use Owen's excellent ButtonSnap library
48
if (!function_exists(buttonsnap_textbutton)) {
@@ -109,18 +99,26 @@ class s2class {
109
Hook the menu
110
*/
111
function admin_menu() {
112
- add_management_page(__('Subscribers', 'subscribe2'), __('Subscribers', 'subscribe2'), "manage_options", __FILE__, array(&$this, 'manage_menu'));
113
- add_options_page(__('Subscribe2 Options', 'subscribe2'), __('Subscribe2','subscribe2'), "manage_options", __FILE__, array(&$this, 'options_menu'));
114
- add_users_page(__('Subscriptions', 'subscribe2'), __('Subscriptions', 'subscribe2'), "read", __FILE__, array(&$this, 'user_menu'));
115
- add_submenu_page('post-new.php', __('Mail Subscribers','subscribe2'), __('Mail Subscribers', 'subscribe2'),"manage_options", __FILE__, array(&$this, 'write_menu'));
116
$s2nonce = md5('subscribe2');
117
}
118
119
/**
120
Insert Javascript into admin_header
121
*/
122
- function admin_head() {
123
- echo "<script type=\"text/javascript\">\r\n";
124
echo "<!--\r\n";
125
echo "function setAll(theElement) {\r\n";
126
echo " var theForm = theElement.form, z = 0;\r\n";
@@ -134,8 +132,12 @@ class s2class {
134
echo "</script>\r\n";
135
}
136
137
function add_weekly_sched($sched) {
138
- $sched['weekly'] = array('interval' => 604800, 'display' => __('Once Weekly','subscribe2'));
139
return $sched;
140
}
141
@@ -259,9 +261,12 @@ class s2class {
259
$mailtext = wordwrap(strip_tags($message), 80, "\n");
260
}
261
262
// BCC all recipients
263
$bcc = '';
264
- if ( (defined('BCCLIMIT')) && (BCCLIMIT > 0) && (count($recipients) > BCCLIMIT) ) {
265
// we're on Dreamhost, and have more than 30 susbcribers
266
$count = 1;
267
$batch = array();
@@ -278,7 +283,7 @@ class s2class {
278
('' == $bcc) ? $bcc = "Bcc: $recipient" : $bcc .= ", $recipient";
279
// Bcc Headers now constructed by phpmailer class
280
}
281
- if (BCCLIMIT == $count) {
282
$count = 1;
283
$batch[] = $bcc;
284
$bcc = '';
@@ -312,7 +317,7 @@ class s2class {
312
$headers .= "$bcc\r\n";
313
}
314
// actually send mail
315
- if ( (defined('BCCLIMIT')) && (BCCLIMIT > 0) && (isset($batch)) ) {
316
foreach ($batch as $bcc) {
317
$newheaders = $headers . "$bcc\r\n";
318
@wp_mail($this->myemail, $subject, $mailtext, $newheaders);
@@ -411,9 +416,9 @@ class s2class {
411
$this->myemail = $user->user_email;
412
$this->myname = $user->display_name;
413
// Get email subject
414
- $subject = $this->substitute(stripslashes($this->s2_subject));
415
// Get the message template
416
- $mailtext = $this->substitute(stripslashes($this->subscribe2_options['mailtext']));
417
418
$plaintext = $post->post_content;
419
$content = apply_filters('the_content', $post->post_content);
@@ -458,10 +463,19 @@ class s2class {
458
$body = str_replace("\r\n", "<br />\r\n", $mailtext);
459
$body = str_replace("POST", $content, $body);
460
$this->mail($this->get_registered("cats=$post_cats_string&format=html"), $subject, $body, 'html');
461
-
462
- return $id;
463
} // end publish()
464
465
/**
466
Send confirmation email to the user
467
*/
@@ -1018,8 +1032,17 @@ class s2class {
1018
Get admin data from record 1 or first user with admin rights
1019
*/
1020
function get_userdata() {
1021
- global $wpdb;
1022
- $admin = get_userdata(1);
1023
if (empty($admin)) {
1024
$sql = "SELECT DISTINCT(ID) FROM $wpdb->users INNER JOIN $wpdb->usermeta ON $wpdb->users.ID = $wpdb->usermeta.user_id WHERE $wpdb->usermeta.meta_key='" . $wpdb->prefix . "user_level' AND $wpdb->usermeta.meta_value='10' LIMIT 1";
1025
$admin = get_userdata($wpdb->get_var($sql));
@@ -1044,8 +1067,8 @@ class s2class {
1044
$reminderform = false;
1045
$action = remove_query_arg(array('what', 's2page'));
1046
$this->action = attribute_escape($action);
1047
- $urlpath = str_replace("\\","/",S2PATH);
1048
- $urlpath = trailingslashit(get_option('siteurl')) . substr($urlpath,strpos($urlpath,"wp-content/"));
1049
if ( isset( $_GET['s2page'] ) ) {
1050
$page = (int) $_GET['s2page'];
1051
} else {
@@ -1055,7 +1078,7 @@ class s2class {
1055
// was anything POSTed ?
1056
if (isset($_POST['s2_admin'])) {
1057
check_admin_referer('subscribe2-manage_subscribers' . $s2nonce);
1058
- if ('subscribe' == $_POST['s2_admin']) {
1059
foreach (preg_split ("/[\s,]+/", $_POST['addresses']) as $email) {
1060
if (is_email($email)) {
1061
$this->activate($email);
@@ -1063,21 +1086,21 @@ class s2class {
1063
}
1064
$_POST['what'] = 'confirmed';
1065
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Address(es) subscribed!', 'subscribe2') . "</strong></p></div>";
1066
- } elseif ('delete' == $_POST['s2_admin']) {
1067
- $this->delete($_POST['email']);
1068
- echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . $_POST['email'] . ' ' . __('deleted!', 'subscribe2') . "</strong></p></div>";
1069
- } elseif ('toggle' == $_POST['s2_admin']) {
1070
- $this->toggle($_POST['email']);
1071
- echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . $_POST['email'] . ' ' . __('status changed!', 'subscribe2') . "</strong></p></div>";
1072
- } elseif ('remind' == $_POST['s2_admin']) {
1073
$this->remind($_POST['reminderemails']);
1074
- echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Reminder Email(s) Sent!','subscribe2') . "</strong></p></div>";
1075
- } elseif ( ('register' == $_POST['s2_admin']) && ('subscribe' == $_POST['manage']) ) {
1076
$this->subscribe_registered_users($_POST['emails'], $_POST['category']);
1077
- echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Registered Users Subscribed!','subscribe2') . "</strong></p></div>";
1078
- } elseif ( ('register' == $_POST['s2_admin']) && ('unsubscribe' == $_POST['manage']) ) {
1079
$this->unsubscribe_registered_users($_POST['emails'], $_POST['category']);
1080
- echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Registered Users Unsubscribed!','subscribe2') . "</strong></p></div>";
1081
}
1082
}
1083
@@ -1198,21 +1221,19 @@ class s2class {
1198
if ('' == $registered) { $registered = array(); }
1199
1200
// show our form
1201
echo "<div class=\"wrap\">";
1202
echo "<h2>" . __('Subscribe Addresses', 'subscribe2') . "</h2>\r\n";
1203
- echo "<form method=\"post\" action=\"$this->action\">\r\n";
1204
- echo "<p>";
1205
if (function_exists('wp_nonce_field')) {
1206
wp_nonce_field('subscribe2-manage_subscribers' . $s2nonce);
1207
}
1208
- echo __('Enter addresses, one per line or comma-seperated', 'subscribe2') . "<br />\r\n";
1209
echo "<textarea rows=\"2\" cols=\"80\" name=\"addresses\"></textarea></p>\r\n";
1210
- echo "<p class=\"submit\"><input type=\"submit\" name=\"submit\" value=\"" . __('Subscribe', 'subscribe2') . "\"/>\r\n";
1211
- echo "<input type=\"hidden\" name=\"s2_admin\" value=\"subscribe\" /></p>";
1212
- echo "</form></div>";
1213
1214
// subscriber lists
1215
- echo "<div class=\"wrap\"><h2>" . __('Subscribers', 'subscribe2') . "</h2>\r\n";
1216
echo "<br />";
1217
$this->display_subscriber_dropdown($what, __('Filter', 'subscribe2'));
1218
// show the selected subscribers
@@ -1220,14 +1241,8 @@ class s2class {
1220
if (!empty($subscribers)) {
1221
echo "<p align=\"center\"><b>" . __('Registered on the left, confirmed in the middle, unconfirmed on the right', 'subscribe2') . "</b></p>\r\n";
1222
$exportcsv = implode(",\r\n", $subscribers);
1223
- echo "<form method=\"post\" action=\"\">\r\n";
1224
- if (function_exists('wp_nonce_field')) {
1225
- wp_nonce_field('subscribe2-manage_subscribers' . $s2nonce);
1226
- }
1227
echo "<input type=\"hidden\" name=\"exportcsv\" value=\"$exportcsv\" />\r\n";
1228
- echo "<input type=\"hidden\" name=\"s2_admin\" value=\"exportcsv\" />\r\n";
1229
- echo "<p class=\"submit\"><input type=\"submit\" name=\"submit\" value=\"" . __('Save Emails to CSV File','subscribe2') . "\" /></p>\r\n";
1230
- echo "</form>\r\n";
1231
}
1232
echo "<p>" . $strip . "</p>";
1233
echo "<table cellpadding=\"2\" cellspacing=\"2\">";
@@ -1249,13 +1264,6 @@ class s2class {
1249
if (in_array($subscriber, $unconfirmed) || in_array($subscriber, $confirmed) ) {
1250
echo "(" . $this->signup_date($subscriber) . ")</td>\r\n";
1251
echo "<td width=\"5%\" align=\"center\">\r\n";
1252
- echo "<form method=\"post\" action=\"$this->action\">";
1253
- if (function_exists('wp_nonce_field')) {
1254
- wp_nonce_field('subscribe2-manage_subscribers' . $s2nonce);
1255
- }
1256
- echo "<input type=\"hidden\" name=\"email\" value=\"$subscriber\" />\r\n";
1257
- echo "<input type=\"hidden\" name=\"s2_admin\" value=\"toggle\" />\r\n";
1258
- echo "<input type=\"hidden\" name=\"what\" value=\"$what\" />\r\n";
1259
if (in_array($subscriber, $unconfirmed)) {
1260
$foo = '&lt;-';
1261
$image = 'include/arrow_left.png';
@@ -1263,18 +1271,11 @@ class s2class {
1263
$foo = '-&gt;';
1264
$image = 'include/arrow_right.png';
1265
}
1266
- echo "<input type=\"image\" src=\"" . $urlpath . $image . "\" name=\"submit\" value=\"$foo\" /></form></td>\r\n";
1267
echo "<td width=\"2%\" align=\"center\">\r\n";
1268
- echo "<form method=\"post\" action=\"\">\r\n";
1269
- if (function_exists('wp_nonce_field')) {
1270
- wp_nonce_field('subscribe2-manage_subscribers' . $s2nonce);
1271
- }
1272
- echo "<input type=\"hidden\" name=\"email\" value=\"$subscriber\" />\r\n";
1273
- echo "<input type=\"hidden\" name=\"s2_admin\" value=\"delete\" />\r\n";
1274
- echo "<input type=\"hidden\" name=\"what\" value=\"$what\" />\r\n";
1275
echo "<p class=\"delete\">\r\n";
1276
- echo "<input type=\"image\" src=\"" . $urlpath . "include/cross.png\" name=\"submit\" value=\"X\" />\r\n";
1277
- echo "</p></form>";
1278
}
1279
echo "</td></tr>\r\n";
1280
('alternate' == $alternate) ? $alternate = '' : $alternate = 'alternate';
@@ -1285,37 +1286,23 @@ class s2class {
1285
echo "</table>";
1286
echo "<p>" . $strip . "</p>";
1287
if ($reminderform) {
1288
- echo "<form method=\"post\" action=\"$this->action\">\r\n";
1289
- if (function_exists('wp_nonce_field')) {
1290
- wp_nonce_field('subscribe2-manage_subscribers' . $s2nonce);
1291
- }
1292
echo "<input type=\"hidden\" name=\"reminderemails\" value=\"$reminderemails\" />\r\n";
1293
- echo "<input type=\"hidden\" name=\"s2_admin\" value=\"remind\" />\r\n";
1294
- echo "<p class=\"submit\"><input type=\"submit\" name=\"submit\" value=\"" . __('Send Reminder Email','subscribe2') . "\" /></p>\r\n";
1295
- echo "</form>";
1296
}
1297
- echo "</div>\r\n";
1298
1299
//show bulk managment form
1300
- echo "<div class=\"wrap\">";
1301
echo "<h2>" . __('Categories', 'subscribe2') . "</h2>\r\n";
1302
echo "<p>";
1303
echo __('Existing Registered Users can be automatically (un)subscribed to categories using this section.', 'subscribe2') . "<br />\r\n";
1304
echo "<strong><em style=\"color: red\">" . __('Consider User Privacy as changes cannot be undone', 'subscribe2') . "</em></strong><br />\r\n";
1305
echo "</p>";
1306
- echo "<form method=\"post\" action=\"\">\r\n";
1307
- if (function_exists('wp_nonce_field')) {
1308
- wp_nonce_field('subscribe2-manage_subscribers' . $s2nonce);
1309
- }
1310
echo "<br />" . __('Action to perform', 'subscribe2') . ":\r\n";
1311
echo "<input type=\"radio\" name=\"manage\" value=\"subscribe\" checked=\"checked\" />" . __('Subscribe', 'subscribe2') . "\r\n";
1312
echo "<input type=\"radio\" name=\"manage\" value=\"unsubscribe\" />" . __('Unsubscribe', 'subscribe2') . "<br /><br />\r\n";
1313
- echo "<input type=\"hidden\" name=\"emails\" value=\"$emails\" /><input type=\"hidden\" name=\"s2_admin\" value=\"register\" />\r\n";
1314
$this->display_category_form();
1315
- echo "<p class=\"submit\"><input type=\"submit\" id=\"deletepost\" name=\"submit\" value=\"" . __('Submit', 'subscribe2') . "\" /></p></form>";
1316
-
1317
- echo "</div>\r\n";
1318
- echo "<div style=\"clear: both;\"><p>&nbsp;</p></div>";
1319
1320
include(ABSPATH . 'wp-admin/admin-footer.php');
1321
// just to be sure
@@ -1331,10 +1318,10 @@ class s2class {
1331
// was anything POSTed?
1332
if (isset($_POST['s2_admin'])) {
1333
check_admin_referer('subscribe2-options_subscribers' . $s2nonce);
1334
- if ('RESET' == $_POST['s2_admin']) {
1335
$this->reset();
1336
echo "<div id=\"message\" class=\"updated fade\"><p><strong>$this->options_reset</strong></p></div>";
1337
- } elseif ('options' == $_POST['s2_admin']) {
1338
// excluded categories
1339
if (!empty($_POST['category'])) {
1340
$exclude_cats = implode(',', $_POST['category']);
@@ -1354,6 +1341,10 @@ class s2class {
1354
($_POST['widget'] == '1') ? $showwidget = '1' : $showwidget = '0';
1355
$this->subscribe2_options['widget'] = $showwidget;
1356
1357
// send as author or admin?
1358
$sender = 'author';
1359
if ('admin' == $_POST['sender']) {
@@ -1362,29 +1353,21 @@ class s2class {
1362
$this->subscribe2_options['sender'] = $sender;
1363
1364
// send email for pages, private and password protected posts
1365
- $pages_option = $_POST['pages'];
1366
- $this->subscribe2_options['pages']= $pages_option;
1367
- $password_option = $_POST['password'];
1368
- $this->subscribe2_options['password']= $password_option;
1369
- $private_option = $_POST['private'];
1370
- $this->subscribe2_options['private'] = $private_option;
1371
1372
// send per-post or digest emails
1373
$email_freq = $_POST['email_freq'];
1374
- if ($email_freq != $this->subscribe2_options['email_freq']) {
1375
- //ensure $timestamp is used if cron period changes
1376
- $check = true;
1377
- }
1378
- $this->subscribe2_options['email_freq'] = $email_freq;
1379
- $previous_time = wp_next_scheduled('s2_digest_cron');
1380
- wp_clear_scheduled_hook('s2_digest_cron');
1381
- $scheds = (array) wp_get_schedules();
1382
- $interval = ( isset($scheds[$email_freq]['interval']) ) ? (int) $scheds[$email_freq]['interval'] : 0;
1383
- if ($interval == 0) {
1384
- // if we are on per-post emails remove last_cron entry
1385
- unset($this->subscribe2_options['last_s2cron']);
1386
- } else {
1387
- if (!wp_next_scheduled('s2_digest_cron')) {
1388
// if we are using digest schedule the event and prime last_cron as now
1389
$time = current_time('timestamp') + $interval;
1390
if ($interval < 86400) {
@@ -1392,38 +1375,29 @@ class s2class {
1392
$timestamp = &$time;
1393
} else {
1394
// Schedule other CRON events starting at user defined hour and periodically thereafter
1395
- $timestamp = gmmktime($_POST['hour'], 0, 0, date('m', $time), date('d', $time), date('Y', $time));
1396
}
1397
- if ( ('on' == $_POST['reset_cron']) || $check ) {
1398
- wp_schedule_event($timestamp, $email_freq, 's2_digest_cron');
1399
- } else {
1400
- wp_schedule_event($previous_time, $email_freq, 's2_digest_cron');
1401
}
1402
- $this->subscribe2_options['last_s2cron'] = current_time('mysql');
1403
}
1404
}
1405
1406
// email templates
1407
- $mailtext = $_POST['mailtext'];
1408
- $this->subscribe2_options['mailtext'] = $mailtext;
1409
- $confirm_email = $_POST['confirm_email'];
1410
- $this->subscribe2_options['confirm_email'] = $confirm_email;
1411
- $remind_email = $_POST['remind_email'];
1412
- $this->subscribe2_options['remind_email'] = $remind_email;
1413
1414
//automatic subscription
1415
- $autosub_option = $_POST['autosub'];
1416
- $this->subscribe2_options['autosub'] = $autosub_option;
1417
- $autosub_wpregdef_option = $_POST['wpregdef'];
1418
- $this->subscribe2_options['wpregdef'] = $autosub_wpregdef_option;
1419
- $autosub_format_option = $_POST['autoformat'];
1420
- $this->subscribe2_options['autoformat'] = $autosub_format_option;
1421
- $autosub_newcat_option = $_POST['autosub_def'];
1422
- $this->subscribe2_options['autosub_def'] = $autosub_newcat_option;
1423
1424
//barred domains
1425
- $barred_option = $_POST['barred'];
1426
- $this->subscribe2_options['barred'] = $barred_option;
1427
echo "<div id=\"message\" class=\"updated fade\"><p><strong>$this->options_saved</strong></p></div>";
1428
update_option('subscribe2_options', $this->subscribe2_options);
1429
}
@@ -1437,7 +1411,26 @@ class s2class {
1437
echo "<input type=\"hidden\" name=\"s2_admin\" value=\"options\" />\r\n";
1438
echo "<h2>" . __('Delivery Options', 'subscribe2') . ":</h2>\r\n";
1439
echo "<p>";
1440
- echo __('Send Emails for Pages', 'subscribe2') . ': ';
1441
echo "<input type=\"radio\" name=\"pages\" value=\"yes\"";
1442
if ('yes' == $this->subscribe2_options['pages']) {
1443
echo " checked=\"checked\"";
@@ -1612,19 +1605,12 @@ class s2class {
1612
1613
// submit
1614
echo "<p class=\"submit\" align=\"center\"><input type=\"submit\" id=\"save\" name=\"submit\" value=\"" . __('Submit', 'subscribe2') . "\" /></p>";
1615
- echo "</form>\r\n";
1616
- echo "</div><div class=\"wrap\">";
1617
1618
// reset
1619
echo "<h2>" . __('Reset Default', 'subscribe2') . "</h2>\r\n";
1620
echo "<p>" . __('Use this to reset all options to their defaults. This <strong><em>will not</em></strong> modify your list of subscribers.', 'subscribe2') . "</p>\r\n";
1621
- echo "<form method=\"post\" action=\"\">";
1622
- if (function_exists('wp_nonce_field')) {
1623
- wp_nonce_field('subscribe2-options_subscribers' . $s2nonce);
1624
- }
1625
echo "<p class=\"submit\" align=\"center\">";
1626
- echo "<input type=\"hidden\" name=\"s2_admin\" value=\"RESET\" />";
1627
- echo "<input type=\"submit\" id=\"deletepost\" name=\"submit\" value=\"" . __('RESET', 'subscribe2') .
1628
"\" />";
1629
echo "</p></form></div>\r\n";
1630
@@ -1889,7 +1875,7 @@ class s2class {
1889
}
1890
echo "</td></tr>\r\n";
1891
echo "<tr><td align=\"left\" colspan=\"2\">\r\n";
1892
- echo "<input type=\"checkbox\" name=\"checkall\" onclick=\"setAll(this)\" /> " . __('Select / Unselect All' ,'subscribe2') . "\r\n";
1893
echo "</td></tr>\r\n";
1894
echo "</table>\r\n";
1895
} // end display_category_form()
@@ -1978,7 +1964,7 @@ class s2class {
1978
global $wpdb;
1979
$scheduled_time = wp_next_scheduled('s2_digest_cron');
1980
$schedule = (array)wp_get_schedules();
1981
- $schedule = array_merge(array('never' => array('interval' => 0, 'display' => __('Per Post Email','subscribe2'))), $schedule);
1982
$sort = array();
1983
foreach ( (array)$schedule as $key => $value ) $sort[$key] = $value['interval'];
1984
asort($sort);
@@ -1994,7 +1980,7 @@ class s2class {
1994
echo " /> " . $value['display'] . "<br />\r\n";
1995
}
1996
echo "<br />" . __('Send Digest Notification at', 'subscribe2') . ": \r\n";
1997
- $hours = array('12am', '1am', '2am', '3am', '4am', '5am', '6am', '7am', '8am', '9am' ,'10am' ,'11am', '12pm', '1pm', '2pm', '3pm', '4pm', '5pm', '6pm', '7pm', '8pm', '9pm', '10pm', '11pm');
1998
echo "<select name=\"hour\">\r\n";
1999
while ($hour = current($hours)) {
2000
echo "<option value=\"" . key($hours) . "\"";
@@ -2007,7 +1993,6 @@ class s2class {
2007
echo "</select>\r\n";
2008
echo "<strong><em style=\"color: red\">" . __('This option will work for digest notification sent daily or less frequently', 'subscribe2') . "</em></strong>\r\n";
2009
if ($scheduled_time) {
2010
- echo "<p><input type=\"checkbox\" name=\"reset_cron\" /> " . __('Reset the schedule time and date for periodic email notifications', 'subscribe2') . "</p>\r\n";
2011
$datetime = get_option('date_format') . ' @ ' . get_option('time_format');
2012
echo "<p>" . __('Current UTC time is', 'subscribe2') . ": \r\n";
2013
echo "<strong>" . gmdate($datetime, current_time('timestamp', 1)) . "</strong></p>\r\n";
@@ -2142,8 +2127,8 @@ class s2class {
2142
2143
global $wpdb;
2144
2145
- if ( (defined('S2PAGE')) && (0 != S2PAGE) ) {
2146
- return "page_id=" . S2PAGE;
2147
} else {
2148
$id = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status='publish' LIMIT 1");
2149
if ($id) {
@@ -2157,10 +2142,14 @@ class s2class {
2157
/**
2158
Overrides the page title
2159
*/
2160
- function title_filter() {
2161
// don't interfere if we've already done our thing
2162
if (1 == $this->filtered) { return; }
2163
- return __('Subscription Confirmation', 'subscribe2');
2164
} // end title_filter()
2165
2166
/* ===== widget functions ===== */
@@ -2295,7 +2284,7 @@ class s2class {
2295
update_option('subscribe2_options', $this->subscribe2_options);
2296
2297
// collect posts
2298
- $posts = $wpdb->get_results("SELECT ID, post_title, post_excerpt, post_content, post_type, post_password FROM $wpdb->posts WHERE post_date >= '$prev' AND post_date < '$now' AND post_status IN ('publish', 'private') AND post_type IN ('post', 'page')");
2299
2300
// do we have any posts?
2301
if (empty($posts)) { return; }
@@ -2358,7 +2347,7 @@ class s2class {
2358
$message .= $excerpt . "\r\n\r\n";
2359
}
2360
2361
- // get admin detailts
2362
$user = $this->get_userdata();
2363
$this->myemail = $user->user_email;
2364
$this->myname = $user->display_name;
@@ -2398,7 +2387,7 @@ class s2class {
2398
function subscribe2() {
2399
global $table_prefix;
2400
2401
- load_plugin_textdomain('subscribe2', 'wp-content/plugins/subscribe2');
2402
2403
// do we need to install anything?
2404
$this->public = $table_prefix . "subscribe2";
@@ -2415,7 +2404,7 @@ class s2class {
2415
add_filter('the_content', array(&$this, 'confirm'));
2416
}
2417
2418
- if ( (isset($_POST['s2_admin'])) && ('exportcsv' == $_POST['s2_admin']) ) {
2419
$date = date('Y-m-d');
2420
header('Content-Description: File Transfer');
2421
header("Content-type: application/octet-stream");
@@ -2428,7 +2417,6 @@ class s2class {
2428
}
2429
2430
//add regular actions and filters
2431
- add_action('admin_head', array(&$this, 'admin_head'));
2432
add_action('admin_menu', array(&$this, 'admin_menu'));
2433
add_action('create_category', array(&$this, 'autosub_new_category'));
2434
add_action('register_form', array(&$this, 'register_form'));
@@ -2456,6 +2444,7 @@ class s2class {
2456
add_action('pending_to_publish', array(&$this, 'publish'));
2457
add_action('private_to_publish', array(&$this, 'publish'));
2458
add_action('future_to_publish', array(&$this, 'publish'));
2459
if ($this->subscribe2_options['private'] == "yes") {
2460
add_action('new_to_private', array(&$this, 'publish'));
2461
add_action('draft_to_private', array(&$this, 'publish'));
3
Plugin Name: Subscribe2
4
Plugin URI: http://subscribe2.wordpress.com
5
Description: Notifies an email list when new entries are posted.
6
+ Version: 4.8
7
Author: Matthew Robinson
8
Author URI: http://subscribe2.wordpress.com
9
*/
29
http://www.gnu.org/licenses/gpl.html
30
*/
31
32
// our version number. Don't touch this or any line below
33
// unless you know exacly what you are doing
34
+ define('S2VERSION', '4.8');
35
+ define('S2PATH', trailingslashit(dirname(__FILE__)));
36
37
// use Owen's excellent ButtonSnap library
38
if (!function_exists(buttonsnap_textbutton)) {
99
Hook the menu
100
*/
101
function admin_menu() {
102
+ $s2management = add_management_page(__('Subscribers', 'subscribe2'), __('Subscribers', 'subscribe2'), "manage_options", __FILE__, array(&$this, 'manage_menu'));
103
+ add_action("admin_print_scripts-$s2management", array(&$this, 'category_form_js'));
104
+
105
+ $s2options = add_options_page(__('Subscribe2 Options', 'subscribe2'), __('Subscribe2', 'subscribe2'), "manage_options", __FILE__, array(&$this, 'options_menu'));
106
+ add_action("admin_print_scripts-$s2options", array(&$this, 'category_form_js'));
107
+ add_action("admin_print_scripts-$s2options", array(&$this, 'option_form_js'));
108
+
109
+ $s2user = add_users_page(__('Subscriptions', 'subscribe2'), __('Subscriptions', 'subscribe2'), "read", __FILE__, array(&$this, 'user_menu'));
110
+ add_action("admin_print_scripts-$s2user", array(&$this, 'category_form_js'));
111
+
112
+ add_submenu_page('post-new.php', __('Mail Subscribers', 'subscribe2'), __('Mail Subscribers', 'subscribe2'), "manage_options", __FILE__, array(&$this, 'write_menu'));
113
+
114
$s2nonce = md5('subscribe2');
115
}
116
117
/**
118
Insert Javascript into admin_header
119
*/
120
+ function category_form_js() {
121
+ echo "<script type='text/javascript'>\r\n";
122
echo "<!--\r\n";
123
echo "function setAll(theElement) {\r\n";
124
echo " var theForm = theElement.form, z = 0;\r\n";
132
echo "</script>\r\n";
133
}
134
135
+ function option_form_js() {
136
+ wp_enqueue_script('s2_edit', get_option('home') . '/wp-content/plugins/' . dirname( plugin_basename( __FILE__ ) ) . '/include/s2_edit.js', array('jquery'), '1.0');
137
+ }
138
+
139
function add_weekly_sched($sched) {
140
+ $sched['weekly'] = array('interval' => 604800, 'display' => __('Once Weekly', 'subscribe2'));
141
return $sched;
142
}
143
261
$mailtext = wordwrap(strip_tags($message), 80, "\n");
262
}
263
264
+ // Replace any escaped html symbols in subject
265
+ $subject = html_entity_decode($subject);
266
+
267
// BCC all recipients
268
$bcc = '';
269
+ if ( ($this->subscribe2_options['bcclimit'] > 0) && (count($recipients) > $this->subscribe2_options['bcclimit']) ) {
270
// we're on Dreamhost, and have more than 30 susbcribers
271
$count = 1;
272
$batch = array();
283
('' == $bcc) ? $bcc = "Bcc: $recipient" : $bcc .= ", $recipient";
284
// Bcc Headers now constructed by phpmailer class
285
}
286
+ if ($this->subscribe2_options['bcclimit'] == $count) {
287
$count = 1;
288
$batch[] = $bcc;
289
$bcc = '';
317
$headers .= "$bcc\r\n";
318
}
319
// actually send mail
320
+ if ( ($this->subscribe2_options['bcclimit'] > 0) && (isset($batch)) ) {
321
foreach ($batch as $bcc) {
322
$newheaders = $headers . "$bcc\r\n";
323
@wp_mail($this->myemail, $subject, $mailtext, $newheaders);
416
$this->myemail = $user->user_email;
417
$this->myname = $user->display_name;
418
// Get email subject
419
+ $subject = stripslashes($this->substitute($this->s2_subject));
420
// Get the message template
421
+ $mailtext = stripslashes($this->substitute($this->subscribe2_options['mailtext']));
422
423
$plaintext = $post->post_content;
424
$content = apply_filters('the_content', $post->post_content);
463
$body = str_replace("\r\n", "<br />\r\n", $mailtext);
464
$body = str_replace("POST", $content, $body);
465
$this->mail($this->get_registered("cats=$post_cats_string&format=html"), $subject, $body, 'html');
466
} // end publish()
467
468
+ /**
469
+ Hook Subscribe2 into posts published via email
470
+ */
471
+ function publish_phone($id) {
472
+ if (!$id) { return; }
473
+
474
+ $post = get_post($id);
475
+ $this->publish($post);
476
+ return $post;
477
+ }
478
+
479
/**
480
Send confirmation email to the user
481
*/
1032
Get admin data from record 1 or first user with admin rights
1033
*/
1034
function get_userdata() {
1035
+ global $wpdb, $userdata;
1036
+
1037
+ // get details of current user
1038
+ $admin = &$userdata;
1039
+
1040
+ // if current under is empty or isn't an administrator get user record 1
1041
+ if ( (empty($admin)) || $userdata->{$wpdb->prefix . "user_level"} != 10) {
1042
+ $admin = get_userdata(1);
1043
+ }
1044
+
1045
+ // if user record 1 is empty grab the first admin from the database
1046
if (empty($admin)) {
1047
$sql = "SELECT DISTINCT(ID) FROM $wpdb->users INNER JOIN $wpdb->usermeta ON $wpdb->users.ID = $wpdb->usermeta.user_id WHERE $wpdb->usermeta.meta_key='" . $wpdb->prefix . "user_level' AND $wpdb->usermeta.meta_value='10' LIMIT 1";
1048
$admin = get_userdata($wpdb->get_var($sql));
1067
$reminderform = false;
1068
$action = remove_query_arg(array('what', 's2page'));
1069
$this->action = attribute_escape($action);
1070
+ $urlpath = str_replace("\\", "/", S2PATH);
1071
+ $urlpath = trailingslashit(get_option('siteurl')) . substr($urlpath,strpos($urlpath, "wp-content/"));
1072
if ( isset( $_GET['s2page'] ) ) {
1073
$page = (int) $_GET['s2page'];
1074
} else {
1078
// was anything POSTed ?
1079
if (isset($_POST['s2_admin'])) {
1080
check_admin_referer('subscribe2-manage_subscribers' . $s2nonce);
1081
+ if ($_POST['subscribe']) {
1082
foreach (preg_split ("/[\s,]+/", $_POST['addresses']) as $email) {
1083
if (is_email($email)) {
1084
$this->activate($email);
1086
}
1087
$_POST['what'] = 'confirmed';
1088
echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Address(es) subscribed!', 'subscribe2') . "</strong></p></div>";
1089
+ } elseif ($_POST['delete']) {
1090
+ $this->delete($_POST['delete']);
1091
+ echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . $_POST['delete'] . ' ' . __('deleted!', 'subscribe2') . "</strong></p></div>";
1092
+ } elseif ($_POST['toggle']) {
1093
+ $this->toggle($_POST['toggle']);
1094
+ echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . $_POST['toggle'] . ' ' . __('status changed!', 'subscribe2') . "</strong></p></div>";
1095
+ } elseif ($_POST['remind']) {
1096
$this->remind($_POST['reminderemails']);
1097
+ echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Reminder Email(s) Sent!', 'subscribe2') . "</strong></p></div>";
1098
+ } elseif ( ($_POST['register']) && ('subscribe' == $_POST['manage']) ) {
1099
$this->subscribe_registered_users($_POST['emails'], $_POST['category']);
1100
+ echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Registered Users Subscribed!', 'subscribe2') . "</strong></p></div>";
1101
+ } elseif ( ($_POST['register']) && ('unsubscribe' == $_POST['manage']) ) {
1102
$this->unsubscribe_registered_users($_POST['emails'], $_POST['category']);
1103
+ echo "<div id=\"message\" class=\"updated fade\"><p><strong>" . __('Registered Users Unsubscribed!', 'subscribe2') . "</strong></p></div>";
1104
}
1105
}
1106
1221
if ('' == $registered) { $registered = array(); }
1222
1223
// show our form
1224
+ echo "<form method=\"post\" action=\"$this->action\">\r\n";
1225
echo "<div class=\"wrap\">";
1226
echo "<h2>" . __('Subscribe Addresses', 'subscribe2') . "</h2>\r\n";
1227
if (function_exists('wp_nonce_field')) {
1228
wp_nonce_field('subscribe2-manage_subscribers' . $s2nonce);
1229
}
1230
+ echo "<p>" . __('Enter addresses, one per line or comma-seperated', 'subscribe2') . "<br />\r\n";
1231
echo "<textarea rows=\"2\" cols=\"80\" name=\"addresses\"></textarea></p>\r\n";
1232
+ echo "<input type=\"hidden\" name=\"s2_admin\" />\r\n";
1233
+ echo "<p class=\"submit\"><input type=\"submit\" name=\"subscribe\" value=\"" . __('Subscribe', 'subscribe2') . "\"/></p>\r\n";
1234
1235
// subscriber lists
1236
+ echo "<h2>" . __('Subscribers', 'subscribe2') . "</h2>\r\n";
1237
echo "<br />";
1238
$this->display_subscriber_dropdown($what, __('Filter', 'subscribe2'));
1239
// show the selected subscribers
1241
if (!empty($subscribers)) {
1242
echo "<p align=\"center\"><b>" . __('Registered on the left, confirmed in the middle, unconfirmed on the right', 'subscribe2') . "</b></p>\r\n";
1243
$exportcsv = implode(",\r\n", $subscribers);
1244
echo "<input type=\"hidden\" name=\"exportcsv\" value=\"$exportcsv\" />\r\n";
1245
+ echo "<p class=\"submit\"><input type=\"submit\" name=\"csv\" value=\"" . __('Save Emails to CSV File', 'subscribe2') . "\" /></p>\r\n";
1246
}
1247
echo "<p>" . $strip . "</p>";
1248
echo "<table cellpadding=\"2\" cellspacing=\"2\">";
1264
if (in_array($subscriber, $unconfirmed) || in_array($subscriber, $confirmed) ) {
1265
echo "(" . $this->signup_date($subscriber) . ")</td>\r\n";
1266
echo "<td width=\"5%\" align=\"center\">\r\n";
1267
if (in_array($subscriber, $unconfirmed)) {
1268
$foo = '&lt;-';
1269
$image = 'include/arrow_left.png';
1271
$foo = '-&gt;';
1272
$image = 'include/arrow_right.png';
1273
}
1274
+ echo "<input type=\"image\" src=\"" . $urlpath . $image . "\" name=\"toggle\" value=\"$subscriber\" alt=\"$foo\" /></td>\r\n";
1275
echo "<td width=\"2%\" align=\"center\">\r\n";
1276
echo "<p class=\"delete\">\r\n";
1277
+ echo "<input type=\"image\" src=\"" . $urlpath . "include/cross.png\" name=\"delete\" value=\"$subscriber\" alt=\"X\" />\r\n";
1278
+ echo "</p>";
1279
}
1280
echo "</td></tr>\r\n";
1281
('alternate' == $alternate) ? $alternate = '' : $alternate = 'alternate';
1286
echo "</table>";
1287
echo "<p>" . $strip . "</p>";
1288
if ($reminderform) {
1289
echo "<input type=\"hidden\" name=\"reminderemails\" value=\"$reminderemails\" />\r\n";
1290
+ echo "<p class=\"submit\"><input type=\"submit\" name=\"reminder\" value=\"" . __('Send Reminder Email', 'subscribe2') . "\" /></p>\r\n";
1291
}
1292
1293
//show bulk managment form
1294
echo "<h2>" . __('Categories', 'subscribe2') . "</h2>\r\n";
1295
echo "<p>";
1296
echo __('Existing Registered Users can be automatically (un)subscribed to categories using this section.', 'subscribe2') . "<br />\r\n";
1297
echo "<strong><em style=\"color: red\">" . __('Consider User Privacy as changes cannot be undone', 'subscribe2') . "</em></strong><br />\r\n";
1298
echo "</p>";
1299
echo "<br />" . __('Action to perform', 'subscribe2') . ":\r\n";
1300
echo "<input type=\"radio\" name=\"manage\" value=\"subscribe\" checked=\"checked\" />" . __('Subscribe', 'subscribe2') . "\r\n";
1301
echo "<input type=\"radio\" name=\"manage\" value=\"unsubscribe\" />" . __('Unsubscribe', 'subscribe2') . "<br /><br />\r\n";
1302
+ echo "<input type=\"hidden\" name=\"emails\" value=\"$emails\" />\r\n";
1303
$this->display_category_form();
1304
+ echo "<p class=\"submit\"><input type=\"submit\" id=\"deletepost\" name=\"register\" value=\"" . __('Submit', 'subscribe2') . "\" /></p>";
1305
+ echo "</div></form>\r\n";
1306
1307
include(ABSPATH . 'wp-admin/admin-footer.php');
1308
// just to be sure
1318
// was anything POSTed?
1319
if (isset($_POST['s2_admin'])) {
1320
check_admin_referer('subscribe2-options_subscribers' . $s2nonce);
1321
+ if ($_POST['reset']) {
1322
$this->reset();
1323
echo "<div id=\"message\" class=\"updated fade\"><p><strong>$this->options_reset</strong></p></div>";
1324
+ } elseif ($_POST['submit']) {
1325
// excluded categories
1326
if (!empty($_POST['category'])) {
1327
$exclude_cats = implode(',', $_POST['category']);
1341
($_POST['widget'] == '1') ? $showwidget = '1' : $showwidget = '0';
1342
$this->subscribe2_options['widget'] = $showwidget;
1343
1344
+ // BCClimit
1345
+ $this->subscribe2_options['bcclimit'] = $_POST['bcc'];
1346
+ $this->subscribe2_options['s2page'] = $_POST['page'];
1347
+
1348
// send as author or admin?
1349
$sender = 'author';
1350
if ('admin' == $_POST['sender']) {
1353
$this->subscribe2_options['sender'] = $sender;
1354
1355
// send email for pages, private and password protected posts
1356
+ $this->subscribe2_options['pages']= $_POST['pages'];
1357
+ $this->subscribe2_options['password']= $_POST['password'];
1358
+ $this->subscribe2_options['private'] = $_POST['private'];
1359
1360
// send per-post or digest emails
1361
$email_freq = $_POST['email_freq'];
1362
+ if ( ($email_freq != $this->subscribe2_options['email_freq']) || ($_POST['hour'] != gmdate('H', $scheduled_time)) ) {
1363
+ $this->subscribe2_options['email_freq'] = $email_freq;
1364
+ wp_clear_scheduled_hook('s2_digest_cron');
1365
+ $scheds = (array) wp_get_schedules();
1366
+ $interval = ( isset($scheds[$email_freq]['interval']) ) ? (int) $scheds[$email_freq]['interval'] : 0;
1367
+ if ($interval == 0) {
1368
+ // if we are on per-post emails remove last_cron entry
1369
+ unset($this->subscribe2_options['last_s2cron']);
1370
+ } else {
1371
// if we are using digest schedule the event and prime last_cron as now
1372
$time = current_time('timestamp') + $interval;
1373
if ($interval < 86400) {
1375
$timestamp = &$time;
1376
} else {
1377
// Schedule other CRON events starting at user defined hour and periodically thereafter
1378
+ $timestamp = gmmktime($_POST['hour'], 0, 0, gmdate('m', $time), gmdate('d', $time), gmdate('Y', $time));
1379
}
1380
+ wp_schedule_event($timestamp, $email_freq, 's2_digest_cron');
1381
+ if (!isset($this->subscribe2_options['last_s2cron'])) {
1382
+ $this->subscribe2_options['last_s2cron'] = current_time('mysql');
1383
}
1384
}
1385
}
1386
1387
// email templates
1388
+ $this->subscribe2_options['mailtext'] = $_POST['mailtext'];
1389
+ $this->subscribe2_options['confirm_email'] = $_POST['confirm_email'];
1390
+ $this->subscribe2_options['remind_email'] = $_POST['remind_email'];
1391
1392
//automatic subscription
1393
+ $this->subscribe2_options['autosub'] = $_POST['autosub'];
1394
+ $this->subscribe2_options['wpregdef'] = $_POST['wpregdef'];
1395
+ $this->subscribe2_options['autoformat'] = $_POST['autoformat'];
1396
+ $this->subscribe2_options['autosub_def'] = $_POST['autosub_def'];
1397
1398
//barred domains
1399
+ $this->subscribe2_options['barred'] = $_POST['barred'];
1400
+
1401
echo "<div id=\"message\" class=\"updated fade\"><p><strong>$this->options_saved</strong></p></div>";
1402
update_option('subscribe2_options', $this->subscribe2_options);
1403
}
1411
echo "<input type=\"hidden\" name=\"s2_admin\" value=\"options\" />\r\n";
1412
echo "<h2>" . __('Delivery Options', 'subscribe2') . ":</h2>\r\n";
1413
echo "<p>";
1414
+ echo "<input type=\"hidden\" id=\"jsbcc\" value=\"" . $this->subscribe2_options['bcclimit'] . "\" />";
1415
+ echo "<input type=\"hidden\" id=\"jspage\" value=\"" . $this->subscribe2_options['s2page'] . "\" />";
1416
+
1417
+ echo __('Restrict the number of recpients per email to (0 for unlimited)', 'subscribe2') . ': ';
1418
+ echo "<span id=\"s2bcc_1\"><span id=\"s2bcc\" style=\"background-color: #FFFBCC\">" . $this->subscribe2_options['bcclimit'] . "</span> ";
1419
+ echo "<a href=\"#\" onclick=\"s2_show('bcc')\">" . __('Edit', 'subscribe2') . "</a></span>\n";
1420
+ echo "<span id=\"s2bcc_2\">\r\n";
1421
+ echo "<input type=\"text\" name=\"bcc\" value=\"" . $this->subscribe2_options['bcclimit'] . "\" size=\"3\" />\r\n";
1422
+ echo "<a href=\"#\" onclick=\"s2_update('bcc');\">". __('Update', 'subscribe2') . "</a>\n";
1423
+ echo "<a href=\"#\" onclick=\"s2_revert('bcc');\">". __('Revert', 'subscribe2') . "</a></span>\n";
1424
+
1425
+ echo "<br /><br />" . __('Set default Subscribe2 page as ID', 'subscribe2') . ': ';
1426
+ echo "<span id=\"s2page_1\"><span id=\"s2page\" style=\"background-color: #FFFBCC\">" . $this->subscribe2_options['s2page'] . "</span> ";
1427
+ echo "<a href=\"#\" onclick=\"s2_show('page')\">" . __('Edit', 'subscribe2') . "</a></span>\n";
1428
+ echo "<span id=\"s2page_2\">\r\n";
1429
+ echo "<input type=\"text\" name=\"page\" value=\"" . $this->subscribe2_options['s2page'] . "\" size=\"3\" />\r\n";
1430
+ echo "<a href=\"#\" onclick=\"s2_update('page');\">". __('Update', 'subscribe2') . "</a>\n";
1431
+ echo "<a href=\"#\" onclick=\"s2_revert('page');\">". __('Revert', 'subscribe2') . "</a></span>\n";
1432
+
1433
+ echo "<br /><br />" . __('Send Emails for Pages', 'subscribe2') . ': ';
1434
echo "<input type=\"radio\" name=\"pages\" value=\"yes\"";
1435
if ('yes' == $this->subscribe2_options['pages']) {
1436
echo " checked=\"checked\"";
1605
1606
// submit
1607
echo "<p class=\"submit\" align=\"center\"><input type=\"submit\" id=\"save\" name=\"submit\" value=\"" . __('Submit', 'subscribe2') . "\" /></p>";
1608
1609
// reset
1610
echo "<h2>" . __('Reset Default', 'subscribe2') . "</h2>\r\n";
1611
echo "<p>" . __('Use this to reset all options to their defaults. This <strong><em>will not</em></strong> modify your list of subscribers.', 'subscribe2') . "</p>\r\n";
1612
echo "<p class=\"submit\" align=\"center\">";
1613
+ echo "<input type=\"submit\" id=\"deletepost\" name=\"reset\" value=\"" . __('RESET', 'subscribe2') .
1614
"\" />";
1615
echo "</p></form></div>\r\n";
1616
1875
}
1876
echo "</td></tr>\r\n";
1877
echo "<tr><td align=\"left\" colspan=\"2\">\r\n";
1878
+ echo "<input type=\"checkbox\" name=\"checkall\" onclick=\"setAll(this)\" /> " . __('Select / Unselect All', 'subscribe2') . "\r\n";
1879
echo "</td></tr>\r\n";
1880
echo "</table>\r\n";
1881
} // end display_category_form()
1964
global $wpdb;
1965
$scheduled_time = wp_next_scheduled('s2_digest_cron');
1966
$schedule = (array)wp_get_schedules();
1967
+ $schedule = array_merge(array('never' => array('interval' => 0, 'display' => __('Per Post Email', 'subscribe2'))), $schedule);
1968
$sort = array();
1969
foreach ( (array)$schedule as $key => $value ) $sort[$key] = $value['interval'];
1970
asort($sort);
1980
echo " /> " . $value['display'] . "<br />\r\n";
1981
}
1982
echo "<br />" . __('Send Digest Notification at', 'subscribe2') . ": \r\n";
1983
+ $hours = array('12am', '1am', '2am', '3am', '4am', '5am', '6am', '7am', '8am', '9am', '10am', '11am', '12pm', '1pm', '2pm', '3pm', '4pm', '5pm', '6pm', '7pm', '8pm', '9pm', '10pm', '11pm');
1984
echo "<select name=\"hour\">\r\n";
1985
while ($hour = current($hours)) {
1986
echo "<option value=\"" . key($hours) . "\"";
1993
echo "</select>\r\n";
1994
echo "<strong><em style=\"color: red\">" . __('This option will work for digest notification sent daily or less frequently', 'subscribe2') . "</em></strong>\r\n";
1995
if ($scheduled_time) {
1996
$datetime = get_option('date_format') . ' @ ' . get_option('time_format');
1997
echo "<p>" . __('Current UTC time is', 'subscribe2') . ": \r\n";
1998
echo "<strong>" . gmdate($datetime, current_time('timestamp', 1)) . "</strong></p>\r\n";
2127
2128
global $wpdb;
2129
2130
+ if ( 0 != $this->subscribe2_options['s2page'] ) {
2131
+ return "page_id=" . $this->subscribe2_options['s2page'];
2132
} else {
2133
$id = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status='publish' LIMIT 1");
2134
if ($id) {
2142
/**
2143
Overrides the page title
2144
*/
2145
+ function title_filter($title) {
2146
// don't interfere if we've already done our thing
2147
if (1 == $this->filtered) { return; }
2148
+ if (in_the_loop()) {
2149
+ return __('Subscription Confirmation', 'subscribe2');
2150
+ } else {
2151
+ return $title;
2152
+ }
2153
} // end title_filter()
2154
2155
/* ===== widget functions ===== */
2284
update_option('subscribe2_options', $this->subscribe2_options);
2285
2286
// collect posts
2287
+ $posts = $wpdb->get_results("SELECT ID, post_title, post_excerpt, post_content, post_type, post_password FROM $wpdb->posts WHERE post_date >= '$prev' AND post_date < '$now' AND post_status IN ('publish', 'private') AND post_type IN ('post', 'page') ORDER BY post_date");
2288
2289
// do we have any posts?
2290
if (empty($posts)) { return; }
2347
$message .= $excerpt . "\r\n\r\n";
2348
}
2349
2350
+ // get admin details
2351
$user = $this->get_userdata();
2352
$this->myemail = $user->user_email;
2353
$this->myname = $user->display_name;
2387
function subscribe2() {
2388
global $table_prefix;
2389
2390
+ load_plugin_textdomain('subscribe2', PLUGINDIR . '/' . dirname(plugin_basename(__FILE__)));
2391
2392
// do we need to install anything?
2393
$this->public = $table_prefix . "subscribe2";
2404
add_filter('the_content', array(&$this, 'confirm'));
2405
}
2406
2407
+ if ( (isset($_POST['s2_admin'])) && ($_POST['csv']) ) {
2408
$date = date('Y-m-d');
2409
header('Content-Description: File Transfer');
2410
header("Content-type: application/octet-stream");
2417
}
2418
2419
//add regular actions and filters
2420
add_action('admin_menu', array(&$this, 'admin_menu'));
2421
add_action('create_category', array(&$this, 'autosub_new_category'));
2422
add_action('register_form', array(&$this, 'register_form'));
2444
add_action('pending_to_publish', array(&$this, 'publish'));
2445
add_action('private_to_publish', array(&$this, 'publish'));
2446
add_action('future_to_publish', array(&$this, 'publish'));
2447
+ add_action('publish_phone', array(&$this, 'publish_phone'));
2448
if ($this->subscribe2_options['private'] == "yes") {
2449
add_action('new_to_private', array(&$this, 'publish'));
2450
add_action('draft_to_private', array(&$this, 'publish'));
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: 2008-05-25 15:37+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"
@@ -16,556 +16,572 @@ msgstr ""
16
"Content-Type: text/plain; charset=CHARSET\n"
17
"Content-Transfer-Encoding: 8bit\n"
18
19
- #: subscribe2.php:65
20
msgid "To manage your subscription options please "
21
msgstr ""
22
23
- #: subscribe2.php:65
24
msgid "login"
25
msgstr ""
26
27
- #: subscribe2.php:67 subscribe2.php:69
28
msgid "You may manage your subscription options from your "
29
msgstr ""
30
31
- #: subscribe2.php:67 subscribe2.php:69
32
msgid "profile"
33
msgstr ""
34
35
- #: subscribe2.php:71
36
msgid "A confirmation message is on its way!"
37
msgstr ""
38
39
- #: subscribe2.php:73
40
msgid "That email address is already subscribed."
41
msgstr ""
42
43
- #: subscribe2.php:75
44
msgid "That email address is not subscribed."
45
msgstr ""
46
47
- #: subscribe2.php:77
48
msgid "Sorry, but that does not look like an email address to me."
49
msgstr ""
50
51
- #: subscribe2.php:79
52
msgid ""
53
"Sorry, email addresses at that domain are currently barred due to spam, "
54
"please use an alternative email address."
55
msgstr ""
56
57
- #: subscribe2.php:81
58
msgid ""
59
"Sorry, there seems to be an error on the server. Please try again later."
60
msgstr ""
61
62
- #: subscribe2.php:83
63
msgid "Message sent!"
64
msgstr ""
65
66
- #: subscribe2.php:85
67
msgid "Your email:"
68
msgstr ""
69
70
- #: subscribe2.php:85 subscribe2.php:1210 subscribe2.php:1311
71
msgid "Subscribe"
72
msgstr ""
73
74
- #: subscribe2.php:85 subscribe2.php:1312
75
msgid "Unsubscribe"
76
msgstr ""
77
78
- #: subscribe2.php:85 subscribe2.php:1833
79
msgid "Send"
80
msgstr ""
81
82
- #: subscribe2.php:88
83
msgid "No such email address is registered."
84
msgstr ""
85
86
- #: subscribe2.php:90
87
msgid "You have successfully subscribed!"
88
msgstr ""
89
90
- #: subscribe2.php:92
91
msgid "You have successfully unsubscribed."
92
msgstr ""
93
94
- #: subscribe2.php:94
95
msgid "Please confirm your request"
96
msgstr ""
97
98
- #: subscribe2.php:96
99
msgid "Subscription Reminder"
100
msgstr ""
101
102
- #: subscribe2.php:98
103
msgid "subscribe"
104
msgstr ""
105
106
- #: subscribe2.php:100
107
msgid "unsubscribe"
108
msgstr ""
109
110
- #: subscribe2.php:103
111
msgid "Options saved!"
112
msgstr ""
113
114
- #: subscribe2.php:104
115
msgid "Options reset!"
116
msgstr ""
117
118
- #: subscribe2.php:112 subscribe2.php:1215
119
msgid "Subscribers"
120
msgstr ""
121
122
- #: subscribe2.php:113
123
msgid "Subscribe2 Options"
124
msgstr ""
125
126
- #: subscribe2.php:113 subscribe2.php:2174 subscribe2.php:2237
127
msgid "Subscribe2"
128
msgstr ""
129
130
- #: subscribe2.php:114
131
msgid "Subscriptions"
132
msgstr ""
133
134
- #: subscribe2.php:115
135
msgid "Mail Subscribers"
136
msgstr ""
137
138
- #: subscribe2.php:138
139
msgid "Once Weekly"
140
msgstr ""
141
142
- #: subscribe2.php:690
143
msgid "New subscriber"
144
msgstr ""
145
146
- #: subscribe2.php:691
147
msgid "subscribed to email notifications!"
148
msgstr ""
149
150
- #: subscribe2.php:1065
151
msgid "Address(es) subscribed!"
152
msgstr ""
153
154
- #: subscribe2.php:1068
155
msgid "deleted!"
156
msgstr ""
157
158
- #: subscribe2.php:1071
159
msgid "status changed!"
160
msgstr ""
161
162
- #: subscribe2.php:1074
163
msgid "Reminder Email(s) Sent!"
164
msgstr ""
165
166
- #: subscribe2.php:1077
167
msgid "Registered Users Subscribed!"
168
msgstr ""
169
170
- #: subscribe2.php:1080
171
msgid "Registered Users Unsubscribed!"
172
msgstr ""
173
174
- #: subscribe2.php:1172
175
msgid "Previous Page"
176
msgstr ""
177
178
- #: subscribe2.php:1192
179
msgid "Next Page"
180
msgstr ""
181
182
- #: subscribe2.php:1202
183
msgid "Subscribe Addresses"
184
msgstr ""
185
186
- #: subscribe2.php:1208
187
msgid "Enter addresses, one per line or comma-seperated"
188
msgstr ""
189
190
- #: subscribe2.php:1217
191
msgid "Filter"
192
msgstr ""
193
194
- #: subscribe2.php:1221
195
msgid ""
196
"Registered on the left, confirmed in the middle, unconfirmed on the right"
197
msgstr ""
198
199
- #: subscribe2.php:1229
200
msgid "Save Emails to CSV File"
201
msgstr ""
202
203
- #: subscribe2.php:1283
204
msgid "NONE"
205
msgstr ""
206
207
- #: subscribe2.php:1294
208
msgid "Send Reminder Email"
209
msgstr ""
210
211
- #: subscribe2.php:1301
212
msgid "Categories"
213
msgstr ""
214
215
- #: subscribe2.php:1303
216
msgid ""
217
"Existing Registered Users can be automatically (un)subscribed to categories "
218
"using this section."
219
msgstr ""
220
221
- #: subscribe2.php:1304
222
msgid "Consider User Privacy as changes cannot be undone"
223
msgstr ""
224
225
- #: subscribe2.php:1310
226
msgid "Action to perform"
227
msgstr ""
228
229
- #: subscribe2.php:1315 subscribe2.php:1614
230
msgid "Submit"
231
msgstr ""
232
233
- #: subscribe2.php:1438
234
msgid "Delivery Options"
235
msgstr ""
236
237
- #: subscribe2.php:1440
238
msgid "Send Emails for Pages"
239
msgstr ""
240
241
- #: subscribe2.php:1445 subscribe2.php:1456 subscribe2.php:1467
242
- #: subscribe2.php:1571 subscribe2.php:1598 subscribe2.php:1749
243
- #: subscribe2.php:1769
244
msgid "Yes"
245
msgstr ""
246
247
- #: subscribe2.php:1450 subscribe2.php:1461 subscribe2.php:1472
248
- #: subscribe2.php:1565 subscribe2.php:1576 subscribe2.php:1603
249
- #: subscribe2.php:1754 subscribe2.php:1773
250
msgid "No"
251
msgstr ""
252
253
- #: subscribe2.php:1451
254
msgid "Send Emails for Password Protected Posts"
255
msgstr ""
256
257
- #: subscribe2.php:1462
258
msgid "Send Emails for Private Posts"
259
msgstr ""
260
261
- #: subscribe2.php:1473
262
msgid "Send Email From"
263
msgstr ""
264
265
- #: subscribe2.php:1478
266
msgid "Author of the post"
267
msgstr ""
268
269
- #: subscribe2.php:1483
270
msgid "Blog Admin"
271
msgstr ""
272
273
- #: subscribe2.php:1485
274
msgid "Send Email as Digest"
275
msgstr ""
276
277
- #: subscribe2.php:1489
278
msgid "Email Templates"
279
msgstr ""
280
281
- #: subscribe2.php:1493
282
msgid "New Post email (must not be empty)"
283
msgstr ""
284
285
- #: subscribe2.php:1497
286
msgid "Message substitions"
287
msgstr ""
288
289
- #: subscribe2.php:1501
290
msgid "the post's title<br />(<i>for per-post emails only</i>)"
291
msgstr ""
292
293
- #: subscribe2.php:1502
294
msgid ""
295
"the excerpt or the entire post<br />(<i>based on the subscriber's "
296
"preferences</i>)"
297
msgstr ""
298
299
- #: subscribe2.php:1503
300
msgid "a list of post titles<br />(<i>for digest emails only</i>)"
301
msgstr ""
302
303
- #: subscribe2.php:1504
304
msgid "the post's permalink<br />(<i>for per-post emails only</i>)"
305
msgstr ""
306
307
- #: subscribe2.php:1505
308
msgid "the admin or post author's name"
309
msgstr ""
310
311
- #: subscribe2.php:1506
312
msgid "the admin or post author's email"
313
msgstr ""
314
315
- #: subscribe2.php:1507
316
msgid "the post author's name"
317
msgstr ""
318
319
- #: subscribe2.php:1508
320
msgid ""
321
"the generated link to confirm a request<br />(<i>only used in the "
322
"confirmation email template</i>)"
323
msgstr ""
324
325
- #: subscribe2.php:1509
326
msgid ""
327
"Action performed by LINK in confirmation email<br />(<i>only used in the "
328
"confirmation email template</i>)"
329
msgstr ""
330
331
- #: subscribe2.php:1511
332
msgid "Subscribe / Unsubscribe confirmation email"
333
msgstr ""
334
335
- #: subscribe2.php:1514
336
msgid "Reminder email to Unconfirmed Subscribers"
337
msgstr ""
338
339
- #: subscribe2.php:1519
340
msgid "Excluded Categories"
341
msgstr ""
342
343
- #: subscribe2.php:1521
344
msgid ""
345
"Posts assigned to any Excluded Category do not generate notifications and "
346
"are not included in digest notifications"
347
msgstr ""
348
349
- #: subscribe2.php:1528
350
msgid "Allow registered users to subscribe to excluded categories?"
351
msgstr ""
352
353
- #: subscribe2.php:1531
354
msgid "Writing Options"
355
msgstr ""
356
357
- #: subscribe2.php:1537
358
msgid "Show the Subscribe2 button on the Write toolbar?"
359
msgstr ""
360
361
- #: subscribe2.php:1544
362
msgid "Enable Subscribe2 Widget?"
363
msgstr ""
364
365
- #: subscribe2.php:1548
366
msgid "Auto Subscribe"
367
msgstr ""
368
369
- #: subscribe2.php:1550
370
msgid "Subscribe new users registering with your blog"
371
msgstr ""
372
373
- #: subscribe2.php:1555
374
msgid "Automatically"
375
msgstr ""
376
377
- #: subscribe2.php:1560
378
msgid "Display option on Registration Form"
379
msgstr ""
380
381
- #: subscribe2.php:1566
382
msgid "Registration Form option is checked by default"
383
msgstr ""
384
385
- #: subscribe2.php:1577
386
msgid "Auto-subscribe users to receive email as"
387
msgstr ""
388
389
- #: subscribe2.php:1582 subscribe2.php:1727
390
msgid "HTML"
391
msgstr ""
392
393
- #: subscribe2.php:1587
394
msgid "Plain Text - Full"
395
msgstr ""
396
397
- #: subscribe2.php:1592
398
msgid "Plain Text - Excerpt"
399
msgstr ""
400
401
- #: subscribe2.php:1593
402
msgid "Auto Subscribe me to new categories is checked by default"
403
msgstr ""
404
405
- #: subscribe2.php:1607
406
msgid "Barred Domains"
407
msgstr ""
408
409
- #: subscribe2.php:1609
410
msgid ""
411
"Enter domains to bar from public subscriptions: <br /> (Use a new line for "
412
"each entry and omit the \"@\" symbol, for example email.com)"
413
msgstr ""
414
415
- #: subscribe2.php:1619
416
msgid "Reset Default"
417
msgstr ""
418
419
- #: subscribe2.php:1620
420
msgid ""
421
"Use this to reset all options to their defaults. This <strong><em>will not</"
422
"em></strong> modify your list of subscribers."
423
msgstr ""
424
425
- #: subscribe2.php:1627
426
msgid "RESET"
427
msgstr ""
428
429
- #: subscribe2.php:1653
430
msgid "Subscription preferences updated."
431
msgstr ""
432
433
- #: subscribe2.php:1714
434
msgid "Notification Settings"
435
msgstr ""
436
437
- #: subscribe2.php:1722
438
msgid "Receive email as"
439
msgstr ""
440
441
- #: subscribe2.php:1732
442
msgid "Plain Text"
443
msgstr ""
444
445
- #: subscribe2.php:1734
446
msgid "Email contains"
447
msgstr ""
448
449
- #: subscribe2.php:1735
450
msgid "Excerpt Only"
451
msgstr ""
452
453
- #: subscribe2.php:1735
454
msgid "Full Post"
455
msgstr ""
456
457
- #: subscribe2.php:1743
458
msgid "Note: HTML format will always deliver the full post"
459
msgstr ""
460
461
- #: subscribe2.php:1744
462
msgid "Automatically subscribe me to newly created categories"
463
msgstr ""
464
465
- #: subscribe2.php:1758
466
msgid "Subscribed Categories"
467
msgstr ""
468
469
- #: subscribe2.php:1763
470
msgid "Receive daily summary of new posts?"
471
msgstr ""
472
473
- #: subscribe2.php:1779
474
msgid "Update Preferences"
475
msgstr ""
476
477
- #: subscribe2.php:1820
478
msgid "Send email to all subscribers"
479
msgstr ""
480
481
- #: subscribe2.php:1826
482
msgid "Subject"
483
msgstr ""
484
485
- #: subscribe2.php:1826
486
msgid "A message from "
487
msgstr ""
488
489
- #: subscribe2.php:1829
490
msgid "Recipients: "
491
msgstr ""
492
493
- #: subscribe2.php:1892
494
msgid "Select / Unselect All"
495
msgstr ""
496
497
- #: subscribe2.php:1910
498
msgid "All Subscribers"
499
msgstr ""
500
501
- #: subscribe2.php:1911
502
msgid "Public Subscribers"
503
msgstr ""
504
505
- #: subscribe2.php:1912
506
msgid "Confirmed"
507
msgstr ""
508
509
- #: subscribe2.php:1913
510
msgid "Unconfirmed"
511
msgstr ""
512
513
- #: subscribe2.php:1914
514
msgid "Registered Users"
515
msgstr ""
516
517
- #: subscribe2.php:1981
518
msgid "Per Post Email"
519
msgstr ""
520
521
- #: subscribe2.php:1996
522
msgid "Send Digest Notification at"
523
msgstr ""
524
525
- #: subscribe2.php:2008
526
msgid ""
527
"This option will work for digest notification sent daily or less frequently"
528
msgstr ""
529
530
- #: subscribe2.php:2010
531
- msgid "Reset the schedule time and date for periodic email notifications"
532
- msgstr ""
533
-
534
- #: subscribe2.php:2012
535
msgid "Current UTC time is"
536
msgstr ""
537
538
- #: subscribe2.php:2014
539
msgid "Current blog time is"
540
msgstr ""
541
542
- #: subscribe2.php:2016
543
msgid "Next email notification will be sent when your blog time is after"
544
msgstr ""
545
546
- #: subscribe2.php:2029
547
msgid "Check here to Subscribe to email notifications for new posts"
548
msgstr ""
549
550
- #: subscribe2.php:2038
551
msgid ""
552
"By Registering with this blog you are also agreeing to recieve email "
553
"notifications for new posts"
554
msgstr ""
555
556
- #: subscribe2.php:2163
557
msgid "Subscription Confirmation"
558
msgstr ""
559
560
- #: subscribe2.php:2197
561
msgid "Title:"
562
msgstr ""
563
564
- #: subscribe2.php:2369
565
msgid "Digest Email"
566
msgstr ""
567
568
- #: include/options.php:63
569
msgid ""
570
"BLOGNAME has posted a new item, 'TITLE'\n"
571
"\n"
@@ -581,7 +597,7 @@ msgid ""
581
"EMAIL"
582
msgstr ""
583
584
- #: include/options.php:67
585
msgid ""
586
"BLOGNAME has received a request to ACTION for this email address. To "
587
"complete your request please click on the link below:\n"
@@ -594,7 +610,7 @@ msgid ""
594
"MYNAME."
595
msgstr ""
596
597
- #: include/options.php:71
598
msgid ""
599
"This email address was subscribed for notifications at BLOGNAME (BLOGLINK) "
600
"but the subscription remains incomplete.\n"
8
msgstr ""
9
"Project-Id-Version: PACKAGE VERSION\n"
10
"Report-Msgid-Bugs-To: \n"
11
+ "POT-Creation-Date: 2008-07-02 19:50+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"
16
"Content-Type: text/plain; charset=CHARSET\n"
17
"Content-Transfer-Encoding: 8bit\n"
18
19
+ #: subscribe2.php:55
20
msgid "To manage your subscription options please "
21
msgstr ""
22
23
+ #: subscribe2.php:55
24
msgid "login"
25
msgstr ""
26
27
+ #: subscribe2.php:57 subscribe2.php:59
28
msgid "You may manage your subscription options from your "
29
msgstr ""
30
31
+ #: subscribe2.php:57 subscribe2.php:59
32
msgid "profile"
33
msgstr ""
34
35
+ #: subscribe2.php:61
36
msgid "A confirmation message is on its way!"
37
msgstr ""
38
39
+ #: subscribe2.php:63
40
msgid "That email address is already subscribed."
41
msgstr ""
42
43
+ #: subscribe2.php:65
44
msgid "That email address is not subscribed."
45
msgstr ""
46
47
+ #: subscribe2.php:67
48
msgid "Sorry, but that does not look like an email address to me."
49
msgstr ""
50
51
+ #: subscribe2.php:69
52
msgid ""
53
"Sorry, email addresses at that domain are currently barred due to spam, "
54
"please use an alternative email address."
55
msgstr ""
56
57
+ #: subscribe2.php:71
58
msgid ""
59
"Sorry, there seems to be an error on the server. Please try again later."
60
msgstr ""
61
62
+ #: subscribe2.php:73
63
msgid "Message sent!"
64
msgstr ""
65
66
+ #: subscribe2.php:75
67
msgid "Your email:"
68
msgstr ""
69
70
+ #: subscribe2.php:75 subscribe2.php:1233 subscribe2.php:1300
71
msgid "Subscribe"
72
msgstr ""
73
74
+ #: subscribe2.php:75 subscribe2.php:1301
75
msgid "Unsubscribe"
76
msgstr ""
77
78
+ #: subscribe2.php:75 subscribe2.php:1819
79
msgid "Send"
80
msgstr ""
81
82
+ #: subscribe2.php:78
83
msgid "No such email address is registered."
84
msgstr ""
85
86
+ #: subscribe2.php:80
87
msgid "You have successfully subscribed!"
88
msgstr ""
89
90
+ #: subscribe2.php:82
91
msgid "You have successfully unsubscribed."
92
msgstr ""
93
94
+ #: subscribe2.php:84
95
msgid "Please confirm your request"
96
msgstr ""
97
98
+ #: subscribe2.php:86
99
msgid "Subscription Reminder"
100
msgstr ""
101
102
+ #: subscribe2.php:88
103
msgid "subscribe"
104
msgstr ""
105
106
+ #: subscribe2.php:90
107
msgid "unsubscribe"
108
msgstr ""
109
110
+ #: subscribe2.php:93
111
msgid "Options saved!"
112
msgstr ""
113
114
+ #: subscribe2.php:94
115
msgid "Options reset!"
116
msgstr ""
117
118
+ #: subscribe2.php:102 subscribe2.php:1236
119
msgid "Subscribers"
120
msgstr ""
121
122
+ #: subscribe2.php:105
123
msgid "Subscribe2 Options"
124
msgstr ""
125
126
+ #: subscribe2.php:105 subscribe2.php:2163 subscribe2.php:2226
127
msgid "Subscribe2"
128
msgstr ""
129
130
+ #: subscribe2.php:109
131
msgid "Subscriptions"
132
msgstr ""
133
134
+ #: subscribe2.php:112
135
msgid "Mail Subscribers"
136
msgstr ""
137
138
+ #: subscribe2.php:140
139
msgid "Once Weekly"
140
msgstr ""
141
142
+ #: subscribe2.php:704
143
msgid "New subscriber"
144
msgstr ""
145
146
+ #: subscribe2.php:705
147
msgid "subscribed to email notifications!"
148
msgstr ""
149
150
+ #: subscribe2.php:1088
151
msgid "Address(es) subscribed!"
152
msgstr ""
153
154
+ #: subscribe2.php:1091
155
msgid "deleted!"
156
msgstr ""
157
158
+ #: subscribe2.php:1094
159
msgid "status changed!"
160
msgstr ""
161
162
+ #: subscribe2.php:1097
163
msgid "Reminder Email(s) Sent!"
164
msgstr ""
165
166
+ #: subscribe2.php:1100
167
msgid "Registered Users Subscribed!"
168
msgstr ""
169
170
+ #: subscribe2.php:1103
171
msgid "Registered Users Unsubscribed!"
172
msgstr ""
173
174
+ #: subscribe2.php:1195
175
msgid "Previous Page"
176
msgstr ""
177
178
+ #: subscribe2.php:1215
179
msgid "Next Page"
180
msgstr ""
181
182
+ #: subscribe2.php:1226
183
msgid "Subscribe Addresses"
184
msgstr ""
185
186
+ #: subscribe2.php:1230
187
msgid "Enter addresses, one per line or comma-seperated"
188
msgstr ""
189
190
+ #: subscribe2.php:1238
191
msgid "Filter"
192
msgstr ""
193
194
+ #: subscribe2.php:1242
195
msgid ""
196
"Registered on the left, confirmed in the middle, unconfirmed on the right"
197
msgstr ""
198
199
+ #: subscribe2.php:1245
200
msgid "Save Emails to CSV File"
201
msgstr ""
202
203
+ #: subscribe2.php:1284
204
msgid "NONE"
205
msgstr ""
206
207
+ #: subscribe2.php:1290
208
msgid "Send Reminder Email"
209
msgstr ""
210
211
+ #: subscribe2.php:1294
212
msgid "Categories"
213
msgstr ""
214
215
+ #: subscribe2.php:1296
216
msgid ""
217
"Existing Registered Users can be automatically (un)subscribed to categories "
218
"using this section."
219
msgstr ""
220
221
+ #: subscribe2.php:1297
222
msgid "Consider User Privacy as changes cannot be undone"
223
msgstr ""
224
225
+ #: subscribe2.php:1299
226
msgid "Action to perform"
227
msgstr ""
228
229
+ #: subscribe2.php:1304 subscribe2.php:1607
230
msgid "Submit"
231
msgstr ""
232
233
+ #: subscribe2.php:1412
234
msgid "Delivery Options"
235
msgstr ""
236
237
+ #: subscribe2.php:1417
238
+ msgid "Restrict the number of recpients per email to (0 for unlimited)"
239
+ msgstr ""
240
+
241
+ #: subscribe2.php:1419 subscribe2.php:1427
242
+ msgid "Edit"
243
+ msgstr ""
244
+
245
+ #: subscribe2.php:1422 subscribe2.php:1430
246
+ msgid "Update"
247
+ msgstr ""
248
+
249
+ #: subscribe2.php:1423 subscribe2.php:1431
250
+ msgid "Revert"
251
+ msgstr ""
252
+
253
+ #: subscribe2.php:1425
254
+ msgid "Set default Subscribe2 page as ID"
255
+ msgstr ""
256
+
257
+ #: subscribe2.php:1433
258
msgid "Send Emails for Pages"
259
msgstr ""
260
261
+ #: subscribe2.php:1438 subscribe2.php:1449 subscribe2.php:1460
262
+ #: subscribe2.php:1564 subscribe2.php:1591 subscribe2.php:1735
263
+ #: subscribe2.php:1755
264
msgid "Yes"
265
msgstr ""
266
267
+ #: subscribe2.php:1443 subscribe2.php:1454 subscribe2.php:1465
268
+ #: subscribe2.php:1558 subscribe2.php:1569 subscribe2.php:1596
269
+ #: subscribe2.php:1740 subscribe2.php:1759
270
msgid "No"
271
msgstr ""
272
273
+ #: subscribe2.php:1444
274
msgid "Send Emails for Password Protected Posts"
275
msgstr ""
276
277
+ #: subscribe2.php:1455
278
msgid "Send Emails for Private Posts"
279
msgstr ""
280
281
+ #: subscribe2.php:1466
282
msgid "Send Email From"
283
msgstr ""
284
285
+ #: subscribe2.php:1471
286
msgid "Author of the post"
287
msgstr ""
288
289
+ #: subscribe2.php:1476
290
msgid "Blog Admin"
291
msgstr ""
292
293
+ #: subscribe2.php:1478
294
msgid "Send Email as Digest"
295
msgstr ""
296
297
+ #: subscribe2.php:1482
298
msgid "Email Templates"
299
msgstr ""
300
301
+ #: subscribe2.php:1486
302
msgid "New Post email (must not be empty)"
303
msgstr ""
304
305
+ #: subscribe2.php:1490
306
msgid "Message substitions"
307
msgstr ""
308
309
+ #: subscribe2.php:1494
310
msgid "the post's title<br />(<i>for per-post emails only</i>)"
311
msgstr ""
312
313
+ #: subscribe2.php:1495
314
msgid ""
315
"the excerpt or the entire post<br />(<i>based on the subscriber's "
316
"preferences</i>)"
317
msgstr ""
318
319
+ #: subscribe2.php:1496
320
msgid "a list of post titles<br />(<i>for digest emails only</i>)"
321
msgstr ""
322
323
+ #: subscribe2.php:1497
324
msgid "the post's permalink<br />(<i>for per-post emails only</i>)"
325
msgstr ""
326
327
+ #: subscribe2.php:1498
328
msgid "the admin or post author's name"
329
msgstr ""
330
331
+ #: subscribe2.php:1499
332
msgid "the admin or post author's email"
333
msgstr ""
334
335
+ #: subscribe2.php:1500
336
msgid "the post author's name"
337
msgstr ""
338
339
+ #: subscribe2.php:1501
340
msgid ""
341
"the generated link to confirm a request<br />(<i>only used in the "
342
"confirmation email template</i>)"
343
msgstr ""
344
345
+ #: subscribe2.php:1502
346
msgid ""
347
"Action performed by LINK in confirmation email<br />(<i>only used in the "
348
"confirmation email template</i>)"
349
msgstr ""
350
351
+ #: subscribe2.php:1504
352
msgid "Subscribe / Unsubscribe confirmation email"
353
msgstr ""
354
355
+ #: subscribe2.php:1507
356
msgid "Reminder email to Unconfirmed Subscribers"
357
msgstr ""
358
359
+ #: subscribe2.php:1512
360
msgid "Excluded Categories"
361
msgstr ""
362
363
+ #: subscribe2.php:1514
364
msgid ""
365
"Posts assigned to any Excluded Category do not generate notifications and "
366
"are not included in digest notifications"
367
msgstr ""
368
369
+ #: subscribe2.php:1521
370
msgid "Allow registered users to subscribe to excluded categories?"
371
msgstr ""
372
373
+ #: subscribe2.php:1524
374
msgid "Writing Options"
375
msgstr ""
376
377
+ #: subscribe2.php:1530
378
msgid "Show the Subscribe2 button on the Write toolbar?"
379
msgstr ""
380
381
+ #: subscribe2.php:1537
382
msgid "Enable Subscribe2 Widget?"
383
msgstr ""
384
385
+ #: subscribe2.php:1541
386
msgid "Auto Subscribe"
387
msgstr ""
388
389
+ #: subscribe2.php:1543
390
msgid "Subscribe new users registering with your blog"
391
msgstr ""
392
393
+ #: subscribe2.php:1548
394
msgid "Automatically"
395
msgstr ""
396
397
+ #: subscribe2.php:1553
398
msgid "Display option on Registration Form"
399
msgstr ""
400
401
+ #: subscribe2.php:1559
402
msgid "Registration Form option is checked by default"
403
msgstr ""
404
405
+ #: subscribe2.php:1570
406
msgid "Auto-subscribe users to receive email as"
407
msgstr ""
408
409
+ #: subscribe2.php:1575 subscribe2.php:1713
410
msgid "HTML"
411
msgstr ""
412
413
+ #: subscribe2.php:1580
414
msgid "Plain Text - Full"
415
msgstr ""
416
417
+ #: subscribe2.php:1585
418
msgid "Plain Text - Excerpt"
419
msgstr ""
420
421
+ #: subscribe2.php:1586
422
msgid "Auto Subscribe me to new categories is checked by default"
423
msgstr ""
424
425
+ #: subscribe2.php:1600
426
msgid "Barred Domains"
427
msgstr ""
428
429
+ #: subscribe2.php:1602
430
msgid ""
431
"Enter domains to bar from public subscriptions: <br /> (Use a new line for "
432
"each entry and omit the \"@\" symbol, for example email.com)"
433
msgstr ""
434
435
+ #: subscribe2.php:1610
436
msgid "Reset Default"
437
msgstr ""
438
439
+ #: subscribe2.php:1611
440
msgid ""
441
"Use this to reset all options to their defaults. This <strong><em>will not</"
442
"em></strong> modify your list of subscribers."
443
msgstr ""
444
445
+ #: subscribe2.php:1613
446
msgid "RESET"
447
msgstr ""
448
449
+ #: subscribe2.php:1639
450
msgid "Subscription preferences updated."
451
msgstr ""
452
453
+ #: subscribe2.php:1700
454
msgid "Notification Settings"
455
msgstr ""
456
457
+ #: subscribe2.php:1708
458
msgid "Receive email as"
459
msgstr ""
460
461
+ #: subscribe2.php:1718
462
msgid "Plain Text"
463
msgstr ""
464
465
+ #: subscribe2.php:1720
466
msgid "Email contains"
467
msgstr ""
468
469
+ #: subscribe2.php:1721
470
msgid "Excerpt Only"
471
msgstr ""
472
473
+ #: subscribe2.php:1721
474
msgid "Full Post"
475
msgstr ""
476
477
+ #: subscribe2.php:1729
478
msgid "Note: HTML format will always deliver the full post"
479
msgstr ""
480
481
+ #: subscribe2.php:1730
482
msgid "Automatically subscribe me to newly created categories"
483
msgstr ""
484
485
+ #: subscribe2.php:1744
486
msgid "Subscribed Categories"
487
msgstr ""
488
489
+ #: subscribe2.php:1749
490
msgid "Receive daily summary of new posts?"
491
msgstr ""
492
493
+ #: subscribe2.php:1765
494
msgid "Update Preferences"
495
msgstr ""
496
497
+ #: subscribe2.php:1806
498
msgid "Send email to all subscribers"
499
msgstr ""
500
501
+ #: subscribe2.php:1812
502
msgid "Subject"
503
msgstr ""
504
505
+ #: subscribe2.php:1812
506
msgid "A message from "
507
msgstr ""
508
509
+ #: subscribe2.php:1815
510
msgid "Recipients: "
511
msgstr ""
512
513
+ #: subscribe2.php:1878
514
msgid "Select / Unselect All"
515
msgstr ""
516
517
+ #: subscribe2.php:1896
518
msgid "All Subscribers"
519
msgstr ""
520
521
+ #: subscribe2.php:1897
522
msgid "Public Subscribers"
523
msgstr ""
524
525
+ #: subscribe2.php:1898
526
msgid "Confirmed"
527
msgstr ""
528
529
+ #: subscribe2.php:1899
530
msgid "Unconfirmed"
531
msgstr ""
532
533
+ #: subscribe2.php:1900
534
msgid "Registered Users"
535
msgstr ""
536
537
+ #: subscribe2.php:1967
538
msgid "Per Post Email"
539
msgstr ""
540
541
+ #: subscribe2.php:1982
542
msgid "Send Digest Notification at"
543
msgstr ""
544
545
+ #: subscribe2.php:1994
546
msgid ""
547
"This option will work for digest notification sent daily or less frequently"
548
msgstr ""
549
550
+ #: subscribe2.php:1997
551
msgid "Current UTC time is"
552
msgstr ""
553
554
+ #: subscribe2.php:1999
555
msgid "Current blog time is"
556
msgstr ""
557
558
+ #: subscribe2.php:2001
559
msgid "Next email notification will be sent when your blog time is after"
560
msgstr ""
561
562
+ #: subscribe2.php:2014
563
msgid "Check here to Subscribe to email notifications for new posts"
564
msgstr ""
565
566
+ #: subscribe2.php:2023
567
msgid ""
568
"By Registering with this blog you are also agreeing to recieve email "
569
"notifications for new posts"
570
msgstr ""
571
572
+ #: subscribe2.php:2149
573
msgid "Subscription Confirmation"
574
msgstr ""
575
576
+ #: subscribe2.php:2186
577
msgid "Title:"
578
msgstr ""
579
580
+ #: subscribe2.php:2358
581
msgid "Digest Email"
582
msgstr ""
583
584
+ #: include/options.php:75
585
msgid ""
586
"BLOGNAME has posted a new item, 'TITLE'\n"
587
"\n"
597
"EMAIL"
598
msgstr ""
599
600
+ #: include/options.php:79
601
msgid ""
602
"BLOGNAME has received a request to ACTION for this email address. To "
603
"complete your request please click on the link below:\n"
610
"MYNAME."
611
msgstr ""
612
613
+ #: include/options.php:83
614
msgid ""
615
"This email address was subscribed for notifications at BLOGNAME (BLOGLINK) "
616
"but the subscription remains incomplete.\n"
subscribe2debug.php CHANGED
@@ -3,7 +3,7 @@
3
Plugin Name: Subscribe2 Debug
4
Plugin URI: http://subscribe2.wordpress.com
5
Description: Produces Debug Information for the Subscribe2 plugin.
6
- Version: 4.7
7
Author: Matthew Robinson
8
Author URI: http://subscribe2.wordpress.com
9
*/
3
Plugin Name: Subscribe2 Debug
4
Plugin URI: http://subscribe2.wordpress.com
5
Description: Produces Debug Information for the Subscribe2 plugin.
6
+ Version: 4.8
7
Author: Matthew Robinson
8
Author URI: http://subscribe2.wordpress.com
9
*/
subscribe2uninstaller.php CHANGED
@@ -3,7 +3,7 @@
3
Plugin Name: Subscribe2 Uninstaller
4
Plugin URI: http://subscribe2.wordpress.com
5
Description: Uninstalls the Subscribe2 plugin from Manage->S2 Uninstaller.
6
- Version: 4.7
7
Author: Matthew Robinson
8
Author URI: http://subscribe2.wordpress.com
9
*/
3
Plugin Name: Subscribe2 Uninstaller
4
Plugin URI: http://subscribe2.wordpress.com
5
Description: Uninstalls the Subscribe2 plugin from Manage->S2 Uninstaller.
6
+ Version: 4.8
7
Author: Matthew Robinson
8
Author URI: http://subscribe2.wordpress.com
9
*/