Subscribe2 - Version 1.7

Version Description

Download this release

Release Info

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

Code changes from version 1.1 to 1.7

subscribe.php CHANGED
@@ -25,14 +25,17 @@ $hash = (isset($_GET['x'])) ? $_GET['x'] : '';
25
if ('' != $hash) {
26
$foo = explode('x', $hash);
27
$action = $foo[0];
28
- $id = $foo[2];
29
$sql = "SELECT email FROM " . $s2_table . " WHERE id='" . $id . "'";
30
$email = $wpdb->get_var($sql);
31
if ('' == $email) {
32
main('invalid');
33
}
34
if ('a' == $action) {
35
- if ('2' == s2_check($email)) {
36
s2_confirm($email);
37
main('added');
38
} else {
@@ -56,13 +59,14 @@ if ( strtolower($admin->user_email) == strtolower($email) ) {
56
}
57
58
if ('add' == $action) {
59
- if ('0' !== s2_check($email)) {
60
main('already_there');
61
}
62
- s2_add($email);
63
s2_send_confirmation ($email, 'add');
64
main('add_confirm');
65
- }elseif ('delete' == $action) {
66
if ('0' === s2_check($email)) {
67
main('not_there');
68
}
@@ -88,12 +92,12 @@ if ('' == $doing) {
88
}
89
echo '<div id="content" class="narrowcolumn"><div class="post"><p>' . stripslashes($s2["s2_$doing"]) . "</p>\r\n";
90
if ( ('not_there' == $doing) || ('already_there' == $doing) || ('self' == $doing) || ('invalid' == $doing) || ('welcome' == $doing) ) {
91
- echo '<p><form method="post">';
92
echo __('Your email', 'subscribe2') . ':&#160;<input type="text" name="email" value="" size="20" />&#160;<br />';
93
echo '<input type="radio" name="action" value="add" checked="checked" />' . __('subscribe', 'subscribe2') . "\r\n";
94
- echo '<input type="radio" name="action" value="delete" />' . __('unsubscribe', 'subscribe2') . "&#160\r\n";
95
- echo '<input type="submit" value="Send!" />';
96
- echo "</form></p>\r\n";
97
}
98
echo '<p><strong>' . __('Note', 'subscribe2') . ':</strong> ' . get_settings('blogname') . ' ' . __('values personal privacy', 'subscribe2') . '.<br />';
99
_e('This list is used solely to inform you when new posts are added.', 'subscribe2');
@@ -113,7 +117,7 @@ die;
113
// return values:
114
// 0 == not present
115
// 1 == present, and confirmed
116
- // 2 == present, and not confirmed
117
////////////////////
118
function s2_check ($email = '') {
119
global $wpdb, $s2_table;
@@ -128,7 +132,7 @@ $foo = $wpdb->get_row($query);
128
if ('1' === $foo->active) {
129
return '1';
130
} elseif ('0' === $foo->active) {
131
- return '2';
132
} else {
133
return '0';
134
}
@@ -138,18 +142,24 @@ if ('1' === $foo->active) {
138
// *** s2_add() ***
139
// add an email address to the database with a status of "0" (unconfirmed)
140
///////////////////
141
- function s2_add ($email = '') {
142
global $wpdb, $s2_table;
143
if ( ('' == $email) || (! is_email($email)) ) {
144
// no valid email, so bail out
145
return;
146
}
147
- // check to make sure the address isn't already there
148
- if ('0' != s2_check($email)) {
149
- // user exists, so bail out
150
- return '1';
151
}
152
- $sql = "INSERT INTO " . $s2_table . " (email, active) VALUES ('" . $email . "', '0')";
153
$result = $wpdb->query($sql);
154
} // s2_add
155
@@ -167,12 +177,14 @@ if ( ('' == $email) || (! is_email($email)) ) {
167
168
$admin = get_userdata(1);
169
170
- if ('2' == s2_check($email)) {
171
$sql = "UPDATE " . $s2_table . " SET active = '1' WHERE email = '" . $email . "'";
172
$result = $wpdb->query($sql);
173
$mailtext = __('The following email address has successfully subscribed to your blog', 'subscribe2') . ":\n\n $email\n";
174
- $mailheaders = "From: $admin->user_nickname <$admin->user_email>";
175
- mail($admin->user_email, stripslashes($s2['s2_subscribed_admin_subject']), $mailtext, $mailheaders);
176
}
177
} // s2_confirm
178
@@ -197,8 +209,10 @@ $result = $wpdb->query($sql);
197
$admin = get_userdata(1);
198
199
$mailtext = __('The following email address has successfully unsubscribed from your blog', 'subscribe2') . ":\n\n $email\n";
200
- $mailheaders = "From: $admin->user_nickname <$admin->user_email>";
201
- mail($admin->user_email, $s2['s2_unsubscribed_admin_subject'], $mailtext, $mailheaders);
202
} // s2_delete
203
204
///////////////////////////
@@ -235,7 +249,10 @@ $subject = stripslashes(str_replace("BLOGNAME", get_settings('blogname'), $s2['s
235
$subject = str_replace("MYNAME", $admin->user_nickname, $subject);
236
$subject = str_replace("EMAIL", $admin->user_email, $subject);
237
238
$mailheaders = "From: $admin->user_nickname <$admin->user_email>";
239
mail ($email, $subject, $body, $mailheaders);
240
} // s2_send_confirmation()
241
25
if ('' != $hash) {
26
$foo = explode('x', $hash);
27
$action = $foo[0];
28
+ $id = intval($foo[2]);
29
$sql = "SELECT email FROM " . $s2_table . " WHERE id='" . $id . "'";
30
$email = $wpdb->get_var($sql);
31
if ('' == $email) {
32
main('invalid');
33
}
34
if ('a' == $action) {
35
+ $result = s2_check($email);
36
+ if ('0' === $result) {
37
+ main('not_there');
38
+ } elseif ($result > 1) {
39
s2_confirm($email);
40
main('added');
41
} else {
59
}
60
61
if ('add' == $action) {
62
+ $result = s2_check($email);
63
+ if ( ($result == 1) || ($result > date('Y-m-d', strtotime('-1 day'))) ) {
64
main('already_there');
65
}
66
+ s2_add($email, $result);
67
s2_send_confirmation ($email, 'add');
68
main('add_confirm');
69
+ } elseif ('delete' == $action) {
70
if ('0' === s2_check($email)) {
71
main('not_there');
72
}
92
}
93
echo '<div id="content" class="narrowcolumn"><div class="post"><p>' . stripslashes($s2["s2_$doing"]) . "</p>\r\n";
94
if ( ('not_there' == $doing) || ('already_there' == $doing) || ('self' == $doing) || ('invalid' == $doing) || ('welcome' == $doing) ) {
95
+ echo '<form method="post" action="' . get_bloginfo('home') . '/subscribe.php"><p>';
96
echo __('Your email', 'subscribe2') . ':&#160;<input type="text" name="email" value="" size="20" />&#160;<br />';
97
echo '<input type="radio" name="action" value="add" checked="checked" />' . __('subscribe', 'subscribe2') . "\r\n";
98
+ echo '<input type="radio" name="action" value="delete" />' . __('unsubscribe', 'subscribe2') . "&#160;\r\n";
99
+ echo '<input type="submit" value="' . __('Send', 'subscribe2') . '!" />';
100
+ echo "</p></form>\r\n";
101
}
102
echo '<p><strong>' . __('Note', 'subscribe2') . ':</strong> ' . get_settings('blogname') . ' ' . __('values personal privacy', 'subscribe2') . '.<br />';
103
_e('This list is used solely to inform you when new posts are added.', 'subscribe2');
117
// return values:
118
// 0 == not present
119
// 1 == present, and confirmed
120
+ // YYY-MM-DD == present, and not confirmed (date of subscription)
121
////////////////////
122
function s2_check ($email = '') {
123
global $wpdb, $s2_table;
132
if ('1' === $foo->active) {
133
return '1';
134
} elseif ('0' === $foo->active) {
135
+ return $foo->date;
136
} else {
137
return '0';
138
}
142
// *** s2_add() ***
143
// add an email address to the database with a status of "0" (unconfirmed)
144
///////////////////
145
+ function s2_add ($email = '', $status = '0') {
146
global $wpdb, $s2_table;
147
if ( ('' == $email) || (! is_email($email)) ) {
148
// no valid email, so bail out
149
return;
150
}
151
+
152
+ if ($status > 1) {
153
+ // this is a known unconfirmed address
154
+ // update their timestamp because we're sending them a new
155
+ // confirmation email
156
+ $sql = "UPDATE $s2_table SET date = '" . date('Y-m-d') . "' WHERE email = '$email'";
157
+ $result = $wpdb->query($sql);
158
+ return;
159
}
160
+
161
+ // add this address
162
+ $sql = "INSERT INTO $s2_table (email, active, date) VALUES ('$email', '0', '" . date('Y-m-d') . "')";
163
$result = $wpdb->query($sql);
164
} // s2_add
165
177
178
$admin = get_userdata(1);
179
180
+ if (s2_check($email) > 1) {
181
$sql = "UPDATE " . $s2_table . " SET active = '1' WHERE email = '" . $email . "'";
182
$result = $wpdb->query($sql);
183
$mailtext = __('The following email address has successfully subscribed to your blog', 'subscribe2') . ":\n\n $email\n";
184
+ $mailheaders = "From: \"$admin->user_nickname\" <$admin->user_email>\n";
185
+ $mailheaders .= "MIME-Version: 1.0\n";
186
+ $mailheaders .= "Content-type: text/plain; charset=\"". get_bloginfo('charset') . "\"\n";;
187
+ @wp_mail($admin->user_email, stripslashes($s2['s2_subscribed_admin_subject']), $mailtext, $mailheaders);
188
}
189
} // s2_confirm
190
209
$admin = get_userdata(1);
210
211
$mailtext = __('The following email address has successfully unsubscribed from your blog', 'subscribe2') . ":\n\n $email\n";
212
+ $mailheaders = "From: \"$admin->user_nickname\" <$admin->user_email>\n";
213
+ $mailheaders .= "MIME-Version: 1.0\n";
214
+ $mailheaders .= "Content-type: text/plain; charset=\"". get_bloginfo('charset') . "\"\n";
215
+ @wp_mail($admin->user_email, $s2['s2_unsubscribed_admin_subject'], $mailtext, $mailheaders);
216
} // s2_delete
217
218
///////////////////////////
249
$subject = str_replace("MYNAME", $admin->user_nickname, $subject);
250
$subject = str_replace("EMAIL", $admin->user_email, $subject);
251
252
+ $mailheaders .= "MIME-Version: 1.0\n";
253
+ $mailheaders .= "Content-type: text/plain; charset=\"". get_bloginfo('charset') . "\"\n";
254
$mailheaders = "From: $admin->user_nickname <$admin->user_email>";
255
+
256
mail ($email, $subject, $body, $mailheaders);
257
} // s2_send_confirmation()
258
subscribe2.CHANGELOG CHANGED
@@ -1,4 +1,17 @@
1
Changelog:
2
2.1.0
3
fresh i18n effort: /wp-content/subscribe2/ contains the .mo and .po files
4
both subscribe2.php and subscribe.php are translatable: place the appropriate .po file in the same directory as the source file for which it provides the translation
1
Changelog:
2
+ 2.1.6
3
+ fix some header issues
4
+ If sending Excerpts, and the excerpt is empty, use the text before a <!--more--> tag, if present -- thanks Gene! (http://www.terrik.com/)
5
+ 2.1.5
6
+ work about the postcache bug in WordPress 1.5.1.3 and below
7
+ 2.1.4
8
+ more i18n fixes
9
+ 2.1.3
10
+ finally (!) updated to use whatever value is used for the author/admin display name, as defined by "How to display name:" in the user's Profile.
11
+ 2.1.2
12
+ tidied up i18n: made HTML form submit buttons translatable
13
+ 2.1.1
14
+ more i18n
15
2.1.0
16
fresh i18n effort: /wp-content/subscribe2/ contains the .mo and .po files
17
both subscribe2.php and subscribe.php are translatable: place the appropriate .po file in the same directory as the source file for which it provides the translation
subscribe2.README CHANGED
@@ -47,3 +47,16 @@ The .mo file you create or download will provide translations for both the WordP
47
See here for additional localization information:
48
http://codex.wordpress.org/Localizing_WordPress
49
47
See here for additional localization information:
48
http://codex.wordpress.org/Localizing_WordPress
49
50
+ == Frequently Asked Questions ==
51
+ Q. No emails are sent!
52
+ A. In the overwhelming majority of cases so far, this is caused by spam filters at the recipient end incorrectly flagging messages as spam. Feel free to contact me if you feel something else is going on.
53
+
54
+ Q. The subscribe form is way below my sidebar!
55
+ A.edit subscribe.php and move the line:
56
+ get_sidebar
57
+ from the top to the bottom, just above
58
+ get_footer
59
+ Be sure to enclose it in <?php ?> as needed.
60
+
61
+ Q. I posted an item dated for tomorrow, but no notification was sent!
62
+ A. Future-dated posts do not generate notification emails.
wp-content/plugins/subscribe2.php CHANGED
@@ -1,9 +1,9 @@
1
<?php
2
/*
3
Plugin Name: Subscribe2
4
- Plugin URI: http://www.skippy.net/blog/2005/02/17/subscribe2
5
Description: Notifies an email list when new entries are posted.
6
- Version: 2.1.1
7
Author: Scott Merrill
8
Author URI: http://www.skippy.net/
9
*/
@@ -11,17 +11,21 @@ Author URI: http://www.skippy.net/
11
// ****************************************
12
// CHANGE THIS TO 1 IF YOU ARE ON DREAMHOST
13
// ****************************************
14
- $dreamhost = 1;
15
16
/////////////////////
17
// main program block
18
add_action ('admin_menu', 'subscribe2_menu');
19
add_action ('publish_post', 'subscribe2', 8);
20
//////////// END MAIN PROGRAM /////////////
21
22
-
23
//////////// BEGIN FUNCTIONS //////////////
24
function subscribe2_menu() {
25
add_management_page(__('Subscribers', 'subscribe2'), __('Subscribers', 'subscribe2'), 9, __FILE__, 's2_manage');
26
add_options_page(__('Subscribe2 Options', 'subscribe2'), __('Subscribe2', 'subscribe2'), 9, __FILE__, 's2_options');
27
}
@@ -35,13 +39,19 @@ $s2_table = $table_prefix . "subscribe2";
35
36
// gets the name of your blog
37
$blogname = get_settings('blogname');
38
// gets the link to the new post
39
$postlink = get_permalink($post_ID);
40
- $postdata = get_postdata($post_ID);
41
$cats = wp_get_post_cats('1', $post_ID);
42
43
// is this post's date set in the future?
44
- if ($postdata['Date'] > current_time('mysql')) {
45
// if so, let's not tell anyone about this
46
return $post_ID;
47
}
@@ -63,13 +73,21 @@ if ('1' == $bypass) { return $post_ID; }
63
// do we send as admin, or post author?
64
if ('author' == $s2['s2_sender']) {
65
// get author details
66
- $user = get_userdata($postdata['Author_ID']);
67
} else {
68
// get admin detailts
69
$user = get_userdata(1);
70
}
71
- $myname = $user->user_nicename;
72
$myemailadd = $user->user_email;
73
74
// gets the path to your blog directory
75
$s2_link = get_settings('siteurl') . "/subscribe.php";
@@ -86,12 +104,12 @@ if (count($recipients) == 0) {
86
$subject = stripslashes($s2['s2_subject']);
87
// do any substitutions that are necessary
88
$subject = str_replace('BLOGNAME', $blogname, $subject);
89
- $subject = str_replace('TITLE', $postdata['Title'], $subject);
90
$subject = str_replace('MYNAME', $myname, $subject);
91
$subject = str_replace('EMAIL', $myemailadd, $subject);
92
93
// Set sender details
94
- $headers = "From: " . $myname . " <" . $myemailadd . ">\r\n";
95
96
// BCC all recipients
97
// with batching for Dreamhost
@@ -102,7 +120,7 @@ if (1 == $dreamhost) {
102
foreach ($recipients as $recipient) {
103
$recipient = trim($recipient);
104
if (! empty($recipient)) {
105
- $bcc .= "Bcc: " . $recipient . "\r\n";
106
}
107
if (30 == $count) {
108
$count = 1;
@@ -122,7 +140,7 @@ if (1 == $dreamhost) {
122
foreach ($recipients as $recipient) {
123
$recipient = trim($recipient);
124
if (! empty($recipient)) {
125
- $headers .= "Bcc: " . $recipient . "\r\n";
126
}
127
}
128
}
@@ -131,15 +149,25 @@ if (1 == $dreamhost) {
131
$mailtext = stripslashes($s2['s2_mailtext']);
132
$mailtext = str_replace('BLOGNAME', $blogname, $mailtext);
133
$mailtext = str_replace('BLOGLINK', get_bloginfo('url'), $mailtext);
134
- $mailtext = str_replace('TITLE', $postdata['Title'], $mailtext);
135
$mailtext = str_replace('PERMALINK', $postlink, $mailtext);
136
$mailtext = str_replace('S2LINK', $s2_link, $mailtext);
137
$mailtext = str_replace('MYNAME', $myname, $mailtext);
138
$mailtext = str_replace('EMAIL', $myemailadd, $mailtext);
139
if ('post' == $s2['s2_excerpt']) {
140
- $content = $postdata['Content'];
141
} elseif ('excerpt' == $s2['s2_excerpt']) {
142
- $content = $postdata['Excerpt'];
143
} else {
144
$content = '';
145
}
@@ -147,14 +175,14 @@ $mailtext = str_replace('EXCERPT', $content, $mailtext);
147
148
if ('html' == $s2['s2_html']) {
149
// To send HTML mail, the Content-type header must be set
150
- $headers .= 'MIME-Version: 1.0' . "\r\n";
151
- $headers .= 'Content-type: ' . get_bloginfo('html_type') . '; charset='. get_bloginfo('charset');
152
$mailtext = apply_filters('the_content', $mailtext);
153
$mailtext = str_replace(']]>', ']]&gt;', $mailtext);
154
$mailtext = "<html><head><title>$subject</title></head><body>" . $mailtext . "</body></html>";
155
} else {
156
- $headers .= 'MIME-Version: 1.0' . "\r\n";
157
- $headers .= 'Content-type: text/plain; charset='. get_bloginfo('charset');
158
$mailtext = strip_tags($mailtext);
159
}
160
@@ -164,10 +192,10 @@ if (isset($_POST['publish'])) { // we only want to send on publish
164
if ( (1 == $dreamhost) && (isset($batch)) ) {
165
foreach ($batch as $bcc) {
166
$newheaders = $headers . $bcc;
167
- mail($myemailadd, $subject, $mailtext, $newheaders);
168
}
169
} else {
170
- mail($myemailadd, $subject, $mailtext, $headers);
171
}
172
}
173
return $post_ID;
@@ -191,13 +219,27 @@ maybe_create_table($s2_table, $s2_table_sql);
191
s2_reset();
192
} // s2_install
193
194
///////////////////
195
function s2_reset() {
196
$s2 = array ('s2_html' => 'text',
197
's2_sender' => 'author',
198
's2_excerpt' => 'excerpt',
199
's2_subject' => 'BLOGNAME has been updated!',
200
- 's2_mailtext' => "BLOGNAME has posted a new item, 'TITLE'\r\nEXCERPT\r\nYou may view the latest post at\r\nPERMALINK\r\nYou received this e-mail because you asked to be notified when new updates are posted.\r\nIf you no longer wish to receive notifications of new posts then please visit:\r\nS2LINK\r\n\nBest regards,\r\nMYNAME\r\nEMAIL",
201
's2_welcome' => 'By subscribing to this service you will be notified every time a new post is added.',
202
's2_confirm_subject' => 'Confirmation Request from BLOGNAME',
203
's2_confirm_email' => "In order to confirm your request for BLOGNAME, please click on the link below:\n\nLINK\n\nIf you did not request this, please feel free to disregard this notice!\n\nThank you,\nMYNAME.",
@@ -417,7 +459,7 @@ foreach ($cache_categories as $cat) {
417
$i++;
418
}
419
echo "</td></tr></table>\r\n";
420
- echo '<p align="center"><input type="submit" name="submit" value="submit" /></p>';
421
echo "</form>\r\n";
422
423
echo '<h2>' . __('Reset Default', 'subscribe2') . "</h2>\r\n";
@@ -427,7 +469,8 @@ _e('Use this to reset all options to their defaults. This <strong><em>will not</
427
echo "</p>";
428
echo '<form method="POST">';
429
echo '<p align="center">';
430
- echo '<input type="submit" name="s2_admin" value="RESET" />';
431
echo "</p></form></fieldset>\r\n";
432
433
include(ABSPATH . '/wp-admin/admin-footer.php');
@@ -473,8 +516,8 @@ $sql = "SELECT email FROM " . $s2_table . " WHERE active='1' ORDER BY email ASC"
473
$confirmed = $wpdb->get_col($sql);
474
475
// get unconfirmed subscribers
476
- $sql = "SELECT email FROM " . $s2_table . " WHERE active='0' ORDER BY email ASC";
477
- $unconfirmed = $wpdb->get_col($sql);
478
if ('admin_sent' == $admin_sent) {
479
echo '<div class="updated"><p align="center">' . __('Message delivered!', 'subscribe2') . "</p></div>\r\n";
480
}
@@ -486,14 +529,16 @@ echo "<form method='POST'>\r\n";
486
echo __('Subscribe Addresses', 'subscribe2') . ': (' . __('one per line, or comma-seperated', 'subscribe2') . ")<br />\r\n";
487
echo '<textarea rows="10" cols="55" name="addresses"></textarea>';
488
echo "<br />\r\n";
489
- echo '<input type="submit" name="s2_admin" value="subscribe">';
490
echo '</form></td><td align="right">';
491
echo "<form method='POST'>\r\n";
492
echo __('Send email to all subscribers', 'subscribe2') . ':';
493
echo '<input type="text" size="30" name="s2_subject" value="' . __('A message from ', 'subscribe2') . get_settings('blogname') . '" /> <br />';
494
echo '<textarea rows="10" cols="55" name="message"></textarea>';
495
echo "<br />\r\n";
496
- echo '<input type="submit" name="s2_admin" value="send">&nbsp;';
497
echo "</form></td></tr></table>\r\n";
498
echo '<div style="clear: both;"><p>&nbsp;</p></div>';
499
echo '<h2>' . __('Subscribers', 'subscribe2') . "</h2>\r\n";
@@ -521,9 +566,9 @@ if (is_array($unconfirmed)) {
521
$alternate = 'alternate';
522
foreach ($unconfirmed as $subscriber) {
523
echo '<tr class="' . $alternate . '">';
524
- echo '<td width="5%" align="center"><form method="POST"><input type="hidden" name="email" value="' . $subscriber . '" /><input type="hidden" name="s2_admin" value="toggle" /><input type="submit" name="submit" value="&lt;-" /></form></td>';
525
- echo '<td align="center"><a href="mailto:' . $subscriber . '">' . $subscriber . "</a></td>\r\n";
526
- echo '<td width="5%" align="center"><form method="POST"><input type="hidden" name="email" value="' . $subscriber . '" /><input type="hidden" name="s2_admin" value="delete" /><input type="submit" name="submit" value=" X " /></form></td>';
527
echo "</tr>\r\n";
528
('alternate' == $alternate) ? $alternate = '' : $alternate = 'alternate';
529
}
@@ -616,7 +661,7 @@ $mailtext = stripslashes($_POST['message']);
616
$s2_table = $table_prefix . "subscribe2";
617
618
// Set sender details
619
- $headers = "From: " . $user_identity . " <" . $user_email . ">\r\n";
620
621
// get the list of active recipients from the database
622
$sql = "SELECT email FROM $s2_table WHERE active='1'";
@@ -635,7 +680,7 @@ if (1 == $dreamhost) {
635
foreach ($recipients as $recipient) {
636
$recipient = trim($recipient);
637
if (! empty($recipient)) {
638
- $bcc .= "BCC: " . $recipient . "\r\n";
639
}
640
if (30 == $count) {
641
$batch[] = $bcc;
@@ -654,7 +699,7 @@ if (1 == $dreamhost) {
654
foreach ($recipients as $recipient) {
655
$recipient = trim($recipient);
656
if (! empty($recipient)) {
657
- $headers .= "BCC: " . $recipient . "\r\n";
658
}
659
}
660
}
@@ -662,20 +707,20 @@ if (1 == $dreamhost) {
662
$s2 = get_option('s2_options');
663
if ('html' == $s2['s2_html']) {
664
$mailtext = "<html><head><title>$subject</title></head><body>$mailtext</body></html>";
665
- $headers .= 'MIME-Version: 1.0' . "\r\n";
666
- $headers .= 'Content-type: ' . get_bloginfo('html_type') . '; charset='. get_bloginfo('charset');
667
} else {
668
- $headers .= 'MIME-Version: 1.0' . "\r\n";
669
- $headers .= 'Content-type: text/plain; charset='. get_bloginfo('charset');
670
}
671
672
if ( (1 == $dreamhost) && (isset($batch)) ) {
673
foreach ($batch as $bcc) {
674
$newheaders = $headers . $bcc;
675
- mail($myemailadd, $subject, $mailtext, $newheaders);
676
}
677
} else {
678
- mail($user_email, $subject, $mailtext, $headers);
679
}
680
681
$_POST['s2_admin'] = '';
1
<?php
2
/*
3
Plugin Name: Subscribe2
4
+ Plugin URI: http://www.skippy.net/blog/plugins
5
Description: Notifies an email list when new entries are posted.
6
+ Version: 2.1.7
7
Author: Scott Merrill
8
Author URI: http://www.skippy.net/
9
*/
11
// ****************************************
12
// CHANGE THIS TO 1 IF YOU ARE ON DREAMHOST
13
// ****************************************
14
+ $dreamhost = 0;
15
16
/////////////////////
17
// main program block
18
+ $s2_version = "2.1.7";
19
add_action ('admin_menu', 'subscribe2_menu');
20
add_action ('publish_post', 'subscribe2', 8);
21
//////////// END MAIN PROGRAM /////////////
22
23
//////////// BEGIN FUNCTIONS //////////////
24
function subscribe2_menu() {
25
+ global $s2_version;
26
+ if ($s2_version != get_option('s2_version')) {
27
+ s2_db_upgrade();
28
+ }
29
add_management_page(__('Subscribers', 'subscribe2'), __('Subscribers', 'subscribe2'), 9, __FILE__, 's2_manage');
30
add_options_page(__('Subscribe2 Options', 'subscribe2'), __('Subscribe2', 'subscribe2'), 9, __FILE__, 's2_options');
31
}
39
40
// gets the name of your blog
41
$blogname = get_settings('blogname');
42
+
43
+ // we do this to work around a bug with drafts in WP 1.5.1.3 and below
44
+ $postdata = $wpdb->get_row("SELECT * FROM $wpdb->posts WHERE ID = '$post_ID'");
45
+ global $post_cache;
46
+ $post_cache[$post_ID] = $postdata;
47
+
48
// gets the link to the new post
49
$postlink = get_permalink($post_ID);
50
+
51
$cats = wp_get_post_cats('1', $post_ID);
52
53
// is this post's date set in the future?
54
+ if ($postdata->post_date > current_time('mysql')) {
55
// if so, let's not tell anyone about this
56
return $post_ID;
57
}
73
// do we send as admin, or post author?
74
if ('author' == $s2['s2_sender']) {
75
// get author details
76
+ $user = get_userdata($postdata->post_author);
77
} else {
78
// get admin detailts
79
$user = get_userdata(1);
80
}
81
$myemailadd = $user->user_email;
82
+ $idmode = $userdata->user_idmode;
83
+ if ($idmode == 'nickname') $myname = $user->user_nickname;
84
+ if ($idmode == 'login') $myname = $user->user_login;
85
+ if ($idmode == 'firstname') $myname = $user->user_firstname;
86
+ if ($idmode == 'lastname') $myname = $user->user_lastname;
87
+ if ($idmode == 'namefl') $myname = $user->user_firstname.' '.$user->user_lastname;
88
+ if ($idmode == 'namelf') $myname = $user->user_lastname.' '.$user->user_firstname;
89
+ if (!$idmode) $myname = $user->user_nickname;
90
+
91
92
// gets the path to your blog directory
93
$s2_link = get_settings('siteurl') . "/subscribe.php";
104
$subject = stripslashes($s2['s2_subject']);
105
// do any substitutions that are necessary
106
$subject = str_replace('BLOGNAME', $blogname, $subject);
107
+ $subject = str_replace('TITLE', $postdata->post_title, $subject);
108
$subject = str_replace('MYNAME', $myname, $subject);
109
$subject = str_replace('EMAIL', $myemailadd, $subject);
110
111
// Set sender details
112
+ $headers = "From: \"$myname\" <" . $myemailadd . ">\n";
113
114
// BCC all recipients
115
// with batching for Dreamhost
120
foreach ($recipients as $recipient) {
121
$recipient = trim($recipient);
122
if (! empty($recipient)) {
123
+ $bcc .= "Bcc: " . $recipient . "\n";
124
}
125
if (30 == $count) {
126
$count = 1;
140
foreach ($recipients as $recipient) {
141
$recipient = trim($recipient);
142
if (! empty($recipient)) {
143
+ $headers .= "Bcc: " . $recipient . "\n";
144
}
145
}
146
}
149
$mailtext = stripslashes($s2['s2_mailtext']);
150
$mailtext = str_replace('BLOGNAME', $blogname, $mailtext);
151
$mailtext = str_replace('BLOGLINK', get_bloginfo('url'), $mailtext);
152
+ $mailtext = str_replace('TITLE', $postdata->post_title, $mailtext);
153
$mailtext = str_replace('PERMALINK', $postlink, $mailtext);
154
$mailtext = str_replace('S2LINK', $s2_link, $mailtext);
155
$mailtext = str_replace('MYNAME', $myname, $mailtext);
156
$mailtext = str_replace('EMAIL', $myemailadd, $mailtext);
157
if ('post' == $s2['s2_excerpt']) {
158
+ $content = $postdata->post_content;
159
} elseif ('excerpt' == $s2['s2_excerpt']) {
160
+ $content = $postdata->post_excerpt;
161
+
162
+ if ('' == $content) {
163
+ // no excerpt
164
+ // let's see if a <!--more--> tag exists in the body
165
+ if (false !== strpos($postdata->post_content, '<!--more-->')) {
166
+ list($content, $more) = explode('<!--more-->',$postdata->post_content, 2);
167
+ // strip leading and trailing whitespace
168
+ $content = preg_replace('/^[\s]*(.*)[\s]*#x2F;','\\1',$content);
169
+ }
170
+ }
171
} else {
172
$content = '';
173
}
175
176
if ('html' == $s2['s2_html']) {
177
// To send HTML mail, the Content-type header must be set
178
+ $headers .= "MIME-Version: 1.0\n";
179
+ $headers .= "Content-type: " . get_bloginfo('html_type') . "; charset=\"". get_bloginfo('charset') . "\"\n";
180
$mailtext = apply_filters('the_content', $mailtext);
181
$mailtext = str_replace(']]>', ']]&gt;', $mailtext);
182
$mailtext = "<html><head><title>$subject</title></head><body>" . $mailtext . "</body></html>";
183
} else {
184
+ $headers .= "MIME-Version: 1.0\n";
185
+ $headers .= "Content-type: text/plain; charset=\"". get_bloginfo('charset') . "\"\n";
186
$mailtext = strip_tags($mailtext);
187
}
188
192
if ( (1 == $dreamhost) && (isset($batch)) ) {
193
foreach ($batch as $bcc) {
194
$newheaders = $headers . $bcc;
195
+ @wp_mail($myemailadd, $subject, $mailtext, $newheaders);
196
}
197
} else {
198
+ @wp_mail($myemailadd, $subject, $mailtext, $headers);
199
}
200
}
201
return $post_ID;
219
s2_reset();
220
} // s2_install
221
222
+ ///////////////////////
223
+ function s2_db_upgrade() {
224
+ // include upgrade-functions for maybe_create_table;
225
+ if (! function_exists('maybe_create_table')) {
226
+ require_once(ABSPATH . '/wp-admin/upgrade-functions.php');
227
+ }
228
+ global $wpdb, $table_prefix, $s2_version;
229
+ $s2_table = $table_prefix . "subscribe2";
230
+
231
+ $date = date('Y-m-d');
232
+ maybe_add_column($s2_table, "date", "ALTER TABLE `$s2_table` ADD `date` DATE DEFAULT '$date' NOT NULL AFTER `active` ;");
233
+ update_option('s2_version', $s2_version);
234
+ }// s2_db_upgrade
235
+
236
///////////////////
237
function s2_reset() {
238
$s2 = array ('s2_html' => 'text',
239
's2_sender' => 'author',
240
's2_excerpt' => 'excerpt',
241
's2_subject' => 'BLOGNAME has been updated!',
242
+ 's2_mailtext' => "BLOGNAME has posted a new item, 'TITLE'\r\nEXCERPT\r\nYou may view the latest post at\r\nPERMALINK\r\nYou received this e-mail because you asked to be notified when new updates are posted.\r\nIf you no longer wish to receive notifications of new posts then please visit:\r\nS2LINK\r\nBest regards,\r\nMYNAME\r\nEMAIL",
243
's2_welcome' => 'By subscribing to this service you will be notified every time a new post is added.',
244
's2_confirm_subject' => 'Confirmation Request from BLOGNAME',
245
's2_confirm_email' => "In order to confirm your request for BLOGNAME, please click on the link below:\n\nLINK\n\nIf you did not request this, please feel free to disregard this notice!\n\nThank you,\nMYNAME.",
459
$i++;
460
}
461
echo "</td></tr></table>\r\n";
462
+ echo '<p align="center"><input type="submit" name="submit" value=' . __('submit', 'subscribe2') . ' /></p>';
463
echo "</form>\r\n";
464
465
echo '<h2>' . __('Reset Default', 'subscribe2') . "</h2>\r\n";
469
echo "</p>";
470
echo '<form method="POST">';
471
echo '<p align="center">';
472
+ echo '<input type="hidden" name="s2_admin" value="RESET" />';
473
+ echo '<input type="submit" name="submit" value="' . __('RESET', 'subscribe2') . '" />';
474
echo "</p></form></fieldset>\r\n";
475
476
include(ABSPATH . '/wp-admin/admin-footer.php');
516
$confirmed = $wpdb->get_col($sql);
517
518
// get unconfirmed subscribers
519
+ $sql = "SELECT email,date FROM " . $s2_table . " WHERE active='0' ORDER BY email ASC";
520
+ $unconfirmed = $wpdb->get_results($sql);
521
if ('admin_sent' == $admin_sent) {
522
echo '<div class="updated"><p align="center">' . __('Message delivered!', 'subscribe2') . "</p></div>\r\n";
523
}
529
echo __('Subscribe Addresses', 'subscribe2') . ': (' . __('one per line, or comma-seperated', 'subscribe2') . ")<br />\r\n";
530
echo '<textarea rows="10" cols="55" name="addresses"></textarea>';
531
echo "<br />\r\n";
532
+ echo '<input type="hidden" name="s2_admin" value="subscribe" />';
533
+ echo '<input type="submit" name="submit" value="' . __('Subscribe', 'subscribe2') . '" />';
534
echo '</form></td><td align="right">';
535
echo "<form method='POST'>\r\n";
536
echo __('Send email to all subscribers', 'subscribe2') . ':';
537
echo '<input type="text" size="30" name="s2_subject" value="' . __('A message from ', 'subscribe2') . get_settings('blogname') . '" /> <br />';
538
echo '<textarea rows="10" cols="55" name="message"></textarea>';
539
echo "<br />\r\n";
540
+ echo '<input type="hidden" name="s2_admin" value="send">';
541
+ echo '<input type="submit" name="submit" value="' . __('Send', 'subscribe2') . '">&nbsp;';
542
echo "</form></td></tr></table>\r\n";
543
echo '<div style="clear: both;"><p>&nbsp;</p></div>';
544
echo '<h2>' . __('Subscribers', 'subscribe2') . "</h2>\r\n";
566
$alternate = 'alternate';
567
foreach ($unconfirmed as $subscriber) {
568
echo '<tr class="' . $alternate . '">';
569
+ echo '<td width="5%" align="center"><form method="POST"><input type="hidden" name="email" value="' . $subscriber->email . '" /><input type="hidden" name="s2_admin" value="toggle" /><input type="submit" name="submit" value="&lt;-" /></form></td>';
570
+ echo '<td align="center"><a href="mailto:' . $subscriber->email . '">' . $subscriber->email . "</a> (" . $subscriber->date . ")</td>\r\n";
571
+ echo '<td width="5%" align="center"><form method="POST"><input type="hidden" name="email" value="' . $subscriber->email . '" /><input type="hidden" name="s2_admin" value="delete" /><input type="submit" name="submit" value=" X " /></form></td>';
572
echo "</tr>\r\n";
573
('alternate' == $alternate) ? $alternate = '' : $alternate = 'alternate';
574
}
661
$s2_table = $table_prefix . "subscribe2";
662
663
// Set sender details
664
+ $headers = "From: \"$user_identity\" <" . $user_email . ">\n";
665
666
// get the list of active recipients from the database
667
$sql = "SELECT email FROM $s2_table WHERE active='1'";
680
foreach ($recipients as $recipient) {
681
$recipient = trim($recipient);
682
if (! empty($recipient)) {
683
+ $bcc .= "BCC: " . $recipient . "\n";
684
}
685
if (30 == $count) {
686
$batch[] = $bcc;
699
foreach ($recipients as $recipient) {
700
$recipient = trim($recipient);
701
if (! empty($recipient)) {
702
+ $headers .= "BCC: " . $recipient . "\n";
703
}
704
}
705
}
707
$s2 = get_option('s2_options');
708
if ('html' == $s2['s2_html']) {
709
$mailtext = "<html><head><title>$subject</title></head><body>$mailtext</body></html>";
710
+ $headers .= "MIME-Version: 1.0\n";
711
+ $headers .= "Content-type: " . get_bloginfo('html_type') . "; charset=\"". get_bloginfo('charset') . "\"\n";
712
} else {
713
+ $headers .= "MIME-Version: 1.0\n";
714
+ $headers .= "Content-type: text/plain; charset=\"" . get_bloginfo('charset') . "\"\n" ;
715
}
716
717
if ( (1 == $dreamhost) && (isset($batch)) ) {
718
foreach ($batch as $bcc) {
719
$newheaders = $headers . $bcc;
720
+ @wp_mail($myemailadd, $subject, $mailtext, $newheaders);
721
}
722
} else {
723
+ @wp_mail($user_email, $subject, $mailtext, $headers);
724
}
725
726
$_POST['s2_admin'] = '';
wp-content/subscribe2/subscribe2-en_US.mo DELETED
Binary file
wp-content/subscribe2/subscribe2-en_US.po DELETED
@@ -1,302 +0,0 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: subscribe2\n"
4
- "POT-Creation-Date: \n"
5
- "PO-Revision-Date: 2005-06-22 19:59-0500\n"
6
- "Last-Translator: skippy <skippy@skippy.net>\n"
7
- "Language-Team: skippy <skippy@skippy.net>\n"
8
- "MIME-Version: 1.0\n"
9
- "Content-Type: text/plain; charset=utf-8\n"
10
- "Content-Transfer-Encoding: 8bit\n"
11
- "X-Poedit-Language: English\n"
12
- "X-Poedit-Country: United States\n"
13
- "X-Poedit-SourceCharset: utf-8\n"
14
- "X-Poedit-Keywords: __,_e\n"
15
- "X-Poedit-Basepath: .\n"
16
- "X-Poedit-SearchPath-0: .\n"
17
-
18
- #: subscribe.php:92
19
- msgid "Your email"
20
- msgstr "Your email"
21
-
22
- #: subscribe.php:93
23
- msgid "subscribe"
24
- msgstr "subscribe"
25
-
26
- #: subscribe.php:94
27
- msgid "unsubscribe"
28
- msgstr "unsubscribe"
29
-
30
- #: subscribe.php:98
31
- msgid "Note"
32
- msgstr "Note"
33
-
34
- #: subscribe.php:98
35
- msgid "values personal privacy"
36
- msgstr "values personal privacy"
37
-
38
- #: subscribe.php:99
39
- msgid "This list is used solely to inform you when new posts are added."
40
- msgstr "This list is used solely to inform you when new posts are added."
41
-
42
- #: subscribe.php:101
43
- msgid "Your email address will not be shared with any other party"
44
- msgstr "Your email address will not be shared with any other party"
45
-
46
- #: subscribe.php:103
47
- msgid "Return to "
48
- msgstr "Return to "
49
-
50
- #: subscribe.php:173
51
- msgid "The following email address has successfully subscribed to your blog"
52
- msgstr "The following email address has successfully subscribed to your blog"
53
-
54
- #: subscribe.php:199
55
- msgid "The following email address has successfully unsubscribed from your blog"
56
- msgstr "The following email address has successfully unsubscribed from your blog"
57
-
58
- #: subscribe2.php:25
59
- #: subscribe2.php:499
60
- msgid "Subscribers"
61
- msgstr "Subscribers"
62
-
63
- #: subscribe2.php:26
64
- msgid "Subscribe2 Options"
65
- msgstr "Subscribe2 Options"
66
-
67
- #: subscribe2.php:26
68
- msgid "Subscribe2"
69
- msgstr "Subscribe2"
70
-
71
- #: subscribe2.php:251
72
- msgid "Notification Settings"
73
- msgstr "Notification Settings"
74
-
75
- #: subscribe2.php:254
76
- msgid "Email Options"
77
- msgstr "Email Options"
78
-
79
- #: subscribe2.php:255
80
- msgid "Send email as"
81
- msgstr "Send email as"
82
-
83
- #: subscribe2.php:260
84
- msgid "HTML"
85
- msgstr "HTML"
86
-
87
- #: subscribe2.php:265
88
- msgid "Plain Text"
89
- msgstr "Plain Text"
90
-
91
- #: subscribe2.php:266
92
- msgid "Send Email From"
93
- msgstr "Send Email From"
94
-
95
- #: subscribe2.php:271
96
- msgid "Author of the post"
97
- msgstr "Author of the post"
98
-
99
- #: subscribe2.php:276
100
- msgid "Blog Admin"
101
- msgstr "Blog Admin"
102
-
103
- #: subscribe2.php:277
104
- msgid "Amount of post to deliver"
105
- msgstr "Amount of post to deliver"
106
-
107
- #: subscribe2.php:279
108
- msgid "None"
109
- msgstr "None"
110
-
111
- #: subscribe2.php:279
112
- msgid "Excerpt Only"
113
- msgstr "Excerpt Only"
114
-
115
- #: subscribe2.php:279
116
- msgid "Full Post"
117
- msgstr "Full Post"
118
-
119
- #: subscribe2.php:289
120
- msgid "Email Template"
121
- msgstr "Email Template"
122
-
123
- #: subscribe2.php:290
124
- msgid "Subject"
125
- msgstr "Subject"
126
-
127
- #: subscribe2.php:290
128
- #: subscribe2.php:294
129
- msgid "must not be empty"
130
- msgstr "must not be empty"
131
-
132
- #: subscribe2.php:294
133
- msgid "Message"
134
- msgstr "Message"
135
-
136
- #: subscribe2.php:298
137
- #: subscribe2.php:376
138
- msgid "Message substitions"
139
- msgstr "Message substitions"
140
-
141
- #: subscribe2.php:302
142
- #: subscribe2.php:303
143
- #: subscribe2.php:304
144
- #: subscribe2.php:305
145
- #: subscribe2.php:309
146
- #: subscribe2.php:310
147
- #: subscribe2.php:311
148
- #: subscribe2.php:312
149
- #: subscribe2.php:378
150
- #: subscribe2.php:379
151
- #: subscribe2.php:380
152
- #: subscribe2.php:381
153
- msgid "replaced with"
154
- msgstr "replaced with"
155
-
156
- #: subscribe2.php:304
157
- msgid "the post's title"
158
- msgstr "the post's title"
159
-
160
- #: subscribe2.php:305
161
- msgid "blank, the excerpt, or the entire post, based on the option set above"
162
- msgstr "blank, the excerpt, or the entire post, based on the option set above"
163
-
164
- #: subscribe2.php:309
165
- msgid "the post's permalink"
166
- msgstr "the post's permalink"
167
-
168
- #: subscribe2.php:310
169
- msgid "a link to your subscribe.php file"
170
- msgstr "a link to your subscribe.php file"
171
-
172
- #: subscribe2.php:311
173
- #: subscribe2.php:380
174
- msgid "the post author's name"
175
- msgstr "the post author's name"
176
-
177
- #: subscribe2.php:312
178
- #: subscribe2.php:381
179
- msgid "the post author's email"
180
- msgstr "the post author's email"
181
-
182
- #: subscribe2.php:319
183
- msgid "Subscription Messages"
184
- msgstr "Subscription Messages"
185
-
186
- #: subscribe2.php:320
187
- msgid "Website messages"
188
- msgstr "Website messages"
189
-
190
- #: subscribe2.php:323
191
- msgid "Welcome message"
192
- msgstr "Welcome message"
193
-
194
- #: subscribe2.php:327
195
- msgid "Invalid email was supplied"
196
- msgstr "Invalid email was supplied"
197
-
198
- #: subscribe2.php:330
199
- msgid "Your email was supplied"
200
- msgstr "Your email was supplied"
201
-
202
- #: subscribe2.php:334
203
- msgid "Known email was supplied"
204
- msgstr "Known email was supplied"
205
-
206
- #: subscribe2.php:337
207
- msgid "Non-existant email supplied"
208
- msgstr "Non-existant email supplied"
209
-
210
- #: subscribe2.php:341
211
- msgid "Subscribe confirmation email dispatched"
212
- msgstr "Subscribe confirmation email dispatched"
213
-
214
- #: subscribe2.php:344
215
- msgid "Unsubscribe confirmation email dispatched"
216
- msgstr "Unsubscribe confirmation email dispatched"
217
-
218
- #: subscribe2.php:348
219
- msgid "Successful subscription message"
220
- msgstr "Successful subscription message"
221
-
222
- #: subscribe2.php:351
223
- msgid "Successful deletion message"
224
- msgstr "Successful deletion message"
225
-
226
- #: subscribe2.php:357
227
- msgid "Email messages"
228
- msgstr "Email messages"
229
-
230
- #: subscribe2.php:360
231
- msgid "Subject line for all confirmation emails"
232
- msgstr "Subject line for all confirmation emails"
233
-
234
- #: subscribe2.php:364
235
- msgid "Subscribe / Unsubscribe confirmation email"
236
- msgstr "Subscribe / Unsubscribe confirmation email"
237
-
238
- #: subscribe2.php:368
239
- msgid "Subscribe notification subject sent to admin"
240
- msgstr "Subscribe notification subject sent to admin"
241
-
242
- #: subscribe2.php:371
243
- msgid "Unsubscribe notification subject sent to admin"
244
- msgstr "Unsubscribe notification subject sent to admin"
245
-
246
- #: subscribe2.php:378
247
- msgid "the blog's name"
248
- msgstr "the blog's name"
249
-
250
- #: subscribe2.php:379
251
- msgid "the confirmation link for the user's request"
252
- msgstr "the confirmation link for the user's request"
253
-
254
- #: subscribe2.php:384
255
- msgid "Categories to Exclude"
256
- msgstr "Categories to Exclude"
257
-
258
- #: subscribe2.php:423
259
- msgid "Reset Default"
260
- msgstr "Reset Default"
261
-
262
- #: subscribe2.php:426
263
- msgid "Use this to reset all options to their defaults. This <strong><em>will not</em></strong> modify your list of subscribers."
264
- msgstr "Use this to reset all options to their defaults. This <strong><em>will not</em></strong> modify your list of subscribers."
265
-
266
- #: subscribe2.php:479
267
- msgid "Message delivered!"
268
- msgstr "Message delivered!"
269
-
270
- #: subscribe2.php:483
271
- msgid "Admin Tools"
272
- msgstr "Admin Tools"
273
-
274
- #: subscribe2.php:486
275
- msgid "Subscribe Addresses"
276
- msgstr "Subscribe Addresses"
277
-
278
- #: subscribe2.php:486
279
- msgid "one per line, or comma-seperated"
280
- msgstr "one per line, or comma-seperated"
281
-
282
- #: subscribe2.php:492
283
- msgid "Send email to all subscribers"
284
- msgstr "Send email to all subscribers"
285
-
286
- #: subscribe2.php:493
287
- msgid "A message from "
288
- msgstr "A message from "
289
-
290
- #: subscribe2.php:501
291
- msgid "Confirmed Subscribers"
292
- msgstr "Confirmed Subscribers"
293
-
294
- #: subscribe2.php:514
295
- #: subscribe2.php:531
296
- msgid "NONE"
297
- msgstr "NONE"
298
-
299
- #: subscribe2.php:518
300
- msgid "Uncomfirmed Subscribers"
301
- msgstr "Uncomfirmed Subscribers"
302
-
wp-content/subscribe2/subscribe2.mo ADDED
Binary file
wp-content/subscribe2/subscribe2.pot ADDED
@@ -0,0 +1,318 @@
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: subscribe2\n"
4
+ "POT-Creation-Date: \n"
5
+ "PO-Revision-Date: 2005-07-29 23:16-0500\n"
6
+ "Last-Translator: skippy <skippy@skippy.net>\n"
7
+ "Language-Team: skippy <skippy@skippy.net>\n"
8
+ "MIME-Version: 1.0\n"
9
+ "Content-Type: text/plain; charset=utf-8\n"
10
+ "Content-Transfer-Encoding: 8bit\n"
11
+ "X-Poedit-Language: English\n"
12
+ "X-Poedit-Country: United States\n"
13
+ "X-Poedit-KeywordsList: __;_e\n"
14
+ "X-Poedit-Basepath: .\n"
15
+ "X-Poedit-SearchPath-0: .\n"
16
+
17
+ #: subscribe2.php:25
18
+ #: subscribe2.php:516
19
+ msgid "Subscribers"
20
+ msgstr ""
21
+
22
+ #: subscribe2.php:26
23
+ msgid "Subscribe2 Options"
24
+ msgstr ""
25
+
26
+ #: subscribe2.php:26
27
+ msgid "Subscribe2"
28
+ msgstr ""
29
+
30
+ #: subscribe2.php:265
31
+ msgid "Notification Settings"
32
+ msgstr ""
33
+
34
+ #: subscribe2.php:268
35
+ msgid "Email Options"
36
+ msgstr ""
37
+
38
+ #: subscribe2.php:269
39
+ msgid "Send email as"
40
+ msgstr ""
41
+
42
+ #: subscribe2.php:274
43
+ msgid "HTML"
44
+ msgstr ""
45
+
46
+ #: subscribe2.php:279
47
+ msgid "Plain Text"
48
+ msgstr ""
49
+
50
+ #: subscribe2.php:280
51
+ msgid "Send Email From"
52
+ msgstr ""
53
+
54
+ #: subscribe2.php:285
55
+ msgid "Author of the post"
56
+ msgstr ""
57
+
58
+ #: subscribe2.php:290
59
+ msgid "Blog Admin"
60
+ msgstr ""
61
+
62
+ #: subscribe2.php:291
63
+ msgid "Amount of post to deliver"
64
+ msgstr ""
65
+
66
+ #: subscribe2.php:293
67
+ msgid "None"
68
+ msgstr ""
69
+
70
+ #: subscribe2.php:293
71
+ msgid "Excerpt Only"
72
+ msgstr ""
73
+
74
+ #: subscribe2.php:293
75
+ msgid "Full Post"
76
+ msgstr ""
77
+
78
+ #: subscribe2.php:303
79
+ msgid "Email Template"
80
+ msgstr ""
81
+
82
+ #: subscribe2.php:304
83
+ msgid "Subject"
84
+ msgstr ""
85
+
86
+ #: subscribe2.php:304
87
+ #: subscribe2.php:308
88
+ msgid "must not be empty"
89
+ msgstr ""
90
+
91
+ #: subscribe2.php:308
92
+ msgid "Message"
93
+ msgstr ""
94
+
95
+ #: subscribe2.php:312
96
+ #: subscribe2.php:390
97
+ msgid "Message substitions"
98
+ msgstr ""
99
+
100
+ #: subscribe2.php:316
101
+ #: subscribe2.php:317
102
+ #: subscribe2.php:318
103
+ #: subscribe2.php:319
104
+ #: subscribe2.php:323
105
+ #: subscribe2.php:324
106
+ #: subscribe2.php:325
107
+ #: subscribe2.php:326
108
+ #: subscribe2.php:392
109
+ #: subscribe2.php:393
110
+ #: subscribe2.php:394
111
+ #: subscribe2.php:395
112
+ msgid "replaced with"
113
+ msgstr ""
114
+
115
+ #: subscribe2.php:318
116
+ msgid "the post's title"
117
+ msgstr ""
118
+
119
+ #: subscribe2.php:319
120
+ msgid "blank, the excerpt, or the entire post, based on the option set above"
121
+ msgstr ""
122
+
123
+ #: subscribe2.php:323
124
+ msgid "the post's permalink"
125
+ msgstr ""
126
+
127
+ #: subscribe2.php:324
128
+ msgid "a link to your subscribe.php file"
129
+ msgstr ""
130
+
131
+ #: subscribe2.php:325
132
+ #: subscribe2.php:394
133
+ msgid "the post author's name"
134
+ msgstr ""
135
+
136
+ #: subscribe2.php:326
137
+ #: subscribe2.php:395
138
+ msgid "the post author's email"
139
+ msgstr ""
140
+
141
+ #: subscribe2.php:333
142
+ msgid "Subscription Messages"
143
+ msgstr ""
144
+
145
+ #: subscribe2.php:334
146
+ msgid "Website messages"
147
+ msgstr ""
148
+
149
+ #: subscribe2.php:337
150
+ msgid "Welcome message"
151
+ msgstr ""
152
+
153
+ #: subscribe2.php:341
154
+ msgid "Invalid email was supplied"
155
+ msgstr ""
156
+
157
+ #: subscribe2.php:344
158
+ msgid "Your email was supplied"
159
+ msgstr ""
160
+
161
+ #: subscribe2.php:348
162
+ msgid "Known email was supplied"
163
+ msgstr ""
164
+
165
+ #: subscribe2.php:351
166
+ msgid "Non-existant email supplied"
167
+ msgstr ""
168
+
169
+ #: subscribe2.php:355
170
+ msgid "Subscribe confirmation email dispatched"
171
+ msgstr ""
172
+
173
+ #: subscribe2.php:358
174
+ msgid "Unsubscribe confirmation email dispatched"
175
+ msgstr ""
176
+
177
+ #: subscribe2.php:362
178
+ msgid "Successful subscription message"
179
+ msgstr ""
180
+
181
+ #: subscribe2.php:365
182
+ msgid "Successful deletion message"
183
+ msgstr ""
184
+
185
+ #: subscribe2.php:371
186
+ msgid "Email messages"
187
+ msgstr ""
188
+
189
+ #: subscribe2.php:374
190
+ msgid "Subject line for all confirmation emails"
191
+ msgstr ""
192
+
193
+ #: subscribe2.php:378
194
+ msgid "Subscribe / Unsubscribe confirmation email"
195
+ msgstr ""
196
+
197
+ #: subscribe2.php:382
198
+ msgid "Subscribe notification subject sent to admin"
199
+ msgstr ""
200
+
201
+ #: subscribe2.php:385
202
+ msgid "Unsubscribe notification subject sent to admin"
203
+ msgstr ""
204
+
205
+ #: subscribe2.php:392
206
+ msgid "the blog's name"
207
+ msgstr ""
208
+
209
+ #: subscribe2.php:393
210
+ msgid "the confirmation link for the user's request"
211
+ msgstr ""
212
+
213
+ #: subscribe2.php:398
214
+ msgid "Categories to Exclude"
215
+ msgstr ""
216
+
217
+ #: subscribe2.php:434
218
+ msgid "submit"
219
+ msgstr ""
220
+
221
+ #: subscribe2.php:437
222
+ msgid "Reset Default"
223
+ msgstr ""
224
+
225
+ #: subscribe2.php:440
226
+ msgid "Use this to reset all options to their defaults. This <strong><em>will not</em></strong> modify your list of subscribers."
227
+ msgstr ""
228
+
229
+ #: subscribe2.php:445
230
+ msgid "RESET"
231
+ msgstr ""
232
+
233
+ #: subscribe2.php:494
234
+ msgid "Message delivered!"
235
+ msgstr ""
236
+
237
+ #: subscribe2.php:498
238
+ msgid "Admin Tools"
239
+ msgstr ""
240
+
241
+ #: subscribe2.php:501
242
+ msgid "Subscribe Addresses"
243
+ msgstr ""
244
+
245
+ #: subscribe2.php:501
246
+ msgid "one per line, or comma-seperated"
247
+ msgstr ""
248
+
249
+ #: subscribe2.php:505
250
+ msgid "Subscribe"
251
+ msgstr ""
252
+
253
+ #: subscribe2.php:508
254
+ msgid "Send email to all subscribers"
255
+ msgstr ""
256
+
257
+ #: subscribe2.php:509
258
+ msgid "A message from "
259
+ msgstr ""
260
+
261
+ #: subscribe2.php:513
262
+ #: subscribe.php:95
263
+ msgid "Send"
264
+ msgstr ""
265
+
266
+ #: subscribe2.php:518
267
+ msgid "Confirmed Subscribers"
268
+ msgstr ""
269
+
270
+ #: subscribe2.php:531
271
+ #: subscribe2.php:548
272
+ msgid "NONE"
273
+ msgstr ""
274
+
275
+ #: subscribe2.php:535
276
+ msgid "Uncomfirmed Subscribers"
277
+ msgstr ""
278
+
279
+ #: subscribe.php:92
280
+ msgid "Your email"
281
+ msgstr ""
282
+
283
+ #: subscribe.php:93
284
+ msgid "subscribe"
285
+ msgstr ""
286
+
287
+ #: subscribe.php:94
288
+ msgid "unsubscribe"
289
+ msgstr ""
290
+
291
+ #: subscribe.php:98
292
+ msgid "Note"
293
+ msgstr ""
294
+
295
+ #: subscribe.php:98
296
+ msgid "values personal privacy"
297
+ msgstr ""
298
+
299
+ #: subscribe.php:99
300
+ msgid "This list is used solely to inform you when new posts are added."
301
+ msgstr ""
302
+
303
+ #: subscribe.php:101
304
+ msgid "Your email address will not be shared with any other party"
305
+ msgstr ""
306
+
307
+ #: subscribe.php:103
308
+ msgid "Return to "
309
+ msgstr ""
310
+
311
+ #: subscribe.php:173
312
+ msgid "The following email address has successfully subscribed to your blog"
313
+ msgstr ""
314
+
315
+ #: subscribe.php:199
316
+ msgid "The following email address has successfully unsubscribed from your blog"
317
+ msgstr ""
318
+